[mythtv] No per-individual line-level adjust: bug or missing feature?

f-myth-users@media.mit.edu f-myth-users at media.mit.edu
Sun Jan 15 03:45:22 UTC 2006

Should I open a ticket on this [*], or will it be closed as "feature
request without attached patch"?  If I hear nothing (or encouragement),
I'll do the former; if I hear the latter, I'll add it to the wishlist
at the new wiki.

In short, it seems buggy to me that Myth assumes that all capture
cards will agree on their audio level when capturing.  Apparently
Hauppauge cards can differ by at least 9dB across revisions and
models, and it'd be asking a lot to expect differing brands to agree
with each other, too, not to mention analog vs digital capture.

Not only is such a dramatic level difference irritating (and you never
know what it's going to be, since it depends on which tuner Myth picked),
in my case it was preventing me from getting unity gain on my 250's---
to get unity for cable->250->myth->tv vs cable->tv, I had to max out
the capture levels on the 250's and on the relevant ALSA mixers.  But
such a high capture level causes my 350 to clip badly if -it- happened
to get picked as the tuner, so as a workaround, I'm doing a disgusting
whack-a-mole approach of simply checking the relevant 350 register at
1 Hz and, if necessary, smashing it with ivtvctl so Myth can't
override it, as it tries to do so at the start of every capture. [1]
(My 350 is ~9dB hotter than the 250's, even though both were made in
the same month; Hans reports dramatic differences across new & old
350's, etc.)

My suggestion is to put a per-card slider into mythtv-setup's screen
for each capture card (where this is supported by the card; some might
not).  This slider is used in addition to the master capture slider set
in whichever recording profile is active.  [And see [+] for a further
suggestion.]  The value should get stored in some appropriate table, 
consulted when a capture commences, and be multiplied together with
the master capture mixer when initing the card.  (A more user-friendly
approach would be to be able to adjust this in real time, instead of
via repeated trips to mythtv-setup, but that seems like a lot more work.)
Presumably the slider should be an attenuator, like the rest of them
in the UI, so 100% is unity & everything else is quieter, and should
default to 100%.

[I asked about this on mythtv-users and ivtv-users; see [1] and [2]
for relevant threads.  No one claimed this was already implemented,
and I don't see anything about it in any archives.]

[1] http://www.gossamer-threads.com/lists/mythtv/users/173374
[2] http://ivtvdriver.org/pipermail/ivtv-users/2006-January/001062.html
    [There are also reports in ivtv's Trac about these problems;
    one reports something that sounds worse than 12dB mismatch!]

[*] ...which I might actually code and close, but it won't be until
after .19 is released if so, because I need to be more stable than
current SVN and don't have enough spare hardware to run a parallel
SVN machine.  I'm hoping this is a really quick hack for someone
already running SVN and familiar w/the code.

[+] Another hack, along the "while we're in here" approach:  Also
implement per-input and per-channel sliders.  This would probably be
really quick to write if the approach is "look in the database for
values, but don't bother to add to the visible UI for it" and would
presumably mean that the final setting sent to the card is a simple
multiplication of master x card x input x channel, with all defaults
being unity and all missing values assumed default.  The rationale
here is that not all set-top boxes allow setting their output line
levels, or there may be other reasons not to fiddle with it (e.g.,
split setups where the STB drives something else as well); and also
that some individual channels run -very- hot---my own cable feed has
mismatches of ~9dB across certain channels I watch, and this mismatch
has been consistent across -years-.  If I could stop constantly
fiddling with the TV volume every time I change channels, I'd love it;
this applies in spades when using a DVR, since I might not even know
what channel something aired on to begin with---until it starts
playing and blasts me out of my seat because the volume is way too
high...  (An unfortunate choice of tuner & channel damn near killed
my speakers recently because of this combination of issues...)

More information about the mythtv-dev mailing list