summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2015-03-19 15:13:51 -0700
committerWei Jia <wjia@google.com>2015-03-19 15:35:56 -0700
commit230b188b2c2ed74aa017cb93f847e9a558feba95 (patch)
treeca0e21a1d99297745220acbaf634a313e2de3ac2 /media
parent802a568f77b9a372537e4216b2a7cbb203958a87 (diff)
downloadframeworks_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')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp12
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);