]>
Commit | Line | Data |
---|---|---|
487cf647 | 1 | #[cfg_attr(windows, link(name = "windows"))] |
5e7ed085 | 2 | extern "system" { |
04454e1e | 3 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 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; |
04454e1e FG |
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\"`*"] | |
5e7ed085 | 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; |
04454e1e FG |
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\"`*"] | |
5e7ed085 | 12 | pub fn DMOUnregister(clsiddmo: *const ::windows_sys::core::GUID, guidcategory: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT; |
04454e1e | 13 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
14 | #[cfg(feature = "Win32_Foundation")] |
15 | pub fn MoCopyMediaType(pmtdest: *mut DMO_MEDIA_TYPE, pmtsrc: *const DMO_MEDIA_TYPE) -> ::windows_sys::core::HRESULT; | |
04454e1e | 16 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
17 | #[cfg(feature = "Win32_Foundation")] |
18 | pub fn MoCreateMediaType(ppmt: *mut *mut DMO_MEDIA_TYPE, cbformat: u32) -> ::windows_sys::core::HRESULT; | |
04454e1e | 19 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
20 | #[cfg(feature = "Win32_Foundation")] |
21 | pub fn MoDeleteMediaType(pmt: *mut DMO_MEDIA_TYPE) -> ::windows_sys::core::HRESULT; | |
04454e1e | 22 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
23 | #[cfg(feature = "Win32_Foundation")] |
24 | pub fn MoDuplicateMediaType(ppmtdest: *mut *mut DMO_MEDIA_TYPE, pmtsrc: *const DMO_MEDIA_TYPE) -> ::windows_sys::core::HRESULT; | |
04454e1e | 25 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
26 | #[cfg(feature = "Win32_Foundation")] |
27 | pub fn MoFreeMediaType(pmt: *mut DMO_MEDIA_TYPE) -> ::windows_sys::core::HRESULT; | |
04454e1e | 28 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
29 | #[cfg(feature = "Win32_Foundation")] |
30 | pub fn MoInitMediaType(pmt: *mut DMO_MEDIA_TYPE, cbformat: u32) -> ::windows_sys::core::HRESULT; | |
31 | } | |
487cf647 FG |
32 | pub type IDMOQualityControl = *mut ::core::ffi::c_void; |
33 | pub type IDMOVideoOutputOptimizations = *mut ::core::ffi::c_void; | |
34 | pub type IEnumDMO = *mut ::core::ffi::c_void; | |
35 | pub type IMediaBuffer = *mut ::core::ffi::c_void; | |
36 | pub type IMediaObject = *mut ::core::ffi::c_void; | |
37 | pub type IMediaObjectInPlace = *mut ::core::ffi::c_void; | |
5e7ed085 FG |
38 | 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] }; |
39 | 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] }; | |
40 | 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] }; | |
41 | 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] }; | |
42 | 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] }; | |
43 | 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] }; | |
44 | 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] }; | |
45 | 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] }; | |
46 | 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] }; | |
47 | 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] }; | |
04454e1e | 48 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 49 | pub const DMO_E_INVALIDSTREAMINDEX: ::windows_sys::core::HRESULT = -2147220991i32; |
04454e1e | 50 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 51 | pub const DMO_E_INVALIDTYPE: ::windows_sys::core::HRESULT = -2147220990i32; |
04454e1e | 52 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 53 | pub const DMO_E_NOTACCEPTING: ::windows_sys::core::HRESULT = -2147220988i32; |
04454e1e | 54 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 55 | pub const DMO_E_NO_MORE_ITEMS: ::windows_sys::core::HRESULT = -2147220986i32; |
04454e1e | 56 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 57 | pub const DMO_E_TYPE_NOT_ACCEPTED: ::windows_sys::core::HRESULT = -2147220987i32; |
04454e1e | 58 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 59 | pub const DMO_E_TYPE_NOT_SET: ::windows_sys::core::HRESULT = -2147220989i32; |
04454e1e | 60 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
487cf647 | 61 | pub type DMO_ENUM_FLAGS = i32; |
04454e1e | 62 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
487cf647 | 63 | pub const DMO_ENUMF_INCLUDE_KEYED: DMO_ENUM_FLAGS = 1i32; |
04454e1e | 64 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 65 | pub type DMO_REGISTER_FLAGS = i32; |
04454e1e | 66 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 67 | pub const DMO_REGISTERF_IS_KEYED: DMO_REGISTER_FLAGS = 1i32; |
04454e1e | 68 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 69 | pub type _DMO_INPLACE_PROCESS_FLAGS = i32; |
04454e1e | 70 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 71 | pub const DMO_INPLACE_NORMAL: _DMO_INPLACE_PROCESS_FLAGS = 0i32; |
04454e1e | 72 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 73 | pub const DMO_INPLACE_ZERO: _DMO_INPLACE_PROCESS_FLAGS = 1i32; |
04454e1e | 74 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 75 | pub type _DMO_INPUT_DATA_BUFFER_FLAGS = i32; |
04454e1e | 76 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 77 | pub const DMO_INPUT_DATA_BUFFERF_SYNCPOINT: _DMO_INPUT_DATA_BUFFER_FLAGS = 1i32; |
04454e1e | 78 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 79 | pub const DMO_INPUT_DATA_BUFFERF_TIME: _DMO_INPUT_DATA_BUFFER_FLAGS = 2i32; |
04454e1e | 80 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 81 | pub const DMO_INPUT_DATA_BUFFERF_TIMELENGTH: _DMO_INPUT_DATA_BUFFER_FLAGS = 4i32; |
04454e1e | 82 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 83 | pub const DMO_INPUT_DATA_BUFFERF_DISCONTINUITY: _DMO_INPUT_DATA_BUFFER_FLAGS = 8i32; |
04454e1e | 84 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 85 | pub type _DMO_INPUT_STATUS_FLAGS = i32; |
04454e1e | 86 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 87 | pub const DMO_INPUT_STATUSF_ACCEPT_DATA: _DMO_INPUT_STATUS_FLAGS = 1i32; |
04454e1e | 88 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 89 | pub type _DMO_INPUT_STREAM_INFO_FLAGS = i32; |
04454e1e | 90 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 91 | pub const DMO_INPUT_STREAMF_WHOLE_SAMPLES: _DMO_INPUT_STREAM_INFO_FLAGS = 1i32; |
04454e1e | 92 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 93 | pub const DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER: _DMO_INPUT_STREAM_INFO_FLAGS = 2i32; |
04454e1e | 94 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 95 | pub const DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE: _DMO_INPUT_STREAM_INFO_FLAGS = 4i32; |
04454e1e | 96 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 97 | pub const DMO_INPUT_STREAMF_HOLDS_BUFFERS: _DMO_INPUT_STREAM_INFO_FLAGS = 8i32; |
04454e1e | 98 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 99 | pub type _DMO_OUTPUT_DATA_BUFFER_FLAGS = i32; |
04454e1e | 100 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 101 | pub const DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT: _DMO_OUTPUT_DATA_BUFFER_FLAGS = 1i32; |
04454e1e | 102 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 103 | pub const DMO_OUTPUT_DATA_BUFFERF_TIME: _DMO_OUTPUT_DATA_BUFFER_FLAGS = 2i32; |
04454e1e | 104 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 105 | pub const DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH: _DMO_OUTPUT_DATA_BUFFER_FLAGS = 4i32; |
04454e1e | 106 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 107 | pub const DMO_OUTPUT_DATA_BUFFERF_DISCONTINUITY: _DMO_OUTPUT_DATA_BUFFER_FLAGS = 8i32; |
04454e1e | 108 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 109 | pub const DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE: _DMO_OUTPUT_DATA_BUFFER_FLAGS = 16777216i32; |
04454e1e | 110 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 111 | pub type _DMO_OUTPUT_STREAM_INFO_FLAGS = i32; |
04454e1e | 112 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 113 | pub const DMO_OUTPUT_STREAMF_WHOLE_SAMPLES: _DMO_OUTPUT_STREAM_INFO_FLAGS = 1i32; |
04454e1e | 114 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 115 | pub const DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER: _DMO_OUTPUT_STREAM_INFO_FLAGS = 2i32; |
04454e1e | 116 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 117 | pub const DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE: _DMO_OUTPUT_STREAM_INFO_FLAGS = 4i32; |
04454e1e | 118 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 119 | pub const DMO_OUTPUT_STREAMF_DISCARDABLE: _DMO_OUTPUT_STREAM_INFO_FLAGS = 8i32; |
04454e1e | 120 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 121 | pub const DMO_OUTPUT_STREAMF_OPTIONAL: _DMO_OUTPUT_STREAM_INFO_FLAGS = 16i32; |
04454e1e | 122 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 123 | pub type _DMO_PROCESS_OUTPUT_FLAGS = i32; |
04454e1e | 124 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 125 | pub const DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER: _DMO_PROCESS_OUTPUT_FLAGS = 1i32; |
04454e1e | 126 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 127 | pub type _DMO_QUALITY_STATUS_FLAGS = i32; |
04454e1e | 128 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 129 | pub const DMO_QUALITY_STATUS_ENABLED: _DMO_QUALITY_STATUS_FLAGS = 1i32; |
04454e1e | 130 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 131 | pub type _DMO_SET_TYPE_FLAGS = i32; |
04454e1e | 132 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 133 | pub const DMO_SET_TYPEF_TEST_ONLY: _DMO_SET_TYPE_FLAGS = 1i32; |
04454e1e | 134 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 135 | pub const DMO_SET_TYPEF_CLEAR: _DMO_SET_TYPE_FLAGS = 2i32; |
04454e1e | 136 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 137 | pub type _DMO_VIDEO_OUTPUT_STREAM_FLAGS = i32; |
04454e1e | 138 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] |
5e7ed085 | 139 | pub const DMO_VOSF_NEEDS_PREVIOUS_SAMPLE: _DMO_VIDEO_OUTPUT_STREAM_FLAGS = 1i32; |
487cf647 FG |
140 | #[repr(C)] |
141 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`, `\"Win32_Foundation\"`*"] | |
142 | #[cfg(feature = "Win32_Foundation")] | |
143 | pub struct DMO_MEDIA_TYPE { | |
144 | pub majortype: ::windows_sys::core::GUID, | |
145 | pub subtype: ::windows_sys::core::GUID, | |
146 | pub bFixedSizeSamples: super::super::Foundation::BOOL, | |
147 | pub bTemporalCompression: super::super::Foundation::BOOL, | |
148 | pub lSampleSize: u32, | |
149 | pub formattype: ::windows_sys::core::GUID, | |
150 | pub pUnk: ::windows_sys::core::IUnknown, | |
151 | pub cbFormat: u32, | |
152 | pub pbFormat: *mut u8, | |
153 | } | |
154 | #[cfg(feature = "Win32_Foundation")] | |
155 | impl ::core::marker::Copy for DMO_MEDIA_TYPE {} | |
156 | #[cfg(feature = "Win32_Foundation")] | |
157 | impl ::core::clone::Clone for DMO_MEDIA_TYPE { | |
158 | fn clone(&self) -> Self { | |
159 | *self | |
160 | } | |
161 | } | |
162 | #[repr(C)] | |
163 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] | |
164 | pub struct DMO_OUTPUT_DATA_BUFFER { | |
165 | pub pBuffer: IMediaBuffer, | |
166 | pub dwStatus: u32, | |
167 | pub rtTimestamp: i64, | |
168 | pub rtTimelength: i64, | |
169 | } | |
170 | impl ::core::marker::Copy for DMO_OUTPUT_DATA_BUFFER {} | |
171 | impl ::core::clone::Clone for DMO_OUTPUT_DATA_BUFFER { | |
172 | fn clone(&self) -> Self { | |
173 | *self | |
174 | } | |
175 | } | |
176 | #[repr(C)] | |
177 | #[doc = "*Required features: `\"Win32_Media_DxMediaObjects\"`*"] | |
178 | pub struct DMO_PARTIAL_MEDIATYPE { | |
179 | pub r#type: ::windows_sys::core::GUID, | |
180 | pub subtype: ::windows_sys::core::GUID, | |
181 | } | |
182 | impl ::core::marker::Copy for DMO_PARTIAL_MEDIATYPE {} | |
183 | impl ::core::clone::Clone for DMO_PARTIAL_MEDIATYPE { | |
184 | fn clone(&self) -> Self { | |
185 | *self | |
186 | } | |
187 | } |