Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
0896a04d
authored
Feb 01, 2022
by
Dustin
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Add bits per second for audio.
parent
d1fffb47
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
3 deletions
library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/AudioFormat.java
library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/AviExtractor.java
library/extractor/src/test/java/com/google/android/exoplayer2/extractor/avi/AudioFormatTest.java
library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/AudioFormat.java
View file @
0896a04d
...
...
@@ -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);
...
...
library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/AviExtractor.java
View file @
0896a04d
...
...
@@ -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
);
...
...
library/extractor/src/test/java/com/google/android/exoplayer2/extractor/avi/AudioFormatTest.java
View file @
0896a04d
...
...
@@ -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
());
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment