Page 1 of 1

Minimum Gstreamer Pipeline for loopback: Ultrastudio HD mini

PostPosted: Thu Oct 03, 2019 11:34 pm
by Michael Prendergast
Hi all,

It's my first time posting, so please let me know if I am in the wrong place.

I am trying to use Gstreamer to perform a simple loopback from the input to the output of the Ultrastudio HD Mini.

Both of these pipelines work
Code: Select all
gst-launch-1.0 decklinkvideosrc ! fakesink

Shows input capture (when output set to monitor input during capture)

Code: Select all
gst-launch-1.0 videotestsrc pattern=snow ! decklinkvideosink

Produces snow on the output

However this pipeline fails:
Code: Select all
gst-launch-1.0 decklinkvideosrc ! decklinkvideosink

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstDecklinkOutputClock
WARNING: from element /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0: Signal lost
Additional debug info:
gstdecklinkvideosrc.cpp(1231): gst_decklink_video_src_create (): /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0:
No input source was detected - video frames invalid
Redistribute latency...
gstdecklinkvideosrc.cpp(1248): gst_decklink_video_src_create (): /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0:
Input source detected
Redistribute latency...
ERROR: from element /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3072): void gst_base_src_loop(GstPad *) (): /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.132104000
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

I think it is because initially the input source is lost, but then is detected almost immediately after that. Is there some provision in the gstreamer plugin to wait for this or ignore it?



Re: Minimum Gstreamer Pipeline for loopback: Ultrastudio HD

PostPosted: Mon Oct 07, 2019 5:35 am
by Michael Prendergast
I've found it.

Turns out the problem was that the autodetected modes were not propagating on the pipeline. When looking at the "Desktop Video Setup" app, it showed that the input was 1080p@59.94Hz so setting the correct mode (1080p5994) on both src and sink nodes was all that was necessary.