*
*/
#define MM_PLAYER_VIDEO_HEIGHT "content_video_height"
+
+/**
+ * MM_PLAYER_VIDEO_FPS:
+ */
+#define MM_PLAYER_VIDEO_FPS "content_video_fps"
+
+/**
+ * MM_PLAYER_VIDEO_BITRATE:
+ */
+#define MM_PLAYER_VIDEO_BITRATE "content_video_bitrate"
+
/**
* MM_PLAYER_VIDEO_EVAS_SURFACE_SINK:
*
*/
#define MM_PLAYER_TAG_DATE "tag_date"
/**
- * MM_PLAYER_TAG_DESCRIPRION
+ * MM_PLAYER_TAG_DESCRIPTION
*
* short text describing the content of the data (string)
*/
-#define MM_PLAYER_TAG_DESCRIPRION "tag_description"
+#define MM_PLAYER_TAG_DESCRIPTION "tag_description"
/**
* MM_PLAYER_TAG_TRACK_NUM
*
#define MM_PLAYER_AUDIO_CODEC_TYPE "audio_codec_type"
/**
+ * MM_PLAYER_VIDEO_BUFFER_TOTAL_SIZE (int)
+ */
+#define MM_PLAYER_VIDEO_BUFFER_TOTAL_SIZE "video_buffer_total_size"
+
+/**
+ * MM_PLAYER_VIDEO_BUFFER_EXTRA_SIZE (int)
+ */
+#define MM_PLAYER_VIDEO_BUFFER_EXTRA_SIZE "video_buffer_extra_size"
+
+/**
* MM_PLAYER_PREBUFFER_MS
*
* prebuffer ms (int)
* rebuffer ms (int)
*/
#define MM_PLAYER_REBUFFER_MS "rebuffer_ms"
+
/**
* MM_PLAYER_AUDIO_OFFLOAD (int)
*/
#define MM_PLAYER_AUDIO_OFFLOAD "audio_offload"
/**
+ * MM_PLAYER_AUDIO_OFFLOAD_FORMAT (int array)
+ */
+#define MM_PLAYER_AUDIO_OFFLOAD_FORMAT "audio_offload_format"
+
+/**
* MM_PLAYER_PITCH_CONTROL (int)
*/
#define MM_PLAYER_PITCH_CONTROL "pitch_control"
*/
#define MM_PLAYER_PITCH_VALUE "pitch_value"
+/**
+ * MM_PLAYER_PCM_EXT_FORMAT (string)
+ */
+#define MM_PLAYER_PCM_EXT_FORMAT "pcm_extraction_format"
+
+/**
+ * MM_PLAYER_PCM_EXT_CHANNELS (int)
+ */
+#define MM_PLAYER_PCM_EXT_CHANNELS "pcm_extraction_channels"
+
+/**
+ * MM_PLAYER_PCM_EXT_SAMPLERATE (int)
+ */
+#define MM_PLAYER_PCM_EXT_SAMPLERATE "pcm_extraction_samplerate"
+
+/**
+ * MM_PLAYER_MEDIA_STREAM_INPUT_FORMAT (int array)
+ */
+#define MM_PLAYER_MEDIA_STREAM_INPUT_FORMAT "media_stream_input_format"
#define BUFFER_MAX_PLANE_NUM (4)
} mmplayer_stream_type_e;
typedef enum {
- MM_PLAYER_CODEC_TYPE_DEFAULT = 0, /**< codec is selected by the priority */
MM_PLAYER_CODEC_TYPE_HW, /**< HW codec can only be selected */
MM_PLAYER_CODEC_TYPE_SW, /**< SW codec can only be selected */
-} mmplayer_video_codec_type_e;
+ MM_PLAYER_CODEC_TYPE_DEFAULT, /**< codec is selected by the priority */
+} mmplayer_codec_type_e;
+
+typedef enum {
+ MM_PLAYER_AUDIO_CONTROL_OPT_EFFECT,
+ MM_PLAYER_AUDIO_CONTROL_OPT_REPLAYGAIN,
+ MM_PLAYER_AUDIO_CONTROL_OPT_PITCH,
+ MM_PLAYER_AUDIO_CONTROL_OPT_PCM_EXPORTING,
+} mmplayer_audio_control_opt_e;
typedef enum {
MM_PLAYER_AUDIO_EXTRACT_DEFAULT = 0x00, /**< Sync with the playback clock and multichannel audio stream */
int data_size;
int channel;
int bitrate;
- int depth;
- bool is_little_endian;
guint64 channel_mask;
media_format_mimetype_e pcm_format;
} mmplayer_audio_decoded_data_info_t;
} mmplayer_subtitle_stream_info_t;
/**
- * selected subtitle track number callback function type.
- *
- * @param track_num [in] Track number of subtitle
- * @param user_param [in] User defined parameter
- *
- *
- * @return This callback function have to return MM_ERROR_NONE.
- */
-typedef bool (*mm_player_track_selected_subtitle_language_callback)(int track_num, void *user_param);
-
-/**
- * Buffer underrun / overflow data callback function type.
- *
- * @param status [in] buffer status
- * @param user_param [in] User defined parameter which is passed when set
- * to enough data callback or need data callback
- *
- * @return This callback function have to return MM_ERROR_NONE.
- */
-typedef bool (*mm_player_media_stream_buffer_status_callback)(mmplayer_stream_type_e type, mmplayer_media_stream_buffer_status_e status, unsigned long long bytes, void *user_param);
-
-/**
- * Buffer seek data callback function type.
- *
- * @param offset [in] offset for the buffer playback
- * @param user_param [in] User defined parameter which is passed when set
- * to seek data callback
- *
- * @return This callback function have to return MM_ERROR_NONE.
- */
-typedef bool (*mm_player_media_stream_seek_data_callback)(mmplayer_stream_type_e type, unsigned long long offset, void *user_param);
-
-/**
* Called to notify the stream changed.
- *
- * @param user_data [in] The user data passed from the callback registration function
- *
- * @return This callback function have to return MM_ERROR_NONE.
*/
typedef bool (*mm_player_stream_changed_callback)(void *user_param);
/**
* Video decoded callback function type.
- *
- * @param stream [in] Reference pointer to video frame data
- * @param stream_size [in] Size of video frame data
- * @param user_param [in] User defined parameter which is passed when set
- * video stream callback
- * @param width [in] width of video frame
- * @param height [in] height of video frame
- *
- * @return This callback function have to return MM_ERROR_NONE.
*/
typedef bool (*mm_player_video_decoded_callback)(void *stream, void *user_param);
/**
* Audio stream callback function type.
- *
- * @param stream [in] Reference pointer to audio frame data
- * @param stream_size [in] Size of audio frame data
- * @param user_param [in] User defined parameter which is passed when set
- * audio stream callback
- *
- * @return This callback function have to return MM_ERROR_NONE.
*/
typedef bool (*mm_player_video_capture_callback)(void *stream, int stream_size, void *user_param);
/**
- * Video frame render error callback function type.
- *
- * @param error_id [in] cause of error
- * @param user_param [in] User defined parameter which is passed when set
- * video frame render error callback
- *
- * @return This callback function have to return MM_ERROR_NONE.
- */
-typedef bool (*mm_player_video_frame_render_error_callback)(void *error_id, void *user_param);
-
-/**
* Audio stream callback function type.
- *
- * @param stream [in] Reference pointer to audio frame data
- * @param user_param [in] User defined parameter which is passed when set
- * audio stream callback
- *
- * @return This callback function have to return MM_ERROR_NONE.
*/
typedef bool (*mm_player_audio_decoded_callback)(void *stream, void *user_param);
int mm_player_get_mute(MMHandleType player, bool *mute);
/**
- * This function is to adjust subtitle postion. So, subtitle can show at the adjusted position. \n
+ * This function is to adjust subtitle position. So, subtitle can show at the adjusted position. \n
* If pos is negative, subtitle will be displayed previous time, the other hand forward time. \n
*
* @param player [in] Handle of player
- * @param pos [in] postion to be adjusted
+ * @param pos [in] position to be adjusted
*
* @return This function returns zero on success, or negative value with error
* code
pos = 5000;
if (mm_player_adjust_subtitle_position(g_player, pos) != MM_ERROR_NONE)
{
- LOGW("failed to adjust subtitle postion.\n");
+ LOGW("failed to adjust subtitle position.\n");
}
* @endcode
*/
* by this value. But, one subtitle file should be set with "subtitle_uri" attribute before calling mm_player_realize(); \n
* Player FW parses subtitle file and send text data including timestamp to application \n
* through message callback with MM_MESSAGE_UPDATE_SUBTITLE will be. \n
- * So, application have to render it. And, subtitle can be supported only in a seprate file. \n
+ * So, application have to render it. And, subtitle can be supported only in a separate file. \n
* So, it's not supported for embedded case.
*
* @param player [in] Handle of player
*
* @param player [in] Handle of player.
* @param attribute_name [in] Name of the attribute to get
- * @param info [out] Attribute infomation
+ * @param info [out] Attribute information
*
* @return This function returns zero on success, or negative value with error
* code.
int mm_player_set_subtitle_info(MMHandleType player, mmplayer_subtitle_stream_info_t *info);
/**
- * This function set callback function for receiving need or enough data message from player.
- *
- * @param player [in] Handle of player.
- * @param type [in] stream type
- * @param callback [in] data callback function for stream type.
- * @param user_param [in] User parameter.
- *
- * @return This function returns zero on success, or negative value with error
- * code.
- */
-int mm_player_set_media_stream_buffer_status_callback(MMHandleType player, mmplayer_stream_type_e type, mm_player_media_stream_buffer_status_callback callback, void *user_param);
-
-/**
- * This function set callback function for receiving seek data message from player.
- *
- * @param player [in] Handle of player.
- * @param type [in] stream type
- * @param callback [in] Seek data callback function for stream type.
- * @param user_param [in] User parameter.
- *
- * @return This function returns zero on success, or negative value with error
- * code.
- */
-int mm_player_set_media_stream_seek_data_callback(MMHandleType player, mmplayer_stream_type_e type, mm_player_media_stream_seek_data_callback callback, void *user_param);
-
-/**
* This function is to set max size of buffer(appsrc).
*
* @param player [in] Handle of player.
int mm_player_set_audio_stream_changed_callback(MMHandleType player, mm_player_stream_changed_callback callback, void *user_param);
/**
- * This function set callback function for changing video stream from player. \n
- * It's only supported when video stream is included in file. \n
- *
- * @param player [in] Handle of player.
- * @param callback [in] Video stream changed callback function.
- * @param user_param [in] User parameter.
- *
- * @return This function returns zero on success, or negative value with error
- * code.
- * @see mm_player_stream_changed_callback
- */
-int mm_player_set_video_stream_changed_callback(MMHandleType player, mm_player_stream_changed_callback callback, void *user_param);
-
-/**
* This function is to get timeout value according to the content type for muse. \n
* It's only supported when video stream is included in file. \n
*
int mm_player_get_timeout(MMHandleType player, int *timeout);
/**
- * This function is to get the number of video output buffers. \n
- * It's only supported when video stream is included in file. \n
- *
- * @param player [in] Handle of player.
- * @param num [out] num of buffers.
- * @param extra_num [out] extra num of buffers.
- *
- * @return This function returns zero on success, or negative value with error
- * code.
- * @since 3.0
- */
-int mm_player_get_num_of_video_out_buffers(MMHandleType player, int *num, int *extra_num);
-
-/**
* This function is to set the dynamic resolution information. \n
* It's only supported when video stream is included in file. \n
*
int mm_player_get_audio_only(MMHandleType player, bool *audio_only);
/**
- * These functions are to get the streaming bufferint time
+ * These functions are to get the streaming buffering time
*/
int mm_player_get_streaming_buffering_time(MMHandleType player, int *prebuffer_ms, int *rebuffer_ms);
/**
* This function is to set codec type
*/
-int mm_player_set_codec_type(MMHandleType player, mmplayer_stream_type_e stream_type, mmplayer_video_codec_type_e codec_type);
+int mm_player_set_codec_type(MMHandleType player, mmplayer_stream_type_e stream_type, mmplayer_codec_type_e codec_type);
/**
* These functions are to apply the replaygain
* @return This function returns zero on success, or negative value with error
* code
* @remark The current supported range is from -64x to 64x.
- * But, the quailty is dependent on codec performance.
+ * But, the quality is dependent on codec performance.
* And, the sound is muted under normal speed and more than double speed.
* @see
* @since
*
* @param player [in] Handle of player.
* @param display_surface_type [in] display surface type to set
- * @param display_overlay [in] display overlay to set
+ * @param wl_surface_id [in] wayland surface id to set
*
* @return This function returns zero on success, or negative value with error
* code.
* @see
* @since
*/
-int mm_player_change_videosink(MMHandleType player, MMDisplaySurfaceType display_surface_type, void *display_overlay);
+int mm_player_change_videosink(MMHandleType player, MMDisplaySurfaceType display_surface_type, int wl_surface_id);
+
+/**
+ * This function set the application PID.
+ *
+ * @param player [in] Handle of player
+ * @param pid [in] 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_set_client_pid(MMHandleType player, int pid);
+
+/**
+ * This function gets the activation status of audio offload.
+ */
+int mm_player_audio_offload_is_activated(MMHandleType player, bool *activated);
+
+/**
+ * This function checks whether the controlling audio with opt is available or not.
+ */
+int mm_player_is_audio_control_available(MMHandleType player, mmplayer_audio_control_opt_e opt, bool *available);
/**
@}