summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorHaakon Sporsheim <haakon.sporsheim@tandberg.com>2008-05-07 15:09:10 +0000
committerOle André Vadla Ravnås <ole.andre.ravnas@tandberg.com>2008-05-07 15:09:10 +0000
commitda78d8dced0c04589c66e426991a6f4bffbcc604 (patch)
treecff9c1e4140b821385b08fdb2f168fda098791d0 /sys
parentdeab3d26ba41b3c76cf3c73c6ac77f814fb22571 (diff)
sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_set_caps): Fixed mid stream resolution change bug, the offscr...
Original commit message from CVS: patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com> * sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_set_caps): Fixed mid stream resolution change bug, the offscreen surface is now released when set_caps is called. Partially fixes #520885.
Diffstat (limited to 'sys')
-rw-r--r--sys/directdraw/gstdirectdrawsink.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/directdraw/gstdirectdrawsink.c b/sys/directdraw/gstdirectdrawsink.c
index 9d34cf22..d049c575 100644
--- a/sys/directdraw/gstdirectdrawsink.c
+++ b/sys/directdraw/gstdirectdrawsink.c
@@ -510,6 +510,12 @@ gst_directdraw_sink_set_caps (GstBaseSink * bsink, GstCaps * caps)
(GetSystemMetrics (SM_CYSIZEFRAME) * 2), SWP_SHOWWINDOW | SWP_NOMOVE);
}
+ /* release the surface, we have to recreate it! */
+ if (ddrawsink->offscreen_surface) {
+ IDirectDrawSurface7_Release (ddrawsink->offscreen_surface);
+ ddrawsink->offscreen_surface = NULL;
+ }
+
/* create an offscreen surface with the caps */
ret = gst_directdraw_sink_check_offscreen_surface (ddrawsink);
if (!ret) {