(gpointer)new_buffer,
(GDestroyNotify)gst_tizencamerasrc_buffer_finalize);
} else {
- gpointer pdata = NULL;
GST_DEBUG_OBJECT(camerasrc, "TBM is NOT used - size %u", buffer->total_size);
-
- if (camerasrc->pix_format == CAMERA_PIXEL_FORMAT_H264) {
- /* memory copy for h264 stream */
- int i = 0;
- uint32_t total_size = 0;
- new_buffer->copied_data = g_malloc(buffer->total_size);
- for (i = 0 ; i < buffer->num_planes ; i++) {
- memcpy(new_buffer->copied_data + total_size, buffer->planes[i].data, buffer->planes[i].size);
- total_size += buffer->planes[i].size;
- }
- pdata = (gpointer)new_buffer->copied_data;
-
- if (type == BUFFER_TYPE_PREVIEW) {
- camera_hal_interface_release_preview_buffer(camerasrc->hal_intf_handle, buffer->index);
- } else if (type == BUFFER_TYPE_VIDEO) {
- camera_hal_interface_release_video_buffer(camerasrc->hal_intf_handle, buffer->index);
- }
- } else {
- pdata = (gpointer)buffer->planes[0].data;
- }
-
memory = gst_memory_new_wrapped(0,
- pdata,
+ (gpointer)buffer->planes[0].data,
buffer->total_size,
0,
buffer->total_size,
camerasrc = buffer->camerasrc;
if (buffer->type == BUFFER_TYPE_PREVIEW) {
- if (!buffer->copied_data)
- camera_hal_interface_release_preview_buffer(camerasrc->hal_intf_handle, buffer->index);
+ camera_hal_interface_release_preview_buffer(camerasrc->hal_intf_handle, buffer->index);
g_mutex_lock(&camerasrc->preview_buffer_lock);
camerasrc->preview_live_buffers--;
g_cond_broadcast(&camerasrc->preview_buffer_cond);
g_mutex_unlock(&camerasrc->preview_buffer_lock);
} else if (buffer->type == BUFFER_TYPE_VIDEO) {
- if (!buffer->copied_data)
- camera_hal_interface_release_video_buffer(camerasrc->hal_intf_handle, buffer->index);
+ camera_hal_interface_release_video_buffer(camerasrc->hal_intf_handle, buffer->index);
g_mutex_lock(&camerasrc->video_buffer_lock);
camerasrc->video_live_buffers--;
tbm_surface_destroy(buffer->t_surface);
buffer->t_surface = NULL;
}
- g_free(buffer->copied_data);
gst_object_unref(camerasrc);
g_free(buffer);