MultiSourceMediaFrameReader MultiSourceMediaFrameReader MultiSourceMediaFrameReader MultiSourceMediaFrameReader MultiSourceMediaFrameReader Class


Provides access to time-correlated frames from multiple MediaFrameSource and provides notifications when new frames arrive. This is useful if you need to process frames from different sources, such as a depth camera and an rbg camera, and you need to make sure that the frames from each source were captured close to each other in time.

public : sealed class MultiSourceMediaFrameReader : IClosable
struct winrt::Windows::Media::Capture::Frames::MultiSourceMediaFrameReader : IClosable
public sealed class MultiSourceMediaFrameReader : IDisposable
Public NotInheritable Class MultiSourceMediaFrameReader Implements IDisposable
// This class does not provide a public constructor.

Windows 10 requirements

Device family
Windows 10 Creators Update (introduced v10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v4)


Get an instance of this class by calling CreateMultiSourceFrameReaderAsync on a MediaCapture object that has been initialized to use the desired media frame source.

To read frames from one or more MediaFrameSource objects without time correlation between different sources, you can use MediaFrameReader.

For how-to guidance on using MediaFrameSource to capture frames, see Process media frames with MediaFrameReader.

Version history

Windows version SDK version Value added
1709 16299 AcquisitionMode


AcquisitionMode AcquisitionMode AcquisitionMode AcquisitionMode AcquisitionMode

Specifies the way that the system should manage frames acquired from a MultiSourceMediaFrameReader when a new frame arrives before the app has finished processing the previous frame.


Close() Close() Close() Close() Close()

Disposes of the object and associated resources.

Dispose() Dispose() Dispose() Dispose() Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

StartAsync() StartAsync() StartAsync() StartAsync() StartAsync()

Asynchronously starts the reading of time-corellated frames from one or more MediaFrameSource objects.

StopAsync() StopAsync() StopAsync() StopAsync() StopAsync()

Asynchronously stops the reading of time-corellated frames from one or more MediaFrameSource objects.

TryAcquireLatestFrame() TryAcquireLatestFrame() TryAcquireLatestFrame() TryAcquireLatestFrame() TryAcquireLatestFrame()

Attempts to obtain a MultiSourceMediaFrameReference object which provides access to the latest time-correlated frames from one or more MediaFrameSource objects.


FrameArrived FrameArrived FrameArrived FrameArrived FrameArrived

Occurs when a new frame arrives from all of the media frame sources associated with the MultiSourceMediaFrameReader.