diff options
Diffstat (limited to 'media/libstagefright/ESDS.cpp')
-rw-r--r-- | media/libstagefright/ESDS.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/media/libstagefright/ESDS.cpp b/media/libstagefright/ESDS.cpp index 28d338c..b7c8e0c 100644 --- a/media/libstagefright/ESDS.cpp +++ b/media/libstagefright/ESDS.cpp @@ -25,7 +25,8 @@ ESDS::ESDS(const void *data, size_t size) mSize(size), mInitCheck(NO_INIT), mDecoderSpecificOffset(0), - mDecoderSpecificLength(0) { + mDecoderSpecificLength(0), + mObjectTypeIndication(0) { memcpy(mData, data, size); mInitCheck = parse(); @@ -40,6 +41,16 @@ status_t ESDS::InitCheck() const { return mInitCheck; } +status_t ESDS::getObjectTypeIndication(uint8_t *objectTypeIndication) const { + if (mInitCheck != OK) { + return mInitCheck; + } + + *objectTypeIndication = mObjectTypeIndication; + + return OK; +} + status_t ESDS::getCodecSpecificInfo(const void **data, size_t *size) const { if (mInitCheck != OK) { return mInitCheck; @@ -164,6 +175,8 @@ status_t ESDS::parseDecoderConfigDescriptor(size_t offset, size_t size) { return ERROR_MALFORMED; } + mObjectTypeIndication = mData[offset]; + offset += 13; size -= 13; |