Zhiyi Zhang : include: Add IMediaParamInfo definition.

Alexandre Julliard julliard at winehq.org
Wed Jul 20 15:55:32 CDT 2022


Module: wine
Branch: master
Commit: 4e23e412ea55029410bcae9849d0a31502419d89
URL:    https://gitlab.winehq.org/wine/wine/-/commit/4e23e412ea55029410bcae9849d0a31502419d89

Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date:   Tue Jul 19 20:49:19 2022 +0800

include: Add IMediaParamInfo definition.

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>

---

 include/Makefile.in  |  1 +
 include/medparam.idl | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+)

diff --git a/include/Makefile.in b/include/Makefile.in
index d5f389b506a..4ea66b37f33 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -414,6 +414,7 @@ SOURCES = \
 	mcx.h \
 	mediaerr.h \
 	mediaobj.idl \
+	medparam.idl \
 	metahost.idl \
 	mfapi.h \
 	mfd3d12.idl \
diff --git a/include/medparam.idl b/include/medparam.idl
new file mode 100644
index 00000000000..f3b7f2f463e
--- /dev/null
+++ b/include/medparam.idl
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2022 Zhiyi Zhang for CodeWeavers
+ *
+ * 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";
+
+typedef float MP_DATA;
+typedef DWORD MP_CAPS;
+typedef DWORD MP_TIMEDATA;
+
+typedef enum _MP_Type
+{
+    MPT_INT,
+    MPT_FLOAT,
+    MPT_BOOL,
+    MPT_ENUM,
+    MPT_MAX,
+} MP_TYPE;
+
+typedef struct _MP_PARAMINFO
+{
+    MP_TYPE mpType;
+    MP_CAPS mopCaps;
+    MP_DATA mpdMinValue;
+    MP_DATA mpdMaxValue;
+    MP_DATA mpdNeutralValue;
+    WCHAR szUnitText[32];
+    WCHAR szLabel[32];
+} MP_PARAMINFO;
+
+[
+object,
+uuid(6D6CBB60-A223-44AA-842F-A2F06750BE6D),
+version(1.0)
+]
+interface IMediaParamInfo : IUnknown
+{
+    HRESULT GetParamCount([out] DWORD *count);
+    HRESULT GetParamInfo([in] DWORD index, [out] MP_PARAMINFO *info);
+    HRESULT GetParamText([in] DWORD index, [out] WCHAR **text);
+    HRESULT GetNumTimeFormats([out] DWORD *count);
+    HRESULT GetSupportedTimeFormat([in] DWORD index, [out] GUID *guid);
+    HRESULT GetCurrentTimeFormat([out] GUID *guid, [out] MP_TIMEDATA *time_data);
+}




More information about the wine-cvs mailing list