[Bug 790823] New: pulsesrc: Fallback should be disallowed when device explicitly specified

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Nov 25 15:30:32 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=790823

            Bug ID: 790823
           Summary: pulsesrc: Fallback should be disallowed when device
                    explicitly specified
    Classification: Platform
           Product: GStreamer
           Version: 1.12.3
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: michael at cadilhac.name
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

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.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list