mirror of
				https://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git
				synced 2023-10-10 17:16:51 +00:00 
			
		
		
		
	Set mixer channel through command line option
This commit is contained in:
		@@ -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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user