summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/ESDS.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/ESDS.cpp')
-rw-r--r--media/libstagefright/ESDS.cpp15
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;