Vijay Kiran Kamuju : include: Add missing packing, structs and defines for xact3wb.h.

Alexandre Julliard julliard at winehq.org
Fri Jun 12 16:01:18 CDT 2020


Module: wine
Branch: master
Commit: 948a6a47b8dbd0ddd86cad04de03f0e4ba81b65d
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=948a6a47b8dbd0ddd86cad04de03f0e4ba81b65d

Author: Vijay Kiran Kamuju <infyquest at gmail.com>
Date:   Fri Mar 20 13:37:35 2020 +0100

include: Add missing packing, structs and defines for xact3wb.h.

Signed-off-by: Vijay Kiran Kamuju <infyquest at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/xact3wb.h | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 89 insertions(+), 4 deletions(-)

diff --git a/include/xact3wb.h b/include/xact3wb.h
index b4c5a53d40..c68d7a30fa 100644
--- a/include/xact3wb.h
+++ b/include/xact3wb.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2020 Alistair Leslie-Hughes
+ * Copyright (c) 2020 Vijay Kiran Kamuju
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -18,6 +19,52 @@
 #ifndef __XACT3WB_H__
 #define __XACT3WB_H__
 
+#include <pshpack1.h>
+
+typedef DWORD WAVEBANKOFFSET;
+
+#define WAVEBANK_HEADER_SIGNATURE 0x444e4257 /* DNBW */
+#define WAVEBANK_HEADER_VERSION   44
+#define WAVEBANK_BANKNAME_LENGTH  64
+#define WAVEBANK_ENTRYNAME_LENGTH 64
+
+#define WAVEBANK_MAX_DATA_SEGMENT_SIZE     0xffffffff
+#define WAVEBANK_COMPACT_DATA_SEGMENT_SIZE 0x001fffff
+
+#define WAVEBANK_TYPE_BUFFER    0x00000000
+#define WAVEBANK_TYPE_STREAMING 0x00000001
+#define WAVEBANK_TYPE_MASK      0x00000001
+
+#define WAVEBANK_FLAGS_ENTRYNAMES    0x00010000
+#define WAVEBANK_FLAGS_COMPACT       0x00020000
+#define WAVEBANK_FLAGS_SYNC_DISABLED 0x00040000
+#define WAVEBANK_FLAGS_SEEKTABLES    0x00080000
+#define WAVEBANK_FLAGS_MASK          0x000F0000
+
+#define WAVEBANK_DVD_SECTOR_SIZE 2048
+#define WAVEBANK_DVD_BLOCK_SIZE  (WAVEBANK_DVD_SECTOR_SIZE * 16)
+#define WAVEBANK_ALIGNMENT_MIN   4
+#define WAVEBANK_ALIGNMENT_DVD   WAVEBANK_DVD_SECTOR_SIZE
+
+typedef enum WAVEBANKSEGIDX
+{
+    WAVEBANK_SEGIDX_BANKDATA = 0,
+    WAVEBANK_SEGIDX_ENTRYMETADATA,
+    WAVEBANK_SEGIDX_SEEKTABLES,
+    WAVEBANK_SEGIDX_ENTRYNAMES,
+    WAVEBANK_SEGIDX_ENTRYWAVEDATA,
+    WAVEBANK_SEGIDX_COUNT
+} WAVEBANKSEGIDX, *LPWAVEBANKSEGIDX;
+typedef const WAVEBANKSEGIDX *LPCWAVEBANKSEGIDX;
+
+#define WAVEBANKMINIFORMAT_TAG_PCM   0x0
+#define WAVEBANKMINIFORMAT_TAG_XMA   0x1
+#define WAVEBANKMINIFORMAT_TAG_ADPCM 0x2
+#define WAVEBANKMINIFORMAT_TAG_WMA   0x3
+
+#define WAVEBANKMINIFORMAT_BITDEPTH_8  0x0
+#define WAVEBANKMINIFORMAT_BITDEPTH_16 0x1
+
 typedef union WAVEBANKMINIWAVEFORMAT
 {
     struct
@@ -29,19 +76,34 @@ typedef union WAVEBANKMINIWAVEFORMAT
         DWORD wBitsPerSample :  1;
     } DUMMYSTRUCTNAME;
     DWORD dwValue;
-} WAVEBANKMINIWAVEFORMAT;
+} WAVEBANKMINIWAVEFORMAT, *LPWAVEBANKMINIWAVEFORMAT;
+typedef const WAVEBANKMINIWAVEFORMAT *LPCWAVEBANKMINIWAVEFORMAT;
 
 typedef struct WAVEBANKREGION
 {
     DWORD dwOffset;
     DWORD dwLength;
-} WAVEBANKREGION;
+} WAVEBANKREGION, *LPWAVEBANKREGION;
+typedef const WAVEBANKREGION *LPCWAVEBANKREGION;
 
 typedef struct WAVEBANKSAMPLEREGION
 {
     DWORD dwStartSample;
     DWORD dwTotalSamples;
-} WAVEBANKSAMPLEREGION;
+} WAVEBANKSAMPLEREGION, *LPWAVEBANKSAMPLEREGION;
+typedef const WAVEBANKSAMPLEREGION *LPCWAVEBANKSAMPLEREGION;
+
+typedef struct WAVEBANKHEADER
+{
+    DWORD dwSignature;
+    DWORD dwVersion;
+    DWORD dwHeaderVersion;
+    WAVEBANKREGION Segments[WAVEBANK_SEGIDX_COUNT];
+} WAVEBANKHEADER, *LPWAVEBANKHEADER;
+typedef const WAVEBANKHEADER *LPCWAVEBANKHEADER;
+
+#define WAVEBANKENTRY_XMASTREAMS_MAX  3
+#define WAVEBANKENTRY_XMACHANNELS_MAX 6
 
 typedef struct WAVEBANKENTRY
 {
@@ -58,6 +120,29 @@ typedef struct WAVEBANKENTRY
     WAVEBANKMINIWAVEFORMAT Format;
     WAVEBANKREGION PlayRegion;
     WAVEBANKSAMPLEREGION LoopRegion;
-} WAVEBANKENTRY;
+} WAVEBANKENTRY, *LPWAVEBANKENTRY;
+typedef const WAVEBANKENTRY *LPCWAVEBANKENTRY;
+
+typedef struct WAVEBANKENTRYCOMPACT
+{
+    DWORD dwOffset          : 21;
+    DWORD dwLengthDeviation : 11;
+} WAVEBANKENTRYCOMPACT, *LPWAVEBANKENTRYCOMPACT;
+typedef const WAVEBANKENTRYCOMPACT *LPCWAVEBANKENTRYCOMPACT;
+
+typedef struct WAVEBANKDATA
+{
+    DWORD dwFlags;
+    DWORD dwEntryCount;
+    CHAR  szBankName[WAVEBANK_BANKNAME_LENGTH];
+    DWORD dwEntryMetaDataElementSize;
+    DWORD dwEntryNameElementSize;
+    DWORD dwAlignment;
+    WAVEBANKMINIFORMAT CompactFormat;
+    FILETIME BuildTime;
+} WAVEBANKDATA, *LPWAVEBANKDATA;
+typedef const WAVEBANKDATA *LPCWAVEBANKDATA;
+
+#include <poppack.h>
 
 #endif /* __XACT3WB_H__ */




More information about the wine-cvs mailing list