diff options
author | Preetam Singh Ranawat <apranawat@codeaurora.org> | 2015-02-03 16:12:13 -0800 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:24:42 -0600 |
commit | 762a1a49a347fc188f3f52b1799453cf09d847b4 (patch) | |
tree | 78f33c5cff7d4068f2738feb0c2ecf9124509c1e /media/libmediaplayerservice | |
parent | 43958295fe856f40f596c7a51885730ff4589f21 (diff) | |
download | frameworks_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/libmediaplayerservice')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp | 15 | ||||
-rw-r--r-- | media/libmediaplayerservice/nuplayer/HTTPLiveSource.h | 1 |
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); |