Loading media/extractors/mkv/MatroskaExtractor.cpp +8 −5 Original line number Diff line number Diff line Loading @@ -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)) { Loading Loading @@ -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; Loading media/extractors/mp4/MPEG4Extractor.h +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading media/libmediaextractor/DataSourceBase.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -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 media/libmediaextractor/include/media/DataSource.h +28 −0 Original line number Diff line number Diff line Loading @@ -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() {} Loading media/libmediaextractor/include/media/DataSourceBase.h +2 −24 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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: Loading Loading
media/extractors/mkv/MatroskaExtractor.cpp +8 −5 Original line number Diff line number Diff line Loading @@ -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)) { Loading Loading @@ -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; Loading
media/extractors/mp4/MPEG4Extractor.h +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading
media/libmediaextractor/DataSourceBase.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -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
media/libmediaextractor/include/media/DataSource.h +28 −0 Original line number Diff line number Diff line Loading @@ -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() {} Loading
media/libmediaextractor/include/media/DataSourceBase.h +2 −24 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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: Loading