From 28ff5b3aaea745338f7229bcb4d7290d5cf56aac Mon Sep 17 00:00:00 2001 From: Mateusz Front Date: Fri, 9 Feb 2024 17:11:40 +0100 Subject: [PATCH 1/2] Remove portaudio and mad installation instructions from readme (#748) --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index a7d250fc5..caed0cbdc 100644 --- a/README.md +++ b/README.md @@ -53,10 +53,6 @@ Membrane.Pipeline.start_link(MyPipeline, mp3_url) ``` This is an [Elixir](elixir-lang.org) snippet, that streams an mp3 via HTTP and plays it on your speaker. Here's how to run it: -- Install [libmad](https://github.com/markjeee/libmad) and [portaudio](https://github.com/PortAudio/portaudio). Membrane uses these libs to decode the mp3 and to access your speaker, respectively. You can use these commands: - - On Mac OS: `brew install libmad portaudio pkg-config` - - On Debian: `apt install libmad0-dev portaudio19-dev` - - Option 1: Click the button below: [![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fgithub.com%2Fmembraneframework%2Fmembrane_core%2Fblob%2Fmaster%2Fexample.livemd) From 12f1e8ed006b39571d4892aaf64b82b859880591 Mon Sep 17 00:00:00 2001 From: Brad Hanks Date: Mon, 12 Feb 2024 08:24:24 -0700 Subject: [PATCH 2/2] lib/membrane/utility_supervisor.ex doc edits (#746) --- lib/membrane/utility_supervisor.ex | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/membrane/utility_supervisor.ex b/lib/membrane/utility_supervisor.ex index a46bbbfd3..b60d556e2 100644 --- a/lib/membrane/utility_supervisor.ex +++ b/lib/membrane/utility_supervisor.ex @@ -1,14 +1,16 @@ defmodule Membrane.UtilitySupervisor do @moduledoc """ - A supervisor that allows to start utility processes under the pipeline's + A supervisor responsible for managing utility processes under the pipeline's supervision tree. - The supervisor is spawned with each component and can be obtained from - callback contexts. + The supervisor is spawned with each component and can be accessed from callback contexts. - The supervisor never restarts any processes, it just makes sure they - terminate when the component that started them terminates. If restarting - is needed, a dedicated supervisor should be spawned under this supervisor, like + `Membrane.UtilitySupervisor` does not restart processes. Rather, it ensures that these utility processes + terminate gracefully when the component that initiated them terminates. + + If a process needs to be able to restart, spawn a dedicated supervisor under this supervisor. + + ## Example def handle_setup(ctx, state) do Membrane.UtilitySupervisor.start_link_child( @@ -26,7 +28,7 @@ defmodule Membrane.UtilitySupervisor do @doc """ Starts a process under the utility supervisor. - Semantics of the `child_spec` argument is the same as in `Supervisor.child_spec/2`. + Semantics of the `child_spec` argument are the same as in `Supervisor.child_spec/2`. """ @spec start_child(t, Supervisor.child_spec() | {module(), term()} | module()) :: Supervisor.on_start_child() @@ -37,7 +39,7 @@ defmodule Membrane.UtilitySupervisor do @doc """ Starts a process under the utility supervisor and links it to the current process. - Semantics of the `child_spec` argument is the same as in `Supervisor.child_spec/2`. + Semantics of the `child_spec` argument are the same as in `Supervisor.child_spec/2`. """ @spec start_link_child(t, Supervisor.child_spec() | {module(), term()} | module()) :: Supervisor.on_start_child()