diff options
author | Wei Jia <wjia@google.com> | 2015-03-19 22:39:31 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-03-19 22:39:32 +0000 |
commit | b588cf22b2e44f20921550412d443fba55b1343e (patch) | |
tree | 683fc3a8305c308ca70bb240772b22ca82f4905f /media/libmediaplayerservice | |
parent | 84b784dd4f340331d36b1be3de05a6c814d9795c (diff) | |
parent | 230b188b2c2ed74aa017cb93f847e9a558feba95 (diff) | |
download | frameworks_av-b588cf22b2e44f20921550412d443fba55b1343e.zip frameworks_av-b588cf22b2e44f20921550412d443fba55b1343e.tar.gz frameworks_av-b588cf22b2e44f20921550412d443fba55b1343e.tar.bz2 |
Merge "mediaplayer: check existence of AudioTrack before trying to access it."
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp index 4bccfa8..a2ec51c 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp @@ -566,12 +566,22 @@ size_t NuPlayer::Renderer::fillAudioBuffer(void *buffer, size_t size) { } bool NuPlayer::Renderer::onDrainAudioQueue() { -#if 0 + // TODO: This call to getPosition checks if AudioTrack has been created + // in AudioSink before draining audio. If AudioTrack doesn't exist, then + // CHECKs on getPosition will fail. + // We still need to figure out why AudioTrack is not created when + // this function is called. One possible reason could be leftover + // audio. Another possible place is to check whether decoder + // has received INFO_FORMAT_CHANGED as the first buffer since + // AudioSink is opened there, and possible interactions with flush + // immediately after start. Investigate error message + // "vorbis_dsp_synthesis returned -135", along with RTSP. uint32_t numFramesPlayed; if (mAudioSink->getPosition(&numFramesPlayed) != OK) { return false; } +#if 0 ssize_t numFramesAvailableToWrite = mAudioSink->frameCount() - (mNumFramesWritten - numFramesPlayed); |