From: Gilbok Lee Date: Thu, 21 Mar 2024 05:27:39 +0000 (+0900) Subject: Add dummy APIs and enum for unified X-Git-Tag: accepted/tizen/unified/20240326.105056^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F03%2F308303%2F2;p=platform%2Fcore%2Fmultimedia%2Ftrackrenderer.git Add dummy APIs and enum for unified [Version] 0.0.55 Change-Id: Id6032fe052a17c73b946a18b9ec7c458d84537af --- diff --git a/include/trackrenderer_capi/trackrenderer_capi.h b/include/trackrenderer_capi/trackrenderer_capi.h index ae2aec1..c3ec401 100644 --- a/include/trackrenderer_capi/trackrenderer_capi.h +++ b/include/trackrenderer_capi/trackrenderer_capi.h @@ -172,11 +172,17 @@ enum TrackRendererRscAllocPolicy { */ kTrackRendererRscAllocConditional, /** - * @description exclusive no explicit policy, RM will return available + * @description inapp multiview policy, RM will return available * resources. * @version 6.0 */ - kTrackRendererRscAllocExclusiveNoExplicit, + kTrackRendererRscAllocInAppMultiview, + /** + * @description Forced to allocate mfc decoder used scenario of get decoded data out. + * resources. + * @version 6.0 + */ + kTrackRendererRscAllocExclusiveMfcForced }; /** @@ -3141,6 +3147,112 @@ int trackrenderer_set_video_par_dar(TrackRendererHandle handle, */ int trackrenderer_set_anti_acoustic_shock(TrackRendererHandle handle); +/** + * @brief Set on off video clone mode. + * @description Main scaler output is copied to sub scaler. Same content is + * displayed on two area. + * @param [in] handle : trackrenderer handle ptr. + * @param [in] on : video clone mode on/off. + * (@c true = on, @c false = off) + * @return 0 on success, otherwise -1 failed. + * @pre The trackrenderer must be at least created. + * @code + * trackrenderer_set_display_visible(handle, false); + * trackrenderer_set_display_mode(handle,kTrackRendererDisplayModeDstRoiAutoAsepct)); + * TrackRendererGeometry main_roi = {0, 0, 960, 540}; + * TrackRendererGeometry sub_roi = {960, 0, 960, 540}; + * trackrenderer_set_display_clone_mode_roi(handle, &main_roi, &sub_roi); + * trackrnederer_set_video_clone_mode(handle, true); + * trackrenderer_set_display_visible(handle, true); + * //your logic + * trackrenderer_destroy(handle); + * clone mode roi should be set before video clone mode on. + * trackrenderer_set_display_clone_mode_roi() + * @endcode + * @post None + * @exception None + * @remark Video clone mode use main decoder, main scaler and sub scaler. + * In order to use this api, Application scenario must guarantee to be available + * for these resources. + * @version 6.3 + * @see trackrenderer_create() \n + * trackrenderer_set_display_clone_mode_roi() \n + * trackrenderer_set_display_mode() \n + * trackrenderer_set_display_visible() + */ +int trackrenderer_set_video_clone_mode(TrackRendererHandle handle, bool on); + +/** + * @brief Set the ROIs area of display for video clone mode. + * @description In this function set contents rendering range. + * @param [in] handle : trackrenderer handle ptr. + * @param [in] main_roi : Roi Geometry for main. + * @param [in] sub_roi : Roi Geometry for sub. + * @return Return 0 if rendering range is successfully set or + * rendering range is stored for future video clone mode + * displaying. Otherwise -1 if the trackrenderer is not even setup. + * @code + * trackrenderer_create(&handle); + * trackrenderer_set_display_mode( + * handle, kTrackRendererDisplayModeDstRoiAutoAsepct)); + * TrackRendererGeometry main_roi = {0, 0, 960, 540}; + * TrackRendererGeometry sub_roi = {960, 0, 960, 540}; + * trackrenderer_set_display_clone_mode_roi(handle, &main_roi, + * &sub_roi); + * //your logic + * trackrenderer_destroy(handle); + * @endcode + * @pre The trackrenderer must be at least created. + * The display mode should be set to + * kTrackRendererDisplayModeDstRoi or + * kTrackRendererDisplayModeDstRoiAutoAsepct. + * @post None + * @exception None + * @version 6.3 + * @remark The minimum value of width and height are 1. Main and sub roi + * area must not be overlap. + * @see trackrenderer_create() \n + * trackrenderer_set_video_clone_mode() + */ +int trackrenderer_set_display_clone_mode_roi( + TrackRendererHandle handle, TrackRendererGeometry* main_roi, + TrackRendererGeometry* sub_roi); + +/** + * @brief Set the video display mode using int value. + * @description In this function set how display shows. If the + * trackrenderer is not prepared to update the display yet, the + * trackrenderer stored the mode and update display after + * trackrenderer is ready to update display. + * @param [in] handle : trackrenderer handle ptr. + * @param [in] mode : int type casting value from TrackRendererDisplayMode enum. + * @return Return 0 if rendering mode is successfully applied or stored + * for future displaying. + * Otherwise -1 if the trackrenderer is not even setup. + * @pre The trackrenderer must be at least created. + * @post None + * @exception None + * @version 6.3 + * @remark None + * @see trackrenderer_set_display_mode() + */ +int trackrenderer_set_display_mode_ex(TrackRendererHandle handle, int mode); + +/** + * @brief Get trackrenderer video display mode. + * @description In this function get what mode trackrenderer displaying + * contents. + * @param [in] handle : trackrenderer handle ptr. + * @param [out] mode : int type casting value from TrackRendererDisplayMode enum. + * @pre The trackrenderer must be at least created. + * @post None + * @exception None + * @version 6.3 + * @see trackrenderer_create() \n + * trackrenderer_get_display_mode_ex() \n + * trackrenderer_set_display_mode() + */ +void trackrenderer_get_display_mode_ex(TrackRendererHandle handle, int* mode); #ifdef __cplusplus } // extern "C" #endif diff --git a/include/trackrenderer_capi/trackrenderer_internal.h b/include/trackrenderer_capi/trackrenderer_internal.h index d7eb6c2..9148caa 100644 --- a/include/trackrenderer_capi/trackrenderer_internal.h +++ b/include/trackrenderer_capi/trackrenderer_internal.h @@ -679,6 +679,27 @@ int trackrenderer_get_low_latency_pcm_current_buffer_level( int trackrenderer_get_low_latency_pcm_underrun_count( TrackRendererHandle handle, uint64_t* underrun_count); +/** + * @brief Get the value if "Film Maker Mode (FMM)" is Auto or not + * @param [in] handle : trackrenderer handle ptr. + * @param [out] onoff : FMM Auto value (1: on, 0: off) + * @return Return 0 if there is no problem. + * @code + * //create trackrenderer handle + * //your logic + * int onoff = 0; + * trackrenderer_get_fmm_auto_mode(handle, &onoff); + * //your logic + * @endcode + * @pre The trackrenderer must be at least created. + * @post None + * @exception None + * @remark None + * @version 6.0 + * @see trackrenderer_create() + */ +int trackrenderer_get_fmm_auto_mode(TrackRendererHandle handle, int* onoff); + #ifdef __cplusplus } #endif diff --git a/packaging/libtrackrenderer.spec b/packaging/libtrackrenderer.spec index e1c6cf8..58dfacc 100644 --- a/packaging/libtrackrenderer.spec +++ b/packaging/libtrackrenderer.spec @@ -1,6 +1,6 @@ Name: libtrackrenderer Summary: new multimedia streaming player trackrenderer -Version: 0.0.54 +Version: 0.0.55 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/trackrenderer_capi.cpp b/src/trackrenderer_capi.cpp index 5201578..47ced09 100644 --- a/src/trackrenderer_capi.cpp +++ b/src/trackrenderer_capi.cpp @@ -1607,4 +1607,27 @@ int trackrenderer_set_simple_mix_out_buffer_level(TrackRendererHandle handle, TRACKRENDERER_WARN("Not supported on Public"); return kSuccess; } + +int trackrenderer_set_video_clone_mode(TrackRendererHandle handle, + bool on) { + TRACKRENDERER_WARN("Not supported on Public"); + return kSuccess; +} + +int trackrenderer_set_display_clone_mode_roi( + TrackRendererHandle handle, TrackRendererGeometry* main_geometry, + TrackRendererGeometry* geometry) { + TRACKRENDERER_WARN("Not supported on Public"); + return kSuccess; +} + +int trackrenderer_set_display_mode_ex(TrackRendererHandle handle, int mode) { + TRACKRENDERER_WARN("Not supported on Public"); + return kSuccess; +} + +int trackrenderer_get_fmm_auto_mode(TrackRendererHandle handle, int* onoff) { + TRACKRENDERER_WARN("Not supported on Public"); + return kSuccess; +} // LCOV_EXCL_STOP