From 23e9ce412425be12b8b637fff5886703f753c36e Mon Sep 17 00:00:00 2001 From: Steve Kondik Date: Mon, 14 Dec 2015 02:54:24 -0800 Subject: nuplayer: PCM offload fixes * Fix PCM offload when passthrough isn't used (OMX decoder) * Fix resume of PCM offload after pause timeout Change-Id: I742eafd6ae8656fb214ba6b81cc63af57590c28c --- media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp') diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp index 4135426..d1b1db2 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp @@ -1772,8 +1772,10 @@ status_t NuPlayer::Renderer::onOpenAudioSink( onDisableOffloadAudio(); } else { audioFormat = AVUtils::get()->updateAudioFormat(audioFormat, format); - bitWidth = AVUtils::get()->getAudioSampleBits(format); + ALOGV("Mime \"%s\" mapped to audio_format 0x%x", + mime.c_str(), audioFormat); + int avgBitRate = -1; format->findInt32("bitrate", &avgBitRate); @@ -1793,6 +1795,8 @@ status_t NuPlayer::Renderer::onOpenAudioSink( } } + ALOGV("onOpenAudioSink: %s", format->debugString().c_str()); + int32_t offloadBufferSize = AVUtils::get()->getAudioMaxInputBufferSize( audioFormat, @@ -1839,9 +1843,6 @@ status_t NuPlayer::Renderer::onOpenAudioSink( if (err == OK) { err = mAudioSink->setPlaybackRate(mPlaybackSettings); - } - - if (err == OK) { // If the playback is offloaded to h/w, we pass // the HAL some metadata information. // We don't want to do this for PCM because it @@ -1853,6 +1854,7 @@ status_t NuPlayer::Renderer::onOpenAudioSink( err = mAudioSink->start(); } ALOGV_IF(err == OK, "openAudioSink: offload succeeded"); + mFlags |= FLAG_OFFLOAD_AUDIO; } if (err != OK) { // Clean up, fall back to non offload mode. -- cgit v1.1