[Bug 679544] New: [playback] Post a message on stream/track change.

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Jul 7 00:20:05 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=679544
  GStreamer | gstreamer (core) | git

           Summary: [playback] Post a message on stream/track change.
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: bilboed at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
                CC: ensonic at sonicpulse.de, gabriel.burt at gmail.com,
                    slomo at circular-chaos.org, notverysmart at gmail.com,
                    msmith at xiph.org, chalserogers at gmail.com,
                    kontakt at jakubrusinek.pl,
                    thiago.sousa.santos at collabora.co.uk
        Depends on: 584987,602275
            Blocks: 440952,585969,601524
     GNOME version: Unversioned Enhancement


+++ 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.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list