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

Commit b486b52b authored by Dongwon Kang's avatar Dongwon Kang
Browse files

Remove system library classes from DataSourceBase

Test: build.
Bug: 67908556
Change-Id: Ib56b3cd92ecc781fc2c4ff3696e71051ce8e212d
parent c9e3a694
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -542,12 +542,11 @@ static unsigned U24_AT(const uint8_t *ptr) {
    return ptr[0] << 16 | ptr[1] << 8 | ptr[2];
}

static AString uriDebugString(const AString &uri) {
static AString uriDebugString(const char *uri) {
    // find scheme
    AString scheme;
    const char *chars = uri.c_str();
    for (size_t i = 0; i < uri.size(); i++) {
        const char c = chars[i];
    for (size_t i = 0; i < strlen(uri); i++) {
        const char c = uri[i];
        if (!isascii(c)) {
            break;
        } else if (isalpha(c)) {
@@ -899,8 +898,12 @@ MatroskaExtractor::MatroskaExtractor(DataSourceBase *source)
    }

    if (ret < 0) {
        char uri[1024];
        if(!mDataSource->getUri(uri, sizeof(uri))) {
            uri[0] = '\0';
        }
        ALOGW("Corrupt %s source: %s", mIsWebm ? "webm" : "matroska",
                uriDebugString(mDataSource->getUri()).c_str());
                uriDebugString(uri).c_str());
        delete mSegment;
        mSegment = NULL;
        return;
+2 −1
Original line number Diff line number Diff line
@@ -24,9 +24,10 @@
#include <media/MediaExtractor.h>
#include <media/stagefright/MetaDataBase.h>
#include <media/stagefright/foundation/AString.h>
#include <utils/KeyedVector.h>
#include <utils/List.h>
#include <utils/Vector.h>
#include <utils/String8.h>
#include <utils/Vector.h>

namespace android {
struct AMessage;
+2 −2
Original line number Diff line number Diff line
@@ -123,8 +123,8 @@ status_t DataSourceBase::getSize(off64_t *size) {
    return ERROR_UNSUPPORTED;
}

String8 DataSourceBase::getMIMEType() const {
    return String8("application/octet-stream");
bool DataSourceBase::getUri(char *uriString __unused, size_t bufferSize __unused) {
    return false;
}

}  // namespace android
+28 −0
Original line number Diff line number Diff line
@@ -41,6 +41,34 @@ public:
        return nullptr;
    }

    virtual String8 toString() {
        return String8("<unspecified>");
    }

    virtual status_t reconnectAtOffset(off64_t /*offset*/) {
        return ERROR_UNSUPPORTED;
    }

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

    // for DRM
    virtual sp<DecryptHandle> DrmInitialization(const char * /*mime*/ = NULL) {
        return NULL;
    }

    virtual String8 getUri() {
        return String8();
    }

    virtual bool getUri(char *uriString, size_t bufferSize) final {
        int ret = snprintf(uriString, bufferSize, "%s", getUri().c_str());
        return ret >= 0 && static_cast<size_t>(ret) < bufferSize;
    }

    virtual String8 getMIMEType() const {
        return String8("application/octet-stream");
    }

protected:
    virtual ~DataSource() {}

+2 −24
Original line number Diff line number Diff line
@@ -19,10 +19,7 @@
#define DATA_SOURCE_BASE_H_

#include <sys/types.h>
#include <media/stagefright/MediaErrors.h>
#include <utils/Errors.h>
#include <utils/threads.h>
#include <drm/DrmManagerClient.h>

namespace android {

@@ -61,31 +58,12 @@ public:
    // May return ERROR_UNSUPPORTED.
    virtual status_t getSize(off64_t *size);

    virtual bool getUri(char *uriString, size_t bufferSize);

    virtual uint32_t flags() {
        return 0;
    }

    virtual String8 toString() {
        return String8("<unspecified>");
    }

    virtual status_t reconnectAtOffset(off64_t /*offset*/) {
        return ERROR_UNSUPPORTED;
    }

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

    // for DRM
    virtual sp<DecryptHandle> DrmInitialization(const char * /*mime*/ = NULL) {
        return NULL;
    }

    virtual String8 getUri() {
        return String8();
    }

    virtual String8 getMIMEType() const;

    virtual void close() {};

protected: