//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.ApplicationModel.AppService.idl";
import "Windows.Graphics.DirectX.Direct3D11.idl";
import "Windows.Graphics.Imaging.idl";
import "Windows.Media.idl";
import "Windows.Media.Capture.idl";
import "Windows.Media.Capture.Frames.idl";
import "Windows.Media.Devices.idl";
import "Windows.Media.Devices.Core.idl";
import "Windows.Media.Effects.idl";
import "Windows.Media.FaceAnalysis.idl";
import "Windows.Media.MediaProperties.idl";
import "Windows.Media.Playback.idl";
import "Windows.Media.Protection.idl";
import "Windows.Media.Streaming.Adaptive.idl";
import "Windows.Networking.BackgroundTransfer.idl";
import "Windows.Storage.idl";
import "Windows.Storage.FileProperties.idl";
import "Windows.Storage.Streams.idl";
import "Windows.UI.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace AppService
        {
            runtimeclass AppServiceConnection;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        namespace Collections
        {
            runtimeclass PropertySet;

            runtimeclass ValueSet;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        runtimeclass Deferral;

        interface IAsyncAction;

        interface IClosable;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace DirectX
        {
            namespace Direct3D11
            {
                interface IDirect3DSurface;
            }
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Imaging
        {
            typedef enum BitmapPixelFormat BitmapPixelFormat;

            runtimeclass SoftwareBitmap;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Capture
        {
            runtimeclass CapturedFrameControlValues;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Capture
        {
            namespace Frames
            {
                runtimeclass MediaFrameSource;
            }
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Capture
        {
            runtimeclass VideoStreamConfiguration;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Devices
        {
            namespace Core
            {
                runtimeclass FrameController;
            }
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Devices
        {
            runtimeclass VideoDeviceController;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Effects
        {
            interface IVideoEffectDefinition;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace FaceAnalysis
        {
            runtimeclass DetectedFace;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        interface IMediaExtension;

        interface IMediaFrame;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace MediaProperties
        {
            runtimeclass AudioEncodingProperties;

            runtimeclass TimedMetadataEncodingProperties;

            runtimeclass VideoEncodingProperties;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Playback
        {
            interface IMediaPlaybackSource;

            runtimeclass MediaPlaybackItem;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Protection
        {
            runtimeclass MediaProtectionManager;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Streaming
        {
            namespace Adaptive
            {
                runtimeclass AdaptiveMediaSource;
            }
        }
    }
}
namespace Windows
{
    namespace Networking
    {
        namespace BackgroundTransfer
        {
            runtimeclass DownloadOperation;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace FileProperties
        {
            runtimeclass MusicProperties;

            runtimeclass VideoProperties;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        interface IStorageFile;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            runtimeclass Buffer;

            interface IBuffer;

            interface IInputStream;

            interface IRandomAccessStream;

            interface IRandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct Color Color;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Core
        {
            typedef enum AudioDecoderDegradation AudioDecoderDegradation;

            typedef enum AudioDecoderDegradationReason AudioDecoderDegradationReason;

            typedef enum CodecCategory CodecCategory;

            typedef enum CodecKind CodecKind;

            typedef enum FaceDetectionMode FaceDetectionMode;

            typedef enum MediaDecoderStatus MediaDecoderStatus;

            typedef enum MediaSourceState MediaSourceState;

            typedef enum MediaSourceStatus MediaSourceStatus;

            typedef enum MediaStreamSourceClosedReason MediaStreamSourceClosedReason;

            typedef enum MediaStreamSourceErrorStatus MediaStreamSourceErrorStatus;

            typedef enum MediaTrackKind MediaTrackKind;

            typedef enum MseAppendMode MseAppendMode;

            typedef enum MseEndOfStreamStatus MseEndOfStreamStatus;

            typedef enum MseReadyState MseReadyState;

            typedef enum SceneAnalysisRecommendation SceneAnalysisRecommendation;

            typedef enum TimedMetadataKind TimedMetadataKind;

            typedef enum TimedMetadataTrackErrorCode TimedMetadataTrackErrorCode;

            typedef enum TimedTextBoutenPosition TimedTextBoutenPosition;

            typedef enum TimedTextBoutenType TimedTextBoutenType;

            typedef enum TimedTextDisplayAlignment TimedTextDisplayAlignment;

            typedef enum TimedTextFlowDirection TimedTextFlowDirection;

            typedef enum TimedTextFontStyle TimedTextFontStyle;

            typedef enum TimedTextLineAlignment TimedTextLineAlignment;

            typedef enum TimedTextRubyAlign TimedTextRubyAlign;

            typedef enum TimedTextRubyPosition TimedTextRubyPosition;

            typedef enum TimedTextRubyReserve TimedTextRubyReserve;

            typedef enum TimedTextScrollMode TimedTextScrollMode;

            typedef enum TimedTextUnit TimedTextUnit;

            typedef enum TimedTextWeight TimedTextWeight;

            typedef enum TimedTextWrapping TimedTextWrapping;

            typedef enum TimedTextWritingMode TimedTextWritingMode;

            typedef enum VideoStabilizationEffectEnabledChangedReason VideoStabilizationEffectEnabledChangedReason;

            typedef struct MseTimeRange MseTimeRange;

            typedef struct TimedTextDouble TimedTextDouble;

            typedef struct TimedTextPadding TimedTextPadding;

            typedef struct TimedTextPoint TimedTextPoint;

            typedef struct TimedTextSize TimedTextSize;

            interface IAudioStreamDescriptor;

            interface IAudioStreamDescriptor2;

            interface IAudioStreamDescriptor3;

            interface IAudioStreamDescriptorFactory;

            interface IAudioTrack;

            interface IAudioTrackOpenFailedEventArgs;

            interface IAudioTrackSupportInfo;

            interface IChapterCue;

            interface ICodecInfo;

            interface ICodecQuery;

            interface ICodecSubtypesStatics;

            interface ICodecSubtypesStatics2;

            interface IDataCue;

            interface IDataCue2;

            interface IFaceDetectedEventArgs;

            interface IFaceDetectionEffect;

            interface IFaceDetectionEffectDefinition;

            interface IFaceDetectionEffectFrame;

            interface IHighDynamicRangeControl;

            interface IHighDynamicRangeOutput;

            interface IImageCue;

            interface IInitializeMediaStreamSourceRequestedEventArgs;

            interface ILowLightFusionResult;

            interface ILowLightFusionStatics;

            interface IMediaBinder;

            interface IMediaBindingEventArgs;

            interface IMediaBindingEventArgs2;

            interface IMediaBindingEventArgs3;

            interface IMediaCue;

            interface IMediaCueEventArgs;

            interface IMediaSource;

            interface IMediaSource2;

            interface IMediaSource3;

            interface IMediaSource4;

            interface IMediaSource5;

            interface IMediaSourceAppServiceConnection;

            interface IMediaSourceAppServiceConnectionFactory;

            interface IMediaSourceError;

            interface IMediaSourceOpenOperationCompletedEventArgs;

            interface IMediaSourceStateChangedEventArgs;

            interface IMediaSourceStatics;

            interface IMediaSourceStatics2;

            interface IMediaSourceStatics3;

            interface IMediaSourceStatics4;

            interface IMediaStreamDescriptor;

            interface IMediaStreamDescriptor2;

            interface IMediaStreamSample;

            interface IMediaStreamSample2;

            interface IMediaStreamSampleProtectionProperties;

            interface IMediaStreamSampleStatics;

            interface IMediaStreamSampleStatics2;

            interface IMediaStreamSource;

            interface IMediaStreamSource2;

            interface IMediaStreamSource3;

            interface IMediaStreamSource4;

            interface IMediaStreamSourceClosedEventArgs;

            interface IMediaStreamSourceClosedRequest;

            interface IMediaStreamSourceFactory;

            interface IMediaStreamSourceSampleRenderedEventArgs;

            interface IMediaStreamSourceSampleRequest;

            interface IMediaStreamSourceSampleRequestDeferral;

            interface IMediaStreamSourceSampleRequestedEventArgs;

            interface IMediaStreamSourceStartingEventArgs;

            interface IMediaStreamSourceStartingRequest;

            interface IMediaStreamSourceStartingRequestDeferral;

            interface IMediaStreamSourceSwitchStreamsRequest;

            interface IMediaStreamSourceSwitchStreamsRequestDeferral;

            interface IMediaStreamSourceSwitchStreamsRequestedEventArgs;

            interface IMediaTrack;

            interface IMseSourceBuffer;

            interface IMseSourceBufferList;

            interface IMseStreamSource;

            interface IMseStreamSource2;

            interface IMseStreamSourceStatics;

            interface ISceneAnalysisEffect;

            interface ISceneAnalysisEffectFrame;

            interface ISceneAnalysisEffectFrame2;

            interface ISceneAnalyzedEventArgs;

            interface ISingleSelectMediaTrackList;

            interface ISpeechCue;

            interface ITimedMetadataStreamDescriptor;

            interface ITimedMetadataStreamDescriptorFactory;

            interface ITimedMetadataTrack;

            interface ITimedMetadataTrack2;

            interface ITimedMetadataTrackError;

            interface ITimedMetadataTrackFactory;

            interface ITimedMetadataTrackFailedEventArgs;

            interface ITimedMetadataTrackProvider;

            interface ITimedTextBouten;

            interface ITimedTextCue;

            interface ITimedTextLine;

            interface ITimedTextRegion;

            interface ITimedTextRuby;

            interface ITimedTextSource;

            interface ITimedTextSourceResolveResultEventArgs;

            interface ITimedTextSourceStatics;

            interface ITimedTextSourceStatics2;

            interface ITimedTextStyle;

            interface ITimedTextStyle2;

            interface ITimedTextStyle3;

            interface ITimedTextSubformat;

            interface IVideoStabilizationEffect;

            interface IVideoStabilizationEffectEnabledChangedEventArgs;

            interface IVideoStreamDescriptor;

            interface IVideoStreamDescriptor2;

            interface IVideoStreamDescriptorFactory;

            interface IVideoTrack;

            interface IVideoTrackOpenFailedEventArgs;

            interface IVideoTrackSupportInfo;

            runtimeclass AudioStreamDescriptor;

            runtimeclass AudioTrack;

            runtimeclass AudioTrackOpenFailedEventArgs;

            runtimeclass AudioTrackSupportInfo;

            runtimeclass ChapterCue;

            runtimeclass CodecInfo;

            runtimeclass CodecQuery;

            runtimeclass CodecSubtypes;

            runtimeclass DataCue;

            runtimeclass FaceDetectedEventArgs;

            runtimeclass FaceDetectionEffect;

            runtimeclass FaceDetectionEffectDefinition;

            runtimeclass FaceDetectionEffectFrame;

            runtimeclass HighDynamicRangeControl;

            runtimeclass HighDynamicRangeOutput;

            runtimeclass ImageCue;

            runtimeclass InitializeMediaStreamSourceRequestedEventArgs;

            runtimeclass LowLightFusion;

            runtimeclass LowLightFusionResult;

            runtimeclass MediaBinder;

            runtimeclass MediaBindingEventArgs;

            runtimeclass MediaCueEventArgs;

            runtimeclass MediaSource;

            runtimeclass MediaSourceAppServiceConnection;

            runtimeclass MediaSourceError;

            runtimeclass MediaSourceOpenOperationCompletedEventArgs;

            runtimeclass MediaSourceStateChangedEventArgs;

            runtimeclass MediaStreamSample;

            runtimeclass MediaStreamSamplePropertySet;

            runtimeclass MediaStreamSampleProtectionProperties;

            runtimeclass MediaStreamSource;

            runtimeclass MediaStreamSourceClosedEventArgs;

            runtimeclass MediaStreamSourceClosedRequest;

            runtimeclass MediaStreamSourceSampleRenderedEventArgs;

            runtimeclass MediaStreamSourceSampleRequest;

            runtimeclass MediaStreamSourceSampleRequestDeferral;

            runtimeclass MediaStreamSourceSampleRequestedEventArgs;

            runtimeclass MediaStreamSourceStartingEventArgs;

            runtimeclass MediaStreamSourceStartingRequest;

            runtimeclass MediaStreamSourceStartingRequestDeferral;

            runtimeclass MediaStreamSourceSwitchStreamsRequest;

            runtimeclass MediaStreamSourceSwitchStreamsRequestDeferral;

            runtimeclass MediaStreamSourceSwitchStreamsRequestedEventArgs;

            runtimeclass MseSourceBuffer;

            runtimeclass MseSourceBufferList;

            runtimeclass MseStreamSource;

            runtimeclass SceneAnalysisEffect;

            runtimeclass SceneAnalysisEffectDefinition;

            runtimeclass SceneAnalysisEffectFrame;

            runtimeclass SceneAnalyzedEventArgs;

            runtimeclass SpeechCue;

            runtimeclass TimedMetadataStreamDescriptor;

            runtimeclass TimedMetadataTrack;

            runtimeclass TimedMetadataTrackError;

            runtimeclass TimedMetadataTrackFailedEventArgs;

            runtimeclass TimedTextBouten;

            runtimeclass TimedTextCue;

            runtimeclass TimedTextLine;

            runtimeclass TimedTextRegion;

            runtimeclass TimedTextRuby;

            runtimeclass TimedTextSource;

            runtimeclass TimedTextSourceResolveResultEventArgs;

            runtimeclass TimedTextStyle;

            runtimeclass TimedTextSubformat;

            runtimeclass VideoStabilizationEffect;

            runtimeclass VideoStabilizationEffectDefinition;

            runtimeclass VideoStabilizationEffectEnabledChangedEventArgs;

            runtimeclass VideoStreamDescriptor;

            runtimeclass VideoTrack;

            runtimeclass VideoTrackOpenFailedEventArgs;

            runtimeclass VideoTrackSupportInfo;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Media
    {
        namespace Core
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.AudioStreamDescriptor*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.AudioTrack*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.CodecInfo*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.IMediaCue*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.MseSourceBuffer*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.MseTimeRange>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.TimedMetadataStreamDescriptor*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.TimedMetadataTrack*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.TimedTextLine*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.TimedTextSource*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.TimedTextSubformat*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.VideoStreamDescriptor*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Core.VideoTrack*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.AudioStreamDescriptor*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.AudioTrack*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.CodecInfo*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.IMediaCue*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.MseSourceBuffer*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.MseTimeRange>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.TimedMetadataStreamDescriptor*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.TimedMetadataTrack*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.TimedTextLine*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.TimedTextSource*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.TimedTextSubformat*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.VideoStreamDescriptor*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Core.VideoTrack*>;

                interface Windows.Foundation.Collections.IObservableVector<Windows.Media.Core.TimedMetadataTrack*>;

                interface Windows.Foundation.Collections.IObservableVector<Windows.Media.Core.TimedTextSource*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.AudioStreamDescriptor*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.AudioTrack*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.CodecInfo*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.IMediaCue*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.MseSourceBuffer*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.MseTimeRange>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.TimedMetadataStreamDescriptor*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.TimedMetadataTrack*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.TimedTextLine*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.TimedTextSource*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.TimedTextSubformat*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.VideoStreamDescriptor*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Core.VideoTrack*>;

                interface Windows.Foundation.Collections.IVector<Windows.Media.Core.AudioStreamDescriptor*>;

                interface Windows.Foundation.Collections.IVector<Windows.Media.Core.TimedMetadataStreamDescriptor*>;

                interface Windows.Foundation.Collections.IVector<Windows.Media.Core.TimedMetadataTrack*>;

                interface Windows.Foundation.Collections.IVector<Windows.Media.Core.TimedTextLine*>;

                interface Windows.Foundation.Collections.IVector<Windows.Media.Core.TimedTextSource*>;

                interface Windows.Foundation.Collections.IVector<Windows.Media.Core.TimedTextSubformat*>;

                interface Windows.Foundation.Collections.IVector<Windows.Media.Core.VideoStreamDescriptor*>;

                interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Media.Core.LowLightFusionResult*, DOUBLE>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Media.Core.CodecInfo*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Media.Core.MediaStreamSample*>;

                interface Windows.Foundation.IReference<Windows.Media.Core.MseTimeRange>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.AudioTrack*, Windows.Media.Core.AudioTrackOpenFailedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.FaceDetectionEffect*, Windows.Media.Core.FaceDetectedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.ISingleSelectMediaTrackList*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaBinder*, Windows.Media.Core.MediaBindingEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaBindingEventArgs*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaSource*, Windows.Media.Core.MediaSourceOpenOperationCompletedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaSource*, Windows.Media.Core.MediaSourceStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaSourceAppServiceConnection*, Windows.Media.Core.InitializeMediaStreamSourceRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSample*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, Windows.Media.Core.MediaStreamSourceClosedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, Windows.Media.Core.MediaStreamSourceSampleRenderedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, Windows.Media.Core.MediaStreamSourceSampleRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, Windows.Media.Core.MediaStreamSourceStartingEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, Windows.Media.Core.MediaStreamSourceSwitchStreamsRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseSourceBuffer*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseSourceBufferList*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseStreamSource*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.SceneAnalysisEffect*, Windows.Media.Core.SceneAnalyzedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.TimedMetadataTrack*, Windows.Media.Core.MediaCueEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.TimedMetadataTrack*, Windows.Media.Core.TimedMetadataTrackFailedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.TimedTextSource*, Windows.Media.Core.TimedTextSourceResolveResultEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.VideoStabilizationEffect*, Windows.Media.Core.VideoStabilizationEffectEnabledChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Core.VideoTrack*, Windows.Media.Core.VideoTrackOpenFailedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Media
    {
        namespace Core
        {
            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum AudioDecoderDegradation
            {
                None               = 0,
                DownmixTo2Channels = 1,
                DownmixTo6Channels = 2,
                DownmixTo8Channels = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum AudioDecoderDegradationReason
            {
                None                     = 0,
                LicensingRequirement     = 1,
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                SpatialAudioNotSupported = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum CodecCategory
            {
                Encoder = 0,
                Decoder = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum CodecKind
            {
                Audio = 0,
                Video = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum FaceDetectionMode
            {
                HighPerformance = 0,
                Balanced        = 1,
                HighQuality     = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum MediaDecoderStatus
            {
                FullySupported               = 0,
                UnsupportedSubtype           = 1,
                UnsupportedEncoderProperties = 2,
                Degraded                     = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum MediaSourceState
            {
                Initial = 0,
                Opening = 1,
                Opened  = 2,
                Failed  = 3,
                Closed  = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum MediaSourceStatus
            {
                FullySupported = 0,
                Unknown        = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MediaStreamSourceClosedReason
            {
                Done                               = 0,
                UnknownError                       = 1,
                AppReportedError                   = 2,
                UnsupportedProtectionSystem        = 3,
                ProtectionSystemFailure            = 4,
                UnsupportedEncodingFormat          = 5,
                MissingSampleRequestedEventHandler = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MediaStreamSourceErrorStatus
            {
                Other                   = 0,
                OutOfMemory             = 1,
                FailedToOpenFile        = 2,
                FailedToConnectToServer = 3,
                ConnectionToServerLost  = 4,
                UnspecifiedNetworkError = 5,
                DecodeError             = 6,
                UnsupportedMediaFormat  = 7
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MediaTrackKind
            {
                Audio         = 0,
                Video         = 1,
                TimedMetadata = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MseAppendMode
            {
                Segments = 0,
                Sequence = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MseEndOfStreamStatus
            {
                Success      = 0,
                NetworkError = 1,
                DecodeError  = 2,
                UnknownError = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MseReadyState
            {
                Closed = 0,
                Open   = 1,
                Ended  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            enum SceneAnalysisRecommendation
            {
                Standard = 0,
                Hdr      = 1,
                LowLight = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TimedMetadataKind
            {
                Caption       = 0,
                Chapter       = 1,
                Custom        = 2,
                Data          = 3,
                Description   = 4,
                Subtitle      = 5,
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                ImageSubtitle = 6,
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                Speech        = 7
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TimedMetadataTrackErrorCode
            {
                None            = 0,
                DataFormatError = 1,
                NetworkError    = 2,
                InternalError   = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            enum TimedTextBoutenPosition
            {
                Before  = 0,
                After   = 1,
                Outside = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            enum TimedTextBoutenType
            {
                None         = 0,
                Auto         = 1,
                FilledCircle = 2,
                OpenCircle   = 3,
                FilledDot    = 4,
                OpenDot      = 5,
                FilledSesame = 6,
                OpenSesame   = 7
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TimedTextDisplayAlignment
            {
                Before = 0,
                After  = 1,
                Center = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TimedTextFlowDirection
            {
                LeftToRight = 0,
                RightToLeft = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum TimedTextFontStyle
            {
                Normal  = 0,
                Oblique = 1,
                Italic  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TimedTextLineAlignment
            {
                Start  = 0,
                End    = 1,
                Center = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            enum TimedTextRubyAlign
            {
                Center       = 0,
                Start        = 1,
                End          = 2,
                SpaceAround  = 3,
                SpaceBetween = 4,
                WithBase     = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            enum TimedTextRubyPosition
            {
                Before  = 0,
                After   = 1,
                Outside = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            enum TimedTextRubyReserve
            {
                None    = 0,
                Before  = 1,
                After   = 2,
                Both    = 3,
                Outside = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TimedTextScrollMode
            {
                Popon  = 0,
                Rollup = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TimedTextUnit
            {
                Pixels     = 0,
                Percentage = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TimedTextWeight
            {
                Normal = 400,
                Bold   = 700
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TimedTextWrapping
            {
                NoWrap = 0,
                Wrap   = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TimedTextWritingMode
            {
                LeftRightTopBottom = 0,
                RightLeftTopBottom = 1,
                TopBottomRightLeft = 2,
                TopBottomLeftRight = 3,
                LeftRight          = 4,
                RightLeft          = 5,
                TopBottom          = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum VideoStabilizationEffectEnabledChangedReason
            {
                Programmatic     = 0,
                PixelRateTooHigh = 1,
                RunningSlowly    = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct MseTimeRange
            {
                Windows.Foundation.TimeSpan Start;
                Windows.Foundation.TimeSpan End;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct TimedTextDouble
            {
                DOUBLE Value;
                Windows.Media.Core.TimedTextUnit Unit;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct TimedTextPadding
            {
                DOUBLE Before;
                DOUBLE After;
                DOUBLE Start;
                DOUBLE End;
                Windows.Media.Core.TimedTextUnit Unit;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct TimedTextPoint
            {
                DOUBLE X;
                DOUBLE Y;
                Windows.Media.Core.TimedTextUnit Unit;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct TimedTextSize
            {
                DOUBLE Height;
                DOUBLE Width;
                Windows.Media.Core.TimedTextUnit Unit;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.AudioStreamDescriptor)]
            [uuid(1E3692E4-4027-4847-A70B-DF1D9A2A7B04)]
            interface IAudioStreamDescriptor : IInspectable
                requires
                    Windows.Media.Core.IMediaStreamDescriptor
            {
                [propget] HRESULT EncodingProperties([out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** encodingProperties);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Core.AudioStreamDescriptor)]
            [uuid(2E68F1F6-A448-497B-8840-85082665ACF9)]
            interface IAudioStreamDescriptor2 : IInspectable
                requires
                    Windows.Media.Core.IMediaStreamDescriptor
            {
                [propput] HRESULT LeadingEncoderPadding([in] Windows.Foundation.IReference<UINT32>* value);
                [propget] HRESULT LeadingEncoderPadding([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propput] HRESULT TrailingEncoderPadding([in] Windows.Foundation.IReference<UINT32>* value);
                [propget] HRESULT TrailingEncoderPadding([out] [retval] Windows.Foundation.IReference<UINT32>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Core.AudioStreamDescriptor)]
            [uuid(4D220DA1-8E83-44EF-8973-2F63E993F36B)]
            interface IAudioStreamDescriptor3 : IInspectable
            {
                HRESULT Copy([out] [retval] Windows.Media.Core.AudioStreamDescriptor** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.AudioStreamDescriptor)]
            [uuid(4A86CE9E-4CB1-4380-8E0C-83504B7F5BF3)]
            interface IAudioStreamDescriptorFactory : IInspectable
            {
                HRESULT Create([in] Windows.Media.MediaProperties.AudioEncodingProperties* encodingProperties, [out] [retval] Windows.Media.Core.AudioStreamDescriptor** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Core.AudioTrack)]
            [uuid(F23B6E77-3EF7-40DE-B943-068B1321701D)]
            interface IAudioTrack : IInspectable
            {
                [eventadd] HRESULT OpenFailed([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.AudioTrack*, Windows.Media.Core.AudioTrackOpenFailedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT OpenFailed([in] EventRegistrationToken token);
                HRESULT GetEncodingProperties([out] [retval] Windows.Media.MediaProperties.AudioEncodingProperties** value);
                [propget] HRESULT PlaybackItem([out] [retval] Windows.Media.Playback.MediaPlaybackItem** value);
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propget] HRESULT SupportInfo([out] [retval] Windows.Media.Core.AudioTrackSupportInfo** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Core.AudioTrackOpenFailedEventArgs)]
            [uuid(EEDDB9B9-BB7C-4112-BF76-9384676F824B)]
            interface IAudioTrackOpenFailedEventArgs : IInspectable
            {
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Core.AudioTrackSupportInfo)]
            [uuid(178BEFF7-CC39-44A6-B951-4A5653F073FA)]
            interface IAudioTrackSupportInfo : IInspectable
            {
                [propget] HRESULT DecoderStatus([out] [retval] Windows.Media.Core.MediaDecoderStatus* value);
                [propget] HRESULT Degradation([out] [retval] Windows.Media.Core.AudioDecoderDegradation* value);
                [propget] HRESULT DegradationReason([out] [retval] Windows.Media.Core.AudioDecoderDegradationReason* value);
                [propget] HRESULT MediaSourceStatus([out] [retval] Windows.Media.Core.MediaSourceStatus* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.ChapterCue)]
            [uuid(72A98001-D38A-4C0A-8FA6-75CDDAF4664C)]
            interface IChapterCue : IInspectable
                requires
                    Windows.Media.Core.IMediaCue
            {
                [propput] HRESULT Title([in] HSTRING value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.CodecInfo)]
            [uuid(51E89F85-EA97-499C-86AC-4CE5E73F3A42)]
            interface ICodecInfo : IInspectable
            {
                [propget] HRESULT Kind([out] [retval] Windows.Media.Core.CodecKind* value);
                [propget] HRESULT Category([out] [retval] Windows.Media.Core.CodecCategory* value);
                [propget] HRESULT Subtypes([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT IsTrusted([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.CodecQuery)]
            [uuid(222A953A-AF61-4E04-808A-A4634E2F3AC4)]
            interface ICodecQuery : IInspectable
            {
                HRESULT FindAllAsync([in] Windows.Media.Core.CodecKind kind, [in] Windows.Media.Core.CodecCategory category, [in] HSTRING subType, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Media.Core.CodecInfo*>*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.CodecSubtypes)]
            [uuid(A66AC4F2-888B-4224-8CF6-2A8D4EB02382)]
            interface ICodecSubtypesStatics : IInspectable
            {
                [propget] HRESULT VideoFormatDV25([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatDV50([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatDvc([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatDvh1([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatDvhD([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatDvsd([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatDvsl([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatH263([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatH264([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatH265([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatH264ES([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatHevc([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatHevcES([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatM4S2([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatMjpg([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatMP43([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatMP4S([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatMP4V([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatMpeg2([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatVP80([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatVP90([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatMpg1([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatMss1([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatMss2([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatWmv1([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatWmv2([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatWmv3([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormatWvc1([out] [retval] HSTRING* value);
                [propget] HRESULT VideoFormat420O([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatAac([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatAdts([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatAlac([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatAmrNB([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatAmrWB([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatAmrWP([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatDolbyAC3([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatDolbyAC3Spdif([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatDolbyDDPlus([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatDrm([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatDts([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatFlac([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatFloat([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatMP3([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatMPeg([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatMsp1([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatOpus([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatPcm([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatWmaSpdif([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatWMAudioLossless([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatWMAudioV8([out] [retval] HSTRING* value);
                [propget] HRESULT AudioFormatWMAudioV9([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Media.Core.CodecSubtypes)]
            [uuid(363B0930-DE26-582E-8014-F546D0753887)]
            interface ICodecSubtypesStatics2 : IInspectable
            {
                [propget] HRESULT VideoFormatAv1([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.DataCue)]
            [uuid(7C7F676D-1FBC-4E2D-9A87-EE38BD1DC637)]
            interface IDataCue : IInspectable
                requires
                    Windows.Media.Core.IMediaCue
            {
                [propput] HRESULT Data([in] Windows.Storage.Streams.IBuffer* value);
                [propget] HRESULT Data([out] [retval] Windows.Storage.Streams.IBuffer** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.DataCue)]
            [uuid(BC561B15-95F2-49E8-96F1-8DD5DAC68D93)]
            interface IDataCue2 : IInspectable
                requires
                    Windows.Media.Core.IDataCue,
                    Windows.Media.Core.IMediaCue
            {
                [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.PropertySet** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.FaceDetectedEventArgs)]
            [uuid(19918426-C65B-46BA-85F8-13880576C90A)]
            interface IFaceDetectedEventArgs : IInspectable
            {
                [propget] HRESULT ResultFrame([out] [retval] Windows.Media.Core.FaceDetectionEffectFrame** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.FaceDetectionEffect)]
            [uuid(AE15EBD2-0542-42A9-BC90-F283A29F46C1)]
            interface IFaceDetectionEffect : IInspectable
                requires
                    Windows.Media.IMediaExtension
            {
                [propput] HRESULT Enabled([in] boolean value);
                [propget] HRESULT Enabled([out] [retval] boolean* value);
                [propput] HRESULT DesiredDetectionInterval([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT DesiredDetectionInterval([out] [retval] Windows.Foundation.TimeSpan* value);
                [eventadd] HRESULT FaceDetected([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.FaceDetectionEffect*, Windows.Media.Core.FaceDetectedEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT FaceDetected([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.FaceDetectionEffectDefinition)]
            [uuid(43DCA081-B848-4F33-B702-1FD2624FB016)]
            interface IFaceDetectionEffectDefinition : IInspectable
                requires
                    Windows.Media.Effects.IVideoEffectDefinition
            {
                [propput] HRESULT DetectionMode([in] Windows.Media.Core.FaceDetectionMode value);
                [propget] HRESULT DetectionMode([out] [retval] Windows.Media.Core.FaceDetectionMode* value);
                [propput] HRESULT SynchronousDetectionEnabled([in] boolean value);
                [propget] HRESULT SynchronousDetectionEnabled([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.FaceDetectionEffectFrame)]
            [uuid(8AB08993-5DC8-447B-A247-5270BD802ECE)]
            interface IFaceDetectionEffectFrame : IInspectable
                requires
                    Windows.Media.IMediaFrame,
                    Windows.Foundation.IClosable
            {
                [propget] HRESULT DetectedFaces([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.FaceAnalysis.DetectedFace*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.HighDynamicRangeControl)]
            [uuid(55F1A7AE-D957-4DC9-9D1C-8553A82A7D99)]
            interface IHighDynamicRangeControl : IInspectable
            {
                [propput] HRESULT Enabled([in] boolean value);
                [propget] HRESULT Enabled([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.HighDynamicRangeOutput)]
            [uuid(0F57806B-253B-4119-BB40-3A90E51384F7)]
            interface IHighDynamicRangeOutput : IInspectable
            {
                [propget] HRESULT Certainty([out] [retval] DOUBLE* value);
                [propget] HRESULT FrameControllers([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Devices.Core.FrameController*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.ImageCue)]
            [uuid(52828282-367B-440B-9116-3C84570DD270)]
            interface IImageCue : IInspectable
                requires
                    Windows.Media.Core.IMediaCue
            {
                [propget] HRESULT Position([out] [retval] Windows.Media.Core.TimedTextPoint* value);
                [propput] HRESULT Position([in] Windows.Media.Core.TimedTextPoint value);
                [propget] HRESULT Extent([out] [retval] Windows.Media.Core.TimedTextSize* value);
                [propput] HRESULT Extent([in] Windows.Media.Core.TimedTextSize value);
                [propput] HRESULT SoftwareBitmap([in] Windows.Graphics.Imaging.SoftwareBitmap* value);
                [propget] HRESULT SoftwareBitmap([out] [retval] Windows.Graphics.Imaging.SoftwareBitmap** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.Core.InitializeMediaStreamSourceRequestedEventArgs)]
            [uuid(25BC45E1-9B08-4C2E-A855-4542F1A75DEB)]
            interface IInitializeMediaStreamSourceRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Source([out] [retval] Windows.Media.Core.MediaStreamSource** value);
                [propget] HRESULT RandomAccessStream([out] [retval] Windows.Storage.Streams.IRandomAccessStream** value);
                HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.Core.LowLightFusionResult)]
            [uuid(78EDBE35-27A0-42E0-9CD3-738D2089DE9C)]
            interface ILowLightFusionResult : IInspectable
            {
                [propget] HRESULT Frame([out] [retval] Windows.Graphics.Imaging.SoftwareBitmap** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.Core.LowLightFusion)]
            [uuid(5305016D-C29E-40E2-87A9-9E1FD2F192F5)]
            interface ILowLightFusionStatics : IInspectable
            {
                [propget] HRESULT SupportedBitmapPixelFormats([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Graphics.Imaging.BitmapPixelFormat>** value);
                [propget] HRESULT MaxSupportedFrameCount([out] [retval] INT32* value);
                HRESULT FuseAsync([in] Windows.Foundation.Collections.IIterable<Windows.Graphics.Imaging.SoftwareBitmap*>* frameSet, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Media.Core.LowLightFusionResult*, DOUBLE>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.Media.Core.MediaBinder)]
            [uuid(2B7E40AA-DE07-424F-83F1-F1DE46C4FA2E)]
            interface IMediaBinder : IInspectable
            {
                [eventadd] HRESULT Binding([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaBinder*, Windows.Media.Core.MediaBindingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Binding([in] EventRegistrationToken token);
                [propget] HRESULT Token([out] [retval] HSTRING* value);
                [propput] HRESULT Token([in] HSTRING value);
                [propget] HRESULT Source([out] [retval] Windows.Media.Core.MediaSource** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.Media.Core.MediaBindingEventArgs)]
            [uuid(B61CB25A-1B6D-4630-A86D-2F0837F712E5)]
            interface IMediaBindingEventArgs : IInspectable
            {
                [eventadd] HRESULT Canceled([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaBindingEventArgs*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Canceled([in] EventRegistrationToken token);
                [propget] HRESULT MediaBinder([out] [retval] Windows.Media.Core.MediaBinder** value);
                HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** deferral);
                HRESULT SetUri([in] Windows.Foundation.Uri* uri);
                HRESULT SetStream([in] Windows.Storage.Streams.IRandomAccessStream* stream, [in] HSTRING contentType);
                HRESULT SetStreamReference([in] Windows.Storage.Streams.IRandomAccessStreamReference* stream, [in] HSTRING contentType);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.MediaBindingEventArgs)]
            [uuid(0464CCEB-BB5A-482F-B8BA-F0284C696567)]
            interface IMediaBindingEventArgs2 : IInspectable
            {
                HRESULT SetAdaptiveMediaSource([in] Windows.Media.Streaming.Adaptive.AdaptiveMediaSource* mediaSource);
                HRESULT SetStorageFile([in] Windows.Storage.IStorageFile* file);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Core.MediaBindingEventArgs)]
            [uuid(F8EB475E-19BE-44FC-A5ED-7ABA315037F9)]
            interface IMediaBindingEventArgs3 : IInspectable
            {
                HRESULT SetDownloadOperation([in] Windows.Networking.BackgroundTransfer.DownloadOperation* downloadOperation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(C7D15E5D-59DC-431F-A0EE-27744323B36D)]
            interface IMediaCue : IInspectable
            {
                [propput] HRESULT StartTime([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT StartTime([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT Duration([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT Id([in] HSTRING value);
                [propget] HRESULT Id([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaCueEventArgs)]
            [uuid(D12F47F7-5FA4-4E68-9FE5-32160DCEE57E)]
            interface IMediaCueEventArgs : IInspectable
            {
                [propget] HRESULT Cue([out] [retval] Windows.Media.Core.IMediaCue** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(E7BFB599-A09D-4C21-BCDF-20AF4F86B3D9)]
            interface IMediaSource : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaSource)]
            [uuid(2EB61048-655F-4C37-B813-B4E45DFA0ABE)]
            interface IMediaSource2 : IInspectable
                requires
                    Windows.Media.Playback.IMediaPlaybackSource,
                    Windows.Foundation.IClosable
            {
                [eventadd] HRESULT OpenOperationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaSource*, Windows.Media.Core.MediaSourceOpenOperationCompletedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT OpenOperationCompleted([in] EventRegistrationToken token);
                [propget] HRESULT CustomProperties([out] [retval] Windows.Foundation.Collections.ValueSet** value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>** value);
                [propget] HRESULT IsOpen([out] [retval] boolean* value);
                [propget] HRESULT ExternalTimedTextSources([out] [retval] Windows.Foundation.Collections.IObservableVector<Windows.Media.Core.TimedTextSource*>** value);
                [propget] HRESULT ExternalTimedMetadataTracks([out] [retval] Windows.Foundation.Collections.IObservableVector<Windows.Media.Core.TimedMetadataTrack*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.Media.Core.MediaSource)]
            [uuid(B59F0D9B-4B6E-41ED-BBB4-7C7509A994AD)]
            interface IMediaSource3 : IInspectable
                requires
                    Windows.Media.Core.IMediaSource2,
                    Windows.Media.Playback.IMediaPlaybackSource,
                    Windows.Foundation.IClosable
            {
                [eventadd] HRESULT StateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaSource*, Windows.Media.Core.MediaSourceStateChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StateChanged([in] EventRegistrationToken token);
                [propget] HRESULT State([out] [retval] Windows.Media.Core.MediaSourceState* value);
                HRESULT Reset();
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.MediaSource)]
            [uuid(BDAFAD57-8EFF-4C63-85A6-84DE0AE3E4F2)]
            interface IMediaSource4 : IInspectable
                requires
                    Windows.Media.Core.IMediaSource3,
                    Windows.Media.Core.IMediaSource2,
                    Windows.Media.Playback.IMediaPlaybackSource,
                    Windows.Foundation.IClosable
            {
                [propget] HRESULT AdaptiveMediaSource([out] [retval] Windows.Media.Streaming.Adaptive.AdaptiveMediaSource** value);
                [propget] HRESULT MediaStreamSource([out] [retval] Windows.Media.Core.MediaStreamSource** value);
                [propget] HRESULT MseStreamSource([out] [retval] Windows.Media.Core.MseStreamSource** value);
                [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
                HRESULT OpenAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Core.MediaSource)]
            [uuid(331A22AE-ED2E-4A22-94C8-B743A92B3022)]
            interface IMediaSource5 : IInspectable
            {
                [propget] HRESULT DownloadOperation([out] [retval] Windows.Networking.BackgroundTransfer.DownloadOperation** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.Core.MediaSourceAppServiceConnection)]
            [uuid(61E1EA97-1916-4810-B7F4-B642BE829596)]
            interface IMediaSourceAppServiceConnection : IInspectable
            {
                [eventadd] HRESULT InitializeMediaStreamSourceRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaSourceAppServiceConnection*, Windows.Media.Core.InitializeMediaStreamSourceRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT InitializeMediaStreamSourceRequested([in] EventRegistrationToken token);
                HRESULT Start();
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.Core.MediaSourceAppServiceConnection)]
            [uuid(65B912EB-80B9-44F9-9C1E-E120F6D92838)]
            interface IMediaSourceAppServiceConnectionFactory : IInspectable
            {
                HRESULT Create([in] Windows.ApplicationModel.AppService.AppServiceConnection* appServiceConnection, [out] [retval] Windows.Media.Core.MediaSourceAppServiceConnection** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaSourceError)]
            [uuid(5C0A8965-37C5-4E9D-8D21-1CDEE90CECC6)]
            interface IMediaSourceError : IInspectable
            {
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaSourceOpenOperationCompletedEventArgs)]
            [uuid(FC682CEB-E281-477C-A8E0-1ACD654114C8)]
            interface IMediaSourceOpenOperationCompletedEventArgs : IInspectable
            {
                [propget] HRESULT Error([out] [retval] Windows.Media.Core.MediaSourceError** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.Media.Core.MediaSourceStateChangedEventArgs)]
            [uuid(0A30AF82-9071-4BAC-BC39-CA2A93B717A9)]
            interface IMediaSourceStateChangedEventArgs : IInspectable
            {
                [propget] HRESULT OldState([out] [retval] Windows.Media.Core.MediaSourceState* value);
                [propget] HRESULT NewState([out] [retval] Windows.Media.Core.MediaSourceState* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaSource)]
            [uuid(F77D6FA4-4652-410E-B1D8-E9A5E245A45C)]
            interface IMediaSourceStatics : IInspectable
            {
                HRESULT CreateFromAdaptiveMediaSource([in] Windows.Media.Streaming.Adaptive.AdaptiveMediaSource* mediaSource, [out] [retval] Windows.Media.Core.MediaSource** result);
                HRESULT CreateFromMediaStreamSource([in] Windows.Media.Core.MediaStreamSource* mediaSource, [out] [retval] Windows.Media.Core.MediaSource** result);
                HRESULT CreateFromMseStreamSource([in] Windows.Media.Core.MseStreamSource* mediaSource, [out] [retval] Windows.Media.Core.MediaSource** result);
                HRESULT CreateFromIMediaSource([in] Windows.Media.Core.IMediaSource* mediaSource, [out] [retval] Windows.Media.Core.MediaSource** result);
                HRESULT CreateFromStorageFile([in] Windows.Storage.IStorageFile* file, [out] [retval] Windows.Media.Core.MediaSource** result);
                HRESULT CreateFromStream([in] Windows.Storage.Streams.IRandomAccessStream* stream, [in] HSTRING contentType, [out] [retval] Windows.Media.Core.MediaSource** result);
                HRESULT CreateFromStreamReference([in] Windows.Storage.Streams.IRandomAccessStreamReference* stream, [in] HSTRING contentType, [out] [retval] Windows.Media.Core.MediaSource** result);
                HRESULT CreateFromUri([in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Media.Core.MediaSource** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.Media.Core.MediaSource)]
            [uuid(EEE161A4-7F13-4896-B8CB-DF0DE5BCB9F1)]
            interface IMediaSourceStatics2 : IInspectable
            {
                HRESULT CreateFromMediaBinder([in] Windows.Media.Core.MediaBinder* binder, [out] [retval] Windows.Media.Core.MediaSource** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.Core.MediaSource)]
            [uuid(453A30D6-2BEA-4122-9F73-EACE04526E35)]
            interface IMediaSourceStatics3 : IInspectable
            {
                HRESULT CreateFromMediaFrameSource([in] Windows.Media.Capture.Frames.MediaFrameSource* frameSource, [out] [retval] Windows.Media.Core.MediaSource** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Core.MediaSource)]
            [uuid(281B3BFC-E50A-4428-A500-9C4ED918D3F0)]
            interface IMediaSourceStatics4 : IInspectable
            {
                HRESULT CreateFromDownloadOperation([in] Windows.Networking.BackgroundTransfer.DownloadOperation* downloadOperation, [out] [retval] Windows.Media.Core.MediaSource** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(80F16E6E-92F7-451E-97D2-AFD80742DA70)]
            interface IMediaStreamDescriptor : IInspectable
            {
                [propget] HRESULT IsSelected([out] [retval] boolean* selected);
                [propput] HRESULT Name([in] HSTRING value);
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propput] HRESULT Language([in] HSTRING value);
                [propget] HRESULT Language([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [uuid(5073010F-E8B2-4071-B00B-EBF337A76B58)]
            interface IMediaStreamDescriptor2 : IInspectable
                requires
                    Windows.Media.Core.IMediaStreamDescriptor
            {
                [propput] HRESULT Label([in] HSTRING value);
                [propget] HRESULT Label([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSample)]
            [uuid(5C8DB627-4B80-4361-9837-6CB7481AD9D6)]
            interface IMediaStreamSample : IInspectable
            {
                [eventadd] HRESULT Processed([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSample*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Processed([in] EventRegistrationToken token);
                [propget] HRESULT Buffer([out] [retval] Windows.Storage.Streams.Buffer** value);
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.TimeSpan* value);
                [propget] HRESULT ExtendedProperties([out] [retval] Windows.Media.Core.MediaStreamSamplePropertySet** value);
                [propget] HRESULT Protection([out] [retval] Windows.Media.Core.MediaStreamSampleProtectionProperties** value);
                [propput] HRESULT DecodeTimestamp([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT DecodeTimestamp([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT Duration([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT KeyFrame([in] boolean value);
                [propget] HRESULT KeyFrame([out] [retval] boolean* value);
                [propput] HRESULT Discontinuous([in] boolean value);
                [propget] HRESULT Discontinuous([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSample)]
            [uuid(45078691-FCE8-4746-A1C8-10C25D3D7CD3)]
            interface IMediaStreamSample2 : IInspectable
            {
                [propget] HRESULT Direct3D11Surface([out] [retval] Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSampleProtectionProperties)]
            [uuid(4EB88292-ECDF-493E-841D-DD4ADD7CACA2)]
            interface IMediaStreamSampleProtectionProperties : IInspectable
            {
                HRESULT SetKeyIdentifier([in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value);
                HRESULT GetKeyIdentifier([out] UINT32* __valueSize, [out] [size_is(, *__valueSize)] BYTE** value);
                HRESULT SetInitializationVector([in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value);
                HRESULT GetInitializationVector([out] UINT32* __valueSize, [out] [size_is(, *__valueSize)] BYTE** value);
                HRESULT SetSubSampleMapping([in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value);
                HRESULT GetSubSampleMapping([out] UINT32* __valueSize, [out] [size_is(, *__valueSize)] BYTE** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSample)]
            [uuid(DFDF218F-A6CF-4579-BE41-73DD941AD972)]
            interface IMediaStreamSampleStatics : IInspectable
            {
                HRESULT CreateFromBuffer([in] Windows.Storage.Streams.IBuffer* buffer, [in] Windows.Foundation.TimeSpan timestamp, [out] [retval] Windows.Media.Core.MediaStreamSample** value);
                HRESULT CreateFromStreamAsync([in] Windows.Storage.Streams.IInputStream* stream, [in] UINT32 count, [in] Windows.Foundation.TimeSpan timestamp, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Core.MediaStreamSample*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSample)]
            [uuid(9EFE9521-6D46-494C-A2F8-D662922E2DD7)]
            interface IMediaStreamSampleStatics2 : IInspectable
            {
                HRESULT CreateFromDirect3D11Surface([in] Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface* surface, [in] Windows.Foundation.TimeSpan timestamp, [out] [retval] Windows.Media.Core.MediaStreamSample** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSource)]
            [uuid(3712D543-45EB-4138-AA62-C01E26F3843F)]
            interface IMediaStreamSource : IInspectable
                requires
                    Windows.Media.Core.IMediaSource
            {
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, Windows.Media.Core.MediaStreamSourceClosedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Closed([in] EventRegistrationToken token);
                [eventadd] HRESULT Starting([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, Windows.Media.Core.MediaStreamSourceStartingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Starting([in] EventRegistrationToken token);
                [eventadd] HRESULT Paused([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Paused([in] EventRegistrationToken token);
                [eventadd] HRESULT SampleRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, Windows.Media.Core.MediaStreamSourceSampleRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT SampleRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT SwitchStreamsRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, Windows.Media.Core.MediaStreamSourceSwitchStreamsRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT SwitchStreamsRequested([in] EventRegistrationToken token);
                HRESULT NotifyError([in] Windows.Media.Core.MediaStreamSourceErrorStatus errorStatus);
                HRESULT AddStreamDescriptor([in] Windows.Media.Core.IMediaStreamDescriptor* descriptor);
                [propput] HRESULT MediaProtectionManager([in] Windows.Media.Protection.MediaProtectionManager* value);
                [propget] HRESULT MediaProtectionManager([out] [retval] Windows.Media.Protection.MediaProtectionManager** value);
                [propput] HRESULT Duration([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT CanSeek([in] boolean value);
                [propget] HRESULT CanSeek([out] [retval] boolean* value);
                [propput] HRESULT BufferTime([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT BufferTime([out] [retval] Windows.Foundation.TimeSpan* value);
                HRESULT SetBufferedRange([in] Windows.Foundation.TimeSpan startOffset, [in] Windows.Foundation.TimeSpan endOffset);
                [propget] HRESULT MusicProperties([out] [retval] Windows.Storage.FileProperties.MusicProperties** value);
                [propget] HRESULT VideoProperties([out] [retval] Windows.Storage.FileProperties.VideoProperties** value);
                [propput] HRESULT Thumbnail([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                [propget] HRESULT Thumbnail([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                HRESULT AddProtectionKey([in] Windows.Media.Core.IMediaStreamDescriptor* streamDescriptor, [in] UINT32 __keyIdentifierSize, [in] [size_is(__keyIdentifierSize)] BYTE* keyIdentifier, [in] UINT32 __licenseDataSize, [in] [size_is(__licenseDataSize)] BYTE* licenseData);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSource)]
            [uuid(EC55D0AD-2E6A-4F74-ADBB-B562D1533849)]
            interface IMediaStreamSource2 : IInspectable
                requires
                    Windows.Media.Core.IMediaStreamSource,
                    Windows.Media.Core.IMediaSource
            {
                [eventadd] HRESULT SampleRendered([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MediaStreamSource*, Windows.Media.Core.MediaStreamSourceSampleRenderedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT SampleRendered([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSource)]
            [uuid(6A2A2746-3DDD-4DDF-A121-94045ECF9440)]
            interface IMediaStreamSource3 : IInspectable
                requires
                    Windows.Media.Core.IMediaStreamSource,
                    Windows.Media.Core.IMediaSource
            {
                [propput] HRESULT MaxSupportedPlaybackRate([in] Windows.Foundation.IReference<DOUBLE>* value);
                [propget] HRESULT MaxSupportedPlaybackRate([out] [retval] Windows.Foundation.IReference<DOUBLE>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSource)]
            [uuid(1D0CFCAB-830D-417C-A3A9-2454FD6415C7)]
            interface IMediaStreamSource4 : IInspectable
                requires
                    Windows.Media.Core.IMediaStreamSource,
                    Windows.Media.Core.IMediaSource
            {
                [propput] HRESULT IsLive([in] boolean value);
                [propget] HRESULT IsLive([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceClosedEventArgs)]
            [uuid(CD8C7EB2-4816-4E24-88F0-491EF7386406)]
            interface IMediaStreamSourceClosedEventArgs : IInspectable
            {
                [propget] HRESULT Request([out] [retval] Windows.Media.Core.MediaStreamSourceClosedRequest** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceClosedRequest)]
            [uuid(907C00E9-18A3-4951-887A-2C1EEBD5C69E)]
            interface IMediaStreamSourceClosedRequest : IInspectable
            {
                [propget] HRESULT Reason([out] [retval] Windows.Media.Core.MediaStreamSourceClosedReason* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSource)]
            [uuid(EF77E0D9-D158-4B7A-863F-203342FBFD41)]
            interface IMediaStreamSourceFactory : IInspectable
            {
                HRESULT CreateFromDescriptor([in] Windows.Media.Core.IMediaStreamDescriptor* descriptor, [out] [retval] Windows.Media.Core.MediaStreamSource** result);
                HRESULT CreateFromDescriptors([in] Windows.Media.Core.IMediaStreamDescriptor* descriptor, [in] Windows.Media.Core.IMediaStreamDescriptor* descriptor2, [out] [retval] Windows.Media.Core.MediaStreamSource** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceSampleRenderedEventArgs)]
            [uuid(9D697B05-D4F2-4C7A-9DFE-8D6CD0B3EE84)]
            interface IMediaStreamSourceSampleRenderedEventArgs : IInspectable
            {
                [propget] HRESULT SampleLag([out] [retval] Windows.Foundation.TimeSpan* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceSampleRequest)]
            [uuid(4DB341A9-3501-4D9B-83F9-8F235C822532)]
            interface IMediaStreamSourceSampleRequest : IInspectable
            {
                [propget] HRESULT StreamDescriptor([out] [retval] Windows.Media.Core.IMediaStreamDescriptor** value);
                HRESULT GetDeferral([out] [retval] Windows.Media.Core.MediaStreamSourceSampleRequestDeferral** deferral);
                [propput] HRESULT Sample([in] Windows.Media.Core.MediaStreamSample* value);
                [propget] HRESULT Sample([out] [retval] Windows.Media.Core.MediaStreamSample** value);
                HRESULT ReportSampleProgress([in] UINT32 progress);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceSampleRequestDeferral)]
            [uuid(7895CC02-F982-43C8-9D16-C62D999319BE)]
            interface IMediaStreamSourceSampleRequestDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceSampleRequestedEventArgs)]
            [uuid(10F9BB9E-71C5-492F-847F-0DA1F35E81F8)]
            interface IMediaStreamSourceSampleRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Request([out] [retval] Windows.Media.Core.MediaStreamSourceSampleRequest** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceStartingEventArgs)]
            [uuid(F41468F2-C274-4940-A5BB-28A572452FA7)]
            interface IMediaStreamSourceStartingEventArgs : IInspectable
            {
                [propget] HRESULT Request([out] [retval] Windows.Media.Core.MediaStreamSourceStartingRequest** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceStartingRequest)]
            [uuid(2A9093E4-35C4-4B1B-A791-0D99DB56DD1D)]
            interface IMediaStreamSourceStartingRequest : IInspectable
            {
                [propget] HRESULT StartPosition([out] [retval] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>** value);
                HRESULT GetDeferral([out] [retval] Windows.Media.Core.MediaStreamSourceStartingRequestDeferral** deferral);
                HRESULT SetActualStartPosition([in] Windows.Foundation.TimeSpan position);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceStartingRequestDeferral)]
            [uuid(3F1356A5-6340-4DC4-9910-068ED9F598F8)]
            interface IMediaStreamSourceStartingRequestDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceSwitchStreamsRequest)]
            [uuid(41B8808E-38A9-4EC3-9BA0-B69B85501E90)]
            interface IMediaStreamSourceSwitchStreamsRequest : IInspectable
            {
                [propget] HRESULT OldStreamDescriptor([out] [retval] Windows.Media.Core.IMediaStreamDescriptor** value);
                [propget] HRESULT NewStreamDescriptor([out] [retval] Windows.Media.Core.IMediaStreamDescriptor** value);
                HRESULT GetDeferral([out] [retval] Windows.Media.Core.MediaStreamSourceSwitchStreamsRequestDeferral** deferral);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceSwitchStreamsRequestDeferral)]
            [uuid(BEE3D835-A505-4F9A-B943-2B8CB1B4BBD9)]
            interface IMediaStreamSourceSwitchStreamsRequestDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MediaStreamSourceSwitchStreamsRequestedEventArgs)]
            [uuid(42202B72-6EA1-4677-981E-350A0DA412AA)]
            interface IMediaStreamSourceSwitchStreamsRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Request([out] [retval] Windows.Media.Core.MediaStreamSourceSwitchStreamsRequest** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(03E1FAFC-C931-491A-B46B-C10EE8C256B7)]
            interface IMediaTrack : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propget] HRESULT Language([out] [retval] HSTRING* value);
                [propget] HRESULT TrackKind([out] [retval] Windows.Media.Core.MediaTrackKind* value);
                [propput] HRESULT Label([in] HSTRING value);
                [propget] HRESULT Label([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MseSourceBuffer)]
            [uuid(0C1AA3E3-DF8D-4079-A3FE-6849184B4E2F)]
            interface IMseSourceBuffer : IInspectable
            {
                [eventadd] HRESULT UpdateStarting([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseSourceBuffer*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT UpdateStarting([in] EventRegistrationToken token);
                [eventadd] HRESULT Updated([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseSourceBuffer*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Updated([in] EventRegistrationToken token);
                [eventadd] HRESULT UpdateEnded([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseSourceBuffer*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT UpdateEnded([in] EventRegistrationToken token);
                [eventadd] HRESULT ErrorOccurred([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseSourceBuffer*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ErrorOccurred([in] EventRegistrationToken token);
                [eventadd] HRESULT Aborted([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseSourceBuffer*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Aborted([in] EventRegistrationToken token);
                [propget] HRESULT Mode([out] [retval] Windows.Media.Core.MseAppendMode* value);
                [propput] HRESULT Mode([in] Windows.Media.Core.MseAppendMode value);
                [propget] HRESULT IsUpdating([out] [retval] boolean* value);
                [propget] HRESULT Buffered([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Core.MseTimeRange>** value);
                [propget] HRESULT TimestampOffset([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT TimestampOffset([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT AppendWindowStart([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT AppendWindowStart([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT AppendWindowEnd([out] [retval] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>** value);
                [propput] HRESULT AppendWindowEnd([in] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>* value);
                HRESULT AppendBuffer([in] Windows.Storage.Streams.IBuffer* buffer);
                [overload("AppendStream")] HRESULT AppendStream([in] Windows.Storage.Streams.IInputStream* stream);
                [overload("AppendStream")] HRESULT AppendStreamMaxSize([in] Windows.Storage.Streams.IInputStream* stream, [in] UINT64 maxSize);
                HRESULT Abort();
                HRESULT Remove([in] Windows.Foundation.TimeSpan start, [in] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>* end);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MseSourceBufferList)]
            [uuid(95FAE8E7-A8E7-4EBF-8927-145E940BA511)]
            interface IMseSourceBufferList : IInspectable
            {
                [eventadd] HRESULT SourceBufferAdded([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseSourceBufferList*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT SourceBufferAdded([in] EventRegistrationToken token);
                [eventadd] HRESULT SourceBufferRemoved([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseSourceBufferList*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT SourceBufferRemoved([in] EventRegistrationToken token);
                [propget] HRESULT Buffers([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Core.MseSourceBuffer*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MseStreamSource)]
            [uuid(B0B4198D-02F4-4923-88DD-81BC3F360FFA)]
            interface IMseStreamSource : IInspectable
                requires
                    Windows.Media.Core.IMediaSource
            {
                [eventadd] HRESULT Opened([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseStreamSource*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Opened([in] EventRegistrationToken token);
                [eventadd] HRESULT Ended([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseStreamSource*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Ended([in] EventRegistrationToken token);
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.MseStreamSource*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Closed([in] EventRegistrationToken token);
                [propget] HRESULT SourceBuffers([out] [retval] Windows.Media.Core.MseSourceBufferList** value);
                [propget] HRESULT ActiveSourceBuffers([out] [retval] Windows.Media.Core.MseSourceBufferList** value);
                [propget] HRESULT ReadyState([out] [retval] Windows.Media.Core.MseReadyState* value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>** value);
                [propput] HRESULT Duration([in] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>* value);
                HRESULT AddSourceBuffer([in] HSTRING mimeType, [out] [retval] Windows.Media.Core.MseSourceBuffer** buffer);
                HRESULT RemoveSourceBuffer([in] Windows.Media.Core.MseSourceBuffer* buffer);
                HRESULT EndOfStream([in] Windows.Media.Core.MseEndOfStreamStatus status);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.Core.MseStreamSource)]
            [uuid(66F57D37-F9E7-418A-9CDE-A020E956552B)]
            interface IMseStreamSource2 : IInspectable
            {
                [propget] HRESULT LiveSeekableRange([out] [retval] Windows.Foundation.IReference<Windows.Media.Core.MseTimeRange>** value);
                [propput] HRESULT LiveSeekableRange([in] Windows.Foundation.IReference<Windows.Media.Core.MseTimeRange>* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.MseStreamSource)]
            [uuid(465C679D-D570-43CE-BA21-0BFF5F3FBD0A)]
            interface IMseStreamSourceStatics : IInspectable
            {
                HRESULT IsContentTypeSupported([in] HSTRING contentType, [out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.SceneAnalysisEffect)]
            [uuid(C04BA319-CA41-4813-BFFD-7B08B0ED2557)]
            interface ISceneAnalysisEffect : IInspectable
                requires
                    Windows.Media.IMediaExtension
            {
                [propget] HRESULT HighDynamicRangeAnalyzer([out] [retval] Windows.Media.Core.HighDynamicRangeControl** value);
                [propput] HRESULT DesiredAnalysisInterval([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT DesiredAnalysisInterval([out] [retval] Windows.Foundation.TimeSpan* value);
                [eventadd] HRESULT SceneAnalyzed([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.SceneAnalysisEffect*, Windows.Media.Core.SceneAnalyzedEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT SceneAnalyzed([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.SceneAnalysisEffectFrame)]
            [uuid(D8B10E4C-7FD9-42E1-85EB-6572C297C987)]
            interface ISceneAnalysisEffectFrame : IInspectable
                requires
                    Windows.Media.IMediaFrame,
                    Windows.Foundation.IClosable
            {
                [propget] HRESULT FrameControlValues([out] [retval] Windows.Media.Capture.CapturedFrameControlValues** value);
                [propget] HRESULT HighDynamicRange([out] [retval] Windows.Media.Core.HighDynamicRangeOutput** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.Core.SceneAnalysisEffectFrame)]
            [uuid(2D4E29BE-061F-47AE-9915-02524B5F9A5F)]
            interface ISceneAnalysisEffectFrame2 : IInspectable
                requires
                    Windows.Media.IMediaFrame,
                    Windows.Foundation.IClosable
            {
                [propget] HRESULT AnalysisRecommendation([out] [retval] Windows.Media.Core.SceneAnalysisRecommendation* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.SceneAnalyzedEventArgs)]
            [uuid(146B9588-2851-45E4-AD55-44CF8DF8DB4D)]
            interface ISceneAnalyzedEventArgs : IInspectable
            {
                [propget] HRESULT ResultFrame([out] [retval] Windows.Media.Core.SceneAnalysisEffectFrame** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(77206F1F-C34F-494F-8077-2BAD9FF4ECF1)]
            interface ISingleSelectMediaTrackList : IInspectable
            {
                [eventadd] HRESULT SelectedIndexChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.ISingleSelectMediaTrackList*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT SelectedIndexChanged([in] EventRegistrationToken token);
                [propput] HRESULT SelectedIndex([in] INT32 value);
                [propget] HRESULT SelectedIndex([out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.SpeechCue)]
            [uuid(AEE254DC-1725-4BAD-8043-A98499B017A2)]
            interface ISpeechCue : IInspectable
                requires
                    Windows.Media.Core.IMediaCue
            {
                [propget] HRESULT Text([out] [retval] HSTRING* value);
                [propput] HRESULT Text([in] HSTRING value);
                [propget] HRESULT StartPositionInInput([out] [retval] Windows.Foundation.IReference<INT32>** value);
                [propput] HRESULT StartPositionInInput([in] Windows.Foundation.IReference<INT32>* value);
                [propget] HRESULT EndPositionInInput([out] [retval] Windows.Foundation.IReference<INT32>** value);
                [propput] HRESULT EndPositionInInput([in] Windows.Foundation.IReference<INT32>* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Core.TimedMetadataStreamDescriptor)]
            [uuid(133336BF-296A-463E-9FF9-01CD25691408)]
            interface ITimedMetadataStreamDescriptor : IInspectable
            {
                [propget] HRESULT EncodingProperties([out] [retval] Windows.Media.MediaProperties.TimedMetadataEncodingProperties** value);
                HRESULT Copy([out] [retval] Windows.Media.Core.TimedMetadataStreamDescriptor** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Core.TimedMetadataStreamDescriptor)]
            [uuid(C027DE30-7362-4FF9-98B1-2DFD0B8D1CAE)]
            interface ITimedMetadataStreamDescriptorFactory : IInspectable
            {
                HRESULT Create([in] Windows.Media.MediaProperties.TimedMetadataEncodingProperties* encodingProperties, [out] [retval] Windows.Media.Core.TimedMetadataStreamDescriptor** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedMetadataTrack)]
            [uuid(9E6AED9E-F67A-49A9-B330-CF03B0E9CF07)]
            interface ITimedMetadataTrack : IInspectable
                requires
                    Windows.Media.Core.IMediaTrack
            {
                [eventadd] HRESULT CueEntered([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.TimedMetadataTrack*, Windows.Media.Core.MediaCueEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CueEntered([in] EventRegistrationToken token);
                [eventadd] HRESULT CueExited([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.TimedMetadataTrack*, Windows.Media.Core.MediaCueEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CueExited([in] EventRegistrationToken token);
                [eventadd] HRESULT TrackFailed([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.TimedMetadataTrack*, Windows.Media.Core.TimedMetadataTrackFailedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT TrackFailed([in] EventRegistrationToken token);
                [propget] HRESULT Cues([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Core.IMediaCue*>** value);
                [propget] HRESULT ActiveCues([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Core.IMediaCue*>** value);
                [propget] HRESULT TimedMetadataKind([out] [retval] Windows.Media.Core.TimedMetadataKind* value);
                [propget] HRESULT DispatchType([out] [retval] HSTRING* value);
                HRESULT AddCue([in] Windows.Media.Core.IMediaCue* cue);
                HRESULT RemoveCue([in] Windows.Media.Core.IMediaCue* cue);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Core.TimedMetadataTrack)]
            [uuid(21B4B648-9F9D-40BA-A8F3-1A92753AEF0B)]
            interface ITimedMetadataTrack2 : IInspectable
                requires
                    Windows.Media.Core.ITimedMetadataTrack,
                    Windows.Media.Core.IMediaTrack
            {
                [propget] HRESULT PlaybackItem([out] [retval] Windows.Media.Playback.MediaPlaybackItem** value);
                [propget] HRESULT Name([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedMetadataTrackError)]
            [uuid(B3767915-4114-4819-B9D9-DD76089E72F8)]
            interface ITimedMetadataTrackError : IInspectable
            {
                [propget] HRESULT ErrorCode([out] [retval] Windows.Media.Core.TimedMetadataTrackErrorCode* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedMetadataTrack)]
            [uuid(8DD57611-97B3-4E1F-852C-0F482C81AD26)]
            interface ITimedMetadataTrackFactory : IInspectable
            {
                HRESULT Create([in] HSTRING id, [in] HSTRING language, [in] Windows.Media.Core.TimedMetadataKind kind, [out] [retval] Windows.Media.Core.TimedMetadataTrack** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedMetadataTrackFailedEventArgs)]
            [uuid(A57FC9D1-6789-4D4D-B07F-84B4F31ACB70)]
            interface ITimedMetadataTrackFailedEventArgs : IInspectable
            {
                [propget] HRESULT Error([out] [retval] Windows.Media.Core.TimedMetadataTrackError** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [uuid(3B7F2024-F74E-4ADE-93C5-219DA05B6856)]
            interface ITimedMetadataTrackProvider : IInspectable
            {
                [propget] HRESULT TimedMetadataTracks([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Core.TimedMetadataTrack*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.Media.Core.TimedTextBouten)]
            [uuid(D9062783-5597-5092-820C-8F738E0F774A)]
            interface ITimedTextBouten : IInspectable
            {
                [propget] HRESULT Type([out] [retval] Windows.Media.Core.TimedTextBoutenType* value);
                [propput] HRESULT Type([in] Windows.Media.Core.TimedTextBoutenType value);
                [propget] HRESULT Color([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT Color([in] Windows.UI.Color value);
                [propget] HRESULT Position([out] [retval] Windows.Media.Core.TimedTextBoutenPosition* value);
                [propput] HRESULT Position([in] Windows.Media.Core.TimedTextBoutenPosition value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedTextCue)]
            [uuid(51C79E51-3B86-494D-B359-BB2EA7ACA9A9)]
            interface ITimedTextCue : IInspectable
                requires
                    Windows.Media.Core.IMediaCue
            {
                [propget] HRESULT CueRegion([out] [retval] Windows.Media.Core.TimedTextRegion** value);
                [propput] HRESULT CueRegion([in] Windows.Media.Core.TimedTextRegion* value);
                [propget] HRESULT CueStyle([out] [retval] Windows.Media.Core.TimedTextStyle** value);
                [propput] HRESULT CueStyle([in] Windows.Media.Core.TimedTextStyle* value);
                [propget] HRESULT Lines([out] [retval] Windows.Foundation.Collections.IVector<Windows.Media.Core.TimedTextLine*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedTextLine)]
            [uuid(978D7CE2-7308-4C66-BE50-65777289F5DF)]
            interface ITimedTextLine : IInspectable
            {
                [propget] HRESULT Text([out] [retval] HSTRING* value);
                [propput] HRESULT Text([in] HSTRING value);
                [propget] HRESULT Subformats([out] [retval] Windows.Foundation.Collections.IVector<Windows.Media.Core.TimedTextSubformat*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedTextRegion)]
            [uuid(1ED0881F-8A06-4222-9F59-B21BF40124B4)]
            interface ITimedTextRegion : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propput] HRESULT Name([in] HSTRING value);
                [propget] HRESULT Position([out] [retval] Windows.Media.Core.TimedTextPoint* value);
                [propput] HRESULT Position([in] Windows.Media.Core.TimedTextPoint value);
                [propget] HRESULT Extent([out] [retval] Windows.Media.Core.TimedTextSize* value);
                [propput] HRESULT Extent([in] Windows.Media.Core.TimedTextSize value);
                [propget] HRESULT Background([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT Background([in] Windows.UI.Color value);
                [propget] HRESULT WritingMode([out] [retval] Windows.Media.Core.TimedTextWritingMode* value);
                [propput] HRESULT WritingMode([in] Windows.Media.Core.TimedTextWritingMode value);
                [propget] HRESULT DisplayAlignment([out] [retval] Windows.Media.Core.TimedTextDisplayAlignment* value);
                [propput] HRESULT DisplayAlignment([in] Windows.Media.Core.TimedTextDisplayAlignment value);
                [propget] HRESULT LineHeight([out] [retval] Windows.Media.Core.TimedTextDouble* value);
                [propput] HRESULT LineHeight([in] Windows.Media.Core.TimedTextDouble value);
                [propget] HRESULT IsOverflowClipped([out] [retval] boolean* value);
                [propput] HRESULT IsOverflowClipped([in] boolean value);
                [propget] HRESULT Padding([out] [retval] Windows.Media.Core.TimedTextPadding* value);
                [propput] HRESULT Padding([in] Windows.Media.Core.TimedTextPadding value);
                [propget] HRESULT TextWrapping([out] [retval] Windows.Media.Core.TimedTextWrapping* value);
                [propput] HRESULT TextWrapping([in] Windows.Media.Core.TimedTextWrapping value);
                [propget] HRESULT ZIndex([out] [retval] INT32* value);
                [propput] HRESULT ZIndex([in] INT32 value);
                [propget] HRESULT ScrollMode([out] [retval] Windows.Media.Core.TimedTextScrollMode* value);
                [propput] HRESULT ScrollMode([in] Windows.Media.Core.TimedTextScrollMode value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.Media.Core.TimedTextRuby)]
            [uuid(10335C29-5B3C-5693-9959-D05A0BD24628)]
            interface ITimedTextRuby : IInspectable
            {
                [propget] HRESULT Text([out] [retval] HSTRING* value);
                [propput] HRESULT Text([in] HSTRING value);
                [propget] HRESULT Position([out] [retval] Windows.Media.Core.TimedTextRubyPosition* value);
                [propput] HRESULT Position([in] Windows.Media.Core.TimedTextRubyPosition value);
                [propget] HRESULT Align([out] [retval] Windows.Media.Core.TimedTextRubyAlign* value);
                [propput] HRESULT Align([in] Windows.Media.Core.TimedTextRubyAlign value);
                [propget] HRESULT Reserve([out] [retval] Windows.Media.Core.TimedTextRubyReserve* value);
                [propput] HRESULT Reserve([in] Windows.Media.Core.TimedTextRubyReserve value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedTextSource)]
            [uuid(C4ED9BA6-101F-404D-A949-82F33FCD93B7)]
            interface ITimedTextSource : IInspectable
            {
                [eventadd] HRESULT Resolved([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.TimedTextSource*, Windows.Media.Core.TimedTextSourceResolveResultEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Resolved([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedTextSourceResolveResultEventArgs)]
            [uuid(48907C9C-DCD8-4C33-9AD3-6CDCE7B1C566)]
            interface ITimedTextSourceResolveResultEventArgs : IInspectable
            {
                [propget] HRESULT Error([out] [retval] Windows.Media.Core.TimedMetadataTrackError** value);
                [propget] HRESULT Tracks([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Core.TimedMetadataTrack*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedTextSource)]
            [uuid(7E311853-9ABA-4AC4-BB98-2FB176C3BFDD)]
            interface ITimedTextSourceStatics : IInspectable
            {
                [overload("CreateFromStream")] HRESULT CreateFromStream([in] Windows.Storage.Streams.IRandomAccessStream* stream, [out] [retval] Windows.Media.Core.TimedTextSource** value);
                [overload("CreateFromUri")] HRESULT CreateFromUri([in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Media.Core.TimedTextSource** value);
                [overload("CreateFromStream")] HRESULT CreateFromStreamWithLanguage([in] Windows.Storage.Streams.IRandomAccessStream* stream, [in] HSTRING defaultLanguage, [out] [retval] Windows.Media.Core.TimedTextSource** value);
                [overload("CreateFromUri")] HRESULT CreateFromUriWithLanguage([in] Windows.Foundation.Uri* uri, [in] HSTRING defaultLanguage, [out] [retval] Windows.Media.Core.TimedTextSource** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.TimedTextSource)]
            [uuid(B66B7602-923E-43FA-9633-587075812DB5)]
            interface ITimedTextSourceStatics2 : IInspectable
            {
                [overload("CreateFromStreamWithIndex")] HRESULT CreateFromStreamWithIndex([in] Windows.Storage.Streams.IRandomAccessStream* stream, [in] Windows.Storage.Streams.IRandomAccessStream* indexStream, [out] [retval] Windows.Media.Core.TimedTextSource** result);
                [overload("CreateFromUriWithIndex")] HRESULT CreateFromUriWithIndex([in] Windows.Foundation.Uri* uri, [in] Windows.Foundation.Uri* indexUri, [out] [retval] Windows.Media.Core.TimedTextSource** result);
                [overload("CreateFromStreamWithIndex")] HRESULT CreateFromStreamWithIndexAndLanguage([in] Windows.Storage.Streams.IRandomAccessStream* stream, [in] Windows.Storage.Streams.IRandomAccessStream* indexStream, [in] HSTRING defaultLanguage, [out] [retval] Windows.Media.Core.TimedTextSource** result);
                [overload("CreateFromUriWithIndex")] HRESULT CreateFromUriWithIndexAndLanguage([in] Windows.Foundation.Uri* uri, [in] Windows.Foundation.Uri* indexUri, [in] HSTRING defaultLanguage, [out] [retval] Windows.Media.Core.TimedTextSource** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedTextStyle)]
            [uuid(1BB2384D-A825-40C2-A7F5-281EAEDF3B55)]
            interface ITimedTextStyle : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propput] HRESULT Name([in] HSTRING value);
                [propget] HRESULT FontFamily([out] [retval] HSTRING* value);
                [propput] HRESULT FontFamily([in] HSTRING value);
                [propget] HRESULT FontSize([out] [retval] Windows.Media.Core.TimedTextDouble* value);
                [propput] HRESULT FontSize([in] Windows.Media.Core.TimedTextDouble value);
                [propget] HRESULT FontWeight([out] [retval] Windows.Media.Core.TimedTextWeight* value);
                [propput] HRESULT FontWeight([in] Windows.Media.Core.TimedTextWeight value);
                [propget] HRESULT Foreground([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT Foreground([in] Windows.UI.Color value);
                [propget] HRESULT Background([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT Background([in] Windows.UI.Color value);
                [propget] HRESULT IsBackgroundAlwaysShown([out] [retval] boolean* value);
                [propput] HRESULT IsBackgroundAlwaysShown([in] boolean value);
                [propget] HRESULT FlowDirection([out] [retval] Windows.Media.Core.TimedTextFlowDirection* value);
                [propput] HRESULT FlowDirection([in] Windows.Media.Core.TimedTextFlowDirection value);
                [propget] HRESULT LineAlignment([out] [retval] Windows.Media.Core.TimedTextLineAlignment* value);
                [propput] HRESULT LineAlignment([in] Windows.Media.Core.TimedTextLineAlignment value);
                [propget] HRESULT OutlineColor([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT OutlineColor([in] Windows.UI.Color value);
                [propget] HRESULT OutlineThickness([out] [retval] Windows.Media.Core.TimedTextDouble* value);
                [propput] HRESULT OutlineThickness([in] Windows.Media.Core.TimedTextDouble value);
                [propget] HRESULT OutlineRadius([out] [retval] Windows.Media.Core.TimedTextDouble* value);
                [propput] HRESULT OutlineRadius([in] Windows.Media.Core.TimedTextDouble value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Core.TimedTextStyle)]
            [uuid(655F492D-6111-4787-89CC-686FECE57E14)]
            interface ITimedTextStyle2 : IInspectable
            {
                [propget] HRESULT FontStyle([out] [retval] Windows.Media.Core.TimedTextFontStyle* value);
                [propput] HRESULT FontStyle([in] Windows.Media.Core.TimedTextFontStyle value);
                [propget] HRESULT IsUnderlineEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsUnderlineEnabled([in] boolean value);
                [propget] HRESULT IsLineThroughEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsLineThroughEnabled([in] boolean value);
                [propget] HRESULT IsOverlineEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsOverlineEnabled([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.Media.Core.TimedTextStyle)]
            [uuid(F803F93B-3E99-595E-BBB7-78A2FA13C270)]
            interface ITimedTextStyle3 : IInspectable
            {
                [propget] HRESULT Ruby([out] [retval] Windows.Media.Core.TimedTextRuby** value);
                [propget] HRESULT Bouten([out] [retval] Windows.Media.Core.TimedTextBouten** value);
                [propget] HRESULT IsTextCombined([out] [retval] boolean* value);
                [propput] HRESULT IsTextCombined([in] boolean value);
                [propget] HRESULT FontAngleInDegrees([out] [retval] DOUBLE* value);
                [propput] HRESULT FontAngleInDegrees([in] DOUBLE value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.TimedTextSubformat)]
            [uuid(D713502F-3261-4722-A0C2-B937B2390F14)]
            interface ITimedTextSubformat : IInspectable
            {
                [propget] HRESULT StartIndex([out] [retval] INT32* value);
                [propput] HRESULT StartIndex([in] INT32 value);
                [propget] HRESULT Length([out] [retval] INT32* value);
                [propput] HRESULT Length([in] INT32 value);
                [propget] HRESULT SubformatStyle([out] [retval] Windows.Media.Core.TimedTextStyle** value);
                [propput] HRESULT SubformatStyle([in] Windows.Media.Core.TimedTextStyle* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.VideoStabilizationEffect)]
            [uuid(0808A650-9698-4E57-877B-BD7CB2EE0F8A)]
            interface IVideoStabilizationEffect : IInspectable
                requires
                    Windows.Media.IMediaExtension
            {
                [propput] HRESULT Enabled([in] boolean value);
                [propget] HRESULT Enabled([out] [retval] boolean* value);
                [eventadd] HRESULT EnabledChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.VideoStabilizationEffect*, Windows.Media.Core.VideoStabilizationEffectEnabledChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT EnabledChanged([in] EventRegistrationToken cookie);
                HRESULT GetRecommendedStreamConfiguration([in] Windows.Media.Devices.VideoDeviceController* controller, [in] Windows.Media.MediaProperties.VideoEncodingProperties* desiredProperties, [out] [retval] Windows.Media.Capture.VideoStreamConfiguration** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.VideoStabilizationEffectEnabledChangedEventArgs)]
            [uuid(187EFF28-67BB-4713-B900-4168DA164529)]
            interface IVideoStabilizationEffectEnabledChangedEventArgs : IInspectable
            {
                [propget] HRESULT Reason([out] [retval] Windows.Media.Core.VideoStabilizationEffectEnabledChangedReason* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.VideoStreamDescriptor)]
            [uuid(12EE0D55-9C2B-4440-8057-2C7A90F0CBEC)]
            interface IVideoStreamDescriptor : IInspectable
                requires
                    Windows.Media.Core.IMediaStreamDescriptor
            {
                [propget] HRESULT EncodingProperties([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** encodingProperties);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Core.VideoStreamDescriptor)]
            [uuid(8B306E10-453E-4088-832D-C36FA4F94AF3)]
            interface IVideoStreamDescriptor2 : IInspectable
            {
                HRESULT Copy([out] [retval] Windows.Media.Core.VideoStreamDescriptor** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Core.VideoStreamDescriptor)]
            [uuid(494EF6D1-BB75-43D2-9E5E-7B79A3AFCED4)]
            interface IVideoStreamDescriptorFactory : IInspectable
            {
                HRESULT Create([in] Windows.Media.MediaProperties.VideoEncodingProperties* encodingProperties, [out] [retval] Windows.Media.Core.VideoStreamDescriptor** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Core.VideoTrack)]
            [uuid(99F3B7F3-E298-4396-BB6A-A51BE6A2A20A)]
            interface IVideoTrack : IInspectable
            {
                [eventadd] HRESULT OpenFailed([in] Windows.Foundation.TypedEventHandler<Windows.Media.Core.VideoTrack*, Windows.Media.Core.VideoTrackOpenFailedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT OpenFailed([in] EventRegistrationToken token);
                HRESULT GetEncodingProperties([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** value);
                [propget] HRESULT PlaybackItem([out] [retval] Windows.Media.Playback.MediaPlaybackItem** value);
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propget] HRESULT SupportInfo([out] [retval] Windows.Media.Core.VideoTrackSupportInfo** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Core.VideoTrackOpenFailedEventArgs)]
            [uuid(7679E231-04F9-4C82-A4EE-8602C8BB4754)]
            interface IVideoTrackOpenFailedEventArgs : IInspectable
            {
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Core.VideoTrackSupportInfo)]
            [uuid(4BB534A0-FC5F-450D-8FF0-778D590486DE)]
            interface IVideoTrackSupportInfo : IInspectable
            {
                [propget] HRESULT DecoderStatus([out] [retval] Windows.Media.Core.MediaDecoderStatus* value);
                [propget] HRESULT MediaSourceStatus([out] [retval] Windows.Media.Core.MediaSourceStatus* value);
            }

            [activatable(Windows.Media.Core.IAudioStreamDescriptorFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AudioStreamDescriptor
            {
                [default] interface Windows.Media.Core.IAudioStreamDescriptor;
                interface Windows.Media.Core.IMediaStreamDescriptor;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Core.IAudioStreamDescriptor2;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Media.Core.IMediaStreamDescriptor2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.Core.IAudioStreamDescriptor3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AudioTrack
            {
                [default] interface Windows.Media.Core.IMediaTrack;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Core.IAudioTrack;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AudioTrackOpenFailedEventArgs
            {
                [default] interface Windows.Media.Core.IAudioTrackOpenFailedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AudioTrackSupportInfo
            {
                [default] interface Windows.Media.Core.IAudioTrackSupportInfo;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChapterCue
            {
                [default] interface Windows.Media.Core.IChapterCue;
                interface Windows.Media.Core.IMediaCue;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CodecInfo
            {
                [default] interface Windows.Media.Core.ICodecInfo;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CodecQuery
            {
                [default] interface Windows.Media.Core.ICodecQuery;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.Core.ICodecSubtypesStatics, Windows.Foundation.UniversalApiContract, 4.0)]
            [static(Windows.Media.Core.ICodecSubtypesStatics2, Windows.Foundation.UniversalApiContract, 19.0)]
            [threading(both)]
            runtimeclass CodecSubtypes
            {
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass DataCue
            {
                [default] interface Windows.Media.Core.IDataCue;
                interface Windows.Media.Core.IMediaCue;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.Core.IDataCue2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass FaceDetectedEventArgs
            {
                [default] interface Windows.Media.Core.IFaceDetectedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass FaceDetectionEffect
            {
                [default] interface Windows.Media.Core.IFaceDetectionEffect;
                interface Windows.Media.IMediaExtension;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass FaceDetectionEffectDefinition
            {
                [default] interface Windows.Media.Effects.IVideoEffectDefinition;
                interface Windows.Media.Core.IFaceDetectionEffectDefinition;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass FaceDetectionEffectFrame
            {
                [default] interface Windows.Media.Core.IFaceDetectionEffectFrame;
                interface Windows.Media.IMediaFrame;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass HighDynamicRangeControl
            {
                [default] interface Windows.Media.Core.IHighDynamicRangeControl;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass HighDynamicRangeOutput
            {
                [default] interface Windows.Media.Core.IHighDynamicRangeOutput;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ImageCue
            {
                [default] interface Windows.Media.Core.IImageCue;
                interface Windows.Media.Core.IMediaCue;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass InitializeMediaStreamSourceRequestedEventArgs
            {
                [default] interface Windows.Media.Core.IInitializeMediaStreamSourceRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.Core.ILowLightFusionStatics, Windows.Foundation.UniversalApiContract, 5.0)]
            [threading(both)]
            runtimeclass LowLightFusion
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LowLightFusionResult
            {
                [default] interface Windows.Media.Core.ILowLightFusionResult;
                interface Windows.Foundation.IClosable;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaBinder
            {
                [default] interface Windows.Media.Core.IMediaBinder;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaBindingEventArgs
            {
                [default] interface Windows.Media.Core.IMediaBindingEventArgs;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.Core.IMediaBindingEventArgs2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.Core.IMediaBindingEventArgs3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaCueEventArgs
            {
                [default] interface Windows.Media.Core.IMediaCueEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.Core.IMediaSourceStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.Core.IMediaSourceStatics2, Windows.Foundation.UniversalApiContract, 2.0)]
            [static(Windows.Media.Core.IMediaSourceStatics3, Windows.Foundation.UniversalApiContract, 5.0)]
            [static(Windows.Media.Core.IMediaSourceStatics4, Windows.Foundation.UniversalApiContract, 6.0)]
            [threading(both)]
            runtimeclass MediaSource
            {
                [default] interface Windows.Media.Core.IMediaSource2;
                interface Windows.Foundation.IClosable;
                interface Windows.Media.Playback.IMediaPlaybackSource;
                [contract(Windows.Foundation.UniversalApiContract, 2.0)] interface Windows.Media.Core.IMediaSource3;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.Core.IMediaSource4;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.Core.IMediaSource5;
            }

            [activatable(Windows.Media.Core.IMediaSourceAppServiceConnectionFactory, Windows.Foundation.UniversalApiContract, 5.0)]
            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            runtimeclass MediaSourceAppServiceConnection
            {
                [default] interface Windows.Media.Core.IMediaSourceAppServiceConnection;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaSourceError
            {
                [default] interface Windows.Media.Core.IMediaSourceError;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaSourceOpenOperationCompletedEventArgs
            {
                [default] interface Windows.Media.Core.IMediaSourceOpenOperationCompletedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaSourceStateChangedEventArgs
            {
                [default] interface Windows.Media.Core.IMediaSourceStateChangedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.Core.IMediaStreamSampleStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.Core.IMediaStreamSampleStatics2, Windows.Foundation.UniversalApiContract, 7.0)]
            [threading(both)]
            runtimeclass MediaStreamSample
            {
                [default] interface Windows.Media.Core.IMediaStreamSample;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Media.Core.IMediaStreamSample2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MediaStreamSamplePropertySet
            {
                [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 MediaStreamSampleProtectionProperties
            {
                [default] interface Windows.Media.Core.IMediaStreamSampleProtectionProperties;
            }

            [activatable(Windows.Media.Core.IMediaStreamSourceFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSource
            {
                [default] interface Windows.Media.Core.IMediaStreamSource;
                interface Windows.Media.Core.IMediaSource;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Core.IMediaStreamSource2;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.Core.IMediaStreamSource3;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Media.Core.IMediaStreamSource4;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceClosedEventArgs
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceClosedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceClosedRequest
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceClosedRequest;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceSampleRenderedEventArgs
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSampleRenderedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceSampleRequest
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSampleRequest;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceSampleRequestDeferral
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSampleRequestDeferral;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceSampleRequestedEventArgs
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSampleRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceStartingEventArgs
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceStartingEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceStartingRequest
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceStartingRequest;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceStartingRequestDeferral
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceStartingRequestDeferral;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceSwitchStreamsRequest
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSwitchStreamsRequest;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceSwitchStreamsRequestDeferral
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSwitchStreamsRequestDeferral;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaStreamSourceSwitchStreamsRequestedEventArgs
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSwitchStreamsRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MseSourceBuffer
            {
                [default] interface Windows.Media.Core.IMseSourceBuffer;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MseSourceBufferList
            {
                [default] interface Windows.Media.Core.IMseSourceBufferList;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.Core.IMseStreamSourceStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass MseStreamSource
            {
                [default] interface Windows.Media.Core.IMseStreamSource;
                interface Windows.Media.Core.IMediaSource;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Media.Core.IMseStreamSource2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SceneAnalysisEffect
            {
                [default] interface Windows.Media.Core.ISceneAnalysisEffect;
                interface Windows.Media.IMediaExtension;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SceneAnalysisEffectDefinition
            {
                [default] interface Windows.Media.Effects.IVideoEffectDefinition;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SceneAnalysisEffectFrame
            {
                [default] interface Windows.Media.Core.ISceneAnalysisEffectFrame;
                interface Windows.Media.IMediaFrame;
                interface Windows.Foundation.IClosable;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Media.Core.ISceneAnalysisEffectFrame2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SceneAnalyzedEventArgs
            {
                [default] interface Windows.Media.Core.ISceneAnalyzedEventArgs;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SpeechCue
            {
                [default] interface Windows.Media.Core.ISpeechCue;
                interface Windows.Media.Core.IMediaCue;
            }

            [activatable(Windows.Media.Core.ITimedMetadataStreamDescriptorFactory, Windows.Foundation.UniversalApiContract, 6.0)]
            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TimedMetadataStreamDescriptor
            {
                interface Windows.Media.Core.ITimedMetadataStreamDescriptor;
                interface Windows.Media.Core.IMediaStreamDescriptor2;
                [default] interface Windows.Media.Core.IMediaStreamDescriptor;
            }

            [activatable(Windows.Media.Core.ITimedMetadataTrackFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TimedMetadataTrack
            {
                [default] interface Windows.Media.Core.ITimedMetadataTrack;
                interface Windows.Media.Core.IMediaTrack;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Core.ITimedMetadataTrack2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TimedMetadataTrackError
            {
                [default] interface Windows.Media.Core.ITimedMetadataTrackError;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TimedMetadataTrackFailedEventArgs
            {
                [default] interface Windows.Media.Core.ITimedMetadataTrackFailedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            runtimeclass TimedTextBouten
            {
                [default] interface Windows.Media.Core.ITimedTextBouten;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TimedTextCue
            {
                [default] interface Windows.Media.Core.ITimedTextCue;
                interface Windows.Media.Core.IMediaCue;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TimedTextLine
            {
                [default] interface Windows.Media.Core.ITimedTextLine;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TimedTextRegion
            {
                [default] interface Windows.Media.Core.ITimedTextRegion;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            runtimeclass TimedTextRuby
            {
                [default] interface Windows.Media.Core.ITimedTextRuby;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.Core.ITimedTextSourceStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Media.Core.ITimedTextSourceStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass TimedTextSource
            {
                [default] interface Windows.Media.Core.ITimedTextSource;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TimedTextSourceResolveResultEventArgs
            {
                [default] interface Windows.Media.Core.ITimedTextSourceResolveResultEventArgs;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TimedTextStyle
            {
                [default] interface Windows.Media.Core.ITimedTextStyle;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.Core.ITimedTextStyle2;
                [contract(Windows.Foundation.UniversalApiContract, 12.0)] interface Windows.Media.Core.ITimedTextStyle3;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TimedTextSubformat
            {
                [default] interface Windows.Media.Core.ITimedTextSubformat;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VideoStabilizationEffect
            {
                [default] interface Windows.Media.Core.IVideoStabilizationEffect;
                interface Windows.Media.IMediaExtension;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VideoStabilizationEffectDefinition
            {
                [default] interface Windows.Media.Effects.IVideoEffectDefinition;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VideoStabilizationEffectEnabledChangedEventArgs
            {
                [default] interface Windows.Media.Core.IVideoStabilizationEffectEnabledChangedEventArgs;
            }

            [activatable(Windows.Media.Core.IVideoStreamDescriptorFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VideoStreamDescriptor
            {
                [default] interface Windows.Media.Core.IVideoStreamDescriptor;
                interface Windows.Media.Core.IMediaStreamDescriptor;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Media.Core.IMediaStreamDescriptor2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.Core.IVideoStreamDescriptor2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VideoTrack
            {
                [default] interface Windows.Media.Core.IMediaTrack;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Core.IVideoTrack;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VideoTrackOpenFailedEventArgs
            {
                [default] interface Windows.Media.Core.IVideoTrackOpenFailedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VideoTrackSupportInfo
            {
                [default] interface Windows.Media.Core.IVideoTrackSupportInfo;
            }
        }
    }
}
