Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b33d2ac9 authored by James Dong's avatar James Dong
Browse files

Do not call getEstimatedBandwidth if the streaming is not HTTP-based

Change-Id: I4ab6c57e5b2b989676b8dfbb98402d10a5752261
parent d217a8c4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ public:
        kWantsPrefetching      = 1,
        kStreamedFromLocalHost = 2,
        kIsCachingDataSource   = 4,
        kIsHTTPBasedSource     = 8,
    };

    static sp<DataSource> CreateFromURI(
+1 −1
Original line number Diff line number Diff line
@@ -715,7 +715,7 @@ void AwesomePlayer::onBufferingUpdate() {

void AwesomePlayer::sendCacheStats() {
    sp<MediaPlayerBase> listener = mListener.promote();
    if (listener != NULL) {
    if (listener != NULL && mCachedSource != NULL) {
        int32_t kbps = 0;
        status_t err = mCachedSource->getEstimatedBandwidthKbps(&kbps);
        if (err == OK) {
+13 −5
Original line number Diff line number Diff line
@@ -203,14 +203,20 @@ NuCachedSource2::~NuCachedSource2() {
}

status_t NuCachedSource2::getEstimatedBandwidthKbps(int32_t *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) {
    if (mSource->flags() & kIsHTTPBasedSource) {
        HTTPBase *source = static_cast<HTTPBase *>(mSource.get());
        return source->setBandwidthStatCollectFreq(freqMs);
    }
    return ERROR_UNSUPPORTED;
}

status_t NuCachedSource2::initCheck() const {
    return mSource->initCheck();
@@ -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) {
+1 −1
Original line number Diff line number Diff line
@@ -464,7 +464,7 @@ status_t NuHTTPDataSource::getSize(off64_t *size) {
}

uint32_t NuHTTPDataSource::flags() {
    return kWantsPrefetching;
    return kWantsPrefetching | kIsHTTPBasedSource;
}

// static
+1 −1
Original line number Diff line number Diff line
@@ -218,7 +218,7 @@ status_t ChromiumHTTPDataSource::getSize(off64_t *size) {
}

uint32_t ChromiumHTTPDataSource::flags() {
    return kWantsPrefetching;
    return kWantsPrefetching | kIsHTTPBasedSource;
}

// static
Loading