Add bits per second for audio.

This commit is contained in:
Dustin 2022-02-01 15:08:13 -07:00
parent d1fffb477f
commit 0896a04d02
3 changed files with 9 additions and 3 deletions

View File

@ -39,7 +39,9 @@ public class AudioFormat {
public int getSamplesPerSecond() {
return byteBuffer.getInt(4);
}
// 8 - nAvgBytesPerSec(uint)
public int getAvgBytesPerSec() {
return byteBuffer.getInt(8);
}
// 12 - nBlockAlign
// public int getBlockAlign() {
// return byteBuffer.getShort(12);

View File

@ -272,10 +272,13 @@ public class AviExtractor implements Extractor {
final TrackOutput trackOutput = output.track(streamId, C.TRACK_TYPE_AUDIO);
final String mimeType = audioFormat.getMimeType();
builder.setSampleMimeType(mimeType);
//builder.setCodecs(audioFormat.getCodec());
builder.setChannelCount(audioFormat.getChannels());
builder.setSampleRate(audioFormat.getSamplesPerSecond());
if (audioFormat.getFormatTag() == AudioFormat.WAVE_FORMAT_PCM) {
final int bytesPerSecond = audioFormat.getAvgBytesPerSec();
if (bytesPerSecond != 0) {
builder.setAverageBitrate(bytesPerSecond * 8);
}
if (MimeTypes.AUDIO_RAW.equals(mimeType)) {
final short bps = audioFormat.getBitsPerSample();
if (bps == 8) {
builder.setPcmEncoding(C.ENCODING_PCM_8BIT);

View File

@ -22,5 +22,6 @@ public class AudioFormatTest {
Assert.assertEquals(0, audioFormat.getBitsPerSample()); //Not meaningful for AAC
Assert.assertArrayEquals(CODEC_PRIVATE, audioFormat.getCodecData());
Assert.assertEquals(MimeTypes.AUDIO_AAC, audioFormat.getMimeType());
Assert.assertEquals(20034, audioFormat.getAvgBytesPerSec());
}
}