]> git.sesse.net Git - vlc/blobdiff - modules/access/screen/win32.c
Don't clutter REGISTRY on windows...
[vlc] / modules / access / screen / win32.c
index 53ebbfa428f934aaca27d576a73f2830b7602708..4255bdf3af85a6bcd6e3ec39c43f9714397130e1 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * win32.c: Screen capture module.
  *****************************************************************************
- * Copyright (C) 2004 VideoLAN
+ * Copyright (C) 2004 the VideoLAN team
  * $Id$
  *
  * Authors: Gildas Bazin <gbazin@videolan.org>
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
 /*****************************************************************************
  * Preamble
  *****************************************************************************/
-#include <stdlib.h>
 
-#include <vlc/vlc.h>
-#include <vlc/input.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <vlc_common.h>
 
 #include "screen.h"
 
@@ -159,12 +161,13 @@ int screen_CloseCapture( demux_t *p_demux )
 
 struct block_sys_t
 {
+    block_t self;
     HBITMAP hbmp;
 };
 
 static void CaptureBlockRelease( block_t *p_block )
 {
-    DeleteObject( p_block->p_sys->hbmp );
+    DeleteObject( ((block_sys_t *)p_block)->hbmp );
     free( p_block );
 }
 
@@ -172,7 +175,7 @@ static block_t *CaptureBlockNew( demux_t *p_demux )
 {
     demux_sys_t *p_sys = p_demux->p_sys;
     screen_data_t *p_data = p_sys->p_data;
-    block_t *p_block;
+    block_sys_t *p_block;
     void *p_buffer;
     int i_buffer;
     HBITMAP hbmp;
@@ -206,20 +209,14 @@ static block_t *CaptureBlockNew( demux_t *p_demux )
         DeleteObject( hbmp );
         return NULL;
     }
-    memset( p_block, 0, sizeof( block_t ) );
-    p_block->p_sys = (block_sys_t *)( (uint8_t *)p_block + sizeof( block_t ) );
-
     /* Fill all fields */
     i_buffer = (p_sys->fmt.video.i_bits_per_pixel + 7) / 8 *
         p_sys->fmt.video.i_width * p_sys->fmt.video.i_height;
-    p_block->p_next         = NULL;
-    p_block->i_buffer       = i_buffer;
-    p_block->p_buffer       = p_buffer;
-    p_block->pf_release     = CaptureBlockRelease;
-    p_block->p_manager      = VLC_OBJECT( p_demux->p_vlc );
-    p_block->p_sys->hbmp    = hbmp;
-
-    return p_block;
+    block_Init( &p_block->self, p_buffer, i_buffer );
+    p_block->self.pf_release = CaptureBlockRelease;
+    p_block->hbmp            = hbmp;
+
+    return &p_block->self;
 }
 
 block_t *screen_Capture( demux_t *p_demux )