Index: /trunk/src/VBox/Main/include/EBMLWriter.h
===================================================================
--- /trunk/src/VBox/Main/include/EBMLWriter.h	(revision 82421)
+++ /trunk/src/VBox/Main/include/EBMLWriter.h	(revision 82422)
@@ -22,10 +22,7 @@
 #endif
 
-#include <iprt/file.h>
-#include <VBox/com/string.h>
-
 #include <stack>
 
-#include <iprt/cdefs.h>
+#include <iprt/critsect.h>
 #include <iprt/file.h>
 
Index: /trunk/src/VBox/Main/include/Recording.h
===================================================================
--- /trunk/src/VBox/Main/include/Recording.h	(revision 82421)
+++ /trunk/src/VBox/Main/include/Recording.h	(revision 82422)
@@ -22,12 +22,9 @@
 #endif
 
-#include <VBox/com/array.h>
-#include <VBox/com/string.h>
-#include <VBox/com/VirtualBox.h>
+using namespace com;
+
+#include <VBox/err.h>
 #include <VBox/settings.h>
 
-using namespace com;
-
-#include "RecordingInternals.h"
 #include "RecordingStream.h"
 
Index: /trunk/src/VBox/Main/include/RecordingInternals.h
===================================================================
--- /trunk/src/VBox/Main/include/RecordingInternals.h	(revision 82421)
+++ /trunk/src/VBox/Main/include/RecordingInternals.h	(revision 82422)
@@ -22,7 +22,7 @@
 #endif
 
-#include <iprt/assert.h>
+#include <list>
+
 #include <iprt/types.h> /* drag in stdint.h before vpx does it. */
-#include <list>
 
 #ifdef VBOX_WITH_LIBVPX
Index: /trunk/src/VBox/Main/include/RecordingStream.h
===================================================================
--- /trunk/src/VBox/Main/include/RecordingStream.h	(revision 82421)
+++ /trunk/src/VBox/Main/include/RecordingStream.h	(revision 82422)
@@ -26,6 +26,4 @@
 
 #include <iprt/critsect.h>
-
-#include <VBox/settings.h>
 
 #include "RecordingInternals.h"
Index: /trunk/src/VBox/Main/include/RecordingUtils.h
===================================================================
--- /trunk/src/VBox/Main/include/RecordingUtils.h	(revision 82421)
+++ /trunk/src/VBox/Main/include/RecordingUtils.h	(revision 82422)
@@ -21,12 +21,4 @@
 # pragma once
 #endif
-
-#include <iprt/asm.h>
-#include <iprt/assert.h>
-#include <iprt/critsect.h>
-#include <iprt/path.h>
-#include <iprt/semaphore.h>
-#include <iprt/thread.h>
-#include <iprt/time.h>
 
 
Index: /trunk/src/VBox/Main/include/WebMWriter.h
===================================================================
--- /trunk/src/VBox/Main/include/WebMWriter.h	(revision 82421)
+++ /trunk/src/VBox/Main/include/WebMWriter.h	(revision 82422)
@@ -23,4 +23,5 @@
 
 #include "EBMLWriter.h"
+#include "EBML_MKV.h"
 
 #include <queue>
Index: /trunk/src/VBox/Main/src-client/RecordingStream.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/RecordingStream.cpp	(revision 82421)
+++ /trunk/src/VBox/Main/src-client/RecordingStream.cpp	(revision 82422)
@@ -22,23 +22,42 @@
 #include "LoggingNew.h"
 
-#include <stdexcept>
-
-#include <iprt/asm.h>
-#include <iprt/assert.h>
-#include <iprt/critsect.h>
-#include <iprt/file.h>
 #include <iprt/path.h>
-#include <iprt/semaphore.h>
-#include <iprt/thread.h>
-#include <iprt/time.h>
-
-#include <VBox/err.h>
-#include <VBox/com/VirtualBox.h>
 
 #include "Recording.h"
-#include "RecordingStream.h"
 #include "RecordingUtils.h"
 #include "WebMWriter.h"
 
+
+#ifdef VBOX_RECORDING_DUMP
+#pragma pack(push)
+#pragma pack(1)
+typedef struct
+{
+    uint16_t uMagic;
+    uint32_t uSize;
+    uint16_t uReserved1;
+    uint16_t uReserved2;
+    uint32_t uOffBits;
+} RECORDINGBMPHDR, *PRECORDINGBMPHDR;
+AssertCompileSize(RECORDINGBMPHDR, 14);
+
+typedef struct
+{
+    uint32_t uSize;
+    uint32_t uWidth;
+    uint32_t uHeight;
+    uint16_t uPlanes;
+    uint16_t uBitCount;
+    uint32_t uCompression;
+    uint32_t uSizeImage;
+    uint32_t uXPelsPerMeter;
+    uint32_t uYPelsPerMeter;
+    uint32_t uClrUsed;
+    uint32_t uClrImportant;
+} RECORDINGBMPDIBHDR, *PRECORDINGBMPDIBHDR;
+AssertCompileSize(RECORDINGBMPDIBHDR, 40);
+
+#pragma pack(pop)
+#endif /* VBOX_RECORDING_DUMP */
 
 RecordingStream::RecordingStream(RecordingContext *a_pCtx)
@@ -652,15 +671,15 @@
         RT_ZERO(bmpDIBHdr);
 
-        bmpHdr.u16Magic   = 0x4d42; /* Magic */
-        bmpHdr.u32Size    = (uint32_t)(sizeof(RECORDINGBMPHDR) + sizeof(RECORDINGBMPDIBHDR) + (w * h * uBytesPerPixel));
-        bmpHdr.u32OffBits = (uint32_t)(sizeof(RECORDINGBMPHDR) + sizeof(RECORDINGBMPDIBHDR));
-
-        bmpDIBHdr.u32Size          = sizeof(RECORDINGBMPDIBHDR);
-        bmpDIBHdr.u32Width         = w;
-        bmpDIBHdr.u32Height        = h;
-        bmpDIBHdr.u16Planes        = 1;
-        bmpDIBHdr.u16BitCount      = uBPP;
-        bmpDIBHdr.u32XPelsPerMeter = 5000;
-        bmpDIBHdr.u32YPelsPerMeter = 5000;
+        bmpHdr.uMagic   = 0x4d42; /* Magic */
+        bmpHdr.uSize    = (uint32_t)(sizeof(RECORDINGBMPHDR) + sizeof(RECORDINGBMPDIBHDR) + (w * h * uBytesPerPixel));
+        bmpHdr.uOffBits = (uint32_t)(sizeof(RECORDINGBMPHDR) + sizeof(RECORDINGBMPDIBHDR));
+
+        bmpDIBHdr.uSize          = sizeof(RECORDINGBMPDIBHDR);
+        bmpDIBHdr.uWidth         = w;
+        bmpDIBHdr.uHeight        = h;
+        bmpDIBHdr.uPlanes        = 1;
+        bmpDIBHdr.uBitCount      = uBPP;
+        bmpDIBHdr.uXPelsPerMeter = 5000;
+        bmpDIBHdr.uYPelsPerMeter = 5000;
 
         char szFileName[RTPATH_MAX];
Index: /trunk/src/VBox/Main/src-client/WebMWriter.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/WebMWriter.cpp	(revision 82421)
+++ /trunk/src/VBox/Main/src-client/WebMWriter.cpp	(revision 82422)
@@ -25,15 +25,8 @@
 #include "LoggingNew.h"
 
-#include <iprt/cdefs.h>
-#include <iprt/critsect.h>
-#include <iprt/errcore.h>
-#include <iprt/file.h>
 #include <iprt/buildconfig.h>
-
-#include <VBox/log.h>
 #include <VBox/version.h>
 
 #include "WebMWriter.h"
-#include "EBML_MKV.h"
 
 
