aboutsummaryrefslogtreecommitdiff
path: root/src/Jellyfin.MediaEncoding.Hls/Playlist/CreateMainPlaylistRequest.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Jellyfin.MediaEncoding.Hls/Playlist/CreateMainPlaylistRequest.cs')
-rw-r--r--src/Jellyfin.MediaEncoding.Hls/Playlist/CreateMainPlaylistRequest.cs57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/Jellyfin.MediaEncoding.Hls/Playlist/CreateMainPlaylistRequest.cs b/src/Jellyfin.MediaEncoding.Hls/Playlist/CreateMainPlaylistRequest.cs
new file mode 100644
index 000000000..d6db1ca6e
--- /dev/null
+++ b/src/Jellyfin.MediaEncoding.Hls/Playlist/CreateMainPlaylistRequest.cs
@@ -0,0 +1,57 @@
+namespace Jellyfin.MediaEncoding.Hls.Playlist
+{
+ /// <summary>
+ /// Request class for the <see cref="IDynamicHlsPlaylistGenerator.CreateMainPlaylist(CreateMainPlaylistRequest)"/> method.
+ /// </summary>
+ public class CreateMainPlaylistRequest
+ {
+ /// <summary>
+ /// Initializes a new instance of the <see cref="CreateMainPlaylistRequest"/> class.
+ /// </summary>
+ /// <param name="filePath">The absolute file path to the file.</param>
+ /// <param name="desiredSegmentLengthMs">The desired segment length in milliseconds.</param>
+ /// <param name="totalRuntimeTicks">The total duration of the file in ticks.</param>
+ /// <param name="segmentContainer">The desired segment container eg. "ts".</param>
+ /// <param name="endpointPrefix">The URI prefix for the relative URL in the playlist.</param>
+ /// <param name="queryString">The desired query string to append (must start with ?).</param>
+ public CreateMainPlaylistRequest(string filePath, int desiredSegmentLengthMs, long totalRuntimeTicks, string segmentContainer, string endpointPrefix, string queryString)
+ {
+ FilePath = filePath;
+ DesiredSegmentLengthMs = desiredSegmentLengthMs;
+ TotalRuntimeTicks = totalRuntimeTicks;
+ SegmentContainer = segmentContainer;
+ EndpointPrefix = endpointPrefix;
+ QueryString = queryString;
+ }
+
+ /// <summary>
+ /// Gets the file path.
+ /// </summary>
+ public string FilePath { get; }
+
+ /// <summary>
+ /// Gets the desired segment length in milliseconds.
+ /// </summary>
+ public int DesiredSegmentLengthMs { get; }
+
+ /// <summary>
+ /// Gets the total runtime in ticks.
+ /// </summary>
+ public long TotalRuntimeTicks { get; }
+
+ /// <summary>
+ /// Gets the segment container.
+ /// </summary>
+ public string SegmentContainer { get; }
+
+ /// <summary>
+ /// Gets the endpoint prefix for the URL.
+ /// </summary>
+ public string EndpointPrefix { get; }
+
+ /// <summary>
+ /// Gets the query string.
+ /// </summary>
+ public string QueryString { get; }
+ }
+}