[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