typedef enum esplusplayer_buffer_status {
ESPLUSPLAYER_BUFFER_STATUS_UNDERRUN,
ESPLUSPLAYER_BUFFER_STATUS_OVERRUN
-}esplusplayer_buffer_status;
+} esplusplayer_buffer_status;
/**
* @brief Enumerations for video decoded buffer type
* ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_SCALE:
* decoded video frame will be croped and scaled, then sent to
* user by media_packet_video_decoded_cb, only support hw decoder now
-*/
+ */
typedef enum esplusplayer_decoded_video_frame_buffer_type {
ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_NONE,
ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_COPY,
ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_REFERENCE,
ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_SCALE,
ESPLUSPLAYER_DECODED_VIDEO_FRAME_BUFFER_TYPE_MANUAL_COPY
-}esplusplayer_decoded_video_frame_buffer_type;
+} esplusplayer_decoded_video_frame_buffer_type;
/**
* @brief Enumerations for buffer size option
ESPLUSPLAYER_BUFFER_VIDEO_MAX_BYTE_SIZE,
ESPLUSPLAYER_BUFFER_AUDIO_MIN_BYTE_THRESHOLD,
ESPLUSPLAYER_BUFFER_VIDEO_MIN_BYTE_THRESHOLD
-}esplusplayer_buffer_option;
+} esplusplayer_buffer_option;
/**
* @brief video decoded buffer struct
*/
uint64_t pts;
/**
- * @description system time of decoder input or output buffer, in millisecond
+ * @description system time of decoder input or output buffer, in
+ * millisecond
*/
uint64_t system_time;
} esplusplayer_decoder_buffer_time;
ESPLUSPLAYER_DISPLAY_MODE_CROPPED_FULL,
ESPLUSPLAYER_DISPLAY_MODE_ORIGIN_OR_LETTER,
ESPLUSPLAYER_DISPLAY_MODE_DST_ROI
-}esplusplayer_display_mode;
+} esplusplayer_display_mode;
/**
* @brief Enumerations for the display type
ESPLUSPLAYER_DISPLAY_TYPE_OVERLAY,
ESPLUSPLAYER_DISPLAY_TYPE_EVAS,
ESPLUSPLAYER_DISPLAY_TYPE_MIXER
-}esplusplayer_display_type;
+} esplusplayer_display_type;
/**
* @brief Enumerations for the display rotation type
ESPLUSPLAYER_DISPLAY_ROTATION_TYPE_90,
ESPLUSPLAYER_DISPLAY_ROTATION_TYPE_180,
ESPLUSPLAYER_DISPLAY_ROTATION_TYPE_270
-}esplusplayer_display_rotation_type;
+} esplusplayer_display_rotation_type;
#ifdef __cplusplus
} // extern "C"
ESPLUSPLAYER_DRM_TYPE_MARLIN,
ESPLUSPLAYER_DRM_TYPE_VERIMATRIX,
ESPLUSPLAYER_DRM_TYPE_WV_MODULAR
-}esplusplayer_drm_type;
+} esplusplayer_drm_type;
/**
* @brief Enumerations for the algorithm encrypted
ESPLUSPLAYER_DRMB_ES_CIPHER_ALGORITHM_RC4 = 0,
ESPLUSPLAYER_DRMB_ES_CIPHER_ALGORITHM_AES128_CTR = 1,
ESPLUSPLAYER_DRMB_ES_CIPHER_ALGORITHM_AES128_CBC = 2
-}esplusplayer_drmb_es_cipher_algorithm;
+} esplusplayer_drmb_es_cipher_algorithm;
/**
* @brief Enumerations for the algorithm encrypted
ESPLUSPLAYER_DRMB_ES_MEDIA_FORMAT_FMP4_VIDEO = 5,
ESPLUSPLAYER_DRMB_ES_MEDIA_FORMAT_CLEAN_AUDIO = 6,
ESPLUSPLAYER_DRMB_ES_MEDIA_FORMAT_PES = 7
-}esplusplayer_drmb_es_media_format;
+} esplusplayer_drmb_es_media_format;
/**
* @brief Enumerations for the phase for cipher
ESPLUSPLAYER_DRMB_ES_CIPHER_PHASE_INIT = 1,
ESPLUSPLAYER_DRMB_ES_CIPHER_PHASE_UPDATE = 2,
ESPLUSPLAYER_DRMB_ES_CIPHER_PHASE_FINAL = 3
-}esplusplayer_drmb_es_cipher_phase;
+} esplusplayer_drmb_es_cipher_phase;
/**
* @brief Subsample information structure for encrypted es
*/
typedef enum esplusplayer_error_type {
ESPLUSPLAYER_ERROR_TYPE_NONE = TIZEN_ERROR_NONE, /**< Successful */
- ESPLUSPLAYER_ERROR_TYPE_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
- ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
- ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Invalid operation */
- ESPLUSPLAYER_ERROR_TYPE_INVALID_STATE = ESPLUSPLAYER_ERROR_CLASS | 0x02, /**< Invalid state */
- ESPLUSPLAYER_ERROR_TYPE_NOT_SUPPORTED_AUDIO_CODEC = ESPLUSPLAYER_ERROR_CLASS | 0x0e, /**< Not supported audio codec but video can be played (Since 4.0)*/
- ESPLUSPLAYER_ERROR_TYPE_NOT_SUPPORTED_VIDEO_CODEC = ESPLUSPLAYER_ERROR_CLASS | 0x0f, /**< Not supported video codec but audio can be played (Since 4.0)*/
- ESPLUSPLAYER_ERROR_TYPE_NOT_SUPPORTED_FILE = ESPLUSPLAYER_ERROR_CLASS | 0x03, /**< File format not supported */
- ESPLUSPLAYER_ERROR_TYPE_CONNECTION_FAILED = ESPLUSPLAYER_ERROR_CLASS | 0x06, /**< Streaming connection failed */
- ESPLUSPLAYER_ERROR_TYPE_DRM_EXPIRED = ESPLUSPLAYER_ERROR_CLASS | 0x08, /**< Expired license */
- ESPLUSPLAYER_ERROR_TYPE_DRM_NO_LICENSE = ESPLUSPLAYER_ERROR_CLASS | 0x09, /**< No license */
- ESPLUSPLAYER_ERROR_TYPE_DRM_FUTURE_USE = ESPLUSPLAYER_ERROR_CLASS | 0x0a, /**< License for future use */
- ESPLUSPLAYER_ERROR_TYPE_NOT_PERMITTED = ESPLUSPLAYER_ERROR_CLASS | 0x0b, /**< Format not permitted */
+ ESPLUSPLAYER_ERROR_TYPE_OUT_OF_MEMORY =
+ TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
+ ESPLUSPLAYER_ERROR_TYPE_INVALID_PARAMETER =
+ TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
+ ESPLUSPLAYER_ERROR_TYPE_INVALID_OPERATION =
+ TIZEN_ERROR_INVALID_OPERATION, /**< Invalid operation */
+ ESPLUSPLAYER_ERROR_TYPE_INVALID_STATE =
+ ESPLUSPLAYER_ERROR_CLASS | 0x02, /**< Invalid state */
+ ESPLUSPLAYER_ERROR_TYPE_NOT_SUPPORTED_AUDIO_CODEC =
+ ESPLUSPLAYER_ERROR_CLASS |
+ 0x0e, /**< Not supported audio codec but video can be played (Since 4.0)*/
+ ESPLUSPLAYER_ERROR_TYPE_NOT_SUPPORTED_VIDEO_CODEC =
+ ESPLUSPLAYER_ERROR_CLASS |
+ 0x0f, /**< Not supported video codec but audio can be played (Since 4.0)*/
+ ESPLUSPLAYER_ERROR_TYPE_NOT_SUPPORTED_FILE =
+ ESPLUSPLAYER_ERROR_CLASS | 0x03, /**< File format not supported */
+ ESPLUSPLAYER_ERROR_TYPE_CONNECTION_FAILED =
+ ESPLUSPLAYER_ERROR_CLASS | 0x06, /**< Streaming connection failed */
+ ESPLUSPLAYER_ERROR_TYPE_DRM_EXPIRED =
+ ESPLUSPLAYER_ERROR_CLASS | 0x08, /**< Expired license */
+ ESPLUSPLAYER_ERROR_TYPE_DRM_NO_LICENSE =
+ ESPLUSPLAYER_ERROR_CLASS | 0x09, /**< No license */
+ ESPLUSPLAYER_ERROR_TYPE_DRM_FUTURE_USE =
+ ESPLUSPLAYER_ERROR_CLASS | 0x0a, /**< License for future use */
+ ESPLUSPLAYER_ERROR_TYPE_NOT_PERMITTED =
+ ESPLUSPLAYER_ERROR_CLASS | 0x0b, /**< Format not permitted */
- ESPLUSPLAYER_ERROR_TYPE_DRM_DECRYPTION_FAILED = ESPLUSPLAYER_CUSTOM_ERROR_CLASS | 0x05, /**< drm decryption failed */
- ESPLUSPLAYER_ERROR_TYPE_NOT_SUPPORTED_FORMAT = ESPLUSPLAYER_CUSTOM_ERROR_CLASS | 0x08,/**< format not supported */
+ ESPLUSPLAYER_ERROR_TYPE_DRM_DECRYPTION_FAILED =
+ ESPLUSPLAYER_CUSTOM_ERROR_CLASS | 0x05, /**< drm decryption failed */
+ ESPLUSPLAYER_ERROR_TYPE_NOT_SUPPORTED_FORMAT =
+ ESPLUSPLAYER_CUSTOM_ERROR_CLASS | 0x08, /**< format not supported */
ESPLUSPLAYER_ERROR_TYPE_UNKNOWN
-}esplusplayer_error_type;
+} esplusplayer_error_type;
#ifdef __cplusplus
} // extern "C"
ESPLUSPLAYER_ADAPT_INFO_TYPE_DROPPED_FRAMES,
ESPLUSPLAYER_ADAPT_INFO_TYPE_DROPPED_VIDEO_FRAMES_FOR_CATCHUP,
ESPLUSPLAYER_ADAPT_INFO_TYPE_DROPPED_AUDIO_FRAMES_FOR_CATCHUP,
-}esplusplayer_adaptive_info_type;
+} esplusplayer_adaptive_info_type;
/**
* @brief Enumerations for low latency mode
*/
ESPLUSPLAYER_LOW_LATENCY_MODE_ENABLE_GAME_MODE_WITH_FIXED_RESOLUTION =
ESPLUSPLAYER_LOW_LATENCY_MODE_ENABLE_GAME_MODE | 0x4000,
-}esplusplayer_low_latency_mode;
+} esplusplayer_low_latency_mode;
/**
* @brief Enumerations for esplusplayer audio codec type
* @description sorfware codec can only be selected
*/
ESPLUSPLAYER_AUDIO_CODEC_TYPE_SW
-}esplusplayer_audio_codec_type;
+} esplusplayer_audio_codec_type;
/**
* @brief Enumerations for esplusplayer video codec type
*/
ESPLUSPLAYER_VIDEO_CODEC_TYPE_HW_N_DECODING
-}esplusplayer_video_codec_type;
+} esplusplayer_video_codec_type;
/**
* @brief Enumerations for esplusplayer audio easing type
* @version 3.0
* @description audio easing function type is none
*/
ESPLUSPLAYER_AUDIO_EASING_NONE
-}esplusplayer_audio_easing_type;
+} esplusplayer_audio_easing_type;
/**
* @brief Enumerations for esplusplayer resource type
* @description video renderer type
*/
ESPLUSPLAYER_RSC_TYPE_VIDEO_RENDERER
-}esplusplayer_rsc_type;
+} esplusplayer_rsc_type;
/**
* @brief Enumerations for advanced video quality type
* @version 4.0
*/
ESPLUSPLAYER_ADVANCED_PICTURE_QUALITY_AIRPLAY_MIRRORING
-}esplusplayer_advanced_picture_quality_type;
+} esplusplayer_advanced_picture_quality_type;
/**
* @brief Enumerations for audio resource type
* @description only audio out to simple mix out resource
*/
ESPLUSPLAYER_AUDIO_RESOURCE_SIMPLE_MIX_OUT
-}esplusplayer_audio_resource_type;
+} esplusplayer_audio_resource_type;
/**
* @brief Enumerations for buffer level of simple mix out
* @description buffer level is high
*/
ESPLUSPLAYER_SIMPLE_MIX_OUT_BUFFER_HIGH
-}esplusplayer_simple_mix_out_buffer_level;
+} esplusplayer_simple_mix_out_buffer_level;
/**
* @brief ESPlusplayer easing target volume, duration, type information
* @version 6.0
*/
ESPLUSPLAYER_RSC_ALLOC_EXCLUSIVE_NO_EXPLICIT
-}esplusplayer_rsc_alloc_policy;
+} esplusplayer_rsc_alloc_policy;
/**
* @brief Enumerations for the status of getting decoded video frame
* @brief internal error
*/
ESPLUSPLAYER_GET_DECVIDEOFRAME_STATUS_UNKNOWN
-}esplusplayer_get_decoded_video_frame_status_type;
+} esplusplayer_get_decoded_video_frame_status_type;
/**
* @brief Enumerations for the video scan type
* mode.
*/
ESPLUSPLAYER_VIDEO_SCAN_TYPE_INTERLACED,
-}esplusplayer_video_scan_type;
+} esplusplayer_video_scan_type;
/**
* @brief Enumerations for the time unit type
* @description the timeunit will be us.
*/
ESPLUSPLAYER_TIME_UNIT_US,
-}esplusplayer_time_unit_type;
+} esplusplayer_time_unit_type;
/**
* @brief Enumerations for the video stream rotation type
ESPLUSPLAYER_VIDEO_ROTATION_90,
ESPLUSPLAYER_VIDEO_ROTATION_180,
ESPLUSPLAYER_VIDEO_ROTATION_270
-}esplusplayer_video_stream_rotation_type;
+} esplusplayer_video_stream_rotation_type;
/**
* @brief Create a esplusplayer handle.
/**
* @brief Set the rotate angle of the video stream.
* This API is used for rotate camera, e.g Pogo-Pin camera
- * In Pogo-Pin Camera Video Call scenario, just provide the rotate angle to encoder
- * and AIFW
+ * In Pogo-Pin Camera Video Call scenario, just provide the rotate angle to
+ * encoder and AIFW
* @remark This API will not actually rotate the video display
* @param [in] handle : esplusplayer handle.
* @param [in] rotation : the rotate angle of the video.
* or ESPLUSPLAYER_LOW_LATENCY_MODE_DISABLE_PREROLL mode.
*/
ESPLUSPLAYER_EVENT_REQUESTED_FIRST_RENDER_FRAME,
-}esplusplayer_event_type;
+} esplusplayer_event_type;
#ifdef __cplusplus
} // extern "C"
ESPLUSPLAYER_CATCH_UP_SPEED_SLOW, /**< catch up speed is slow */
ESPLUSPLAYER_CATCH_UP_SPEED_MID, /**< catch up speed is normal */
ESPLUSPLAYER_CATCH_UP_SPEED_FAST /**< catch up speed is fast */
-}esplusplayer_catch_up_speed;
+} esplusplayer_catch_up_speed;
/**
* @brief Enumerations for esplusplayer latency status
ESPLUSPLAYER_LATENCY_LOW, /**< latency status is low */
ESPLUSPLAYER_LATENCY_MID, /**< latency status is middle */
ESPLUSPLAYER_LATENCY_HIGH /**< latency status is high */
-}esplusplayer_latency_status;
+} esplusplayer_latency_status;
#ifdef __cplusplus
} // extern "C"
stopped*/
ESPLUSPLAYER_STATE_READY, /**<Player is ready to play(start)*/
ESPLUSPLAYER_STATE_PLAYING, /**<Player is playing media*/
- ESPLUSPLAYER_STATE_PAUSED, /**<Player is playing media*/
+ ESPLUSPLAYER_STATE_PAUSED, /**<Player is playing media*/
ESPLUSPLAYER_STATE_MAX
-}esplusplayer_state;
+} esplusplayer_state;
#ifdef __cplusplus
} // extern "C"
ESPLUSPLAYER_STREAM_TYPE_AUDIO,
ESPLUSPLAYER_STREAM_TYPE_VIDEO,
ESPLUSPLAYER_STREAM_TYPE_MAX
-}esplusplayer_stream_type;
+} esplusplayer_stream_type;
/**
* @brief Enumerations for audio mime type
ESPLUSPLAYER_AUDIO_MIME_TYPE_AC4,
ESPLUSPLAYER_AUDIO_MIME_TYPE_MPEGH,
ESPLUSPLAYER_AUDIO_MIME_TYPE_FLAC
-}esplusplayer_audio_mime_type;
+} esplusplayer_audio_mime_type;
/**
* @brief Enumerations for video mime type
ESPLUSPLAYER_VIDEO_MIME_TYPE_WMV3,
ESPLUSPLAYER_VIDEO_MIME_TYPE_AV1,
ESPLUSPLAYER_VIDEO_MIME_TYPE_MJPEG
-}esplusplayer_video_mime_type;
+} esplusplayer_video_mime_type;
/**
* @brief Audio stream information structure
ESPLUSPLAYER_SUBMIT_DATA_TYPE_CLEAN_DATA,
ESPLUSPLAYER_SUBMIT_DATA_TYPE_ENCRYPTED_DATA,
ESPLUSPLAYER_SUBMIT_DATA_TYPE_TRUSTZONE_DATA,
-}esplusplayer_submit_data_type;
+} esplusplayer_submit_data_type;
#ifdef __cplusplus
} // extern "C"
ESPLUSPLAYER_SUBMIT_STATUS_OUT_OF_MEMORY,
ESPLUSPLAYER_SUBMIT_STATUS_FULL,
ESPLUSPLAYER_SUBMIT_STATUS_SUCCESS
-}esplusplayer_submit_status;
+} esplusplayer_submit_status;
#ifdef __cplusplus
} // extern "C"
MIXER_DISPLAY_MODE_CROPPED_FULL,
MIXER_DISPLAY_MODE_ORIGIN_OR_LETTER,
MIXER_DISPLAY_MODE_DST_ROI
-}mixer_display_mode;
+} mixer_display_mode;
/**
* @brief Enumerations for the display type
typedef enum mixer_display_type {
MIXER_DISPLAY_TYPE_NONE,
MIXER_DISPLAY_TYPE_OVERLAY,
-}mixer_display_type;
+} mixer_display_type;
#ifdef __cplusplus
} // extern "C"
*/
typedef enum mixer_error_type {
MIXER_ERROR_TYPE_NONE = TIZEN_ERROR_NONE, /**< Successful */
- MIXER_ERROR_TYPE_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
- MIXER_ERROR_TYPE_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Invalid operation */
-}mixer_error_type;
+ MIXER_ERROR_TYPE_INVALID_PARAMETER =
+ TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
+ MIXER_ERROR_TYPE_INVALID_OPERATION =
+ TIZEN_ERROR_INVALID_OPERATION, /**< Invalid operation */
+} mixer_error_type;
#ifdef __cplusplus
} // extern "C"
#ifndef __ESPLUSPLAYER_MIXER_CAPI_MIXER_CAPI_H__
#define __ESPLUSPLAYER_MIXER_CAPI_MIXER_CAPI_H__
-#include "mixer_capi/error.h"
#include "mixer_capi/display.h"
+#include "mixer_capi/error.h"
#ifdef __cplusplus
extern "C" {
typedef enum mixer_rsc_alloc_mode {
MIXER_RSC_ALLOC_MODE_DEFAULT, /**< Main -> Sub -> S/W */
MIXER_RSC_ALLOC_MODE_NDECODER, /**< Only N decoder */
- MIXER_RSC_ALLOC_MODE_DISABLE /**< Mixer is NOT involved in resource allocation */
-}mixer_rsc_alloc_mode;
+ MIXER_RSC_ALLOC_MODE_DISABLE /**< Mixer is NOT involved in resource allocation
+ */
+} mixer_rsc_alloc_mode;
/**
* @brief Create a mixer handle
* @code
// The ROI of mixer means display area in tv screen.
// The ROI of each player means display area in mixer's ROI.
-
- mixer_set_display_mode(mixer, MIXER_DISPLAY_MODE_DST_ROI);
+
+ mixer_set_display_mode(mixer, MIXER_DISPLAY_MODE_DST_ROI);
mixer_set_display_roi(mixer, 0, 0, 1920, 1080);
- esplusplayer_set_display_roi(player1, 20, 20, 700, 400);
+ esplusplayer_set_display_roi(player1, 20, 20, 700, 400);
esplusplayer_set_display_roi(player2, 20, 20, 700, 400);
-
+
mixer_commit(mixer);
* @endcode
* @pre Before set display ROI, #MIXER_DISPLAY_MODE_DST_ROI must be set
int mixer_set_display_roi(mixer_handle handle, const int x, const int y,
const int width, const int height);
- /**
- * @brief Applies geometry changes on mixed frame
- * @param [in] handle : Mixer handle
- * @return @c one of mixer_error_type values will be returned
- * @pre set display roi api was called for players which are connected to
- * Mixer.
- * @post All the geometry changes will be applied to mixed frame.
- * @exception None
- * @see mixer_set_display_roi()
- */
- int mixer_commit(mixer_handle handle);
-
- /**
- * @brief Set Resource allocation policy
- * @param [in] handle : Mixer handle
- * @param [in] mode : Resource allocation policy
- * @return @c one of mixer_error_type values will be returned
- * @pre This api should be called before setting player's display type to
- * mixer type.
- * @post None
- * @exception None
- */
- int mixer_set_rsc_alloc_mode(mixer_handle handle,
- const mixer_rsc_alloc_mode mode);
+/**
+ * @brief Applies geometry changes on mixed frame
+ * @param [in] handle : Mixer handle
+ * @return @c one of mixer_error_type values will be returned
+ * @pre set display roi api was called for players which are connected to
+ * Mixer.
+ * @post All the geometry changes will be applied to mixed frame.
+ * @exception None
+ * @see mixer_set_display_roi()
+ */
+int mixer_commit(mixer_handle handle);
+
+/**
+ * @brief Set Resource allocation policy
+ * @param [in] handle : Mixer handle
+ * @param [in] mode : Resource allocation policy
+ * @return @c one of mixer_error_type values will be returned
+ * @pre This api should be called before setting player's display type to
+ * mixer type.
+ * @post None
+ * @exception None
+ */
+int mixer_set_rsc_alloc_mode(mixer_handle handle,
+ const mixer_rsc_alloc_mode mode);
/**
* @brief Disable audio focus setting.
#endif
#endif // __ESPLUSPLAYER_MIXER_CAPI_MIXER_CAPI_H__
-