diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java index 53939e2f72f..c556e54adb6 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java @@ -2593,6 +2593,10 @@ public void initializeFormat(int trackId) throws ParserException { case CODEC_ID_FLAC: mimeType = MimeTypes.AUDIO_FLAC; initializationData = Collections.singletonList(getCodecPrivate(codecId)); + pcmEncoding = Util.getPcmEncoding(audioBitDepth); + if (pcmEncoding == C.ENCODING_INVALID) { + pcmEncoding = Format.NO_VALUE; + } break; case CODEC_ID_ACM: mimeType = MimeTypes.AUDIO_RAW; diff --git a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-16bit.mka.0.dump b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-16bit.mka.0.dump index 2705d789c5f..082fe9168a8 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-16bit.mka.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-16bit.mka.0.dump @@ -12,6 +12,7 @@ track 1: sampleMimeType = audio/flac channelCount = 2 sampleRate = 48000 + pcmEncoding = pcm-16 selectionFlags = [default] language = und initializationData: diff --git a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-16bit.mka.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-16bit.mka.unknown_length.dump index 2705d789c5f..082fe9168a8 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-16bit.mka.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-16bit.mka.unknown_length.dump @@ -12,6 +12,7 @@ track 1: sampleMimeType = audio/flac channelCount = 2 sampleRate = 48000 + pcmEncoding = pcm-16 selectionFlags = [default] language = und initializationData: diff --git a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-24bit.mka.0.dump b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-24bit.mka.0.dump index 5ada6a7b6cf..1dae9d8a44e 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-24bit.mka.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-24bit.mka.0.dump @@ -12,6 +12,7 @@ track 1: sampleMimeType = audio/flac channelCount = 2 sampleRate = 48000 + pcmEncoding = pcm-24 selectionFlags = [default] language = und initializationData: diff --git a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-24bit.mka.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-24bit.mka.unknown_length.dump index 5ada6a7b6cf..1dae9d8a44e 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-24bit.mka.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-24bit.mka.unknown_length.dump @@ -12,6 +12,7 @@ track 1: sampleMimeType = audio/flac channelCount = 2 sampleRate = 48000 + pcmEncoding = pcm-24 selectionFlags = [default] language = und initializationData: diff --git a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.0.dump b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.0.dump index bcb7143d8e5..c87d76ec90d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.0.dump @@ -15,6 +15,7 @@ track 1: sampleMimeType = audio/flac channelCount = 2 sampleRate = 48000 + pcmEncoding = pcm-32 language = und initializationData: data = length 42, hash DE0B9CE3 diff --git a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.1.dump b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.1.dump index bcb7143d8e5..c87d76ec90d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.1.dump @@ -15,6 +15,7 @@ track 1: sampleMimeType = audio/flac channelCount = 2 sampleRate = 48000 + pcmEncoding = pcm-32 language = und initializationData: data = length 42, hash DE0B9CE3 diff --git a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.2.dump b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.2.dump index bcb7143d8e5..c87d76ec90d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.2.dump @@ -15,6 +15,7 @@ track 1: sampleMimeType = audio/flac channelCount = 2 sampleRate = 48000 + pcmEncoding = pcm-32 language = und initializationData: data = length 42, hash DE0B9CE3 diff --git a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.3.dump b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.3.dump index bcb7143d8e5..c87d76ec90d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.3.dump @@ -15,6 +15,7 @@ track 1: sampleMimeType = audio/flac channelCount = 2 sampleRate = 48000 + pcmEncoding = pcm-32 language = und initializationData: data = length 42, hash DE0B9CE3 diff --git a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.unknown_length.dump index bcb7143d8e5..c87d76ec90d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mka/bear-flac-32bit.mka.unknown_length.dump @@ -15,6 +15,7 @@ track 1: sampleMimeType = audio/flac channelCount = 2 sampleRate = 48000 + pcmEncoding = pcm-32 language = und initializationData: data = length 42, hash DE0B9CE3