[Bug 762922] Fail to play H265 video decode if the video in matroska container in gstreamer-vaapi 1.6.0

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Mar 9 13:48:12 UTC 2016


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

Lim Siew Hoon <siew.hoon.lim at intel.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #322962|0                           |1
        is obsolete|                            |

--- Comment #10 from Lim Siew Hoon <siew.hoon.lim at intel.com> ---
Created attachment 323508
  --> https://bugzilla.gnome.org/attachment.cgi?id=323508&action=edit
gst_debug_h265.log

Switch over to git master and using gstreamer environment: 1.7.90.
Still able to consistent reproduce the issue.

(gdb) bt
#0  parse_slice (decoder=0x7fffe8022000, unit=0x7fffe8022080) at
gstvaapidecoder_h265.c:1417
#1  0x00007ffff48e50dc in gst_vaapi_decoder_h265_parse
(base_decoder=0x7fffe8022000, adapter=0x80b0f0, at_eos=0, unit=0x7fffe8022080)
at gstvaapidecoder_h265.c:2866
#2  0x00007ffff48af622 in do_parse (decoder=0x7fffe8022000,
base_frame=0x7fffe8012710, adapter=0x80b0f0, at_eos=0,
got_unit_size_ptr=0x7fffeec50838, got_frame_ptr=0x7fffeec50834) at
gstvaapidecoder.c:163
#3  0x00007ffff48b100c in gst_vaapi_decoder_parse (decoder=0x7fffe8022000,
base_frame=0x7fffe8012710, adapter=0x80b0f0, at_eos=0,
got_unit_size_ptr=0x7fffeec50838, got_frame_ptr=0x7fffeec50834) at
gstvaapidecoder.c:1008
#4  0x00007ffff4894d35 in gst_vaapidecode_parse_frame (vdec=0x8239a0,
frame=0x7fffe8012710, adapter=0x80b0f0, at_eos=0) at gstvaapidecode.c:899
#5  0x00007ffff4894edb in gst_vaapidecode_parse (vdec=0x8239a0,
frame=0x7fffe8012710, adapter=0x80b0f0, at_eos=0) at gstvaapidecode.c:940
#6  0x00007ffff56b9bc6 in gst_video_decoder_parse_available
(dec=dec at entry=0x8239a0, at_eos=at_eos at entry=0, new_buffer=0,
new_buffer at entry=1) at gstvideodecoder.c:1005
#7  0x00007ffff56b9d74 in gst_video_decoder_chain_forward
(decoder=decoder at entry=0x8239a0, buf=buf at entry=0x7fffe80121c0,
at_eos=at_eos at entry=0) at gstvideodecoder.c:2207
#8  0x00007ffff56bc483 in gst_video_decoder_chain (pad=<optimized out>,
parent=0x8239a0, buf=0x7fffe80121c0) at gstvideodecoder.c:2503
#9  0x00007ffff7b204e4 in gst_pad_chain_data_unchecked (data=0x7fffe80121c0,
type=4112, pad=0x8044f0) at gstpad.c:4155
#10 gst_pad_push_data (pad=pad at entry=0x805270, type=type at entry=4112,
data=data at entry=0x7fffe80121c0) at gstpad.c:4407
#11 0x00007ffff7b28233 in gst_pad_push (pad=0x805270,
buffer=buffer at entry=0x7fffe80121c0) at gstpad.c:4526
#12 0x00007ffff5d5d085 in gst_matroska_demux_parse_blockgroup_or_simpleblock
(demux=demux at entry=0x80c030, ebml=ebml at entry=0x7fffeec50d50,
cluster_time=<optimized out>, is_simpleblock=is_simpleblock at entry=1,
    cluster_offset=<optimized out>) at matroska-demux.c:3835
#13 0x00007ffff5d630e1 in gst_matroska_demux_parse_id
(demux=demux at entry=0x80c030, id=163, length=2625, needed=<optimized out>) at
matroska-demux.c:4487
#14 0x00007ffff5d651f3 in gst_matroska_demux_loop (pad=<optimized out>) at
matroska-demux.c:4663
#15 0x00007ffff7b51d51 in gst_task_func (task=0x854050) at gsttask.c:332
#16 0x00007ffff6e8b55e in ?? () from /usr/lib64/libglib-2.0.so.0
#17 0x00007ffff6e8abd5 in ?? () from /usr/lib64/libglib-2.0.so.0
#18 0x00007ffff6c063c4 in start_thread (arg=0x7fffeec51700) at
pthread_create.c:337
#19 0x00007ffff6537d4d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109


from parse_slice function, it call to gst_h265_parser_parse_slice_hdr function.

 if (nalu->type >= GST_H265_NAL_SLICE_BLA_W_LP
      && nalu->type <= RESERVED_IRAP_NAL_TYPE_MAX)
    READ_UINT8 (&nr, slice->no_output_of_prior_pics_flag, 1);

  READ_UE_MAX (&nr, pps_id, GST_H265_MAX_PPS_COUNT - 1);
  pps = gst_h265_parser_get_pps (parser, pps_id);
  if (!pps) {
    GST_WARNING
        ("couldn't find associated picture parameter set with id: %d", pps_id);
    return GST_H265_PARSER_BROKEN_LINK; -> exit from here due to pps is NULL.
 ...

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