How to reset a GST Clock ? gst_clock_set_time () ?

Cigarah Truta cigarah at gmail.com
Sat Dec 7 13:44:59 PST 2013


I am pushing buffers got from network using appsrc. There are two pipelines
audio and video.  I have set the timestamp to these buffers using
GST_BUFFER_TIMESTAMP.


Now when I scroll the stream in forward or reverse direction, both the
pipelines pause. After pushing play, the data start coming with the new
timestamp.

So I just flush (using send event ) the pipelines before the PLAYING state
and use the API *gst_element_set_start_time*(pipeline, newPTS). This seems
to be working fine. Status bar is updated fine as I am sending the correct
position to the application.

But when I go in reverse direction and set the same (start_time) API, the
data does not play. It hangs. Instead only the status bar is updated. The
data plays after some time from the position where I started scrolling.

This may be due to a GstClock element was running in the monotonoically
increasing direction and hence could not play into backward direction from
the start time.

Could you help that how can I debug ?

Is there a way to reset a clock of the pipeline or to set time in it.  I
tried using use_clock () and set_base_time () APIs too.

What is the difference between set_base_time() and set_start_time() API. I
read somewhere that start_time() API first calls base_time() API. ? Is it
true?

One more issue is why is it working in forward direction but not reverse
direction ?


BR-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131208/6238489c/attachment.html>


More information about the gstreamer-devel mailing list