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 667578 - [0.11] playsink: Visualizations don't work anymore, negotiation problem
[0.11] playsink: Visualizations don't work anymore, negotiation problem
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.11.x
Other Linux
: Normal blocker
: 0.11.x
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-01-09 15:54 UTC by Sebastian Dröge (slomo)
Modified: 2012-02-20 14:22 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2012-01-09 15:54:32 UTC
Happens with all visualizers that are ported.

For example:
[...]
message from "player" (element): playbin-stream-changed, uri=(string)file:///home/slomo/Projects/gstreamer/head-0.11/samples/8_Channel_ID.wav;
message from "player" (element): playbin-stream-changed, uri=(string)file:///home/slomo/Projects/gstreamer/head-0.11/samples/8_Channel_ID.wav;
0:00:11.995659778 11514 0x7fffe00043a0 ERROR                default video.c:903:gst_video_info_from_caps: wrong name 'audio/x-raw', expected video/x-raw
message from "v_sink-actual-sink-xvimage" (tag): taglist, audio-codec=(string)"Uncompressed\ 24-bit\ PCM\ audio";
message from "a_sink-actual-sink-pulse" (tag): taglist, audio-codec=(string)"Uncompressed\ 24-bit\ PCM\ audio";
message from "wavparse0" (error): GstMessageError, gerror=(GError)NULL, debug=(string)"gstwavparse.c\(2063\):\ gst_wavparse_loop\ \(\):\ /GstPlayBin:player/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstWavParse:wavparse0:\012streaming\ task\ paused\,\ reason\ not-negotiated\ \(-4\)";


The audio/x-raw caps arrive at xvimagesink.
Comment 1 Sebastian Dröge (slomo) 2012-01-09 15:55:26 UTC
Breakpoint 1, gst_video_info_from_caps (info=0x7fffde4f7480, caps=0x66f050)
    at video.c:904
904	    return FALSE;
(gdb) bt
  • #0 gst_video_info_from_caps
    at video.c line 904
  • #1 gst_xvimagesink_propose_allocation
    at xvimagesink.c line 1984
  • #2 gst_base_sink_default_query
    at gstbasesink.c line 4535
  • #3 gst_pad_query
    at gstpad.c line 3124
  • #4 gst_proxy_pad_query_default
    at gstghostpad.c line 223
  • #5 gst_pad_query
    at gstpad.c line 3124
  • #6 gst_proxy_pad_query_default
    at gstghostpad.c line 223
  • #7 gst_pad_query
    at gstpad.c line 3124
  • #8 gst_pad_peer_query
    at gstpad.c line 3212
  • #9 gst_base_transform_default_query
    at gstbasetransform.c line 1325
  • #10 gst_pad_query
    at gstpad.c line 3124
  • #11 gst_pad_peer_query
    at gstpad.c line 3212
  • #12 gst_pad_forward
    at gstpad.c line 2506
  • #13 gst_pad_query_default
    at gstpad.c line 2780
  • #14 gst_pad_query_default
    at gstpad.c line 2751
  • #15 gst_play_sink_convert_bin_query
    at gstplaysinkconvertbin.c line 469
  • #16 gst_pad_query
    at gstpad.c line 3124
  • #17 gst_pad_peer_query
    at gstpad.c line 3212
  • #18 gst_pad_forward
    at gstpad.c line 2506
  • #19 gst_pad_query_default
    at gstpad.c line 2780
  • #20 gst_pad_query_default
    at gstpad.c line 2751
  • #21 gst_pad_query
    at gstpad.c line 3124
  • #22 gst_proxy_pad_query_default
    at gstghostpad.c line 223
  • #23 gst_pad_query
    at gstpad.c line 3124
  • #24 gst_pad_peer_query
    at gstpad.c line 3212
  • #25 gst_stream_synchronizer_query
    at gststreamsynchronizer.c line 153
  • #26 gst_pad_query
    at gstpad.c line 3124
  • #27 gst_proxy_pad_query_default
    at gstghostpad.c line 223
  • #28 gst_pad_query
    at gstpad.c line 3124
  • #29 gst_pad_peer_query
    at gstpad.c line 3212
  • #30 gst_pad_forward
    at gstpad.c line 2506
  • #31 gst_pad_query_default
  • #32 gst_pad_query_default
    at gstpad.c line 2751
  • #33 gst_pad_query
    at gstpad.c line 3124
  • #34 gst_pad_peer_query
    at gstpad.c line 3212
  • #35 gst_base_transform_default_query
    at gstbasetransform.c line 1325
  • #36 gst_pad_query
    at gstpad.c line 3124
  • #37 gst_pad_peer_query
    at gstpad.c line 3212
  • #38 gst_base_transform_do_bufferpool
    at gstbasetransform.c line 831
  • #39 gst_base_transform_setcaps
    at gstbasetransform.c line 1261
  • #40 gst_base_transform_sink_eventfunc
    at gstbasetransform.c line 1629
  • #41 gst_pad_send_event_unchecked
    at gstpad.c line 4329
  • #42 gst_pad_push_event_unchecked
  • #43 gst_pad_push_event
    at gstpad.c line 4175
  • #44 gst_queue_push_one
    at gstqueue.c line 1111
  • #45 gst_queue_loop
    at gstqueue.c line 1170
  • #46 gst_task_func
    at gsttask.c line 322
  • #47 g_thread_pool_thread_proxy
    at /tmp/buildd/glib2.0-2.28.6/./glib/gthreadpool.c line 319
  • #48 g_thread_create_proxy
    at /tmp/buildd/glib2.0-2.28.6/./glib/gthread.c line 1897
  • #49 start_thread
    at pthread_create.c line 304
  • #50 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 112
  • #51 ??

Comment 2 Tim-Philipp Müller 2012-02-18 15:21:55 UTC
In the GstPlaySinkVideoConvert bin, both the videoconvert and the videoscale are bypassed and unused, instead an identity element is linked. Since we're feeding into xvimagesink by default, we get a not-negotiated.

gst-launch-0.11 playbin uri=file:///path/to/foo.flac flags="soft-volume+text+audio+video+vis" video-sink=ximagesink

works just fine, however.
Comment 3 Wim Taymans 2012-02-20 14:22:26 UTC
this fixes it for me:

commit 4370d42cb9928d894904cbf769f2e33c30b4b0ee
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Mon Feb 20 15:17:29 2012 +0100

    playback: find raw caps correctly