> I forced support for pulse1.0 it by hand in config.h and found the > same problem with the headset. Trying to figure out the differences > with my initial patches. there must be a step missing. ok, found a solution, see diff attached. For some reason the setup_ad2p() did both the SBC and MPEG configuration. Adding a test for the mode solves the issue, probably there was a buffer overflow or something bad. playing with SBC and MPEG works fine now, meaning that the negotiation works well depending on the payload. but when I try to go back to PCM/SBC the second time I get the following assert in pulseaudio (see gst log below) E: module-bluetooth-device.c: Assertion 'u->write_memchunk.length == u->block_size' failed at modules/bluetooth/module-bluetooth-device.c:1519, function a2dp_process_render(). Aborting. I'll let you debug this one, should be easier :-) Other things I noticed: the volume is much higher in passthrough mode, maybe we need to find a way to set the volume on the headset to match the volume used for PCM. Also I heard some high-frequency modulations, typically coding noise, maybe there's still something fishy during the mp3 decode part. -Pierre [gst-plugins-good]$ gst-launch --gst-debug=pulsesink:5 filesrc location=~/AURAL/Audio/theTest-320.mp3 ! flump3dec ! pulsesink device=bluez_sink.00_0B_E4_94_31_9D Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock Got EOS from element "pipeline0". Execution ended after 9540609373 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ... [gst-plugins-good]$ gst-launch --gst-debug=pulsesink:5 filesrc location=~/AURAL/Audio/theTest-320.mp3 ! mp3parse ! pulsesink device=bluez_sink.00_0B_E4_94_31_9D Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock Got EOS from element "pipeline0". Execution ended after 9551288915 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ... [gst-plugins-good]$ gst-launch --gst-debug=pulsesink:5 filesrc location=~/AURAL/Audio/theTest-320.mp3 ! flump3dec ! pulsesink device=bluez_sink.00_0B_E4_94_31_9D Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /GstPipeline:pipeline0/GstPulseSink:pulsesink0: Failed to connect stream: Connection terminated Additional debug info: pulsesink.c(1005): gst_pulseringbuffer_acquire (): /GstPipeline:pipeline0/GstPulseSink:pulsesink0 ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... -------------- next part -------------- A non-text attachment was scrubbed... Name: diff-arun.patch Type: application/octet-stream Size: 8175 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20110314/e6cba18a/attachment.obj>