Anton Baskanov : include: Add IMpegAudioDecoder definition.

Alexandre Julliard julliard at winehq.org
Wed May 11 16:10:25 CDT 2022


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

Author: Anton Baskanov <baskanov at gmail.com>
Date:   Wed Apr 13 09:21:52 2022 +0700

include: Add IMpegAudioDecoder definition.

Signed-off-by: Anton Baskanov <baskanov at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/Makefile.in  |  1 +
 include/mmreg.h      | 12 +++++++++
 include/mpegtype.idl | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 82 insertions(+)

diff --git a/include/Makefile.in b/include/Makefile.in
index f3e62c4bb5a..14c4caeb688 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -435,6 +435,7 @@ SOURCES = \
 	mmreg.h \
 	mmstream.idl \
 	mmsystem.h \
+	mpegtype.idl \
 	mprapi.h \
 	mprerror.h \
 	msacm.h \
diff --git a/include/mmreg.h b/include/mmreg.h
index bcee2a5ec61..1b19e1f068f 100644
--- a/include/mmreg.h
+++ b/include/mmreg.h
@@ -836,6 +836,18 @@ typedef struct {
     GUID SubFormat;
 } WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
 
+typedef struct {
+	WAVEFORMATEX wfx;
+	WORD fwHeadLayer;
+	DWORD dwHeadBitrate;
+	WORD fwHeadMode;
+	WORD fwHeadModeExt;
+	WORD wHeadEmphasis;
+	WORD fwHeadFlags;
+	DWORD dwPTSLow;
+	DWORD dwPTSHigh;
+} MPEG1WAVEFORMAT;
+
 #pragma pack(pop)
 cpp_quote("#endif")
 
diff --git a/include/mpegtype.idl b/include/mpegtype.idl
new file mode 100644
index 00000000000..dd0284cfc53
--- /dev/null
+++ b/include/mpegtype.idl
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2022 Anton Baskanov
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "unknwn.idl";
+
+cpp_quote("#include <mmreg.h>")
+#include <mmreg.h>
+
+[
+    object,
+    /* uuid(b45dd570-3c77-11d1-abe1-00a0c905f375) conflicts with uuids.h */
+    pointer_default(unique)
+]
+interface IMpegAudioDecoder : IUnknown
+{
+    [propget] HRESULT FrequencyDivider(
+        [out, retval] unsigned long *divider);
+
+    [propput] HRESULT FrequencyDivider(
+        unsigned long divider);
+
+    [propget] HRESULT DecoderAccuracy(
+        [out, retval] unsigned long *accuracy);
+
+    [propput] HRESULT DecoderAccuracy(
+        unsigned long accuracy);
+
+    [propget] HRESULT Stereo(
+        [out, retval] unsigned long *stereo);
+
+    [propput] HRESULT Stereo(
+        unsigned long stereo);
+
+    [propget] HRESULT DecoderWordSize(
+        [out, retval] unsigned long *word_size);
+
+    [propput] HRESULT DecoderWordSize(
+        unsigned long word_size);
+
+    [propget] HRESULT IntegerDecode(
+        [out, retval] unsigned long *integer_decode);
+
+    [propput] HRESULT IntegerDecode(
+        unsigned long integer_decode);
+
+    [propget] HRESULT DualMode(
+        [out, retval] unsigned long *dual_mode);
+
+    [propput] HRESULT DualMode(
+        unsigned long dual_mode);
+
+    [propget] HRESULT AudioFormat(
+        [out, retval] MPEG1WAVEFORMAT *format);
+}




More information about the wine-cvs mailing list