Code · 27 lines · 599 bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27using System;
using Xtremegaida.DataStructures;

namespace MediaContainers.Matroska;

public struct MatroskaFrame : IDisposable
{
	public readonly MatroskaTrackEntry Track;
	public readonly long Timestamp;
	public readonly DataBuffer Buffer;
	public readonly int TrackIndex;
	public readonly bool IsKeyFrame;

	public MatroskaFrame(MatroskaTrackEntry track, int trackIndex, long timestamp, DataBuffer buffer, bool keyFrame)
	{
		Track = track;
		TrackIndex = trackIndex;
		Timestamp = timestamp;
		Buffer = buffer;
		IsKeyFrame = keyFrame;
	}

	public void Dispose()
	{
		Buffer?.Dispose();
	}
}