[error] [:mic_input] Terminating GenServer, reason: :pa_open_stream,
Closed this issue · 2 comments
puruzio commented
I'm getting this error at mix phx.server
after compiling everything successfully. Is there something else that needs to be done to make "mic_input" to work? Thanks.
[debug] [:sink] Initializing element: Membrane.Element.Fake.Sink.Buffers, options: nil
[debug] [:sink] Element initialized: Membrane.Element.Fake.Sink.Buffers
[info] CONNECTED TO Phoenix.LiveView.Socket in 41µs
Transport: :websocket
Serializer: Phoenix.Socket.V2.JSONSerializer
Parameters: %{"_csrf_token" => "eR4nERwtEBALJ1M2ISQbDy1Df1wuPFcj1mctl_TbgWjflvCCl-JnvY9j", "_mounts" => "0", "_track_static" => %{"0" => "http://localhost:4000/css/app.css", "1" => "http://localhost:4000/js/app.js"}, "vsn" => "2.0.0"}
[debug] [pipeline@<0.535.0>] Changing playback state from stopped to prepared
[debug] [pipeline@<0.535.0>] Playback state changed from stopped to prepared
[debug] [pipeline@<0.535.0>] Changing playback state from prepared to playing
[debug] [:sink] Evaluating playback buffer
[debug] [:audiometer] Evaluating playback buffer
[error] [:mic_input] Callback :handle_prepared_to_playing from module Membrane.PortAudio.Source returned an error
Internal state: %{
endpoint_id: :default,
latency: :high,
native: nil,
portaudio_buffer_size: 256
}
[error] [:mic_input] Terminating GenServer, reason: :pa_open_stream,
old state: %Membrane.Core.Element.State{
delayed_demands: #MapSet<[]>,
internal_state: %{
endpoint_id: :default,
latency: :high,
native: nil,
portaudio_buffer_size: 256
},
module: Membrane.PortAudio.Source,
name: :mic_input,
pads: %{
data: %{
output: %Membrane.Pad.Data{
accepted_caps: {Membrane.Caps.Audio.Raw,
[channels: 2, sample_rate: 48000, format: :s16le]},
availability: :always,
caps: nil,
demand: nil,
demand_unit: nil,
direction: :output,
end_of_stream?: false,
input_buf: nil,
mode: :push,
name: :output,
options: nil,
other_demand_unit: nil,
other_ref: :input,
pid: #PID<0.541.0>,
ref: :output,
start_of_stream?: false,
sticky_messages: nil
}
},
dynamic_currently_linking: [],
info: %{}
},
parent_pid: #PID<0.535.0>,
playback: %Membrane.Core.Playback{
async_state_change: false,
pending_state: nil,
state: :prepared,
target_state: :prepared
},
playback_buffer: %Membrane.Core.Element.PlaybackBuffer{
q: #Qex<[{Membrane.Core.Message, :demand, 40, [for_pad: :output]}]>
},
supplying_demand?: false,
synchronization: %{
clock: nil,
latency: 0,
parent_clock: #PID<0.537.0>,
stream_sync: :membrane_no_sync,
timers: %{}
},
type: :source
},
new state: %Membrane.Core.Element.State{
delayed_demands: #MapSet<[]>,
internal_state: %{
endpoint_id: :default,
latency: :high,
native: nil,
portaudio_buffer_size: 256
},
module: Membrane.PortAudio.Source,
name: :mic_input,
pads: %{
data: %{
output: %Membrane.Pad.Data{
accepted_caps: {Membrane.Caps.Audio.Raw,
[channels: 2, sample_rate: 48000, format: :s16le]},
availability: :always,
caps: nil,
demand: nil,
demand_unit: nil,
direction: :output,
end_of_stream?: false,
input_buf: nil,
mode: :push,
name: :output,
options: nil,
other_demand_unit: nil,
other_ref: :input,
pid: #PID<0.541.0>,
ref: :output,
start_of_stream?: false,
sticky_messages: nil
}
},
dynamic_currently_linking: [],
info: %{}
},
parent_pid: #PID<0.535.0>,
playback: %Membrane.Core.Playback{
async_state_change: false,
pending_state: nil,
state: :prepared,
target_state: :playing
},
playback_buffer: %Membrane.Core.Element.PlaybackBuffer{
q: #Qex<[{Membrane.Core.Message, :demand, 40, [for_pad: :output]}]>
},
supplying_demand?: false,
synchronization: %{
clock: nil,
latency: 0,
parent_clock: #PID<0.537.0>,
stream_sync: :membrane_no_sync,
timers: %{}
},
type: :source
}
lawik commented
I don't really know. I know someone else was having errors I just didn't have. I haven't tried it in a bit. I'd ask around membrane or check the issues of the underlying library.
puruzio commented
Thanks!