summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorPreetam Singh Ranawat <apranawat@codeaurora.org>2015-02-03 16:12:13 -0800
committerLinux Build Service Account <lnxbuild@localhost>2015-10-06 03:24:42 -0600
commit762a1a49a347fc188f3f52b1799453cf09d847b4 (patch)
tree78f33c5cff7d4068f2738feb0c2ecf9124509c1e /media
parent43958295fe856f40f596c7a51885730ff4589f21 (diff)
downloadframeworks_av-762a1a49a347fc188f3f52b1799453cf09d847b4.zip
frameworks_av-762a1a49a347fc188f3f52b1799453cf09d847b4.tar.gz
frameworks_av-762a1a49a347fc188f3f52b1799453cf09d847b4.tar.bz2
NuPlayer: Add support for getFormatMeta for HLS
HTTPLiveSource does not support getFormatMeta API. Because of this, offloading is not possible as offloading requires access to format info. Fix this by implementing getFormatMeta API for HLS use cases. CRs-Fixed: 780001 Change-Id: Ia5121892efe4c7ee534f7220c6f33ff9100f0402
Diffstat (limited to 'media')
-rw-r--r--media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp15
-rw-r--r--media/libmediaplayerservice/nuplayer/HTTPLiveSource.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
index 126625a..6683481 100644
--- a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
@@ -30,6 +30,8 @@
#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/MetaData.h>
#include <media/stagefright/MediaDefs.h>
+#include <media/stagefright/Utils.h>
+
namespace android {
@@ -118,6 +120,19 @@ sp<AMessage> NuPlayer::HTTPLiveSource::getFormat(bool audio) {
return format;
}
+sp<MetaData> NuPlayer::HTTPLiveSource::getFormatMeta(bool audio) {
+ sp<AMessage> format = getFormat(audio);
+
+ if (format == NULL) {
+ return NULL;
+ }
+
+ sp<MetaData> meta = new MetaData;
+ convertMessageToMetaData(format, meta);
+ return meta;
+}
+
+
status_t NuPlayer::HTTPLiveSource::feedMoreTSData() {
return OK;
}
diff --git a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h
index 9e0ec2f..dff0d1e 100644
--- a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h
+++ b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h
@@ -39,6 +39,7 @@ struct NuPlayer::HTTPLiveSource : public NuPlayer::Source {
virtual status_t dequeueAccessUnit(bool audio, sp<ABuffer> *accessUnit);
virtual sp<AMessage> getFormat(bool audio);
+ virtual sp<MetaData> getFormatMeta(bool audio);
virtual status_t feedMoreTSData();
virtual status_t getDuration(int64_t *durationUs);