diff options
Diffstat (limited to 'media/ndk/NdkMediaFormat.cpp')
-rw-r--r-- | media/ndk/NdkMediaFormat.cpp | 62 |
1 files changed, 38 insertions, 24 deletions
diff --git a/media/ndk/NdkMediaFormat.cpp b/media/ndk/NdkMediaFormat.cpp index c08814f..e1d8c95 100644 --- a/media/ndk/NdkMediaFormat.cpp +++ b/media/ndk/NdkMediaFormat.cpp @@ -56,12 +56,14 @@ void AMediaFormat_getFormat(const AMediaFormat* mData, void* dest) { /* * public function follow */ +EXPORT AMediaFormat *AMediaFormat_new() { ALOGV("ctor"); sp<AMessage> msg = new AMessage(); return AMediaFormat_fromMsg(&msg); } +EXPORT int AMediaFormat_delete(AMediaFormat *mData) { ALOGV("dtor"); delete mData; @@ -69,6 +71,7 @@ int AMediaFormat_delete(AMediaFormat *mData) { } +EXPORT const char* AMediaFormat_toString(AMediaFormat *mData) { sp<AMessage> f = mData->mFormat; String8 ret; @@ -141,22 +144,27 @@ const char* AMediaFormat_toString(AMediaFormat *mData) { return mData->mDebug.string(); } +EXPORT bool AMediaFormat_getInt32(AMediaFormat* format, const char *name, int32_t *out) { return format->mFormat->findInt32(name, out); } +EXPORT bool AMediaFormat_getInt64(AMediaFormat* format, const char *name, int64_t *out) { return format->mFormat->findInt64(name, out); } +EXPORT bool AMediaFormat_getFloat(AMediaFormat* format, const char *name, float *out) { return format->mFormat->findFloat(name, out); } +EXPORT bool AMediaFormat_getSize(AMediaFormat* format, const char *name, size_t *out) { return format->mFormat->findSize(name, out); } +EXPORT bool AMediaFormat_getBuffer(AMediaFormat* format, const char *name, void** data, size_t *outsize) { sp<ABuffer> buf; if (format->mFormat->findBuffer(name, &buf)) { @@ -167,6 +175,7 @@ bool AMediaFormat_getBuffer(AMediaFormat* format, const char *name, void** data, return false; } +EXPORT bool AMediaFormat_getString(AMediaFormat* mData, const char *name, const char **out) { for (size_t i = 0; i < mData->mStringCache.size(); i++) { @@ -186,23 +195,28 @@ bool AMediaFormat_getString(AMediaFormat* mData, const char *name, const char ** return false; } +EXPORT void AMediaFormat_setInt32(AMediaFormat* format, const char *name, int32_t value) { format->mFormat->setInt32(name, value); } +EXPORT void AMediaFormat_setInt64(AMediaFormat* format, const char *name, int64_t value) { format->mFormat->setInt64(name, value); } +EXPORT void AMediaFormat_setFloat(AMediaFormat* format, const char* name, float value) { format->mFormat->setFloat(name, value); } +EXPORT 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)); } +EXPORT 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 @@ -214,30 +228,30 @@ void AMediaFormat_setBuffer(AMediaFormat* format, const char* name, void* data, } -const char* AMEDIAFORMAT_KEY_AAC_PROFILE = "aac-profile"; -const char* AMEDIAFORMAT_KEY_BIT_RATE = "bitrate"; -const char* AMEDIAFORMAT_KEY_CHANNEL_COUNT = "channel-count"; -const char* AMEDIAFORMAT_KEY_CHANNEL_MASK = "channel-mask"; -const char* AMEDIAFORMAT_KEY_COLOR_FORMAT = "color-format"; -const char* AMEDIAFORMAT_KEY_DURATION = "durationUs"; -const char* AMEDIAFORMAT_KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level"; -const char* AMEDIAFORMAT_KEY_FRAME_RATE = "frame-rate"; -const char* AMEDIAFORMAT_KEY_HEIGHT = "height"; -const char* AMEDIAFORMAT_KEY_IS_ADTS = "is-adts"; -const char* AMEDIAFORMAT_KEY_IS_AUTOSELECT = "is-autoselect"; -const char* AMEDIAFORMAT_KEY_IS_DEFAULT = "is-default"; -const char* AMEDIAFORMAT_KEY_IS_FORCED_SUBTITLE = "is-forced-subtitle"; -const char* AMEDIAFORMAT_KEY_I_FRAME_INTERVAL = "i-frame-interval"; -const char* AMEDIAFORMAT_KEY_LANGUAGE = "language"; -const char* AMEDIAFORMAT_KEY_MAX_HEIGHT = "max-height"; -const char* AMEDIAFORMAT_KEY_MAX_INPUT_SIZE = "max-input-size"; -const char* AMEDIAFORMAT_KEY_MAX_WIDTH = "max-width"; -const char* AMEDIAFORMAT_KEY_MIME = "mime"; -const char* AMEDIAFORMAT_KEY_PUSH_BLANK_BUFFERS_ON_STOP = "push-blank-buffers-on-shutdown"; -const char* AMEDIAFORMAT_KEY_REPEAT_PREVIOUS_FRAME_AFTER = "repeat-previous-frame-after"; -const char* AMEDIAFORMAT_KEY_SAMPLE_RATE = "sample-rate"; -const char* AMEDIAFORMAT_KEY_WIDTH = "width"; -const char* AMEDIAFORMAT_KEY_STRIDE = "stride"; +EXPORT const char* AMEDIAFORMAT_KEY_AAC_PROFILE = "aac-profile"; +EXPORT const char* AMEDIAFORMAT_KEY_BIT_RATE = "bitrate"; +EXPORT const char* AMEDIAFORMAT_KEY_CHANNEL_COUNT = "channel-count"; +EXPORT const char* AMEDIAFORMAT_KEY_CHANNEL_MASK = "channel-mask"; +EXPORT const char* AMEDIAFORMAT_KEY_COLOR_FORMAT = "color-format"; +EXPORT const char* AMEDIAFORMAT_KEY_DURATION = "durationUs"; +EXPORT const char* AMEDIAFORMAT_KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level"; +EXPORT const char* AMEDIAFORMAT_KEY_FRAME_RATE = "frame-rate"; +EXPORT const char* AMEDIAFORMAT_KEY_HEIGHT = "height"; +EXPORT const char* AMEDIAFORMAT_KEY_IS_ADTS = "is-adts"; +EXPORT const char* AMEDIAFORMAT_KEY_IS_AUTOSELECT = "is-autoselect"; +EXPORT const char* AMEDIAFORMAT_KEY_IS_DEFAULT = "is-default"; +EXPORT const char* AMEDIAFORMAT_KEY_IS_FORCED_SUBTITLE = "is-forced-subtitle"; +EXPORT const char* AMEDIAFORMAT_KEY_I_FRAME_INTERVAL = "i-frame-interval"; +EXPORT const char* AMEDIAFORMAT_KEY_LANGUAGE = "language"; +EXPORT const char* AMEDIAFORMAT_KEY_MAX_HEIGHT = "max-height"; +EXPORT const char* AMEDIAFORMAT_KEY_MAX_INPUT_SIZE = "max-input-size"; +EXPORT const char* AMEDIAFORMAT_KEY_MAX_WIDTH = "max-width"; +EXPORT const char* AMEDIAFORMAT_KEY_MIME = "mime"; +EXPORT const char* AMEDIAFORMAT_KEY_PUSH_BLANK_BUFFERS_ON_STOP = "push-blank-buffers-on-shutdown"; +EXPORT const char* AMEDIAFORMAT_KEY_REPEAT_PREVIOUS_FRAME_AFTER = "repeat-previous-frame-after"; +EXPORT const char* AMEDIAFORMAT_KEY_SAMPLE_RATE = "sample-rate"; +EXPORT const char* AMEDIAFORMAT_KEY_WIDTH = "width"; +EXPORT const char* AMEDIAFORMAT_KEY_STRIDE = "stride"; } // extern "C" |