Skip to content

Commit ce94232

Browse files
authored
Merge pull request #8 from membraneframework/bugfixes-0.1.0
Fix bugs and bump version
2 parents acbaaa9 + 1d37fed commit ce94232

File tree

5 files changed

+13
-6
lines changed

5 files changed

+13
-6
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ The package can be installed by adding `ex_hls` to your list of dependencies in
1515
```elixir
1616
def deps do
1717
[
18-
{:ex_hls, "~> 0.1.0"}
18+
{:ex_hls, "~> 0.1.1"}
1919
]
2020
end
2121
```

lib/ex_hls/client.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,8 @@ defmodule ExHLS.Client do
133133
end
134134
end
135135

136+
defp resolve_hls_mode(%{hls_mode: mode} = client) when mode in [:live, :vod], do: client
137+
136138
defp ensure_hls_mode_resolved!(%__MODULE__{hls_mode: nil} = client) do
137139
# the error message is about choosing a variant, while the function name is
138140
# about resolving the HLS mode, but it is done this way because the HLS mode

lib/ex_hls/client/live/reader.ex

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,14 @@ defmodule ExHLS.Client.Live.Reader do
102102
end
103103

104104
defp should_start_playing?(state) do
105-
%{media_sequence: media_sequence, target_duration: target_duration} =
106-
state.media_playlist.info
107-
108-
(is_number(media_sequence) and media_sequence >= 1) or
105+
%ExM3U8.MediaPlaylist.Info{
106+
media_sequence: media_sequence,
107+
target_duration: target_duration,
108+
end_list?: end_list?
109+
} = state.media_playlist.info
110+
111+
end_list? or
112+
(is_number(media_sequence) and media_sequence >= 1) or
109113
segments_duration_sum(state) >= 2 * target_duration
110114
end
111115

lib/ex_hls/client/vod.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ defmodule ExHLS.Client.VOD do
237237

238238
defp media_type_with_lower_ts(client, mode) when mode in [:read, :returned] do
239239
client.media_types
240+
|> Enum.reject(&client.stream_ended_by_media_type[&1])
240241
|> Enum.max_by(fn media_type ->
241242
case client.last_timestamps[media_type][mode] do
242243
nil -> :infinity

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
defmodule ExHLS.Mixfile do
22
use Mix.Project
33

4-
@version "0.1.0"
4+
@version "0.1.1"
55
@github_url "https://github.com/membraneframework/ex_hls"
66

77
def project do

0 commit comments

Comments
 (0)