| /* | |
| * Copyright (C) 2025 Mohamad Al-Jaf | |
| * | |
| * 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 | |
| */ | |
| #ifdef __WIDL__ | |
| #pragma winrt ns_prefix | |
| #endif | |
| import "inspectable.idl"; | |
| import "asyncinfo.idl"; | |
| import "eventtoken.idl"; | |
| import "windowscontracts.idl"; | |
| import "windows.foundation.idl"; | |
| import "windows.media.core.idl"; | |
| import "windows.storage.idl"; | |
| import "windows.storage.streams.idl"; | |
| namespace Windows.Media.MediaProperties { | |
| interface IAudioEncodingProperties; | |
| interface IAudioEncodingProperties2; | |
| interface IAudioEncodingProperties3; | |
| interface IAudioEncodingPropertiesStatics; | |
| interface IAudioEncodingPropertiesStatics2; | |
| interface IAudioEncodingPropertiesWithFormatUserData; | |
| interface IContainerEncodingProperties; | |
| interface IContainerEncodingProperties2; | |
| interface IMediaEncodingProfile; | |
| interface IMediaEncodingProfile2; | |
| interface IMediaEncodingProfile3; | |
| interface IMediaEncodingProfileStatics; | |
| interface IMediaEncodingProfileStatics2; | |
| interface IMediaEncodingProfileStatics3; | |
| interface IMediaEncodingProperties; | |
| interface IMediaRatio; | |
| interface IVideoEncodingProperties; | |
| interface IVideoEncodingProperties2; | |
| interface IVideoEncodingProperties3; | |
| interface IVideoEncodingProperties4; | |
| interface IVideoEncodingProperties5; | |
| interface IVideoEncodingPropertiesStatics; | |
| interface IVideoEncodingPropertiesStatics2; | |
| runtimeclass AudioEncodingProperties; | |
| runtimeclass ContainerEncodingProperties; | |
| runtimeclass MediaEncodingProfile; | |
| runtimeclass MediaPropertySet; | |
| runtimeclass MediaRatio; | |
| runtimeclass VideoEncodingProperties; | |
| declare { | |
| interface Windows.Foundation.Collections.IKeyValuePair<GUID, IInspectable *>; | |
| interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<GUID, IInspectable *> *>; | |
| interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<GUID, IInspectable *> *>; | |
| interface Windows.Foundation.Collections.IMap<GUID, IInspectable *>; | |
| interface Windows.Foundation.Collections.IMapView<GUID, IInspectable *>; | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Media.MediaProperties.AudioEncodingProperties), | |
| uuid(62bc7a16-005c-4b3b-8a0b-0a090e9687f3) | |
| ] | |
| interface IAudioEncodingProperties : IInspectable | |
| requires Windows.Media.MediaProperties.IMediaEncodingProperties | |
| { | |
| [propput] HRESULT Bitrate([in] UINT32 value); | |
| [propget] HRESULT Bitrate([out, retval] UINT32 *value); | |
| [propput] HRESULT ChannelCount([in] UINT32 value); | |
| [propget] HRESULT ChannelCount([out, retval] UINT32 *value); | |
| [propput] HRESULT SampleRate([in] UINT32 value); | |
| [propget] HRESULT SampleRate([out, retval] UINT32 *value); | |
| [propput] HRESULT BitsPerSample([in] UINT32 value); | |
| [propget] HRESULT BitsPerSample([out, retval] UINT32 *value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Media.MediaProperties.ContainerEncodingProperties), | |
| uuid(59ac2a57-b32a-479e-8a61-4b7f2e9e7ea0) | |
| ] | |
| interface IContainerEncodingProperties : IInspectable | |
| requires Windows.Media.MediaProperties.IMediaEncodingProperties | |
| { | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Media.MediaProperties.MediaEncodingProfile), | |
| uuid(e7dbf5a8-1db9-4783-876b-3dfe12acfdb3) | |
| ] | |
| interface IMediaEncodingProfile : IInspectable | |
| { | |
| [propput] HRESULT Audio([in] Windows.Media.MediaProperties.AudioEncodingProperties *value); | |
| [propget] HRESULT Audio([out, retval] Windows.Media.MediaProperties.AudioEncodingProperties **value); | |
| [propput] HRESULT Video([in] Windows.Media.MediaProperties.VideoEncodingProperties *value); | |
| [propget] HRESULT Video([out, retval] Windows.Media.MediaProperties.VideoEncodingProperties **value); | |
| [propput] HRESULT Container([in] Windows.Media.MediaProperties.ContainerEncodingProperties *value); | |
| [propget] HRESULT Container([out, retval] Windows.Media.MediaProperties.ContainerEncodingProperties **value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| uuid(b4002af6-acd4-4e5a-a24b-5d7498a8b8c4) | |
| ] | |
| interface IMediaEncodingProperties : IInspectable | |
| { | |
| [propget] HRESULT Properties([out, retval] Windows.Media.MediaProperties.MediaPropertySet **value); | |
| [propget] HRESULT Type([out, retval] HSTRING *value); | |
| [propput] HRESULT Subtype([in] HSTRING value); | |
| [propget] HRESULT Subtype([out, retval] HSTRING *value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Media.MediaProperties.AudioEncodingProperties), | |
| uuid(98f10d79-13ea-49ff-be70-2673db69702c) | |
| ] | |
| interface IAudioEncodingPropertiesWithFormatUserData : IInspectable | |
| { | |
| HRESULT SetFormatUserData([in] UINT32 __value_size, [in, size_is(__value_size)] BYTE *value); | |
| HRESULT GetFormatUserData([out] UINT32 * __value_size, [out, size_is(, *__value_size)] BYTE **value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Media.MediaProperties.MediaRatio), | |
| uuid(d2d0fee5-8929-401d-ac78-7d357e378163) | |
| ] | |
| interface IMediaRatio : IInspectable | |
| { | |
| [propput] HRESULT Numerator([in] UINT32 value); | |
| [propget] HRESULT Numerator([out, retval] UINT32 *value); | |
| [propput] HRESULT Denominator([in] UINT32 value); | |
| [propget] HRESULT Denominator([out, retval] UINT32 *value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Media.MediaProperties.VideoEncodingProperties), | |
| uuid(76ee6c9a-37c2-4f2a-880a-1282bbb4373d) | |
| ] | |
| interface IVideoEncodingProperties : IInspectable | |
| requires Windows.Media.MediaProperties.IMediaEncodingProperties | |
| { | |
| [propput] HRESULT Bitrate([in] UINT32 value); | |
| [propget] HRESULT Bitrate([out, retval] UINT32 *value); | |
| [propput] HRESULT Width([in] UINT32 value); | |
| [propget] HRESULT Width([out, retval] UINT32 *value); | |
| [propput] HRESULT Height([in] UINT32 value); | |
| [propget] HRESULT Height([out, retval] UINT32 *value); | |
| [propget] HRESULT FrameRate([out, retval] Windows.Media.MediaProperties.MediaRatio **value); | |
| [propget] HRESULT PixelAspectRatio([out, retval] Windows.Media.MediaProperties.MediaRatio **value); | |
| } | |
| [ | |
| activatable(Windows.Foundation.UniversalApiContract, 1.0), | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| marshaling_behavior(agile), | |
| /* static(Windows.Media.MediaProperties.IAudioEncodingPropertiesStatics, Windows.Foundation.UniversalApiContract, 1.0), */ | |
| /* static(Windows.Media.MediaProperties.IAudioEncodingPropertiesStatics2, Windows.Foundation.UniversalApiContract, 4.0), */ | |
| threading(both) | |
| ] | |
| runtimeclass AudioEncodingProperties | |
| { | |
| [default] interface Windows.Media.MediaProperties.IAudioEncodingProperties; | |
| interface Windows.Media.MediaProperties.IMediaEncodingProperties; | |
| [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.MediaProperties.IAudioEncodingPropertiesWithFormatUserData; | |
| /* [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.MediaProperties.IAudioEncodingProperties2; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.MediaProperties.IAudioEncodingProperties3; */ | |
| } | |
| [ | |
| activatable(Windows.Foundation.UniversalApiContract, 1.0), | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| marshaling_behavior(agile), | |
| threading(both) | |
| ] | |
| runtimeclass ContainerEncodingProperties | |
| { | |
| [default] interface Windows.Media.MediaProperties.IContainerEncodingProperties; | |
| interface Windows.Media.MediaProperties.IMediaEncodingProperties; | |
| /* [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.MediaProperties.IContainerEncodingProperties2; */ | |
| } | |
| [ | |
| activatable(Windows.Foundation.UniversalApiContract, 1.0), | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| marshaling_behavior(agile), | |
| /* static(Windows.Media.MediaProperties.IMediaEncodingProfileStatics, Windows.Foundation.UniversalApiContract, 1.0), */ | |
| /* static(Windows.Media.MediaProperties.IMediaEncodingProfileStatics2, Windows.Foundation.UniversalApiContract, 1.0), */ | |
| /* static(Windows.Media.MediaProperties.IMediaEncodingProfileStatics3, Windows.Foundation.UniversalApiContract, 4.0), */ | |
| threading(mta) | |
| ] | |
| runtimeclass MediaEncodingProfile | |
| { | |
| [default] interface Windows.Media.MediaProperties.IMediaEncodingProfile; | |
| /* [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Media.MediaProperties.IMediaEncodingProfile2; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.MediaProperties.IMediaEncodingProfile3; */ | |
| } | |
| [ | |
| activatable(Windows.Foundation.UniversalApiContract, 1.0), | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| marshaling_behavior(agile), | |
| threading(both) | |
| ] | |
| runtimeclass MediaPropertySet | |
| { | |
| [default] interface Windows.Foundation.Collections.IMap<GUID, IInspectable *>; | |
| interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<GUID, IInspectable *> *>; | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| marshaling_behavior(agile), | |
| threading(both) | |
| ] | |
| runtimeclass MediaRatio | |
| { | |
| [default] interface Windows.Media.MediaProperties.IMediaRatio; | |
| } | |
| [ | |
| activatable(Windows.Foundation.UniversalApiContract, 1.0), | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| marshaling_behavior(agile), | |
| /* static(Windows.Media.MediaProperties.IVideoEncodingPropertiesStatics, Windows.Foundation.UniversalApiContract, 1.0), */ | |
| /* static(Windows.Media.MediaProperties.IVideoEncodingPropertiesStatics2, Windows.Foundation.UniversalApiContract, 4.0), */ | |
| threading(both) | |
| ] | |
| runtimeclass VideoEncodingProperties | |
| { | |
| [default] interface Windows.Media.MediaProperties.IVideoEncodingProperties; | |
| interface Windows.Media.MediaProperties.IMediaEncodingProperties; | |
| /* [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.MediaProperties.IVideoEncodingProperties2; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.MediaProperties.IVideoEncodingProperties3; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.MediaProperties.IVideoEncodingProperties4; */ | |
| /* [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.MediaProperties.IVideoEncodingProperties5; */ | |
| } | |
| } |