mirror of
https://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git
synced 2023-10-10 19:16:51 +02:00
Set mixer channel through command line option
This commit is contained in:
parent
ced54a5cf1
commit
8c16466d31
@ -1,6 +1,7 @@
|
||||
User johns
|
||||
Date:
|
||||
|
||||
Mixer channel could be set through command line option.
|
||||
Fix bug: LFE moved to wrong position.
|
||||
Guard suspend/resume against multiple calls.
|
||||
Add support for AAC LATM audio streams.
|
||||
|
14
audio.c
14
audio.c
@ -822,7 +822,7 @@ static void AlsaInitMixer(void)
|
||||
const char *name;
|
||||
|
||||
name = snd_mixer_selem_get_name(alsa_mixer_elem);
|
||||
if (strcasecmp(name, alsa_mixer_elem_name) == 0) {
|
||||
if (!strcasecmp(name, alsa_mixer_elem_name)) {
|
||||
snd_mixer_selem_get_playback_volume_range(alsa_mixer_elem,
|
||||
&alsa_mixer_elem_min, &alsa_mixer_elem_max);
|
||||
AlsaRatio =
|
||||
@ -2150,6 +2150,18 @@ void AudioSetDeviceAC3(const char *device)
|
||||
AudioAC3Device = device;
|
||||
}
|
||||
|
||||
/**
|
||||
** Set pcm audio mixer channel.
|
||||
**
|
||||
** @param channel name of the mixer channel (fe. PCM or Master)
|
||||
**
|
||||
** @note this is currently used to select alsa/OSS output module.
|
||||
*/
|
||||
void AudioSetChannel(const char *channel)
|
||||
{
|
||||
AudioMixerChannel = channel;
|
||||
}
|
||||
|
||||
/**
|
||||
** Initialize audio output module.
|
||||
**
|
||||
|
3
audio.h
3
audio.h
@ -43,7 +43,8 @@ extern int AudioSetup(int *, int *, int); ///< setup audio output
|
||||
//extern void AudioPause(void); ///< pause audio
|
||||
|
||||
extern void AudioSetDevice(const char *); ///< set PCM audio device
|
||||
extern void AudioSetDeviceAC3(const char *); ///< set Passthrough device
|
||||
extern void AudioSetDeviceAC3(const char *); ///< set pass-through device
|
||||
extern void AudioSetChannel(const char *); ///< set mixer channel
|
||||
extern void AudioInit(void); ///< setup audio module
|
||||
extern void AudioExit(void); ///< cleanup and exit audio module
|
||||
|
||||
|
10
softhddev.c
10
softhddev.c
@ -1230,7 +1230,8 @@ void OsdDrawARGB(int x, int y, int height, int width, const uint8_t * argb)
|
||||
const char *CommandLineHelp(void)
|
||||
{
|
||||
return " -a device\taudio device (fe. alsa: hw:0,0 oss: /dev/dsp)\n"
|
||||
" -p device\taudio device (alsa only) for pass-through (hw:0,1)\n"
|
||||
" -p device\taudio device for pass-through (hw:0,1 or /dev/dsp1)\n"
|
||||
" -c channel\taudio mixer channel name (fe. PCM)\n"
|
||||
" -d display\tdisplay of x11 server (fe. :0.0)\n"
|
||||
" -f\t\tstart with fullscreen window (only with window manager)\n"
|
||||
" -g geometry\tx11 window geometry wxh+x+y\n"
|
||||
@ -1253,10 +1254,13 @@ int ProcessArgs(int argc, char *const argv[])
|
||||
// Parse arguments.
|
||||
//
|
||||
for (;;) {
|
||||
switch (getopt(argc, argv, "-a:d:fg:p:sw:x")) {
|
||||
case 'a': // audio device
|
||||
switch (getopt(argc, argv, "-a:c:d:fg:p:sw:x")) {
|
||||
case 'a': // audio device for pcm
|
||||
AudioSetDevice(optarg);
|
||||
continue;
|
||||
case 'c': // channel of audio mixer
|
||||
AudioSetChannel(optarg);
|
||||
continue;
|
||||
case 'p': // pass-through audio device
|
||||
AudioSetDeviceAC3(optarg);
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user