modified for checking whether audio policy is set or not 08/72408/3
authorNAMJEONGYOON <just.nam@samsung.com>
Wed, 1 Jun 2016 00:50:02 +0000 (09:50 +0900)
committerNAMJEONGYOON <just.nam@samsung.com>
Wed, 1 Jun 2016 03:40:20 +0000 (12:40 +0900)
Change-Id: I582768825606d129adac79e6609a31440f81927b

src/include/mm_player.h
src/include/mm_player_priv.h
src/mm_player.c
src/mm_player_priv.c

index e94e6c8..e0c270d 100644 (file)
@@ -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
  *
index daa7f20..2cf26af 100644 (file)
@@ -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
        }
index c75605d..a00c8ae 100644 (file)
@@ -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;
index 0432e6a..9766ef5 100644 (file)
@@ -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;