|
1 | 1 | defmodule Membrane.Core.Element.DiamondDetectionController do
|
2 | 2 | @moduledoc false
|
3 | 3 |
|
4 |
| - alias __MODULE__.{DiamondLogger, PathInGraph} |
5 |
| - alias __MODULE__.PathInGraph.Vertex |
6 |
| - alias Membrane.Core.Element.State |
7 |
| - alias Membrane.Element.PadData |
8 |
| - |
9 |
| - require Membrane.Core.Message, as: Message |
10 |
| - require Membrane.Logger |
11 |
| - require Membrane.Pad, as: Pad |
12 |
| - |
13 |
| - @component_path_prefix "__membrane_component_path_64_byte_prefix________________________" |
14 |
| - |
15 |
| - @type diamond_detection_message() :: %{ |
16 |
| - :type => |
17 |
| - :start |
18 |
| - | :start_trigger |
19 |
| - | :diamond_detection |
20 |
| - | :trigger |
21 |
| - | :delete_ref |
22 |
| - | :delete_trigger_ref, |
23 |
| - optional(:ref) => reference(), |
24 |
| - optional(:path) => PathInGraph.t(), |
25 |
| - optional(:pad_ref) => Pad.ref() |
26 |
| - } |
27 |
| - |
28 | 4 | # DESCRIPTION OF THE ALGORITHM OF FINDING DIAMONDS IN THE PIPELINE
|
29 | 5 |
|
30 | 6 | # Definitions:
|
@@ -96,6 +72,31 @@ defmodule Membrane.Core.Element.DiamondDetectionController do
|
96 | 72 | # previous time together make a diamond. Then, the element logs the found diamond
|
97 | 73 | # and doesn't forward proper searching fruther
|
98 | 74 |
|
| 75 | + alias __MODULE__.{DiamondLogger, PathInGraph} |
| 76 | + alias __MODULE__.PathInGraph.Vertex |
| 77 | + alias Membrane.Core.Element.State |
| 78 | + alias Membrane.Element.PadData |
| 79 | + |
| 80 | + require Membrane.Core.Message, as: Message |
| 81 | + require Membrane.Logger |
| 82 | + require Membrane.Pad, as: Pad |
| 83 | + |
| 84 | + @component_path_prefix "__membrane_component_path_64_byte_prefix________________________" |
| 85 | + |
| 86 | + @type diamond_detection_message() :: %{ |
| 87 | + :type => |
| 88 | + :start |
| 89 | + | :start_trigger |
| 90 | + | :diamond_detection |
| 91 | + | :trigger |
| 92 | + | :delete_ref |
| 93 | + | :delete_trigger_ref, |
| 94 | + optional(:ref) => reference(), |
| 95 | + optional(:path) => PathInGraph.t(), |
| 96 | + optional(:pad_ref) => Pad.ref() |
| 97 | + } |
| 98 | + |
| 99 | + |
99 | 100 | @spec handle_diamond_detection_message(diamond_detection_message(), State.t()) :: State.t()
|
100 | 101 | def handle_diamond_detection_message(%{type: type} = message, state) do
|
101 | 102 | case type do
|
|
0 commit comments