*/
#define MM_PLAYER_DRC_MODE "drc_mode"
+/**
+ * MM_PLAYER_GAPLESS_MODE
+ *
+ * gapless playback mode (int)
+ */
+#define MM_PLAYER_GAPLESS_MODE "gapless_mode"
+
+/**
+ * MM_PLAYER_ENABLE_VIDEO_DECODED_CB
+ *
+ * enable video decoded callback (int)
+ */
+#define MM_PLAYER_ENABLE_VIDEO_DECODED_CB "enable_video_decoded_cb"
+
#define BUFFER_MAX_PLANE_NUM (4)
typedef struct {
MM_PLAYER_BUFFERING_MODE_MAX = MM_PLAYER_BUFFERING_MODE_SLINK,
}MMPlayerBufferingMode;
-/**
- * Enumeration of audio channel for video share
- */
-typedef enum
-{
- MM_PLAYER_AUDIO_CH_MONO_LEFT = 0,
- MM_PLAYER_AUDIO_CH_MONO_RIGHT,
- MM_PLAYER_AUDIO_CH_STEREO,
-} MMPlayerAudioChannel;
-
typedef enum
{
MM_PLAYER_FOCUS_CHANGED_COMPLETED = 0,
} MMPlayerStreamType;
/**
- * Enumeration for pipeline type.
- */
-typedef enum
-{
- MM_PLAYER_PIPELINE_LEGACY, /**< Legacy pipeline */
- MM_PLAYER_PIPELINE_SERVER, /**< Pipeline for server(src,decoder,demux...) */
- MM_PLAYER_PIPELINE_CLIENT, /**< Pipeline for client(sink)*/
- MM_PLAYER_PIPELINE_MAX
-} MMPlayerPipelineType;
-
-/**
* Attribute validity structure
*/
typedef struct {
* So, application PID should be set before realizing with mm_player_set_attribute(). \n
*
* @param player [in] Handle of player
+ * @param pid [in] application PID
*
* @return This function returns zero on success, or negative value with error code.
*
int mm_player_sound_register(MMHandleType player, int pid);
/**
+ * This function get the application PID that is registered \n
+ * So, application PID should be set before realizing with mm_player_set_attribute(). \n
+ *
+ * @param player [in] Handle of player
+ * @param pid [out] application PID
+ *
+ * @return This function returns zero on success, or negative value with error code.
+ *
+ * @pre Player state should be MM_PLAYER_STATE_NULL.
+ * @remark None
+ */
+int mm_player_get_client_pid (MMHandleType player, int* pid);
+
+/**
* This function parses uri and makes gstreamer pipeline by uri scheme. \n
* So, uri should be set before realizing with mm_player_set_attribute(). \n
*
* @remark None
*/
int mm_player_get_video_share_master_clock(MMHandleType player, long long *video_time, long long *media_clock, long long *audio_time);
-/**
- * This function is to set audio channel
- *
- * @param player [in] handle of player
- * @param ch [in] audio channel
- * @return This function returns zero on success, or negative value with error code.
- *
- * @see
- * @remark None
- */
-int mm_player_gst_set_audio_channel(MMHandleType player, MMPlayerAudioChannel ch);
/**
* This function is to get the content angle
*/
int mm_player_get_next_uri(MMHandleType player, char **uri);
-int mm_player_enable_media_packet_video_stream(MMHandleType player, bool enable);
-
/**
* This function is to increase reference count of internal buffer.
*
int mm_player_set_media_stream_dynamic_resolution(MMHandleType player, bool drc);
/**
+ * This function is to release the video stream bo to reuse. \n
+ * It's only supported when sw codec is used to decode video stream. \n
+ *
+ * @param player [in] Handle of player.
+ * @param bo [in] bo address to be released
+ *
+ * @return This function returns zero on success, or negative value with error
+ * code.
+ * @since 3.0
+ */
+int mm_player_release_video_stream_bo(MMHandleType player, void* bo);
+
+/**
+ * This function is to set http file buffering path
+ *
+ * @param player [in] handle of player
+ * @param file_path [in] file path
+ * @return This function returns zero on success, or negative value with error code.
+ *
+ * @see
+ * @remark None
+ */
+int mm_player_set_file_buffering_path(MMHandleType player, const char *file_path);
+
+/**
+ * This function is to set sound stream info
+ */
+int mm_player_set_sound_stream_info(MMHandleType player, char *stream_type, int stream_index);
+
+/**
+ * This function is to manage the playback according to the external storage state
+ */
+int mm_player_manage_external_storage_state(MMHandleType player, int state);
+
+/**
+ * These functions are to set/get the max variant of HAS
+ */
+int mm_player_get_adaptive_variant_info(MMHandleType player, int *num, char **var_info);
+int mm_player_set_max_adaptive_variant_limit(MMHandleType player, int bandwidth, int width, int height);
+int mm_player_get_max_adaptive_variant_limit(MMHandleType player, int *bandwidth, int *width, int *height);
+
+/**
+ * These functions are to set/get the audio only mode
+ */
+int mm_player_set_audio_only(MMHandleType player, bool audio_only);
+int mm_player_get_audio_only(MMHandleType player, bool *audio_only);
+
+/**
@}
*/