[Bug 758344] avdec_h264 generates video frames with height that doesn't match the height in the caps

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sun Nov 22 14:43:27 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=758344

--- Comment #2 from Michael Olbrich <m.olbrich at pengutronix.de> ---
** (gst-launch-1.0:26342): CRITICAL **: gst_video_frame_copy: assertion
'dinfo->width == sinfo->width && dinfo->height == sinfo->height' failed

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffec627700 (LWP 26346)]
0x00007ffff73a788b in _g_log_abort (breakpoint=1) at
/build/glib2.0-ocmJ1Y/glib2.0-2.46.2/./glib/gmessages.c:324
324     /build/glib2.0-ocmJ1Y/glib2.0-2.46.2/./glib/gmessages.c: No such file
or directory.
(gdb) bt
#0  0x00007ffff73a788b in g_logv (breakpoint=1) at
/build/glib2.0-ocmJ1Y/glib2.0-2.46.2/./glib/gmessages.c:324
#1  0x00007ffff73a788b in g_logv (log_domain=0x0,
log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
args=args at entry=0x7fffec625d20)
    at /build/glib2.0-ocmJ1Y/glib2.0-2.46.2/./glib/gmessages.c:1081
#2  0x00007ffff73a79ff in g_log (log_domain=log_domain at entry=0x0,
log_level=log_level at entry=G_LOG_LEVEL_CRITICAL,
format=format at entry=0x7ffff73f20f4 "%s: assertion '%s' failed") at
/build/glib2.0-ocmJ1Y/glib2.0-2.46.2/./glib/gmessages.c:1119
#3  0x00007ffff73a7a39 in g_return_if_fail_warning
(log_domain=log_domain at entry=0x0,
pretty_function=pretty_function at entry=0x7ffff546ef70 <__func__.21330>
"gst_video_frame_copy", expression=expression at entry=0x7ffff546ef30
"dinfo->width == sinfo->width && dinfo->height == sinfo->height")
    at /build/glib2.0-ocmJ1Y/glib2.0-2.46.2/./glib/gmessages.c:1128
#4  0x00007ffff54497ff in gst_video_frame_copy (dest=dest at entry=0x7fffec6260f0,
src=src at entry=0x7fffec625e50) at video-frame.c:355
#5  0x00007ffff2fd1878 in gst_vaapi_plugin_base_get_input_buffer
(plugin=plugin at entry=0x83ca20, inbuf=inbuf at entry=0x7fffe4003070,
outbuf_ptr=outbuf_ptr at entry=0x7fffec6263d8) at gstvaapipluginbase.c:882
#6  0x00007ffff2fd841a in gst_vaapisink_show_frame (src_buffer=0x7fffe4003070,
sink=0x83ca20) at gstvaapisink.c:1348
#7  0x00007ffff2fd841a in gst_vaapisink_show_frame (video_sink=0x83ca20
[GstVaapiSink], src_buffer=0x7fffe4003070) at gstvaapisink.c:1440
#8  0x00007ffff5d7cf75 in gst_base_sink_do_preroll (sink=sink at entry=0x83ca20
[GstVaapiSink], obj=obj at entry=0x7fffe4003070) at gstbasesink.c:2281
#9  0x00007ffff5d7db23 in gst_base_sink_do_sync
(basesink=basesink at entry=0x83ca20 [GstVaapiSink], obj=obj at entry=0x7fffe4003070,
late=late at entry=0x7fffec626648, step_end=step_end at entry=0x7fffec62664c) at
gstbasesink.c:2500
#10 0x00007ffff5d7eda3 in gst_base_sink_chain_unlocked
(basesink=basesink at entry=0x83ca20 [GstVaapiSink], obj=obj at entry=0x7fffe4003070,
is_list=is_list at entry=0, pad=<optimized out>) at gstbasesink.c:3486
#11 0x00007ffff5d803e0 in gst_base_sink_chain_main (basesink=0x83ca20
[GstVaapiSink], pad=<optimized out>, obj=0x7fffe4003070, is_list=0)
    at gstbasesink.c:3647
#12 0x00007ffff7b276f4 in gst_pad_push_data (data=0x7fffe4003070, type=4112,
pad=0x7be960 [GstPad]) at gstpad.c:4085
#13 0x00007ffff7b276f4 in gst_pad_push_data (pad=0x7be720 [GstPad],
type=type at entry=4112, data=data at entry=0x7fffe4003070) at gstpad.c:4337
#14 0x00007ffff7b2efd6 in gst_pad_push (pad=<optimized out>,
buffer=buffer at entry=0x7fffe4003070) at gstpad.c:4453
#15 0x00007ffff5452d8f in gst_video_decoder_clip_and_push_buf
(decoder=decoder at entry=0x81ffb0 [avdec_h264], buf=buf at entry=0x7fffe4003070)
    at gstvideodecoder.c:3203
#16 0x00007ffff54591f0 in gst_video_decoder_finish_frame (decoder=0x81ffb0
[avdec_h264], frame=0x0, frame at entry=0x7fffe4003180)
    at gstvideodecoder.c:3096
#17 0x00007ffff36f6aa0 in gst_ffmpegviddec_frame (ret=0x7fffec6269cc,
frame=0x0, have_data=0x7fffec6269c8, size=<optimized out>, data=<optimized
out>, ffmpegdec=0x81ffb0 [avdec_h264]) at gstavviddec.c:1472
#18 0x00007ffff36f6aa0 in gst_ffmpegviddec_frame
(ffmpegdec=ffmpegdec at entry=0x81ffb0 [avdec_h264], data=data at entry=0x0,
size=size at entry=0, have_data=have_data at entry=0x7fffec6269c8,
frame=frame at entry=0x0, ret=ret at entry=0x7fffec6269cc) at gstavviddec.c:1533
#19 0x00007ffff36f7614 in gst_ffmpegviddec_drain (ffmpegdec=0x81ffb0
[avdec_h264]) at gstavviddec.c:1572
#20 0x00007ffff36f7679 in gst_ffmpegviddec_finish (decoder=<optimized out>) at
gstavviddec.c:1759
#21 0x00007ffff5454c44 in gst_video_decoder_drain_out (dec=0x81ffb0
[avdec_h264], at_eos=at_eos at entry=1) at gstvideodecoder.c:1055
#22 0x00007ffff545a61d in gst_video_decoder_sink_event_default
(decoder=0x81ffb0 [avdec_h264], event=0x7fffe4009580) at gstvideodecoder.c:1249
#23 0x00007ffff7b25f59 in gst_pad_send_event_unchecked (pad=pad at entry=0x7be4e0
[GstPad], event=event at entry=0x7fffe4009580, type=<optimized out>, 
    type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5454
#24 0x00007ffff7b26916 in gst_pad_push_event_unchecked (pad=pad at entry=0x7bf260
[GstPad], event=0x7fffe4009580,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5123
#25 0x00007ffff7b26d50 in push_sticky (pad=pad at entry=0x7bf260 [GstPad],
ev=ev at entry=0x7fffec626cf0, user_data=user_data at entry=0x7fffec626d40)
    at gstpad.c:3690
#26 0x00007ffff7b24b47 in events_foreach (pad=pad at entry=0x7bf260 [GstPad],
func=func at entry=0x7ffff7b26c00 <push_sticky>,
user_data=user_data at entry=0x7fffec626d40) at gstpad.c:597
#27 0x00007ffff7b2fceb in gst_pad_push_event (event=0x7fffe4009580,
pad=0x7bf260 [GstPad]) at gstpad.c:3746
#28 0x00007ffff7b2fceb in gst_pad_push_event (pad=pad at entry=0x7bf260 [GstPad],
event=0x7fffe4009580) at gstpad.c:5252
#29 0x00007ffff5afdca1 in gst_qtdemux_push_event
(qtdemux=qtdemux at entry=0x7d80c0 [GstQTDemux], event=0x7fffe4009580) at
qtdemux.c:960
#30 0x00007ffff5b18e9d in gst_qtdemux_loop (pad=0x7be2a0 [GstPad]) at
qtdemux.c:5307
#31 0x00007ffff7b56cb1 in gst_task_func (task=0x89e050 [GstTask]) at
gsttask.c:331
#32 0x00007ffff73c82ee in g_thread_pool_thread_proxy (data=<optimized out>) at
/build/glib2.0-ocmJ1Y/glib2.0-2.46.2/./glib/gthreadpool.c:307
#33 0x00007ffff73c7955 in g_thread_proxy (data=0x839230) at
/build/glib2.0-ocmJ1Y/glib2.0-2.46.2/./glib/gthread.c:778
#34 0x00007ffff6d360a4 in start_thread (arg=0x7fffec627700) at
pthread_create.c:309
#35 0x00007ffff6a6b06d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb)

[...]

#5  0x00007ffff2fd1878 in gst_vaapi_plugin_base_get_input_buffer
(plugin=plugin at entry=0x83ca20, inbuf=inbuf at entry=0x7fffe4003070, 
    outbuf_ptr=outbuf_ptr at entry=0x7fffec6263d8) at gstvaapipluginbase.c:882
882       success = gst_video_frame_copy (&out_frame, &src_frame);
(gdb) print out_frame 
$1 = {info = {finfo = 0x7ffff5686328 <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_H_COSITED, colorimetry = {
      range = GST_VIDEO_COLOR_RANGE_16_235, matrix =
GST_VIDEO_COLOR_MATRIX_BT709, transfer = GST_VIDEO_TRANSFER_BT709, 
      primaries = GST_VIDEO_COLOR_PRIMARIES_BT709}, par_n = 1, par_d = 1, fps_n
= 19200, fps_d = 1, offset = {0, 2088960, 2611200, 0}, stride = {
      1920, 960, 960, 0}, ABI = {abi = {multiview_mode =
GST_VIDEO_MULTIVIEW_MODE_NONE, multiview_flags =
GST_VIDEO_MULTIVIEW_FLAGS_NONE}, 
      _gst_reserved = {0xffffffff, 0x0, 0x0, 0x0}}}, flags =
GST_VIDEO_FRAME_FLAG_NONE, buffer = 0x7fffe40037e0, meta = 0x7fffe4008818, id =
0, 
  data = {0x7fffe8489000, 0x7fffe8687000, 0x7fffe8706800, 0x8422c4}, map =
{{memory = 0x1000, flags = GST_MAP_WRITE, 
      data = 0x7fff00000001 <error: Cannot access memory at address
0x7fff00000001>, size = 2, maxsize = 140737182964929, user_data = {
        0x7fffec626210, 0xffffffffffffffff, 0x0, 0x83e0e0}, _gst_reserved =
{0x9f00000002, 0x100000004, 0x4, 0x60ff20}}, {memory = 0x0, 
      flags = GST_MAP_WRITE, data = 0x60e2d0 "\320G\210\367\377\177", size =
140737346268367, maxsize = 140737159258840, user_data = {
        0x7ffff6d3ca89 <write+57>, 0x0, 0x649ae0, 0x7fffe4002080},
_gst_reserved = {0x649ae0, 0x7fffe4002080, 0x7ffff7afb275 <gst_bus_post+933>, 
        0x0}}, {memory = 0x0, flags = GST_MAP_WRITE, 
      data = 0x7ffff787eccf <g_object_unref+95>
"\215U\377\211\301\211\350\360\017\261\023u\344\203\375\002\017\205\r\001",
size = 6593248, 
      maxsize = 1, user_data = {0x649ae0, 0x7fffe4002080, 0x83e0f8,
0x7ffff7b0f652 <gst_element_post_message_default+162>}, _gst_reserved = {0x2, 
        0x7fffe4002080, 0x7fffe4002080, 0x83e0e0}}, {memory = 0x1, flags =
(GST_MAP_WRITE | unknown: 4155438156), data = 0x83e0e0 "", 
      size = 140737348968813, maxsize = 8642784, user_data = {0x7ffff7dda3d0
<_gst_debug_min>, 0x7fffe4002080, 
        0x7ffff7aef769 <gst_bin_handle_message_func+281>, 0x3}, _gst_reserved =
{0x7ffff7b490a4 <gst_segment_to_running_time+228>, 
        0x7ffff7ddb420 <_priv_gst_quark_table>, 0x1fca055, 0x3}}},
_gst_reserved = {0x7ffff5d79429 <gst_base_sink_get_sync_times+1177>, 0x0, 
    0x1fca055, 0x1fca055}}
(gdb) print src_frame
$2 = {info = {finfo = 0x7ffff5686328 <formats+488>, interlace_mode =
GST_VIDEO_INTERLACE_MODE_PROGRESSIVE, flags = GST_VIDEO_FLAG_NONE, 
    width = 1920, height = 1088, size = 3110400, views = 1, chroma_site =
GST_VIDEO_CHROMA_SITE_H_COSITED, colorimetry = {
      range = GST_VIDEO_COLOR_RANGE_16_235, matrix =
GST_VIDEO_COLOR_MATRIX_BT709, transfer = GST_VIDEO_TRANSFER_BT709, 
      primaries = GST_VIDEO_COLOR_PRIMARIES_BT709}, par_n = 1, par_d = 1, fps_n
= 19200, fps_d = 1, offset = {32832, 2310176, 2885664, 0}, 
    stride = {2048, 1024, 1024, 0}, ABI = {abi = {multiview_mode =
GST_VIDEO_MULTIVIEW_MODE_NONE, 
        multiview_flags = GST_VIDEO_MULTIVIEW_FLAGS_NONE}, _gst_reserved =
{0xffffffff, 0x0, 0x0, 0x0}}}, flags = GST_VIDEO_FRAME_FLAG_NONE, 
  buffer = 0x7fffe4003070, meta = 0x7ea5f8, id = 0, data = {0x7fffe92de0e0,
0x7fffe950a0c0, 0x7fffe95968c0, 0x7fffec6262d8}, map = {{
      memory = 0x7fffe92d6010, flags = GST_MAP_READ, data = 0x7fffe92d60a0 "",
size = 3452928, maxsize = 3452959, user_data = {0x7fffec6260c0, 
        0x7ffff787a839 <g_cclosure_marshal_generic+505>, 0x7fffec626298,
0x7fffec6262b0}, _gst_reserved = {0x7fffec6262c8, 0x6334a0, 0x1, 
        0x7fffe4000020}}, {memory = 0x7fffe92d6010, flags = GST_MAP_READ, data
= 0x7fffe92d60a0 "", size = 3452928, maxsize = 3452959, user_data = {
        0x40, 0x0, 0xffffffff00000030, 0x0}, _gst_reserved = {0x10000005b, 0x0,
0x0, 0x770000006e}}, {memory = 0x7fffe92d6010, 
      flags = GST_MAP_READ, data = 0x7fffe92d60a0 "", size = 3452928, maxsize =
3452959, user_data = {0x633490, 0x7fffec626290, 0x4e401f9f0, 
        0x7fffec625f60}, _gst_reserved = {0x7fffec625f90, 0x7fffec626054,
0xe401f9f0, 0x7fffec625fc0}}, {memory = 0x400000001, 
      flags = (unknown: 3965869968), data = 0x7ffff64813a0 <ffi_type_void>
"\001", size = 0, maxsize = 144, user_data = {0x869873a0d6ad9f00, 
        0x8432e0, 0x633490, 0x0}, _gst_reserved = {0x3, 0x7fffec626290,
0x7fffec626210, 0x0}}}, _gst_reserved = {
    0x7ffff787a015 <g_closure_invoke+325>, 0x7fffec6260f0, 0x0, 0x2}}
(gdb)

-- 
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