gst_tizen_wl_sink_set_wl_window_wl_surface_id (GstVideoOverlay * overlay,
gint wl_surface_id);
static void
-gst_tizen_wl_sink_set_wtz_exported_shell_handle (GstTizenWlSink * sink,
+gst_tizen_wl_sink_set_wl_window_exported_shell_handle (GstVideoOverlay * overlay,
const char *exported_shell_handle);
static void gst_tizen_wl_sink_set_roi_area (GstVideoOverlay * overlay,
gint x, gint y, gint w, gint h);
FUNCTION;
#ifdef TIZEN_FEATURE_WLSINK_ENHANCEMENT
sink->wtz_exported_shell_handle = NULL;
+ sink->use_wtz_exported_shell = FALSE;
sink->last_sample = NULL;
sink->dump_video = FALSE;
sink->total_dump = DEFAULT_DUMP_COUNT;
sink->display->is_native_format = sink->is_native_format;
self = GST_TIZEN_WL_SHM_ALLOCATOR (gst_tizen_wl_shm_allocator_get ());
self->display = sink->display;
- if (sink->wtz_exported_shell_handle) {
+ if (sink->use_wtz_exported_shell) {
/* In case of wtz_exported_shell_handle, window geometry is changed by UI */
return;
}
GST_OBJECT_UNLOCK (sink);
GST_WARNING ("set wtz_exported_shell_handle (%s)", sink->wtz_exported_shell_handle);
g_mutex_unlock (&sink->render_lock);
- gst_tizen_wl_sink_set_wtz_exported_shell_handle(sink, sink->wtz_exported_shell_handle);
+ gst_tizen_wl_sink_set_wl_window_exported_shell_handle(GST_VIDEO_OVERLAY (sink), sink->wtz_exported_shell_handle);
g_mutex_lock (&sink->render_lock);
break;
case PROP_SURFACE_ID:
GST_WARNING ("set use %s", (sink->use_tbm) ? "TBM" : "SHM");
break;
case PROP_ROTATE_ANGLE:
- if (sink->rotate_angle == g_value_get_enum (value) || sink->wtz_exported_shell_handle)
+ if (sink->rotate_angle == g_value_get_enum (value) || sink->use_wtz_exported_shell)
break;
sink->rotate_angle = g_value_get_enum (value);
GST_WARNING_OBJECT (sink, "Rotate angle is set (%d)", sink->rotate_angle);
}
break;
case PROP_DISPLAY_GEOMETRY_METHOD:
- if (sink->display_geometry_method == g_value_get_enum (value) || sink->wtz_exported_shell_handle)
+ if (sink->display_geometry_method == g_value_get_enum (value) || sink->use_wtz_exported_shell)
break;
sink->display_geometry_method = g_value_get_enum (value);
GST_WARNING_OBJECT (sink, "Display geometry method is set (%d)",
}
break;
case PROP_FLIP:
- if (sink->flip == g_value_get_enum (value) || sink->wtz_exported_shell_handle)
+ if (sink->flip == g_value_get_enum (value) || sink->use_wtz_exported_shell)
break;
sink->flip = g_value_get_enum (value);
GST_WARNING_OBJECT (sink, "flip is set (%d)", sink->flip);
}
break;
case PROP_SCALE_SRC_X:
- if (sink->scale_src_x == g_value_get_double (value) || sink->wtz_exported_shell_handle)
+ if (sink->scale_src_x == g_value_get_double (value) || sink->use_wtz_exported_shell)
break;
sink->scale_src_x = g_value_get_double (value);
GST_WARNING_OBJECT (sink, "scale-src-x is set (%f)", sink->scale_src_x);
break;
case PROP_SCALE_SRC_Y:
- if (sink->scale_src_y == g_value_get_double (value) || sink->wtz_exported_shell_handle)
+ if (sink->scale_src_y == g_value_get_double (value) || sink->use_wtz_exported_shell)
break;
sink->scale_src_y = g_value_get_double (value);
GST_WARNING_OBJECT (sink, "scale-src-y is set (%f)", sink->scale_src_y);
break;
case PROP_SCALE_SRC_WIDTH:
- if (sink->scale_src_w == g_value_get_double (value) || sink->wtz_exported_shell_handle)
+ if (sink->scale_src_w == g_value_get_double (value) || sink->use_wtz_exported_shell)
break;
sink->scale_src_w = g_value_get_double (value);
GST_WARNING_OBJECT (sink, "scale-src-width is set (%f)",
sink->scale_src_w);
break;
case PROP_SCALE_SRC_HEIGHT:
- if (sink->scale_src_h == g_value_get_double (value) || sink->wtz_exported_shell_handle)
+ if (sink->scale_src_h == g_value_get_double (value) || sink->use_wtz_exported_shell)
break;
sink->scale_src_h = g_value_get_double (value);
GST_WARNING_OBJECT (sink, "scale-src-height is set (%f)",
}
break;
case PROP_DISPLAY_ROI_X:
- if (sink->disp_roi_x == g_value_get_int (value) || sink->wtz_exported_shell_handle)
+ if (sink->disp_roi_x == g_value_get_int (value) || sink->use_wtz_exported_shell)
break;
sink->disp_roi_x = g_value_get_int (value);
GST_WARNING_OBJECT (sink, "display-roi-x is set (%d)", sink->disp_roi_x);
break;
case PROP_DISPLAY_ROI_Y:
- if (sink->disp_roi_y == g_value_get_int (value) || sink->wtz_exported_shell_handle)
+ if (sink->disp_roi_y == g_value_get_int (value) || sink->use_wtz_exported_shell)
break;
sink->disp_roi_y = g_value_get_int (value);
GST_WARNING_OBJECT (sink, "display-roi-y is set (%d)", sink->disp_roi_y);
break;
case PROP_DISPLAY_ROI_WIDTH:
- if (sink->disp_roi_width == g_value_get_uint (value) || sink->wtz_exported_shell_handle)
+ if (sink->disp_roi_width == g_value_get_uint (value) || sink->use_wtz_exported_shell)
break;
sink->disp_roi_width = g_value_get_uint (value);
GST_WARNING_OBJECT (sink, "display-roi-width is set (%d)",
sink->disp_roi_width);
break;
case PROP_DISPLAY_ROI_HEIGHT:
- if (sink->disp_roi_height == g_value_get_uint (value) || sink->wtz_exported_shell_handle)
+ if (sink->disp_roi_height == g_value_get_uint (value) || sink->use_wtz_exported_shell)
break;
sink->disp_roi_height = g_value_get_uint (value);
GST_WARNING_OBJECT (sink, "display-roi-height is set (%d)",
case PROP_SCALE_DST_WIDTH:
if (sink->scale_dst_w == g_value_get_double (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->scale_dst_w = g_value_get_double (value);
GST_WARNING_OBJECT (sink, "scale-destination-width is set (%f)",
case PROP_SCALE_DST_HEIGHT:
if (sink->scale_dst_h == g_value_get_double (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->scale_dst_h = g_value_get_double (value);
GST_WARNING_OBJECT (sink, "scale-destination-height is set (%f)",
case PROP_FOLLOW_PARENT_TRANSFORM:
if (sink->follow_parent_transform == g_value_get_boolean (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->follow_parent_transform = g_value_get_boolean (value);
GST_WARNING_OBJECT (sink, "follow parent transform is set (%d)",
case PROP_RATIO_WIDTH:
if (sink->ratio_w == g_value_get_double (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->ratio_w = g_value_get_double (value);
GST_WARNING_OBJECT (sink, "ratio-w is set (%f)", sink->ratio_w);
case PROP_RATIO_HEIGHT:
if (sink->ratio_h == g_value_get_double (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->ratio_h = g_value_get_double (value);
GST_WARNING_OBJECT (sink, "ratio-h is set (%f)", sink->ratio_h);
case PROP_OFFSET_X:
if (sink->offset_x == g_value_get_uint (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->offset_x = g_value_get_uint (value);
GST_WARNING_OBJECT (sink, "offset-x is set (%d)", sink->offset_x);
case PROP_OFFSET_Y:
if (sink->offset_y == g_value_get_uint (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->offset_y = g_value_get_uint (value);
GST_WARNING_OBJECT (sink, "offset-y is set (%d)", sink->offset_y);
case PROP_OFFSET_WIDTH:
if (sink->offset_w == g_value_get_uint (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->offset_w = g_value_get_uint (value);
GST_WARNING_OBJECT (sink, "offset-w is set (%d)", sink->offset_w);
case PROP_OFFSET_HEIGHT:
if (sink->offset_h == g_value_get_uint (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->offset_h = g_value_get_uint (value);
GST_WARNING_OBJECT (sink, "offset-h is set (%d)", sink->offset_h);
case PROP_ALIGN_WIDTH:
if (sink->align_w == g_value_get_double (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->align_w = g_value_get_double (value);
GST_WARNING_OBJECT (sink, "align_w is set (%f)", sink->align_w);
case PROP_ALIGN_HEIGHT:
if (sink->align_h == g_value_get_double (value)
|| sink->display_geometry_method == DISP_GEO_METHOD_CUSTOM_ROI
- || sink->wtz_exported_shell_handle)
+ || sink->use_wtz_exported_shell)
break;
sink->align_h = g_value_get_double (value);
GST_WARNING_OBJECT (sink, "align_h is set (%f)", sink->align_h);
sink->is_native_format = sink->display->is_native_format;
- if (sink->window && !sink->wtz_exported_shell_handle)
+ if (sink->window && !sink->use_wtz_exported_shell)
gst_tizen_wl_sink_update_window_geometry (sink);
#endif
callback, &frame_callback_listener, sink);
wl_callback_add_listener (callback, &frame_callback_listener, sink);
- if (G_UNLIKELY (sink->video_info_changed) && !sink->wtz_exported_shell_handle) {
+ if (G_UNLIKELY (sink->video_info_changed) && !sink->use_wtz_exported_shell) {
#ifdef TIZEN_FEATURE_WLSINK_ENHANCEMENT
gst_wl_window_set_video_info_change (sink->window, TRUE);
#endif
#ifdef TIZEN_FEATURE_WLSINK_ENHANCEMENT /* use unique_id */
iface->set_wl_window_wl_surface_id =
gst_tizen_wl_sink_set_wl_window_wl_surface_id;
+ iface->set_wl_window_exported_shell_handle =
+ gst_tizen_wl_sink_set_wl_window_exported_shell_handle;
iface->set_display_roi_area = gst_tizen_wl_sink_set_roi_area;
iface->set_video_roi_area = gst_tizen_wl_sink_set_video_source_roi_area;
#endif
}
static void
-gst_tizen_wl_sink_set_wtz_exported_shell_handle (GstTizenWlSink * sink,
+gst_tizen_wl_sink_set_wl_window_exported_shell_handle (GstVideoOverlay * overlay,
const char *exported_shell_handle)
{
+ GstTizenWlSink *sink = GST_TIZEN_WL_SINK (overlay);
FUNCTION;
g_return_if_fail (sink != NULL);
g_return_if_fail (exported_shell_handle != NULL);
if (G_LIKELY (gst_tizen_wl_sink_find_display (sink))) {
/* we can use our own display with an external window handle */
if (G_LIKELY (sink->display->own_display)) {
- sink->display->wtz_exported_shell_handle = g_strdup(sink->wtz_exported_shell_handle);
+ sink->display->wtz_exported_shell_handle = g_strdup(exported_shell_handle);
sink->window =
gst_wl_window_new_in_surface (sink->display, NULL,
&sink->render_lock);
+ sink->use_wtz_exported_shell = TRUE;
}
} else {
GST_ERROR_OBJECT (sink, "Failed to find display handle, "