summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/NuCachedSource2.cpp
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2011-06-01 15:27:20 -0700
committerJames Dong <jdong@google.com>2011-06-02 10:13:52 -0700
commitb33d2ac90cfce0fe6db8c3e979e7ae2bbfc28163 (patch)
tree9c0ce3c250ee66779410c79580b37b036486e56d /media/libstagefright/NuCachedSource2.cpp
parentd217a8c4632b3e3065f8c2a26b9ce4dc4c97171f (diff)
downloadframeworks_av-b33d2ac90cfce0fe6db8c3e979e7ae2bbfc28163.zip
frameworks_av-b33d2ac90cfce0fe6db8c3e979e7ae2bbfc28163.tar.gz
frameworks_av-b33d2ac90cfce0fe6db8c3e979e7ae2bbfc28163.tar.bz2
Do not call getEstimatedBandwidth if the streaming is not HTTP-based
Change-Id: I4ab6c57e5b2b989676b8dfbb98402d10a5752261
Diffstat (limited to 'media/libstagefright/NuCachedSource2.cpp')
-rw-r--r--media/libstagefright/NuCachedSource2.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/media/libstagefright/NuCachedSource2.cpp b/media/libstagefright/NuCachedSource2.cpp
index b2ed427..77a6602 100644
--- a/media/libstagefright/NuCachedSource2.cpp
+++ b/media/libstagefright/NuCachedSource2.cpp
@@ -203,13 +203,19 @@ NuCachedSource2::~NuCachedSource2() {
}
status_t NuCachedSource2::getEstimatedBandwidthKbps(int32_t *kbps) {
- HTTPBase* source = static_cast<HTTPBase *>(mSource.get());
- return source->getEstimatedBandwidthKbps(kbps);
+ if (mSource->flags() & kIsHTTPBasedSource) {
+ HTTPBase* source = static_cast<HTTPBase *>(mSource.get());
+ return source->getEstimatedBandwidthKbps(kbps);
+ }
+ return ERROR_UNSUPPORTED;
}
status_t NuCachedSource2::setCacheStatCollectFreq(int32_t freqMs) {
- HTTPBase *source = static_cast<HTTPBase *>(mSource.get());
- return source->setBandwidthStatCollectFreq(freqMs);
+ if (mSource->flags() & kIsHTTPBasedSource) {
+ HTTPBase *source = static_cast<HTTPBase *>(mSource.get());
+ return source->setBandwidthStatCollectFreq(freqMs);
+ }
+ return ERROR_UNSUPPORTED;
}
status_t NuCachedSource2::initCheck() const {
@@ -221,7 +227,9 @@ status_t NuCachedSource2::getSize(off64_t *size) {
}
uint32_t NuCachedSource2::flags() {
- return (mSource->flags() & ~kWantsPrefetching) | kIsCachingDataSource;
+ // Remove HTTP related flags since NuCachedSource2 is not HTTP-based.
+ uint32_t flags = mSource->flags() & ~(kWantsPrefetching | kIsHTTPBasedSource);
+ return (flags | kIsCachingDataSource);
}
void NuCachedSource2::onMessageReceived(const sp<AMessage> &msg) {