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 647854 - [schrodec] Allocates buffers with NULL caps from downstream
[schrodec] Allocates buffers with NULL caps from downstream
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal critical
: 0.10.22
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-04-15 10:26 UTC by Sebastian Dröge (slomo)
Modified: 2011-04-25 02:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
0001-basevideo-Check-if-caps-are-set-directly.patch (2.10 KB, text/patch)
2011-04-24 22:08 UTC, David Schleef
Details

Description Sebastian Dröge (slomo) 2011-04-15 10:26:31 UTC
Just try to play a file with totem, this assertion will hit:


GStreamer-CRITICAL **: gst_caps_intersect_full: assertion `GST_IS_CAPS (caps2)' failed
aborting...

Program received signal SIGABRT, Aborted.

Thread 140737099319040 (LWP 21531)

  • #0 raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 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_caps_intersect_full
    at gstcaps.c line 1563
  • #5 gst_xvimagesink_buffer_alloc
    at xvimagesink.c line 2532
  • #6 gst_base_sink_pad_buffer_alloc
    at gstbasesink.c line 661
  • #7 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #8 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #9 gst_proxy_pad_do_bufferalloc
  • #10 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #11 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #12 gst_proxy_pad_do_bufferalloc
    at gstghostpad.c line 158
  • #13 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #14 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #15 gst_base_transform_buffer_alloc
    at gstbasetransform.c line 1921
  • #16 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #17 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #18 gst_base_transform_buffer_alloc
    at gstbasetransform.c line 1921
  • #19 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #20 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #21 gst_queue_bufferalloc
    at gstqueue.c line 557
  • #22 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #23 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #24 gst_proxy_pad_do_bufferalloc
    at gstghostpad.c line 158
  • #25 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #26 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #27 gst_stream_synchronizer_sink_bufferalloc
    at gststreamsynchronizer.c line 563
  • #28 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #29 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #30 gst_proxy_pad_do_bufferalloc
    at gstghostpad.c line 158
  • #31 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #32 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #33 gst_selector_pad_bufferalloc
    at gstinputselector.c line 583
  • #34 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #35 gst_pad_alloc_buffer_full
  • #36 gst_proxy_pad_do_bufferalloc
    at gstghostpad.c line 158
  • #37 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #38 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #39 gst_proxy_pad_do_bufferalloc
    at gstghostpad.c line 158
  • #40 gst_pad_buffer_alloc_unchecked
    at gstpad.c line 2999
  • #41 gst_pad_alloc_buffer_full
    at gstpad.c line 3076
  • #42 gst_base_video_decoder_alloc_src_buffer
    at gstbasevideodecoder.c line 1474
  • #43 gst_schro_dec_process
    at gstschrodec.c line 580
  • #44 gst_base_video_decoder_have_frame_2
    at gstbasevideodecoder.c line 1357
  • #45 gst_schro_dec_parse_data
    at gstschrodec.c line 528
  • #46 gst_base_video_decoder_chain
    at gstbasevideodecoder.c line 890
  • #47 gst_pad_push
    at gstpad.c line 4684
  • #48 gst_single_queue_push_one
    at gstmultiqueue.c line 980
  • #49 gst_multi_queue_loop
    at gstmultiqueue.c line 1178
  • #50 gst_task_func
    at gsttask.c line 318
  • #51 g_thread_pool_thread_proxy
    at /tmp/buildd/glib2.0-2.28.6/./glib/gthreadpool.c line 319
  • #52 g_thread_create_proxy
    at /tmp/buildd/glib2.0-2.28.6/./glib/gthread.c line 1897
  • #53 start_thread
    at pthread_create.c line 300
  • #54 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 112
  • #55 ??

Comment 1 Sebastian Dröge (slomo) 2011-04-15 10:29:36 UTC
This does not happen with vp8enc and the pad caps in basevideodecoder are NULL at that point.
Comment 2 David Schleef 2011-04-24 22:08:41 UTC
Created attachment 186563 [details]
0001-basevideo-Check-if-caps-are-set-directly.patch

basevideo: Check if caps are set directly