Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Jan 2012 19:01:09 +0200
From:      Alexander Motin <mav@FreeBSD.org>
To:        Dominic Fandrey <kamikaze@bsdforen.de>
Cc:        freebsd-multimedia@FreeBSD.org, FreeBSD current <freebsd-current@freebsd.org>
Subject:   Re: [RFT] Major snd_hda rewrite
Message-ID:  <4F1AEF55.6030207@FreeBSD.org>
In-Reply-To: <4F1AEC49.3060505@FreeBSD.org>
References:  <4F0DE3FD.2020203@FreeBSD.org> <4F1AE6CC.5010003@bsdforen.de> <4F1AEC49.3060505@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 01/21/12 18:48, Alexander Motin wrote:
> On 01/21/12 18:24, Dominic Fandrey wrote:
>> On 11/01/2012 20:33, Alexander Motin wrote:
>>> I would like request for testing of my work on further HDA sound
>>> driver improvement.
>>> ...
>>>
>>> Comments and tests results are welcome!
>>
>> I've been testing the first version of your patch on an HP 6510b, since
>> the 12th of January.
>>
>> hdac0@pci0:0:27:0: class=0x040300 card=0x30c0103c chip=0x284b8086
>> rev=0x03 hdr=0x00
>> vendor = 'Intel Corporation'
>> device = '82801H (ICH8 Family) HD Audio Controller'
>> class = multimedia
>> subclass = HDA
>>
>>> mixer
>> Mixer vol is currently set to 80:80
>> Mixer bass is currently set to 75:75
>> Mixer treble is currently set to 40:40
>> Mixer pcm is currently set to 100:100
>> Mixer speaker is currently set to 0:0
>> Mixer line is currently set to 0:0
>> Mixer mic is currently set to 0:0
>> Mixer rec is currently set to 50:50
>> Mixer igain is currently set to 0:0
>> Mixer ogain is currently set to 0:0
>> Mixer monitor is currently set to 0:0
>> Recording source: monitor
>>
>> So far I haven't encountered any regressions. There are however some
>> small
>> issues that also are present with the old driver.
>>
>> I have the following selection of recording devices:
>> Mixer line is currently set to 0:0
>> Mixer mic is currently set to 0:0
>> Mixer monitor is currently set to 0:0
>>
>> To record from the microphone, I have to use the monitor device:
>> Recording source: monitor
>
> monitor is a name used for the second (or built-in) microphone. List of
> names in OSS is quite limited, so I had to choose one and that fit best.
>
>> Physically neither the notebook nor the docking station have a line
>> in socket. Of course such a thing might simply be on board and NC.
>
> It is question to vendor, why it haven't disabled it in codec
> configuration if it is not implemented in hardware. If you like, you can
> do it with device hints.
>
>> Setting a volume for line, mic or monitor has no effect. To hear the
>> microphone on my speakers/headphones I have to use igain instead.
>
> Difficult to say something without knowing model of codec or having
> verbose dmesg output. Depending on codec model, line, mic and monitor
> input may have or not have much controls. There may be just mutters, or
> may be just their volume in input monitoring.
>
>> Igain sets the microphone volume independent of the recording source.
>
> As written in man page, igain controls "input-to-output monitoring
> loopback level". It is not used for pre-amplification as you may think,
> because there usually more then one input that needs that control.
>
>> There's also ogain, which doesn't seem to do anything either.
>
> ogain is used to control EAPD signal, that on some laptops used to
> control external power amplifier. It is impossible for driver to find
> whether this signal is used, so it is exposed always when present.
>
>> What I expect is that the recording source for the microphone was
>> mic and that the monitor recording source could be used to record
>> the cumulative output of all channels.
>
> About mic, it is only question of terminology. What's about mixed
> recording, depending on codec it may be possible in two ways: either by
> recording from special device called mix, or by choosing several
> recording sources with `mixer =rec mic ; mixer +rec monitor; mixer +rec
> line`.

Or it may be just technically impossible.

If "record the cumulative output of all channels" means you want to 
record from playback, then on most codecs it is technically impossible. 
I've seen only one or two allowing it and it is not supported now.

> Just now I am working on complete rewrite of the volumes control in the
> driver. Terminology will remain the same, but number of present controls
> and their functionality/quality should improve.

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F1AEF55.6030207>