1 #[link(name = "windows")]
3 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
4 pub fn DMOEnum(guidcategory
: *const ::windows_sys
::core
::GUID
, dwflags
: u32, cintypes
: u32, pintypes
: *const DMO_PARTIAL_MEDIATYPE
, couttypes
: u32, pouttypes
: *const DMO_PARTIAL_MEDIATYPE
, ppenum
: *mut IEnumDMO
) -> ::windows_sys
::core
::HRESULT
;
5 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
6 pub fn DMOGetName(clsiddmo
: *const ::windows_sys
::core
::GUID
, szname
: ::windows_sys
::core
::PWSTR
) -> ::windows_sys
::core
::HRESULT
;
7 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
8 pub fn DMOGetTypes(clsiddmo
: *const ::windows_sys
::core
::GUID
, ulinputtypesrequested
: u32, pulinputtypessupplied
: *mut u32, pinputtypes
: *mut DMO_PARTIAL_MEDIATYPE
, uloutputtypesrequested
: u32, puloutputtypessupplied
: *mut u32, poutputtypes
: *mut DMO_PARTIAL_MEDIATYPE
) -> ::windows_sys
::core
::HRESULT
;
9 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
10 pub fn DMORegister(szname
: ::windows_sys
::core
::PCWSTR
, clsiddmo
: *const ::windows_sys
::core
::GUID
, guidcategory
: *const ::windows_sys
::core
::GUID
, dwflags
: u32, cintypes
: u32, pintypes
: *const DMO_PARTIAL_MEDIATYPE
, couttypes
: u32, pouttypes
: *const DMO_PARTIAL_MEDIATYPE
) -> ::windows_sys
::core
::HRESULT
;
11 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
12 pub fn DMOUnregister(clsiddmo
: *const ::windows_sys
::core
::GUID
, guidcategory
: *const ::windows_sys
::core
::GUID
) -> ::windows_sys
::core
::HRESULT
;
13 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
14 #[cfg(feature = "Win32_Foundation")]
15 pub fn MoCopyMediaType(pmtdest
: *mut DMO_MEDIA_TYPE
, pmtsrc
: *const DMO_MEDIA_TYPE
) -> ::windows_sys
::core
::HRESULT
;
16 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
17 #[cfg(feature = "Win32_Foundation")]
18 pub fn MoCreateMediaType(ppmt
: *mut *mut DMO_MEDIA_TYPE
, cbformat
: u32) -> ::windows_sys
::core
::HRESULT
;
19 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
20 #[cfg(feature = "Win32_Foundation")]
21 pub fn MoDeleteMediaType(pmt
: *mut DMO_MEDIA_TYPE
) -> ::windows_sys
::core
::HRESULT
;
22 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
23 #[cfg(feature = "Win32_Foundation")]
24 pub fn MoDuplicateMediaType(ppmtdest
: *mut *mut DMO_MEDIA_TYPE
, pmtsrc
: *const DMO_MEDIA_TYPE
) -> ::windows_sys
::core
::HRESULT
;
25 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
26 #[cfg(feature = "Win32_Foundation")]
27 pub fn MoFreeMediaType(pmt
: *mut DMO_MEDIA_TYPE
) -> ::windows_sys
::core
::HRESULT
;
28 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
29 #[cfg(feature = "Win32_Foundation")]
30 pub fn MoInitMediaType(pmt
: *mut DMO_MEDIA_TYPE
, cbformat
: u32) -> ::windows_sys
::core
::HRESULT
;
32 pub const DMOCATEGORY_ACOUSTIC_ECHO_CANCEL
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3214294400, data2: 50521, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] }
;
33 pub const DMOCATEGORY_AGC
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3901528992, data2: 50519, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] }
;
34 pub const DMOCATEGORY_AUDIO_CAPTURE_EFFECT
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 4133857978, data2: 15881, data3: 18720, data4: [170, 95, 33, 152, 17, 20, 143, 9] }
;
35 pub const DMOCATEGORY_AUDIO_DECODER
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 1475533707, data2: 59067, data3: 17683, data4: [157, 67, 220, 210, 166, 89, 49, 37] }
;
36 pub const DMOCATEGORY_AUDIO_EFFECT
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 4083166015, data2: 1426, data3: 18655, data4: [164, 205, 103, 71, 33, 231, 235, 235] }
;
37 pub const DMOCATEGORY_AUDIO_ENCODER
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 869902177, data2: 37064, data3: 4560, data4: [189, 67, 0, 160, 201, 17, 206, 134] }
;
38 pub const DMOCATEGORY_AUDIO_NOISE_SUPPRESS
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3766456383, data2: 25341, data3: 20064, data4: [140, 221, 222, 167, 35, 102, 101, 181] }
;
39 pub const DMOCATEGORY_VIDEO_DECODER
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 1248441410, data2: 10430, data3: 18833, data4: [150, 156, 181, 0, 173, 245, 216, 168] }
;
40 pub const DMOCATEGORY_VIDEO_EFFECT
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3650154004, data2: 30572, data3: 18211, data4: [190, 70, 61, 162, 245, 111, 16, 185] }
;
41 pub const DMOCATEGORY_VIDEO_ENCODER
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 869902176, data2: 37064, data3: 4560, data4: [189, 67, 0, 160, 201, 17, 206, 134] }
;
42 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
43 pub type DMO_ENUM_FLAGS
= i32;
44 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
45 pub const DMO_ENUMF_INCLUDE_KEYED
: DMO_ENUM_FLAGS
= 1i32;
46 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
47 pub const DMO_E_INVALIDSTREAMINDEX
: ::windows_sys
::core
::HRESULT
= -2147220991i32;
48 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
49 pub const DMO_E_INVALIDTYPE
: ::windows_sys
::core
::HRESULT
= -2147220990i32;
50 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
51 pub const DMO_E_NOTACCEPTING
: ::windows_sys
::core
::HRESULT
= -2147220988i32;
52 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
53 pub const DMO_E_NO_MORE_ITEMS
: ::windows_sys
::core
::HRESULT
= -2147220986i32;
54 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
55 pub const DMO_E_TYPE_NOT_ACCEPTED
: ::windows_sys
::core
::HRESULT
= -2147220987i32;
56 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
57 pub const DMO_E_TYPE_NOT_SET
: ::windows_sys
::core
::HRESULT
= -2147220989i32;
59 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"]
60 #[cfg(feature = "Win32_Foundation")]
61 pub struct DMO_MEDIA_TYPE
{
62 pub majortype
: ::windows_sys
::core
::GUID
,
63 pub subtype
: ::windows_sys
::core
::GUID
,
64 pub bFixedSizeSamples
: super::super::Foundation
::BOOL
,
65 pub bTemporalCompression
: super::super::Foundation
::BOOL
,
67 pub formattype
: ::windows_sys
::core
::GUID
,
68 pub pUnk
: ::windows_sys
::core
::IUnknown
,
70 pub pbFormat
: *mut u8,
72 #[cfg(feature = "Win32_Foundation")]
73 impl ::core
::marker
::Copy
for DMO_MEDIA_TYPE {}
74 #[cfg(feature = "Win32_Foundation")]
75 impl ::core
::clone
::Clone
for DMO_MEDIA_TYPE
{
76 fn clone(&self) -> Self {
81 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
82 pub struct DMO_OUTPUT_DATA_BUFFER
{
83 pub pBuffer
: IMediaBuffer
,
86 pub rtTimelength
: i64,
88 impl ::core
::marker
::Copy
for DMO_OUTPUT_DATA_BUFFER {}
89 impl ::core
::clone
::Clone
for DMO_OUTPUT_DATA_BUFFER
{
90 fn clone(&self) -> Self {
95 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
96 pub struct DMO_PARTIAL_MEDIATYPE
{
97 pub r
#type: ::windows_sys::core::GUID,
98 pub subtype
: ::windows_sys
::core
::GUID
,
100 impl ::core
::marker
::Copy
for DMO_PARTIAL_MEDIATYPE {}
101 impl ::core
::clone
::Clone
for DMO_PARTIAL_MEDIATYPE
{
102 fn clone(&self) -> Self {
106 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
107 pub type DMO_REGISTER_FLAGS
= i32;
108 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
109 pub const DMO_REGISTERF_IS_KEYED
: DMO_REGISTER_FLAGS
= 1i32;
110 pub type IDMOQualityControl
= *mut ::core
::ffi
::c_void
;
111 pub type IDMOVideoOutputOptimizations
= *mut ::core
::ffi
::c_void
;
112 pub type IEnumDMO
= *mut ::core
::ffi
::c_void
;
113 pub type IMediaBuffer
= *mut ::core
::ffi
::c_void
;
114 pub type IMediaObject
= *mut ::core
::ffi
::c_void
;
115 pub type IMediaObjectInPlace
= *mut ::core
::ffi
::c_void
;
116 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
117 pub type _DMO_INPLACE_PROCESS_FLAGS
= i32;
118 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
119 pub const DMO_INPLACE_NORMAL
: _DMO_INPLACE_PROCESS_FLAGS
= 0i32;
120 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
121 pub const DMO_INPLACE_ZERO
: _DMO_INPLACE_PROCESS_FLAGS
= 1i32;
122 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
123 pub type _DMO_INPUT_DATA_BUFFER_FLAGS
= i32;
124 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
125 pub const DMO_INPUT_DATA_BUFFERF_SYNCPOINT
: _DMO_INPUT_DATA_BUFFER_FLAGS
= 1i32;
126 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
127 pub const DMO_INPUT_DATA_BUFFERF_TIME
: _DMO_INPUT_DATA_BUFFER_FLAGS
= 2i32;
128 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
129 pub const DMO_INPUT_DATA_BUFFERF_TIMELENGTH
: _DMO_INPUT_DATA_BUFFER_FLAGS
= 4i32;
130 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
131 pub const DMO_INPUT_DATA_BUFFERF_DISCONTINUITY
: _DMO_INPUT_DATA_BUFFER_FLAGS
= 8i32;
132 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
133 pub type _DMO_INPUT_STATUS_FLAGS
= i32;
134 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
135 pub const DMO_INPUT_STATUSF_ACCEPT_DATA
: _DMO_INPUT_STATUS_FLAGS
= 1i32;
136 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
137 pub type _DMO_INPUT_STREAM_INFO_FLAGS
= i32;
138 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
139 pub const DMO_INPUT_STREAMF_WHOLE_SAMPLES
: _DMO_INPUT_STREAM_INFO_FLAGS
= 1i32;
140 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
141 pub const DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER
: _DMO_INPUT_STREAM_INFO_FLAGS
= 2i32;
142 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
143 pub const DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE
: _DMO_INPUT_STREAM_INFO_FLAGS
= 4i32;
144 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
145 pub const DMO_INPUT_STREAMF_HOLDS_BUFFERS
: _DMO_INPUT_STREAM_INFO_FLAGS
= 8i32;
146 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
147 pub type _DMO_OUTPUT_DATA_BUFFER_FLAGS
= i32;
148 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
149 pub const DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT
: _DMO_OUTPUT_DATA_BUFFER_FLAGS
= 1i32;
150 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
151 pub const DMO_OUTPUT_DATA_BUFFERF_TIME
: _DMO_OUTPUT_DATA_BUFFER_FLAGS
= 2i32;
152 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
153 pub const DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH
: _DMO_OUTPUT_DATA_BUFFER_FLAGS
= 4i32;
154 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
155 pub const DMO_OUTPUT_DATA_BUFFERF_DISCONTINUITY
: _DMO_OUTPUT_DATA_BUFFER_FLAGS
= 8i32;
156 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
157 pub const DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE
: _DMO_OUTPUT_DATA_BUFFER_FLAGS
= 16777216i32;
158 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
159 pub type _DMO_OUTPUT_STREAM_INFO_FLAGS
= i32;
160 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
161 pub const DMO_OUTPUT_STREAMF_WHOLE_SAMPLES
: _DMO_OUTPUT_STREAM_INFO_FLAGS
= 1i32;
162 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
163 pub const DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER
: _DMO_OUTPUT_STREAM_INFO_FLAGS
= 2i32;
164 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
165 pub const DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE
: _DMO_OUTPUT_STREAM_INFO_FLAGS
= 4i32;
166 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
167 pub const DMO_OUTPUT_STREAMF_DISCARDABLE
: _DMO_OUTPUT_STREAM_INFO_FLAGS
= 8i32;
168 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
169 pub const DMO_OUTPUT_STREAMF_OPTIONAL
: _DMO_OUTPUT_STREAM_INFO_FLAGS
= 16i32;
170 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
171 pub type _DMO_PROCESS_OUTPUT_FLAGS
= i32;
172 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
173 pub const DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER
: _DMO_PROCESS_OUTPUT_FLAGS
= 1i32;
174 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
175 pub type _DMO_QUALITY_STATUS_FLAGS
= i32;
176 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
177 pub const DMO_QUALITY_STATUS_ENABLED
: _DMO_QUALITY_STATUS_FLAGS
= 1i32;
178 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
179 pub type _DMO_SET_TYPE_FLAGS
= i32;
180 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
181 pub const DMO_SET_TYPEF_TEST_ONLY
: _DMO_SET_TYPE_FLAGS
= 1i32;
182 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
183 pub const DMO_SET_TYPEF_CLEAR
: _DMO_SET_TYPE_FLAGS
= 2i32;
184 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
185 pub type _DMO_VIDEO_OUTPUT_STREAM_FLAGS
= i32;
186 #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"]
187 pub const DMO_VOSF_NEEDS_PREVIOUS_SAMPLE
: _DMO_VIDEO_OUTPUT_STREAM_FLAGS
= 1i32;