Loading media/libstagefright/AwesomePlayer.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -2221,11 +2221,11 @@ status_t AwesomePlayer::finishSetDataSource_l() { // The widevine extractor does its own caching. // The widevine extractor does its own caching. #if 0 #if 0 mCachedSource = new NuCachedSource2( mCachedSource = NuCachedSource2::Create( new ThrottledSource( new ThrottledSource( mConnectingDataSource, 50 * 1024 /* bytes/sec */)); mConnectingDataSource, 50 * 1024 /* bytes/sec */)); #else #else mCachedSource = new NuCachedSource2( mCachedSource = NuCachedSource2::Create( mConnectingDataSource, mConnectingDataSource, cacheConfig.isEmpty() ? NULL : cacheConfig.string(), cacheConfig.isEmpty() ? NULL : cacheConfig.string(), disconnectAtHighwatermark); disconnectAtHighwatermark); Loading media/libstagefright/DataSource.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -212,7 +212,7 @@ sp<DataSource> DataSource::CreateFromURI( ©, &cacheConfig, &disconnectAtHighwatermark); ©, &cacheConfig, &disconnectAtHighwatermark); } } source = new NuCachedSource2( source = NuCachedSource2::Create( httpSource, httpSource, cacheConfig.isEmpty() ? NULL : cacheConfig.string()); cacheConfig.isEmpty() ? NULL : cacheConfig.string()); } else { } else { Loading media/libstagefright/NuCachedSource2.cpp +12 −3 Original line number Original line Diff line number Diff line Loading @@ -214,9 +214,6 @@ NuCachedSource2::NuCachedSource2( mLooper->setName("NuCachedSource2"); mLooper->setName("NuCachedSource2"); mLooper->registerHandler(mReflector); mLooper->registerHandler(mReflector); mLooper->start(); mLooper->start(); Mutex::Autolock autoLock(mLock); (new AMessage(kWhatFetchMore, mReflector->id()))->post(); } } NuCachedSource2::~NuCachedSource2() { NuCachedSource2::~NuCachedSource2() { Loading @@ -227,6 +224,18 @@ NuCachedSource2::~NuCachedSource2() { mCache = NULL; mCache = NULL; } } // static sp<NuCachedSource2> NuCachedSource2::Create( const sp<DataSource> &source, const char *cacheConfig, bool disconnectAtHighwatermark) { sp<NuCachedSource2> instance = new NuCachedSource2( source, cacheConfig, disconnectAtHighwatermark); Mutex::Autolock autoLock(instance->mLock); (new AMessage(kWhatFetchMore, instance->mReflector->id()))->post(); return instance; } status_t NuCachedSource2::getEstimatedBandwidthKbps(int32_t *kbps) { status_t NuCachedSource2::getEstimatedBandwidthKbps(int32_t *kbps) { if (mSource->flags() & kIsHTTPBasedSource) { if (mSource->flags() & kIsHTTPBasedSource) { HTTPBase* source = static_cast<HTTPBase *>(mSource.get()); HTTPBase* source = static_cast<HTTPBase *>(mSource.get()); Loading media/libstagefright/include/NuCachedSource2.h +6 −1 Original line number Original line Diff line number Diff line Loading @@ -28,7 +28,7 @@ struct ALooper; struct PageCache; struct PageCache; struct NuCachedSource2 : public DataSource { struct NuCachedSource2 : public DataSource { NuCachedSource2( static sp<NuCachedSource2> Create( const sp<DataSource> &source, const sp<DataSource> &source, const char *cacheConfig = NULL, const char *cacheConfig = NULL, bool disconnectAtHighwatermark = false); bool disconnectAtHighwatermark = false); Loading Loading @@ -70,6 +70,11 @@ protected: private: private: friend struct AHandlerReflector<NuCachedSource2>; friend struct AHandlerReflector<NuCachedSource2>; NuCachedSource2( const sp<DataSource> &source, const char *cacheConfig, bool disconnectAtHighwatermark); enum { enum { kPageSize = 65536, kPageSize = 65536, kDefaultHighWaterThreshold = 20 * 1024 * 1024, kDefaultHighWaterThreshold = 20 * 1024 * 1024, Loading Loading
media/libstagefright/AwesomePlayer.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -2221,11 +2221,11 @@ status_t AwesomePlayer::finishSetDataSource_l() { // The widevine extractor does its own caching. // The widevine extractor does its own caching. #if 0 #if 0 mCachedSource = new NuCachedSource2( mCachedSource = NuCachedSource2::Create( new ThrottledSource( new ThrottledSource( mConnectingDataSource, 50 * 1024 /* bytes/sec */)); mConnectingDataSource, 50 * 1024 /* bytes/sec */)); #else #else mCachedSource = new NuCachedSource2( mCachedSource = NuCachedSource2::Create( mConnectingDataSource, mConnectingDataSource, cacheConfig.isEmpty() ? NULL : cacheConfig.string(), cacheConfig.isEmpty() ? NULL : cacheConfig.string(), disconnectAtHighwatermark); disconnectAtHighwatermark); Loading
media/libstagefright/DataSource.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -212,7 +212,7 @@ sp<DataSource> DataSource::CreateFromURI( ©, &cacheConfig, &disconnectAtHighwatermark); ©, &cacheConfig, &disconnectAtHighwatermark); } } source = new NuCachedSource2( source = NuCachedSource2::Create( httpSource, httpSource, cacheConfig.isEmpty() ? NULL : cacheConfig.string()); cacheConfig.isEmpty() ? NULL : cacheConfig.string()); } else { } else { Loading
media/libstagefright/NuCachedSource2.cpp +12 −3 Original line number Original line Diff line number Diff line Loading @@ -214,9 +214,6 @@ NuCachedSource2::NuCachedSource2( mLooper->setName("NuCachedSource2"); mLooper->setName("NuCachedSource2"); mLooper->registerHandler(mReflector); mLooper->registerHandler(mReflector); mLooper->start(); mLooper->start(); Mutex::Autolock autoLock(mLock); (new AMessage(kWhatFetchMore, mReflector->id()))->post(); } } NuCachedSource2::~NuCachedSource2() { NuCachedSource2::~NuCachedSource2() { Loading @@ -227,6 +224,18 @@ NuCachedSource2::~NuCachedSource2() { mCache = NULL; mCache = NULL; } } // static sp<NuCachedSource2> NuCachedSource2::Create( const sp<DataSource> &source, const char *cacheConfig, bool disconnectAtHighwatermark) { sp<NuCachedSource2> instance = new NuCachedSource2( source, cacheConfig, disconnectAtHighwatermark); Mutex::Autolock autoLock(instance->mLock); (new AMessage(kWhatFetchMore, instance->mReflector->id()))->post(); return instance; } status_t NuCachedSource2::getEstimatedBandwidthKbps(int32_t *kbps) { status_t NuCachedSource2::getEstimatedBandwidthKbps(int32_t *kbps) { if (mSource->flags() & kIsHTTPBasedSource) { if (mSource->flags() & kIsHTTPBasedSource) { HTTPBase* source = static_cast<HTTPBase *>(mSource.get()); HTTPBase* source = static_cast<HTTPBase *>(mSource.get()); Loading
media/libstagefright/include/NuCachedSource2.h +6 −1 Original line number Original line Diff line number Diff line Loading @@ -28,7 +28,7 @@ struct ALooper; struct PageCache; struct PageCache; struct NuCachedSource2 : public DataSource { struct NuCachedSource2 : public DataSource { NuCachedSource2( static sp<NuCachedSource2> Create( const sp<DataSource> &source, const sp<DataSource> &source, const char *cacheConfig = NULL, const char *cacheConfig = NULL, bool disconnectAtHighwatermark = false); bool disconnectAtHighwatermark = false); Loading Loading @@ -70,6 +70,11 @@ protected: private: private: friend struct AHandlerReflector<NuCachedSource2>; friend struct AHandlerReflector<NuCachedSource2>; NuCachedSource2( const sp<DataSource> &source, const char *cacheConfig, bool disconnectAtHighwatermark); enum { enum { kPageSize = 65536, kPageSize = 65536, kDefaultHighWaterThreshold = 20 * 1024 * 1024, kDefaultHighWaterThreshold = 20 * 1024 * 1024, Loading