using System;
using Jellyfin.Database.Implementations.Entities;
namespace MediaBrowser.Model.Dto;
///
/// The trickplay api model.
///
public record TrickplayInfoDto
{
///
/// Initializes a new instance of the class.
///
/// The trickplay info.
public TrickplayInfoDto(TrickplayInfo info)
{
ArgumentNullException.ThrowIfNull(info);
Width = info.Width;
Height = info.Height;
TileWidth = info.TileWidth;
TileHeight = info.TileHeight;
ThumbnailCount = info.ThumbnailCount;
Interval = info.Interval;
Bandwidth = info.Bandwidth;
}
///
/// Gets the width of an individual thumbnail.
///
public int Width { get; init; }
///
/// Gets the height of an individual thumbnail.
///
public int Height { get; init; }
///
/// Gets the amount of thumbnails per row.
///
public int TileWidth { get; init; }
///
/// Gets the amount of thumbnails per column.
///
public int TileHeight { get; init; }
///
/// Gets the total amount of non-black thumbnails.
///
public int ThumbnailCount { get; init; }
///
/// Gets the interval in milliseconds between each trickplay thumbnail.
///
public int Interval { get; init; }
///
/// Gets the peak bandwidth usage in bits per second.
///
public int Bandwidth { get; init; }
}