diff --git a/CHANGELOG.md b/CHANGELOG.md index bded5c2d1..3877736a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,6 @@ - ## 0.9.0 +# Changelog + +## 0.9.0 * Automatic demands [#313](https://github.com/membraneframework/membrane_core/pull/313) * Stop forwarding notifications by default in bins [#358](https://github.com/membraneframework/membrane_core/pull/358) * More fine-grained control over emitted metrics [#365](https://github.com/membraneframework/membrane_core/pull/365) diff --git a/README.md b/README.md index 5e6550f3c..8650b1649 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ This package provides core of the [Membrane Multimedia Framework](https://membra Add the following line to your `deps` in `mix.exs`. Run `mix deps.get`. ```elixir -{:membrane_core, "~> 0.8.1"} +{:membrane_core, "~> 0.9.0"} ``` ## Getting started @@ -33,6 +33,7 @@ To get familiar with basic concepts and build your first application using Membr API documentation is available at [HexDocs](https://hexdocs.pm/membrane_core/). Moreover, we would like to invite you to take some of the [Membrane Tutorials](https://tutorials.membraneframework.org), based on real-life use cases. + ## Contributing Any contributions are more than welcome! You can help us improving Membrane by either contributing to the core (see [opened issues](https://github.com/membraneframework/membrane-core/issues)), extending our [guide](https://github.com/membraneframework/guide) or by creating new elements. diff --git a/lib/membrane/caps/matcher.ex b/lib/membrane/caps/matcher.ex index 032ab07d1..eb612489a 100644 --- a/lib/membrane/caps/matcher.ex +++ b/lib/membrane/caps/matcher.ex @@ -129,7 +129,7 @@ defmodule Membrane.Caps.Matcher do @spec match?(caps_specs_t(), struct() | any()) :: boolean() def match?(:any, _caps), do: true - def match?(specs, %_{} = caps) when is_list(specs) do + def match?(specs, %_caps_module{} = caps) when is_list(specs) do specs |> Enum.any?(fn spec -> match?(spec, caps) end) end diff --git a/lib/membrane/core/element.ex b/lib/membrane/core/element.ex index 153d3ae34..fc2885a64 100644 --- a/lib/membrane/core/element.ex +++ b/lib/membrane/core/element.ex @@ -198,7 +198,7 @@ defmodule Membrane.Core.Element do noreply({:ok, state}) end - defp do_handle_info(Message.new(_, _, _) = message, state) do + defp do_handle_info(Message.new(_type, _args, _opts) = message, state) do {{:error, {:invalid_message, message, mode: :info}}, state} |> noreply(state) end diff --git a/lib/membrane/pipeline.ex b/lib/membrane/pipeline.ex index a1465bccd..371f8a162 100644 --- a/lib/membrane/pipeline.ex +++ b/lib/membrane/pipeline.ex @@ -280,7 +280,7 @@ defmodule Membrane.Pipeline do defp wait_for_down(ref, timeout) do receive do - {:DOWN, ^ref, _, _, _} -> + {:DOWN, ^ref, _process, _pid, _reason} -> :ok after timeout -> diff --git a/mix.exs b/mix.exs index ec3ff481d..d9fb57653 100644 --- a/mix.exs +++ b/mix.exs @@ -1,14 +1,14 @@ defmodule Membrane.Mixfile do use Mix.Project - @version "0.8.1" + @version "0.9.0" @source_ref "v#{@version}" def project do [ app: :membrane_core, version: @version, - elixir: "~> 1.10", + elixir: "~> 1.12", elixirc_paths: elixirc_paths(Mix.env()), description: "Membrane Multimedia Framework (Core)", dialyzer: [ @@ -33,7 +33,7 @@ defmodule Membrane.Mixfile do end def application do - [extra_applications: [], mod: {Membrane, []}] + [extra_applications: [:logger], mod: {Membrane, []}] end defp elixirc_paths(:test), do: ["lib", "spec/support", "test/support"] @@ -46,7 +46,7 @@ defmodule Membrane.Mixfile do defp docs do [ main: "readme", - extras: ["README.md", "CONTRIBUTING.md", LICENSE: [title: "License"]], + extras: ["README.md", "CHANGELOG.md", "CONTRIBUTING.md", LICENSE: [title: "License"]], formatters: ["html"], source_ref: @source_ref, nest_modules_by_prefix: [ @@ -97,7 +97,7 @@ defmodule Membrane.Mixfile do defp package do [ maintainers: ["Membrane Team"], - licenses: ["Apache 2.0"], + licenses: ["Apache-2.0"], links: %{ "GitHub" => link(), "Membrane Framework Homepage" => "https://membraneframework.org" @@ -107,11 +107,11 @@ defmodule Membrane.Mixfile do defp deps do [ - {:ex_doc, "~> 0.21", only: :dev, runtime: false}, - {:dialyxir, "~> 1.0.0", only: :dev, runtime: false}, - {:credo, "~> 1.4", only: :dev, runtime: false}, + {:ex_doc, "~> 0.28", only: :dev, runtime: false}, + {:dialyxir, "~> 1.1", only: :dev, runtime: false}, + {:credo, "~> 1.6", only: :dev, runtime: false}, {:espec, "~> 1.8.3", only: :test}, - {:excoveralls, "~> 0.11", only: :test}, + {:excoveralls, "~> 0.14", only: :test}, {:qex, "~> 0.3"}, {:telemetry, "~> 1.0"}, {:bunch, "~> 1.3"}, diff --git a/mix.lock b/mix.lock index 1ee91207d..3611b78d3 100644 --- a/mix.lock +++ b/mix.lock @@ -1,29 +1,29 @@ %{ "bunch": {:hex, :bunch, "1.3.0", "51b4423088b7fb9e21eae6d6bc5e5d219d955ea5556fbd6130bfb6213df4be32", [:mix], [], "hexpm", "9ad233a2bacc0dae8aa6553a9b9057f27446443b1c5903c3479b6f9f3820ce2d"}, "bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"}, - "certifi": {:hex, :certifi, "2.8.0", "d4fb0a6bb20b7c9c3643e22507e42f356ac090a1dcea9ab99e27e0376d695eba", [:rebar3], [], "hexpm", "6ac7efc1c6f8600b08d625292d4bbf584e14847ce1b6b5c44d983d273e1097ea"}, + "certifi": {:hex, :certifi, "2.9.0", "6f2a475689dd47f19fb74334859d460a2dc4e3252a3324bd2111b8f0429e7e21", [:rebar3], [], "hexpm", "266da46bdb06d6c6d35fde799bcb28d36d985d424ad7c08b5bb48f5b5cdd4641"}, "coerce": {:hex, :coerce, "1.0.1", "211c27386315dc2894ac11bc1f413a0e38505d808153367bd5c6e75a4003d096", [:mix], [], "hexpm", "b44a691700f7a1a15b4b7e2ff1fa30bebd669929ac8aa43cffe9e2f8bf051cf1"}, - "credo": {:hex, :credo, "1.6.1", "7dc76dcdb764a4316c1596804c48eada9fff44bd4b733a91ccbf0c0f368be61e", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "698607fb5993720c7e93d2d8e76f2175bba024de964e160e2f7151ef3ab82ac5"}, - "dialyxir": {:hex, :dialyxir, "1.0.0", "6a1fa629f7881a9f5aaf3a78f094b2a51a0357c843871b8bc98824e7342d00a5", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "aeb06588145fac14ca08d8061a142d52753dbc2cf7f0d00fc1013f53f8654654"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.17", "6f3c7e94170377ba45241d394389e800fb15adc5de51d0a3cd52ae766aafd63f", [:mix], [], "hexpm", "f93ac89c9feca61c165b264b5837bf82344d13bebc634cd575cb711e2e342023"}, + "credo": {:hex, :credo, "1.6.3", "0a9f8925dbc8f940031b789f4623fc9a0eea99d3eed600fe831e403eb96c6a83", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "1167cde00e6661d740fc54da2ee268e35d3982f027399b64d3e2e83af57a1180"}, + "dialyxir": {:hex, :dialyxir, "1.1.0", "c5aab0d6e71e5522e77beff7ba9e08f8e02bad90dfbeffae60eaf0cb47e29488", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "07ea8e49c45f15264ebe6d5b93799d4dd56a44036cf42d0ad9c960bc266c0b9a"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.19", "de0d033d5ff9fc396a24eadc2fcf2afa3d120841eb3f1004d138cbf9273210e8", [:mix], [], "hexpm", "527ab6630b5c75c3a3960b75844c314ec305c76d9899bb30f71cb85952a9dc45"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "espec": {:hex, :espec, "1.8.3", "b55e6e34fd8e64fe5e478fbb0ef94b10f976bb2088a7dfc4a1095f0cef55f113", [:mix], [{:meck, "~> 0.9", [hex: :meck, repo: "hexpm", optional: false]}], "hexpm", "c10e73e4ea0316e30c2066ba0292a810e017cb1a34fd76a7f803083c478d4288"}, - "ex_doc": {:hex, :ex_doc, "0.25.5", "ac3c5425a80b4b7c4dfecdf51fa9c23a44877124dd8ca34ee45ff608b1c6deb9", [:mix], [{:earmark_parser, "~> 1.4.0", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "688cfa538cdc146bc4291607764a7f1fcfa4cce8009ecd62de03b27197528350"}, + "ex_doc": {:hex, :ex_doc, "0.28.0", "7eaf526dd8c80ae8c04d52ac8801594426ae322b52a6156cd038f30bafa8226f", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "e55cdadf69a5d1f4cfd8477122ebac5e1fadd433a8c1022dafc5025e48db0131"}, "excoveralls": {:hex, :excoveralls, "0.14.4", "295498f1ae47bdc6dce59af9a585c381e1aefc63298d48172efaaa90c3d251db", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "e3ab02f2df4c1c7a519728a6f0a747e71d7d6e846020aae338173619217931c1"}, "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, - "hackney": {:hex, :hackney, "1.18.0", "c4443d960bb9fba6d01161d01cd81173089686717d9490e5d3606644c48d121f", [:rebar3], [{:certifi, "~>2.8.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "9afcda620704d720db8c6a3123e9848d09c87586dc1c10479c42627b905b5c5e"}, + "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, - "jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"}, - "makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"}, + "jason": {:hex, :jason, "1.3.0", "fa6b82a934feb176263ad2df0dbd91bf633d4a46ebfdffea0c8ae82953714946", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "53fc1f51255390e0ec7e50f9cb41e751c260d065dcba2bf0d08dc51a4002c2ac"}, + "makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"}, "makeup_elixir": {:hex, :makeup_elixir, "0.15.2", "dc72dfe17eb240552857465cc00cce390960d9a0c055c4ccd38b70629227e97c", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "fd23ae48d09b32eff49d4ced2b43c9f086d402ee4fd4fcb2d7fad97fa8823e75"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, "meck": {:hex, :meck, "0.9.2", "85ccbab053f1db86c7ca240e9fc718170ee5bda03810a6292b5306bf31bae5f5", [:rebar3], [], "hexpm", "81344f561357dc40a8344afa53767c32669153355b626ea9fcbc8da6b3045826"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, - "nimble_parsec": {:hex, :nimble_parsec, "1.2.0", "b44d75e2a6542dcb6acf5d71c32c74ca88960421b6874777f79153bbbbd7dccc", [:mix], [], "hexpm", "52b2871a7515a5ac49b00f214e4165a40724cf99798d8e4a65e4fd64ebd002c1"}, + "nimble_parsec": {:hex, :nimble_parsec, "1.2.2", "b99ca56bbce410e9d5ee4f9155a212e942e224e259c7ebbf8f2c86ac21d4fa3c", [:mix], [], "hexpm", "98d51bd64d5f6a2a9c6bb7586ee8129e27dfaab1140b5a4753f24dac0ba27d2f"}, "numbers": {:hex, :numbers, "5.2.4", "f123d5bb7f6acc366f8f445e10a32bd403c8469bdbce8ce049e1f0972b607080", [:mix], [{:coerce, "~> 1.0", [hex: :coerce, repo: "hexpm", optional: false]}, {:decimal, "~> 1.9 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "eeccf5c61d5f4922198395bf87a465b6f980b8b862dd22d28198c5e6fab38582"}, "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, - "qex": {:hex, :qex, "0.5.0", "5a3a9becf67d4006377c4c247ffdaaa8ae5b3634a0caadb788dc24d6125068f4", [:mix], [], "hexpm", "4ad6f6421163cd8204509a119a5c9813cbb969cfb8d802a9dc49b968bffbac2a"}, + "qex": {:hex, :qex, "0.5.1", "0d82c0f008551d24fffb99d97f8299afcb8ea9cf99582b770bd004ed5af63fd6", [:mix], [], "hexpm", "935a39fdaf2445834b95951456559e9dc2063d0a055742c558a99987b38d6bab"}, "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"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, "telemetry": {:hex, :telemetry, "1.0.0", "0f453a102cdf13d506b7c0ab158324c337c41f1cc7548f0bc0e130bbf0ae9452", [:rebar3], [], "hexpm", "73bc09fa59b4a0284efb4624335583c528e07ec9ae76aca96ea0673850aec57a"}, diff --git a/test/membrane/buffer_metric/byte_size_test.exs b/test/membrane/buffer_metric/byte_size_test.exs index 35bcef107..ed51342d6 100644 --- a/test/membrane/buffer_metric/byte_size_test.exs +++ b/test/membrane/buffer_metric/byte_size_test.exs @@ -37,17 +37,11 @@ defmodule Membrane.Buffer.Metric.ByteSizeTest do assert rest == [@buf1] end - test "when splitting buffer is necessary extracts first buffer and create separate \ - buffer for the first part of the second buffer" do - {extracted, _} = ByteSize.split_buffers(@buffers, byte_size(@pay1) + 1) - <> = @pay2 + test "when splitting is necessary it extracts the first buffer and splits the second into two" do + {extracted, rest} = ByteSize.split_buffers(@buffers, byte_size(@pay1) + 1) + <> = @pay2 assert extracted == [@buf1, %Membrane.Buffer{payload: one_byte}] - end - - test "when splitting buffer is necessary return the second part of the second buffer" do - {_, rest} = ByteSize.split_buffers(@buffers, byte_size(@pay1) + 1) - <<_::binary-size(1), expected_pay::binary>> = @pay2 - assert rest == [%Membrane.Buffer{payload: expected_pay}] + assert rest == [%Membrane.Buffer{payload: expected_rest}] end end end diff --git a/test/support/bin/test_bins.ex b/test/support/bin/test_bins.ex index 0065815cc..d15736f97 100644 --- a/test/support/bin/test_bins.ex +++ b/test/support/bin/test_bins.ex @@ -125,7 +125,7 @@ defmodule Membrane.Support.Bin.TestBins do end @impl true - def handle_pad_added(Pad.ref(:input, _) = pad, _ctx, state) do + def handle_pad_added(Pad.ref(:input, _id) = pad, _ctx, state) do links = [ link_bin_input(pad) |> to(:filter) ] @@ -133,7 +133,7 @@ defmodule Membrane.Support.Bin.TestBins do {{:ok, notify: {:handle_pad_added, pad}, spec: %ParentSpec{links: links}}, state} end - def handle_pad_added(Pad.ref(:output, _) = pad, _ctx, state) do + def handle_pad_added(Pad.ref(:output, _id) = pad, _ctx, state) do links = [ link(:filter) |> to_bin_output(pad) ] @@ -175,7 +175,7 @@ defmodule Membrane.Support.Bin.TestBins do end @impl true - def handle_pad_added(Pad.ref(:input, _) = pad, _ctx, state) do + def handle_pad_added(Pad.ref(:input, _id) = pad, _ctx, state) do links = [ link_bin_input(pad) |> to(:filter1) ] @@ -183,7 +183,7 @@ defmodule Membrane.Support.Bin.TestBins do {{:ok, notify: {:handle_pad_added, pad}, spec: %ParentSpec{links: links}}, state} end - def handle_pad_added(Pad.ref(:output, _) = pad, _ctx, state) do + def handle_pad_added(Pad.ref(:output, _id) = pad, _ctx, state) do links = [ link(:filter2) |> to_bin_output(pad) ] diff --git a/test/support/dynamic_filter.ex b/test/support/dynamic_filter.ex index eec04b487..272b3b544 100644 --- a/test/support/dynamic_filter.ex +++ b/test/support/dynamic_filter.ex @@ -20,12 +20,12 @@ defmodule Membrane.Support.Element.DynamicFilter do end @impl true - def handle_pad_added(Pad.ref(:input, _) = ref, _ctx, state) do + def handle_pad_added(Pad.ref(:input, _id) = ref, _ctx, state) do {:ok, state |> Map.put(:last_pad_addded, ref)} end @impl true - def handle_pad_removed(Pad.ref(:input, _) = ref, _ctx, state) do + def handle_pad_removed(Pad.ref(:input, _id) = ref, _ctx, state) do {:ok, state |> Map.put(:last_pad_removed, ref)} end