From f8cf57d4fe92b841ea159153cc4b15617299a12b Mon Sep 17 00:00:00 2001 From: "feliks.pobiedzinski@swmansion.com" Date: Thu, 13 Mar 2025 14:42:11 +0100 Subject: [PATCH 1/2] Rename enforce_transcoding to force_transcoding --- lib/transcoder.ex | 16 ++++++++-------- lib/transcoder/audio.ex | 10 +++++----- lib/transcoder/video.ex | 10 +++++----- test/integration_test.exs | 8 ++++---- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/lib/transcoder.ex b/lib/transcoder.ex index 62b44ce..a158716 100644 --- a/lib/transcoder.ex +++ b/lib/transcoder.ex @@ -69,7 +69,7 @@ defmodule Membrane.Transcoder do and is supposed to return the desired output stream format or its module. """ ], - enforce_transcoding?: [ + force_transcoding?: [ spec: boolean() | (stream_format() -> boolean()), default: false, description: """ @@ -113,8 +113,8 @@ defmodule Membrane.Transcoder do |> resolve_output_stream_format() state = - with %{enforce_transcoding?: f} when is_function(f) <- state do - %{state | enforce_transcoding?: f.(format)} + with %{force_transcoding?: f} when is_function(f) <- state do + %{state | force_transcoding?: f.(format)} end spec = @@ -122,7 +122,7 @@ defmodule Membrane.Transcoder do |> plug_transcoding( format, state.output_stream_format, - state.enforce_transcoding? + state.force_transcoding? ) |> get_child(:output_funnel) @@ -166,15 +166,15 @@ defmodule Membrane.Transcoder do end end - defp plug_transcoding(builder, input_format, output_format, enforce_transcoding?) + defp plug_transcoding(builder, input_format, output_format, force_transcoding?) when Audio.is_audio_format(input_format) do builder - |> Audio.plug_audio_transcoding(input_format, output_format, enforce_transcoding?) + |> Audio.plug_audio_transcoding(input_format, output_format, force_transcoding?) end - defp plug_transcoding(builder, input_format, output_format, enforce_transcoding?) + defp plug_transcoding(builder, input_format, output_format, force_transcoding?) when Video.is_video_format(input_format) do builder - |> Video.plug_video_transcoding(input_format, output_format, enforce_transcoding?) + |> Video.plug_video_transcoding(input_format, output_format, force_transcoding?) end end diff --git a/lib/transcoder/audio.ex b/lib/transcoder/audio.ex index 5f43402..074ffe7 100644 --- a/lib/transcoder/audio.ex +++ b/lib/transcoder/audio.ex @@ -35,16 +35,16 @@ defmodule Membrane.Transcoder.Audio do audio_stream_format(), boolean() ) :: ChildrenSpec.builder() - def plug_audio_transcoding(builder, input_format, output_format, enforce_transcoding?) + def plug_audio_transcoding(builder, input_format, output_format, force_transcoding?) when is_audio_format(input_format) and is_audio_format(output_format) do - do_plug_audio_transcoding(builder, input_format, output_format, enforce_transcoding?) + do_plug_audio_transcoding(builder, input_format, output_format, force_transcoding?) end defp do_plug_audio_transcoding( builder, %format_module{}, %format_module{}, - false = _enforce_transcoding? + false = _force_transcoding? ) do Membrane.Logger.debug(""" This bin will only forward buffers, as the input stream format is the same as the output stream format. @@ -57,12 +57,12 @@ defmodule Membrane.Transcoder.Audio do builder, %RemoteStream{content_format: Opus}, %Opus{}, - false = _enforce_transcoding? + false = _force_transcoding? ) do builder |> child(:opus_parser, Opus.Parser) end - defp do_plug_audio_transcoding(builder, input_format, output_format, _enforce_transcoding?) do + defp do_plug_audio_transcoding(builder, input_format, output_format, _force_transcoding?) do builder |> maybe_plug_parser(input_format) |> maybe_plug_decoder(input_format) diff --git a/lib/transcoder/video.ex b/lib/transcoder/video.ex index 3aed1b3..0fafe76 100644 --- a/lib/transcoder/video.ex +++ b/lib/transcoder/video.ex @@ -19,16 +19,16 @@ defmodule Membrane.Transcoder.Video do video_stream_format(), boolean() ) :: ChildrenSpec.builder() - def plug_video_transcoding(builder, input_format, output_format, enforce_transcoding?) + def plug_video_transcoding(builder, input_format, output_format, force_transcoding?) when is_video_format(input_format) and is_video_format(output_format) do - do_plug_video_transcoding(builder, input_format, output_format, enforce_transcoding?) + do_plug_video_transcoding(builder, input_format, output_format, force_transcoding?) end defp do_plug_video_transcoding( builder, %h26x{}, %h26x{} = output_format, - false = _enforce_transcoding? + false = _force_transcoding? ) when h26x in [H264, H265] do parser = @@ -46,7 +46,7 @@ defmodule Membrane.Transcoder.Video do builder, %format_module{}, %format_module{}, - false = _enforce_transcoding? + false = _force_transcoding? ) do Membrane.Logger.debug(""" This bin will only forward buffers, as the input stream format is the same type as the output stream format. @@ -55,7 +55,7 @@ defmodule Membrane.Transcoder.Video do builder end - defp do_plug_video_transcoding(builder, input_format, output_format, _enforce_transcoding?) do + defp do_plug_video_transcoding(builder, input_format, output_format, _force_transcoding?) do builder |> maybe_plug_parser_and_decoder(input_format) |> maybe_plug_encoder_and_parser(output_format) diff --git a/test/integration_test.exs b/test/integration_test.exs index 9e4c896..e633cbf 100644 --- a/test/integration_test.exs +++ b/test/integration_test.exs @@ -67,14 +67,14 @@ defmodule Membrane.Transcoder.IntegrationTest do do: {[stream_format: {:output, state.format}], state} end - test "if encoder and decoder are spawned or not, depending on the value of `enforce_transcoding?` option" do + test "if encoder and decoder are spawned or not, depending on the value of `force_transcoding?` option" do for format <- [%AAC{channels: 1}, %H264{alignment: :au, stream_structure: :annexb}], - enforce_transcoding? <- [true, false] do + force_transcoding? <- [true, false] do spec = child(:source, %FormatSource{format: format}) |> child(:transcoder, %Membrane.Transcoder{ output_stream_format: format, - enforce_transcoding?: enforce_transcoding? + force_transcoding?: force_transcoding? }) |> child(:sink, Testing.Sink) @@ -89,7 +89,7 @@ defmodule Membrane.Transcoder.IntegrationTest do |> Enum.each(fn child_name -> get_child_result = Testing.Pipeline.get_child_pid(pipeline, [:transcoder, child_name]) - if enforce_transcoding? do + if force_transcoding? do assert {:ok, child_pid} = get_child_result assert is_pid(child_pid) else From 059d621761d3a396fd1d7971a8c28b9c1598c58c Mon Sep 17 00:00:00 2001 From: "feliks.pobiedzinski@swmansion.com" Date: Fri, 14 Mar 2025 15:15:04 +0100 Subject: [PATCH 2/2] Bump version to 0.2 --- README.md | 2 +- mix.exs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a43054c..294d33c 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ The package can be installed by adding `membrane_transcoder_plugin` to your list ```elixir def deps do [ - {:membrane_transcoder_plugin, "~> 0.1.3"} + {:membrane_transcoder_plugin, "~> 0.2.0"} ] end ``` diff --git a/mix.exs b/mix.exs index da2cb83..180c90d 100644 --- a/mix.exs +++ b/mix.exs @@ -1,7 +1,7 @@ defmodule Membrane.Transcoder.Plugin.Mixfile do use Mix.Project - @version "0.1.3" + @version "0.2.0" @github_url "https://github.com/membraneframework/membrane_transcoder_plugin" def project do