Port to GStreamer 1.0

Bug #1137453 reported by DimStar on 2013-03-01
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Alarm Clock
Fix Released

Bug Description

GStreamer 0.10 has been obsoleted and superseeded by GStreamer 1.0 branch.

Porting alarm-clock-applet to GStreamer seems fairly simple (as not many APIs are being used):
- replace gstreamer-0.10 in configure.ac with gstreamer-1.0 (detect the new version)
- Replace playbin2 in src/player.c with playbin (the element was renamed).

Related branches

Johannes H. Jensen (joh) wrote :

Patch looks good. I'm not sure we want to drop support for GStreamer 0.10 though, as it seems to be prevalent in a lot of distros still. How about supporting both?

I think it's questionable to support both: since GNOME 3.6, gstreamer 1.0 is a requirement (so, 6 month ago) and as such you can safely assume that all major distros will have support for it shortly.

There is no longer any maintenance done on the GStreamer 0.10 branch.

Johannes H. Jensen (joh) wrote :

Ah in that case you have me convinced! I tried your patch but there seems to be a problem:

** (alarm-clock-applet:8886): CRITICAL **: Could not create player.

Program received signal SIGSEGV, Segmentation fault.
0x0000000000409e0e in media_player_start (player=0x0) at player.c:236
236 bus = gst_pipeline_get_bus (GST_PIPELINE (player->player));

The segfault is probably because we previously failed to create the player (player=NULL).

Perhaps there are some more API changes with GStreamer 1.0 which were missed in the patch?

Ups.. yes, of course.. sorry for that.
gconfaudiosink and gconfvideosink no longer exist... (the segfault is a consequence of how the code is written though.. that's an error on itself and not really due to the patch).

Just reworking the patch and resubmitting...

do you have a good test plan for what all should work?

A reworked patch... I created an alarm entry (timered) and the sound worked without crashes... also, testing sounds works fine (switched from gcong*sink to auto*sink, which represents the same in the end)

Johannes H. Jensen (joh) wrote :

Thank you, the reworked patch works perfectly. Committed to trunk at revision 226.

I'll look into the (separate) segfault case.

Changed in alarm-clock:
importance: Undecided → Low
status: New → Fix Committed
Sebastian Dröge (slomo) wrote :

It would be good to get a release out with this, there are already distros that don't ship GStreamer 0.10 anymore.

Johannes H. Jensen (joh) on 2015-05-21
Changed in alarm-clock:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers