mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-29 23:32:04 +02:00
Gtk4Plugin: remove subtitles scaling
Causes jitter (even crashes on i965) when resizing video and honestly I think that subtitles rendered at video size look better.
This commit is contained in:
@@ -128,41 +128,9 @@ gst_gtk_gl_sink_query (GstBaseSink * bsink, GstQuery * query)
|
||||
return res;
|
||||
}
|
||||
|
||||
static void
|
||||
_size_changed_cb (GtkWidget * widget, gint width,
|
||||
gint height, GstGtkGLSink * gtk_sink)
|
||||
{
|
||||
gboolean reconfigure;
|
||||
|
||||
GtkGstBaseWidget *base_widget = GTK_GST_BASE_WIDGET (widget);
|
||||
|
||||
/* Ignore size changes before widget is negotiated
|
||||
* we are going to queue a resize after negotiation */
|
||||
if (!base_widget->negotiated)
|
||||
return;
|
||||
|
||||
GST_OBJECT_LOCK (gtk_sink);
|
||||
reconfigure =
|
||||
(width != gtk_sink->display_width || height != gtk_sink->display_height);
|
||||
gtk_sink->display_width = width;
|
||||
gtk_sink->display_height = height;
|
||||
GST_OBJECT_UNLOCK (gtk_sink);
|
||||
|
||||
if (reconfigure) {
|
||||
GST_DEBUG_OBJECT (gtk_sink, "Sending reconfigure event on sinkpad");
|
||||
gst_pad_push_event (GST_BASE_SINK (gtk_sink)->sinkpad,
|
||||
gst_event_new_reconfigure ());
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
destroy_cb (GtkWidget * widget, GstGtkGLSink * gtk_sink)
|
||||
{
|
||||
if (gtk_sink->widget_resize_sig_handler) {
|
||||
g_signal_handler_disconnect (widget, gtk_sink->widget_resize_sig_handler);
|
||||
gtk_sink->widget_resize_sig_handler = 0;
|
||||
}
|
||||
|
||||
if (gtk_sink->widget_destroy_sig_handler) {
|
||||
g_signal_handler_disconnect (widget, gtk_sink->widget_destroy_sig_handler);
|
||||
gtk_sink->widget_destroy_sig_handler = 0;
|
||||
@@ -182,13 +150,6 @@ gst_gtk_gl_sink_start (GstBaseSink * bsink)
|
||||
/* After this point, gtk_sink->widget will always be set */
|
||||
gst_widget = GTK_GST_GL_WIDGET (base_sink->widget);
|
||||
|
||||
/* Track the allocation size */
|
||||
if (!gtk_sink->widget_resize_sig_handler) {
|
||||
gtk_sink->widget_resize_sig_handler =
|
||||
g_signal_connect (gst_widget, "resize",
|
||||
G_CALLBACK (_size_changed_cb), gtk_sink);
|
||||
}
|
||||
|
||||
if (!gtk_sink->widget_destroy_sig_handler) {
|
||||
gtk_sink->widget_destroy_sig_handler =
|
||||
g_signal_connect (gst_widget, "destroy", G_CALLBACK (destroy_cb),
|
||||
@@ -226,12 +187,6 @@ gst_gtk_gl_sink_stop (GstBaseSink * bsink)
|
||||
GstGtkGLSink *gtk_sink = GST_GTK_GL_SINK (bsink);
|
||||
GstGtkBaseSink *base_sink = GST_GTK_BASE_SINK (bsink);
|
||||
|
||||
if (gtk_sink->widget_resize_sig_handler) {
|
||||
g_signal_handler_disconnect (base_sink->widget,
|
||||
gtk_sink->widget_resize_sig_handler);
|
||||
gtk_sink->widget_resize_sig_handler = 0;
|
||||
}
|
||||
|
||||
if (gtk_sink->display) {
|
||||
gst_object_unref (gtk_sink->display);
|
||||
gtk_sink->display = NULL;
|
||||
@@ -371,12 +326,6 @@ gst_gtk_gl_sink_finalize (GObject * object)
|
||||
GstGtkGLSink *gtk_sink = GST_GTK_GL_SINK (object);
|
||||
GstGtkBaseSink *base_sink = GST_GTK_BASE_SINK (object);
|
||||
|
||||
if (gtk_sink->widget_resize_sig_handler) {
|
||||
g_signal_handler_disconnect (base_sink->widget,
|
||||
gtk_sink->widget_resize_sig_handler);
|
||||
gtk_sink->widget_resize_sig_handler = 0;
|
||||
}
|
||||
|
||||
if (gtk_sink->widget_destroy_sig_handler) {
|
||||
g_signal_handler_disconnect (base_sink->widget,
|
||||
gtk_sink->widget_destroy_sig_handler);
|
||||
|
@@ -56,7 +56,6 @@ struct _GstGtkGLSink
|
||||
gint display_width;
|
||||
gint display_height;
|
||||
|
||||
gulong widget_resize_sig_handler;
|
||||
gulong widget_destroy_sig_handler;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user