| /* |
| * 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 MediaRatio; |
| runtimeclass VideoEncodingProperties; |
| |
| [ |
| 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), |
| 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; |
| } |
| |
| [ |
| 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; |
| } |
| } |