Add dummy APIs and enum for unified 03/308303/2 accepted/tizen/unified/20240326.105056 accepted/tizen/unified/dev/20240620.005544 accepted/tizen/unified/x/20240401.142531
authorGilbok Lee <gilbok.lee@samsung.com>
Thu, 21 Mar 2024 05:27:39 +0000 (14:27 +0900)
committerGilbok Lee <gilbok.lee@samsung.com>
Mon, 25 Mar 2024 06:19:44 +0000 (15:19 +0900)
[Version] 0.0.55

Change-Id: Id6032fe052a17c73b946a18b9ec7c458d84537af

include/trackrenderer_capi/trackrenderer_capi.h
include/trackrenderer_capi/trackrenderer_internal.h
packaging/libtrackrenderer.spec
src/trackrenderer_capi.cpp

index ae2aec1c24604bbaa9295e48d8123300125db8de..c3ec4010fb015797c983390b5ab577393ba46a80 100644 (file)
@@ -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
index d7eb6c2ea77980087bb51e166d6c7ec16b325235..9148caaf523b3cae4dd1f06bc1af82eb7b518190 100644 (file)
@@ -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
index e1c6cf893351c4824b03ad140af1cf8d69acc88e..58dfaccdf8732f383c469a5c98adfdbc8a5209f9 100644 (file)
@@ -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
index 520157827664fff321b126624dc4dc93e6138fda..47ced09134e8784f38cbe17f143fa932ac901f74 100644 (file)
@@ -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