已合并
NativeImage新增接口&NativeWindow、NativeBuffer补充错误码说明 #2805
NativeImage新增接口&NativeWindow、NativeBuffer补充错误码说明 #2805
已合并
dingpy创建于 2025年11月26日
共 3 个文件变更+37-3
@@ -417,7 +417,8 @@ int32_t OH_NativeBuffer_MapWaitFence(OH_NativeBuffer *buffer, int32_t fenceFd, v
417 * @param buffer 一个指向{@link OH_NativeBuffer}实例的指针。417 * @param buffer 一个指向{@link OH_NativeBuffer}实例的指针。
418 * @param parcel 一个指向{@link OHIPCParcel}结构体实例的指针,作为出参使用。418 * @param parcel 一个指向{@link OHIPCParcel}结构体实例的指针,作为出参使用。
419 * @return 执行成功时返回SURFACE_ERROR_OK。\n419 * @return 执行成功时返回SURFACE_ERROR_OK。\n
420- * buffer或parcel为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。420+ * buffer或parcel为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
421+ * IPC发送失败返回SURFACE_ERROR_BINDER_ERROR。
421 * @since 23422 * @since 23
422 * @version 1.0423 * @version 1.0
423 */424 */
@@ -432,7 +433,8 @@ int32_t OH_NativeBuffer_WriteToParcel(OH_NativeBuffer* buffer, OHIPCParcel* parc
432 * @param parcel 一个指向{@link OHIPCParcel}的结构体实例的指针。433 * @param parcel 一个指向{@link OHIPCParcel}的结构体实例的指针。
433 * @param buffer 一个指向{@link OH_NativeBuffer}结构体实例的二级指针,作为出参使用。434 * @param buffer 一个指向{@link OH_NativeBuffer}结构体实例的二级指针,作为出参使用。
434 * @return 执行成功时返回SURFACE_ERROR_OK。\n435 * @return 执行成功时返回SURFACE_ERROR_OK。\n
435- * parcel或buffer为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。436+ * parcel或buffer为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
437+ * parcel反序列化失败返回SURFACE_ERROR_ERROR。
李珍
李珍李珍2025年12月1日
  当前建议代码无改动

不是反序列化失败吗?parcel是什么意思

likedislike
436 * @since 23438 * @since 23
437 * @version 1.0439 * @version 1.0
438 */440 */
@@ -460,6 +460,33 @@ int32_t OH_NativeImage_GetColorSpace(OH_NativeImage* image, OH_NativeBuffer_Colo
460 */460 */
461int32_t OH_NativeImage_AcquireLatestNativeWindowBuffer(OH_NativeImage* image,461int32_t OH_NativeImage_AcquireLatestNativeWindowBuffer(OH_NativeImage* image,
462 OHNativeWindowBuffer** nativeWindowBuffer, int* fenceFd);462 OHNativeWindowBuffer** nativeWindowBuffer, int* fenceFd);
463+ 
464+/**
465+ * @brief 查询与{@link OH_NativeImage}关联的纹理是否已释放。\n
466+ * 本接口为非线程安全类型接口。
467+ *
468+ * @syscap SystemCapability.Graphic.Graphic2D.NativeImage
469+ * @param image 指向OH_NativeImage实例的指针。
470+ * @param isReleased 纹理是否已释放。true表示纹理已释放,false表示纹理未释放,作为出参使用。
471+ * @return 执行成功时返回NATIVE_ERROR_OK。\n
472+ * image或isReleased为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。
473+ * @since 23
474+ * @version 1.0
475+ */
476+int32_t OH_NativeImage_IsReleased(OH_NativeImage* image, bool* isReleased);
477+ 
478+/**
479+ * @brief 清除所有{@link OHNativeWindow}的OHNativeWindowBuffer缓存,并将{@link OH_NativeImage}从OpenGL ES上下文中分离。\n
480+ * 本接口为非线程安全类型接口。
481+ *
482+ * @syscap SystemCapability.Graphic.Graphic2D.NativeImage
483+ * @param image 指向OH_NativeImage实例的指针。
484+ * @return 执行成功时返回NATIVE_ERROR_OK。\n
485+ * image为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。
486+ * @since 23
487+ * @version 1.0
488+ */
489+int32_t OH_NativeImage_Release(OH_NativeImage* image);
463#ifdef __cplusplus490#ifdef __cplusplus
464}491}
465#endif492#endif
@@ -910,7 +910,9 @@ int32_t OH_NativeWindow_PreAllocBuffers(OHNativeWindow *window, uint32_t allocBu
910 * @param window 一个指向OHNativeWindow的结构体实例的指针。910 * @param window 一个指向OHNativeWindow的结构体实例的指针。
911 * @param region 一个Region结构体,表示一块脏区域,该区域有内容更新。911 * @param region 一个Region结构体,表示一块脏区域,该区域有内容更新。
912 * @param buffer 一个指向OHNativeWindowBuffer的二级指针。912 * @param buffer 一个指向OHNativeWindowBuffer的二级指针。
913- * @return 返回值为0表示执行成功,其他返回值可参考{@link OHNativeErrorCode}。913+ * @return 执行成功时返回SURFACE_ERROR_OK。\n
914+ * window或buffer为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
915+ * window的surface成员为空指针时返回SURFACE_ERROR_ERROR。
914 * @since 23916 * @since 23
915 * @version 1.0917 * @version 1.0
916 */918 */
@@ -924,6 +926,9 @@ int32_t OH_NativeWindow_LockBuffer(OHNativeWindow* window, Region region, OHNati
924 *926 *
925 * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow927 * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow
926 * @param window 一个指向OHNativeWindow的结构体实例的指针。928 * @param window 一个指向OHNativeWindow的结构体实例的指针。
929+ * @return 执行成功时返回SURFACE_ERROR_OK。\n
葛亚芳
葛亚芳葛亚芳2025年12月3日

梳理一下,哪些是需求哪些是优化? 优化的请先同步修改下DOCS仓,涉及weekly_20251117、weekly_20250915和6.0Release分支

likedislike
dingpy
2025年12月3日 评论:
930+ * window为空指针时返回NATIVE_ERROR_INVALID_ARGUMENTS。\n
931+ * window的surface成员为空指针时返回SURFACE_ERROR_ERROR。
927 * @since 23932 * @since 23
928 * @version 1.0933 * @version 1.0
929 */934 */