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 790823 - pulsesrc: Fallback should be disallowed when device explicitly specified
pulsesrc: Fallback should be disallowed when device explicitly specified
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.12.3
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-11-25 15:30 UTC by Michaël Cadilhac
Modified: 2018-11-03 15:24 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Michaël Cadilhac 2017-11-25 15:30:32 UTC
I use pulsesrc to route my phone's sound output, connected via Bluetooth to my server, to the audio output of my server.  When the phone stops emitting and the pulse device disappears, pulsesrc falls back to the main monitor, creating a feed loop and chaos if anything is played.

Here is a use case, where the Bluetooth device exists, then disappears, then reappears:

$ gst-launch-1.0 -vvvv pulsesrc device=bluez_source.44_78_3E_81_32_11.a2dp_source ! pulsesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstPulseSrcClock
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: source-output-index = 340
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: actual-buffer-time = 270566
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: actual-latency-time = 135283
Redistribute latency...
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
Redistribute latency...
/GstPipeline:pipeline0/GstPulseSink:pulsesink0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: volume = 1
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: mute = false
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: current-device = bluez_source.44_78_3E_81_32_11.a2dp_source
/GstPipeline:pipeline0/GstPulseSink:pulsesink0: volume = 1.5831909025186803
/GstPipeline:pipeline0/GstPulseSink:pulsesink0: mute = false
/GstPipeline:pipeline0/GstPulseSink:pulsesink0: current-device = alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-71
/GstPipeline:pipeline0/GstPulseSink:pulsesink0: volume = 1.5831909025186803
/GstPipeline:pipeline0/GstPulseSink:pulsesink0: mute = false
/GstPipeline:pipeline0/GstPulseSink:pulsesink0: current-device = alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-71
------------ SOUND IS STOPPED, DEVICE DISAPPEARS 
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: volume = 1
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: mute = false
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: current-device = alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-71.monitor
------------- SOUND IS RESUMED, DEVICE IS RECREATED
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: volume = 1
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: mute = false
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: current-device = bluez_source.44_78_3E_81_32_11.a2dp_source

I don't believe it is an expected behavior that pulsesrc falls back to any other device when the device is explicitly set.

Cheers;
M.
Comment 1 GStreamer system administrator 2018-11-03 15:24:06 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/418.