[Libva] Reverse playback problem

Engin Firat engin.firat at adonissyazilim.com
Mon Jan 12 11:15:11 PST 2015


Hello,

I have a simple pipeline to play video files by using vaapidecode element.
I want to change the playback rates of the pipeline. This task is
accomplished by sending the event which is returned by
function gst_event_new_seek () to filesink. There are no problems for
positive rate values but there is problem for negative problems. One can
find the debug output of gstreamer elements in case of negative rate is
given.

The same pipeline with only vaapidecode changed to avdec_h264 is not
problematic and negative rate values do not cause any problems.

I have changed the example given in following link according to my
different requirements.
http://docs.gstreamer.com/display/GstSDK/Basic+tutorial+13%3A+Playback+speed

Regards.

-- 
*Engin FIRAT*
Adoniss Yazılım Bilişim
Elektronik Araştırma Geliştirme
Limited Şirketi

+90 506 884 82 07 (Mobile)
ODTÜ Teknokent, ODTÜ-Halıcı Yazılımevi
İnönü Bulvarı / ANKARA (Address)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libva/attachments/20150112/4578ce35/attachment-0001.html>
-------------- next part --------------
0:00:08.499267079  2554       0xf6a800 INFO               GST_EVENT gstevent.c:1070:gst_event_new_seek: creating seek rate -1.000000, format TIME, flags 3, start_type 1, start 0:00:00.000000000, stop_type 1, stop 0:00:08.356039251
0:00:08.499397675  2554       0xf6a800 INFO                 default gstsegment.c:370:gst_segment_do_seek: segment updated: time segment start=0:00:00.000000000, stop=0:00:08.356039251, rate=-1.000000, applied_rate=1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:08.356039251, duration 0:09:56.459000000
0:00:08.499628855  2554       0xf6a800 INFO              GST_STATES gstelement.c:2233:_priv_gst_element_state_changed:<VideoSink> notifying about state-changed PAUSED to PAUSED (PAUSED pending)
0:00:08.499638335  2554 0x7fe61c003230 INFO                    task gsttask.c:300:gst_task_func:<H264Decoder:src> Task going to paused
0:00:08.499735643  2554       0xf6a800 INFO              GST_STATES gstelement.c:2233:_priv_gst_element_state_changed:<pipeline> notifying about state-changed PAUSED to PAUSED (PAUSED pending)
0:00:08.499983155  2554      0x114ed40 INFO                    task gsttask.c:300:gst_task_func:<Demuxer:sink> Task going to paused
0:00:08.501135696  2554      0x114ede0 INFO                    task gsttask.c:300:gst_task_func:<VideoQueue:src> Task going to paused
0:00:08.501220980  2554       0xf6a800 INFO               GST_EVENT gstevent.c:496:gst_event_new_flush_stop: creating flush stop 1
0:00:08.501415596  2554       0xf6a800 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:08.501633948  2554 0x7fe61c003230 INFO                    task gsttask.c:302:gst_task_func:<H264Decoder:src> Task resume from paused
0:00:08.502200924  2554       0xf6a800 INFO                    task gsttask.c:431:gst_task_set_lock: setting stream lock 0x1116c20 on task 0x1160290
0:00:08.502303968  2554       0xf6a800 INFO                GST_PADS gstpad.c:5415:gst_pad_start_task:<H264Decoder:src> created task 0x1160290
0:00:08.502473732  2554       0xf6a800 INFO               GST_EVENT gstevent.c:709:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, stop=0:00:08.356039251, rate=-1.000000, applied_rate=1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:09.000000000, duration 0:09:56.459000000
0:00:08.502526052  2554      0x114ede0 INFO                    task gsttask.c:302:gst_task_func:<VideoQueue:src> Task resume from paused
Current rate: -1
0:00:08.502620001  2554      0x114ed40 INFO                    task gsttask.c:302:gst_task_func:<Demuxer:sink> Task resume from paused
0:00:08.503381941  2554      0x114ed40 INFO           matroskademux matroska-demux.c:4587:gst_matroska_demux_loop:<Demuxer> All streams are EOS
0:00:08.504193933  2554      0x114ed40 INFO           matroskademux matroska-demux.c:4587:gst_matroska_demux_loop:<Demuxer> All streams are EOS
0:00:08.504766141  2554      0x114ede0 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:08.504896822  2554      0x114ede0 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:08.507390603  2554      0x114ed40 INFO           matroskademux matroska-demux.c:4587:gst_matroska_demux_loop:<Demuxer> All streams are EOS
0:00:08.528942840  2554      0x114ede0 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:08.531257281  2554      0x114ed40 INFO           matroskademux matroska-demux.c:4587:gst_matroska_demux_loop:<Demuxer> All streams are EOS
0:00:08.540673938  2554      0x114ede0 INFO              GST_STATES gstbin.c:3112:bin_handle_async_done:<pipeline> committing state from PAUSED to PAUSED, old pending PLAYING
0:00:08.540774798  2554      0x114ede0 INFO              GST_STATES gstbin.c:3141:bin_handle_async_done:<pipeline> continue state change, pending PLAYING
0:00:08.540824886  2554      0x114ede0 INFO              GST_STATES gstelement.c:2233:_priv_gst_element_state_changed:<pipeline> notifying about state-changed PAUSED to PAUSED (PLAYING pending)
0:00:08.540969234  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2935:gst_bin_continue_func:<pipeline> continue state change PAUSED to PLAYING, final PLAYING
0:00:08.541128774  2554 0x7fe61c003720 INFO             vaapidecode gstvaapidecode.c:973:gst_vaapidecode_query:<H264Decoder> query type latency
0:00:08.541225170  2554 0x7fe61c003720 INFO               GST_EVENT gstevent.c:1184:gst_event_new_latency: creating latency event 0:00:00.000000000
0:00:08.541320042  2554 0x7fe61c003720 INFO                     bin gstbin.c:2499:gst_bin_do_latency_func:<pipeline> configured latency of 0:00:00.000000000
0:00:08.541400610  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2227:gst_bin_element_set_state:<VideoSink> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:08.541480590  2554 0x7fe61c003720 INFO              GST_STATES gstelement.c:2328:gst_element_continue_state:<VideoSink> completed state change to PLAYING
0:00:08.541526766  2554 0x7fe61c003720 INFO              GST_STATES gstelement.c:2233:_priv_gst_element_state_changed:<VideoSink> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:08.541587174  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2656:gst_bin_change_state_func:<pipeline> child 'VideoSink' changed state to 4(PLAYING) successfully
0:00:08.541655298  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2227:gst_bin_element_set_state:<H264Decoder> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:08.541701918  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2344:gst_bin_element_set_state:<H264Decoder> skipping transition from PLAYING to  PLAYING
0:00:08.541747086  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2656:gst_bin_change_state_func:<pipeline> child 'H264Decoder' changed state to 4(PLAYING) successfully
0:00:08.541886286  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2227:gst_bin_element_set_state:<VideoQueue> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:08.541944978  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2344:gst_bin_element_set_state:<VideoQueue> skipping transition from PLAYING to  PLAYING
0:00:08.541999554  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2656:gst_bin_change_state_func:<pipeline> child 'VideoQueue' changed state to 4(PLAYING) successfully
0:00:08.542064546  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2227:gst_bin_element_set_state:<Demuxer> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:08.542120706  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2344:gst_bin_element_set_state:<Demuxer> skipping transition from PLAYING to  PLAYING
0:00:08.542175186  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2656:gst_bin_change_state_func:<pipeline> child 'Demuxer' changed state to 4(PLAYING) successfully
0:00:08.542236026  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2227:gst_bin_element_set_state:<FileVideoSource> current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:08.542290566  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2344:gst_bin_element_set_state:<FileVideoSource> skipping transition from PLAYING to  PLAYING
0:00:08.542343942  2554 0x7fe61c003720 INFO              GST_STATES gstbin.c:2656:gst_bin_change_state_func:<pipeline> child 'FileVideoSource' changed state to 4(PLAYING) successfully
0:00:08.542407206  2554 0x7fe61c003720 INFO              GST_STATES gstelement.c:2328:gst_element_continue_state:<pipeline> completed state change to PLAYING
0:00:08.542460450  2554 0x7fe61c003720 INFO              GST_STATES gstelement.c:2233:_priv_gst_element_state_changed:<pipeline> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:08.904449396  2554      0x114ede0 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:08.906582673  2554      0x114ed40 INFO           matroskademux matroska-demux.c:4587:gst_matroska_demux_loop:<Demuxer> All streams are EOS
0:00:08.910889967  2554      0x114ede0 WARN                basesink gstbasesink.c:2791:gst_base_sink_is_too_late:<VideoSink> warning: A lot of buffers are being dropped.
0:00:08.911028915  2554      0x114ede0 WARN                basesink gstbasesink.c:2791:gst_base_sink_is_too_late:<VideoSink> warning: There may be a timestamping problem, or this computer is too slow.
0:00:08.911154399  2554      0x114ede0 INFO        GST_ERROR_SYSTEM gstelement.c:1835:gst_element_message_full:<VideoSink> posting message: A lot of buffers are being dropped.
0:00:08.911301939  2554      0x114ede0 INFO        GST_ERROR_SYSTEM gstelement.c:1858:gst_element_message_full:<VideoSink> posted warning message: A lot of buffers are being dropped.
0:00:08.922110872  2554      0x114ede0 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:08.923754933  2554      0x114ed40 INFO           matroskademux matroska-demux.c:4587:gst_matroska_demux_loop:<Demuxer> All streams are EOS
0:00:08.926322730  2554      0x114ede0 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:08.928628111  2554      0x114ed40 INFO           matroskademux matroska-demux.c:4587:gst_matroska_demux_loop:<Demuxer> All streams are EOS
0:00:08.930569508  2554      0x114ede0 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:08.932284057  2554      0x114ed40 INFO           matroskademux matroska-demux.c:4587:gst_matroska_demux_loop:<Demuxer> All streams are EOS
0:00:08.935882042  2554      0x114ede0 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:08.938769939  2554      0x114ed40 INFO           matroskademux matroska-demux.c:4587:gst_matroska_demux_loop:<Demuxer> All streams are EOS
0:00:08.941756417  2554      0x114ede0 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:08.943626270  2554      0x114ed40 INFO           matroskademux matroska-demux.c:4587:gst_matroska_demux_loop:<Demuxer> All streams are EOS
0:00:08.943766310  2554      0x114ed40 INFO                    task gsttask.c:300:gst_task_func:<Demuxer:sink> Task going to paused
0:00:08.946796011  2554      0x114ede0 FIXME           videodecoder gstvideodecoder.c:864:gst_video_decoder_flush:<H264Decoder> GstVideoDecoder::reset() is deprecated
0:00:09.104836358  2554      0x114ede0 INFO                    task gsttask.c:431:gst_task_set_lock: setting stream lock 0x1116c20 on task 0x1160710
0:00:09.104965970  2554      0x114ede0 INFO                GST_PADS gstpad.c:5415:gst_pad_start_task:<H264Decoder:src> created task 0x1160710
0:00:09.105210518  2554      0x114ede0 INFO                    task gsttask.c:300:gst_task_func:<VideoQueue:src> Task going to paused


More information about the Libva mailing list