From da78d8dced0c04589c66e426991a6f4bffbcc604 Mon Sep 17 00:00:00 2001 From: Haakon Sporsheim Date: Wed, 7 May 2008 15:09:10 +0000 Subject: 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 * 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. --- ChangeLog | 9 +++++++++ sys/directdraw/gstdirectdrawsink.c | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index 84e5b660..b9e54a09 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-05-07 Ole André Vadla Ravnås + + patch by: Haakon Sporsheim + + * 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. + 2008-05-07 Ole André Vadla Ravnås * sys/directdraw/gstdirectdrawsink.c 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) { -- cgit