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

Commit ed388ad2 authored by Robert Shih's avatar Robert Shih
Browse files

NuMediaExtractor: remove NuCachedSource2 reference

Bug: 109928575
Change-Id: I6aceea7ddf68e8fc04ffc7f87e9372307723565d
parent b3dac3fd
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -66,6 +66,12 @@ public:

    virtual void close() {};

    virtual void disconnect() {}

    virtual ssize_t getAvailableSize(status_t * /*err*/) {
        return -1;
    }

protected:
    virtual ~DataSourceBase() {}

+6 −13
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@
#include <media/stagefright/NuMediaExtractor.h>

#include "include/ESDS.h"
#include "include/NuCachedSource2.h"

#include <media/DataSource.h>
#include <media/MediaSource.h>
@@ -207,10 +206,7 @@ status_t NuMediaExtractor::setMediaCas(const HInterfaceToken &casToken) {

void NuMediaExtractor::disconnect() {
    if (mDataSource != NULL) {
        // disconnect data source
        if (mDataSource->flags() & DataSource::kIsCachingDataSource) {
            static_cast<NuCachedSource2 *>(mDataSource.get())->disconnect();
        }
        mDataSource->disconnect();
    }
}

@@ -790,16 +786,13 @@ bool NuMediaExtractor::getCachedDuration(
        int64_t *durationUs, bool *eos) const {
    Mutex::Autolock autoLock(mLock);

    int64_t bitrate;
    if ((mDataSource->flags() & DataSource::kIsCachingDataSource)
            && getTotalBitrate(&bitrate)) {
        sp<NuCachedSource2> cachedSource =
            static_cast<NuCachedSource2 *>(mDataSource.get());

    status_t finalStatus;
        size_t cachedDataRemaining =
            cachedSource->approxDataRemaining(&finalStatus);
    ssize_t cachedDataRemaining =
        mDataSource->getAvailableSize(&finalStatus);

    int64_t bitrate;
    if (cachedDataRemaining >= 0
            && getTotalBitrate(&bitrate)) {
        *durationUs = cachedDataRemaining * 8000000ll / bitrate;
        *eos = (finalStatus != OK);
        return true;
+4 −0
Original line number Diff line number Diff line
@@ -51,6 +51,10 @@ struct NuCachedSource2 : public DataSource {
        return mName;
    }

    ssize_t getAvailableSize(status_t *finalStatus) {
        return approxDataRemaining(finalStatus);
    }

    ////////////////////////////////////////////////////////////////////////////

    size_t cachedSize();