/* Ensure GTK is initialized, this has no side effect if it was already
* initialized. Also, we do that lazily, so the application can be first */
if (!gtk_init_check (NULL, NULL)) {
- GST_ERROR_OBJECT (gtk_sink, "Could not ensure GTK initialization.");
+ GST_INFO_OBJECT (gtk_sink, "Could not ensure GTK initialization.");
return NULL;
}
GtkGstBaseWidget *widget = gst_gtk_base_sink_get_widget (sink);
gdouble stream_x, stream_y;
+ if (widget == NULL) {
+ GST_ERROR_OBJECT (sink, "Could not ensure GTK initialization.");
+ return;
+ }
+
gtk_gst_base_widget_display_size_to_stream_size (widget,
x, y, &stream_x, &stream_y);
gst_structure_set (structure,
GstGtkBaseSinkClass *klass = GST_GTK_BASE_SINK_GET_CLASS (bsink);
GtkWidget *toplevel;
- if (gst_gtk_base_sink_get_widget (gst_sink) == NULL)
+ if (gst_gtk_base_sink_get_widget (gst_sink) == NULL) {
+ GST_ERROR_OBJECT (bsink, "Could not ensure GTK initialization.");
return FALSE;
+ }
/* After this point, gtk_sink->widget will always be set */
{
GtkWidget *widget =
gst_gtk_base_sink_acquire_widget (GST_GTK_BASE_SINK (object));
- gtk_gst_gl_widget_set_rotate_method (GTK_GST_GL_WIDGET (widget),
- g_value_get_enum (value), FALSE);
- g_object_unref (widget);
+ if (widget != NULL) {
+ gtk_gst_gl_widget_set_rotate_method (GTK_GST_GL_WIDGET (widget),
+ g_value_get_enum (value), FALSE);
+ g_object_unref (widget);
+ }
break;
}
default:
GtkWidget *widget =
gst_gtk_base_sink_acquire_widget (GST_GTK_BASE_SINK (object));
- g_value_set_enum (value,
- gtk_gst_gl_widget_get_rotate_method (GTK_GST_GL_WIDGET (widget)));
- g_object_unref (widget);
+ if (widget != NULL) {
+ g_value_set_enum (value,
+ gtk_gst_gl_widget_get_rotate_method (GTK_GST_GL_WIDGET (widget)));
+ g_object_unref (widget);
+ } else {
+ g_value_set_enum (value, GST_VIDEO_ORIENTATION_IDENTITY);
+ }
break;
}
widget = GTK_GST_GL_WIDGET
(gst_gtk_base_sink_acquire_widget (GST_GTK_BASE_SINK (sink)));
+ if (widget == NULL) {
+ GST_ERROR_OBJECT (sink, "Could not ensure GTK initialization.");
+ break;
+ }
gtk_gst_gl_widget_set_rotate_method (widget, orientation, TRUE);