After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 679544 - [playback] Post a message on stream/track change.
[playback] Post a message on stream/track change.
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other All
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 584987 602275
Blocks: 440952 585969 601524
 
 
Reported: 2012-07-07 07:19 UTC by Edward Hervey
Modified: 2014-09-01 09:33 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement



Description Edward Hervey 2012-07-07 07:19:59 UTC
+++ This bug was initially created as a clone of Bug #584987 +++
Original report:

Media players care about when the user hears the start of the next track change.  Currently when using playbin2 for gapless playback there is no way for the application to easily determine when the first sample of the next track is starting to play.

It would be nice if playbin2 fired a track-changed message on the bus, or raised a track-changed signal, or both, when the first sample of the next track started playing on the audio hardware.

------------

I am reopening this bug for 1.0.

There is a cleaner way to do this now that we have the STREAM_START event that all elements (that drive the stream) should post when a new stream starts.

For most elements, this will be the first thing they push after being activated (READY=>PAUSED).

It is already done automatically for sources, so push-based scenarios already handle this.

The missing parts are:
* Add a GST_MESSAGE_STREAM_START which is emitted by sinks when they receive the STREAM_START event
* Add code in gstbin so that it accumulates the various GST_MESSAGE_STREAM_START posted by sinks and only posts it up when all sinks posted it
* Remove code in gst-plugins-base/gst/playback regarding playbin2-stream-changed (it is now handled automatically).
* Port elements that drive the pipeline to post it when first activated
* Port elements that can *change* streams to post it when needed

The last item is relevant for dvb/mpeg-ts program switching for example. You ideally want to switch programs without resetting the whole pipeline (i.e. doing it in PLAYING). This will allow applications to be informed when the program has *Actually* changed.
Comment 1 Tim-Philipp Müller 2012-08-13 23:01:05 UTC
Isn't this fixed now ? If not, what bits are missing?
Comment 2 Edward Hervey 2013-06-19 05:48:11 UTC
Eh, I'd forgotten this bug :) I'll have to look into it.
Comment 3 Sebastian Dröge (slomo) 2013-06-19 08:01:07 UTC
What's missing here? The stream-start messages should already do all this?
Comment 4 Edward Hervey 2014-09-01 09:33:19 UTC
yah, this is done with. Closing