caps error with videoscale

Chuck Crisler ccrisler at mutualink.net
Fri Jan 3 09:15:01 PST 2014


I am using GStreamer 0.10.30 and trying to transcode/scale/transmux a video
stream. The pipeline seems to link but fails with about the first video
frame due to a pad/caps not negotiated. My pipeline is:

udpsrc->mpegtsdemux->decodebin2->videorate->videoscale->queue->x264enc->RTPh264pay->udpsink

I link the videorate using gst_element_link_filtered with video/x-raw-yuv,
framerate=15
I link the videoscale using gst_element_link_filtered with video/x-raw-yuv,
width=320, height=240
The original source is 640x480.

If I take the videoscale filter out the pipeline works, so that is somehow
causing my error.

I would greatly appreciate any help.

Here is a snippet of the log at failure.

Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.444469457 36455
0xf6810980 DEBUG                 ffmpeg
gstffmpegdec.c:1209:gst_ffmpegdec_negotiate:<ffdec_h2640>
Renegotiating video from 0x0@ -1:0 PAR -1/-1 fps to 640x480@ 1:1 PAR -1/0
fps
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.444490819 36455
0xf6810980 DEBUG                 ffmpeg
gstffmpegcodecmap.c:1735:gst_ffmpeg_pixfmt_to_caps: caps for
pix_fmt=0: video/x-raw-yuv, width=(int)640, height=(int)480,
framerate=(fraction)15/1, format=(fourcc)I420
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.444523831 36455
0xf6810980 DEBUG                 ffmpeg
gstffmpegdec.c:1128:gst_ffmpegdec_add_pixel_aspect_ratio:<ffdec_h2640>
Decoder PAR: 1:1
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.444532875 36455
0xf6810980 DEBUG                 ffmpeg
gstffmpegdec.c:1158:gst_ffmpegdec_add_pixel_aspect_ratio:<ffdec_h2640>
Setting decoder provided pixel-aspect-ratio of 1:1
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.444658310 36455
0xf6810980 DEBUG             videoscale
gstvideoscale.c:311:gst_video_scale_transform_caps:<VideoScaler>
returning caps: video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)[
0/1, 2147483647/1 ], width=(int)[ 16, 32767 ], height=(int)[ 16, 32767 ];
video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)[ 0/1,
2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.444702786 36455
0xf6810980 DEBUG             videoscale
gstvideoscale.c:311:gst_video_scale_transform_caps:<VideoScaler>
returning caps: video/x-raw-yuv, format=(fourcc)YV12, framerate=(fraction)[
0/1, 2147483647/1 ], width=(int)[ 16, 32767 ], height=(int)[ 16, 32767 ];
video/x-raw-yuv, format=(fourcc)YV12, framerate=(fraction)[ 0/1,
2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.445001091 36455
0xf6810980 DEBUG                 ffmpeg
gstffmpegdec.c:926:alloc_output_buffer:<ffdec_h2640> Downstream can't
allocate aligned buffers.
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.445357292 36455
0xf6810980 DEBUG                 ffmpeg
gstffmpegdec.c:1996:gst_ffmpegdec_video_frame:<ffdec_h2640> return
flow 0, out 0xa1606d0, len 31549
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.445423101 36455
0xf6810980 DEBUG             videoscale
gstvideoscale.c:311:gst_video_scale_transform_caps:<VideoScaler>
returning caps: video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)[
0/1, 2147483647/1 ], width=(int)[ 16, 32767 ], height=(int)[ 16, 32767 ];
video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)[ 0/1,
2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.445463445 36455
0xf6810980 DEBUG             videoscale
gstvideoscale.c:311:gst_video_scale_transform_caps:<VideoScaler>
returning caps: video/x-raw-yuv, format=(fourcc)YV12, framerate=(fraction)[
0/1, 2147483647/1 ], width=(int)[ 16, 32767 ], height=(int)[ 16, 32767 ];
video/x-raw-yuv, format=(fourcc)YV12, framerate=(fraction)[ 0/1,
2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.508003202 36455
0xa15dfd8 INFO                 basesrc
gstbasesrc.c:2490:gst_base_src_loop:<VideoSrc> pausing after
gst_pad_push() = not-negotiated
Jan  3 12:01:44 imsvcctl[36455]: 0:00:03.508043119 36455
0xa15dfd8 WARN                 basesrc
gstbasesrc.c:2550:gst_base_src_loop:<VideoSrc> error: Internal data
flow error.

Thank you,
Chuck Crisler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140103/cd19e520/attachment-0001.html>


More information about the gstreamer-devel mailing list