Skip to content

Commit c874283

Browse files
committed
Bump ex hls
1 parent f5a1fb4 commit c874283

File tree

4 files changed

+35
-35
lines changed

4 files changed

+35
-35
lines changed

lib/membrane_http_adaptive_stream/hls_source.ex

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ defmodule Membrane.HLS.Source do
3232
flow_control: :manual,
3333
demand_unit: :buffers
3434

35-
# The boundary on how many samples of one stream will be requested
35+
# The boundary on how many chunks of one stream will be requested
3636
# from Membrane.HLS.Source.ClientGenServer at once.
37-
@requested_samples_boundary 5
37+
@requested_chunks_boundary 5
3838

3939
@variant_selection_policy_description """
4040
The policy used to select a variant from the list of available variants.
@@ -129,7 +129,7 @@ defmodule Membrane.HLS.Source do
129129
stream_format: {:video_output, video_stream_format}
130130
]
131131

132-
state = request_samples(state)
132+
state = request_media_chunks(state)
133133
{actions, state}
134134
end
135135

@@ -145,19 +145,19 @@ defmodule Membrane.HLS.Source do
145145
@impl true
146146
def handle_demand(pad_ref, demand, :buffers, _ctx, state) do
147147
{actions, state} = pop_buffers(pad_ref, demand, state)
148-
state = request_samples(state)
148+
state = request_media_chunks(state)
149149
{actions, state}
150150
end
151151

152152
@impl true
153-
def handle_info({data_type, %ExHLS.Sample{} = sample}, _ctx, state) do
153+
def handle_info({data_type, %ExHLS.Chunk{} = chunk}, _ctx, state) do
154154
pad_ref = data_type_to_pad_ref(data_type)
155155

156156
buffer = %Buffer{
157-
payload: sample.payload,
158-
pts: sample.pts_ms |> Membrane.Time.milliseconds(),
159-
dts: sample.dts_ms |> Membrane.Time.milliseconds(),
160-
metadata: sample.metadata
157+
payload: chunk.payload,
158+
pts: chunk.pts_ms |> Membrane.Time.milliseconds(),
159+
dts: chunk.dts_ms |> Membrane.Time.milliseconds(),
160+
metadata: chunk.metadata
161161
}
162162

163163
state =
@@ -169,7 +169,7 @@ defmodule Membrane.HLS.Source do
169169
nil -> buffer.dts
170170
oldest_dts -> oldest_dts
171171
end)
172-
|> request_samples()
172+
|> request_media_chunks()
173173

174174
{[redemand: pad_ref], state}
175175
end
@@ -193,8 +193,8 @@ defmodule Membrane.HLS.Source do
193193
{[redemand: pad_ref], state}
194194
end
195195

196-
defp data_type_to_pad_ref(:audio_sample), do: :audio_output
197-
defp data_type_to_pad_ref(:video_sample), do: :video_output
196+
defp data_type_to_pad_ref(:audio_chunk), do: :audio_output
197+
defp data_type_to_pad_ref(:video_chunk), do: :video_output
198198

199199
defp pop_buffers(pad_ref, demand, state) do
200200
how_many_pop = min(state[pad_ref].qex_size, demand)
@@ -219,7 +219,7 @@ defmodule Membrane.HLS.Source do
219219
end)
220220
end
221221

222-
defp request_samples(state) do
222+
defp request_media_chunks(state) do
223223
[:audio_output, :video_output]
224224
|> Enum.reduce(state, fn pad_ref, state ->
225225
oldest_dts = state[pad_ref].oldest_buffer_dts
@@ -236,20 +236,20 @@ defmodule Membrane.HLS.Source do
236236
0
237237

238238
_empty_or_not_new_enough ->
239-
@requested_samples_boundary - state[pad_ref].requested
239+
@requested_chunks_boundary - state[pad_ref].requested
240240
end
241241

242242
1..request_size//1
243-
|> Enum.each(fn _i -> request_single_sample(pad_ref, state) end)
243+
|> Enum.each(fn _i -> request_single_chunk(pad_ref, state) end)
244244

245245
state
246246
|> update_in([pad_ref, :requested], &(&1 + request_size))
247247
end)
248248
end
249249

250-
defp request_single_sample(:audio_output, state),
251-
do: ClientGenServer.request_audio_sample(state.client_genserver)
250+
defp request_single_chunk(:audio_output, state),
251+
do: ClientGenServer.request_audio_chunk(state.client_genserver)
252252

253-
defp request_single_sample(:video_output, state),
254-
do: ClientGenServer.request_video_sample(state.client_genserver)
253+
defp request_single_chunk(:video_output, state),
254+
do: ClientGenServer.request_video_chunk(state.client_genserver)
255255
end

lib/membrane_http_adaptive_stream/hls_source/client_genserver.ex

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@ defmodule Membrane.HLS.Source.ClientGenServer do
1818
)
1919
end
2020

21-
@spec request_audio_sample(pid()) :: :ok
22-
def request_audio_sample(client_genserver) do
23-
GenServer.cast(client_genserver, {:request_audio_sample, self()})
21+
@spec request_audio_chunk(pid()) :: :ok
22+
def request_audio_chunk(client_genserver) do
23+
GenServer.cast(client_genserver, {:request_audio_chunk, self()})
2424
end
2525

26-
@spec request_video_sample(pid()) :: :ok
27-
def request_video_sample(client_genserver) do
28-
GenServer.cast(client_genserver, {:request_video_sample, self()})
26+
@spec request_video_chunk(pid()) :: :ok
27+
def request_video_chunk(client_genserver) do
28+
GenServer.cast(client_genserver, {:request_video_chunk, self()})
2929
end
3030

3131
# this function should be called by Membrane.HLS.Source
32-
# before we start buffering the samples, to avoid waiting
32+
# before we start buffering the chunks, to avoid waiting
3333
# on downloading many segments
3434
@spec get_tracks_info(pid()) :: map()
3535
def get_tracks_info(client_genserver) do
@@ -94,16 +94,16 @@ defmodule Membrane.HLS.Source.ClientGenServer do
9494
end
9595

9696
@impl true
97-
def handle_cast({:request_audio_sample, pid}, state) do
98-
{sample, client} = Client.read_audio_sample(state.client)
99-
send(pid, {:audio_sample, sample})
97+
def handle_cast({:request_audio_chunk, pid}, state) do
98+
{chunk, client} = Client.read_audio_chunk(state.client)
99+
send(pid, {:audio_chunk, chunk})
100100
{:noreply, %{state | client: client}}
101101
end
102102

103103
@impl true
104-
def handle_cast({:request_video_sample, pid}, state) do
105-
{sample, client} = Client.read_video_sample(state.client)
106-
send(pid, {:video_sample, sample})
104+
def handle_cast({:request_video_chunk, pid}, state) do
105+
{chunk, client} = Client.read_video_chunk(state.client)
106+
send(pid, {:video_chunk, chunk})
107107
{:noreply, %{state | client: client}}
108108
end
109109

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ defmodule Membrane.HTTPAdaptiveStream.MixProject do
6969
{:membrane_aac_plugin, "~> 0.19.0"},
7070
{:membrane_h26x_plugin, "~> 0.10.0"},
7171
{:ex_hls,
72-
github: "membraneframework-labs/ex_hls", ref: "c060d84f337d6f3e3ba1aca2c709f77e7e862e36"},
72+
github: "membraneframework-labs/ex_hls", ref: "bf78d233b2f0a8409c8453df8e6dcb61a4e32c29"},
7373
{:bunch, "~> 1.6"},
7474
{:qex, "~> 0.5"},
7575
{:membrane_hackney_plugin, "~> 0.11.0", only: :test},

mix.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"elixir_uuid": {:hex, :elixir_uuid, "1.2.1", "dce506597acb7e6b0daeaff52ff6a9043f5919a4c3315abb4143f0b00378c097", [:mix], [], "hexpm", "f7eba2ea6c3555cea09706492716b0d87397b88946e6380898c2889d68585752"},
1313
"erlex": {:hex, :erlex, "0.2.7", "810e8725f96ab74d17aac676e748627a07bc87eb950d2b83acd29dc047a30595", [:mix], [], "hexpm", "3ed95f79d1a844c3f6bf0cea61e0d5612a42ce56da9c03f01df538685365efb0"},
1414
"ex_doc": {:hex, :ex_doc, "0.38.2", "504d25eef296b4dec3b8e33e810bc8b5344d565998cd83914ffe1b8503737c02", [:mix], [{:earmark_parser, "~> 1.4.44", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "732f2d972e42c116a70802f9898c51b54916e542cc50968ac6980512ec90f42b"},
15-
"ex_hls": {:git, "https://github.com/membraneframework-labs/ex_hls.git", "c060d84f337d6f3e3ba1aca2c709f77e7e862e36", [ref: "c060d84f337d6f3e3ba1aca2c709f77e7e862e36"]},
15+
"ex_hls": {:git, "https://github.com/membraneframework-labs/ex_hls.git", "bf78d233b2f0a8409c8453df8e6dcb61a4e32c29", [ref: "bf78d233b2f0a8409c8453df8e6dcb61a4e32c29"]},
1616
"ex_m3u8": {:hex, :ex_m3u8, "0.15.2", "7b13d5c719fa6bd58e1fd54d3d17b27e4c2a21fa10ad74c39e7ec36be165d58a", [:mix], [{:nimble_parsec, "~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:typed_struct, "~> 0.3.0", [hex: :typed_struct, repo: "hexpm", optional: false]}], "hexpm", "160d31f132f15856fcd4a4c40e448784f3105e5fcd05ac39de6a4ccc8aa4a697"},
1717
"file_system": {:hex, :file_system, "1.1.0", "08d232062284546c6c34426997dd7ef6ec9f8bbd090eb91780283c9016840e8f", [:mix], [], "hexpm", "bfcf81244f416871f2a2e15c1b515287faa5db9c6bcf290222206d120b3d43f6"},
1818
"finch": {:hex, :finch, "0.20.0", "5330aefb6b010f424dcbbc4615d914e9e3deae40095e73ab0c1bb0968933cadf", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.6.2 or ~> 1.7", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 1.1", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "2658131a74d051aabfcba936093c903b8e89da9a1b63e430bee62045fa9b2ee2"},
@@ -72,7 +72,7 @@
7272
"parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"},
7373
"qex": {:hex, :qex, "0.5.1", "0d82c0f008551d24fffb99d97f8299afcb8ea9cf99582b770bd004ed5af63fd6", [:mix], [], "hexpm", "935a39fdaf2445834b95951456559e9dc2063d0a055742c558a99987b38d6bab"},
7474
"ratio": {:hex, :ratio, "4.0.1", "3044166f2fc6890aa53d3aef0c336f84b2bebb889dc57d5f95cc540daa1912f8", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}, {:numbers, "~> 5.2.0", [hex: :numbers, repo: "hexpm", optional: false]}], "hexpm", "c60cbb3ccdff9ffa56e7d6d1654b5c70d9f90f4d753ab3a43a6bf40855b881ce"},
75-
"req": {:hex, :req, "0.5.14", "521b449fa0bf275e6d034c05f29bec21789a0d6cd6f7a1c326c7bee642bf6e07", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "b7b15692071d556c73432c7797aa7e96b51d1a2db76f746b976edef95c930021"},
75+
"req": {:hex, :req, "0.5.15", "662020efb6ea60b9f0e0fac9be88cd7558b53fe51155a2d9899de594f9906ba9", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "a6513a35fad65467893ced9785457e91693352c70b58bbc045b47e5eb2ef0c53"},
7676
"shmex": {:hex, :shmex, "0.5.1", "81dd209093416bf6608e66882cb7e676089307448a1afd4fc906c1f7e5b94cf4", [:mix], [{:bunch_native, "~> 0.5.0", [hex: :bunch_native, repo: "hexpm", optional: false]}, {:bundlex, "~> 1.0", [hex: :bundlex, repo: "hexpm", optional: false]}], "hexpm", "c29f8286891252f64c4e1dac40b217d960f7d58def597c4e606ff8fbe71ceb80"},
7777
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"},
7878
"telemetry": {:hex, :telemetry, "1.3.0", "fedebbae410d715cf8e7062c96a1ef32ec22e764197f70cda73d82778d61e7a2", [:rebar3], [], "hexpm", "7015fc8919dbe63764f4b4b87a95b7c0996bd539e0d499be6ec9d7f3875b79e6"},

0 commit comments

Comments
 (0)