mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-10-29 05:40:23 -04:00 
			
		
		
		
	format: Add support for Dolby TrueHD and DTS-HD HBR passthrough
Add definitions and fixups for channel count Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This commit is contained in:
		
							parent
							
								
									47ed9ae1f4
								
							
						
					
					
						commit
						cdeac17801
					
				
					 3 changed files with 15 additions and 1 deletions
				
			
		|  | @ -47,6 +47,8 @@ static const char* const _encoding_str_table[]= { | |||
|     [PA_ENCODING_MPEG_IEC61937] = "mpeg-iec61937", | ||||
|     [PA_ENCODING_DTS_IEC61937] = "dts-iec61937", | ||||
|     [PA_ENCODING_MPEG2_AAC_IEC61937] = "mpeg2-aac-iec61937", | ||||
|     [PA_ENCODING_TRUEHD_IEC61937] = "truehd-iec61937", | ||||
|     [PA_ENCODING_DTSHD_IEC61937] = "dtshd-iec61937", | ||||
|     [PA_ENCODING_ANY] = "any", | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -56,6 +56,12 @@ typedef enum pa_encoding { | |||
|     PA_ENCODING_MPEG2_AAC_IEC61937, | ||||
|     /**< MPEG-2 AAC data encapsulated in IEC 61937 header/padding. \since 4.0 */ | ||||
| 
 | ||||
|     PA_ENCODING_TRUEHD_IEC61937, | ||||
|     /**< Dolby TrueHD data encapsulated in IEC 61937 header/padding. \since 13.0 */ | ||||
| 
 | ||||
|     PA_ENCODING_DTSHD_IEC61937, | ||||
|     /**< DTS-HD Master Audio encapsulated in IEC 61937 header/padding. \since 13.0 */ | ||||
| 
 | ||||
|     PA_ENCODING_MAX, | ||||
|     /**< Valid encoding types must be less than this value */ | ||||
| 
 | ||||
|  | @ -71,6 +77,8 @@ typedef enum pa_encoding { | |||
| #define PA_ENCODING_MPEG_IEC61937 PA_ENCODING_MPEG_IEC61937 | ||||
| #define PA_ENCODING_DTS_IEC61937 PA_ENCODING_DTS_IEC61937 | ||||
| #define PA_ENCODING_MPEG2_AAC_IEC61937 PA_ENCODING_MPEG2_AAC_IEC61937 | ||||
| #define PA_ENCODING_TRUEHD_IEC61937 PA_ENCODING_TRUEHD_IEC61937 | ||||
| #define PA_ENCODING_DTSHD_IEC61937 PA_ENCODING_DTSHD_IEC61937 | ||||
| #define PA_ENCODING_MAX PA_ENCODING_MAX | ||||
| #define PA_ENCODING_INVALID PA_ENCODING_INVALID | ||||
| /** \endcond */ | ||||
|  |  | |||
|  | @ -226,7 +226,11 @@ int pa_format_info_to_sample_spec_fake(const pa_format_info *f, pa_sample_spec * | |||
|      * formats, this function should return a non-zero values for these. */ | ||||
| 
 | ||||
|     ss->format = PA_SAMPLE_S16LE; | ||||
|     ss->channels = 2; | ||||
|     if ((f->encoding == PA_ENCODING_TRUEHD_IEC61937) || | ||||
| 	(f->encoding == PA_ENCODING_DTSHD_IEC61937)) | ||||
| 	ss->channels = 8; | ||||
|     else | ||||
| 	ss->channels = 2; | ||||
| 
 | ||||
|     if (map) | ||||
|         pa_channel_map_init_stereo(map); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Pierre-Louis Bossart
						Pierre-Louis Bossart