diff options
author | vivek mehta <mvivek@codeaurora.org> | 2015-07-16 12:56:57 -0700 |
---|---|---|
committer | Satish Kamuju <skamuj@codeaurora.org> | 2015-10-06 17:36:46 +0530 |
commit | bc3028750d3438ebf108298e93f12de461f56430 (patch) | |
tree | 20081f78f461ee05b8a1c2cf842387ca3c89f4e5 /media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | |
parent | 9953765019ae2243e98e8e74eee327c9893b93d1 (diff) | |
download | frameworks_av-bc3028750d3438ebf108298e93f12de461f56430.zip frameworks_av-bc3028750d3438ebf108298e93f12de461f56430.tar.gz frameworks_av-bc3028750d3438ebf108298e93f12de461f56430.tar.bz2 |
stagefright: Add support for custom size i/p buffer
- handle non default input buffer size
- fix issues associated with non-default buffer size
Change-Id: Iad31f5c85601983b01e18e130b1c3eecb3988e30
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp index 87e49bd..aa993a9 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp @@ -1688,12 +1688,24 @@ status_t NuPlayer::Renderer::onOpenAudioSink( if (audioFormat == AUDIO_FORMAT_AAC && format->findInt32("aac-profile", &aacProfile)) { // Redefine AAC format as per aac profile - mapAACProfileToAudioFormat( - audioFormat, - aacProfile); + int32_t isADTSSupported; + isADTSSupported = AVUtils::get()->mapAACProfileToAudioFormat(format, + audioFormat, + aacProfile); + if (!isADTSSupported) { + mapAACProfileToAudioFormat(audioFormat, + aacProfile); + } else { + ALOGV("Format is AAC ADTS\n"); + } } + int32_t offloadBufferSize = + AVUtils::get()->getAudioMaxInputBufferSize( + audioFormat, + format); audio_offload_info_t offloadInfo = AUDIO_INFO_INITIALIZER; + offloadInfo.duration_us = -1; format->findInt64( "durationUs", &offloadInfo.duration_us); @@ -1705,6 +1717,7 @@ status_t NuPlayer::Renderer::onOpenAudioSink( offloadInfo.has_video = hasVideo; offloadInfo.is_streaming = isStreaming; offloadInfo.bit_width = bitWidth; + offloadInfo.offload_buffer_size = offloadBufferSize; if (memcmp(&mCurrentOffloadInfo, &offloadInfo, sizeof(offloadInfo)) == 0) { ALOGV("openAudioSink: no change in offload mode"); |