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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.idl";
import "Windows.Media.MediaProperties.idl";
import "Windows.Media.Protection.idl";
import "Windows.Storage.FileProperties.idl";
import "Windows.Storage.Streams.idl";
// Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")
cpp_quote("#include <Windows.Foundation.h>")
cpp_quote("#if !defined(__windows2Emedia2Emediaproperties_h__)")
cpp_quote("#include <Windows.Media.MediaProperties.h>")
cpp_quote("#endif // !defined(__windows2Emedia2Emediaproperties_h__)")
cpp_quote("#if !defined(__windows2Emedia2Eprotection_h__)")
cpp_quote("#include <Windows.Media.Protection.h>")
cpp_quote("#endif // !defined(__windows2Emedia2Eprotection_h__)")
cpp_quote("#if !defined(__windows2Estorage2Efileproperties_h__)")
cpp_quote("#include <Windows.Storage.FileProperties.h>")
cpp_quote("#endif // !defined(__windows2Estorage2Efileproperties_h__)")
cpp_quote("#if !defined(__windows2Estorage2Estreams_h__)")
cpp_quote("#include <Windows.Storage.Streams.h>")
cpp_quote("#endif // !defined(__windows2Estorage2Estreams_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct TimeSpan TimeSpan;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace MediaProperties
        {
            runtimeclass AudioEncodingProperties;

            runtimeclass VideoEncodingProperties;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Protection
        {
            runtimeclass MediaProtectionManager;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace FileProperties
        {
            runtimeclass MusicProperties;

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

            interface IBuffer;

            interface IInputStream;

            interface IRandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Core
        {
            typedef enum MediaStreamSourceClosedReason MediaStreamSourceClosedReason;

            typedef enum MediaStreamSourceErrorStatus MediaStreamSourceErrorStatus;

            interface IMediaStreamDescriptor;

            interface IAudioStreamDescriptor;

            interface IAudioStreamDescriptorFactory;

            interface IVideoStreamDescriptor;

            interface IVideoStreamDescriptorFactory;

            interface IMediaSource;

            interface IMediaStreamSource;

            interface IMediaStreamSourceFactory;

            interface IMediaStreamSample;

            interface IMediaStreamSampleStatics;

            interface IMediaStreamSampleProtectionProperties;

            interface IMediaStreamSourceClosedRequest;

            interface IMediaStreamSourceClosedEventArgs;

            interface IMediaStreamSourceStartingRequestDeferral;

            interface IMediaStreamSourceStartingRequest;

            interface IMediaStreamSourceStartingEventArgs;

            interface IMediaStreamSourceSampleRequestDeferral;

            interface IMediaStreamSourceSampleRequest;

            interface IMediaStreamSourceSampleRequestedEventArgs;

            interface IMediaStreamSourceSwitchStreamsRequestDeferral;

            interface IMediaStreamSourceSwitchStreamsRequest;

            interface IMediaStreamSourceSwitchStreamsRequestedEventArgs;

            runtimeclass AudioStreamDescriptor;

            runtimeclass VideoStreamDescriptor;

            runtimeclass MediaStreamSource;

            runtimeclass MediaStreamSourceClosedEventArgs;

            runtimeclass MediaStreamSourceStartingEventArgs;

            runtimeclass MediaStreamSourceSampleRequestedEventArgs;

            runtimeclass MediaStreamSourceSwitchStreamsRequestedEventArgs;

            runtimeclass MediaStreamSamplePropertySet;

            runtimeclass MediaStreamSample;

            runtimeclass MediaStreamSampleProtectionProperties;

            runtimeclass MediaStreamSourceClosedRequest;

            runtimeclass MediaStreamSourceStartingRequestDeferral;

            runtimeclass MediaStreamSourceStartingRequest;

            runtimeclass MediaStreamSourceSampleRequestDeferral;

            runtimeclass MediaStreamSourceSampleRequest;

            runtimeclass MediaStreamSourceSwitchStreamsRequestDeferral;

            runtimeclass MediaStreamSourceSwitchStreamsRequest;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Media
    {
        namespace Core
        {
            declare
            {
                interface Windows.Foundation.IAsyncOperation<Windows.Media.Core.MediaStreamSample*>;

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

// Type definition
namespace Windows
{
    namespace Media
    {
        namespace Core
        {
            [version(0x06030000)]
            enum MediaStreamSourceClosedReason
            {
                Done                               = 0,
                UnknownError                       = 1,
                AppReportedError                   = 2,
                UnsupportedProtectionSystem        = 3,
                ProtectionSystemFailure            = 4,
                UnsupportedEncodingFormat          = 5,
                MissingSampleRequestedEventHandler = 6
            };

            [version(0x06030000)]
            enum MediaStreamSourceErrorStatus
            {
                Other                   = 0,
                OutOfMemory             = 1,
                FailedToOpenFile        = 2,
                FailedToConnectToServer = 3,
                ConnectionToServerLost  = 4,
                UnspecifiedNetworkError = 5,
                DecodeError             = 6,
                UnsupportedMediaFormat  = 7
            };

            [uuid(80F16E6E-92F7-451E-97D2-AFD80742DA70)]
            [version(0x06030000)]
            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);
            }

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

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

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

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

            [uuid(E7BFB599-A09D-4C21-BCDF-20AF4F86B3D9)]
            [version(0x06030000)]
            interface IMediaSource : IInspectable
            {
            }

            [exclusiveto(Windows.Media.Core.MediaStreamSource)]
            [uuid(3712D543-45EB-4138-AA62-C01E26F3843F)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Media.Core.MediaStreamSource)]
            [uuid(EF77E0D9-D158-4B7A-863F-203342FBFD41)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Media.Core.MediaStreamSample)]
            [uuid(5C8DB627-4B80-4361-9837-6CB7481AD9D6)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Media.Core.MediaStreamSample)]
            [uuid(DFDF218F-A6CF-4579-BE41-73DD941AD972)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Media.Core.MediaStreamSampleProtectionProperties)]
            [uuid(4EB88292-ECDF-493E-841D-DD4ADD7CACA2)]
            [version(0x06030000)]
            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);
            }

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

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

            [exclusiveto(Windows.Media.Core.MediaStreamSourceStartingRequestDeferral)]
            [uuid(3F1356A5-6340-4DC4-9910-068ED9F598F8)]
            [version(0x06030000)]
            interface IMediaStreamSourceStartingRequestDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [exclusiveto(Windows.Media.Core.MediaStreamSourceStartingRequest)]
            [uuid(2A9093E4-35C4-4B1B-A791-0D99DB56DD1D)]
            [version(0x06030000)]
            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);
            }

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

            [exclusiveto(Windows.Media.Core.MediaStreamSourceSampleRequestDeferral)]
            [uuid(7895CC02-F982-43C8-9D16-C62D999319BE)]
            [version(0x06030000)]
            interface IMediaStreamSourceSampleRequestDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [exclusiveto(Windows.Media.Core.MediaStreamSourceSampleRequest)]
            [uuid(4DB341A9-3501-4D9B-83F9-8F235C822532)]
            [version(0x06030000)]
            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);
            }

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

            [exclusiveto(Windows.Media.Core.MediaStreamSourceSwitchStreamsRequestDeferral)]
            [uuid(BEE3D835-A505-4F9A-B943-2B8CB1B4BBD9)]
            [version(0x06030000)]
            interface IMediaStreamSourceSwitchStreamsRequestDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [exclusiveto(Windows.Media.Core.MediaStreamSourceSwitchStreamsRequest)]
            [uuid(41B8808E-38A9-4EC3-9BA0-B69B85501E90)]
            [version(0x06030000)]
            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);
            }

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

            [activatable(Windows.Media.Core.IAudioStreamDescriptorFactory, 0x06030000)]
            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass AudioStreamDescriptor
            {
                [default] interface Windows.Media.Core.IAudioStreamDescriptor;
                interface Windows.Media.Core.IMediaStreamDescriptor;
            }

            [activatable(Windows.Media.Core.IVideoStreamDescriptorFactory, 0x06030000)]
            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass VideoStreamDescriptor
            {
                [default] interface Windows.Media.Core.IVideoStreamDescriptor;
                interface Windows.Media.Core.IMediaStreamDescriptor;
            }

            [activatable(Windows.Media.Core.IMediaStreamSourceFactory, 0x06030000)]
            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSource
            {
                [default] interface Windows.Media.Core.IMediaStreamSource;
                interface Windows.Media.Core.IMediaSource;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceClosedEventArgs
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceClosedEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceStartingEventArgs
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceStartingEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceSampleRequestedEventArgs
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSampleRequestedEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceSwitchStreamsRequestedEventArgs
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSwitchStreamsRequestedEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass MediaStreamSamplePropertySet
            {
                [default] interface Windows.Foundation.Collections.IMap<GUID, IInspectable*>;
                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<GUID, IInspectable*>*>;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Media.Core.IMediaStreamSampleStatics, 0x06030000)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSample
            {
                [default] interface Windows.Media.Core.IMediaStreamSample;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSampleProtectionProperties
            {
                [default] interface Windows.Media.Core.IMediaStreamSampleProtectionProperties;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceClosedRequest
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceClosedRequest;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceStartingRequestDeferral
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceStartingRequestDeferral;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceStartingRequest
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceStartingRequest;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceSampleRequestDeferral
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSampleRequestDeferral;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceSampleRequest
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSampleRequest;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceSwitchStreamsRequestDeferral
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSwitchStreamsRequestDeferral;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MediaStreamSourceSwitchStreamsRequest
            {
                [default] interface Windows.Media.Core.IMediaStreamSourceSwitchStreamsRequest;
            }
        }
    }
}
