From deeb33a09c33fa799be0daa556799a9c238792f3 Mon Sep 17 00:00:00 2001 From: wangyan Date: Mon, 25 Mar 2024 18:24:08 +0800 Subject: [PATCH 1/3] =?UTF-8?q?AVSource=E6=94=AF=E6=8C=81=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E6=95=B0=E6=8D=AE=E6=BA=90NDK=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangyan --- multimedia/av_codec/native_avcodec_base.h | 31 +++++++++++++++++++++++ multimedia/av_codec/native_avsource.h | 9 +++++++ 2 files changed, 40 insertions(+) diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index b26dc2454..d084e00ba 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -150,6 +150,37 @@ typedef struct OH_AVCodecCallback { OH_AVCodecOnNewOutputBuffer onNewOutputBuffer; } OH_AVCodecCallback; +/** + * @brief The function pointer will be called to get sequenced media data. + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @param data The buffer to fill. + * @param length Length of data to read. + * @param offset Start offset to read. + * @return Actual length of data read to the buffer. + * @since 12 +*/ +typedef int32_t (*OH_AVDataSourceReadAt)(OH_AVBuffer *data, int32_t length, int64_t offset); + +/** + * @brief User customized data source. + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 12 +*/ +typedef struct OH_AVDataSource { + /** + * @brief Total size of the data source. + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 12 + */ + int64_t size; + /** + * @brief Data callback of the data source. + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 12 + */ + OH_AVDataSourceReadAt readAt; +} OH_AVDataSource; + /** * @brief Enumerates the MIME types of audio and video codecs * @syscap SystemCapability.Multimedia.Media.CodecBase diff --git a/multimedia/av_codec/native_avsource.h b/multimedia/av_codec/native_avsource.h index 5a9e71e0c..a8dca0837 100644 --- a/multimedia/av_codec/native_avsource.h +++ b/multimedia/av_codec/native_avsource.h @@ -27,6 +27,15 @@ extern "C" { typedef struct OH_AVSource OH_AVSource; +/** + * @brief Creates an OH_AVSource instance that models the media with data source. + * @syscap SystemCapability.Multimedia.Media.Spliter + * @param dataSource User customized media resource. + * @return Returns a pointer to an OH_AVSource instance + * @since 12 +*/ +OH_AVSource *OH_AVSource_CreateWithDataSource(OH_AVDataSource *dataSource); + /** * @brief Creates an OH_AVSource instance that models the media at the URI. * @syscap SystemCapability.Multimedia.Media.Spliter -- Gitee From 18739e175bf0ee4765a2fb6f89a41be7dc8a6b40 Mon Sep 17 00:00:00 2001 From: wangyan Date: Tue, 26 Mar 2024 16:57:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=92=8C=E6=B3=A8=E9=87=8A=EF=BC=8C=E8=B7=9F=E7=94=B5=E5=AD=90?= =?UTF-8?q?=E6=B5=81=E4=BF=9D=E6=8C=81=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangyan --- multimedia/av_codec/native_avcodec_base.h | 26 +++++++---------------- multimedia/av_codec/native_avsource.h | 4 ++-- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index d084e00ba..fe41e2620 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -151,33 +151,23 @@ typedef struct OH_AVCodecCallback { } OH_AVCodecCallback; /** - * @brief The function pointer will be called to get sequenced media data. + * @brief the function pointer will be called to get sequence media data * @syscap SystemCapability.Multimedia.Media.CodecBase - * @param data The buffer to fill. - * @param length Length of data to read. - * @param offset Start offset to read. - * @return Actual length of data read to the buffer. + * @param data OH_AVBuffer buffer to fill + * @param length expected to read size; + * @param pos current read offset + * @return Actual size of data read to the buffer. * @since 12 -*/ -typedef int32_t (*OH_AVDataSourceReadAt)(OH_AVBuffer *data, int32_t length, int64_t offset); + */ +typedef int32_t (*OH_AVDataSourceReadAt)(OH_AVBuffer *data, int32_t length, int64_t pos); /** * @brief User customized data source. * @syscap SystemCapability.Multimedia.Media.CodecBase * @since 12 -*/ + */ typedef struct OH_AVDataSource { - /** - * @brief Total size of the data source. - * @syscap SystemCapability.Multimedia.Media.CodecBase - * @since 12 - */ int64_t size; - /** - * @brief Data callback of the data source. - * @syscap SystemCapability.Multimedia.Media.CodecBase - * @since 12 - */ OH_AVDataSourceReadAt readAt; } OH_AVDataSource; diff --git a/multimedia/av_codec/native_avsource.h b/multimedia/av_codec/native_avsource.h index a8dca0837..a211d6950 100644 --- a/multimedia/av_codec/native_avsource.h +++ b/multimedia/av_codec/native_avsource.h @@ -28,9 +28,9 @@ extern "C" { typedef struct OH_AVSource OH_AVSource; /** - * @brief Creates an OH_AVSource instance that models the media with data source. + * @brief Creates an OH_AVSource instance that models the media with dataSource. * @syscap SystemCapability.Multimedia.Media.Spliter - * @param dataSource User customized media resource. + * @param dataSource An Struct for a remote media resource. * @return Returns a pointer to an OH_AVSource instance * @since 12 */ -- Gitee From a8d9154463d0abb38a5a46b1528d8eca3c4806ce Mon Sep 17 00:00:00 2001 From: wangyan Date: Wed, 27 Mar 2024 10:26:01 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=A1=A5=E5=85=85ndk=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangyan --- .../av_codec/avsource/libnative_media_avsource.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/multimedia/av_codec/avsource/libnative_media_avsource.ndk.json b/multimedia/av_codec/avsource/libnative_media_avsource.ndk.json index 090ca1030..8758d51bb 100644 --- a/multimedia/av_codec/avsource/libnative_media_avsource.ndk.json +++ b/multimedia/av_codec/avsource/libnative_media_avsource.ndk.json @@ -1,4 +1,8 @@ [ + { + "first_introduced": "12", + "name": "OH_AVSource_CreateWithDataSource" + }, { "first_introduced": "10", "name": "OH_AVSource_CreateWithURI" -- Gitee