Does not all the demuxers (avidemux/qtdemux/flvdemux/matroskademux) support GST_SEEK_FLAG_SKIP flag?<br><br>or must do anything in the decoder plugin ?<br>I notice that in the mpeg2dec plugin of gst-plugins-ugly,<br>it register the set_index and get_index callback such as :<br>___________________________________________________<br>static void<br>gst_mpeg2dec_class_init (GstMpeg2decClass * klass)<br>{<br>......<br> gstelement_class->set_index = gst_mpeg2dec_set_index;<br> gstelement_class->get_index = gst_mpeg2dec_get_index;<br>}<br>__________________________________________________<br>set_index and get_index will support fast playback rate of fast forward ?<br><br>I register the get_index and set _index in my decoder plugin,<br>and do index_seek function in the case GST_EVENT_SEEK of <br>XXX_src_event callback , such as<br>____________________________________<br>static gboolean gst_myviddec_src_event(GstPad *pad, GstEvent *event)<br>{ <br> // ......<br> switch(GST_EVENT_TYPE(event))<br> {<br> case GST_EVENT_SEEK:<br> {<br> gst_event_ref (event);<br> if (!(res = gst_pad_push_event (viddec->sinkpad, event))) {<br> if (viddec->index)<br> {<br> res = index_seek (pad, event);<br> }<br> }<br> gst_event_unref (event);<br> break;<br> }<br> default:<br> result = gst_pad_event_default(pad, event);<br> }<br> return result;<br>}<br>____________________________________<br>But it can't implement the ""res = index_seek (pad, event);<br><br>Did i make any error code ?<br><br><br><div></div><br><pre><br>At 2011-02-14 18:35:43£¬"Luis de Bethencourt" <luis@debethencourt.com> wrote:
>2011/2/14 zwresh <zwresh@126.com>:
>> I used the qtdemux & matroskademux plugin for mp4 & mkv format
>> container,
>> but i used my decoder plugin for h264 and mpeg4asp codec.
>> maybe my decoder plugin is not correct for trick play £¨X2,X4,X8,X16£©?
>>
>>
>>
>> whether dropping the SKIP flag or not, the result is the same .
>> it does't change rate but only change the seek position.
>>
>>
>> I tried gst_element_seek_simple function, it could seek but how to change
>> rate by param ?
>>
>>
>>
>
>So does the change of rate work with qtdemux/mkvdemux? It should.
>
>You are right, I thought the simple_seek also had the rate flag but it
>doesn't. So you need to use gst_element_seek ()
>My bad.
>
>Luis
>
>
>>
>>
>>
>>
>> At 2011-02-14 02:30:25£¬"Luis de Bethencourt" <luis@debethencourt.com> wrote:
>>
>>>zwresh,
>>>
>>>What is the content format/codec?
>>>Try the simple seek I mentioned and dropping the SKIP flag as Tim
>>>suggested and let us know how it goes.
>>>
>>>Luis
>>>
>>>2011/2/12 zwresh <zwresh@126.com>:
>>>> It can seek the right position and playback, but can not change the
>>>> playback rate.
>>>>
>>>>
>>>>
>>>> At 2011-02-11 21:03:11£¬"Luis de Bethencourt" <luis@debethencourt.com> wrote:
>>>>
>>>>>2011/2/11 zwresh <zwresh@126.com>:
>>>>>>
>>>>>> Anybody know how to fast forward play such as by X2, X4 ,X8,X16 ?
>>>>>>
>>>>>> I tried the avidemux/qtdemux/flvdemux/matroskademux demuxer ,
>>>>>> and used the decoder of mine.
>>>>>> And must i do somthing in my decoder plugin ?
>>>>>>
>>>>>> Following is the code snippet of app which I have:
>>>>>> --------------------------------------------------------------------------------------
>>>>>> ret =
>>>>>> (int)gst_element_query_position(pipeline,&format,&pos_cur);
>>>>>> pos_seek = pos_cur + ( time_seek * GST_SECOND );
>>>>>>
>>>>>> gst_element_seek (pipeline,
>>>>>> &nbsp ; 4.0,
>>>>>> GST_FORMAT_TIME,
>>>>>> GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT
>>>>>> | GST_SEEK_FLAG_SKIP,
>>>>>> GST_SEEK_TYPE_SET,
>>>>>> pos_seek,
>>>>>> &nbs p; GST_SEEK_TYPE_NONE,
>>>>>> GST_CLOCK_TIME_NONE);
>>>>>> ------------------------------------------------------------------------------------------
>>>>>
>>>>>
>>>>>So is it not accepting the change in the playback rate? or is it not seeking?
>>>>>Have you tried using gst_element_seek_simple () ?
>>>>>
>>>>>Luis
>>>>
>>>>
>>>>
>>
>>
>>
>_______________________________________________
>gstreamer-devel mailing list
>gstreamer-devel@lists.freedesktop.org
>http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
</pre><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>