From d0a48761416b7d122dff9b79aafd629e828ba4d2 Mon Sep 17 00:00:00 2001 From: y30025806 Date: Mon, 23 Jun 2025 17:16:49 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E8=A7=84=E8=8C=83=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: y30025806 --- .../multimedia/av_codec/native_avcodec_base.h | 29 +++++++++++++++++++ .../media_foundation/native_avformat.h | 14 +++++++++ 2 files changed, 43 insertions(+) diff --git a/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h b/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h index 9a705a9c..0d4c13ce 100644 --- a/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h +++ b/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h @@ -1016,6 +1016,27 @@ extern const char *OH_MD_KEY_MAX_BITRATE; * @since 20 */ extern const char *OH_MD_KEY_VIDEO_ENCODER_ENABLE_PTS_BASED_RATECONTROL; +/** + * @brief 轨道间参考关系,值类型为int32_t*. + * + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 20 +*/ +extern const char *OH_MD_KEY_REFERENCE_TRACK_IDS; +/** + * @brief 辅助轨参考类型,值类型为string. + * + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 20 +*/ +extern const char *OH_MD_KEY_TRACK_REFERENCE_TYPE; +/** + * @brief 辅助轨的轨道描述信息,值类型为string. + * + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 20 +*/ +extern const char *OH_MD_KEY_TRACK_DESCRIPTION; /** * @brief 媒体类型。 @@ -1033,6 +1054,14 @@ typedef enum OH_MediaType { * @since 12 */ MEDIA_TYPE_SUBTITLE = 2, + /** 时间元数据轨。 + * @since 20 + */ + MEDIA_TYPE_TIMED_METADATA=5, + /** 辅助轨。 + * @since 20 + */ + MEDIA_TYPE_AUXILIARY=6, } OH_MediaType; /** diff --git a/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h b/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h index a0cdab72..879e8915 100644 --- a/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h +++ b/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h @@ -300,6 +300,20 @@ bool OH_AVFormat_GetStringValue(struct OH_AVFormat *format, const char *key, con */ bool OH_AVFormat_GetBuffer(struct OH_AVFormat *format, const char *key, uint8_t **addr, size_t *size); +/** + * @brief 从OH_AVFormat中读取一个int32_t数据的数组。 + * @syscap SystemCapability.Multimedia.Media.Core + * @param format 指向OH_AVFormat实例的指针 + * @param key 要读取数据的键。 + * @param addr 读到数据的内存指针。 + * @param size 读到数据的元素数量。 + * @return 返回值为true表示成功,为false表示失败 + * 可能的失败原因:1.输入format为空指针;2.输入format参数结构校验失败;3.输入key为空指针;4.输入addr为空指针;5.输入size为空指针。 + * @since 20 + * @version 1.0 + */ +bool OH_AVFormat_GetIntBuffer(struct OH_AVFormat *format, const char *key, int32_t **addr, size_t *size); + /** * @brief 返回OH_AVFormat中包含的key-value组成的字符串。最大可返回1024字节的字符串,销毁format时释放字符串指针。 * @syscap SystemCapability.Multimedia.Media.Core -- Gitee From b3ca0fd6697b251412524325cb41e9c540409d96 Mon Sep 17 00:00:00 2001 From: y30025806 Date: Tue, 24 Jun 2025 14:23:27 +0800 Subject: [PATCH 2/5] fix code check Signed-off-by: y30025806 --- zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h b/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h index 0d4c13ce..a557b337 100644 --- a/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h +++ b/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h @@ -1057,11 +1057,11 @@ typedef enum OH_MediaType { /** 时间元数据轨。 * @since 20 */ - MEDIA_TYPE_TIMED_METADATA=5, + MEDIA_TYPE_TIMED_METADATA = 5, /** 辅助轨。 * @since 20 */ - MEDIA_TYPE_AUXILIARY=6, + MEDIA_TYPE_AUXILIARY = 6, } OH_MediaType; /** -- Gitee From b09226623f8784d438bf71f14a04013a32f68869 Mon Sep 17 00:00:00 2001 From: y30025806 Date: Mon, 30 Jun 2025 16:08:06 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=96=87=E6=A1=A3=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: y30025806 --- .../multimedia/av_codec/native_avcodec_base.h | 4 ++-- .../multimedia/media_foundation/native_avformat.h | 13 ++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h b/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h index a557b337..2ba5fd0a 100644 --- a/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h +++ b/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h @@ -1024,14 +1024,14 @@ extern const char *OH_MD_KEY_VIDEO_ENCODER_ENABLE_PTS_BASED_RATECONTROL; */ extern const char *OH_MD_KEY_REFERENCE_TRACK_IDS; /** - * @brief 辅助轨参考类型,值类型为string. + * @brief 辅助轨参考类型,值类型为string。 * * @syscap SystemCapability.Multimedia.Media.CodecBase * @since 20 */ extern const char *OH_MD_KEY_TRACK_REFERENCE_TYPE; /** - * @brief 辅助轨的轨道描述信息,值类型为string. + * @brief 辅助轨的轨道描述信息,值类型为string。 * * @syscap SystemCapability.Multimedia.Media.CodecBase * @since 20 diff --git a/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h b/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h index 879e8915..61cebcf8 100644 --- a/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h +++ b/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h @@ -302,15 +302,22 @@ bool OH_AVFormat_GetBuffer(struct OH_AVFormat *format, const char *key, uint8_t /** * @brief 从OH_AVFormat中读取一个int32_t数据的数组。 + * + * 注意获取的buffer生命周期与OH_AVFormat对象绑定,当format销毁时自动失效。\n + * 如果开发者需要长时间保持它,应用程序必须将数据显式复制到新分配的内存。 * @syscap SystemCapability.Multimedia.Media.Core - * @param format 指向OH_AVFormat实例的指针 + * @param format 指向OH_AVFormat实例的指针。 * @param key 要读取数据的键。 * @param addr 读到数据的内存指针。 * @param size 读到数据的元素数量。 * @return 返回值为true表示成功,为false表示失败 - * 可能的失败原因:1.输入format为空指针;2.输入format参数结构校验失败;3.输入key为空指针;4.输入addr为空指针;5.输入size为空指针。 + * 可能的失败原因: + * 1.输入format为空指针。\n + * 2.输入format参数结构校验失败。\n + * 3.输入key为空指针。\n + * 4.输入addr为空指针。\n + * 5.输入size为空指针。 * @since 20 - * @version 1.0 */ bool OH_AVFormat_GetIntBuffer(struct OH_AVFormat *format, const char *key, int32_t **addr, size_t *size); -- Gitee From 4f74e774e371a8dd7c910ab27f7fd2d28818e484 Mon Sep 17 00:00:00 2001 From: y30025806 Date: Mon, 30 Jun 2025 16:09:04 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=96=87=E6=A1=A3=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: y30025806 --- zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h b/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h index 2ba5fd0a..1189d9f8 100644 --- a/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h +++ b/zh-cn/native_sdk/multimedia/av_codec/native_avcodec_base.h @@ -1017,7 +1017,7 @@ extern const char *OH_MD_KEY_MAX_BITRATE; */ extern const char *OH_MD_KEY_VIDEO_ENCODER_ENABLE_PTS_BASED_RATECONTROL; /** - * @brief 轨道间参考关系,值类型为int32_t*. + * @brief 轨道间参考关系,值类型为int32_t*。 * * @syscap SystemCapability.Multimedia.Media.CodecBase * @since 20 -- Gitee From 5c90983819b0b456a7f902324b2047fd452ed69c Mon Sep 17 00:00:00 2001 From: y30025806 Date: Mon, 30 Jun 2025 17:36:49 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=96=87=E6=A1=A3=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: y30025806 --- .../multimedia/media_foundation/native_avformat.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h b/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h index 61cebcf8..2b81a45a 100644 --- a/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h +++ b/zh-cn/native_sdk/multimedia/media_foundation/native_avformat.h @@ -304,7 +304,7 @@ bool OH_AVFormat_GetBuffer(struct OH_AVFormat *format, const char *key, uint8_t * @brief 从OH_AVFormat中读取一个int32_t数据的数组。 * * 注意获取的buffer生命周期与OH_AVFormat对象绑定,当format销毁时自动失效。\n - * 如果开发者需要长时间保持它,应用程序必须将数据显式复制到新分配的内存。 + * 如果开发者需要长时间保持绑定,应用程序必须将数据显式复制到新分配的内存。 * @syscap SystemCapability.Multimedia.Media.Core * @param format 指向OH_AVFormat实例的指针。 * @param key 要读取数据的键。 @@ -312,11 +312,11 @@ bool OH_AVFormat_GetBuffer(struct OH_AVFormat *format, const char *key, uint8_t * @param size 读到数据的元素数量。 * @return 返回值为true表示成功,为false表示失败 * 可能的失败原因: - * 1.输入format为空指针。\n - * 2.输入format参数结构校验失败。\n - * 3.输入key为空指针。\n - * 4.输入addr为空指针。\n - * 5.输入size为空指针。 + * 1. 输入format为空指针。\n + * 2. 输入format参数结构校验失败。\n + * 3. 输入key为空指针。\n + * 4. 输入addr为空指针。\n + * 5. 输入size为空指针。 * @since 20 */ bool OH_AVFormat_GetIntBuffer(struct OH_AVFormat *format, const char *key, int32_t **addr, size_t *size); -- Gitee