summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Torri <vtorri@univ-evry.fr>2007-05-24 08:35:23 +0000
committerTim-Philipp Müller <tim@centricular.net>2007-05-24 08:35:23 +0000
commit6587432049097bc964946a21dd390b6c808476f2 (patch)
treef7cc2f9a553773f1e90c4c4b940928da3bfd6565
parent0a0c13670a4e4e08d1f21ebf5ca03e810491e991 (diff)
downloadgst-plugins-bad-6587432049097bc964946a21dd390b6c808476f2.tar.gz
gst-plugins-bad-6587432049097bc964946a21dd390b6c808476f2.tar.bz2
gst-plugins-bad-6587432049097bc964946a21dd390b6c808476f2.zip
sys/directdraw/gstdirectdrawsink.*: Fix more warnings when compiling with MingW (#439914).
Original commit message from CVS: Patch by: Vincent Torri <vtorri at univ-evry fr> * sys/directdraw/gstdirectdrawsink.c: (gst_directdraw_sink_buffer_alloc), (gst_directdraw_sink_show_frame), (gst_directdraw_sink_check_primary_surface), (gst_directdraw_sink_check_offscreen_surface), (EnumModesCallback2), (gst_directdraw_sink_get_ddrawcaps), (gst_directdraw_sink_surface_create): * sys/directdraw/gstdirectdrawsink.h: Fix more warnings when compiling with MingW (#439914).
-rw-r--r--ChangeLog14
-rw-r--r--sys/directdraw/gstdirectdrawsink.c47
-rw-r--r--sys/directdraw/gstdirectdrawsink.h2
3 files changed, 48 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index d00d37ab..eaa4f2fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
+
+ Patch by: Vincent Torri <vtorri at univ-evry fr>
+
+ * sys/directdraw/gstdirectdrawsink.c:
+ (gst_directdraw_sink_buffer_alloc),
+ (gst_directdraw_sink_show_frame),
+ (gst_directdraw_sink_check_primary_surface),
+ (gst_directdraw_sink_check_offscreen_surface),
+ (EnumModesCallback2), (gst_directdraw_sink_get_ddrawcaps),
+ (gst_directdraw_sink_surface_create):
+ * sys/directdraw/gstdirectdrawsink.h:
+ Fix more warnings when compiling with MingW (#439914).
+
2007-05-24 Sebastian Moutte <sebastien@moutte.net>
* docs/plugins/gst-plugins-bad-plugins.args:
diff --git a/sys/directdraw/gstdirectdrawsink.c b/sys/directdraw/gstdirectdrawsink.c
index 2ad0cb68..300bfe07 100644
--- a/sys/directdraw/gstdirectdrawsink.c
+++ b/sys/directdraw/gstdirectdrawsink.c
@@ -585,6 +585,7 @@ gst_directdraw_sink_buffer_alloc (GstBaseSink * bsink, guint64 offset,
guint depth;
HRESULT hres;
DDSURFACEDESC2 surface_desc;
+ DDSURFACEDESC2 *sd;
GstStructure *structure = NULL;
structure = gst_caps_get_structure (caps, 0);
@@ -593,8 +594,11 @@ gst_directdraw_sink_buffer_alloc (GstBaseSink * bsink, guint64 offset,
"Can't get depth from buffer_alloc caps");
return GST_FLOW_ERROR;
}
- surface_desc.dwSize = sizeof (DDSURFACEDESC);
- hres = IDirectDraw7_GetDisplayMode (ddrawsink->ddraw_object, &surface_desc);
+ surface_desc.dwSize = sizeof (surface_desc);
+ sd = &surface_desc;
+ hres =
+ IDirectDraw7_GetDisplayMode (ddrawsink->ddraw_object,
+ (DDSURFACEDESC *) sd);
if (hres != DD_OK) {
GST_CAT_DEBUG_OBJECT (directdrawsink_debug, ddrawsink,
"Can't get current display mode (error=%ld)", (glong) hres);
@@ -744,14 +748,16 @@ gst_directdraw_sink_show_frame (GstBaseSink * bsink, GstBuffer * buf)
LPBYTE data = NULL;
guint src_pitch, line;
DDSURFACEDESC2 surf_desc;
+ DDSURFACEDESC2 *sd;
ZeroMemory (&surf_desc, sizeof (surf_desc));
surf_desc.dwSize = sizeof (surf_desc);
+ sd = &surf_desc;
/* Lock the surface */
hRes =
IDirectDrawSurface7_Lock (ddrawsink->offscreen_surface, NULL,
- &surf_desc, DDLOCK_WAIT, NULL);
+ (DDSURFACEDESC *) sd, DDLOCK_WAIT, NULL);
if (hRes != DD_OK) {
GST_CAT_WARNING_OBJECT (directdrawsink_debug, ddrawsink,
"gst_directdraw_sink_show_frame failed locking surface %s",
@@ -1284,6 +1290,7 @@ gst_directdraw_sink_check_primary_surface (GstDirectDrawSink * ddrawsink)
{
HRESULT hres;
DDSURFACEDESC2 dd_surface_desc;
+ DDSURFACEDESC2 *sd;
/* if our primary surface already exist, check if it's not lost */
if (ddrawsink->primary_surface) {
@@ -1320,7 +1327,9 @@ gst_directdraw_sink_check_primary_surface (GstDirectDrawSink * ddrawsink)
dd_surface_desc.dwSize = sizeof (dd_surface_desc);
dd_surface_desc.dwFlags = DDSD_CAPS;
dd_surface_desc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
- hres = IDirectDraw7_CreateSurface (ddrawsink->ddraw_object, &dd_surface_desc,
+ sd = &dd_surface_desc;
+ hres =
+ IDirectDraw7_CreateSurface (ddrawsink->ddraw_object, (DDSURFACEDESC *) sd,
&ddrawsink->primary_surface, NULL);
if (hres != DD_OK) {
GST_ELEMENT_ERROR (ddrawsink, RESOURCE, WRITE,
@@ -1342,6 +1351,7 @@ static gboolean
gst_directdraw_sink_check_offscreen_surface (GstDirectDrawSink * ddrawsink)
{
DDSURFACEDESC2 dd_surface_desc;
+ DDSURFACEDESC2 *sd;
HRESULT hres;
/* if our offscreen surface already exist, check if it's not lost */
@@ -1380,7 +1390,9 @@ gst_directdraw_sink_check_offscreen_surface (GstDirectDrawSink * ddrawsink)
sizeof (DDPIXELFORMAT));
dd_surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
- hres = IDirectDraw7_CreateSurface (ddrawsink->ddraw_object, &dd_surface_desc,
+ sd = &dd_surface_desc;
+ hres =
+ IDirectDraw7_CreateSurface (ddrawsink->ddraw_object, (DDSURFACEDESC *) sd,
&ddrawsink->offscreen_surface, NULL);
if (hres != DD_OK) {
GST_CAT_WARNING_OBJECT (directdrawsink_debug, ddrawsink,
@@ -1412,25 +1424,26 @@ gst_directdraw_sink_get_depth (LPDDPIXELFORMAT lpddpfPixelFormat)
}
HRESULT WINAPI
-EnumModesCallback2 (LPDDSURFACEDESC2 lpDDSurfaceDesc, LPVOID lpContext)
+EnumModesCallback2 (LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext)
{
GstDirectDrawSink *ddrawsink = (GstDirectDrawSink *) lpContext;
GstCaps *format_caps = NULL;
+ LPDDSURFACEDESC2 sd;
if (!ddrawsink || !lpDDSurfaceDesc)
return DDENUMRET_CANCEL;
- if ((lpDDSurfaceDesc->dwFlags & DDSD_PIXELFORMAT) != DDSD_PIXELFORMAT) {
+ sd = (LPDDSURFACEDESC2) lpDDSurfaceDesc;
+ if ((sd->dwFlags & DDSD_PIXELFORMAT) != DDSD_PIXELFORMAT) {
GST_CAT_INFO_OBJECT (directdrawsink_debug, ddrawsink,
"Display mode found with DDSD_PIXELFORMAT not set");
return DDENUMRET_OK;
}
- if ((lpDDSurfaceDesc->ddpfPixelFormat.dwFlags & DDPF_RGB) != DDPF_RGB)
+ if ((sd->ddpfPixelFormat.dwFlags & DDPF_RGB) != DDPF_RGB)
return DDENUMRET_OK;
- format_caps =
- gst_directdraw_sink_create_caps_from_surfacedesc (lpDDSurfaceDesc);
+ format_caps = gst_directdraw_sink_create_caps_from_surfacedesc (sd);
if (format_caps) {
gst_caps_append (ddrawsink->caps, format_caps);
@@ -1503,6 +1516,7 @@ gst_directdraw_sink_get_ddrawcaps (GstDirectDrawSink * ddrawsink)
/* we don't test for DDCAPS_BLTSTRETCH on the hardware as the directdraw emulation layer can do it */
if (!(ddcaps_hardware.dwCaps & DDCAPS_BLTFOURCC)) {
DDSURFACEDESC2 surface_desc;
+ DDSURFACEDESC2 *sd;
GST_CAT_INFO_OBJECT (directdrawsink_debug, ddrawsink,
"hardware doesn't support blit from one colorspace to another one. "
@@ -1511,8 +1525,11 @@ gst_directdraw_sink_get_ddrawcaps (GstDirectDrawSink * ddrawsink)
/* save blit caps */
ddrawsink->can_blit_between_colorspace = FALSE;
- surface_desc.dwSize = sizeof (DDSURFACEDESC);
- hRes = IDirectDraw7_GetDisplayMode (ddrawsink->ddraw_object, &surface_desc);
+ surface_desc.dwSize = sizeof (surface_desc);
+ sd = &surface_desc;
+ hRes =
+ IDirectDraw7_GetDisplayMode (ddrawsink->ddraw_object,
+ (DDSURFACEDESC *) sd);
if (hRes != DD_OK) {
GST_ELEMENT_ERROR (ddrawsink, CORE, NEGOTIATION,
("Error getting the current display mode error=%s",
@@ -1572,7 +1589,10 @@ gst_directdraw_sink_surface_create (GstDirectDrawSink * ddrawsink,
GstDDrawSurface *surface = NULL;
GstStructure *structure = NULL;
gint pitch;
+
+#if 0
HRESULT hRes;
+#endif
DDSURFACEDESC2 surf_desc, surf_lock_desc;
g_return_val_if_fail (GST_IS_DIRECTDRAW_SINK (ddrawsink), NULL);
@@ -1655,9 +1675,8 @@ lock:
"allocating a surface of %d bytes (stride=%ld)\n", size,
surf_lock_desc.lPitch);
-#else
-
surface_pitch_bad:
+#else
GST_BUFFER (surface)->malloc_data = g_malloc (size);
GST_BUFFER_DATA (surface) = GST_BUFFER (surface)->malloc_data;
GST_BUFFER_SIZE (surface) = size;
diff --git a/sys/directdraw/gstdirectdrawsink.h b/sys/directdraw/gstdirectdrawsink.h
index 68a2a14b..0026eb35 100644
--- a/sys/directdraw/gstdirectdrawsink.h
+++ b/sys/directdraw/gstdirectdrawsink.h
@@ -136,7 +136,7 @@ struct _GstDirectDrawSinkClass
GstVideoSinkClass parent_class;
};
-GType gst_direct_drawsink_get_type (void);
+GType gst_directdraw_sink_get_type (void);
G_END_DECLS
#endif /* __GST_DIRECTDRAWSINK_H__ */