summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorHaynes Mathew George <hgeorge@codeaurora.org>2015-12-04 11:02:47 -0800
committerSteve Kondik <steve@cyngn.com>2015-12-23 14:28:38 -0800
commit5a1e278683de3700dc119a99a6b57cc1fc1463b8 (patch)
tree719ad5adef6b66fda73777f0b6358526aa12f348 /media/libmediaplayerservice
parent0c04699de90c89a00eb39256b60f59723f323d05 (diff)
downloadframeworks_av-5a1e278683de3700dc119a99a6b57cc1fc1463b8.zip
frameworks_av-5a1e278683de3700dc119a99a6b57cc1fc1463b8.tar.gz
frameworks_av-5a1e278683de3700dc119a99a6b57cc1fc1463b8.tar.bz2
NuPlayer: Avoid one more assertion
b/25372978 tracks an assertion in Renderer when the size of the buffer to be written is not a multiple of audio sink framesize. Until resolved, avoid assertion and notify an error back to the player CRs-Fixed: 941002 Change-Id: Id54b357dcbf7afe90e2290665392275d6dd5eaef
Diffstat (limited to 'media/libmediaplayerservice')
-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 e927767..d959e62 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -974,7 +974,17 @@ bool NuPlayer::Renderer::onDrainAudioQueue() {
// (Case 1)
// Must be a multiple of the frame size. If it is not a multiple of a frame size, it
// needs to fail, as we should not carry over fractional frames between calls.
- CHECK_EQ(copy % mAudioSink->frameSize(), 0);
+
+ if (copy % mAudioSink->frameSize()) {
+ // CHECK_EQ(copy % mAudioSink->frameSize(), 0);
+ ALOGE("CHECK_EQ(copy % mAudioSink->frameSize(), 0) failed b/25372978");
+ ALOGE("mAudioSink->frameSize() %zu", mAudioSink->frameSize());
+ ALOGE("bytes to copy %zu", copy);
+ ALOGE("entry size %zu, entry offset %zu", entry->mBuffer->size(),
+ entry->mOffset - written);
+ notifyEOS(true /*audio*/, UNKNOWN_ERROR);
+ return false;
+ }
// (Case 2, 3, 4)
// Return early to the caller.