Skip to content
This repository was archived by the owner on Sep 19, 2024. It is now read-only.

Commit 247a3c3

Browse files
authored
Send update_track_metadata also for pending subscriptions (#237)
1 parent 93e8ff3 commit 247a3c3

File tree

6 files changed

+11
-9
lines changed

6 files changed

+11
-9
lines changed

config/prod.exs

-1
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-

config/test.exs

-1
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-

lib/membrane_rtc_engine/engine.ex

+1
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@ defmodule Membrane.RTC.Engine do
656656
state.subscriptions
657657
|> Map.values()
658658
|> Enum.flat_map(&Map.values/1)
659+
|> then(&(&1 ++ state.pending_subscriptions))
659660
|> Enum.filter(&(&1.track_id == track_id))
660661
|> Enum.map(& &1.endpoint_id)
661662
|> Enum.map(

test/membrane_rtc_engine/engine_test.exs

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ defmodule Membrane.RTC.EngineTest do
1515

1616
Engine.register(pid, self())
1717

18+
on_exit(fn -> assert :ok = Engine.terminate(pid, blocking?: true) end)
19+
1820
[rtc_engine: pid]
1921
end
2022

test/membrane_rtc_engine/hls_endpoint_test.exs

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ defmodule Membrane.RTC.HLSEndpointTest do
3939
describe "HLS Endpoint test" do
4040
@describetag :tmp_dir
4141

42+
# FIXME: Test prints logs informing of parent crashing (HLS Endpoint)
4243
test "creates correct hls stream from single (h264) input", %{
4344
rtc_engine: rtc_engine,
4445
tmp_dir: tmp_dir

test/membrane_rtc_engine/tee_test.exs

+7-7
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ defmodule Membrane.RTC.Engine.TeeTest do
6262
refute_sink_event(pipeline, :other_sink, %TrackVariantResumed{variant: :high}, 0)
6363
refute_sink_event(pipeline, :other_sink, %TrackVariantResumed{variant: :medium}, 0)
6464

65-
Pipeline.terminate(pipeline, blocking?: true)
65+
:ok = Pipeline.terminate(pipeline, blocking?: true)
6666
end
6767

6868
test "Tee forwards TrackVariantPaused" do
@@ -81,7 +81,7 @@ defmodule Membrane.RTC.Engine.TeeTest do
8181
refute_sink_event(pipeline, :sink, %TrackVariantPaused{variant: :high})
8282
refute_sink_event(pipeline, :sink, %TrackVariantPaused{variant: :medium}, 0)
8383

84-
Pipeline.terminate(pipeline, blocking?: true)
84+
:ok = Pipeline.terminate(pipeline, blocking?: true)
8585
end
8686

8787
test "Tee generates KeyframeRequestEvent on receiving RequestTrackVariant event" do
@@ -104,7 +104,7 @@ defmodule Membrane.RTC.Engine.TeeTest do
104104
refute_sink_event(pipeline, {:source, :medium}, %Membrane.KeyframeRequestEvent{}, 0)
105105
refute_sink_event(pipeline, {:source, :low}, %Membrane.KeyframeRequestEvent{}, 0)
106106

107-
Pipeline.terminate(pipeline, blocking?: true)
107+
:ok = Pipeline.terminate(pipeline, blocking?: true)
108108
end
109109

110110
test "Tee raises on receiving invalid RequestTrackVariant event" do
@@ -188,7 +188,7 @@ defmodule Membrane.RTC.Engine.TeeTest do
188188

189189
request_and_check_high.(pipeline)
190190

191-
Pipeline.terminate(pipeline, blocking?: true)
191+
:ok = Pipeline.terminate(pipeline, blocking?: true)
192192
end
193193

194194
test "Tee raises on receiving data from inactive track variant" do
@@ -216,7 +216,7 @@ defmodule Membrane.RTC.Engine.TeeTest do
216216
refute_sink_event(pipeline, {:source, :medium}, %Membrane.KeyframeRequestEvent{}, 0)
217217
refute_sink_event(pipeline, {:source, :low}, %Membrane.KeyframeRequestEvent{}, 0)
218218

219-
Pipeline.terminate(pipeline, blocking?: true)
219+
:ok = Pipeline.terminate(pipeline, blocking?: true)
220220
end
221221

222222
test "Tee forwards KeyframeRequestEvent when there is some variant being forwarded" do
@@ -240,7 +240,7 @@ defmodule Membrane.RTC.Engine.TeeTest do
240240
refute_sink_event(pipeline, {:source, :medium}, %Membrane.KeyframeRequestEvent{})
241241
refute_sink_event(pipeline, {:source, :low}, %Membrane.KeyframeRequestEvent{}, 0)
242242

243-
Pipeline.terminate(pipeline, blocking?: true)
243+
:ok = Pipeline.terminate(pipeline, blocking?: true)
244244
end
245245

246246
test "forwards VoiceActivityChanged" do
@@ -269,7 +269,7 @@ defmodule Membrane.RTC.Engine.TeeTest do
269269
# We're already on high, so we expect the event to be forwarded
270270
assert_sink_event(pipeline, :sink, ^event)
271271

272-
Pipeline.terminate(pipeline, blocking?: true)
272+
:ok = Pipeline.terminate(pipeline, blocking?: true)
273273
end
274274

275275
test "forwards VoiceActivityChanged after TrackVariantSwitched" do

0 commit comments

Comments
 (0)