add internal api to enable media packet callback 20/85620/2
authorNAMJEONGYOON <just.nam@samsung.com>
Fri, 26 Aug 2016 07:10:21 +0000 (16:10 +0900)
committerNAMJEONGYOON <just.nam@samsung.com>
Mon, 29 Aug 2016 06:17:24 +0000 (15:17 +0900)
Change-Id: Id55ff25092cac3f2956008e90af5ccdc56e29935

legacy/include/legacy_player_internal.h
legacy/src/legacy_player_internal.c
muse/api.list
muse/src/muse_player.c
packaging/mmsvc-player.spec

index 5922113dac4c9bf3aff32bdc3ec99ee38266c6e2..7ba74587a892485f42f88538fcdb4437340bae98 100644 (file)
@@ -252,6 +252,25 @@ int legacy_player_set_gapless(player_h player, bool gapless);
  */
 int legacy_player_is_gapless(player_h player, bool *gapless);
 
+ /**
+ * @brief Enables media_packet callback
+ * @since_tizen 3.0
+ * @details If it is @c true, media_packet callback will be activated.
+ *          If it is @c false, it will be deactivated. The default value is @c false.
+ * @param[in] player   The handle to the media player
+ * @param[in] enable   The active status : (@c true = send media_packet, @c false = render through overlay surface)
+ * @return @c 0 on success,
+ *         otherwise a negative error value
+ * @retval #PLAYER_ERROR_NONE Successful
+ * @retval #PLAYER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre The player state must be one of these: #PLAYER_STATE_IDLE, #PLAYER_STATE_READY, #PLAYER_STATE_PLAYING, or #PLAYER_STATE_PAUSED.
+ * @pre display_type must be set to PLAYER_DISPLAY_TYPE_OVERLAY by player_set_display.
+ * @pre player_media_packet_video_decoded_cb must be set.
+ * @see player_set_display()
+ * @see player_set_media_packet_video_frame_decoded_cb()
+ */
+int legacy_player_enable_media_packet_video_frame_decoded_cb(player_h player, bool enable);
+
 /**
  * @}
  */
index 184e4ad556cf396cc28a9ba6c5a9001174296b20..7f00f95584d566cc5da8e3d8b01817a6ae807501 100644 (file)
@@ -303,3 +303,21 @@ int legacy_player_is_gapless(player_h player, bool *gapless)
                return PLAYER_ERROR_NONE;
        }
 }
+
+int legacy_player_enable_media_packet_video_frame_decoded_cb(player_h player, bool enable)
+{
+       PLAYER_INSTANCE_CHECK(player);
+       player_s *handle = (player_s *)player;
+       PLAYER_CHECK_CONDITION(handle->display_type == PLAYER_DISPLAY_TYPE_OVERLAY, PLAYER_ERROR_INVALID_PARAMETER, "PLAYER_ERROR_INVALID_PARAMETER");
+
+       int value = 0;
+       if (enable == TRUE)
+               value = 1;
+
+       int ret = mm_player_set_attribute(handle->mm_handle, NULL, MM_PLAYER_ENABLE_VIDEO_DECODED_CB, value, (char *)NULL);
+
+       if (ret != MM_ERROR_NONE)
+               return __player_convert_error_code(ret, (char *)__FUNCTION__);
+       else
+               return PLAYER_ERROR_NONE;
+}
\ No newline at end of file
index 8acec8385eb99283c8c95e95549ab52910938dcc..ac79386adf8fe2765bb590400de3539f6cb55a1d 100644 (file)
@@ -76,3 +76,4 @@ get_next_uri
 set_gapless
 is_gapless
 get_media_packet_video_frame_pool_size
+enable_media_packet_video_frame_decoded_cb
index 868ae97526abee2f24b984315439fed8faed273c..fe6e315f0dc85fbe04f167bd1d8f45e2f17c30c8 100644 (file)
@@ -2495,3 +2495,20 @@ int player_disp_get_media_packet_video_frame_pool_size(muse_module_h module)
 
        return ret;
 }
+
+int player_disp_enable_media_packet_video_frame_decoded_cb(muse_module_h module)
+{
+       int ret = PLAYER_ERROR_NONE;
+       muse_player_api_e api = MUSE_PLAYER_API_ENABLE_MEDIA_PACKET_VIDEO_FRAME_DECODED_CB;
+       muse_player_handle_s *muse_player = NULL;
+       int enable = 0;
+
+       muse_player = (muse_player_handle_s *)muse_core_ipc_get_handle(module);
+       player_msg_get(enable, muse_core_client_get_msg(module));
+
+       ret = legacy_player_enable_media_packet_video_frame_decoded_cb(muse_player->player_handle, (bool)enable);
+
+       player_msg_return(api, ret, module);
+
+       return ret;
+}
index 767c1e52e92efcf37ab30fb9972696a3eb45dc85..abd1732436da039adb52ad5abdaf522bb8310959 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-player
 Summary:    A Media Player module for muse server
-Version:    0.2.22
+Version:    0.2.23
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0