summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2014-07-17 14:29:51 -0700
committerLajos Molnar <lajos@google.com>2014-07-17 21:14:52 -0700
commit095248375e29adde961ec2a44989ecb3a6dda6a2 (patch)
tree41c5e1378f8c7274b257837a4356efc54436d330 /media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
parentcc227036b05f7c2f960a89c567a61f9decefe742 (diff)
downloadframeworks_av-095248375e29adde961ec2a44989ecb3a6dda6a2.zip
frameworks_av-095248375e29adde961ec2a44989ecb3a6dda6a2.tar.gz
frameworks_av-095248375e29adde961ec2a44989ecb3a6dda6a2.tar.bz2
nuplayer: support widevine sources
- handle widevine:// scheme - add separate looper for renderer (as it can block initial buffer handling if all buffers are used) - initiate secure codecs before source is started - don't read secure buffers - share ACodec's input buffers with Widevine source on the decoder side - keep track of mediabuffers released by widevine source - keep track of dequeued input buffers (for safety) - release mediabuffer when buffer is subsequently dequeued. (This was hardcoded into OMXCodec to do this when buffer-empties message was handled, but MediaCodec does not support such functionality.) Bug: 15699665 Change-Id: I4a369443294e45c644be8b0257010e52db1d7c9b
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index f520ff7..8592ec2 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -26,6 +26,8 @@
#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/MetaData.h>
+#include <inttypes.h>
+
namespace android {
// static
@@ -502,6 +504,7 @@ void NuPlayer::Renderer::postDrainVideoQueue() {
}
}
+ ALOGW_IF(delayUs > 500000, "unusually high delayUs: %" PRId64, delayUs);
msg->post(delayUs);
mDrainVideoQueuePending = true;