- The bug from media_packet_get_codec_data() has been fixed.
: https://review.tizen.org/gerrit/#/c/platform/core/api/mediatool/+/291013/
Change-Id: I7ec4b6573c9b846f7b0667bb814703ad0cfe5d9e
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Name: libmm-player
Summary: Multimedia Framework Player Library
Name: libmm-player
Summary: Multimedia Framework Player Library
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
cur_caps = player->v_stream_caps;
} else {
LOGW("streamtype is not audio or video");
cur_caps = player->v_stream_caps;
} else {
LOGW("streamtype is not audio or video");
}
if (!cur_caps) {
LOGW("Current caps is NULL");
}
if (!cur_caps) {
LOGW("Current caps is NULL");
}
str = gst_caps_get_structure(cur_caps, 0);
if (!str) {
LOGW("Failed to get caps info");
}
str = gst_caps_get_structure(cur_caps, 0);
if (!str) {
LOGW("Failed to get caps info");
}
/* Check if the codec data in the saved caps have been changed */
}
/* Check if the codec data in the saved caps have been changed */
buffer = gst_value_get_buffer(value);
if (!gst_buffer_map(buffer, &codec_data_map, GST_MAP_READ)) {
LOGW("codec data buffer map failed");
buffer = gst_value_get_buffer(value);
if (!gst_buffer_map(buffer, &codec_data_map, GST_MAP_READ)) {
LOGW("codec data buffer map failed");
}
if (codec_data_map.size == codec_data_size) {
for (i = 0; i <= codec_data_map.size; i++) {
}
if (codec_data_map.size == codec_data_size) {
for (i = 0; i <= codec_data_map.size; i++) {
break;
}
gst_buffer_unmap(buffer, &codec_data_map);
break;
}
gst_buffer_unmap(buffer, &codec_data_map);
}
gst_buffer_unmap(buffer, &codec_data_map);
}
}
gst_buffer_unmap(buffer, &codec_data_map);
}
new_caps = gst_caps_copy(cur_caps);
if (!new_caps) {
LOGW("Failed to copy caps");
new_caps = gst_caps_copy(cur_caps);
if (!new_caps) {
LOGW("Failed to copy caps");
}
new_buffer = gst_buffer_new_allocate(NULL, codec_data_size, NULL);
if (!new_buffer) {
LOGW("Failed to alloc gst buffer for codec data");
}
new_buffer = gst_buffer_new_allocate(NULL, codec_data_size, NULL);
if (!new_buffer) {
LOGW("Failed to alloc gst buffer for codec data");
- gst_caps_unref(new_caps);
- return FALSE;
}
gst_buffer_fill(new_buffer, 0, codec_data, codec_data_size);
gst_caps_set_simple(new_caps, "codec_data", GST_TYPE_BUFFER, new_buffer, NULL);
}
gst_buffer_fill(new_buffer, 0, codec_data, codec_data_size);
gst_caps_set_simple(new_caps, "codec_data", GST_TYPE_BUFFER, new_buffer, NULL);
player->v_stream_caps = new_caps;
gst_caps_unref(cur_caps);
player->v_stream_caps = new_caps;
gst_caps_unref(cur_caps);
LOGD("need to update caps due to codec data is changed");
LOGD("need to update caps due to codec data is changed");
+
+__FAILED:
+ if (new_caps)
+ gst_caps_unref(new_caps);
+
+ if (codec_data)
+ free(codec_data);
+
+ return FALSE;