video freezes when change input mode

asimfile asimfile at gmail.com
Mon Jun 3 05:58:23 UTC 2019


Hi,
I am using Blackmagic decklink card to capture video from camera into v4l2
device and use Qt camera and videowidget to display live video.
I am using following pipeline code.
gst-launch-1.0 decklinkvideosrc device-number=0 mode=auto
drop-no-signal-frames=true ! deinterlace ! videoscale !
video/x-raw,width=960,height=540 ! videorate max-rate=30 ! videoconvert !
tee ! v4l2sink device=/dev/video0 sync=false
It works fine but when i switch output video mode in camera (ie 50p to 50i )
the video freezes for a variable time and then restart.

The time duration of video freeze is same time duration if calculate from
start till mode switch.
for eg:-
if switch mode after 10 minute from start, the video freezes for 10 minute.
if switch mode after 20 minute from start, the video freezes for 20 minute.

I have also raised following ticket on gstreamer bug page-

https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/974
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/974>  

I think the issue is with gst clock synchronization. It shows following
debug messages during freeze:-

:00:36.413496149  8567 0x7fc4e4009e00 DEBUG       decklinkvideosrc
gstdecklinkvideosrc.cpp:634:gst_decklink_video_src_update_time_mapping: New
time mapping causes difference of 0:00:09.859546400
0:00:36.413515392  8567 0x7fc4e4009e00 DEBUG       decklinkvideosrc
gstdecklinkvideosrc.cpp:636:gst_decklink_video_src_update_time_mapping:
Maximum allowed per frame 0:00:00.001668333
0:00:36.413539206  8567 0x7fc4e4009e00 DEBUG               decklink
gstdecklink.cpp:934:VideoInputFrameArrived: Received no audio packet at
0:00:35.952360722
0:00:36.413591782  8567 0x557fdd53ec50 DEBUG       decklinkvideosrc
gstdecklinkvideosrc.cpp:1046:gst_decklink_video_src_create: Outputting
buffer 0x557fdd8f4aa0 with timestamp 0:00:01.301300000 and duration
0:00:00.033366666
0:00:36.446824157  8567 0x7fc4e4009e00 DEBUG               decklink
gstdecklink.cpp:916:VideoInputFrameArrived: Failed to get timecode:
0x00000001
0:00:36.446863826  8567 0x7fc4e4009e00 DEBUG       decklinkvideosrc
gstdecklinkvideosrc.cpp:634:gst_decklink_video_src_update_time_mapping: New
time mapping causes difference of 0:00:09.844520587
0:00:36.446882001  8567 0x7fc4e4009e00 DEBUG       decklinkvideosrc
gstdecklinkvideosrc.cpp:636:gst_decklink_video_src_update_time_mapping:
Maximum allowed per frame 0:00:00.001668333
0:00:36.446906130  8567 0x7fc4e4009e00 DEBUG               decklink
gstdecklink.cpp:934:VideoInputFrameArrived: Received no audio packet at
0:00:35.985727437
0:00:36.446957850  8567 0x557fdd53ec50 DEBUG       decklinkvideosrc



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list