GNOME Bugzilla – Bug 730975
decklinksrc fails when using both video and audio
Last modified: 2014-06-02 23:51:20 UTC
The following works: gst-launch-1.0 decklinksrc mode=11 connection=0 audio-input=3 ! video/x-raw,format=UYVY,width=1920,height=1080,framerate=30000/1001,interlace-mode=interleaved ! queue ! v4l2sink device=/dev/video0 sync=false The following also works: gst-launch-1.0 decklinksrc mode=11 connection=0 audio-input=3 ! audio/x-raw,format=S16LE,channels=2,rate=48000,layout=interleaved ! queue ! audioconvert ! audio/x-raw,format=F32LE ! jackaudiosink connect=0 client-name="Video Capture SRC" The following does NOT work: gst-launch-1.0 decklinksrc mode=11 connection=0 audio-input=3 name=SRC SRC. ! video/x-raw,format=UYVY,width=1920,height=1080,framerate=30000/1001,interlace-mode=interleaved ! queue ! v4l2sink device=/dev/video0 sync=false SRC. ! audio/x-raw,format=S16LE,channels=2,rate=48000,layout=interleaved ! queue ! audioconvert ! audio/x-raw,format=F32LE ! jackaudiosink connect=0 client-name="Video Capture SRC" And the error message is fantastically benign. Cannot figure out why it fails. I'm uploading a debug output.
Created attachment 277508 [details] debug log
Logs says: gst_decklink_src_task:<SRC> error: streaming task paused, reason not-negotiated (-4) And a little higher: <videoconvert0> transform could not transform video/x-raw, format=(string)UYVY, ... This basically mean you are forcing incompatible video caps between the decklinksrc and the v4l2sink. May it would be better to close this bug, and take it to the mailing list ?
Yes, but when I run it without the audio component it works just fine. And I'm not sure why it would need to transform anything, since the source and sink should be using the same format. The destination is the v4l2loopback device, which supports the raw UYVY. If there is something subtle I'm misunderstanding let me know, but the audio only pipeline and video only pipelines are both working independently, but used at the same time I get this not-negotiated error.
The other possibility, is that the video and audio pad get plugged to the wrong route. Can you try it grammatically, to make sure this isn't the case ?
Won't be able to try it till monday. I'll post back here once I do.
Ok, finally figured out what is going on. The v4l2loopback device doesn't like interlaced content. I was sure that I had sent directly from the decklink src to the v4l2loopback, but reviewing the bash history that was not the case. I probably copied and pasted chunks of the command too recklessly. Inserting a deinterlace node in the pipeline fixed the issue: gst-launch-1.0 --gst-debug-level=3 decklinksrc mode=11 connection=0 audio-input=3 name=SRC SRC.videosrc ! video/x-raw,format=UYVY,width=1920,height=1080,framerate=30000/1001,interlace-mode=interleaved ! queue ! deinterlace ! v4l2sink device=/dev/video0 sync=false SRC.audiosrc ! audio/x-raw,format=S16LE,channels=2,rate=48000,layout=interleaved ! queue ! audioconvert ! jackaudiosink connect=0 client-name="Video Capture SRC"