GNOME Bugzilla – Bug 165964
alsasink device detection issues
Last modified: 2006-01-12 11:24:42 UTC
I downloaded http://www.understated.co.uk/radio/lugradio/season2/episode8/lugradio-s2e8-310105-high.ogg and totem couldn't play it so I tried with gst-launch, copying from the man page except for the sink: jnk@tinuviel:~ $ gst-launch-0.8 filesrc location=lugradio-s2e8-310105-high.ogg ! oggdemux ! vorbisdec ! audioconvert ! alsasink EXECUTION du tube en cours ... ERROR: from element /pipeline0/vorbisdec0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2517): gst_pad_set_explicit_caps: /pipeline0/vorbisdec0: failed to negotiate (try_set_caps with "audio/x-raw-float, rate=(int)22000, channels=(int)1, endianness=(int)1234, width=(int)32, buffer-frames=(int)0" returned REFUSED) Execution ended after 15 iterations (sum 454409000 ns, average 30293933 ns, min 30000 ns, max 375890000 ns). jnk@tinuviel:~ $ Now doing the same without audioconvert works, except that playback doesn't start quite at the beginning of the file (truncated by less than one second) Using audioconvert ! osssink : everything works, file not truncated. With osssink but without audioconvert: silence (WARNING: erroneous pipeline: could not link vorbisdec0 to osssink0 Trying to run anyway. RUNNING pipeline ...)
is your default device in ALSA set to dmix? Does "gst-launch-0.8 filesrc location=lugradio-s2e8-310105-high.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioscale ! alsasink" work?
I don't think I use dmix (don't know what it is, I'm sure I never configured it). Same problem with audioscale: jnk@tinuviel:~ $ env LANG=C gst-launch-0.8 filesrc location=lugradio-s2e8-310105-high.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioscale ! alsasink RUNNING pipeline ... ERROR: from element /pipeline0/vorbisdec0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2517): gst_pad_set_explicit_caps: /pipeline0/vorbisdec0: failed to negotiate (try_set_caps with "audio/x-raw-float, rate=(int)22000, channels=(int)1, endianness=(int)1234, width=(int)32, buffer-frames=(int)0" returned REFUSED) Execution ended after 15 iterations (sum 378892000 ns, average 25259466 ns, min 12000 ns, max 378232000 ns).
I'm seeing this problem on AMD64 using gst-plugins CVS, playing not just OGGs but also MP3s and I'm sure any other audio format through alsasink (osssink works fine). I am using dmix, and I get the following: ~% GST_DEBUG="alsa:5" gst-launch-0.8 --gst-plugin-path=/usr/local/lib/gstreamer-0.8 filesrc location=/home/ari/prince.mp3 ! mad ! audioconvert ! audioscale ! alsasink RUNNING pipeline ... INFO (0x50acb0 - 308059:16:15.183051000) alsa( 8214) gstalsa.c(1581):gst_alsa_open_audio: Opening alsa device "default"... LOG (0x50acb0 - 308059:16:15.276151000) alsa( 8214) gstalsa.c(1121):gst_alsa_get_caps:<alsasink0> get_caps returns audio/x-alaw, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-alaw, rate=(int)[ 8000, 192000 ], channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-alaw, rate=(int)[ 8000, 192000 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; audio/x-alaw, rate=(int)[ 8000, 192000 ], channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT >; audio/x-mulaw, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-mulaw, rate=(int)[ 8000, 192000 ], channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-mulaw, rate=(int)[ 8000, 192000 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; audio/x-mulaw, rate=(int)[ 8000, 192000 ], channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT >; audio/x-raw-float, buffer-frames=(int)[ 0, 2147483647 ], width=(int){ 64, 32 }, endianness=(int)1234, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-float, buffer-frames=(int)[ 0, 2147483647 ], width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 8000, 192000 ], channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-raw-float, buffer-frames=(int)[ 0, 2147483647 ], width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 8000, 192000 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; audio/x-raw-float, buffer-frames=(int)[ 0, 2147483647 ], width=(int){ 32, 64 }, endianness=(int)1234, rate=(int)[ 8000, 192000 ], channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT >; audio/x-raw-int, width=(int)8, depth=(int)8, signed=(boolean){ false, true }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)8, depth=(int)8, signed=(boolean){ true, false }, rate=(int)[ 8000, 192000 ], channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-raw-int, width=(int)8, depth=(int)8, signed=(boolean){ true, false }, rate=(int)[ 8000, 192000 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; audio/x-raw-int, width=(int)8, depth=(int)8, signed=(boolean){ true, false }, rate=(int)[ 8000, 192000 ], channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT >; audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean)true, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean)false, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)32, depth=(int)24, signed=(boolean)true, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)32, depth=(int)24, signed=(boolean)false, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean)true, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean)false, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)24, depth=(int)24, signed=(boolean)true, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)24, depth=(int)24, signed=(boolean)false, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)24, depth=(int)20, signed=(boolean)true, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)24, depth=(int)20, signed=(boolean)false, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)24, depth=(int)18, signed=(boolean)true, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)24, depth=(int)18, signed=(boolean)false, endianness=(int){ 4321, 1234 }, rate=(int)[ 8000, 192000 ], channels=(int){ 1, 2 }; audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT >; audio/x-raw-int, width=(int)32, depth=(int)24, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-raw-int, width=(int)32, depth=(int)24, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; audio/x-raw-int, width=(int)32, depth=(int)24, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT >; audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; audio/x-raw-int, width=(int)32, depth=(int)32, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT >; audio/x-raw-int, width=(int)24, depth=(int)24, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-raw-int, width=(int)24, depth=(int)24, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; audio/x-raw-int, width=(int)24, depth=(int)24, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT >; audio/x-raw-int, width=(int)24, depth=(int)20, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-raw-int, width=(int)24, depth=(int)20, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; audio/x-raw-int, width=(int)24, depth=(int)20, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT >; audio/x-raw-int, width=(int)24, depth=(int)18, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-raw-int, width=(int)24, depth=(int)18, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; audio/x-raw-int, width=(int)24, depth=(int)18, signed=(boolean){ false, true }, endianness=(int){ 1234, 4321 }, rate=(int)[ 8000, 192000 ], channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT > LOG (0x50acb0 - 308059:16:15.522995000) alsa( 8214) gstalsasink.c(416):gst_alsa_sink_loop:<alsasink0> pulled data 0x524990 from pad 0 LOG (0x50acb0 - 308059:16:15.523082000) alsa( 8214) gstalsasink.c(421):gst_alsa_sink_loop:<alsasink0> pulled data 0x524990 is an event, checking LOG (0x50acb0 - 308059:16:15.523100000) alsa( 8214) gstalsasink.c(209):gst_alsa_sink_check_event:<alsasink0> checking event 0x524990 of type 4 on sink pad 0 WARN (0x50acb0 - 308059:16:15.523120000) alsa( 8214) gstalsasink.c(246):gst_alsa_sink_check_event:<alsasink0> couldn't extract time from discont event. Bad things might happen! LOG (0x50acb0 - 308059:16:15.523136000) alsa( 8214) gstalsasink.c(294):gst_alsa_sink_check_event:<alsasink0> unreffing event 0x524990 of type 4 with refcount 1 DEBUG (0x50acb0 - 308059:16:15.564128000) alsa( 8214) gstalsa.c(1267):gst_alsa_link: found format S16_LE INFO (0x50acb0 - 308059:16:15.564170000) alsa( 8214) gstalsa.c(1659):gst_alsa_probe_hw_params: Probing format: S16_LE 44100Hz, 2 channels WARN (0x50acb0 - 308059:16:15.564787000) alsa( 8214) gstalsa.c(1701):gst_alsa_probe_hw_params:<alsasink0> "snd_pcm_hw_params_set_period_size_near (this->handle, hw_params, &period_size, 0)": Invalid argument ERROR: from element /pipeline0/mad0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2563): gst_pad_set_explicit_caps: /pipeline0/mad0: failed to negotiate (try_set_caps with "audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2" returned REFUSED) ERROR: from element /pipeline0/mad0: Internal GStreamer error: negotiation problem. File a bug. Additional debug info: gstmad.c(1199): gst_mad_check_caps_reset: /pipeline0/mad0: Failed to negotiate 44100 Hz, 2 channels LOG (0x50acb0 - 308059:16:15.565348000) alsa( 8214) gstalsasink.c(416):gst_alsa_sink_loop:<alsasink0> pulled data 0x524990 from pad 0 LOG (0x50acb0 - 308059:16:15.565367000) alsa( 8214) gstalsasink.c(421):gst_alsa_sink_loop:<alsasink0> pulled data 0x524990 is an event, checking LOG (0x50acb0 - 308059:16:15.565384000) alsa( 8214) gstalsasink.c(209):gst_alsa_sink_check_event:<alsasink0> checking event 0x524990 of type 14 on sink pad 0 LOG (0x50acb0 - 308059:16:15.565401000) alsa( 8214) gstalsasink.c(294):gst_alsa_sink_check_event:<alsasink0> unreffing event 0x524990 of type 14 with refcount 1 Execution ended after 1 iterations (sum 42674000 ns, average 42674000 ns, min 42674000 ns, max 42674000 ns). DEBUG (0x50acb0 - 308059:16:15.565643000) alsa( 8214) gstalsasink.c(163):gst_alsa_sink_flush_one_pad:<alsasink0> flushing pad 0 DEBUG (0x50acb0 - 308059:16:15.565659000) alsa( 8214) gstalsasink.c(163):gst_alsa_sink_flush_one_pad:<alsasink0> flushing pad 0
Whoops, disregard my last message, it turns out this is a problem with not being able to use the "default" device. Sorry for the spam.
Jeremie, could you please try with "alsasink device=hw:0"?
device=hw:0 does change something in some circumstances. Here's a summary, using the folling versions: libgstreamer0.8-0 : 0.8.9-1ubuntu4 gstreamer0.8-vorbis, gstreamer0.8-oss, gstreamer0.8-alsa : 0.8.8-1ubuntu4 Note: all commands begin with the following, below I'll just give the end of the line: env LANG=C gst-launch-0.8 filesrc location=lugradio-s2e8-310105-high.ogg ! oggdemux ! vorbisdec So here it is: ! alsasink -- Ok but truncated at the beginning ! osssink -- returns: WARNING: erroneous pipeline: could not link vorbisdec0 to osssink0 Trying to run anyway. (no sound but lots of activity) ! audioconvert ! alsasink -- returns: RUNNING pipeline ... ERROR: from element /pipeline0/vorbisdec0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2563): gst_pad_set_explicit_caps: /pipeline0/vorbisdec0: failed to negotiate (try_set_caps with "audio/x-raw-float, rate=(int)22000, channels=(int)1, endianness=(int)1234, width=(int)32, buffer-frames=(int)0" returned REFUSED) Execution ended after 15 iterations (sum 450187000 ns, average 30012466 ns, min 31000 ns, max 436641000 ns). ! audioconvert ! osssink -- perfect ! audioconvert ! audioscale ! alsasink -- returns: RUNNING pipeline ... ERROR: from element /pipeline0/vorbisdec0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2563): gst_pad_set_explicit_caps: /pipeline0/vorbisdec0: failed to negotiate (try_set_caps with "audio/x-raw-float, rate=(int)22000, channels=(int)1, endianness=(int)1234, width=(int)32, buffer-frames=(int)0" returned REFUSED) Execution ended after 15 iterations (sum 303846000 ns, average 20256400 ns, min 31000 ns, max 290037000 ns). ! audioconvert ! alsasink device=hw:0 -- returns: RUNNING pipeline ... ERROR: from element /pipeline0/vorbisdec0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2563): gst_pad_set_explicit_caps: /pipeline0/vorbisdec0: failed to negotiate (try_set_caps with "audio/x-raw-float, rate=(int)22000, channels=(int)1, endianness=(int)1234, width=(int)32, buffer-frames=(int)0" returned REFUSED) Execution ended after 15 iterations (sum 139513000 ns, average 9300866 ns, min 31000 ns, max 128144000 ns). BUT: ! audioconvert ! audioscale ! alsasink device=hw:0 -- perfect!
reopening.. alsasink issue
There has been some fixes to 0.8 alsasink since gst-plugins 0.8.7/0.8.9 do you still have this problem with latest version of gst-plugins?
Yes, I still have this problem with the 0.8.11 version of the plugins (debian pacakges). The two following commands give the same result: gst-launch-0.8 filesrc location=lugradio-s02e21-180705-high.ogg ! oggdemux ! vorbisdec ! alsasink gst-launch-0.8 filesrc location=lugradio-s02e21-180705-high.ogg ! spider ! alsasink EXECUTION du tube en cours ... ERROR: from element /pipeline0/alsasink0: Could not get/set settings from/on resource. ERROR: from element /pipeline0/spider0/vorbisdec0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2562): gst_pad_set_explicit_caps: /pipeline0/spider0/vorbisdec0: failed to negotiate (try_set_caps with "audio/x-raw-float, rate=(int)30000, channels=(int)1, endianness=(int)1234, width=(int)32, buffer-frames=(int)0" returned REFUSED) Execution ended after 15 iterations (sum 205679000 ns, average 13711933 ns, min 25000 ns, max 126970000 ns).
Well suck then. Jeremie, are you on debian SID? Can you try this with GStreamer 0.10? Alsasink in 0.8 is sucking for quite a few people, but we don't have the resources to address the problem there -- but if it doesn't work with 0.10, we can find someone to look at the problem.
If you are on debian sid: Does the problem still exist after installing the most-recent 0.8.11 package updates? (which had changes from GStreamer CVS applied) (Note that you should also put an audioscale element in front of alsasink).
Yes I'm on debian sid, and in short it seems to be working now, with both 0.8 (totem can play the file now) and 0.10. More precisely the following works fine: gst-launch-0.8 filesrc location=lugradio-s02e21-180705-high.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioscale ! alsasink Works with version 0.8.11-2 and 0.8.11-5 of the gstreamer0.8-alsa package. With 0.8.11-2 it also worked without the audioscale element. With 0.8.11-5 audioscale is necessary... gst-launch-0.10 filesrc location=lugradio-s02e21-180705-high.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioresample ! alsasink (also works without audioresample) So... thanks! (BTW 0.10 is impressive: playback starts immediately and cpu usage is like 4 times less!)
Thanks for the fast response and the confirmation. It is expected that audioscale is required for it work in 0.8.11-5, even if it worked without before (applications always need an audioscale in the pipeline anyway, as they can't really make any assumptions about the capabilities of the audio output). Closing as fixed in CVS. Cheers -Tim