int elevation[BUFFER_MAX_PLANE_NUM]; /**< elevation of plane */
int orientation; /**< orientation */
int bo_size; /**< TBM buffer object size */
+ int plane_num; /**< number of Plane */
} mmplayer_video_decoded_data_info_t;
/**
mmplayer_video_decoded_data_info_t *stream = NULL;
gint width, height;
MMPixelFormatType format;
+ GstVideoInfo info;
caps = gst_pad_get_current_caps(pad);
if (!caps) {
gst_structure_get_int(structure, "width", &width);
gst_structure_get_int(structure, "height", &height);
string_format = gst_structure_get_string(structure, "format");
+
if (string_format)
fourcc = _mmplayer_convert_fourcc_string_to_value(string_format);
format = util_get_pixtype(fourcc);
+ gst_video_info_from_caps(&info, caps);
gst_caps_unref(caps);
/* moved here */
stream->width = width;
stream->height = height;
stream->format = format;
+ stream->plane_num = GST_VIDEO_INFO_N_PLANES(&info);
return stream;
}
unsigned int pitch = 0;
int index = 0;
tbm_surface_h surface = gst_tizen_memory_get_surface(mem);
+ tbm_bo bo = NULL;
for (index = 0; index < gst_tizen_memory_get_num_bos(mem); index++) {
+ bo = gst_tizen_memory_get_bos(mem, index);
+ if (bo)
+ stream->bo[index] = tbm_bo_ref(bo);
+ else
+ LOGE("failed to get bo for index %d", index);
+ }
+
+ for (index = 0; index < stream->plane_num; index++) {
tbm_surface_internal_get_plane_data(surface, index, NULL, NULL, &pitch);
- stream->bo[index] = tbm_bo_ref(gst_tizen_memory_get_bos(mem, index));
stream->stride[index] = pitch;
stream->elevation[index] = stream->height;
}