Loading include/ndk/NdkMediaFormat.h +20 −2 Original line number Diff line number Diff line Loading @@ -48,14 +48,32 @@ const char* AMediaFormat_toString(AMediaFormat*); bool AMediaFormat_getInt32(AMediaFormat*, const char *name, int32_t *out); bool AMediaFormat_getInt64(AMediaFormat*, const char *name, int64_t *out); bool AMediaFormat_getFloat(AMediaFormat*, const char *name, float *out); bool AMediaFormat_getDouble(AMediaFormat*, const char *name, double *out); bool AMediaFormat_getSize(AMediaFormat*, const char *name, size_t *out); /** * The returned data is owned by the format and remains valid as long as the named entry * is part of the format. */ bool AMediaFormat_getBuffer(AMediaFormat*, const char *name, void** data, size_t *size); /** * The returned string is owned by the format, and remains valid until the next call to getString, * or until the format is deleted. */ bool AMediaFormat_getString(AMediaFormat*, const char *name, const char **out); void AMediaFormat_setInt32(AMediaFormat*, const char* name, int32_t value); void AMediaFormat_setInt64(AMediaFormat*, const char* name, int64_t value); void AMediaFormat_setFloat(AMediaFormat*, const char* name, float value); /** * The provided string is copied into the format. */ void AMediaFormat_setString(AMediaFormat*, const char* name, const char* value); /** * The provided data is copied into the format. */ void AMediaFormat_setBuffer(AMediaFormat*, const char* name, void* data, size_t size); /** * XXX should these be ints/enums that we look up in a table as needed? */ Loading media/ndk/NdkMediaFormat.cpp +44 −10 Original line number Diff line number Diff line Loading @@ -141,24 +141,30 @@ const char* AMediaFormat_toString(AMediaFormat *mData) { return mData->mDebug.string(); } bool AMediaFormat_getInt32(AMediaFormat* mData, const char *name, int32_t *out) { return mData->mFormat->findInt32(name, out); bool AMediaFormat_getInt32(AMediaFormat* format, const char *name, int32_t *out) { return format->mFormat->findInt32(name, out); } bool AMediaFormat_getInt64(AMediaFormat* mData, const char *name, int64_t *out) { return mData->mFormat->findInt64(name, out); bool AMediaFormat_getInt64(AMediaFormat* format, const char *name, int64_t *out) { return format->mFormat->findInt64(name, out); } bool AMediaFormat_getFloat(AMediaFormat* mData, const char *name, float *out) { return mData->mFormat->findFloat(name, out); bool AMediaFormat_getFloat(AMediaFormat* format, const char *name, float *out) { return format->mFormat->findFloat(name, out); } bool AMediaFormat_getDouble(AMediaFormat* mData, const char *name, double *out) { return mData->mFormat->findDouble(name, out); bool AMediaFormat_getSize(AMediaFormat* format, const char *name, size_t *out) { return format->mFormat->findSize(name, out); } bool AMediaFormat_getSize(AMediaFormat* mData, const char *name, size_t *out) { return mData->mFormat->findSize(name, out); bool AMediaFormat_getBuffer(AMediaFormat* format, const char *name, void** data, size_t *outsize) { sp<ABuffer> buf; if (format->mFormat->findBuffer(name, &buf)) { *data = buf->data() + buf->offset(); *outsize = buf->size(); return true; } return false; } bool AMediaFormat_getString(AMediaFormat* mData, const char *name, const char **out) { Loading @@ -180,6 +186,34 @@ bool AMediaFormat_getString(AMediaFormat* mData, const char *name, const char ** return false; } void AMediaFormat_setInt32(AMediaFormat* format, const char *name, int32_t value) { format->mFormat->setInt32(name, value); } void AMediaFormat_setInt64(AMediaFormat* format, const char *name, int64_t value) { format->mFormat->setInt64(name, value); } void AMediaFormat_setFloat(AMediaFormat* format, const char* name, float value) { format->mFormat->setFloat(name, value); } void AMediaFormat_setString(AMediaFormat* format, const char* name, const char* value) { // AMessage::setString() makes a copy of the string format->mFormat->setString(name, value, strlen(value)); } void AMediaFormat_setBuffer(AMediaFormat* format, const char* name, void* data, size_t size) { // the ABuffer(void*, size_t) constructor doesn't take ownership of the data, so create // a new buffer and copy the data into it sp<ABuffer> buf = new ABuffer(size); memcpy(buf->data(), data, size); buf->setRange(0, size); // AMessage::setBuffer() increases the refcount of the buffer format->mFormat->setBuffer(name, buf); } const char* AMEDIAFORMAT_KEY_AAC_PROFILE = "aac-profile"; const char* AMEDIAFORMAT_KEY_BIT_RATE = "bitrate"; const char* AMEDIAFORMAT_KEY_CHANNEL_COUNT = "channel-count"; Loading Loading
include/ndk/NdkMediaFormat.h +20 −2 Original line number Diff line number Diff line Loading @@ -48,14 +48,32 @@ const char* AMediaFormat_toString(AMediaFormat*); bool AMediaFormat_getInt32(AMediaFormat*, const char *name, int32_t *out); bool AMediaFormat_getInt64(AMediaFormat*, const char *name, int64_t *out); bool AMediaFormat_getFloat(AMediaFormat*, const char *name, float *out); bool AMediaFormat_getDouble(AMediaFormat*, const char *name, double *out); bool AMediaFormat_getSize(AMediaFormat*, const char *name, size_t *out); /** * The returned data is owned by the format and remains valid as long as the named entry * is part of the format. */ bool AMediaFormat_getBuffer(AMediaFormat*, const char *name, void** data, size_t *size); /** * The returned string is owned by the format, and remains valid until the next call to getString, * or until the format is deleted. */ bool AMediaFormat_getString(AMediaFormat*, const char *name, const char **out); void AMediaFormat_setInt32(AMediaFormat*, const char* name, int32_t value); void AMediaFormat_setInt64(AMediaFormat*, const char* name, int64_t value); void AMediaFormat_setFloat(AMediaFormat*, const char* name, float value); /** * The provided string is copied into the format. */ void AMediaFormat_setString(AMediaFormat*, const char* name, const char* value); /** * The provided data is copied into the format. */ void AMediaFormat_setBuffer(AMediaFormat*, const char* name, void* data, size_t size); /** * XXX should these be ints/enums that we look up in a table as needed? */ Loading
media/ndk/NdkMediaFormat.cpp +44 −10 Original line number Diff line number Diff line Loading @@ -141,24 +141,30 @@ const char* AMediaFormat_toString(AMediaFormat *mData) { return mData->mDebug.string(); } bool AMediaFormat_getInt32(AMediaFormat* mData, const char *name, int32_t *out) { return mData->mFormat->findInt32(name, out); bool AMediaFormat_getInt32(AMediaFormat* format, const char *name, int32_t *out) { return format->mFormat->findInt32(name, out); } bool AMediaFormat_getInt64(AMediaFormat* mData, const char *name, int64_t *out) { return mData->mFormat->findInt64(name, out); bool AMediaFormat_getInt64(AMediaFormat* format, const char *name, int64_t *out) { return format->mFormat->findInt64(name, out); } bool AMediaFormat_getFloat(AMediaFormat* mData, const char *name, float *out) { return mData->mFormat->findFloat(name, out); bool AMediaFormat_getFloat(AMediaFormat* format, const char *name, float *out) { return format->mFormat->findFloat(name, out); } bool AMediaFormat_getDouble(AMediaFormat* mData, const char *name, double *out) { return mData->mFormat->findDouble(name, out); bool AMediaFormat_getSize(AMediaFormat* format, const char *name, size_t *out) { return format->mFormat->findSize(name, out); } bool AMediaFormat_getSize(AMediaFormat* mData, const char *name, size_t *out) { return mData->mFormat->findSize(name, out); bool AMediaFormat_getBuffer(AMediaFormat* format, const char *name, void** data, size_t *outsize) { sp<ABuffer> buf; if (format->mFormat->findBuffer(name, &buf)) { *data = buf->data() + buf->offset(); *outsize = buf->size(); return true; } return false; } bool AMediaFormat_getString(AMediaFormat* mData, const char *name, const char **out) { Loading @@ -180,6 +186,34 @@ bool AMediaFormat_getString(AMediaFormat* mData, const char *name, const char ** return false; } void AMediaFormat_setInt32(AMediaFormat* format, const char *name, int32_t value) { format->mFormat->setInt32(name, value); } void AMediaFormat_setInt64(AMediaFormat* format, const char *name, int64_t value) { format->mFormat->setInt64(name, value); } void AMediaFormat_setFloat(AMediaFormat* format, const char* name, float value) { format->mFormat->setFloat(name, value); } void AMediaFormat_setString(AMediaFormat* format, const char* name, const char* value) { // AMessage::setString() makes a copy of the string format->mFormat->setString(name, value, strlen(value)); } void AMediaFormat_setBuffer(AMediaFormat* format, const char* name, void* data, size_t size) { // the ABuffer(void*, size_t) constructor doesn't take ownership of the data, so create // a new buffer and copy the data into it sp<ABuffer> buf = new ABuffer(size); memcpy(buf->data(), data, size); buf->setRange(0, size); // AMessage::setBuffer() increases the refcount of the buffer format->mFormat->setBuffer(name, buf); } const char* AMEDIAFORMAT_KEY_AAC_PROFILE = "aac-profile"; const char* AMEDIAFORMAT_KEY_BIT_RATE = "bitrate"; const char* AMEDIAFORMAT_KEY_CHANNEL_COUNT = "channel-count"; Loading