wine/include/windows.media.mediaproperties.idl

210 lines
9.6 KiB
Text

/*
* 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;
}
}