Skip to content

Commit

Permalink
Release membrane_rtmp_plugin v0.19.0 (#76)
Browse files Browse the repository at this point in the history
  • Loading branch information
FelonEkonom authored Nov 16, 2023
1 parent ab6b788 commit 99ff44d
Show file tree
Hide file tree
Showing 9 changed files with 36 additions and 50 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The package can be installed by adding `membrane_rtmp_plugin` to your list of de
```elixir
def deps do
[
{:membrane_rtmp_plugin, "~> 0.18.0"}
{:membrane_rtmp_plugin, "~> 0.19.0"}
]
end
```
Expand Down
10 changes: 5 additions & 5 deletions lib/membrane_rtmp_plugin/rtmp/sink/sink.ex
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ defmodule Membrane.RTMP.Sink do
def_input_pad :audio,
availability: :on_request,
accepted_format: AAC,
mode: :pull,
flow_control: :manual,
demand_unit: :buffers

def_input_pad :video,
availability: :on_request,
accepted_format: %H264{stream_structure: structure} when H264.is_avc(structure),
mode: :pull,
flow_control: :manual,
demand_unit: :buffers

def_options rtmp_url: [
Expand Down Expand Up @@ -173,15 +173,15 @@ defmodule Membrane.RTMP.Sink do
end

@impl true
def handle_write(pad, buffer, _ctx, %{ready?: false} = state) do
def handle_buffer(pad, buffer, _ctx, %{ready?: false} = state) do
{[], fill_frame_buffer(state, pad, buffer)}
end

def handle_write(pad, buffer, _ctx, %{forward_mode?: true} = state) do
def handle_buffer(pad, buffer, _ctx, %{forward_mode?: true} = state) do
{[demand: pad], write_frame(state, pad, buffer)}
end

def handle_write(pad, buffer, _ctx, state) do
def handle_buffer(pad, buffer, _ctx, state) do
state
|> fill_frame_buffer(pad, buffer)
|> write_frame_interleaved()
Expand Down
8 changes: 2 additions & 6 deletions lib/membrane_rtmp_plugin/rtmp/source/bin.ex
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,11 @@ defmodule Membrane.RTMP.SourceBin do

def_output_pad :video,
accepted_format: H264,
availability: :always,
mode: :pull,
demand_unit: :buffers
availability: :always

def_output_pad :audio,
accepted_format: AAC,
availability: :always,
mode: :pull,
demand_unit: :buffers
availability: :always

def_options socket: [
spec: :gen_tcp.socket() | :ssl.sslsocket(),
Expand Down
2 changes: 1 addition & 1 deletion lib/membrane_rtmp_plugin/rtmp/source/source.ex
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defmodule Membrane.RTMP.Source do
def_output_pad :output,
availability: :always,
accepted_format: Membrane.RemoteStream,
mode: :pull
flow_control: :manual

def_options socket: [
spec: :gen_tcp.socket() | :ssl.sslsocket(),
Expand Down
16 changes: 8 additions & 8 deletions mix.exs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
defmodule Membrane.RTMP.Mixfile do
use Mix.Project

@version "0.18.0"
@version "0.19.0"
@github_url "https://github.com/membraneframework/membrane_rtmp_plugin"

def project do
Expand Down Expand Up @@ -38,17 +38,17 @@ defmodule Membrane.RTMP.Mixfile do

defp deps do
[
{:membrane_core, "~> 0.12.3"},
{:membrane_core, "~> 1.0"},
{:unifex, "~> 1.1.0"},
{:membrane_h264_plugin, "~> 0.7.0"},
{:membrane_h264_plugin, "~> 0.9.0"},
{:membrane_h264_format, "~> 0.6.1"},
{:membrane_aac_plugin, "~> 0.16.0"},
{:membrane_flv_plugin, "~> 0.9.0"},
{:membrane_file_plugin, "~> 0.15.0"},
{:membrane_aac_plugin, "~> 0.18.0"},
{:membrane_flv_plugin, "~> 0.11.0"},
{:membrane_file_plugin, "~> 0.16.0"},
# testing
{:membrane_hackney_plugin, "~> 0.10.0", only: :test},
{:membrane_hackney_plugin, "~> 0.11.0", only: :test},
{:ffmpex, "~> 0.10.0", only: :test},
{:membrane_stream_plugin, "~> 0.3.1", only: :test},
{:membrane_stream_plugin, "~> 0.4.0", only: :test},
# development
{:ex_doc, "~> 0.28", only: :dev, runtime: false},
{:dialyxir, "~> 1.1", only: :dev, runtime: false},
Expand Down
16 changes: 8 additions & 8 deletions mix.lock
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@
"makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"},
"makeup_erlang": {:hex, :makeup_erlang, "0.1.2", "ad87296a092a46e03b7e9b0be7631ddcf64c790fa68a9ef5323b6cbb36affc72", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "f3f5a1ca93ce6e092d92b6d9c049bcda58a3b617a8d888f8e7231c85630e8108"},
"membrane_aac_format": {:hex, :membrane_aac_format, "0.8.0", "515631eabd6e584e0e9af2cea80471fee6246484dbbefc4726c1d93ece8e0838", [:mix], [{:bimap, "~> 1.1", [hex: :bimap, repo: "hexpm", optional: false]}], "hexpm", "a30176a94491033ed32be45e51d509fc70a5ee6e751f12fd6c0d60bd637013f6"},
"membrane_aac_plugin": {:hex, :membrane_aac_plugin, "0.16.1", "ea2864a03c47dd3d49a96d7ca6e39a49421ba228fc760fce7e4971b37a202102", [:mix], [{:bunch, "~> 1.0", [hex: :bunch, repo: "hexpm", optional: false]}, {:crc, "~> 0.10.2", [hex: :crc, repo: "hexpm", optional: false]}, {:membrane_aac_format, "~> 0.8.0", [hex: :membrane_aac_format, repo: "hexpm", optional: false]}, {:membrane_core, "~> 0.12.0", [hex: :membrane_core, repo: "hexpm", optional: false]}], "hexpm", "f7ee9738de777056d9eab864bc120195ccae0986b5cfba79694a1b67d9253579"},
"membrane_core": {:hex, :membrane_core, "0.12.9", "b80239deacf98f24cfd2e0703b632e92ddded8b989227cd6e724140f433b0aac", [:mix], [{:bunch, "~> 1.6", [hex: :bunch, repo: "hexpm", optional: false]}, {:qex, "~> 0.3", [hex: :qex, repo: "hexpm", optional: false]}, {:ratio, "~> 2.0", [hex: :ratio, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "389b4b22da0e35d5b053ec2fa87bf36882e0ab88f8fb841af895982fb4abe504"},
"membrane_file_plugin": {:hex, :membrane_file_plugin, "0.15.0", "ddf9535fda82aae5b0688a98de1d02268287ffc8bcc6dba1a85e057d71c522af", [:mix], [{:membrane_core, "~> 0.12.0", [hex: :membrane_core, repo: "hexpm", optional: false]}], "hexpm", "fa2f7219f96c9e815475dc0d8c238c0a5648012917584756eb3eee476f737ce2"},
"membrane_flv_plugin": {:hex, :membrane_flv_plugin, "0.9.0", "967e712ccd4d0d49e100c955978ecacf87aed2dd0798a90fb7eb3024dbf6701e", [:mix], [{:bimap, "~> 1.2", [hex: :bimap, repo: "hexpm", optional: false]}, {:bunch, "~> 1.3", [hex: :bunch, repo: "hexpm", optional: false]}, {:membrane_aac_format, "~> 0.8.0", [hex: :membrane_aac_format, repo: "hexpm", optional: false]}, {:membrane_core, "~> 0.12.3", [hex: :membrane_core, repo: "hexpm", optional: false]}, {:membrane_h264_format, "~> 0.6.1", [hex: :membrane_h264_format, repo: "hexpm", optional: false]}], "hexpm", "c839fe9d31c7a96750d9ae3e3b226f69f925aa45ffacadb0c2fb6450168acc52"},
"membrane_aac_plugin": {:hex, :membrane_aac_plugin, "0.18.0", "b65697fa31f25ee35520f4f402cfdc6af847bb508f39a3bdd295f117fa1ce59b", [:mix], [{:bunch, "~> 1.0", [hex: :bunch, repo: "hexpm", optional: false]}, {:crc, "~> 0.10.2", [hex: :crc, repo: "hexpm", optional: false]}, {:membrane_aac_format, "~> 0.8.0", [hex: :membrane_aac_format, repo: "hexpm", optional: false]}, {:membrane_core, "~> 1.0", [hex: :membrane_core, repo: "hexpm", optional: false]}], "hexpm", "cefaef80e0d1b94ef294127db79f3af0cbc2c691e15c3bb9a4c86bf419839a72"},
"membrane_core": {:hex, :membrane_core, "1.0.0", "1b543aefd952283be1f2a215a1db213aa4d91222722ba03cd35280622f1905ee", [:mix], [{:bunch, "~> 1.6", [hex: :bunch, repo: "hexpm", optional: false]}, {:qex, "~> 0.3", [hex: :qex, repo: "hexpm", optional: false]}, {:ratio, "~> 3.0", [hex: :ratio, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "352c90fd0a29942143c4bf7a727cc05c632e323f50a1a4e99321b1e8982f1533"},
"membrane_file_plugin": {:hex, :membrane_file_plugin, "0.16.0", "7917f6682c22b9bcfc2ca20ed960eee0f7d03ad31fd5f59ed850f1fe3ddd545a", [:mix], [{:membrane_core, "~> 1.0", [hex: :membrane_core, repo: "hexpm", optional: false]}], "hexpm", "b0727998f75a9b4dab8a2baefdfc13c3eac00a04e061ab1b0e61dc5566927acc"},
"membrane_flv_plugin": {:hex, :membrane_flv_plugin, "0.11.0", "609daa560067bb009efb5b8625abf0c76c366d191cdebae101757d36a5b7d525", [:mix], [{:bimap, "~> 1.2", [hex: :bimap, repo: "hexpm", optional: false]}, {:bunch, "~> 1.3", [hex: :bunch, repo: "hexpm", optional: false]}, {:membrane_aac_format, "~> 0.8.0", [hex: :membrane_aac_format, repo: "hexpm", optional: false]}, {:membrane_core, "~> 1.0", [hex: :membrane_core, repo: "hexpm", optional: false]}, {:membrane_h264_format, "~> 0.6.1", [hex: :membrane_h264_format, repo: "hexpm", optional: false]}], "hexpm", "db780cbfff857f6403daa5759f7a7642b896399f811137dfac3741c51a26dd4e"},
"membrane_h264_format": {:hex, :membrane_h264_format, "0.6.1", "44836cd9de0abe989b146df1e114507787efc0cf0da2368f17a10c47b4e0738c", [:mix], [], "hexpm", "4b79be56465a876d2eac2c3af99e115374bbdc03eb1dea4f696ee9a8033cd4b0"},
"membrane_h264_plugin": {:hex, :membrane_h264_plugin, "0.7.3", "c558137cdfe72ca68a1bcf05d30cfd1bdc2264a3fbea0b002e9682a6832efc7d", [:mix], [{:bunch, "~> 1.4", [hex: :bunch, repo: "hexpm", optional: false]}, {:membrane_core, "~> 0.12.7", [hex: :membrane_core, repo: "hexpm", optional: false]}, {:membrane_h264_format, "~> 0.6.0", [hex: :membrane_h264_format, repo: "hexpm", optional: false]}], "hexpm", "291b0b5ed07e0e39ec0369f6a3d47a189544ddb62ce2b7a1443742beb6618992"},
"membrane_hackney_plugin": {:hex, :membrane_hackney_plugin, "0.10.1", "1c56cb9414a47dbd47d9e8aa9829536858b0dae601dc2878e29913dd0a9ff9f7", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:membrane_core, "~> 0.12.8", [hex: :membrane_core, repo: "hexpm", optional: false]}, {:mockery, "~> 2.3", [hex: :mockery, repo: "hexpm", optional: false]}], "hexpm", "b57cc62185d64c12204a98eeb7f8219836b0d9487ad6541621630d9369a05fde"},
"membrane_stream_plugin": {:hex, :membrane_stream_plugin, "0.3.1", "265f327dad815a8ef18f8872bdebc6c1aa1fea3d059446c937b76ff067c166e6", [:mix], [{:membrane_core, "~> 0.12.0", [hex: :membrane_core, repo: "hexpm", optional: false]}], "hexpm", "b504296b9f5a78b43c0d46ad66202a1f0f93d4c122949c27ad4c04f67f3c5907"},
"membrane_h264_plugin": {:hex, :membrane_h264_plugin, "0.9.0", "4b76079489451794c27993fbe6108f10a34068d3034985dc73d601e46266ef90", [:mix], [{:bunch, "~> 1.4", [hex: :bunch, repo: "hexpm", optional: false]}, {:membrane_core, "~> 1.0", [hex: :membrane_core, repo: "hexpm", optional: false]}, {:membrane_h264_format, "~> 0.6.0", [hex: :membrane_h264_format, repo: "hexpm", optional: false]}], "hexpm", "7ecb9fdbe26304a577d9e32895aeee963b0a4bcc01fd77ecd9aebabdafbce58d"},
"membrane_hackney_plugin": {:hex, :membrane_hackney_plugin, "0.11.0", "54b368333a23394e7cac2f4d6b701bf8c5ee6614670a31f4ebe009b5e691a5c1", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:membrane_core, "~> 1.0", [hex: :membrane_core, repo: "hexpm", optional: false]}, {:mockery, "~> 2.3", [hex: :mockery, repo: "hexpm", optional: false]}], "hexpm", "2b28fd1be3c889d5824d7d985598386c7673828c88f49a91221df3626af8a998"},
"membrane_stream_plugin": {:hex, :membrane_stream_plugin, "0.4.0", "0c4ab72a4e13bf0faa0f1166fbaf68d2e34167dbec345aedb74ce1eb7497bdda", [:mix], [{:membrane_core, "~> 1.0", [hex: :membrane_core, repo: "hexpm", optional: false]}], "hexpm", "5a9a9c17783e18ad740e6ddfed364581bdb7ebdab8e61ba2c19a1830356f7eb8"},
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"},
"mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"},
"mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"},
Expand All @@ -45,7 +45,7 @@
"parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"},
"qex": {:hex, :qex, "0.5.1", "0d82c0f008551d24fffb99d97f8299afcb8ea9cf99582b770bd004ed5af63fd6", [:mix], [], "hexpm", "935a39fdaf2445834b95951456559e9dc2063d0a055742c558a99987b38d6bab"},
"rambo": {:hex, :rambo, "0.3.4", "8962ac3bd1a633ee9d0e8b44373c7913e3ce3d875b4151dcd060886092d2dce7", [:mix], [], "hexpm", "0cc54ed089fbbc84b65f4b8a774224ebfe60e5c80186fafc7910b3e379ad58f1"},
"ratio": {:hex, :ratio, "2.4.2", "c8518f3536d49b1b00d88dd20d49f8b11abb7819638093314a6348139f14f9f9", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}, {:numbers, "~> 5.2.0", [hex: :numbers, repo: "hexpm", optional: false]}], "hexpm", "441ef6f73172a3503de65ccf1769030997b0d533b1039422f1e5e0e0b4cbf89e"},
"ratio": {:hex, :ratio, "3.0.2", "60a5976872a4dc3d873ecc57eed1738589e99d1094834b9c935b118231297cfb", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}, {:numbers, "~> 5.2.0", [hex: :numbers, repo: "hexpm", optional: false]}], "hexpm", "3a13ed5a30ad0bfd7e4a86bf86d93d2b5a06f5904417d38d3f3ea6406cdfc7bb"},
"req": {:hex, :req, "0.4.4", "a17b6bec956c9af4f08b5d8e8a6fc6e4edf24ccc0ac7bf363a90bba7a0f0138c", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [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", "2618c0493444fee927d12073afb42e9154e766b3f4448e1011f0d3d551d1a011"},
"secure_random": {:hex, :secure_random, "0.5.1", "c5532b37c89d175c328f5196a0c2a5680b15ebce3e654da37129a9fe40ebf51b", [:mix], [], "hexpm", "1b9754f15e3940a143baafd19da12293f100044df69ea12db5d72878312ae6ab"},
"shmex": {:hex, :shmex, "0.5.0", "7dc4fb1a8bd851085a652605d690bdd070628717864b442f53d3447326bcd3e8", [:mix], [{:bunch_native, "~> 0.5.0", [hex: :bunch_native, repo: "hexpm", optional: false]}, {:bundlex, "~> 1.0", [hex: :bundlex, repo: "hexpm", optional: false]}], "hexpm", "b67bb1e22734758397c84458dbb746519e28eac210423c267c7248e59fc97bdc"},
Expand Down
10 changes: 4 additions & 6 deletions test/membrane_rtmp_plugin/rtmp_sink_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,14 @@ defmodule Membrane.RTMP.SinkTest do

# There's an RC - there's no way to ensure RTMP server starts to listen before pipeline is started
# so it may retry a few times before succeeding
assert_pipeline_play(sink_pipeline_pid, 5000)

assert_start_of_stream(sink_pipeline_pid, :rtmp_sink, Pad.ref(:video, 0), 5_000)
assert_start_of_stream(sink_pipeline_pid, :rtmp_sink, Pad.ref(:audio, 0))

assert_end_of_stream(sink_pipeline_pid, :rtmp_sink, Pad.ref(:video, 0), 5_000)
assert_end_of_stream(sink_pipeline_pid, :rtmp_sink, Pad.ref(:audio, 0))

:ok = Pipeline.terminate(sink_pipeline_pid, blocking?: true)
:ok = Pipeline.terminate(sink_pipeline_pid)
# RTMP server should terminate when the connection is closed
assert :ok = Task.await(rtmp_server)

Expand Down Expand Up @@ -74,7 +73,6 @@ defmodule Membrane.RTMP.SinkTest do

# There's an RC - there's no way to ensure RTMP server starts to listen before pipeline is started
# so it may retry a few times before succeeding
assert_pipeline_play(sink_pipeline_pid, 5000)

Enum.each(
tracks,
Expand All @@ -83,7 +81,7 @@ defmodule Membrane.RTMP.SinkTest do

Enum.each(tracks, &assert_end_of_stream(sink_pipeline_pid, :rtmp_sink, Pad.ref(&1, 0), 5_000))

:ok = Pipeline.terminate(sink_pipeline_pid, blocking?: true)
:ok = Pipeline.terminate(sink_pipeline_pid)
# RTMP server should terminate when the connection is closed
assert :ok = Task.await(rtmp_server)

Expand All @@ -95,7 +93,7 @@ defmodule Membrane.RTMP.SinkTest do
import Membrane.ChildrenSpec

options = [
structure: [
spec: [
child(:rtmp_sink, %Membrane.RTMP.Sink{rtmp_url: rtmp_url, max_attempts: 5}),
#
child(:video_source, %Membrane.File.Source{location: "test/fixtures/video.msr"})
Expand All @@ -122,7 +120,7 @@ defmodule Membrane.RTMP.SinkTest do
import Membrane.ChildrenSpec

options = [
structure:
spec:
[
child(:rtmp_sink, %Membrane.RTMP.Sink{
rtmp_url: rtmp_url,
Expand Down
20 changes: 6 additions & 14 deletions test/membrane_rtmp_plugin/rtmp_source_bin_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do

pipeline = await_pipeline_started()

assert_pipeline_play(pipeline)

assert_buffers(%{
pipeline: pipeline,
sink: :video_sink,
Expand All @@ -46,7 +44,7 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do
assert_end_of_stream(pipeline, :video_sink, :input)

# Cleanup
Testing.Pipeline.terminate(pipeline, blocking?: true)
Testing.Pipeline.terminate(pipeline)
assert :ok = Task.await(ffmpeg_task)
end

Expand All @@ -61,8 +59,6 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do

pipeline = await_pipeline_started()

assert_pipeline_play(pipeline)

assert_buffers(%{
pipeline: pipeline,
sink: :video_sink,
Expand All @@ -81,7 +77,7 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do
assert_end_of_stream(pipeline, :video_sink, :input)

# Cleanup
Testing.Pipeline.terminate(pipeline, blocking?: true)
Testing.Pipeline.terminate(pipeline)
assert :ok = Task.await(ffmpeg_task)
end

Expand All @@ -99,7 +95,6 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do
end)

pipeline = await_pipeline_started()
assert_pipeline_play(pipeline)

assert_buffers(%{
pipeline: pipeline,
Expand All @@ -112,7 +107,7 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do
assert_end_of_stream(pipeline, :video_sink, :input)

# Cleanup
Testing.Pipeline.terminate(pipeline, blocking?: true)
Testing.Pipeline.terminate(pipeline)
assert :ok = Task.await(ffmpeg_task)
end

Expand All @@ -128,7 +123,6 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do
end)

pipeline = await_pipeline_started()
assert_pipeline_play(pipeline)

assert_buffers(%{
pipeline: pipeline,
Expand All @@ -141,7 +135,7 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do
assert_end_of_stream(pipeline, :video_sink, :input)

# Cleanup
Testing.Pipeline.terminate(pipeline, blocking?: true)
Testing.Pipeline.terminate(pipeline)
assert :ok = Task.await(ffmpeg_task)
end

Expand All @@ -154,7 +148,6 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do
end)

pipeline = await_pipeline_started()
assert_pipeline_play(pipeline)

assert_pipeline_notified(
pipeline,
Expand All @@ -166,7 +159,7 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do
assert_end_of_stream(pipeline, :video_sink, :input)

# Cleanup
Testing.Pipeline.terminate(pipeline, blocking?: true)
Testing.Pipeline.terminate(pipeline)
assert :ok = Task.await(ffmpeg_task)
end

Expand All @@ -179,7 +172,6 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do
end)

pipeline = await_pipeline_started()
assert_pipeline_play(pipeline)

assert_pipeline_notified(
pipeline,
Expand All @@ -188,7 +180,7 @@ defmodule Membrane.RTMP.SourceBin.IntegrationTest do
)

# Cleanup
Testing.Pipeline.terminate(pipeline, blocking?: true)
Testing.Pipeline.terminate(pipeline)
assert :error = Task.await(ffmpeg_task)
end

Expand Down
2 changes: 1 addition & 1 deletion test/support/rtmp_source_test_pipeline.ex
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ defmodule Membrane.RTMP.Source.TestPipeline do

send(test_process, {:pipeline_started, self()})

{[spec: structure, playback: :playing], %{socket: socket}}
{[spec: structure], %{socket: socket}}
end

@impl true
Expand Down

0 comments on commit 99ff44d

Please sign in to comment.