Pipeline for three inputs

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Pipeline for three inputs

iron_guitarist1987

I created a plugin that takes in three videos. The pads are static always pads. My question is what would be the correct pipeline to run this. For two inputs I have:

    gst-launch -v videotestsrc ! multivideos name=s ! ffmpegcolorspace ! ximagesink videotestsrc ! s.

Would this be good for three inputs?

    gst-launch -v videotestsrc ! multivideos name=s ! ffmpegcolorspace ! ximagesink videotestsrc videotestsrc! s.

With this pipeline, I'm getting the error below. Is this the wrong pipeline, or could something be wrong with the code.

$ gst-launch -v videotestsrc ! multivideos name=s ! ffmpegcolorspace ! ximagesink videotestsrc videotestsrc! s.
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc2.GstPad:src: caps = video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)320, height=(int)240, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)320, height=(int)240, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc1.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)YUY2, color-matrix=(string)sdtv, chroma-site=(string)mpeg2, width=(int)320, height=(int)240, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc1.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)YUY2, color-matrix=(string)sdtv, chroma-site=(string)mpeg2, width=(int)320, height=(int)240, framerate=(fraction)30/1
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstMULTIVIDEO:s.GstPad:video_sink2: caps = video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)320, height=(int)240, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc1: Internal data flow error.
Additional debug info:
gstbasesrc.c(2582): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc1:
streaming task paused, reason not-linked (-1)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstMULTIVIDEO:s.GstPad:video_sink3: caps = NULL
/GstPipeline:pipeline0/GstMULTIVIDEO:s.GstPad:video_sink2: caps = NULL
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc2.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc1.GstPad:src: caps = NULL
Freeing pipeline ...


Thank you
All your bases are belong to us.
Reply | Threaded
Open this post in threaded view
|

Re: Pipeline for three inputs

Josh Doe
On Mon, Jul 9, 2012 at 4:04 PM, iron_guitarist1987
<[hidden email]> wrote:

>
> I created a plugin that takes in three videos. The pads are static always
> pads. My question is what would be the correct pipeline to run this. For two
> inputs I have:
>
>     gst-launch -v videotestsrc ! multivideos name=s ! ffmpegcolorspace !
> ximagesink videotestsrc ! s.
>
> Would this be good for three inputs?
>
>     gst-launch -v videotestsrc ! multivideos name=s ! ffmpegcolorspace !
> ximagesink videotestsrc videotestsrc! s.

That middle videotestsrc is dangling, not connected to anything, so
add another "! s." after it. Interesting that sink2 and 3 are
connected first, I should check out how pads are chosen when not
specified directly.

-Josh
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel