<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Hui and I have been working on some LFE filter patches lately, and this<br>
is our first draft for review/feedback.<br>
<br>
First, I have greedily stolen the math from CRAS, because CRAS is BSD<br>
and<br>
as I understand we don't have a problem with merging more liberal<br>
licenses.<br>
<br>
The LFE filter is implemented in the resampler, which means it is done<br>
for<br>
every sink-input rather than every sink - this might mean some<br>
additional<br>
CPU processing if many different streams play back at the same time, but<br>
putting it on the sink side would disable the possibility to mix a 2.0<br>
stream<br>
with a 2.1 stream.<br>
<br>
The rewind part is very drafty and untested, and I'm not sure I choose<br>
the<br>
best design here. But at least this is something that could act as<br>
base for<br>
discussion.<br>
</blockquote>
<br>
Sorry for a possibly-stupid question, but...<br>
<br>
Which part of PulseAudio is supposed to disable the effect if the user<br>
plugs headphones in? Or is it yet to be written?<br>
</blockquote>
<br>
Hrm, that is actually a good question. In theory, I would expect<br>
module-switch-on-port-<u></u>available to switch profiles between 2.0 and 2.1<br>
as headphones are plugged in and out, but in practice,<br>
<br>
  - I'm not 100% sure if our "don't switch to HDMI" might prevent<br>
switching from 2.1 to 2.0 when headphones are plugged in, and<br>
<br>
  - As the 2.0 profile is available on speakers, that will continue to<br>
be selected when headphones are unplugged.<br>
<br>
So, while this is not directly related to whether there is an LFE filter<br>
or not - we already have a 2.1, 5.1, etc, profiles - indeed the problem<br>
might become worse with the LFE filter.<br>
</blockquote>
<br></div></div>
Having given this a second thought, I'm thinking maybe an improvement of the priority-list based routing would be the best option. (Which I'm not working on as often as I perhaps should...).<br>
<br>
I e, the port-based priority list routing should also remember what profile a particular port was on.<br>
<br>
E g, first time boot you will start up on stereo + speaker (because stereo has higher prio than 2.1).<br>
The user then switches manually to 2.1 which makes the routing module remember "2.1 profile for speaker port".<br>
<br>
Then the user plugs headphones in. That causes a switch to stereo, because the headphones port is not supported on 2.1.<br>
After unplug again, the routing module will switch port to speaker (the highest priority port that is available) and profile to 2.1 (because it remembered that).<div><div><br></div></div></blockquote><br></div>For notebook with internal subwoofer, user would expected pulseaudio remember the selection of 2.0 profile and 2.1 profile after reboot instead of select the profile everytime when pulseaudio restart<br><br></div><div class="gmail_extra">For notebook using internal speaker and external subwoofer, the selection of 2.1 profile depend on whether the external subwoofer is plugged or not<br><br>> Currently, it doesn't allow using headphones at all on that PC if a 
non-stereo profile is initially selected, so the question is pointless. 
It currently can't switch from the stereo profile to 5.1, because it 
never switched from 5.1 to stereo. As a user, I would indeed expect it 
to switch to the stereo profile when I plug headphones, and switch to 
what I selected before (e.g. to 5.1) when I unplug headphones.<br><br></div><div class="gmail_extra">In theory, the virtual master still control the headphone volume even in 5.1 as the snd-hda-intel driver just copy the front signal to both line out and headphone<br><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div></div>