GNOME Bugzilla – Bug 308045
alsasink fails to play ("failed to negotiate" error), audioconvert/audioscale IS USED
Last modified: 2006-05-17 13:36:31 UTC
Please describe the problem: Simple, $ gst-launch-0.8 filesrc location=file.mp3 ! decodebin ! audioconvert ! audioscale ! alsassink RUNNING pipeline ... ERROR: from element /pipeline0/decodebin0/mad0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2563): gst_pad_set_explicit_caps: /pipeline0/decodebin0/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/decodebin0/mad0: Internal GStreamer error: negotiation problem. File a bug. Additional debug info: gstmad.c(1199): gst_mad_check_caps_reset: /pipeline0/decodebin0/mad0: Failed to negotiate 44100 Hz, 2 channels Execution ended after 47 iterations (sum 135092000 ns, average 2874297 ns, min 9000 ns, max 104147000 ns). (process:21540): GStreamer-CRITICAL **: gst_bin_remove_func: assertion `GST_ELEMENT_PARENT (element) == (GstObject *) bin' failed Steps to reproduce: 1. run the above command Actual results: Gives the above error. Expected results: Play the song! (works with osssink for example, through it's alsa emulation of course) Does this happen every time? Yes (unfortunetely) Other information: kernel 2.6.11 (with it's alsa drivers), via82xx driver x86_64 architecture, gcc 3.4.3 alsa-lib 1.0.8 mobo ASUS A8V deluxe
Could you re-try with gst-plugins 0.8.9? We fixed some issues in the alsa plugin.
Quick question, do I need to upgrade gstreamer too to 0.8.9 ? or just gst-plugins-alsa ? (I have the alsa plugin as a separate package) Thanks!
Anyway, upgraded gstreamer to 0.8.10, gst-plugins to 0.8.9 and seems to do the same problem: $ gst-launch-0.8 filesrc location=file.mp3 ! decodebin ! audioconvert ! audioscale ! alsasink RUNNING pipeline ... ERROR: from element /pipeline0/alsasink0: Could not get/set settings from/on resource. ERROR: from element /pipeline0/decodebin0/mad0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2562): gst_pad_set_explicit_caps: /pipeline0/decodebin0/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/decodebin0/mad0: Internal GStreamer error: negotiation problem. File a bug. Additional debug info: gstmad.c(1201): gst_mad_check_caps_reset: /pipeline0/decodebin0/mad0: Failed to negotiate 44100 Hz, 2 channels Execution ended after 46 iterations (sum 131410000 ns, average 2856739 ns, min 9000 ns, max 116675000 ns).
Please attach a --gst-debug=alsa*:5 --gst-debug-no-color log.
Created attachment 47899 [details] debug log Seems to be a problem with this debug output: WARN (0x50bfb0 - 310835:41:21.065597000) alsa( 9405) 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/decodebin0/mad0: Internal GStreamer error: pad problem. File a bug. Note that because it was doing the same thing with 0.8.9 I have downgraded to 0.8.8 (the latest "stable" marked on my distro, If you think I MUST use 0.8.9 to get this debug log please say, thanks).
I changed that code, so yes, please use 0.8.9.
Created attachment 47910 [details] gst-plugins-alsa 0.8.9 log The command used was the same so no need to include it anywhere. You are right tho, the error seems to be different. WARN (0x50bfb0 - 310839:34:13.697799000) alsa( 4407) gstalsa.c(1790):gst_alsa_set_hw_params:<alsasink0> error setting period size to 8192 frames: Invalid argument ERROR: from element /pipeline0/alsasink0: Could not get/set settings from/on resource. ERROR: from element /pipeline0/decodebin0/mad0: Internal GStreamer error: pad problem. File a bug.
Ok, so any update on this ?
For now, use alsasink device=hw:0 in gstreamer-properties as audiosink (select 'Custom' in the dropdown menu). I will look closer at alsalib to fix this, but cannot guarantee that I will do that this week or anything.
I believe this problem has been fixed in recent 0.8 releases (0.8.13, maybe even already in 0.8.12). Closing bug as OBSOLETE in any case as no one works on 0.8 any longer. Please file a new bug if you still have problems with alsasink in GStreamer-0.10.