[Bug 721835] New: segment format assertion fails when video decoding

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Jan 8 15:10:34 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=721835
  GStreamer | gst-plugins-base | 1.2.2

           Summary: segment format assertion fails when video decoding
    Classification: Platform
           Product: GStreamer
           Version: 1.2.2
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: aleix at oblong.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


The client pipeline is something like:

rtspsrc location=... latency=200 drop-on-latency=true ! decodebin !
videoconvert ! ximagesink

Sometimes I am getting this repeatedly:

(lt-basic-test:35942): GStreamer-CRITICAL **: gst_segment_clip: assertion
'segment->format == format' failed

It seems that the video decoder starts pushing frame before we get a segment.

See the stack trace and the prints of the variables at the frame in question.

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffdb7fe700 (LWP 35984)]
0x00007ffff4279337 in g_logv (log_domain=0x7ffff4bd3d14 "GStreamer",
log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>)
at gmessages.c:1019
1019            G_BREAKPOINT ();
(gdb) bt
#0  0x00007ffff4279337 in g_logv (log_domain=0x7ffff4bd3d14 "GStreamer",
log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>)
at gmessages.c:1019
#1  0x00007ffff42793d2 in g_log (log_domain=<optimized out>,
log_level=<optimized out>, format=<optimized out>) at gmessages.c:1059
#2  0x00007ffff4ba289c in gst_segment_clip (segment=<optimized out>,
format=<optimized out>, start=<optimized out>, stop=<optimized out>,
clip_start=<optimized out>, clip_stop=<optimized out>)
    at gstsegment.c:575
#3  0x00007ffff54ba3a1 in gst_video_decoder_clip_and_push_buf
(decoder=0x7fffc00bd650, buf=0x7fffd402a5d0) at gstvideodecoder.c:2546
#4  0x00007ffff54c053b in gst_video_decoder_finish_frame
(decoder=0x7fffc00bd650, frame=0x0) at gstvideodecoder.c:2513
#5  0x00007fffd98e3d3c in gst_ffmpegviddec_video_frame
(ffmpegdec=0x7fffc00bd650, data=<optimized out>, size=<optimized out>,
frame=0x7fffd4046e00, ret=0x7fffdb7fc92c) at gstavviddec.c:1313
#6  0x00007fffd98e42ce in gst_ffmpegviddec_frame (ffmpegdec=0x7fffc00bd650,
data=0x7fffc0364620 "", size=9729, got_data=0x7fffdb7fc928,
frame=0x7fffd4046e00, ret=0x7fffdb7fc92c) at gstavviddec.c:1370
#7  0x00007fffd98e4a6b in gst_ffmpegviddec_handle_frame
(decoder=0x7fffc00bd650, frame=0x7fffd4046e00) at gstavviddec.c:1490
#8  0x00007ffff54b8d0f in gst_video_decoder_decode_frame
(decoder=0x7fffc00bd650, frame=0x7fffd4046e00) at gstvideodecoder.c:2773
#9  0x00007ffff54bbeb8 in gst_video_decoder_chain_forward
(decoder=0x7fffc00bd650, buf=0x7fffd4016340, at_eos=0) at
gstvideodecoder.c:1755
#10 0x00007ffff54bcf2f in gst_video_decoder_chain (pad=<optimized out>,
parent=0x7fffc00bd650, buf=0x7fffd4016340) at gstvideodecoder.c:2002
#11 0x00007ffff4b82779 in gst_pad_chain_data_unchecked (data=0x7fffd4016340,
type=<optimized out>, pad=0x7fffc003e790) at gstpad.c:3711
#12 gst_pad_push_data (pad=0x7fffc003e560, type=<optimized out>,
data=<optimized out>) at gstpad.c:3941
#13 0x00007ffff506d99b in gst_base_transform_chain (pad=<optimized out>,
parent=0x7fffc004c140, buffer=<optimized out>) at gstbasetransform.c:2237
#14 0x00007ffff4b82779 in gst_pad_chain_data_unchecked (data=0x7fffd4016340,
type=<optimized out>, pad=0x7fffc003e330) at gstpad.c:3711
#15 gst_pad_push_data (pad=0x7fffc003e100, type=<optimized out>,
data=<optimized out>) at gstpad.c:3941
#16 0x00007ffff504f67a in gst_base_parse_push_frame (parse=0x7fffc00468d0,
frame=<optimized out>) at gstbaseparse.c:2289
#17 0x00007ffff50501b0 in gst_base_parse_chain (pad=<optimized out>,
parent=0x7fffc00468d0, buffer=0x7fffd4016340) at gstbaseparse.c:2767
#18 0x00007ffff4b82779 in gst_pad_chain_data_unchecked (data=0x7fffd4016340,
type=<optimized out>, pad=0x7fffd400bd40) at gstpad.c:3711
#19 gst_pad_push_data (pad=0x7fffd400bb10, type=<optimized out>,
data=<optimized out>) at gstpad.c:3941
#20 0x00007fffe9e190ce in gst_rtp_base_depayload_push (filter=0x7fffc000e3c0,
out_buf=0x7fffd4016340) at gstrtpbasedepayload.c:608
#21 0x00007fffe9e19589 in gst_rtp_base_depayload_chain (pad=<optimized out>,
parent=0x7fffc000e3c0, in=0x7fffd4031220) at gstrtpbasedepayload.c:356
#22 0x00007ffff4b82779 in gst_pad_chain_data_unchecked (data=0x7fffd4031220,
type=<optimized out>, pad=0x7fffd400b8e0) at gstpad.c:3711
#23 gst_pad_push_data (pad=0x7fffd400b6b0, type=<optimized out>,
data=<optimized out>) at gstpad.c:3941
#24 0x00007ffff4b82779 in gst_pad_chain_data_unchecked (data=0x7fffd4031220,
type=<optimized out>, pad=0x7fffd400b480) at gstpad.c:3711
#25 gst_pad_push_data (pad=0x7fffe407cdb0, type=<optimized out>,
data=<optimized out>) at gstpad.c:3941
#26 0x00007ffff4b72f2b in gst_proxy_pad_chain_default (pad=<optimized out>,
parent=<optimized out>, buffer=0x7fffd4031220) at gstghostpad.c:128
#27 0x00007ffff4b82779 in gst_pad_chain_data_unchecked (data=0x7fffd4031220,
type=<optimized out>, pad=0x7fffe407baa0) at gstpad.c:3711
#28 gst_pad_push_data (pad=0x7fffe407b5e0, type=<optimized out>,
data=<optimized out>) at gstpad.c:3941
#29 0x00007ffff4b72f2b in gst_proxy_pad_chain_default (pad=<optimized out>,
parent=<optimized out>, buffer=0x7fffd4031220) at gstghostpad.c:128
#30 0x00007ffff4b82779 in gst_pad_chain_data_unchecked (data=0x7fffd4031220,
type=<optimized out>, pad=0x7fffe407cb70) at gstpad.c:3711
#31 gst_pad_push_data (pad=0x7fffe407b380, type=<optimized out>,
data=<optimized out>) at gstpad.c:3941
#32 0x00007ffff4b72f2b in gst_proxy_pad_chain_default (pad=<optimized out>,
parent=<optimized out>, buffer=0x7fffd4031220) at gstghostpad.c:128
#33 0x00007ffff4b82779 in gst_pad_chain_data_unchecked (data=0x7fffd4031220,
type=<optimized out>, pad=0x7fffe407c930) at gstpad.c:3711
#34 gst_pad_push_data (pad=0x7fffd400b250, type=<optimized out>,
data=<optimized out>) at gstpad.c:3941
#35 0x00007fffe1994b6a in gst_rtp_pt_demux_chain (pad=<optimized out>,
parent=0x8d4b40, buf=0x7fffd4031220) at gstrtpptdemux.c:444
#36 0x00007ffff4b82779 in gst_pad_chain_data_unchecked (data=0x7fffd4031220,
type=<optimized out>, pad=0x7fffd400a990) at gstpad.c:3711
#37 gst_pad_push_data (pad=0x7fffd400a530, type=<optimized out>,
data=<optimized out>) at gstpad.c:3941
#38 0x00007fffe1991851 in pop_and_push_next (seqnum=0,
jitterbuffer=0x7fffd400e340) at gstrtpjitterbuffer.c:2326
#39 handle_next_buffer (jitterbuffer=0x7fffd400e340) at
gstrtpjitterbuffer.c:2397
#40 gst_rtp_jitter_buffer_loop (jitterbuffer=0x7fffd400e340) at
gstrtpjitterbuffer.c:2724
#41 0x00007ffff4bb068f in gst_task_func (task=0x8d4cb0) at gsttask.c:316
#42 0x00007ffff4296618 in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:309
#43 0x00007ffff4295db5 in g_thread_proxy (data=0x7fffd4002a80) at gthread.c:798
#44 0x00007ffff7bc4e9a in start_thread (arg=0x7fffdb7fe700) at
pthread_create.c:308
#45 0x00007ffff5eb23fd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#46 0x0000000000000000 in ?? ()


(gdb) frame 3
#3  0x00007ffff54ba3a1 in gst_video_decoder_clip_and_push_buf
(decoder=0x7fffc00bd650, buf=0x7fffd402a5d0) at gstvideodecoder.c:2546
2546      if (gst_segment_clip (segment, GST_FORMAT_TIME, start, stop, &cstart,
&cstop)) {

(gdb) p *segment
$2 = {flags = GST_SEGMENT_FLAG_NONE, rate = 1, applied_rate = 1, format =
GST_FORMAT_UNDEFINED, base = 0, offset = 0, start = 0, stop =
18446744073709551615, time = 0, position = 0, 
  duration = 18446744073709551615, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}

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