sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame): Added checking of surface lost case after an uns...

Original commit message from CVS:
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame):
Added checking of surface lost case after an unsuccessful
IDirectDrawSurface7_Lock() call.
If surface is lost, return GST_FLOW_OK.
This commit is contained in:
Haakon Sporsheim 2008-05-07 15:28:06 +00:00 committed by Ole André Vadla Ravnås
parent dd1f932e3e
commit 368834ab4e
2 changed files with 14 additions and 1 deletions

View file

@ -1,3 +1,12 @@
2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame):
Added checking of surface lost case after an unsuccessful
IDirectDrawSurface7_Lock() call.
If surface is lost, return GST_FLOW_OK.
2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>

View file

@ -880,7 +880,11 @@ gst_directdraw_sink_show_frame (GstBaseSink * bsink, GstBuffer * buf)
GST_CAT_WARNING_OBJECT (directdrawsink_debug, ddrawsink,
"gst_directdraw_sink_show_frame failed locking surface %s",
DDErrorString (hRes));
return GST_FLOW_ERROR;
if (IDirectDrawSurface7_IsLost (ddrawsink->offscreen_surface) == DD_OK)
return GST_FLOW_OK;
else
return GST_FLOW_ERROR;
}
/* Write each line respecting the destination surface pitch */