Skip to content

Commit dc77a13

Browse files
authored
Merge pull request #310 from membraneframework/release/v0.7.0
Release membrane_core v0.7.0
2 parents 72401b0 + 9b6ce64 commit dc77a13

27 files changed

+207
-140
lines changed

.circleci/config.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: 2.0
22
jobs:
33
test:
44
docker:
5-
- image: membrane/membrane:latest
5+
- image: membraneframeworklabs/docker_membrane
66
environment:
77
MIX_ENV: test
88

@@ -17,7 +17,7 @@ jobs:
1717

1818
lint:
1919
docker:
20-
- image: membrane/bionic-membrane:latest
20+
- image: membraneframeworklabs/docker_membrane
2121
environment:
2222
MIX_ENV: dev
2323

@@ -29,6 +29,7 @@ jobs:
2929
- run: mix format --check-formatted
3030
- run: mix compile
3131
- run: mix credo
32+
- run: mix dialyzer
3233
- run: mix docs && mix docs 2>&1 | (! grep -q "warning:")
3334

3435
workflows:

lib/membrane/bin/action.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ defmodule Membrane.Bin.Action do
6565
was previously set to `:no_interval`.
6666
6767
If the `interval` is `:no_interval`, the timer won't issue any ticks until
68-
another `t:set_interval_t/0` action. Otherwise, the timer will issue ticks every
68+
another `t:timer_interval_t/0` action. Otherwise, the timer will issue ticks every
6969
new `interval`. The next tick after interval change is scheduled at
7070
`new_interval + previous_time`, where previous_time is the time of the latest
7171
tick or the time of returning `t:start_timer_t/0` action if no tick has been

lib/membrane/core/bin/state.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ defmodule Membrane.Core.Bin.State do
1414
alias Membrane.Core.Parent.Link
1515
alias Membrane.Core.Parent.ChildrenModel
1616
alias Membrane.{Child, Clock, Sync}
17+
alias Membrane.Core.Parent.CrashGroup
1718

1819
@type t :: %__MODULE__{
1920
internal_state: Membrane.Bin.state_t() | nil,

lib/membrane/core/callback_handler.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ defmodule Membrane.Core.CallbackHandler do
2424
{:ok, internal_state}
2525
| {{:ok, [action]}, internal_state}
2626
| {{:error, any}, internal_state}
27+
| {:error, any}
2728

2829
@type callback_return_t :: callback_return_t(any, any)
2930

lib/membrane/core/element/caps_controller.ex

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ defmodule Membrane.Core.Element.CapsController do
66
use Bunch
77

88
alias Membrane.{Caps, Pad}
9-
alias Membrane.Core.{CallbackHandler, InputBuffer}
9+
alias Membrane.Core.{CallbackHandler, InputBuffer, Telemetry}
1010
alias Membrane.Core.Child.PadModel
1111
alias Membrane.Core.Element.{ActionHandler, State}
1212
alias Membrane.Element.CallbackContext
@@ -19,6 +19,8 @@ defmodule Membrane.Core.Element.CapsController do
1919
"""
2020
@spec handle_caps(Pad.ref_t(), Caps.t(), State.t()) :: State.stateful_try_t()
2121
def handle_caps(pad_ref, caps, state) do
22+
Telemetry.report_metric("caps", 1, inspect(pad_ref))
23+
2224
PadModel.assert_data!(state, pad_ref, %{direction: :input})
2325
data = PadModel.get_data!(state, pad_ref)
2426

lib/membrane/core/element/demand_handler.ex

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,7 @@ defmodule Membrane.Core.Element.DemandHandler do
166166
else
167167
{{:error, reason}, state} ->
168168
Membrane.Logger.error("""
169-
Error while supplying demand on pad #{inspect(pad_ref)} of size #{
170-
inspect(pad_data.demand)
171-
}
169+
Error while supplying demand on pad #{inspect(pad_ref)} of size #{inspect(pad_data.demand)}
172170
""")
173171

174172
{{:error, {:supply_demand, reason}}, %State{state | supplying_demand?: false}}

lib/membrane/core/element/event_controller.ex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ defmodule Membrane.Core.Element.EventController do
66
use Bunch
77

88
alias Membrane.{Event, Pad, Sync}
9-
alias Membrane.Core.{CallbackHandler, Events, InputBuffer, Message}
9+
alias Membrane.Core.{CallbackHandler, Events, InputBuffer, Message, Telemetry}
1010
alias Membrane.Core.Child.PadModel
1111
alias Membrane.Core.Element.{ActionHandler, State}
1212
alias Membrane.Element.CallbackContext
@@ -27,6 +27,8 @@ defmodule Membrane.Core.Element.EventController do
2727
"""
2828
@spec handle_event(Pad.ref_t(), Event.t(), State.t()) :: State.stateful_try_t()
2929
def handle_event(pad_ref, event, state) do
30+
Telemetry.report_metric("event", 1, inspect(pad_ref))
31+
3032
pad_data = PadModel.get_data!(state, pad_ref)
3133

3234
if not Event.async?(event) && pad_data.mode == :pull && pad_data.direction == :input &&
@@ -158,9 +160,7 @@ defmodule Membrane.Core.Element.EventController do
158160
{{:ok, :ignore}, state}
159161

160162
playback: %{state: playback_state} ->
161-
raise "Received end of stream event in an incorrect state. State: #{
162-
inspect(playback_state, pretty: true)
163-
}, on pad: #{inspect(pad_ref)}"
163+
raise "Received end of stream event in an incorrect state. State: #{inspect(playback_state, pretty: true)}, on pad: #{inspect(pad_ref)}"
164164
end
165165
end
166166

lib/membrane/core/element/lifecycle_controller.ex

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,7 @@ defmodule Membrane.Core.Element.LifecycleController do
7070
Membrane.Logger.debug("Terminating element, reason: #{inspect(reason)}")
7171
else
7272
Membrane.Logger.warn("""
73-
Terminating element possibly not prepared for termination as it was in state #{
74-
inspect(playback_state)
75-
}.
73+
Terminating element possibly not prepared for termination as it was in state #{inspect(playback_state)}.
7674
Reason: #{inspect(reason)}",
7775
State: #{inspect(state, pretty: true)}
7876
""")

lib/membrane/core/element/playback_buffer.ex

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -115,15 +115,11 @@ defmodule Membrane.Core.Element.PlaybackBuffer do
115115
pad_ref = Message.for_pad(msg)
116116

117117
with :ok <- PadModel.assert_data(state, pad_ref, %{direction: :output}) do
118-
Membrane.Logger.debug_verbose(
119-
"Received #{
120-
if size == 0 do
121-
"dumb demand"
122-
else
123-
"demand of size #{inspect(size)}"
124-
end
125-
} on pad #{inspect(pad_ref)}"
126-
)
118+
Membrane.Logger.debug_verbose("Received #{if size == 0 do
119+
"dumb demand"
120+
else
121+
"demand of size #{inspect(size)}"
122+
end} on pad #{inspect(pad_ref)}")
127123

128124
DemandController.handle_demand(pad_ref, size, state)
129125
end

lib/membrane/core/input_buffer.ex

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,8 @@ defmodule Membrane.Core.InputBuffer do
1010
use Bunch
1111

1212
alias Membrane.Buffer
13-
alias Membrane.Core.Message
13+
alias Membrane.Core.{Message, Telemetry}
1414
alias Membrane.Pad
15-
alias Membrane.Telemetry
16-
alias Membrane.ComponentPath
1715

1816
require Membrane.Core.Message
1917
require Membrane.Logger
@@ -326,17 +324,7 @@ defmodule Membrane.Core.InputBuffer do
326324
end
327325

328326
defp report_buffer_size(method, size, %__MODULE__{log_tag: log_tag}) do
329-
:telemetry.execute(
330-
Telemetry.input_buffer_size_event_name(),
331-
%{
332-
element_path:
333-
ComponentPath.get_formatted() <>
334-
"/" <> (log_tag || ""),
335-
method: method,
336-
value: size
337-
},
338-
%{}
339-
)
327+
Telemetry.report_metric(method, size, log_tag)
340328
end
341329

342330
@spec empty?(t()) :: boolean()

0 commit comments

Comments
 (0)