void *data = NULL;
gint size = 0;
-
- mcbuffer = (GstMCBuffer *)g_malloc0(sizeof(*mcbuffer));
-
- if (mcbuffer == NULL) {
- LOGE("malloc fail");
- return NULL;
- }
-
mem = gst_buffer_peek_memory(buffer, 0);
if (gst_is_tizen_memory(mem)) {
data = (void *)gst_tizen_memory_get_surface(mem);
size = tbm_surface_internal_get_size((tbm_surface_h)data);
} else {
- gst_memory_map(mem, &map, GST_MAP_READ);
+ if (!gst_memory_map(mem, &map, GST_MAP_READ)) {
+ LOGE("gst_memory_map failed for buffer[%p]", buffer);
+ return NULL;
+ }
+
data = map.data;
size = map.size;
gst_memory_unmap(mem, &map);
}
+ mcbuffer = g_new0(GstMCBuffer, 1);
+
mcbuffer->buffer = buffer;
mcbuffer->core = core;
mcbuffer->buf_size = size;