mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	pcm: 2nd round of pcm_misc DSD fixes
Functions 'snd_pcm_format_silence_64' and 'snd_pcm_format_size' also need to be able to handle the DSD smaple format. Changes from v1: - Correct silence pattern for DSD Signed-off-by: Jurgen Kramer <gtmkramer@xs4all.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
		
							parent
							
								
									dfc3bf97bf
								
							
						
					
					
						commit
						b9f58dcc6f
					
				
					 1 changed files with 5 additions and 0 deletions
				
			
		| 
						 | 
					@ -317,11 +317,13 @@ ssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples)
 | 
				
			||||||
	switch (format) {
 | 
						switch (format) {
 | 
				
			||||||
	case SNDRV_PCM_FORMAT_S8:
 | 
						case SNDRV_PCM_FORMAT_S8:
 | 
				
			||||||
	case SNDRV_PCM_FORMAT_U8:
 | 
						case SNDRV_PCM_FORMAT_U8:
 | 
				
			||||||
 | 
						case SNDRV_PCM_FORMAT_DSD_U8:
 | 
				
			||||||
		return samples;
 | 
							return samples;
 | 
				
			||||||
	case SNDRV_PCM_FORMAT_S16_LE:
 | 
						case SNDRV_PCM_FORMAT_S16_LE:
 | 
				
			||||||
	case SNDRV_PCM_FORMAT_S16_BE:
 | 
						case SNDRV_PCM_FORMAT_S16_BE:
 | 
				
			||||||
	case SNDRV_PCM_FORMAT_U16_LE:
 | 
						case SNDRV_PCM_FORMAT_U16_LE:
 | 
				
			||||||
	case SNDRV_PCM_FORMAT_U16_BE:
 | 
						case SNDRV_PCM_FORMAT_U16_BE:
 | 
				
			||||||
 | 
						case SNDRV_PCM_FORMAT_DSD_U16_LE:
 | 
				
			||||||
		return samples * 2;
 | 
							return samples * 2;
 | 
				
			||||||
	case SNDRV_PCM_FORMAT_S18_3LE:
 | 
						case SNDRV_PCM_FORMAT_S18_3LE:
 | 
				
			||||||
	case SNDRV_PCM_FORMAT_S18_3BE:
 | 
						case SNDRV_PCM_FORMAT_S18_3BE:
 | 
				
			||||||
| 
						 | 
					@ -390,6 +392,9 @@ u_int64_t snd_pcm_format_silence_64(snd_pcm_format_t format)
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
	case SNDRV_PCM_FORMAT_U8:
 | 
						case SNDRV_PCM_FORMAT_U8:
 | 
				
			||||||
		return 0x8080808080808080ULL;
 | 
							return 0x8080808080808080ULL;
 | 
				
			||||||
 | 
						case SNDRV_PCM_FORMAT_DSD_U8:
 | 
				
			||||||
 | 
						case SNDRV_PCM_FORMAT_DSD_U16_LE:
 | 
				
			||||||
 | 
							return 0x6969696969696969ULL;
 | 
				
			||||||
#ifdef SNDRV_LITTLE_ENDIAN
 | 
					#ifdef SNDRV_LITTLE_ENDIAN
 | 
				
			||||||
	case SNDRV_PCM_FORMAT_U16_LE:
 | 
						case SNDRV_PCM_FORMAT_U16_LE:
 | 
				
			||||||
		return 0x8000800080008000ULL;
 | 
							return 0x8000800080008000ULL;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue