| 
    Tizen Native API
    5.0
    
   
   | 
  
  
  
 
The Streaming API provides functions for streaming playback and buffering controlling.
Required Header
#include <player.h>
Overview
The streaming API allows you to set and get various properties to setup network connection and control buffering scheme:
- connection information, such as cookie, user_agent.
 - buffering information, such as time, percent, progress.
 - variant information of adaptive streaming content, such as bandwidth, resolution.
 
Functions | |
| int | player_set_streaming_cookie (player_h player, const char *cookie, int size) | 
| Sets the cookie for streaming playback.   | |
| int | player_set_streaming_user_agent (player_h player, const char *user_agent, int size) | 
| Sets the streaming user agent for playback.   | |
| int | player_get_streaming_download_progress (player_h player, int *start, int *current) | 
| Gets the download progress for streaming playback.   | |
| int | player_set_buffering_cb (player_h player, player_buffering_cb callback, void *user_data) | 
| Sets a callback function to be invoked when there is a change in the buffering status of a media stream.   | |
| int | player_unset_buffering_cb (player_h player) | 
| Unsets the buffering callback function.   | |
| int | player_set_progressive_download_path (player_h player, const char *path) TIZEN_DEPRECATED_API | 
| Sets a path to download, progressively.   | |
| int | player_get_progressive_download_status (player_h player, unsigned long *current, unsigned long *total_size) TIZEN_DEPRECATED_API | 
| Gets the status of progressive download.   | |
| int | player_set_progressive_download_message_cb (player_h player, player_pd_message_cb callback, void *user_data) TIZEN_DEPRECATED_API | 
| Sets a callback function to be invoked when progressive download is started or completed.   | |
| int | player_unset_progressive_download_message_cb (player_h player) TIZEN_DEPRECATED_API | 
| Unsets the progressive download message callback function.   | |
| int | player_foreach_adaptive_variant (player_h player, player_adaptive_variant_cb callback, void *user_data) | 
| Retrieves all the streaming variant information.   | |
| int | player_set_max_adaptive_variant_limit (player_h player, int bandwidth, int width, int height) | 
| Sets the maximum limit of the streaming variant.   | |
| int | player_get_max_adaptive_variant_limit (player_h player, int *bandwidth, int *width, int *height) | 
| Gets the maximum limit of the streaming variant.   | |
| int | player_set_streaming_buffering_time (player_h player, int prebuffer_ms, int rebuffer_ms) | 
| Sets the streaming buffering time.   | |
| int | player_get_streaming_buffering_time (player_h player, int *prebuffer_ms, int *rebuffer_ms) | 
| Gets the streaming buffering time.   | |
Typedefs | |
| typedef void(* | player_buffering_cb )(int percent, void *user_data) | 
| Called when the buffering percentage of the media playback is updated.   | |
| typedef void(* | player_pd_message_cb )(player_pd_message_type_e type, void *user_data) | 
| Called when progressive download is started or completed.   | |
| typedef void(* | player_adaptive_variant_cb )(int bandwidth, int width, int height, void *user_data) | 
| Called to notify the streaming variant information.   | |
Typedef Documentation
| typedef void(* player_adaptive_variant_cb)(int bandwidth, int width, int height, void *user_data) | 
Called to notify the streaming variant information.
The adaptive streaming protocol(hls, mpeg dash) can support variant stream condition. All the streaming variant information can be shared by calling player_foreach_adaptive_variant().
- Since :
 - 4.0
 
- Parameters:
 - 
  
[in] bandwidth The bandwidth of the stream can be supportable, this is mandatory parameter [in] width The width of the stream, this is optional parameter [in] height The height of the stream, this is optional parameter [in] user_data The user data passed from the callback registration function  
- See also:
 - player_foreach_adaptive_variant()
 
| typedef void(* player_buffering_cb)(int percent, void *user_data) | 
Called when the buffering percentage of the media playback is updated.
If the buffer is full, it will return 100%.
- Since :
 - 2.3.1
 
- Parameters:
 - 
  
[in] percent The percentage of buffering completed (0~100) [in] user_data The user data passed from the callback registration function  
| typedef void(* player_pd_message_cb)(player_pd_message_type_e type, void *user_data) | 
Called when progressive download is started or completed.
- Since :
 - 2.3.1
 
- Parameters:
 - 
  
[in] type The message type for progressive download [in] user_data The user data passed from the callback registration function  
Function Documentation
| int player_foreach_adaptive_variant | ( | player_h | player, | 
| player_adaptive_variant_cb | callback, | ||
| void * | user_data | ||
| ) | 
Retrieves all the streaming variant information.
- Since :
 - 4.0
 
- Remarks:
 - This function is used for adaptive streaming(hls/mpeg dash) only.
 
- Parameters:
 - 
  
[in] player The handle to the media player [in] callback The iteration callback function [in] user_data The user data to be passed to the callback function  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation PLAYER_ERROR_INVALID_STATE Invalid player state  
- Precondition:
 - The player state must be one of PLAYER_STATE_READY, PLAYER_STATE_PLAYING, or PLAYER_STATE_PAUSED
 
- See also:
 - player_adaptive_variant_cb()
 
| int player_get_max_adaptive_variant_limit | ( | player_h | player, | 
| int * | bandwidth, | ||
| int * | width, | ||
| int * | height | ||
| ) | 
Gets the maximum limit of the streaming variant.
- Since :
 - 4.0
 
- Remarks:
 - This function is used for adaptive streaming(hls/mpeg dash) only.
 
- Parameters:
 - 
  
[in] player The handle to the media player [out] bandwidth The max bandwidth limit of the stream variant (default: -1) [out] width The max width limit of the stream variant (default: -1) [out] height The max height limit of the stream variant (default: -1)  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation  
| int player_get_progressive_download_status | ( | player_h | player, | 
| unsigned long * | current, | ||
| unsigned long * | total_size | ||
| ) | 
Gets the status of progressive download.
- Deprecated:
 - Deprecated since 4.0.
 
- Since :
 - 2.3.1
 
- Parameters:
 - 
  
[in] player The handle to the media player [out] current The current download position (bytes) [out] total_size The total size of the file (bytes)  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation PLAYER_ERROR_INVALID_STATE Invalid player state  
- Precondition:
 - The progressive download path must be set by calling player_set_progressive_download_path().
 - The player state must be set to PLAYER_STATE_PLAYING by calling player_start() or set to PLAYER_STATE_PAUSED by calling player_pause().
 
| int player_get_streaming_buffering_time | ( | player_h | player, | 
| int * | prebuffer_ms, | ||
| int * | rebuffer_ms | ||
| ) | 
Gets the streaming buffering time.
- Since :
 - 4.0
 
- Parameters:
 - 
  
[in] player The handle to the media player [out] prebuffer_ms The time duration of buffering data that must be prerolled to start playback. [out] rebuffer_ms The time duration of buffering data that must be prerolled to resume playback if player enters pause state for buffering.  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_FEATURE_NOT_SUPPORTED_ON_DEVICE Unsupported feature  
| int player_get_streaming_download_progress | ( | player_h | player, | 
| int * | start, | ||
| int * | current | ||
| ) | 
Gets the download progress for streaming playback.
- Since :
 - 2.3.1
 
- Parameters:
 - 
  
[in] player The handle to the media player [out] start The starting position in percentage [0, 100] [out] current The current position in percentage [0, 100]  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation PLAYER_ERROR_INVALID_STATE Invalid player state  
- Precondition:
 - The player state must be set to PLAYER_STATE_PLAYING by calling player_start() or set to PLAYER_STATE_PAUSED by calling player_pause().
 
| int player_set_buffering_cb | ( | player_h | player, | 
| player_buffering_cb | callback, | ||
| void * | user_data | ||
| ) | 
Sets a callback function to be invoked when there is a change in the buffering status of a media stream.
- Since :
 - 2.3.1
 
- Remarks:
 - The media resource should be streamed over the network.
 
- Parameters:
 - 
  
[in] player The handle to the media player [in] callback The callback function to register [in] user_data The user data to be passed to the callback function  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation PLAYER_ERROR_FEATURE_NOT_SUPPORTED_ON_DEVICE Unsupported feature  
- Postcondition:
 - player_buffering_cb() will be invoked.
 
| int player_set_max_adaptive_variant_limit | ( | player_h | player, | 
| int | bandwidth, | ||
| int | width, | ||
| int | height | ||
| ) | 
Sets the maximum limit of the streaming variant.
- Since :
 - 4.0
 
- Remarks:
 - This function is used for adaptive streaming(hls/mpeg dash) only.
 - The bandwidth setting can only be applied if there is no width, height information at streaming variant header. Application can get all the variant information by calling player_foreach_adaptive_variant() function.
 - If there is no affordable stream for the condition, the minimum bandwidth stream will be selected.
 
- Parameters:
 - 
  
[in] player The handle to the media player [in] bandwidth The max bandwidth limit of the stream variant (default: -1) [in] width The max width limit of the stream variant (default: -1) [in] height The max height limit of the stream variant (default: -1)  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation  
| int player_set_progressive_download_message_cb | ( | player_h | player, | 
| player_pd_message_cb | callback, | ||
| void * | user_data | ||
| ) | 
Sets a callback function to be invoked when progressive download is started or completed.
- Deprecated:
 - Deprecated since 4.0.
 
- Since :
 - 2.3.1
 
- Parameters:
 - 
  
[in] player The handle to the media player [in] callback The callback function to register [in] user_data The user data to be passed to the callback function  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation PLAYER_ERROR_FEATURE_NOT_SUPPORTED_ON_DEVICE Unsupported feature  
- Precondition:
 - The path to download must be set by calling player_set_progressive_download_path().
 
- Postcondition:
 - player_pd_message_cb() will be invoked.
 
| int player_set_progressive_download_path | ( | player_h | player, | 
| const char * | path | ||
| ) | 
Sets a path to download, progressively.
- Deprecated:
 - Deprecated since 4.0.
 
- Since :
 - 2.3.1
 
- Remarks:
 - Progressive download will be started when you invoke player_start().
 - This function must be called before calling the player_prepare() or player_prepare_async() to reflect the download path when the player is building.
 - The mediastorage privilege(http://tizen.org/privilege/mediastorage) must be added if any files are used to download and play located in the internal storage.
 - The externalstorage privilege(http://tizen.org/privilege/externalstorage) must be added if any files are used to download and play located in the external storage.
 
- Parameters:
 - 
  
[in] player The handle to the media player [in] path The absolute path to download  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation PLAYER_ERROR_INVALID_STATE Invalid player state PLAYER_ERROR_FEATURE_NOT_SUPPORTED_ON_DEVICE Unsupported feature PLAYER_ERROR_PERMISSION_DENIED Permission denied  
- Precondition:
 - The player state must be set to PLAYER_STATE_IDLE by calling player_create() or player_unprepare().
 
| int player_set_streaming_buffering_time | ( | player_h | player, | 
| int | prebuffer_ms, | ||
| int | rebuffer_ms | ||
| ) | 
Sets the streaming buffering time.
- Since :
 - 4.0
 
- Parameters:
 - 
  
[in] player The handle to the media player [in] prebuffer_ms The time duration of buffering data that must be prerolled to start playback. [in] rebuffer_ms The time duration of buffering data that must be prerolled to resume playback if player is paused for buffering internally.  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_STATE Invalid state PLAYER_ERROR_FEATURE_NOT_SUPPORTED_ON_DEVICE Unsupported feature  
- Precondition:
 - The player state must be PLAYER_STATE_IDLE.
 
| int player_set_streaming_cookie | ( | player_h | player, | 
| const char * | cookie, | ||
| int | size | ||
| ) | 
Sets the cookie for streaming playback.
- Since :
 - 2.3.1
 
- 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.
 
- Parameters:
 - 
  
[in] player The handle to the media player [in] cookie The cookie to set [in] size The size of the cookie  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation PLAYER_ERROR_INVALID_STATE Invalid player state  
- Precondition:
 - The player state must be set to PLAYER_STATE_IDLE by calling player_create() or player_unprepare().
 
| int player_set_streaming_user_agent | ( | player_h | player, | 
| const char * | user_agent, | ||
| int | size | ||
| ) | 
Sets the streaming user agent for playback.
- Since :
 - 2.3.1
 
- 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.
 
- Parameters:
 - 
  
[in] player The handle to the media player [in] user_agent The user agent to set [in] size The size of the user agent  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation PLAYER_ERROR_INVALID_STATE Invalid player state  
- Precondition:
 - The player state must be set to PLAYER_STATE_IDLE by calling player_create() or player_unprepare().
 
| int player_unset_buffering_cb | ( | player_h | player | ) | 
Unsets the buffering callback function.
- Since :
 - 2.3.1
 
- Parameters:
 - 
  
[in] player The handle to the media player  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation  
- See also:
 - player_set_buffering_cb()
 
| int player_unset_progressive_download_message_cb | ( | player_h | player | ) | 
Unsets the progressive download message callback function.
- Deprecated:
 - Deprecated since 4.0.
 
- Since :
 - 2.3.1
 
- Parameters:
 - 
  
[in] player The handle to the media player  
- Returns:
 0on success, otherwise a negative error value
- Return values:
 - 
  
PLAYER_ERROR_NONE Successful PLAYER_ERROR_INVALID_PARAMETER Invalid parameter PLAYER_ERROR_INVALID_OPERATION Invalid operation