diff options
author | Wei Jia <wjia@google.com> | 2015-03-19 15:13:51 -0700 |
---|---|---|
committer | Wei Jia <wjia@google.com> | 2015-03-19 15:35:56 -0700 |
commit | 230b188b2c2ed74aa017cb93f847e9a558feba95 (patch) | |
tree | ca0e21a1d99297745220acbaf634a313e2de3ac2 /media/libmediaplayerservice | |
parent | 802a568f77b9a372537e4216b2a7cbb203958a87 (diff) | |
download | frameworks_av-230b188b2c2ed74aa017cb93f847e9a558feba95.zip frameworks_av-230b188b2c2ed74aa017cb93f847e9a558feba95.tar.gz frameworks_av-230b188b2c2ed74aa017cb93f847e9a558feba95.tar.bz2 |
mediaplayer: check existence of AudioTrack before trying to access it.
Bug: 19828971
Change-Id: Ib7fdb8bf36e33ef95d21fa5342cd1647fd81ff24
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); |