mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-10-29 05:40:25 -04:00 
			
		
		
		
	mixer: simple - Fix "Capture Volume" and "Capture Switch" being seen as global controls
Fix the "Capture Volume" and "Capture Switch" exceptions no longer
working after commit 86b9c67774 ("mixer: simple - Unify simple_none:
base_len() exception handling") because they were moved to after the
suffix checking, so they would be treated as CTL_GLOBAL_VOLUME resp.
CTL_GLOBAL_SWITCH based on their suffix before the exception check
has a chance to check for a match.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
			
			
This commit is contained in:
		
							parent
							
								
									06543e06e9
								
							
						
					
					
						commit
						d00d7a184c
					
				
					 1 changed files with 10 additions and 10 deletions
				
			
		|  | @ -913,6 +913,16 @@ static int base_len(const char *name, selem_ctl_type_t *type) | |||
| 	const struct suf *p; | ||||
| 	size_t nlen = strlen(name); | ||||
| 
 | ||||
| 	/* exception: "Capture Volume" and "Capture Switch" */ | ||||
| 	if (!strcmp(name, "Capture Volume")) { | ||||
| 		*type = CTL_CAPTURE_VOLUME; | ||||
| 		return strlen("Capture"); | ||||
| 	} | ||||
| 	if (!strcmp(name, "Capture Switch")) { | ||||
| 		*type = CTL_CAPTURE_SWITCH; | ||||
| 		return strlen("Capture"); | ||||
| 	} | ||||
| 
 | ||||
| 	for (p = suffixes; p->suffix; p++) { | ||||
| 		size_t slen = strlen(p->suffix); | ||||
| 		size_t l; | ||||
|  | @ -926,16 +936,6 @@ static int base_len(const char *name, selem_ctl_type_t *type) | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	/* exception: "Capture Volume" and "Capture Switch" */ | ||||
| 	if (!strcmp(name, "Capture Volume")) { | ||||
| 		*type = CTL_CAPTURE_VOLUME; | ||||
| 		return strlen("Capture"); | ||||
| 	} | ||||
| 	if (!strcmp(name, "Capture Switch")) { | ||||
| 		*type = CTL_CAPTURE_SWITCH; | ||||
| 		return strlen("Capture"); | ||||
| 	} | ||||
| 
 | ||||
| 	/* Special case - handle "Input Source" as a capture route.
 | ||||
| 	 * Note that it's *NO* capture source.  A capture source is split over | ||||
| 	 * sub-elements, and multiple capture-sources will result in an error. | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Hans de Goede
						Hans de Goede