// <copyright file="Info.cs" company="PlaceholderCompany">
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>

namespace Jellyfin.MediaEncoding.Keyframes.Matroska.Models;

/// <summary>
/// The matroska Info segment.
/// </summary>
internal class Info
{
    /// <summary>
    /// Initializes a new instance of the <see cref="Info"/> class.
    /// </summary>
    /// <param name="timestampScale">The timestamp scale in nanoseconds.</param>
    /// <param name="duration">The duration of the entire file.</param>
    public Info(long timestampScale, double? duration)
    {
        this.TimestampScale = timestampScale;
        this.Duration = duration;
    }

    /// <summary>
    /// Gets the timestamp scale in nanoseconds.
    /// </summary>
    public long TimestampScale { get; }

    /// <summary>
    /// Gets the total duration of the file.
    /// </summary>
    public double? Duration { get; }
}
