lawik/media

[error] [:mic_input] Terminating GenServer, reason: :pa_open_stream,

Closed this issue · 2 comments

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.

Thanks!