diff options
author | Apurupa Pattapu <apurupa@codeaurora.org> | 2015-07-07 12:27:10 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:24:30 -0600 |
commit | 0c4d3ced0a20b5cef6c51410754b40d4254f596b (patch) | |
tree | d6fd24c95573ca43af5c96325fb7bd61664b8836 /media/libavextensions | |
parent | daef932059bbeaf1b88a8871f348be128fdf0bfe (diff) | |
download | frameworks_av-0c4d3ced0a20b5cef6c51410754b40d4254f596b.zip frameworks_av-0c4d3ced0a20b5cef6c51410754b40d4254f596b.tar.gz frameworks_av-0c4d3ced0a20b5cef6c51410754b40d4254f596b.tar.bz2 |
Stagefright: Extensions for HTTP progressive streaming.
- Extend NuPlayer setDataSource for streaming
- Create ExtendedCachedSource only for MediaPlayer streaming
usecases by passing a flag to DataSource to use extended cache
- Add extension for MediaHTTP
Change-Id: Ic87c3744bf905eb8742863951b809e38d0a60339
Diffstat (limited to 'media/libavextensions')
-rw-r--r-- | media/libavextensions/Android.mk | 3 | ||||
-rw-r--r-- | media/libavextensions/stagefright/AVExtensions.h | 9 | ||||
-rw-r--r-- | media/libavextensions/stagefright/AVFactory.cpp | 14 |
3 files changed, 25 insertions, 1 deletions
diff --git a/media/libavextensions/Android.mk b/media/libavextensions/Android.mk index 511f13f..26c9f85 100644 --- a/media/libavextensions/Android.mk +++ b/media/libavextensions/Android.mk @@ -12,7 +12,8 @@ LOCAL_C_INCLUDES:= \ $(TOP)/frameworks/native/include/media/hardware \ $(TOP)/frameworks/native/include/media/openmax \ $(TOP)/external/flac/include \ - $(TOP)/hardware/qcom/media/mm-core/inc + $(TOP)/hardware/qcom/media/mm-core/inc \ + $(TOP)/frameworks/av/media/libstagefright \ LOCAL_CFLAGS += -Wno-multichar diff --git a/media/libavextensions/stagefright/AVExtensions.h b/media/libavextensions/stagefright/AVExtensions.h index 04588d5..06257be 100644 --- a/media/libavextensions/stagefright/AVExtensions.h +++ b/media/libavextensions/stagefright/AVExtensions.h @@ -39,6 +39,9 @@ struct ACodec; class MediaExtractor; struct MediaCodec; class AudioParameter; +struct NuCachedSource2; +struct MediaHTTP; +struct IMediaHTTPConnection; /* * Factory to create objects of base-classes in libstagefright @@ -47,6 +50,12 @@ struct AVFactory { virtual sp<ACodec> createACodec(); virtual MediaExtractor* createExtendedExtractor( const sp<DataSource> &source, const char *mime); + virtual sp<NuCachedSource2> createCachedSource( + const sp<DataSource> &source, + const char *cacheConfig = NULL, + bool disconnectAtHighwatermark = false); + virtual MediaHTTP* createMediaHTTP( + const sp<IMediaHTTPConnection> &conn); // ----- NO TRESSPASSING BEYOND THIS LINE ------ DECLARE_LOADABLE_SINGLETON(AVFactory); diff --git a/media/libavextensions/stagefright/AVFactory.cpp b/media/libavextensions/stagefright/AVFactory.cpp index da60167..22969a2 100644 --- a/media/libavextensions/stagefright/AVFactory.cpp +++ b/media/libavextensions/stagefright/AVFactory.cpp @@ -40,9 +40,11 @@ #include <media/stagefright/DataSource.h> #include <media/stagefright/MediaDefs.h> #include <media/stagefright/MediaExtractor.h> +#include <media/stagefright/MediaHTTP.h> #include "common/ExtensionsLoader.hpp" #include "stagefright/AVExtensions.h" +#include "include/NuCachedSource2.h" namespace android { @@ -55,6 +57,18 @@ MediaExtractor* AVFactory::createExtendedExtractor( return NULL; } +sp<NuCachedSource2> AVFactory::createCachedSource( + const sp<DataSource> &source, + const char *cacheConfig, + bool disconnectAtHighwatermark) { + return new NuCachedSource2(source, cacheConfig, disconnectAtHighwatermark); +} + +MediaHTTP* AVFactory::createMediaHTTP( + const sp<IMediaHTTPConnection> &conn) { + return new MediaHTTP(conn); +} + // ----- NO TRESSPASSING BEYOND THIS LINE ------ AVFactory::AVFactory() { } |