Merge branch 'main' into ci/gilbok-lee/update_public
[platform/core/multimedia/esplusplayer.git] / include / esplusplayer_capi / esplusplayer_capi.h
index 4f26314..51861bd 100755 (executable)
 #ifndef __ESPLUSPLAYER_ESPLUSPLAYER_CAPI_ESPLUSPLAYER_CAPI_H__
 #define __ESPLUSPLAYER_ESPLUSPLAYER_CAPI_ESPLUSPLAYER_CAPI_H__
 
+#ifdef TIZEN_FEATURE_PUBLIC
+#include <media/sound_manager.h>
+#endif
+
 #include "esplusplayer_capi/buffer.h"
 #include "esplusplayer_capi/display.h"
 #include "esplusplayer_capi/drm.h"
@@ -3958,6 +3962,62 @@ int esplusplayer_get_video_stream_rotation_info(
 int esplusplayer_set_simple_mix_out_buffer_level(
     esplusplayer_handle handle, esplusplayer_simple_mix_out_buffer_level level);
 
+#ifdef TIZEN_FEATURE_PUBLIC
+/**
+ * @brief     Provided api for enabling video hole.
+ * @param     [in] handle : esplusplayer handle.
+ * @param     [in] value : the value of video hole.
+ *            (@c true = video hole enabled, @c false = video hole disabled)
+ * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success, otherwise @c one of
+ * esplusplayer_error_type values will be returned.
+ * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
+ * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
+ * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation
+ * failed
+ * @code
+ *            esplusplayer_open(esplayer);
+ *            esplusplayer_enable_video_hole(esplayer, false);
+ *            // ... your codes ...
+ *            esplusplayer_close(esplayer);
+ * @endcode
+ * @pre       The player state must not be #ESPLUSPLAYER_STATE_NONE.
+ * @remark    To disable video hole,
+ * esplusplayer_decoded_video_frame_buffer_type() must not be set to
+ * #ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_NONE. To enable video hole,
+ * esplusplayer_set_display() must be set to #ESPLUSPLAYER_DISPLAY_TYPE_OVERLAY
+ * @post      None
+ * @exception None
+ * @see       esplusplayer_set_video_frame_buffer_type()
+ *            esplusplayer_set_media_packet_video_decoded_cb()
+ */
+int esplusplayer_enable_video_hole(esplusplayer_handle handle,
+                                   const bool value);
+
+/**
+ * @brief     Set sound stream information
+ * @param     [in] handle      : esplusplayer handle.
+ * @param     [in] stream_info : sound stream information
+ * @return    @c ESPLUSPLAYER_ERROR_TYPE_NONE on success,otherwise @c one of
+ * esplusplayer_error_type
+ *            values will be returned.
+ * @retval    #ESPLUSPLAYER_ERROR_TYPE_NONE Successful
+ * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER Invalid parameter
+ * @retval    #ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION Internal operation
+ * failed
+ * @code
+ *            esplusplayer_open(esplayer);
+ *            esplusplayer_set_sound_stream_info(esplayer, stream_info);
+ *            // ... your codes ...
+ *            esplusplayer_close(esplayer);
+ * @endcode
+ * @pre       The player state must be set to #ESPLUSPLAYER_STATE_IDLE
+ * @post      None
+ * @exception None
+ * @see       esplusplayer_open()
+ */
+int esplusplayer_set_sound_stream_info(esplusplayer_handle handle,
+                                       const sound_stream_info_h stream_info);
+#endif
 #ifdef __cplusplus
 }
 #endif