Feature request: Tab title in PulseAudio stream name
Reported by
bach.flo...@gmail.com,
Sep 23 2017
|
||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/60.0.3112.113 Chrome/60.0.3112.113 Safari/537.36 Example URL: Any web page playing audio Steps to reproduce the problem: 1. Play audio / video with audio in Chromium 2. Open "pavumixer" or another PulseAudio managing software 3. Look at the playback stream title What is the expected behavior? The playback stream name should include the webpage / tab title What went wrong? The playback stream is named "Playback" Did this work before? No Is it a problem with Flash or HTML5? Both Does this work in other browsers? N/A Chrome version: 60.0.3112.113 Channel: n/a OS Version: Ubuntu 17.04 Flash Version: Shockwave Flash 26.0 r0 Contents of chrome://gpu: Graphics Feature Status Canvas: Software only, hardware acceleration unavailable CheckerImaging: Disabled Flash: Software only, hardware acceleration unavailable Flash Stage3D: Software only, hardware acceleration unavailable Flash Stage3D Baseline profile: Software only, hardware acceleration unavailable Compositing: Software only, hardware acceleration unavailable Multiple Raster Threads: Enabled Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Rasterization: Software only, hardware acceleration unavailable Video Decode: Software only, hardware acceleration unavailable Video Encode: Software only, hardware acceleration unavailable WebGL: Hardware accelerated but at reduced performance WebGL2: Unavailable Driver Bug Workarounds clear_uniforms_before_first_program_use disable_framebuffer_cmaa scalarize_vec_and_mat_constructor_args Problems Detected Accelerated video decode is unavailable on Linux: 137247 Disabled Features: accelerated_video_decode Accelerated video encode is unavailable on Linux Disabled Features: accelerated_video_encode Clear uniforms before first program use on all platforms: 124764, 349137 Applied Workarounds: clear_uniforms_before_first_program_use Always rewrite vec/mat constructors to be consistent: 398694 Applied Workarounds: scalarize_vec_and_mat_constructor_args Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198 Applied Workarounds: disable_framebuffer_cmaa Disable KHR_blend_equation_advanced until cc shaders are updated: 661715 Native GpuMemoryBuffers have been disabled, either via about:flags or command line. Disabled Features: native_gpu_memory_buffers Checker-imaging has been disabled via finch trial or the command line. Disabled Features: checker_imaging Version Information Data exported 23/09/2017, 12:40:51 Chrome version Chrome/60.0.3112.113 Operating system Linux 4.10.0-33-generic Software rendering list version 13.9 Driver bug list version 10.94 ANGLE commit id unknown hash 2D graphics backend Skia/60 d1f2d15b36f6a6a9d199581b998a7ca924a1f1a8- Command Line /usr/lib/chromium-browser/chromium-browser --ppapi-flash-path=/usr/lib/adobe-flashplugin/libpepflashplayer.so --ppapi-flash-version=26.0.0.151 --enable-pinch --flag-switches-begin --flag-switches-end Driver Information Initialization time 0 In-process GPU true Passthrough Command Decoder false Supports overlays false Sandboxed false GPU0 VENDOR = 0x10de, DEVICE= 0x11c2 GPU1 VENDOR = 0x8086, DEVICE= 0x0412 Optimus true Optimus true AMD switchable false Driver vendor Google Inc. Driver version 3.3.0.2 Driver date 2017/04/07 Pixel shader version 3.0 Vertex shader version 3.0 Max. MSAA samples 4 Machine model name Machine model version GL_VENDOR Google Inc. GL_RENDERER Google SwiftShader GL_VERSION OpenGL ES 2.0 SwiftShader GL_EXTENSIONS Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent Window system binding vendor Window system binding version Window system binding extensions Window manager Compiz XDG_CURRENT_DESKTOP Unity:Unity7 GDMSESSION ubuntu Compositing manager Yes Direct rendering Yes Reset notification strategy 0x0000 GPU process crash count 0 System visual ID 0 RGBA visual ID 0 Compositor Information Tile Update Mode One-copy Partial Raster Enabled GpuMemoryBuffers Status ATC Software only ATCIA Software only DXT1 Software only DXT5 Software only ETC1 Software only R_8 Software only RG_88 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 Software only RGBA_8888 Software only BGRX_8888 Software only BGRA_8888 Software only RGBA_F16 Software only YVU_420 Software only YUV_420_BIPLANAR Software only UYVY_422 Software only Adding the webpage title to the stream name instead of a generic "Playback" helps you identify a single audio source to change its volume or output device if you have multiple chromium tabs / windows playing audio.
,
Sep 25 2017
We have this information in chrome://media-internals for controllers, but the way it gets there is very far away from when Pulse sets up the stream. It also requires a hop to the UI thread to get and Pulse requires this to setup the stream, so it would slow down audio stream setup. There may be some other way I haven't thought of, so marking as available and plus some people, but I don't think this is going to be worth doing.
,
Sep 25 2017
,
Sep 25 2017
What about starting the stream with the standard title, and then, in background, get the actual title and change it? As far as I know, Pulseaudio allows you to change the stream title without interrupting playback.
,
Sep 25 2017
Ah, good point, there does seem to be a way to change the name pa_stream_set_name(): https://freedesktop.org/software/pulseaudio/doxygen/stream_8h.html#aac0f980de4097a4a815bcf143df68338 So we could rename it afterwards; that resolve any performance issues, the rest is a matter of plumbing then. Probably this has some linkage with the audio process work Olka and Max are working on (no UI thread or tab titles there), so I'll leave prioritization to them.
,
Sep 25 2017
Could you justify the need for this, except it would look nice? I'd say it's P3. With our work to move audio interfaces to mojo it will require changes there as well. So it does not worth doing it now, because it'll add extra burden to modification.
,
Sep 25 2017
,
Apr 7 2018
I would like use jack directly and create a unique sink/source for each tab, but since we only have pulse to work with, I would settle for scripting something with module-jack-[sink|source]. The problem is I don't see any way to associate a tab with a pulse stream. https://freedesktop.org/software/pulseaudio/doxygen/proplist_8h.html Setting the 'media.title' property of the stream would be a good start, though I would like to have access to the tab's ID to be sure.
,
May 30 2018
,
May 30 2018
> Could you justify the need for this, except it would look nice? PA "remembers" routing and volume info, etc., by stream title IIUC. So rather than having to keep flip-flopping where "Chrome"'s audio is being routed (i.e. headset sound card vs. speakers sound card) as I switch from a Skype call to a YouTube video and back and forth (i.e. every time I switch from one to the other), if the PA stream is given the tab name, it will automatically set the routing for me every subsequent time I use that web-app/page. So from a usability perspective, it's a "set once and forget about it" type of task instead of having to set it every single time one uses a webapp/page.
,
May 30 2018
Per previous comments here and in the recently merged issue 847589 , setting up the stream initially with a placeholder (i.e. "Chrome" as it is currently) value and then changing it once the tab name is known I think is perfectly fine. I suspect it will get changed to the new name more quickly than one can find it to adjust it's properties in pavucontrol anyway. |
||||
►
Sign in to add a comment |
||||
Comment 1 by nyerramilli@chromium.org
, Sep 25 2017Labels: -Type-Bug Needs-Milestone Type-Feature
Status: Untriaged (was: Unconfirmed)