[gst-devel] Seek operation

Eric Zhang nicolas.m.zhang at gmail.com
Fri Dec 26 03:24:16 CET 2008


Hi, gstreamer-devel:

    Read the GstSeekType manual:

    GST_SEEK_TYPE_CUR -- change relative to currently configured segment.
This can't be used to seek relative to the current playback position - do a
position query, calculate the desired position and then do an absolute
position seek instead if that's what you want to do.

    Got it? GST_SEEK_TYPE_CUR is not current playback position, it's
currently configured segment. That's why your issue occurs.
Eric Zhang

2008/12/25 Sumanth V <sumanth.v at allaboutif.com>

> Thanks for your reply..
>
>    When i want to do PAUSE operation i send
> gst_element_set_state (pipeline, GST_STATE_PAUSED)..
>
> when i want to do FORWARD operation i send the following seek event.
> gst_element_set_state (pipeline, GST_STATE_PLAYING);
>  RetVal = gst_element_seek( pipeline,4.0, GST_FORMAT_TIME,
> GST_SEEK_FLAG_NONE, GST_SEEK_TYPE_NONE, 0, GST_SEEK_TYPE_NONE, -1 );
>
> forward operation dose happen but it takes some time( after few seconds ).
> when in FORWARD
> i PAUSE the operation by gst_element_set_state (pipeline,
> GST_STATE_PAUSED).
>
> now i want to resume the play in normal speed i do the following:-
>
> gst_element_set_state (pipeline, GST_STATE_PLAYING);
> RetVal = gst_element_seek( pipeline, 1.0,GST_FORMAT_TIME ,
> GST_SEEK_FLAG_NONE,GST_SEEK_TYPE_CUR, 0, GST_SEEK_TYPE_NONE, -1 );
>
> but still it dose not resume the play from position where i had PAUSEd in
> FORWARD mode, but instead it resume the Play back from where i had pressed
> PAUSE before performing FORWARD operation.
>
> is it the right way of performing the seek operation? previously i used to
> use the  GST_SEEK_FLAG_FLUSH, now i have removed it, but still its playing
> from the wrong offset.
>
> Thanks.
>
>
> On Thu, Dec 25, 2008 at 3:13 PM, Eric Zhang <nicolas.m.zhang at gmail.com>wrote:
>
>> Hi, gstreamer-devel:
>>
>>     Did your seek operation succeed? Which state do you seek the pipeline?
>> PAUSED or PLAYING? Maybe you can describe your steps more clearly.
>>
>> Eric Zhang
>>
>> 2008/12/24 Sumanth V <sumanth.v at allaboutif.com>
>>
>>>  Hi All,
>>>        I am writing a application which dose a trickmode operation on the
>>> stored file. When i do PAUSE and then PLAY it resumes play from where i had
>>> PAUSED. But when i do seek forward by setting the rate to 2.0 / 4.0 FORWARD
>>> happens but when i press PLAY the play back dose not resume from where i
>>> pressed PLAY but instead starts playing from offset where i had selected to
>>> forward.
>>> To play while forwarding i send this seek event.
>>>
>>> gst_element_seek( pipeline, 1.0,GST_FORMAT_TIME ,GST_SEEK_FLAG_FLUSH ,
>>>                                                GST_SEEK_TYPE_CUR, 0,
>>> GST_SEEK_TYPE_NONE, -1 );
>>>
>>> Is this this the correct seek event format??
>>>
>>>
>>> ------------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20081226/30213c81/attachment.htm>


More information about the gstreamer-devel mailing list