Add missing AudioFormat encoding conversions

PiperOrigin-RevId: 423786422
This commit is contained in:
olly 2022-01-24 13:07:21 +00:00 committed by Ian Baker
parent f8de54e4a5
commit 79f3e2d862
2 changed files with 13 additions and 2 deletions

View File

@ -221,6 +221,17 @@ public final class MediaFormatUtil {
case C.ENCODING_PCM_FLOAT: case C.ENCODING_PCM_FLOAT:
mediaFormatPcmEncoding = AudioFormat.ENCODING_PCM_FLOAT; mediaFormatPcmEncoding = AudioFormat.ENCODING_PCM_FLOAT;
break; break;
case C.ENCODING_PCM_24BIT:
mediaFormatPcmEncoding = AudioFormat.ENCODING_PCM_24BIT_PACKED;
break;
case C.ENCODING_PCM_32BIT:
mediaFormatPcmEncoding = AudioFormat.ENCODING_PCM_32BIT;
break;
case C.ENCODING_INVALID:
mediaFormatPcmEncoding = AudioFormat.ENCODING_INVALID;
break;
case Format.NO_VALUE:
case C.ENCODING_PCM_16BIT_BIG_ENDIAN:
default: default:
// No matching value. Do nothing. // No matching value. Do nothing.
return; return;

View File

@ -147,10 +147,10 @@ public class MediaFormatUtilTest {
@Test @Test
public void createMediaFormatFromFormat_withPcmEncoding_setsCustomPcmEncodingEntry() { public void createMediaFormatFromFormat_withPcmEncoding_setsCustomPcmEncodingEntry() {
Format format = new Format.Builder().setPcmEncoding(C.ENCODING_PCM_32BIT).build(); Format format = new Format.Builder().setPcmEncoding(C.ENCODING_PCM_16BIT_BIG_ENDIAN).build();
MediaFormat mediaFormat = MediaFormatUtil.createMediaFormatFromFormat(format); MediaFormat mediaFormat = MediaFormatUtil.createMediaFormatFromFormat(format);
assertThat(mediaFormat.getInteger(MediaFormatUtil.KEY_PCM_ENCODING_EXTENDED)) assertThat(mediaFormat.getInteger(MediaFormatUtil.KEY_PCM_ENCODING_EXTENDED))
.isEqualTo(C.ENCODING_PCM_32BIT); .isEqualTo(C.ENCODING_PCM_16BIT_BIG_ENDIAN);
assertThat(mediaFormat.containsKey(MediaFormat.KEY_PCM_ENCODING)).isFalse(); assertThat(mediaFormat.containsKey(MediaFormat.KEY_PCM_ENCODING)).isFalse();
} }
} }