totem r5613 - in trunk: . src/backend
- From: hadess svn gnome org
- To: svn-commits-list gnome org
- Subject: totem r5613 - in trunk: . src/backend
- Date: Thu, 28 Aug 2008 14:21:10 +0000 (UTC)
Author: hadess
Date: Thu Aug 28 14:21:10 2008
New Revision: 5613
URL: http://svn.gnome.org/viewvc/totem?rev=5613&view=rev
Log:
2008-08-28 Bastien Nocera <hadess hadess net>
* src/backend/bacon-video-widget-gst-0.10.c
(bvw_handle_application_message), (bacon_video_widget_close):
* src/backend/bacon-video-widget-xine.c (frame_output_cb),
(bacon_video_widget_close):
Never auto-resize a stream that's already been resized, wait for
the next file to be opened to do that (Closes: #481944)
Modified:
trunk/ChangeLog
trunk/src/backend/bacon-video-widget-gst-0.10.c
trunk/src/backend/bacon-video-widget-xine.c
Modified: trunk/src/backend/bacon-video-widget-gst-0.10.c
==============================================================================
--- trunk/src/backend/bacon-video-widget-gst-0.10.c (original)
+++ trunk/src/backend/bacon-video-widget-gst-0.10.c Thu Aug 28 14:21:10 2008
@@ -173,6 +173,8 @@
gint video_width; /* Movie width */
gint video_height; /* Movie height */
+ gboolean window_resized; /* Whether the window has already been resized
+ for this media */
const GValue *movie_par; /* Movie pixel aspect ratio */
gint video_width_pixels; /* Scaled movie width */
gint video_height_pixels; /* Scaled movie height */
@@ -1169,7 +1171,9 @@
g_signal_emit (bvw, bvw_signals[SIGNAL_GOT_METADATA], 0, NULL);
}
- if (bvw->priv->auto_resize && !bvw->priv->fullscreen_mode) {
+ if (bvw->priv->auto_resize
+ && !bvw->priv->fullscreen_mode
+ && !bvw->priv->window_resized) {
gint w, h;
shrink_toplevel (bvw);
@@ -1189,6 +1193,7 @@
bacon_video_widget_expose_event (GTK_WIDGET (bvw), NULL);
}
}
+ bvw->priv->window_resized = TRUE;
} else {
g_message ("Unhandled application message %s", msg_name);
}
@@ -2968,6 +2973,7 @@
g_free (bvw->com->mrl);
bvw->com->mrl = NULL;
+ bvw->priv->window_resized = FALSE;
g_object_notify (G_OBJECT (bvw), "seekable");
g_signal_emit (bvw, bvw_signals[SIGNAL_CHANNELS_CHANGE], 0);
Modified: trunk/src/backend/bacon-video-widget-xine.c
==============================================================================
--- trunk/src/backend/bacon-video-widget-xine.c (original)
+++ trunk/src/backend/bacon-video-widget-xine.c Thu Aug 28 14:21:10 2008
@@ -209,6 +209,8 @@
guint bevent_consumed : 1;
guint fullscreen_mode : 1;
guint cursor_shown : 1;
+ /* Whether the window has already been resized for this media */
+ guint window_resized : 1;
};
static const char *mms_bandwidth_strs[] = {
@@ -606,10 +608,13 @@
if (bvw->priv->auto_resize != FALSE
&& bvw->priv->logo_mode == FALSE
- && bvw->priv->fullscreen_mode == FALSE)
+ && bvw->priv->fullscreen_mode == FALSE
+ && bvw->priv->window_resized == FALSE)
{
signal_data *data;
+ bvw->priv->window_resized = TRUE;
+
data = g_new0 (signal_data, 1);
data->signal = RATIO_ASYNC;
g_async_queue_push (bvw->priv->queue, data);
@@ -2706,6 +2711,7 @@
g_free (bvw->com->mrl);
bvw->com->mrl = NULL;
bvw->priv->stream_length = 0;
+ bvw->priv->window_resized = FALSE;
g_object_notify (G_OBJECT (bvw), "seekable");
bacon_video_widget_reconfigure_tick (bvw, FALSE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]