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 667549 - [0.11] [h264] Calls gst_video_frame_map_id() on non-writable buffer but wants to write during flushing seek
[0.11] [h264] Calls gst_video_frame_map_id() on non-writable buffer but wants...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-libav
0.11.x
Other Linux
: Normal blocker
: 0.11.x
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-01-09 13:45 UTC by Sebastian Dröge (slomo)
Modified: 2012-03-07 14:30 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2012-01-09 13:45:50 UTC
Happens during scrub flush-seeking in this file after some time: http://samples.mplayerhq.hu/V-codecs/h264/cathedral-beta2-400extra-crop-avc.mp4


** CRITICAL **: gst_video_meta_map: assertion `!write || gst_buffer_is_writable (buffer)' failed
aborting...


  • #0 *__GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 *__GI_abort
    at abort.c line 92
  • #2 g_logv
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmessages.c line 557
  • #3 g_log
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmessages.c line 577
  • #4 gst_video_meta_map
    at gstvideometa.c line 220
  • #5 gst_video_frame_map_id
    at video.c line 1029
  • #6 gst_ffmpegdec_get_buffer
    at gstffmpegdec.c line 923
  • #7 submit_packet
    at libavcodec/pthread.c line 484
  • #8 ff_thread_decode_frame
    at libavcodec/pthread.c line 512
  • #9 avcodec_decode_video2
  • #10 gst_ffmpegdec_video_frame
    at gstffmpegdec.c line 1828
  • #11 gst_ffmpegdec_frame
    at gstffmpegdec.c line 2352
  • #12 gst_ffmpegdec_chain
    at gstffmpegdec.c line 2808
  • #13 gst_pad_chain_data_unchecked
    at gstpad.c line 3306
  • #14 gst_pad_push_data
    at gstpad.c line 3509
  • #15 gst_base_transform_chain
    at gstbasetransform.c line 2051
  • #16 gst_pad_chain_data_unchecked
    at gstpad.c line 3306
  • #17 gst_pad_push_data
    at gstpad.c line 3509
  • #18 gst_base_parse_push_frame
    at gstbaseparse.c line 2064
  • #19 gst_base_parse_handle_and_push_frame
    at gstbaseparse.c line 1857
  • #20 gst_base_parse_chain
    at gstbaseparse.c line 2576
  • #21 gst_h264_parse_chain
    at gsth264parse.c line 1821
  • #22 gst_pad_chain_data_unchecked
    at gstpad.c line 3306
  • #23 gst_pad_push_data
    at gstpad.c line 3509
  • #24 gst_single_queue_push_one
    at gstmultiqueue.c line 1056
  • #25 gst_multi_queue_loop
    at gstmultiqueue.c line 1287
  • #26 gst_task_func
    at gsttask.c line 322
  • #27 g_thread_pool_thread_proxy
    at /tmp/buildd/glib2.0-2.28.6/./glib/gthreadpool.c line 319
  • #28 g_thread_create_proxy
    at /tmp/buildd/glib2.0-2.28.6/./glib/gthread.c line 1897
  • #29 start_thread
    at pthread_create.c line 304
  • #30 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
Comment 1 Wim Taymans 2012-02-20 16:02:11 UTC
does not seem to happen for me..
Comment 2 Wim Taymans 2012-02-22 15:36:11 UTC
I managed to reproduce it, it is caused by the multithreading version of ffmpeg. somehow ffmpeg calls _release on a buffer but then gives us more references to it. Disabling multithreaded decoding seems to fix it.
Comment 3 Wim Taymans 2012-03-07 14:30:41 UTC
disabled multithreading