summaryrefslogtreecommitdiffstats
path: root/sys/directdraw/gstdirectdrawsink.h
diff options
context:
space:
mode:
authorSébastien Moutte <sebastien@moutte.net>2007-02-11 15:26:49 +0000
committerJan Schmidt <thaytan@noraisin.net>2009-05-16 01:29:15 +0100
commit4dab9691c39ccf09da8ab487b0cd2a1e4101b951 (patch)
tree54744e0354f58dc33716fdae12dd7eef91da906f /sys/directdraw/gstdirectdrawsink.h
parent7a8bf9900c7c010d9fdd3ef6d29bdfa69e6986e9 (diff)
downloadgst-plugins-bad-4dab9691c39ccf09da8ab487b0cd2a1e4101b951.tar.gz
gst-plugins-bad-4dab9691c39ccf09da8ab487b0cd2a1e4101b951.tar.bz2
gst-plugins-bad-4dab9691c39ccf09da8ab487b0cd2a1e4101b951.zip
[MOVED FROM GOOD] Makefile.am: Add win32 MANIFEST
Original commit message from CVS: * Makefile.am: Add win32 MANIFEST * sys/directdraw/gstdirectdrawsink.c: * sys/directdraw/gstdirectdrawsink.h: Clear unused code and add comments. Remove yuv from template caps, it only supports RGB actually. Implement XOverlay interface and remove window and fullscreen properties. Add debug logs. Test for blit capabilities to return only the current colorspace if the hardware can't blit for one colorspace to another. * sys/directsound/gstdirectsoundsink.c: Add some debugs. * win32/MANIFEST: Add VS7 project files and solution. * win32/vs6/gst_plugins_bad.dsw: * win32/vs6/libgstdirectdraw.dsp: * win32/vs6/libgstdirectsound.dsp: * win32/vs6/libgstqtdemux.dsp: Update project files.
Diffstat (limited to 'sys/directdraw/gstdirectdrawsink.h')
-rw-r--r--sys/directdraw/gstdirectdrawsink.h54
1 files changed, 22 insertions, 32 deletions
diff --git a/sys/directdraw/gstdirectdrawsink.h b/sys/directdraw/gstdirectdrawsink.h
index f9d4c865..1a32c5a5 100644
--- a/sys/directdraw/gstdirectdrawsink.h
+++ b/sys/directdraw/gstdirectdrawsink.h
@@ -27,8 +27,9 @@
#include <gst/gst.h>
#include <gst/video/gstvideosink.h>
-#include <windows.h>
+#include <gst/interfaces/xoverlay.h>
+#include <windows.h>
#include <ddraw.h>
G_BEGIN_DECLS
@@ -51,87 +52,76 @@ struct _GstDDrawSurface
/* Extension of GstBuffer to store directdraw surfaces */
GstBuffer buffer;
- /*directdraw surface */
+ /* directdraw surface */
LPDIRECTDRAWSURFACE surface;
+ /* surface dimensions */
gint width;
gint height;
/*TRUE when surface is locked*/
gboolean locked;
+
/*TRUE when surface is using a system memory buffer
(i'm using system memory when directdraw optimized pitch is not the same as the GStreamer one)*/
gboolean system_memory;
+ /* pixel format of the encapsulated surface */
DDPIXELFORMAT dd_pixel_format;
+ /* pointer to parent */
GstDirectDrawSink *ddrawsink;
};
-
-typedef struct _GstDDDDisplayMode GstDDDisplayMode;
-
-struct _GstDDDDisplayMode
-{
- gint width;
- gint height;
- gint bpp;
-};
-
struct _GstDirectDrawSink
{
GstVideoSink videosink;
- /*directdraw offscreen surfaces pool */
+ /* directdraw offscreen surfaces pool */
GSList *buffer_pool;
+ GMutex *pool_lock;
- GSList *display_modes;
- //GstDDDisplayMode display_mode;
-
- /*directdraw objects */
+ /* directdraw objects */
LPDIRECTDRAW ddraw_object;
LPDIRECTDRAWSURFACE primary_surface;
LPDIRECTDRAWSURFACE offscreen_surface;
LPDIRECTDRAWSURFACE overlays;
LPDIRECTDRAWCLIPPER clipper;
- /*DDCAPS DDDriverCaps;
- DDCAPS DDHELCaps;
- gboolean can_blit;*/
+ /* last buffer displayed (used for XOverlay interface expose method) */
+ GstBuffer * last_buffer;
- /*Directdraw caps */
+ /* directdraw caps */
GstCaps *caps;
- /*handle of the video window */
+ /* video window management */
HWND video_window;
+ gboolean our_video_window;
HANDLE window_created_signal;
- gboolean resize_window;
-
- /*video properties */
+
+ /* video properties */
gint video_width, video_height;
gint out_width, out_height;
- //gdouble framerate;
gint fps_n;
gint fps_d;
/*properties*/
LPDIRECTDRAWSURFACE extern_surface;
gboolean keep_aspect_ratio;
- gboolean fullscreen;
/*pixel format */
DDPIXELFORMAT dd_pixel_format;
+ /* thread processing our default window messages */
GThread *window_thread;
- gboolean bUseOverlay;
- gboolean bIsOverlayVisible;
+ /* TRUE when directdraw objects are setup */
gboolean setup;
- GMutex *pool_lock;
-
+ /* overlays */
+ gboolean bUseOverlay;
+ gboolean bIsOverlayVisible;
guint color_key;
- /*LPDIRECTDRAWSURFACE extern_surface; */
};
struct _GstDirectDrawSinkClass