After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 681634 - videodecoder: occasional criticals when seeking in reverse playback mode: gst_segment_clip: assertion `segment->format == format' failed
videodecoder: occasional criticals when seeking in reverse playback mode: gst...
Status: RESOLVED DUPLICATE of bug 721666
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
playback
Depends on:
Blocks:
 
 
Reported: 2012-08-10 22:59 UTC by Tim-Philipp Müller
Modified: 2014-01-10 08:27 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tim-Philipp Müller 2012-08-10 22:59:39 UTC
Steps to reproduce:

-base/tests/examples/playback/.libs/lt-playback-test 0 file:///006648_AVC_AAC.mp4

1) start normal forward playback of an H.264/AAC MP4
2) seek to middle
3) open 'seek options' box
4) change rate/speed from 1.000 to -1.000
    (playback in reverse should take place)
5) drag seek slider back and forth a little



(lt-playback-test:31426): GStreamer-CRITICAL **: gst_segment_clip: assertion `segment->format == format' failed

Program received signal SIGTRAP, Trace/breakpoint trap.

Thread 140737049315072 (LWP 31431)

  • #0 g_logv
    at /tmp/buildd/glib2.0-2.32.3/./glib/gmessages.h line 101
  • #1 g_log
    at /tmp/buildd/glib2.0-2.32.3/./glib/gmessages.c line 792
  • #2 g_return_if_fail_warning
    at /tmp/buildd/glib2.0-2.32.3/./glib/gmessages.c line 801
  • #3 gst_segment_clip
    at gstsegment.c line 554
  • #4 gst_video_decoder_clip_and_push_buf
    at gstvideodecoder.c line 2305
  • #5 gst_video_decoder_finish_frame
    at gstvideodecoder.c line 2273
  • #6 gst_ffmpegviddec_video_frame
    at gstffmpegviddec.c line 1147
  • #7 gst_ffmpegviddec_frame
    at gstffmpegviddec.c line 1204
  • #8 gst_ffmpegviddec_handle_frame
    at gstffmpegviddec.c line 1320
  • #9 gst_video_decoder_decode_frame
    at gstvideodecoder.c line 2514
  • #10 gst_video_decoder_flush_decode
    at gstvideodecoder.c line 1694
  • #11 gst_video_decoder_flush_parse
    at gstvideodecoder.c line 1774
  • #12 gst_video_decoder_chain_reverse
    at gstvideodecoder.c line 1831
  • #13 gst_video_decoder_chain
    at gstvideodecoder.c line 1901
  • #14 gst_pad_chain_data_unchecked
    at gstpad.c line 3611
  • #15 gst_pad_push_data
    at gstpad.c line 3824
  • #16 gst_pad_push
    at gstpad.c line 3927
  • #17 gst_base_transform_chain
    at gstbasetransform.c line 2190
  • #18 gst_pad_chain_data_unchecked
    at gstpad.c line 3611
  • #19 gst_pad_push_data
    at gstpad.c line 3824
  • #20 gst_pad_push
    at gstpad.c line 3927
  • #21 gst_base_parse_push_frame
    at gstbaseparse.c line 2073
  • #22 gst_base_parse_chain
    at gstbaseparse.c line 2532
  • #23 gst_pad_chain_data_unchecked
    at gstpad.c line 3611
  • #24 gst_pad_push_data
    at gstpad.c line 3824
  • #25 gst_pad_push
    at gstpad.c line 3927
  • #26 gst_single_queue_push_one
    at gstmultiqueue.c line 1057
  • #27 gst_multi_queue_loop
    at gstmultiqueue.c line 1303
  • #28 gst_task_func
    at gsttask.c line 316
  • #29 g_thread_pool_thread_proxy
    at /tmp/buildd/glib2.0-2.32.3/./glib/gthreadpool.c line 309
  • #30 g_thread_proxy
    at /tmp/buildd/glib2.0-2.32.3/./glib/gthread.c line 801
  • #31 start_thread
    at pthread_create.c line 304
  • #32 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 112
  • #33 ??
  • #3 gst_segment_clip
    at gstsegment.c line 554
  • #4 gst_video_decoder_clip_and_push_buf
    at gstvideodecoder.c line 2305
$2 = {element = {object = {object = {g_type_instance = {g_class = 0xc1ead0}, ref_count = 2, qdata = 0x0}, lock = {p = 0xc1f1e0, i = {12710368, 0}}, name = 0xbd1a40 "avdec_h264-0", parent = 0xafa2e0, flags = 0, control_bindings = 0x0, 
      control_rate = 100000000, last_sync = 18446744073709551615, _gst_reserved = 0x0}, state_lock = {p = 0x9c2750, i = {0, 0}}, state_cond = {p = 0xc1f260, i = {0, 0}}, state_cookie = 6, target_state = GST_STATE_PAUSED, 
    current_state = GST_STATE_PAUSED, next_state = GST_STATE_VOID_PENDING, pending_state = GST_STATE_VOID_PENDING, last_return = GST_STATE_CHANGE_SUCCESS, bus = 0x9be2a0, clock = 0xd2c430, base_time = 15424061000, 
    start_time = 2147064000, numpads = 2, pads = 0x756120, numsrcpads = 1, srcpads = 0x75ed40, numsinkpads = 1, sinkpads = 0x763080, pads_cookie = 2, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, sinkpad = 0xb7ed70, srcpad = 0xb7efa0, 
  stream_lock = {p = 0x9c28a0, i = {0, 0}}, input_segment = {flags = GST_SEGMENT_FLAG_NONE, rate = -1, applied_rate = 1, format = GST_FORMAT_TIME, base = 0, offset = 0, start = 0, stop = 50737860266, time = 0, position = 0, 
    duration = 18446744073709551615, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, output_segment = {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}}, priv = 0xc1fb30, padding = {0x0 <repeats 20 times>}}
(gdb)
Comment 1 Tim-Philipp Müller 2013-04-21 10:50:32 UTC
Still happens, but takes a bit to reproduce.
Comment 2 Sebastian Dröge (slomo) 2014-01-10 08:27:23 UTC
This is most probably a duplicate of bug #721666, which has a patch.

*** This bug has been marked as a duplicate of bug 721666 ***