/**
* @brief The player error class define.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
#define PLAYER_ERROR_CLASS TIZEN_ERROR_PLAYER | 0x20
/**
* @brief The media player's type handle.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef struct player_s *player_h;
/**
* @brief Enumeration for media player state.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_STATE_NONE, /**< Player is not created */
/**
* @brief Enumeration for media player's error codes.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
/**
* @brief Enumeration for media player's interruption type.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT = 4, /**< Interrupted by a resource conflict and the player handle will be paused or unprepared */
/**
* @brief Enumeration for display type.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @details In case of using #PLAYER_DISPLAY_TYPE_OVERLAY_SYNC_UI, the video is rendering in full scale in the rendering area.\n
* To change the video rendering position, use UI API functions like ecore_wl2_subsurface_exported_surface_move(),
* ecore_wl2_subsurface_exported_surface_resize(), ecore_wl2_subsurface_exported_surface_transform_set(),
/**
* @brief Enumeration for audio latency mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
AUDIO_LATENCY_MODE_LOW = 0, /**< Low audio latency mode */
/**
* @brief Enumeration for stream type.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
*/
typedef enum {
PLAYER_STREAM_TYPE_DEFAULT, /**< Container type */
/**
* @brief Enumeration of media stream buffer status.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @see player_set_media_stream_buffer_max_size()
* @see player_set_media_stream_buffer_min_threshold()
*/
/**
* @brief The player display handle.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef void *player_display_h;
#ifndef GET_DISPLAY
/**
* @brief Definition for a display handle from evas object.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
#define GET_DISPLAY(x) (void *)(x)
#endif
/**
* @brief Enumeration for display rotation type.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_DISPLAY_ROTATION_NONE, /**< Display is not rotated */
/**
* @brief Enumeration for display mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_DISPLAY_MODE_LETTER_BOX = 0, /**< Letter box */
/**
* @brief Enumeration for media stream content information.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_CONTENT_INFO_ALBUM, /**< Album */
/**
* @brief Called when the subtitle is updated.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The @a text should not be released and it can be used only in the callback.
* To use outside, make a copy.
* @param[in] duration The duration of the updated subtitle
/**
* @brief Called when the media player is prepared.
* @details It will be invoked when player has reached the begin of stream.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] user_data The user data passed from the callback registration function
* @pre player_prepare_async() will cause this callback.
* @post The player state will be #PLAYER_STATE_READY.
/**
* @brief Called when the media player is completed.
* @details It will be invoked when player has reached the end of the stream.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] user_data The user data passed from the callback registration function
* @pre It will be invoked when the playback is completed if you register this callback using player_set_completed_cb().
* @see player_set_completed_cb()
/**
* @brief Called when the seek operation is completed.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] user_data The user data passed from the callback registration function
* @see player_set_play_position()
* @see player_set_play_position_nsec()
* @details If the code is #PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT,
* the player state will be one of #PLAYER_STATE_IDLE, #PLAYER_STATE_READY, or #PLAYER_STATE_PAUSED.
* Application should get exact state by calling player_get_state().
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] code The interrupted error code
* @param[in] user_data The user data passed from the callback registration function
* @see player_set_interrupted_cb()
* #PLAYER_ERROR_NOT_SUPPORTED_AUDIO_CODEC (Since 4.0)
* #PLAYER_ERROR_NOT_SUPPORTED_VIDEO_CODEC (Since 4.0)
* #PLAYER_ERROR_NOT_SUPPORTED_SUBTITLE (Since 4.0)
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] error_code The error code
* @param[in] user_data The user data passed from the callback registration function
* @see player_set_error_cb()
/**
* @brief Called when the video is captured.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The color space format of the captured image is #IMAGE_UTIL_COLORSPACE_RGB888.
* @remarks The @a captured_data should not be released and it can be used only in the callback.
* To use outside, make a copy.
/**
* @brief Called to register for notifications about delivering media packet when each video frame is decoded.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The UI update code must not be directly invoked.\n
* @remarks The @a packet should be released using media_packet_destroy(). \n
* If not, the decoder will fail due to having insufficient buffer space for the decoded frame.
/**
* @brief Called when the buffer level drops below the threshold of max size or no free space in buffer.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @param[in] status The buffer status
* @param[in] user_data The user data passed from the callback registration function
/**
* @brief Called to notify the next push-buffer offset when seeking is occurred.
* @details The next push-buffer should produce buffers from the new offset.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @param[in] offset The new byte position to seek
* @param[in] user_data The user data passed from the callback registration function
/**
* @brief Called to notify the video stream changed.
* @details The video stream changing is detected just before rendering operation.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @param[in] width The width of the captured image
* @param[in] height The height of the captured image
* @param[in] fps The frame per second of the video \n
/**
* @brief Called when the buffering percentage of the media playback is updated.
* @details If the buffer is full, it will return 100%.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] percent The percentage of buffering completed (0~100)
* @param[in] user_data The user data passed from the callback registration function
* @see player_set_buffering_cb()
/**
* @brief Creates a player handle for playing multimedia content.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks You must release @a player by using player_destroy().\n
* Although you can create multiple player handles at the same time,
* the player cannot guarantee proper operation because of limited resources, such as
/**
* @brief Destroys the media player handle and releases all its resources.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks To completely shutdown player operation, call this function with a valid player handle from any player state.
* @param[in] player The handle to the media player to be destroyed
* @return @c 0 on success,
/**
* @brief Prepares the media player for playback.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The mediastorage privilege(http://tizen.org/privilege/mediastorage) must be added if any video/audio files are used to play located in the internal storage.
* @remarks The externalstorage privilege(http://tizen.org/privilege/externalstorage) must be added if any video/audio files are used to play located in the external storage.
* @remarks The internet privilege(http://tizen.org/privilege/internet) must be added if any URLs are used to play from network.
/**
* @brief Prepares the media player for playback, asynchronously.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The mediastorage privilege(http://tizen.org/privilege/mediastorage) must be added if any video/audio files are used to play located in the internal storage.
* The externalstorage privilege(http://tizen.org/privilege/externalstorage) must be added if any video/audio files are used to play located in the external storage.
* The internet privilege(http://tizen.org/privilege/internet) must be added if any URLs are used to play from network. \n
* @details The most recently used media is reset and no longer associated with the player.
* Playback is no longer possible. If you want to use the player again, you must set the data URI and call
* player_prepare() again.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
*
* @details Associates media contents, referred to by the URI, with the player.
* If the function call is successful, subsequent calls to player_prepare() and player_start() will start playing the media.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If you use HTTP or RTSP, URI must start with "http://" or "rtsp://". The default protocol is "file://".
* If you provide an invalid URI, you won't receive an error message until you call player_start().
* @remarks This function must be called before calling the player_prepare() or player_prepare_async() to build the player based on the URI information.
* @retval #PLAYER_ERROR_INVALID_OPERATION Invalid operation
* @retval #PLAYER_ERROR_INVALID_STATE Invalid player state
* @retval #PLAYER_ERROR_PERMISSION_DENIED Permission denied
- * @if WEARABLE @retval #PLAYER_ERROR_FEATURE_NOT_SUPPORTED_ON_DEVICE Unsupported feature @endif
* @pre The player state must be set to #PLAYER_STATE_IDLE by calling player_create() or player_unprepare().
* @see player_set_memory_buffer()
*/
*
* @details Associates media content, cached in memory, with the player. Unlike the case of player_set_uri(), the media resides in memory.
* If the function call is successful, subsequent calls to player_prepare() and player_start() will start playing the media.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If you provide an invalid data, you won't receive an error message until you call player_start().
* @remarks This function must be called before calling the player_prepare() or player_prepare_async()
* to build the player based on the data.
/**
* @brief Gets the player's current state.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] state The current state of the player
* @return @c 0 on success,
* The valid range is from 0 to 1.0, inclusive (1.0 = 100%). Default value is 1.0.
* To change system volume, use the @ref CAPI_MEDIA_SOUND_MANAGER_MODULE API.
* Finally, it does not support to set other value into each channel currently.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] left The left volume scalar
* @param[in] right The right volume scalar
* @details The range of @a left and @a right is from @c 0 to @c 1.0, inclusive (1.0 = 100%).
* This function gets the player volume, not the system volume.
* To get the system volume, use the @ref CAPI_MEDIA_SOUND_MANAGER_MODULE API.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] left The current left volume scalar
* @param[out] right The current right volume scalar
/**
* @brief Sets the audio latency mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The default audio latency mode of the player is #AUDIO_LATENCY_MODE_MID.
* To get the current audio latency mode, use player_get_audio_latency_mode().
* If it's high mode, audio output interval can be increased so, it can keep more audio data to play.
/**
* @brief Gets the current audio latency mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Starts or resumes playback.
* @details Plays current media content, or resumes playback if the player is paused or buffering during HTTP streaming play.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks Even if you don't set visible to true by calling player_set_display_visible(), the video will be shown on #PLAYER_STATE_PLAYING state.
* @remarks Since 3.0: \n
* Sound can be mixed with other sounds, if you don't control the stream focus in sound-manager module.\n
/**
* @brief Stops playing media content.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Pauses the player.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks You can resume playback using player_start().
*
* @param[in] player The handle to the media player
/**
* @brief Sets the seek position for playback, asynchronously.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks This function will trigger the seeking operation on player instance like in the case of player_set_play_position_nsec().
* Normally application needs to wait for player_seek_completed_cb() before calling setting position function again.
* Otherwise it will return #PLAYER_ERROR_SEEK_FAILED.
/**
* @brief Gets the current position in milliseconds.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] milliseconds The current position in milliseconds
* @return @c 0 on success,
* @details If the mute status is @c true, no sounds are played.
* If it is @c false, sounds are played at the previously set volume level.
* Until this function is called, by default the player is not muted.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] muted The new mute status: (@c true = mute, @c false = not muted)
* @return @c 0 on success,
* @brief Gets the player's mute status.
* @details If the mute status is @c true, no sounds are played.
* If it is @c false, sounds are played at the previously set volume level.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] muted The current mute status: (@c true = mute, @c false = not muted)
* @return @c 0 on success,
* @brief Sets the player's looping status.
* @details If the looping status is @c true, playback automatically restarts upon finishing.
* If it is @c false, it won't. The default value is @c false.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] looping The new looping status: (@c true = looping, @c false = non-looping )
* @return @c 0 on success,
* @brief Gets the player's looping status.
* @details If the looping status is @c true, playback automatically restarts upon finishing.
* If it is @c false, it won't.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] looping The looping status: (@c true = looping, @c false = non-looping )
* @return @c 0 on success,
/**
* @brief Sets the video display.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks To get @a display to set, use #GET_DISPLAY().
* @remarks We are not supporting changing display.
* @remarks This function must be called before calling the player_prepare() or player_prepare_async() \n
/**
* @brief Sets a callback function for getting the decoded video frame.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks This function must be called before calling player_prepare() or player_prepare_async().\n
* A registered callback is called in a separate thread (not in the main loop).\n
* A video frame can be retrieved using a registered callback as a media packet.\n
/**
* @brief Unsets the callback notifying the decoded video frame.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Pushes elementary stream to decode audio or video.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks player_set_media_stream_info() must be called before using this function.
* @remarks The available buffer size can be set by calling player_set_media_stream_buffer_max_size().
* If there is no available buffer space, this function will return error since 3.0.
/**
* @brief Sets contents information for media stream.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks AV format must be set before pushing elementary stream with player_push_media_stream().
* @remarks This function must be called before calling the player_prepare() or player_prepare_async()
* to reflect the media information.
/**
* @brief Sets a callback function to be invoked when buffer underrun or overflow is occurred.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks The callback is called in a separate thread (not in the main loop).
* @param[in] player The handle to the media player
/**
* @brief Unsets the buffer status callback function.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @param[in] player The handle to the media player
* @param[in] type The type of target stream
/**
* @brief Sets a callback function to be invoked when seeking is occurred.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks The callback is called in a separate thread (not in the main loop).
* @param[in] player The handle to the media player
/**
* @brief Unsets the seek callback function.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @param[in] player The handle to the media player
* @param[in] type The type of target stream
* @return @c 0 on success,
/**
* @brief Sets the max size bytes of buffer.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks If the buffer level over the max size, player_media_stream_buffer_status_cb() will be invoked with overflow status.
* @param[in] player The handle to the media player
/**
* @brief Gets the max size bytes of buffer.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks If the buffer level over the max size, player_media_stream_buffer_status_cb() will be invoked with overflow status.
* @param[in] player The handle to the media player
/**
* @brief Sets the buffer threshold percent of buffer.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks If the buffer level drops below the percent value, player_media_stream_buffer_status_cb() will be invoked with underrun status.
* @param[in] player The handle to the media player
/**
* @brief Gets the buffer threshold percent of buffer.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks If the buffer level drops below the percent value, player_media_stream_buffer_status_cb() will be invoked with underrun status.
* @param[in] player The handle to the media player
/**
* @brief Sets the video display mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If no display is set, no operation is performed.
* @param[in] player The handle to the media player
* @param[in] mode The display mode
/**
* @brief Gets the video display mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If no display is set, no operation is performed.
* @param[in] player The handle to the media player
* @param[out] mode The current display mode
/**
* @brief Sets the visibility of the video display.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If no display is set, no operation is performed.
* @remarks If you set visible before calling player_set_display(), it will be applied on #PLAYER_STATE_READY state.
* @param[in] player The handle to the media player
/**
* @brief Gets the visibility of the video display.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] visible The current visibility of the display (@c true = visible, @c false = non-visible )
* @return @c 0 on success,
* @brief Sets the rotation settings of the video surface display.
* @details Use this function to change the video orientation to portrait mode.
* The video out will be rotated in a counterclockwise direction.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If no display is set, no operation is performed.
* @param[in] player The handle to the media player
* @param[in] rotation The rotation of the display
/**
* @brief Gets the rotation of the video surface display.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] rotation The current rotation of the display
* @return @c 0 on success,
/**
* @brief Gets the media content information.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks You must release @a value using @c free().
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
/**
* @brief Gets the audio and video codec information.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks You must release @a audio_codec and @a video_codec using free().
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
/**
* @brief Gets the audio stream information.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
* @param[out] sample_rate The audio sample rate [Hz] \n
/**
* @brief Gets the video stream information.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
* @param[out] fps The frame per second of the video \n
/**
* @brief Gets the video display's height and width.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
* @param[out] width The width of the video \n
/**
* @brief Gets the album art in the media resource.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks You must not release @a album_art.
* The @a album_art is managed by the platform and will be released
* when the player is unprepared or destroyed by calling player_unprepare() or player_destroy().
/**
* @brief Gets the total running time of the associated media.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The media source is associated with the player, using either player_set_uri() or player_set_memory_buffer().
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
/**
* @brief Gets the number of equalizer bands.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If player_audio_effect_equalizer_is_available() returns @a available parameter as @c false,
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Sets the gain set for the given equalizer band.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If player_audio_effect_equalizer_is_available() returns @a available parameter as @c false,
* this function will return #PLAYER_ERROR_NOT_AVAILABLE and
* this will not work at all even if it was called before enabling audio offload
/**
* @brief Gets the gain set for the given equalizer band.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If player_audio_effect_equalizer_is_available() returns @a available parameter as @c false,
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Sets all bands of the equalizer.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If player_audio_effect_equalizer_is_available() returns @a available parameter as @c false,
* this function will return #PLAYER_ERROR_NOT_AVAILABLE and
* this will not work at all even if it was called before enabling audio offload
/**
* @brief Gets the valid band level range of the equalizer.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If player_audio_effect_equalizer_is_available() returns @a available parameter as @c false,
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Gets the band frequency of the equalizer.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If player_audio_effect_equalizer_is_available() returns @a available parameter as @c false,
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Gets the band frequency range of the equalizer.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If player_audio_effect_equalizer_is_available() returns @a available parameter as @c false,
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Clears the equalizer effect.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If player_audio_effect_equalizer_is_available() returns @a available parameter as @c false,
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
* @brief Checks whether the custom equalizer effect is available.
* @details This function returns the availability of the audio effect function group and
* it could be unavailable depending on the platform capabilities.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* @a available will be @c false.
* @param[in] player The handle to the media player
/**
* @brief Captures the video frame, asynchronously.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If the content is encrypted or there are copyright issues with it,
* this function could be unsupported depending on the DRM policy.
* In case the function is not supported by the DRM policy, it will return an error.
/**
* @brief Sets the cookie for streaming playback.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks This function must be called before calling the player_prepare() or player_prepare_async()
* to reflect the cookie information when the streaming connection is set up.
* @param[in] player The handle to the media player
/**
* @brief Sets the streaming user agent for playback.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks This function must be called before calling the player_prepare() or player_prepare_async()
* to reflect the user agent information when the streaming connection is set up.
* @param[in] player The handle to the media player
/**
* @brief Gets the download progress for streaming playback.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] start The starting position of received data in percentage [0, 100]
* @param[out] end The end position of received data in percentage [0, 100]
/**
* @brief Sets a callback function to be invoked when the playback is finished.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] callback The callback function to register
* @param[in] user_data The user data to be passed to the callback function
/**
* @brief Unsets the playback completed callback function.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Sets a callback function to be invoked when the playback is interrupted or the interrupt is completed.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] callback The callback function to register
* @param[in] user_data The user data to be passed to the callback function
/**
* @brief Unsets the interrupted callback function.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Sets a callback function to be invoked when an error occurs.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] callback The callback function to register
* @param[in] user_data The user data to be passed to the callback function
/**
* @brief Unsets the error callback function.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Sets a callback function to be invoked when there is a change in the buffering status of a media stream.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The media resource should be streamed over the network.
* @param[in] player The handle to the media player
* @param[in] callback The callback function to register
* @retval #PLAYER_ERROR_NONE Successful
* @retval #PLAYER_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #PLAYER_ERROR_INVALID_OPERATION Invalid operation
- * @if WEARABLE @retval #PLAYER_ERROR_FEATURE_NOT_SUPPORTED_ON_DEVICE Unsupported feature @endif
* @post player_buffering_cb() will be invoked.
* @see player_unset_buffering_cb()
* @see player_set_uri()
/**
* @brief Unsets the buffering callback function.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Sets the playback rate.
* @details The default value is @c 1.0.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks #PLAYER_ERROR_INVALID_OPERATION occurs when streaming playback.
* @remarks No operation is performed, if @a rate is @c 0.
* @remarks The sound is muted, when playback rate is under @c 0.0 and over @c 2.0.
/**
* @brief Sets a subtitle path.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks Only MicroDVD/SubViewer(*.sub), SAMI(*.smi), and SubRip(*.srt) subtitle formats are supported.
* @remarks The mediastorage privilege(http://tizen.org/privilege/mediastorage) must be added if any files are used to play located in the internal storage.
* @remarks The externalstorage privilege(http://tizen.org/privilege/externalstorage) must be added if any files are used to play located in the external storage.
/**
* @brief Sets a callback function to be invoked when a subtitle updates.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The callback is called in a separate thread (not in the main loop).
* @param[in] player The handle to the media player
* @param[in] callback The callback function to register
/**
* @brief Unsets the subtitle updated callback function.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Sets the seek position for the subtitle.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif.1
+ * @since_tizen 2.3.1
* @remarks Only MicroDVD/SubViewer(*.sub), SAMI(*.smi), and SubRip(*.srt) subtitle formats are supported.
* @param[in] player The handle to the media player
* @param[in] milliseconds The position in milliseconds from the start to the seek point
/**
* @brief Sets a callback function to be invoked when video stream is changed.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks The stream changing is detected just before rendering operation.
* @remarks The callback is called in a separate thread (not in the main loop).
* @remarks This function must be called before calling the player_prepare() or player_prepare_async()
/**
* @brief Unsets the video stream changed callback function.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Gets current track index.
* @details Index starts from 0.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Gets language code of a track.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks @a code must be released with @c free() by caller
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
/**
* @brief Gets the track count.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Selects a track to play.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Sets the streaming buffering time.
- * @since_tizen 4.0
+ * 4.0
* @param[in] player The handle to the media player
* @param[in] prebuffer_ms The time duration of buffering data that must be prerolled to start playback. \n
* The value should be more than 1000 milliseconds to ensure the normal buffering. \n
* @retval #PLAYER_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #PLAYER_ERROR_INVALID_STATE Invalid state
* @retval #PLAYER_ERROR_INVALID_OPERATION Invalid operation (since 5.5)
- * @if WEARABLE @retval #PLAYER_ERROR_FEATURE_NOT_SUPPORTED_ON_DEVICE Unsupported feature @endif
* @pre The player state must be #PLAYER_STATE_IDLE.
* @see player_get_streaming_buffering_time()
* @par Example
* otherwise a negative error value
* @retval #PLAYER_ERROR_NONE Successful
* @retval #PLAYER_ERROR_INVALID_PARAMETER Invalid parameter
- * @if WEARABLE @retval #PLAYER_ERROR_FEATURE_NOT_SUPPORTED_ON_DEVICE Unsupported feature @endif
* @see player_set_streaming_buffering_time()
*/
int player_get_streaming_buffering_time(player_h player, int *prebuffer_ms, int *rebuffer_ms);
/**
* @brief The player error class define.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
#define PLAYER_ERROR_CLASS TIZEN_ERROR_PLAYER | 0x20
/**
* @brief The media player's type handle.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef struct player_s *player_h;
/**
* @brief Enumeration for media player state.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_STATE_NONE, /**< Player is not created */
/**
* @brief Enumeration for media player's error codes.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
/**
* @brief Enumeration for media player's interruption type.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT = 4, /**< Interrupted by a resource conflict and the player handle will be paused or unprepared */
/**
* @brief Enumeration for display type.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @details In case of using #PLAYER_DISPLAY_TYPE_OVERLAY_SYNC_UI, the video is rendering in full scale in the rendering area.\n
* To change the video rendering position, use UI API functions like ecore_wl2_subsurface_exported_surface_move(),
* ecore_wl2_subsurface_exported_surface_resize(), ecore_wl2_subsurface_exported_surface_transform_set(),
/**
* @brief Enumeration for audio latency mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
AUDIO_LATENCY_MODE_LOW = 0, /**< Low audio latency mode */
/**
* @brief Enumeration for stream type.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
*/
typedef enum {
PLAYER_STREAM_TYPE_DEFAULT, /**< Container type */
/**
* @brief Enumeration of media stream buffer status.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @see player_set_media_stream_buffer_max_size()
* @see player_set_media_stream_buffer_min_threshold()
*/
/**
* @brief The player display handle.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef void *player_display_h;
#ifndef GET_DISPLAY
/**
* @brief Definition for a display handle from evas object.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
#define GET_DISPLAY(x) (void *)(x)
#endif
/**
* @brief Enumeration for display rotation type.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_DISPLAY_ROTATION_NONE, /**< Display is not rotated */
/**
* @brief Enumeration for display mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_DISPLAY_MODE_LETTER_BOX = 0, /**< Letter box */
/**
* @brief Enumeration for media stream content information.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
*/
typedef enum {
PLAYER_CONTENT_INFO_ALBUM, /**< Album */
/**
* @brief Called when the subtitle is updated.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The @a text should not be released and it can be used only in the callback.
* To use outside, make a copy.
* @param[in] duration The duration of the updated subtitle
/**
* @brief Called when the media player is prepared.
* @details It will be invoked when player has reached the begin of stream.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] user_data The user data passed from the callback registration function
* @pre player_prepare_async() will cause this callback.
* @post The player state will be #PLAYER_STATE_READY.
/**
* @brief Called when the media player is completed.
* @details It will be invoked when player has reached the end of the stream.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] user_data The user data passed from the callback registration function
* @pre It will be invoked when the playback is completed if you register this callback using player_set_completed_cb().
* @see player_set_completed_cb()
/**
* @brief Called when the seek operation is completed.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] user_data The user data passed from the callback registration function
* @see player_set_play_position()
* @see player_set_play_position_nsec()
* @details If the code is #PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT,
* the player state will be one of #PLAYER_STATE_IDLE, #PLAYER_STATE_READY, or #PLAYER_STATE_PAUSED.
* Application should get exact state by calling player_get_state().
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] code The interrupted error code
* @param[in] user_data The user data passed from the callback registration function
* @see player_set_interrupted_cb()
* #PLAYER_ERROR_NOT_SUPPORTED_AUDIO_CODEC (Since 4.0)
* #PLAYER_ERROR_NOT_SUPPORTED_VIDEO_CODEC (Since 4.0)
* #PLAYER_ERROR_NOT_SUPPORTED_SUBTITLE (Since 4.0)
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] error_code The error code
* @param[in] user_data The user data passed from the callback registration function
* @see player_set_error_cb()
/**
* @brief Called when the buffer level drops below the threshold of max size or no free space in buffer.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @param[in] status The buffer status
* @param[in] user_data The user data passed from the callback registration function
/**
* @brief Called to notify the next push-buffer offset when seeking is occurred.
* @details The next push-buffer should produce buffers from the new offset.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @param[in] offset The new byte position to seek
* @param[in] user_data The user data passed from the callback registration function
/**
* @brief Called to notify the video stream changed.
* @details The video stream changing is detected just before rendering operation.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @param[in] width The width of the captured image
* @param[in] height The height of the captured image
* @param[in] fps The frame per second of the video \n
/**
* @brief Called when the buffering percentage of the media playback is updated.
* @details If the buffer is full, it will return 100%.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] percent The percentage of buffering completed (0~100)
* @param[in] user_data The user data passed from the callback registration function
* @see player_set_buffering_cb()
/**
* @brief Creates a player handle for playing multimedia content.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks You must release @a player by using player_destroy().\n
* Although you can create multiple player handles at the same time,
* the player cannot guarantee proper operation because of limited resources, such as
/**
* @brief Destroys the media player handle and releases all its resources.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks To completely shutdown player operation, call this function with a valid player handle from any player state.
* @param[in] player The handle to the media player to be destroyed
* @return @c 0 on success,
/**
* @brief Prepares the media player for playback.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The mediastorage privilege(http://tizen.org/privilege/mediastorage) must be added if any video/audio files are used to play located in the internal storage.
* @remarks The externalstorage privilege(http://tizen.org/privilege/externalstorage) must be added if any video/audio files are used to play located in the external storage.
* @remarks The internet privilege(http://tizen.org/privilege/internet) must be added if any URLs are used to play from network.
/**
* @brief Prepares the media player for playback, asynchronously.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The mediastorage privilege(http://tizen.org/privilege/mediastorage) must be added if any video/audio files are used to play located in the internal storage.
* The externalstorage privilege(http://tizen.org/privilege/externalstorage) must be added if any video/audio files are used to play located in the external storage.
* The internet privilege(http://tizen.org/privilege/internet) must be added if any URLs are used to play from network. \n
* @details The most recently used media is reset and no longer associated with the player.
* Playback is no longer possible. If you want to use the player again, you must set the data URI and call
* player_prepare() again.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
*
* @details Associates media contents, referred to by the URI, with the player.
* If the function call is successful, subsequent calls to player_prepare() and player_start() will start playing the media.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If you use HTTP or RTSP, URI must start with "http://" or "rtsp://". The default protocol is "file://".
* If you provide an invalid URI, you won't receive an error message until you call player_start().
* @remarks This function must be called before calling the player_prepare() or player_prepare_async() to build the player based on the URI information.
*
* @details Associates media content, cached in memory, with the player. Unlike the case of player_set_uri(), the media resides in memory.
* If the function call is successful, subsequent calls to player_prepare() and player_start() will start playing the media.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If you provide an invalid data, you won't receive an error message until you call player_start().
* @remarks This function must be called before calling the player_prepare() or player_prepare_async()
* to build the player based on the data.
/**
* @brief Gets the player's current state.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] state The current state of the player
* @return @c 0 on success,
* The valid range is from 0 to 1.0, inclusive (1.0 = 100%). Default value is 1.0.
* To change system volume, use the @ref CAPI_MEDIA_SOUND_MANAGER_MODULE API.
* Finally, it does not support to set other value into each channel currently.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] left The left volume scalar
* @param[in] right The right volume scalar
* @details The range of @a left and @a right is from @c 0 to @c 1.0, inclusive (1.0 = 100%).
* This function gets the player volume, not the system volume.
* To get the system volume, use the @ref CAPI_MEDIA_SOUND_MANAGER_MODULE API.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] left The current left volume scalar
* @param[out] right The current right volume scalar
/**
* @brief Sets the audio latency mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The default audio latency mode of the player is #AUDIO_LATENCY_MODE_MID.
* To get the current audio latency mode, use player_get_audio_latency_mode().
* If it's high mode, audio output interval can be increased so, it can keep more audio data to play.
/**
* @brief Gets the current audio latency mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Starts or resumes playback.
* @details Plays current media content, or resumes playback if the player is paused or buffering during HTTP streaming play.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks Even if you don't set visible to true by calling player_set_display_visible(), the video will be shown on #PLAYER_STATE_PLAYING state.
* @remarks Since 3.0: \n
* Sound can be mixed with other sounds, if you don't control the stream focus in sound-manager module.\n
/**
* @brief Stops playing media content.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Pauses the player.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks You can resume playback using player_start().
*
* @param[in] player The handle to the media player
/**
* @brief Sets the seek position for playback, asynchronously.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks This function will trigger the seeking operation on player instance like in the case of player_set_play_position_nsec().
* Normally application needs to wait for player_seek_completed_cb() before calling setting position function again.
* Otherwise it will return #PLAYER_ERROR_SEEK_FAILED.
/**
* @brief Gets the current position in milliseconds.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] milliseconds The current position in milliseconds
* @return @c 0 on success,
* @details If the mute status is @c true, no sounds are played.
* If it is @c false, sounds are played at the previously set volume level.
* Until this function is called, by default the player is not muted.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] muted The new mute status: (@c true = mute, @c false = not muted)
* @return @c 0 on success,
* @brief Gets the player's mute status.
* @details If the mute status is @c true, no sounds are played.
* If it is @c false, sounds are played at the previously set volume level.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] muted The current mute status: (@c true = mute, @c false = not muted)
* @return @c 0 on success,
* @brief Sets the player's looping status.
* @details If the looping status is @c true, playback automatically restarts upon finishing.
* If it is @c false, it won't. The default value is @c false.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] looping The new looping status: (@c true = looping, @c false = non-looping )
* @return @c 0 on success,
* @brief Gets the player's looping status.
* @details If the looping status is @c true, playback automatically restarts upon finishing.
* If it is @c false, it won't.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] looping The looping status: (@c true = looping, @c false = non-looping )
* @return @c 0 on success,
/**
* @brief Sets the video display.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks To get @a display to set, use #GET_DISPLAY().
* @remarks We are not supporting changing display.
* @remarks This function must be called before calling the player_prepare() or player_prepare_async() \n
/**
* @brief Pushes elementary stream to decode audio or video.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks player_set_media_stream_info() must be called before using this function.
* @remarks The available buffer size can be set by calling player_set_media_stream_buffer_max_size().
* If there is no available buffer space, this function will return error since 3.0.
/**
* @brief Sets contents information for media stream.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks AV format must be set before pushing elementary stream with player_push_media_stream().
* @remarks This function must be called before calling the player_prepare() or player_prepare_async()
* to reflect the media information.
/**
* @brief Sets a callback function to be invoked when buffer underrun or overflow is occurred.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks The callback is called in a separate thread (not in the main loop).
* @param[in] player The handle to the media player
/**
* @brief Unsets the buffer status callback function.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @param[in] player The handle to the media player
* @param[in] type The type of target stream
/**
* @brief Sets a callback function to be invoked when seeking is occurred.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks The callback is called in a separate thread (not in the main loop).
* @param[in] player The handle to the media player
/**
* @brief Unsets the seek callback function.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @param[in] player The handle to the media player
* @param[in] type The type of target stream
* @return @c 0 on success,
/**
* @brief Sets the max size bytes of buffer.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks If the buffer level over the max size, player_media_stream_buffer_status_cb() will be invoked with overflow status.
* @param[in] player The handle to the media player
/**
* @brief Gets the max size bytes of buffer.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks If the buffer level over the max size, player_media_stream_buffer_status_cb() will be invoked with overflow status.
* @param[in] player The handle to the media player
/**
* @brief Sets the buffer threshold percent of buffer.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks If the buffer level drops below the percent value, player_media_stream_buffer_status_cb() will be invoked with underrun status.
* @param[in] player The handle to the media player
/**
* @brief Gets the buffer threshold percent of buffer.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks This function is used for media stream playback only.
* @remarks If the buffer level drops below the percent value, player_media_stream_buffer_status_cb() will be invoked with underrun status.
* @param[in] player The handle to the media player
/**
* @brief Sets the video display mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If no display is set, no operation is performed.
* @param[in] player The handle to the media player
* @param[in] mode The display mode
/**
* @brief Gets the video display mode.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If no display is set, no operation is performed.
* @param[in] player The handle to the media player
* @param[out] mode The current display mode
/**
* @brief Sets the visibility of the video display.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If no display is set, no operation is performed.
* @remarks If you set visible before calling player_set_display(), it will be applied on #PLAYER_STATE_READY state.
* @param[in] player The handle to the media player
/**
* @brief Gets the visibility of the video display.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] visible The current visibility of the display (@c true = visible, @c false = non-visible )
* @return @c 0 on success,
* @brief Sets the rotation settings of the video surface display.
* @details Use this function to change the video orientation to portrait mode.
* The video out will be rotated in a counterclockwise direction.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks If no display is set, no operation is performed.
* @param[in] player The handle to the media player
* @param[in] rotation The rotation of the display
/**
* @brief Gets the rotation of the video surface display.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] rotation The current rotation of the display
* @return @c 0 on success,
/**
* @brief Gets the media content information.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks You must release @a value using @c free().
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
/**
* @brief Gets the audio and video codec information.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks You must release @a audio_codec and @a video_codec using free().
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
/**
* @brief Gets the audio stream information.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
* @param[out] sample_rate The audio sample rate [Hz] \n
/**
* @brief Gets the video stream information.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
* @param[out] fps The frame per second of the video \n
/**
* @brief Gets the video display's height and width.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
* @param[out] width The width of the video \n
/**
* @brief Gets the album art in the media resource.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks You must not release @a album_art.
* The @a album_art is managed by the platform and will be released
* when the player is unprepared or destroyed by calling player_unprepare() or player_destroy().
/**
* @brief Gets the total running time of the associated media.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The media source is associated with the player, using either player_set_uri() or player_set_memory_buffer().
* @remarks The playback type should be local playback or HTTP streaming playback.
* @param[in] player The handle to the media player
/**
* @brief Sets the cookie for streaming playback.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks This function must be called before calling the player_prepare() or player_prepare_async()
* to reflect the cookie information when the streaming connection is set up.
* @param[in] player The handle to the media player
/**
* @brief Sets the streaming user agent for playback.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks This function must be called before calling the player_prepare() or player_prepare_async()
* to reflect the user agent information when the streaming connection is set up.
* @param[in] player The handle to the media player
/**
* @brief Gets the download progress for streaming playback.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[out] start The starting position of received data in percentage [0, 100]
* @param[out] end The end position of received data in percentage [0, 100]
/**
* @brief Sets a callback function to be invoked when the playback is finished.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] callback The callback function to register
* @param[in] user_data The user data to be passed to the callback function
/**
* @brief Unsets the playback completed callback function.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Sets a callback function to be invoked when the playback is interrupted or the interrupt is completed.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] callback The callback function to register
* @param[in] user_data The user data to be passed to the callback function
/**
* @brief Unsets the interrupted callback function.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Sets a callback function to be invoked when an error occurs.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @param[in] callback The callback function to register
* @param[in] user_data The user data to be passed to the callback function
/**
* @brief Unsets the error callback function.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Sets a callback function to be invoked when there is a change in the buffering status of a media stream.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The media resource should be streamed over the network.
* @param[in] player The handle to the media player
* @param[in] callback The callback function to register
/**
* @brief Unsets the buffering callback function.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Sets the playback rate.
* @details The default value is @c 1.0.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks #PLAYER_ERROR_INVALID_OPERATION occurs when streaming playback.
* @remarks No operation is performed, if @a rate is @c 0.
* @remarks The sound is muted, when playback rate is under @c 0.0 and over @c 2.0.
/**
* @brief Sets a subtitle path.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks Only MicroDVD/SubViewer(*.sub), SAMI(*.smi), and SubRip(*.srt) subtitle formats are supported.
* @remarks The mediastorage privilege(http://tizen.org/privilege/mediastorage) must be added if any files are used to play located in the internal storage.
* @remarks The externalstorage privilege(http://tizen.org/privilege/externalstorage) must be added if any files are used to play located in the external storage.
/**
* @brief Sets a callback function to be invoked when a subtitle updates.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @remarks The callback is called in a separate thread (not in the main loop).
* @param[in] player The handle to the media player
* @param[in] callback The callback function to register
/**
* @brief Unsets the subtitle updated callback function.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif
+ * @since_tizen 2.3
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Sets the seek position for the subtitle.
- * @since_tizen @if WEARABLE 2.3.1 @else 2.3 @endif.1
+ * @since_tizen 2.3.1
* @remarks Only MicroDVD/SubViewer(*.sub), SAMI(*.smi), and SubRip(*.srt) subtitle formats are supported.
* @param[in] player The handle to the media player
* @param[in] milliseconds The position in milliseconds from the start to the seek point
/**
* @brief Sets a callback function to be invoked when video stream is changed.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks The stream changing is detected just before rendering operation.
* @remarks The callback is called in a separate thread (not in the main loop).
* @remarks This function must be called before calling the player_prepare() or player_prepare_async()
/**
* @brief Unsets the video stream changed callback function.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @param[in] player The handle to the media player
* @return @c 0 on success,
* otherwise a negative error value
/**
* @brief Gets current track index.
* @details Index starts from 0.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Gets language code of a track.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks @a code must be released with @c free() by caller
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
/**
* @brief Gets the track count.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player
/**
* @brief Selects a track to play.
- * @since_tizen @if WEARABLE 3.0 @else 2.4 @endif
+ * @since_tizen 2.4
* @remarks If audio offload is enabled by calling player_audio_offload_set_enabled(),
* this function will return #PLAYER_ERROR_NOT_AVAILABLE. (Since 5.5)
* @param[in] player The handle to the media player