Added internal API for C# API 85/93585/2 accepted/tizen/3.0/common/20161114.105243 accepted/tizen/common/20161025.155120 accepted/tizen/ivi/20161103.231103 accepted/tizen/mobile/20161103.231007 accepted/tizen/tv/20161103.231024 accepted/tizen/wearable/20161103.231043 submit/tizen/20161025.104308 submit/tizen/20161103.044358 submit/tizen_3.0_common/20161104.104000
authorSejun Park <sejun79.park@samsung.com>
Tue, 25 Oct 2016 04:37:05 +0000 (13:37 +0900)
committerSejun Park <sejun79.park@samsung.com>
Tue, 25 Oct 2016 07:12:37 +0000 (16:12 +0900)
Change-Id: I7de0cf44b0c8545e24726ae305bbc0b4900b7bcf

include/media_packet_internal.h
src/media_packet_internal.c

index d0f7ad332eff28adc9845dde62302056a883fb48..c8adab47b54eb678d35a581e28589db3428b7fd6 100755 (executable)
@@ -50,6 +50,31 @@ extern "C" {
  */
 int media_packet_set_codec_data(media_packet_h packet, void *codec_data, unsigned int codec_data_size);
 
+/**
+ * @brief Reset media_buffer_flags_e of media packet
+ * @details    It will clear all flags of media packet
+ * @since_tizen 3.0
+ * @param[in] packet   The media packet handle
+ * @return @c 0 on success,
+ *         otherwise a negative error value
+ * @retval #MEDIA_PACKET_ERROR_NONE Successful
+ * @retval #MEDIA_PACKET_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ */
+int media_packet_reset_flags(media_packet_h packet);
+
+/**
+ * @brief Gets allocated buffer size of media packet.
+ * @since_tizen 3.0
+ * @param[in]  packet   The media packet handle
+ * @param[out] size     The allocated buffer size value to get
+ * @return @c 0 on success,
+ *         otherwise a negative error value
+ * @retval #MEDIA_PACKET_ERROR_NONE Successful
+ * @retval #MEDIA_PACKET_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ */
+int media_packet_get_allocated_buffer_size(media_packet_h packet, int *size);
 /**
  * @}
  */
index e27a3070d307ad60eef57d0ded697c03cab5bc5e..8b6a3affba98d17005b3a296ae61db2a7817164e 100755 (executable)
 int media_packet_set_codec_data(media_packet_h packet, void *codec_data, unsigned int codec_data_size)
 {
        media_packet_s *handle;
-       int ret = MEDIA_PACKET_ERROR_NONE;
 
        MEDIA_PACKET_INSTANCE_CHECK(packet);
+       MEDIA_PACKET_NULL_ARG_CHECK(codec_data);
 
        handle = (media_packet_s *)packet;
 
        LOGI("Set: codec data = %p, codec_data_size = %u\n", codec_data, codec_data_size);
 
        handle->codec_data = (void *)malloc(codec_data_size);
-       if (handle->codec_data != NULL) {
-               memset(handle->codec_data, 0, codec_data_size);
-       } else {
+       if (handle->codec_data == NULL) {
                LOGE("[%s] MEDIA_PACKET_ERROR_OUT_OF_MEMORY(0x%08x)", __FUNCTION__, MEDIA_PACKET_ERROR_OUT_OF_MEMORY);
                return MEDIA_PACKET_ERROR_OUT_OF_MEMORY;
        }
@@ -47,5 +45,30 @@ int media_packet_set_codec_data(media_packet_h packet, void *codec_data, unsigne
        memcpy(handle->codec_data, codec_data, codec_data_size);
        handle->codec_data_size = codec_data_size;
 
-       return ret;
+       return MEDIA_PACKET_ERROR_NONE;
+}
+
+int media_packet_reset_flags(media_packet_h packet)
+{
+       media_packet_s *handle;
+
+       MEDIA_PACKET_INSTANCE_CHECK(packet);
+
+       handle = (media_packet_s *)packet;
+       handle->flags = 0;
+
+       return MEDIA_PACKET_ERROR_NONE;
+}
+
+int media_packet_get_allocated_buffer_size(media_packet_h packet, int *size)
+{
+       media_packet_s *handle;
+
+       MEDIA_PACKET_INSTANCE_CHECK(packet);
+       MEDIA_PACKET_NULL_ARG_CHECK(size);
+
+       handle = (media_packet_s *)packet;
+       *size = handle->size;
+
+       return MEDIA_PACKET_ERROR_NONE;
 }