Index: media/mp4/mp4_stream_parser.cc |
diff --git a/media/mp4/mp4_stream_parser.cc b/media/mp4/mp4_stream_parser.cc |
index 3546be91bb4ad9a0adf98e6e29191c63189df486..45f3c96d5385dd3eec4b27d59d6710551ee748c4 100644 |
--- a/media/mp4/mp4_stream_parser.cc |
+++ b/media/mp4/mp4_stream_parser.cc |
@@ -202,11 +202,23 @@ bool MP4StreamParser::ParseMoov(BoxReader* reader) { |
return false; |
} |
+ SampleFormat sample_format; |
+ if (entry.samplesize == 8) { |
+ sample_format = kSampleFormatU8; |
+ } else if (entry.samplesize == 16) { |
+ sample_format = kSampleFormatS16; |
+ } else if (entry.samplesize == 32) { |
+ sample_format = kSampleFormatS32; |
+ } else { |
+ LOG(ERROR) << "Unsupported sample size."; |
+ return false; |
+ } |
+ |
bool is_encrypted = entry.sinf.info.track_encryption.is_encrypted; |
audio_config.Initialize(kCodecAAC, entry.samplesize, |
aac.channel_layout(), |
aac.GetOutputSamplesPerSecond(has_sbr_), |
- NULL, 0, is_encrypted, false); |
+ NULL, 0, sample_format, is_encrypted, false); |
has_audio_ = true; |
audio_track_id_ = track->header.track_id; |
} |