diff --git a/dlls/windows.media.mediacontrol/main.c b/dlls/windows.media.mediacontrol/main.c index b052ef5dda3..d55c2ae6461 100644 --- a/dlls/windows.media.mediacontrol/main.c +++ b/dlls/windows.media.mediacontrol/main.c @@ -215,7 +215,7 @@ static HRESULT WINAPI media_control_put_PlaybackStatus( ISystemMediaTransportCon return S_OK; } -static HRESULT WINAPI media_control_get_DisplayUpdater( ISystemMediaTransportControls *iface, __x_ABI_CWindows_CMedia_CISystemMediaTransportControlsDisplayUpdater **value ) +static HRESULT WINAPI media_control_get_DisplayUpdater( ISystemMediaTransportControls *iface, ISystemMediaTransportControlsDisplayUpdater **value ) { FIXME( "iface %p, value %p stub!\n", iface, value ); return E_NOTIMPL; diff --git a/include/windows.media.idl b/include/windows.media.idl index 4896f66b45b..7c5b8ff41d1 100644 --- a/include/windows.media.idl +++ b/include/windows.media.idl @@ -22,28 +22,40 @@ import "inspectable.idl"; import "windows.foundation.idl"; +import "windows.storage.idl"; +import "windows.storage.streams.idl"; namespace Windows.Media { typedef enum AudioProcessing AudioProcessing; typedef enum MediaPlaybackStatus MediaPlaybackStatus; + typedef enum MediaPlaybackType MediaPlaybackType; typedef enum SoundLevel SoundLevel; typedef enum SystemMediaTransportControlsButton SystemMediaTransportControlsButton; typedef enum SystemMediaTransportControlsProperty SystemMediaTransportControlsProperty; + interface IImageDisplayProperties; interface IMediaControl; interface IMediaMarker; + interface IMusicDisplayProperties; + interface IMusicDisplayProperties2; + interface IMusicDisplayProperties3; interface ISystemMediaTransportControls; interface ISystemMediaTransportControls2; interface ISystemMediaTransportControlsButtonPressedEventArgs; interface ISystemMediaTransportControlsDisplayUpdater; interface ISystemMediaTransportControlsPropertyChangedEventArgs; interface ISystemMediaTransportControlsStatics; + interface IVideoDisplayProperties; + interface IVideoDisplayProperties2; + runtimeclass ImageDisplayProperties; + runtimeclass MusicDisplayProperties; runtimeclass SystemMediaTransportControls; runtimeclass SystemMediaTransportControlsButtonPressedEventArgs; runtimeclass SystemMediaTransportControlsDisplayUpdater; runtimeclass SystemMediaTransportControlsPropertyChangedEventArgs; + runtimeclass VideoDisplayProperties; declare { @@ -76,6 +88,17 @@ namespace Windows.Media Paused = 4, }; + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum MediaPlaybackType + { + Unknown = 0, + Music = 1, + Video = 2, + Image = 3, + }; + [ contract(Windows.Foundation.UniversalApiContract, 1.0) ] @@ -167,6 +190,30 @@ namespace Windows.Media [eventremove] HRESULT PropertyChanged([in] EventRegistrationToken token); } + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Media.SystemMediaTransportControlsDisplayUpdater), + uuid(8abbc53e-fa55-4ecf-ad8e-c984e5dd1550) + ] + interface ISystemMediaTransportControlsDisplayUpdater : IInspectable + { + [propget] HRESULT Type([out, retval] Windows.Media.MediaPlaybackType *value); + [propput] HRESULT Type([in] Windows.Media.MediaPlaybackType value); + [propget] HRESULT AppMediaId([out, retval] HSTRING *value); + [propput] HRESULT AppMediaId([in] HSTRING value); + [propget] HRESULT Thumbnail([out, retval] Windows.Storage.Streams.RandomAccessStreamReference **value); + [propput] HRESULT Thumbnail([in] Windows.Storage.Streams.RandomAccessStreamReference *value); + [propget] HRESULT MusicProperties([out, retval] Windows.Media.MusicDisplayProperties **value); + [propget] HRESULT VideoProperties([out, retval] Windows.Media.VideoDisplayProperties **value); + [propget] HRESULT ImageProperties([out, retval] Windows.Media.ImageDisplayProperties **value); + HRESULT CopyFromFileAsync( + [in] Windows.Media.MediaPlaybackType type, [in] Windows.Storage.StorageFile *source, + [out, retval] Windows.Foundation.IAsyncOperation **operation + ); + HRESULT ClearAll(); + HRESULT Update(); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.Media.SystemMediaTransportControlsButtonPressedEventArgs), @@ -187,6 +234,28 @@ namespace Windows.Media [propget] HRESULT Property([out, retval] Windows.Media.SystemMediaTransportControlsProperty *value); } + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass ImageDisplayProperties + { + [default] interface Windows.Media.IImageDisplayProperties; + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass MusicDisplayProperties + { + [default] interface Windows.Media.IMusicDisplayProperties; + [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.IMusicDisplayProperties2; + [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.IMusicDisplayProperties3; + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(agile), @@ -226,4 +295,15 @@ namespace Windows.Media { [default] interface Windows.Media.ISystemMediaTransportControlsPropertyChangedEventArgs; } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass VideoDisplayProperties + { + [default] interface Windows.Media.IVideoDisplayProperties; + [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.IVideoDisplayProperties2; + } }