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

Commit 62bcf26e authored by Jeffrey Tinker's avatar Jeffrey Tinker Committed by Android Git Automerger
Browse files

am 6e5cdca1: am ef89cc14: Merge "Multi-repository checkin, goes with...

am 6e5cdca1: am ef89cc14: Merge "Multi-repository checkin, goes with https://android-git.corp.google.com/g/111038" into honeycomb-mr2

* commit '6e5cdca12bdbc26dd4d4eb1b1d986783b13601aa':
  Multi-repository checkin, goes with https://android-git.corp.google.com/g/111038
parents 77a88767 b1d71370
Loading
Loading
Loading
Loading
+9 −13
Original line number Diff line number Diff line
@@ -45,8 +45,7 @@ namespace android {
static Mutex gWVMutex;

WVMExtractor::WVMExtractor(const sp<DataSource> &source)
    : mDataSource(source),
      mUseAdaptiveStreaming(false) {
    : mDataSource(source) {
    {
        Mutex::Autolock autoLock(gWVMutex);
        if (gVendorLibHandle == NULL) {
@@ -59,13 +58,12 @@ WVMExtractor::WVMExtractor(const sp<DataSource> &source)
        }
    }

    typedef MediaExtractor *(*GetInstanceFunc)(sp<DataSource>);
    typedef WVMLoadableExtractor *(*GetInstanceFunc)(sp<DataSource>);
    GetInstanceFunc getInstanceFunc =
        (GetInstanceFunc) dlsym(gVendorLibHandle,
                "_ZN7android11GetInstanceENS_2spINS_10DataSourceEEE");

    if (getInstanceFunc) {
        LOGD("Calling GetInstanceFunc");
        mImpl = (*getInstanceFunc)(source);
        CHECK(mImpl != NULL);
    } else {
@@ -102,19 +100,17 @@ sp<MetaData> WVMExtractor::getMetaData() {
}

int64_t WVMExtractor::getCachedDurationUs(status_t *finalStatus) {
    // TODO: Fill this with life.

    *finalStatus = OK;

    if (mImpl == NULL) {
        return 0;
    }

void WVMExtractor::setAdaptiveStreamingMode(bool adaptive) {
    mUseAdaptiveStreaming = adaptive;
    return mImpl->getCachedDurationUs(finalStatus);
}

bool WVMExtractor::getAdaptiveStreamingMode() const {
    return mUseAdaptiveStreaming;
void WVMExtractor::setAdaptiveStreamingMode(bool adaptive) {
    if (mImpl != NULL) {
        mImpl->setAdaptiveStreamingMode(adaptive);
    }
}

} //namespace android
+10 −6
Original line number Diff line number Diff line
@@ -25,6 +25,15 @@ namespace android {

class DataSource;

class WVMLoadableExtractor : public MediaExtractor {
public:
    WVMLoadableExtractor() {}
    virtual ~WVMLoadableExtractor() {}

    virtual int64_t getCachedDurationUs(status_t *finalStatus) = 0;
    virtual void setAdaptiveStreamingMode(bool adaptive) = 0;
};

class WVMExtractor : public MediaExtractor {
public:
    WVMExtractor(const sp<DataSource> &source);
@@ -49,20 +58,15 @@ public:
    // is used.
    void setAdaptiveStreamingMode(bool adaptive);

    // Retrieve the adaptive streaming mode used by the WV component.
    bool getAdaptiveStreamingMode() const;

protected:
    virtual ~WVMExtractor();

private:
    sp<DataSource> mDataSource;
    sp<MediaExtractor> mImpl;
    bool mUseAdaptiveStreaming;
    sp<WVMLoadableExtractor> mImpl;

    WVMExtractor(const WVMExtractor &);
    WVMExtractor &operator=(const WVMExtractor &);

};

}  // namespace android