[Bug 741030] New: theoradec: Sets video-meta width/height from padded values

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Dec 2 08:02:05 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=741030
  GStreamer | gst-plugins-good | git

           Summary: theoradec: Sets video-meta width/height from padded
                    values
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: blocker
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: nicolas.dufresne at collabora.co.uk
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


It looks like theoradec is setting width/height in the GstVideoMeta to padded
width and height, which leads to assertion in VideoFrame when mapping. Width an
and height should be the same as caps in GstVideoMeta, non-padded.

** (gst-launch-1.0:4595): CRITICAL **: gst_video_frame_map_id: assertion
'info->height == meta->height' failed

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffedba7700 (LWP 4603)]
g_logv (log_domain=0x0, log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
args=args at entry=0x7fffedba6340) at gmessages.c:1046
1046          g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
Missing separate debuginfos, use: debuginfo-install libX11-1.6.2-2.fc21.x86_64
libXau-1.0.8-4.fc21.x86_64 libXext-1.3.3-2.fc21.x86_64
libXv-1.0.10-2.fc21.x86_64 libffi-3.1-6.fc21.x86_64 libogg-1.3.0-8.fc21.x86_64
libselinux-2.3-5.fc21.x86_64 libtheora-1.1.1-12.fc21.x86_64
libvorbis-1.3.4-3.fc21.x86_64 libxcb-1.11-2.fc21.x86_64
orc-0.4.22-3.fc21.x86_64 pcre-8.35-7.fc21.x86_64
xz-libs-5.1.2-14alpha.fc21.x86_64 zlib-1.2.8-7.fc21.x86_64
(gdb) bt
#0  0x0000003544650c60 in g_logv (log_domain=0x0,
log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
args=args at entry=0x7fffedba6340) at gmessages.c:1046
#1  0x0000003544650e9f in g_log (log_domain=<optimized out>,
log_level=<optimized out>, format=<optimized out>) at gmessages.c:1079
#2  0x00007ffff0b33747 in gst_video_frame_map_id (frame=0x7fffedba64b0,
info=0x7fffdc004158, buffer=0x7fffdc0051b0, id=-1, flags=GST_MAP_WRITE) at
video-frame.c:78
#3  0x00007ffff0b33d02 in gst_video_frame_map (frame=0x7fffedba64b0,
info=0x7fffdc004158, buffer=0x7fffdc0051b0, flags=GST_MAP_WRITE) at
video-frame.c:186
#4  0x00007fffed19ebbd in theora_handle_image (dec=0x7fffd80245b0
[GstTheoraDec], buf=0x7fffedba67e0, frame=0x7fffd80075f0) at gsttheoradec.c:641
#5  0x00007fffed19f0fb in theora_handle_data_packet (dec=0x7fffd80245b0
[GstTheoraDec], packet=0x7fffedba6920, frame=0x7fffd80075f0) at
gsttheoradec.c:719
#6  0x00007fffed19f995 in theora_dec_decode_buffer (dec=0x7fffd80245b0
[GstTheoraDec], buf=0x7fffdc005d60, frame=0x7fffd80075f0) at gsttheoradec.c:799
#7  0x00007fffed19f9fc in theora_dec_handle_frame (bdec=0x7fffd80245b0
[GstTheoraDec], frame=0x7fffd80075f0) at gsttheoradec.c:816
#8  0x00007ffff0b499f0 in gst_video_decoder_decode_frame
(decoder=0x7fffd80245b0 [GstTheoraDec], frame=0x7fffd80075f0) at
gstvideodecoder.c:2999
#9  0x00007ffff0b49392 in gst_video_decoder_have_frame (decoder=0x7fffd80245b0
[GstTheoraDec]) at gstvideodecoder.c:2931
#10 0x00007fffed19d9f9 in theora_dec_parse (decoder=0x7fffd80245b0
[GstTheoraDec], frame=0x7fffd80075f0, adapter=0x8175d0 [GstAdapter], at_eos=0)
at gsttheoradec.c:284
#11 0x00007ffff0b3ecb9 in gst_video_decoder_parse_available (dec=0x7fffd80245b0
[GstTheoraDec], at_eos=0, new_buffer=0) at gstvideodecoder.c:940
#12 0x00007ffff0b425b8 in gst_video_decoder_chain_forward
(decoder=0x7fffd80245b0 [GstTheoraDec], buf=0x7fffdc005d60, at_eos=0) at
gstvideodecoder.c:1881
#13 0x00007ffff0b44781 in gst_video_decoder_chain (pad=0x7f7660 [GstPad],
parent=0x7fffd80245b0 [GstTheoraDec], buf=0x7fffdc005d60) at
gstvideodecoder.c:2168
#14 0x00007ffff7d426f4 in gst_pad_chain_data_unchecked (pad=0x7f7660 [GstPad],
type=4112, data=0x7fffdc005d60) at gstpad.c:3830
#15 0x00007ffff7d433a3 in gst_pad_push_data (pad=0x7f7430 [GstPad], type=4112,
data=0x7fffdc005d60) at gstpad.c:4063
#16 0x00007ffff7d4391a in gst_pad_push (pad=0x7f7430 [GstPad],
buffer=0x7fffdc005d60) at gstpad.c:4174
#17 0x00007fffefa41cb6 in gst_single_queue_push_one (mq=0x7fffd801d020
[GstMultiQueue], sq=0x7fffd801c5a0, object=0x7fffdc005d60) at
gstmultiqueue.c:1233
#18 0x00007fffefa42c32 in gst_multi_queue_loop (pad=0x7f7430 [GstPad]) at
gstmultiqueue.c:1488
#19 0x00007ffff7d7785a in gst_task_func (task=0x81cb90 [GstTask]) at
gsttask.c:316
#20 0x00007ffff7d78936 in default_func (tdata=0x7fffd8006cc0, pool=0x622890
[GstTaskPool]) at gsttaskpool.c:68
#21 0x0000003544671148 in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:307
#22 0x00000035446707b5 in g_thread_proxy (data=0x7fffd8002a80) at gthread.c:764
#23 0x0000003541a0752a in start_thread (arg=0x7fffedba7700) at
pthread_create.c:310
#24 0x0000003541f0077d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb) f 2
#2  0x00007ffff0b33747 in gst_video_frame_map_id (frame=0x7fffedba64b0,
info=0x7fffdc004158, buffer=0x7fffdc0051b0, id=-1, flags=GST_MAP_WRITE) at
video-frame.c:78
78        g_return_val_if_fail (info->height == meta->height, FALSE);
(gdb) print info
$1 = (GstVideoInfo *) 0x7fffdc004158
(gdb) print *info
$2 = {finfo = 0x7ffff0d8abe8 <formats+488>, interlace_mode =
GST_VIDEO_INTERLACE_MODE_PROGRESSIVE, flags = GST_VIDEO_FLAG_NONE, width =
1920, height = 1080, size = 3110400, views = 1, 
  chroma_site = GST_VIDEO_CHROMA_SITE_NONE, colorimetry = {range =
GST_VIDEO_COLOR_RANGE_16_235, matrix = GST_VIDEO_COLOR_MATRIX_BT601, transfer =
GST_VIDEO_TRANSFER_BT709, 
    primaries = GST_VIDEO_COLOR_PRIMARIES_UNKNOWN}, par_n = 1, par_d = 1, fps_n
= 24, fps_d = 1, offset = {0, 2073600, 2592000, 0}, stride = {1920, 960, 960,
0}, plane_size = {
    2073600, 518400, 518400, 0}}
(gdb) print *meta
$3 = {meta = {flags = (GST_META_FLAG_POOLED | GST_META_FLAG_LOCKED), info =
0x7fffd8002800}, buffer = 0x7fffdc0051b0, flags = GST_VIDEO_FRAME_FLAG_NONE, 
  format = GST_VIDEO_FORMAT_I420, id = 0, width = 1920, height = 1088, n_planes
= 3, offset = {0, 2088960, 2611200, 0}, stride = {1920, 960, 960, 0}, map = 
    0x7ffff0b3a740 <default_map>, unmap = 0x7ffff0b3a8dd <default_unmap>}

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list