From: NAMJEONGYOON Date: Wed, 1 Jun 2016 00:50:02 +0000 (+0900) Subject: modified for checking whether audio policy is set or not X-Git-Tag: accepted/tizen/common/20160603.151020~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F08%2F72408%2F3;p=platform%2Fcore%2Fmultimedia%2Flibmm-player.git modified for checking whether audio policy is set or not Change-Id: I582768825606d129adac79e6609a31440f81927b --- diff --git a/src/include/mm_player.h b/src/include/mm_player.h index e94e6c8..e0c270d 100644 --- a/src/include/mm_player.h +++ b/src/include/mm_player.h @@ -1067,6 +1067,7 @@ int mm_player_destroy(MMHandleType player); * 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. * @@ -1076,6 +1077,20 @@ int mm_player_destroy(MMHandleType player); 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 * diff --git a/src/include/mm_player_priv.h b/src/include/mm_player_priv.h index daa7f20..2cf26af 100644 --- a/src/include/mm_player_priv.h +++ b/src/include/mm_player_priv.h @@ -862,6 +862,7 @@ gint __gst_handle_library_error( mm_player_t* player, int code ); gint __gst_handle_resource_error( mm_player_t* player, int code ); gint __gst_handle_stream_error( mm_player_t* player, GError* error, GstMessage * message ); int _mmplayer_sound_register_with_pid(MMHandleType hplayer, int pid); +int _mmplayer_get_client_pid(MMHandleType hplayer, int* pid); int __mmplayer_get_video_angle(mm_player_t* player, int *user_angle, int *org_angle); #ifdef __cplusplus } diff --git a/src/mm_player.c b/src/mm_player.c index c75605d..a00c8ae 100644 --- a/src/mm_player.c +++ b/src/mm_player.c @@ -145,6 +145,22 @@ int mm_player_sound_register(MMHandleType player, int pid) return result; } +int mm_player_get_client_pid (MMHandleType player, int* pid) +{ + int result = MM_ERROR_NONE; + + MMPLAYER_RETURN_VAL_IF_FAIL(player, MM_ERROR_PLAYER_NOT_INITIALIZED); + MMPLAYER_RETURN_VAL_IF_FAIL(pid, MM_ERROR_INVALID_ARGUMENT); + + MMPLAYER_CMD_LOCK( player ); + + result = _mmplayer_get_client_pid(player, pid); + + MMPLAYER_CMD_UNLOCK( player ); + + return result; +} + int mm_player_realize(MMHandleType player) { int result = MM_ERROR_NONE; diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index 0432e6a..9766ef5 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -9712,6 +9712,24 @@ _mmplayer_sound_register_with_pid(MMHandleType hplayer, int pid) // @ } int +_mmplayer_get_client_pid(MMHandleType hplayer, int* pid) +{ + mm_player_t* player = (mm_player_t*) hplayer; + + MMPLAYER_FENTER(); + + MMPLAYER_RETURN_VAL_IF_FAIL ( player, MM_ERROR_PLAYER_NOT_INITIALIZED ); + + *pid = player->sound_focus.pid; + + LOGD("registered pid[%d] %p", *pid, player); + + MMPLAYER_FLEAVE(); + + return MM_ERROR_NONE; +} + +int _mmplayer_realize(MMHandleType hplayer) // @ { mm_player_t* player = (mm_player_t*)hplayer;