[Bug 729134] mpegtssection: Include a timestamp

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon May 12 23:01:38 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=729134
  GStreamer | gst-plugins-bad | git

--- Comment #13 from Edward Hervey <bilboed at bilboed.com> 2014-05-13 06:01:32 UTC ---
Some (dsm-cc/carousel) sections will contain timestamps *in* them, for events
that do indeed need to take place at a given time. Those could be re-used
(converted to running time).

Putting generic timestamp is tricky, but I guess you *could* put the current
PCR time, converted to running time (otherwise you have no time reference to
sync against).

Note that this last PCR time will be slightly later than equivalent A/V frames
due to the whole synchronization model.

That being said, you're left with one issue ... how to know when that running
time is (and have it paused when it should be paused, etc...).

Getting running-time only solves one part of the synchronization equation,
you'd also need the current clock, current pipeline base-time and whether the
pipeline is running or not.

Two ways forward:
1) You post selected sections as custom in-band events downstream in the
pipeline and get them posted on the bus when the running-time is reached. The
problem with this is that it delays your section processing.
2) You get the clock/base-time, track the pipeline state yourself and use the
various gst_clock_*wait* API to know when a certain action should be triggered.
This way you can do all your processing, decide which actions you want to wait
against, etc...


For the second option, it might be nice to have a convenience object to track
all of this. Some kind of "user" out-of-band sink for any kind of timed action.

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


More information about the gstreamer-bugs mailing list