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
|
User johns
|
||||||
Date:
|
Date:
|
||||||
|
|
||||||
|
Mixer channel could be set through command line option.
|
||||||
Fix bug: LFE moved to wrong position.
|
Fix bug: LFE moved to wrong position.
|
||||||
Guard suspend/resume against multiple calls.
|
Guard suspend/resume against multiple calls.
|
||||||
Add support for AAC LATM audio streams.
|
Add support for AAC LATM audio streams.
|
||||||
|
14
audio.c
14
audio.c
@ -822,7 +822,7 @@ static void AlsaInitMixer(void)
|
|||||||
const char *name;
|
const char *name;
|
||||||
|
|
||||||
name = snd_mixer_selem_get_name(alsa_mixer_elem);
|
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,
|
snd_mixer_selem_get_playback_volume_range(alsa_mixer_elem,
|
||||||
&alsa_mixer_elem_min, &alsa_mixer_elem_max);
|
&alsa_mixer_elem_min, &alsa_mixer_elem_max);
|
||||||
AlsaRatio =
|
AlsaRatio =
|
||||||
@ -2150,6 +2150,18 @@ void AudioSetDeviceAC3(const char *device)
|
|||||||
AudioAC3Device = 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.
|
** 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 AudioPause(void); ///< pause audio
|
||||||
|
|
||||||
extern void AudioSetDevice(const char *); ///< set PCM audio device
|
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 AudioInit(void); ///< setup audio module
|
||||||
extern void AudioExit(void); ///< cleanup and exit 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)
|
const char *CommandLineHelp(void)
|
||||||
{
|
{
|
||||||
return " -a device\taudio device (fe. alsa: hw:0,0 oss: /dev/dsp)\n"
|
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"
|
" -d display\tdisplay of x11 server (fe. :0.0)\n"
|
||||||
" -f\t\tstart with fullscreen window (only with window manager)\n"
|
" -f\t\tstart with fullscreen window (only with window manager)\n"
|
||||||
" -g geometry\tx11 window geometry wxh+x+y\n"
|
" -g geometry\tx11 window geometry wxh+x+y\n"
|
||||||
@ -1253,10 +1254,13 @@ int ProcessArgs(int argc, char *const argv[])
|
|||||||
// Parse arguments.
|
// Parse arguments.
|
||||||
//
|
//
|
||||||
for (;;) {
|
for (;;) {
|
||||||
switch (getopt(argc, argv, "-a:d:fg:p:sw:x")) {
|
switch (getopt(argc, argv, "-a:c:d:fg:p:sw:x")) {
|
||||||
case 'a': // audio device
|
case 'a': // audio device for pcm
|
||||||
AudioSetDevice(optarg);
|
AudioSetDevice(optarg);
|
||||||
continue;
|
continue;
|
||||||
|
case 'c': // channel of audio mixer
|
||||||
|
AudioSetChannel(optarg);
|
||||||
|
continue;
|
||||||
case 'p': // pass-through audio device
|
case 'p': // pass-through audio device
|
||||||
AudioSetDeviceAC3(optarg);
|
AudioSetDeviceAC3(optarg);
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user