summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2015-12-14 20:57:31 -0600
committerSteve Kondik <steve@cyngn.com>2015-12-15 05:45:43 -0500
commit455a7456a95cc6bab8630def18537b9b275ed211 (patch)
treefbc4a1748720df6cf50a7f1bf2a6f5fef795b6e4 /media/libmediaplayerservice
parent093c8ed16d58b3095789a3d8a0f0923eb31b4af4 (diff)
downloadframeworks_av-455a7456a95cc6bab8630def18537b9b275ed211.zip
frameworks_av-455a7456a95cc6bab8630def18537b9b275ed211.tar.gz
frameworks_av-455a7456a95cc6bab8630def18537b9b275ed211.tar.bz2
nuplayer: Improve offload format conversions
* Annotate source buffers with the audio format * Add support for 32-bit signed PCM offload (zero copy) Change-Id: Id758830784740c0a038452d383c8ec8e3e4593bb
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h9
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h4
2 files changed, 10 insertions, 3 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
index 5f84a06..23c87ae 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
@@ -17,9 +17,13 @@
#ifndef NUPLAYER_DECODER_H_
#define NUPLAYER_DECODER_H_
-#include "NuPlayer.h"
+#include <media/stagefright/foundation/AMessage.h>
+#include "NuPlayer.h"
#include "NuPlayerDecoderBase.h"
+#include "NuPlayerSource.h"
+
+#include "mediaplayerservice/AVNuExtensions.h"
namespace android {
@@ -49,7 +53,8 @@ protected:
virtual void onFlush();
virtual void onShutdown(bool notifyComplete);
virtual bool doRequestBuffers();
- virtual void setPcmFormat(const sp<AMessage> & /*format*/) {}
+ virtual void setPcmFormat(const sp<AMessage> &format) { format->setInt32("pcm-format",
+ AVNuUtils::get()->getKeyPCMFormat(mSource->getFormatMeta(true))); }
enum {
kWhatCodecNotify = 'cdcN',
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h b/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h
index fbc4087..cfd61da 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.h
@@ -18,6 +18,8 @@
#define NUPLAYER_DECODER_PASS_THROUGH_H_
+#include <media/stagefright/foundation/AMessage.h>
+
#include "NuPlayer.h"
#include "NuPlayerDecoderBase.h"
@@ -43,7 +45,7 @@ protected:
virtual void onFlush();
virtual void onShutdown(bool notifyComplete);
virtual bool doRequestBuffers();
- virtual void setPcmFormat(const sp<AMessage> & /*format*/) {}
+ virtual void setPcmFormat(const sp<AMessage> &format) { format->setInt32("pcm-format", mPCMFormat); }
virtual sp<ABuffer> aggregateBuffer(const sp<ABuffer> &accessUnit);
enum {