Current section

40 Versions

Jump to

Compare versions

3 files changed
+9 additions
-6 deletions
  @@ -1,6 +1,6 @@
1 1 {<<"links">>,[{<<"GitHub">>,<<"https://github.com/kim-company/kim_hls">>}]}.
2 2 {<<"name">>,<<"kim_hls">>}.
3 - {<<"version">>,<<"2.4.1">>}.
3 + {<<"version">>,<<"2.4.2">>}.
4 4 {<<"description">>,
5 5 <<"HTTP Live Streaming (HLS) library. Modules, variables and functionality is bound to RFC 8216.">>}.
6 6 {<<"elixir">>,<<"~> 1.14">>}.
  @@ -308,7 +308,9 @@ defmodule HLS.Packager do
308 308 case Storage.get(storage, manifest_uri, max_retries: 5) do
309 309 {:ok, data} ->
310 310 master = HLS.Playlist.unmarshal(data, %HLS.Playlist.Master{uri: opts[:manifest_uri]})
311 - load_track_opts = Keyword.take(opts, [:resume_finished_tracks, :restore_pending_segments])
311 +
312 + load_track_opts =
313 + Keyword.take(opts, [:resume_finished_tracks, :restore_pending_segments, :max_segments])
312 314
313 315 {:ok,
314 316 %__MODULE__{
  @@ -986,6 +988,7 @@ defmodule HLS.Packager do
986 988 resume_finished_tracks = Keyword.fetch!(opts, :resume_finished_tracks)
987 989 restore_pending_segments = Keyword.fetch!(opts, :restore_pending_segments)
988 990 streams = Enum.concat(master.streams, master.alternative_renditions)
991 + playlist_type = if is_nil(opts[:max_segments]), do: :event
989 992
990 993 streams
991 994 |> Stream.map(fn stream ->
  @@ -1033,7 +1036,7 @@ defmodule HLS.Packager do
1033 1036 media =
1034 1037 media
1035 1038 |> Map.replace!(:finished, false)
1036 - |> Map.replace!(:type, :event)
1039 + |> Map.replace!(:type, playlist_type)
1037 1040
1038 1041 %{track | media_playlist: media}
1039 1042
  @@ -1063,12 +1066,12 @@ defmodule HLS.Packager do
1063 1066 data
1064 1067 |> HLS.Playlist.unmarshal(%HLS.Playlist.Media{uri: pending_uri})
1065 1068 |> Map.replace!(:finished, false)
1066 - |> Map.replace!(:type, :event)
1069 + |> Map.replace!(:type, playlist_type)
1067 1070 else
1068 1071 _error ->
1069 1072 %HLS.Playlist.Media{
1070 1073 uri: pending_uri,
1071 - type: :event,
1074 + type: playlist_type,
1072 1075 target_segment_duration: track.media_playlist.target_segment_duration,
1073 1076 version: track.media_playlist.version
1074 1077 }
  @@ -6,7 +6,7 @@ defmodule HLS.MixProject do
6 6 def project do
7 7 [
8 8 app: :kim_hls,
9 - version: "2.4.1",
9 + version: "2.4.2",
10 10 elixir: "~> 1.14",
11 11 start_permanent: Mix.env() == :prod,
12 12 elixirc_paths: elixirc_paths(Mix.env()),