Still stuck

Gary Thomas gary at mlbassoc.com
Thu Mar 7 11:26:05 PST 2013


On 2013-03-07 12:04, Tim-Philipp Müller wrote:
> On Thu, 2013-03-07 at 11:54 -0700, Gary Thomas wrote:
>>>
>>> gdppay / dpdepay might work (but also transmit some metadata and caps)
>>
>> I tried that like this:
>>     gst-launch -e -v v4l2src device=/dev/video1 queue-size=16 \
>>      ! video/x-raw-yuv,format='(fourcc)UYVY',width=720,height=480,framerate=30/1 \
>>      ! tee name=v-src \
>>        v-src. ! queue leaky=upstream ! videoscale ! "video/x-raw-yuv,width=320,height=240" ! gdppay ! tcpserversink host=localhost port=61000 \
>>        v-src. ! queue leaky=upstream ! videoscale ! "video/x-raw-yuv,width=240,height=120" ! gdppay ! tcpserversink host=localhost port=61001 \
>>        v-src. ! queue leaky=upstream ! gdppay ! tcpserversink host=localhost port=61002 \
>> and
>>     gst-launch -vvv tcpclientsrc host=localhost port=61001 \
>>       ! gdpdepay \
>>       ! ffmpegcolorspace ! ximagesink force-aspect-ratio=true
>>
>> Which yielded this error:
>>     /GstPipeline:pipeline0/GstGDPDepay:gdpdepay0.GstPad:src: caps = video/x-raw-yuv, width=(int)240, height=(int)120, format=(fourcc)UYVY,
>> framerate=(fraction)30/1,interlaced=(boolean)false, pixel-aspect-ratio=(fraction)3/4
>>     ERROR: from element /GstPipeline:pipeline0/GstTCPClientSrc:tcpclientsrc0: Internal data flow error.
>>     Additional debug info:
>>     gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:pipeline0/GstTCPClientSrc:tcpclientsrc0:streaming task paused, reason not-negotiated (-4)
>>     ERROR: pipeline doesn't want to preroll.
>
>
> Ok, so a caps problem somewhere.

Doesn't the gdppay/gdpdepay setup negotiate the caps out of band?

If not, how do I figure out the problem?

>
>
>> So I tried to add caps to help out:
>>     gst-launch -vvv tcpclientsrc host=localhost port=61001 \
>>       ! gdpdepay \
>>       ! "video/x-raw-yuv,format=(fourcc)UYVY,width=240,height=120,framerate=(fraction)30/1" \
>>       ! ffmpegcolorspace ! ximagesink force-aspect-ratio=true
>>
>> No change.
>
> Yeah, that's not going to work. gdpdepay should replicate the input
> caps, so just adding caps there is at best not going to do anything and
> at worst create a not-negotiated error (if incompatible in some way).
>
> The input caps contain a pixel-aspect-ratio=(fraction)3/4 , so you will
> likely need a videoscale in front of ximagesink as well (since
> ximagesink can't scale and probably has square-ish pixels, so that needs
> fixing up).

Sure.  I tried that like this:
  gst-launch -vvv tcpclientsrc host=localhost port=61001 \
   ! gdpdepay \
   ! videoscale \
   ! "video/x-raw-yuv,format=(fourcc)UYVY,width=240,height=120,framerate=(fraction)30/1" \
   ! ffmpegcolorspace ! ximagesink force-aspect-ratio=true

Again, no change (same internal data flow error)
I've put a dump of this failure at http://www.mlbassoc.com/misc/log.recv

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


More information about the gstreamer-devel mailing list