Set PCM encoding in Flac extractor

The extractor knows the PCM encoding of the losslessly
encoded data in the samples and should set it in the
Format to allow downstream components to use this information.

PiperOrigin-RevId: 596974863
This commit is contained in:
tonihei 2024-01-09 10:25:02 -08:00 committed by Copybara-Service
parent 320dd32be9
commit ba8f55694a
55 changed files with 55 additions and 0 deletions

View File

@ -260,6 +260,7 @@ public final class FlacStreamMetadata {
.setMaxInputSize(maxInputSize) .setMaxInputSize(maxInputSize)
.setChannelCount(channels) .setChannelCount(channels)
.setSampleRate(sampleRate) .setSampleRate(sampleRate)
.setPcmEncoding(Util.getPcmEncoding(bitsPerSample))
.setInitializationData(Collections.singletonList(streamMarkerAndInfoBlock)) .setInitializationData(Collections.singletonList(streamMarkerAndInfoBlock))
.setMetadata(metadataWithId3) .setMetadata(metadataWithId3)
.build(); .build();

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -13,6 +13,7 @@ track 0:
sampleMimeType = audio/flac sampleMimeType = audio/flac
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 9218FDB7 data = length 42, hash 9218FDB7
sample 0: sample 0:

View File

@ -13,6 +13,7 @@ track 0:
sampleMimeType = audio/flac sampleMimeType = audio/flac
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 9218FDB7 data = length 42, hash 9218FDB7
sample 0: sample 0:

View File

@ -13,6 +13,7 @@ track 0:
sampleMimeType = audio/flac sampleMimeType = audio/flac
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 9218FDB7 data = length 42, hash 9218FDB7
sample 0: sample 0:

View File

@ -13,6 +13,7 @@ track 0:
sampleMimeType = audio/flac sampleMimeType = audio/flac
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 9218FDB7 data = length 42, hash 9218FDB7
sample 0: sample 0:

View File

@ -13,6 +13,7 @@ track 0:
sampleMimeType = audio/flac sampleMimeType = audio/flac
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 9218FDB7 data = length 42, hash 9218FDB7
sample 0: sample 0:

View File

@ -12,6 +12,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 49FA2C21 data = length 42, hash 49FA2C21
sample 0: sample 0:

View File

@ -12,6 +12,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 49FA2C21 data = length 42, hash 49FA2C21
sample 0: sample 0:

View File

@ -11,6 +11,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 49FA2C21 data = length 42, hash 49FA2C21
sample 0: sample 0:

View File

@ -11,6 +11,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 49FA2C21 data = length 42, hash 49FA2C21
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -11,6 +11,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 6456 maxInputSize = 6456
channelCount = 2 channelCount = 2
sampleRate = 44000 sampleRate = 44000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 7249A1B8 data = length 42, hash 7249A1B8
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 6456 maxInputSize = 6456
channelCount = 2 channelCount = 2
sampleRate = 44000 sampleRate = 44000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 7249A1B8 data = length 42, hash 7249A1B8
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 6456 maxInputSize = 6456
channelCount = 2 channelCount = 2
sampleRate = 44000 sampleRate = 44000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 7249A1B8 data = length 42, hash 7249A1B8
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 6456 maxInputSize = 6456
channelCount = 2 channelCount = 2
sampleRate = 44000 sampleRate = 44000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 7249A1B8 data = length 42, hash 7249A1B8
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 6456 maxInputSize = 6456
channelCount = 2 channelCount = 2
sampleRate = 44000 sampleRate = 44000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 7249A1B8 data = length 42, hash 7249A1B8
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[TXXX: description=ID: values=[105519843], TIT2: description=null: values=[那么爱你为什么], TPE1: description=null: values=[阿强], TALB: description=null: values=[华丽的外衣], TXXX: description=ID: values=[105519843], APIC: mimeType=image/jpeg, description=] metadata = entries=[TXXX: description=ID: values=[105519843], TIT2: description=null: values=[那么爱你为什么], TPE1: description=null: values=[阿强], TALB: description=null: values=[华丽的外衣], TXXX: description=ID: values=[105519843], APIC: mimeType=image/jpeg, description=]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[TXXX: description=ID: values=[105519843], TIT2: description=null: values=[那么爱你为什么], TPE1: description=null: values=[阿强], TALB: description=null: values=[华丽的外衣], TXXX: description=ID: values=[105519843], APIC: mimeType=image/jpeg, description=] metadata = entries=[TXXX: description=ID: values=[105519843], TIT2: description=null: values=[那么爱你为什么], TPE1: description=null: values=[阿强], TALB: description=null: values=[华丽的外衣], TXXX: description=ID: values=[105519843], APIC: mimeType=image/jpeg, description=]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[TXXX: description=ID: values=[105519843], TIT2: description=null: values=[那么爱你为什么], TPE1: description=null: values=[阿强], TALB: description=null: values=[华丽的外衣], TXXX: description=ID: values=[105519843], APIC: mimeType=image/jpeg, description=] metadata = entries=[TXXX: description=ID: values=[105519843], TIT2: description=null: values=[那么爱你为什么], TPE1: description=null: values=[阿强], TALB: description=null: values=[华丽的外衣], TXXX: description=ID: values=[105519843], APIC: mimeType=image/jpeg, description=]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[TXXX: description=ID: values=[105519843], TIT2: description=null: values=[那么爱你为什么], TPE1: description=null: values=[阿强], TALB: description=null: values=[华丽的外衣], TXXX: description=ID: values=[105519843], APIC: mimeType=image/jpeg, description=] metadata = entries=[TXXX: description=ID: values=[105519843], TIT2: description=null: values=[那么爱你为什么], TPE1: description=null: values=[阿强], TALB: description=null: values=[华丽的外衣], TXXX: description=ID: values=[105519843], APIC: mimeType=image/jpeg, description=]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[TXXX: description=ID: values=[105519843], TIT2: description=null: values=[那么爱你为什么], TPE1: description=null: values=[阿强], TALB: description=null: values=[华丽的外衣], TXXX: description=ID: values=[105519843], APIC: mimeType=image/jpeg, description=] metadata = entries=[TXXX: description=ID: values=[105519843], TIT2: description=null: values=[那么爱你为什么], TPE1: description=null: values=[阿强], TALB: description=null: values=[华丽的外衣], TXXX: description=ID: values=[105519843], APIC: mimeType=image/jpeg, description=]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[Picture: mimeType=image/png, description=] metadata = entries=[Picture: mimeType=image/png, description=]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[Picture: mimeType=image/png, description=] metadata = entries=[Picture: mimeType=image/png, description=]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[Picture: mimeType=image/png, description=] metadata = entries=[Picture: mimeType=image/png, description=]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[Picture: mimeType=image/png, description=] metadata = entries=[Picture: mimeType=image/png, description=]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[Picture: mimeType=image/png, description=] metadata = entries=[Picture: mimeType=image/png, description=]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[VC: TITLE=test title, VC: ARTIST=test artist] metadata = entries=[VC: TITLE=test title, VC: ARTIST=test artist]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[VC: TITLE=test title, VC: ARTIST=test artist] metadata = entries=[VC: TITLE=test title, VC: ARTIST=test artist]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[VC: TITLE=test title, VC: ARTIST=test artist] metadata = entries=[VC: TITLE=test title, VC: ARTIST=test artist]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[VC: TITLE=test title, VC: ARTIST=test artist] metadata = entries=[VC: TITLE=test title, VC: ARTIST=test artist]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
metadata = entries=[VC: TITLE=test title, VC: ARTIST=test artist] metadata = entries=[VC: TITLE=test title, VC: ARTIST=test artist]
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -14,6 +14,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0:

View File

@ -11,6 +11,7 @@ track 0:
maxInputSize = 5776 maxInputSize = 5776
channelCount = 2 channelCount = 2
sampleRate = 48000 sampleRate = 48000
pcmEncoding = 2
initializationData: initializationData:
data = length 42, hash 83F6895 data = length 42, hash 83F6895
sample 0: sample 0: