Bug 1166760 - Query audio sampling rate & channel number from codec. r=sotaro

This commit is contained in:
Munro Chiang 2015-06-05 09:42:33 +08:00
parent 524c0612fb
commit d8e8da6a14
2 changed files with 21 additions and 2 deletions

View File

@ -257,6 +257,25 @@ GonkAudioDecoderManager::Output(int64_t aStreamOffset,
{
// If the format changed, update our cached info.
GADM_LOG("Decoder format changed");
sp<AMessage> audioCodecFormat;
if (mDecoder->getOutputFormat(&audioCodecFormat) != OK ||
audioCodecFormat == nullptr) {
return NS_ERROR_UNEXPECTED;
}
int32_t codec_channel_count = 0;
int32_t codec_sample_rate = 0;
if (!audioCodecFormat->findInt32("channel-count", &codec_channel_count) ||
!audioCodecFormat->findInt32("sample-rate", &codec_sample_rate)) {
return NS_ERROR_UNEXPECTED;
}
// Update AudioInfo
mAudioChannels = codec_channel_count;
mAudioRate = codec_sample_rate;
return Output(aStreamOffset, aOutData);
}
case android::INFO_OUTPUT_BUFFERS_CHANGED:

View File

@ -45,8 +45,8 @@ private:
void ReleaseAudioBuffer();
const uint32_t mAudioChannels;
const uint32_t mAudioRate;
uint32_t mAudioChannels;
uint32_t mAudioRate;
const uint32_t mAudioProfile;
bool mUseAdts;