parrot_platform

Build log

host

parrot_platform 0.0.1-alpha.3 · fail · run parrot_platform-0.0.1-alpha.3-1791032332935
1044 of 1044 lines
1Resolving Hex dependencies...2Resolution completed in 0.316s3Unchanged:4  bimap 1.3.05  bunch 1.6.46  bunch_native 0.5.27  bundlex 1.5.88  circular_buffer 1.1.09  coerce 1.0.210  elixir_make 0.10.011  elixir_uuid 1.2.112  ex_rtcp 0.4.213  ex_rtp 0.4.114  ex_sdp 0.17.015  finch 0.24.016  heap 2.0.217  hpax 1.1.018  interactive_cmd 0.1.419  jason 1.4.520  logger_backends 1.0.121  membrane_common_c 0.16.222  membrane_core 1.3.423  membrane_ffmpeg_swresample_plugin 0.21.024  membrane_file_plugin 0.17.525  membrane_funnel_plugin 0.9.226  membrane_g711_format 0.1.127  membrane_g711_plugin 0.1.328  membrane_mp3_mad_plugin 0.18.729  membrane_mpegaudio_format 0.3.230  membrane_portaudio_plugin 0.19.631  membrane_precompiled_dependency_provider 0.2.432  membrane_raw_audio_format 0.12.333  membrane_realtimer_plugin 0.10.134  membrane_rtp_format 0.10.035  membrane_rtp_g711_plugin 0.3.036  membrane_rtp_plugin 0.30.037  membrane_telemetry_metrics 0.1.338  membrane_udp_plugin 0.14.439  membrane_wav_plugin 0.10.340  mime 2.0.741  mint 1.11.042  mockery 2.5.043  nerves 2.0.0-pre.244  nerves_discovery 0.1.545  nerves_logging 0.2.446  nerves_runtime 0.13.1347  nerves_system_bbb 2.30.248  nerves_system_br 1.34.449  nerves_system_mangopi_mq_pro 0.17.250  nerves_system_qemu_aarch64 0.4.251  nerves_system_rpi0 2.1.252  nerves_system_rpi4 2.1.253  nerves_system_rpi5 2.1.254  nerves_system_trellis 0.5.055  nerves_system_x86_64 1.34.256  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.157  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.158  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.159  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.160  nerves_toolchain_x86_64_nerves_linux_musl 15.3.161  nerves_uevent 0.1.762  nimble_options 1.1.163  nimble_parsec 1.4.264  nimble_pool 1.1.065  numbers 5.2.566  parrot_platform 0.0.1-alpha.367  property_table 0.3.468  qex 0.5.269  ratio 4.0.170  req 0.7.471  ring_logger 0.11.772  shmex 0.5.273  tablet 0.3.374  telemetry 1.4.275  telemetry_metrics 1.2.076  toolshed 0.5.077  uboot_env 1.0.278  unifex 1.2.579  zarex 1.0.680All dependencies have been fetched81==> membrane_mpegaudio_format82Compiling 1 file (.ex)83Generated membrane_mpegaudio_format app84==> ex_sdp85Compiling 26 files (.ex)86    warning: unused require Logger87    │88  7 │   require Logger89    │   ~90    │91    └─ lib/ex_sdp/parser.ex:7:39293     warning: a struct for ExSDP.Media is expected on struct update:9495         %ExSDP.Media{media | title: title}9697     but got type:9899         dynamic()100101     where "media" was given the type:102103         # type: dynamic()104         # from: lib/ex_sdp/media.ex:116:46105         media106107     when defining the variable "media", you must also pattern match on "%ExSDP.Media{}"108109     type warning found at:110     │111 117 │     do: parse_optional(rest, %__MODULE__{media | title: title})112     │                              ~113     │114     └─ lib/ex_sdp/media.ex:117:30: ExSDP.Media.parse_optional/2115116     warning: a struct for ExSDP.Media is expected on struct update:117118         %ExSDP.Media{media | connection_data: connection_data}119120     but got type:121122         dynamic(%{..., connection_data: list(term())})123124     where "media" was given the type:125126         # type: dynamic(%{..., connection_data: list(term())})127         # from: lib/ex_sdp/media.ex:121:47128         media.connection_data ++ [connection_data]129130     when defining the variable "media", you must also pattern match on "%ExSDP.Media{}"131132     type warning found at:133     │134 122 │       connection_data = %__MODULE__{media | connection_data: connection_data}135     │                         ~136     │137     └─ lib/ex_sdp/media.ex:122:25: ExSDP.Media.parse_optional/2138139    warning: a struct for ExSDP is expected on struct update:140141        %ExSDP{spec | version: String.to_integer(version)}142143    but got type:144145        dynamic()146147    where "spec" was given the type:148149        # type: dynamic()150        # from: lib/ex_sdp/parser.ex:75:45151        spec152153    when defining the variable "spec", you must also pattern match on "%ExSDP{}"154155    type warning found at:156    │157 76 │     do: {rest, %ExSDP{spec | version: String.to_integer(version)}}158    │                ~159    │160    └─ lib/ex_sdp/parser.ex:76:16: ExSDP.Parser.parse_line/2161162    warning: a struct for ExSDP is expected on struct update:163164        %ExSDP{spec | origin: origin}165166    but got type:167168        dynamic()169170    where "spec" was given the type:171172        # type: dynamic()173        # from: lib/ex_sdp/parser.ex:78:44174        spec175176    when defining the variable "spec", you must also pattern match on "%ExSDP{}"177178    type warning found at:179    │180 80 │       {rest, %ExSDP{spec | origin: origin}}181    │              ~182    │183    └─ lib/ex_sdp/parser.ex:80:14: ExSDP.Parser.parse_line/2184185     warning: a struct for ExSDP.Media is expected on struct update:186187         %ExSDP.Media{media | encryption: encryption}188189     but got type:190191         dynamic()192193     where "media" was given the type:194195         # type: dynamic()196         # from: lib/ex_sdp/media.ex:134:51197         media198199     when defining the variable "media", you must also pattern match on "%ExSDP.Media{}"200201     type warning found at:202     │203 136 │       encryption = %__MODULE__{media | encryption: encryption}204     │                    ~205     │206     └─ lib/ex_sdp/media.ex:136:20: ExSDP.Media.parse_optional/2207208    warning: a struct for ExSDP is expected on struct update:209210        %ExSDP{spec | session_name: session_name}211212    but got type:213214        dynamic()215216    where "spec" was given the type:217218        # type: dynamic()219        # from: lib/ex_sdp/parser.ex:84:50220        spec221222    when defining the variable "spec", you must also pattern match on "%ExSDP{}"223224    type warning found at:225    │226 85 │     do: {rest, %ExSDP{spec | session_name: session_name}}227    │                ~228    │229    └─ lib/ex_sdp/parser.ex:85:16: ExSDP.Parser.parse_line/2230231    warning: a struct for ExSDP is expected on struct update:232233        %ExSDP{spec | session_information: session_information}234235    but got type:236237        dynamic()238239    where "spec" was given the type:240241        # type: dynamic()242        # from: lib/ex_sdp/parser.ex:87:57243        spec244245    when defining the variable "spec", you must also pattern match on "%ExSDP{}"246247    type warning found at:248    │249 88 │     do: {rest, %ExSDP{spec | session_information: session_information}}250    │                ~251    │252    └─ lib/ex_sdp/parser.ex:88:16: ExSDP.Parser.parse_line/2253254    warning: a struct for ExSDP is expected on struct update:255256        %ExSDP{spec | uri: uri}257258    but got type:259260        dynamic()261262    where "spec" was given the type:263264        # type: dynamic()265        # from: lib/ex_sdp/parser.ex:90:41266        spec267268    when defining the variable "spec", you must also pattern match on "%ExSDP{}"269270    type warning found at:271    │272 91 │     do: {rest, %ExSDP{spec | uri: uri}}273    │                ~274    │275    └─ lib/ex_sdp/parser.ex:91:16: ExSDP.Parser.parse_line/2276277    warning: a struct for ExSDP is expected on struct update:278279        %ExSDP{spec | email: email}280281    but got type:282283        dynamic()284285    where "spec" was given the type:286287        # type: dynamic()288        # from: lib/ex_sdp/parser.ex:93:43289        spec290291    when defining the variable "spec", you must also pattern match on "%ExSDP{}"292293    type warning found at:294    │295 94 │     do: {rest, %ExSDP{spec | email: email}}296    │                ~297    │298    └─ lib/ex_sdp/parser.ex:94:16: ExSDP.Parser.parse_line/2299300    warning: a struct for ExSDP is expected on struct update:301302        %ExSDP{spec | phone_number: phone_number}303304    but got type:305306        dynamic()307308    where "spec" was given the type:309310        # type: dynamic()311        # from: lib/ex_sdp/parser.ex:96:50312        spec313314    when defining the variable "spec", you must also pattern match on "%ExSDP{}"315316    type warning found at:317    │318 97 │     do: {rest, %ExSDP{spec | phone_number: phone_number}}319    │                ~320    │321    └─ lib/ex_sdp/parser.ex:97:16: ExSDP.Parser.parse_line/2322323     warning: a struct for ExSDP is expected on struct update:324325         %ExSDP{spec | connection_data: connection_data}326327     but got type:328329         dynamic()330331     where "spec" was given the type:332333         # type: dynamic()334         # from: lib/ex_sdp/parser.ex:99:53335         spec336337     when defining the variable "spec", you must also pattern match on "%ExSDP{}"338339     type warning found at:340     │341 101 │       {rest, %ExSDP{spec | connection_data: connection_data}}342     │              ~343     │344     └─ lib/ex_sdp/parser.ex:101:14: ExSDP.Parser.parse_line/2345346     warning: a struct for ExSDP is expected on struct update:347348         %ExSDP{spec | timing: timing}349350     but got type:351352         dynamic()353354     where "spec" was given the type:355356         # type: dynamic()357         # from: lib/ex_sdp/parser.ex:111:44358         spec359360     when defining the variable "spec", you must also pattern match on "%ExSDP{}"361362     type warning found at:363     │364 113 │       {rest, %ExSDP{spec | timing: timing}}365     │              ~366     │367     └─ lib/ex_sdp/parser.ex:113:14: ExSDP.Parser.parse_line/2368369     warning: a struct for ExSDP is expected on struct update:370371         %ExSDP{spec | time_zones_adjustments: timezones}372373     but got type:374375         dynamic()376377     where "spec" was given the type:378379         # type: dynamic()380         # from: lib/ex_sdp/parser.ex:123:47381         spec382383     when defining the variable "spec", you must also pattern match on "%ExSDP{}"384385     type warning found at:386     │387 125 │       {rest, %ExSDP{spec | time_zones_adjustments: timezones}}388     │              ~389     │390     └─ lib/ex_sdp/parser.ex:125:14: ExSDP.Parser.parse_line/2391392     warning: a struct for ExSDP is expected on struct update:393394         %ExSDP{spec | encryption: encryption}395396     but got type:397398         dynamic()399400     where "spec" was given the type:401402         # type: dynamic()403         # from: lib/ex_sdp/parser.ex:129:48404         spec405406     when defining the variable "spec", you must also pattern match on "%ExSDP{}"407408     type warning found at:409     │410 131 │       {rest, %ExSDP{spec | encryption: encryption}}411     │              ~412     │413     └─ lib/ex_sdp/parser.ex:131:14: ExSDP.Parser.parse_line/2414415     warning: a struct for ExSDP is expected on struct update:416417         %ExSDP{session | attributes: [attribute | attrs]}418419     but got type:420421         dynamic(%{..., attributes: term()})422423     where "session" was given the type:424425         # type: dynamic(%{..., attributes: term()})426         # from: lib/ex_sdp/parser.ex:135:68427         %{attributes: attrs} = session428429     when defining the variable "session", you must also pattern match on "%ExSDP{}"430431     type warning found at:432     │433 137 │       {rest, %ExSDP{session | attributes: [attribute | attrs]}}434     │              ~435     │436     └─ lib/ex_sdp/parser.ex:137:14: ExSDP.Parser.parse_line/2437438Generated ex_sdp app439==> membrane_realtimer_plugin440Compiling 2 files (.ex)441Generated membrane_realtimer_plugin app442==> membrane_rtp_format443Compiling 5 files (.ex)444Generated membrane_rtp_format app445==> membrane_rtp_g711_plugin446Compiling 3 files (.ex)447Generated membrane_rtp_g711_plugin app448==> membrane_udp_plugin449Compiling 5 files (.ex)450Generated membrane_udp_plugin app451==> membrane_g711_plugin452Compiling 5 files (.ex)453Generated membrane_g711_plugin app454==> membrane_wav_plugin455Compiling 3 files (.ex)456     warning: the variable "stage_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator457     │458 176 │       _fact_chunk::binary-size(stage_size),459     │                                ~460     │461     └─ lib/membrane_wav/parser.ex:176:32: Membrane.WAV.Parser.parse_payload/3462463Generated membrane_wav_plugin app464==> membrane_rtp_plugin465Compiling 68 files (.ex)466    warning: the variable "length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator467    │468 79 │          <<body::binary-size(length), rest::binary>> <- body_and_rest,469    │                              ~470    │471    └─ lib/membrane/rtcp/packet.ex:79:30: Membrane.RTCP.Packet.do_parse/2472473    warning: the variable "ssrcs_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator474    │475 19 │     <<ssrcs::binary-size(ssrcs_size), reason::binary>> = packet476    │                          ~477    │478    └─ lib/membrane/rtcp/bye_packet.ex:19:26: Membrane.RTCP.ByePacket.decode/2479480    warning: the variable "to_skip" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator481    │482 92 │     <<_skipped::size(to_skip), next_chunk::binary>> = rest483    │                      ~484    │485    └─ lib/membrane/rtcp/sdes_packet.ex:92:22: Membrane.RTCP.SdesPacket.parse_items/248648748812:59:24.796 [warning] Membrane.RTCP.Parser defines pads with `flow_control: :auto` and pads with `flow_control: :push` at the same time. Please, consider if this what you want to do - flow control of these pads won't be integrated. Setting `flow_control` to `:auto` in the places where it has been set to `:push` might be a good idea.489Pads with `flow_control: :auto`: input, output.490Pads with `flow_control: :push`: receiver_report_output.491492If you want get rid of this warning, pass `flow_control_hints?: false` option to `use Membrane.Filter`.493494     warning: the variable "symbol_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator495     │496 161 │       for <<(<<symbol::size(symbol_size)>> <- symbol_list)>>,497     │                             ~498     │499     └─ lib/membrane/rtcp/transport_feedback_packet/twcc.ex:161:29: Membrane.RTCP.TransportFeedbackPacket.TWCC.parse_packet_status/3500501     warning: the variable "len_data" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator502     │503 173 │     <<data::binary-size(len_data), next_extensions::binary>> = extensions504     │                         ~505     │506     └─ lib/membrane/rtp/packet.ex:173:25: Membrane.RTP.Packet.parse_one_byte_header/150750850912:59:25.548 [warning] Membrane.RTP.Parser defines pads with `flow_control: :auto` and pads with `flow_control: :push` at the same time. Please, consider if this what you want to do - flow control of these pads won't be integrated. Setting `flow_control` to `:auto` in the places where it has been set to `:push` might be a good idea.510Pads with `flow_control: :auto`: input, output.511Pads with `flow_control: :push`: rtcp_output.512513If you want get rid of this warning, pass `flow_control_hints?: false` option to `use Membrane.Filter`.51451551612:59:25.626 [warning] Membrane.RTP.OutboundTrackingSerializer  might have multiple input pads with `flow_control: :auto` and multiple output pads with `flow_control: :auto` at the same time. Notice, that lack of demand on any of output pads with `flow_control: :auto` will cause stoping demand on every input pad with `flow_control: :auto`.517Input pads with `flow_control: :auto`: [:input, :rtcp_input].518Output pads with `flow_control: :auto`: [:output, :rtcp_output].519520If you want get rid of this warning, pass `flow_control_hints?: false` option to `use Membrane.Filter` or add upperbound on the number of possible instances of pads with `availability: :on_request` using `max_instances: non_neg_number` option.52152252312:59:26.159 [warning] Membrane.RTP.SSRCRouter  might have multiple input pads with `flow_control: :auto` and multiple output pads with `flow_control: :auto` at the same time. Notice, that lack of demand on any of output pads with `flow_control: :auto` will cause stoping demand on every input pad with `flow_control: :auto`.524Input pads with `flow_control: :auto`: [:input].525Output pads with `flow_control: :auto`: [:output].526527If you want get rid of this warning, pass `flow_control_hints?: false` option to `use Membrane.Filter` or add upperbound on the number of possible instances of pads with `availability: :on_request` using `max_instances: non_neg_number` option.52852953012:59:26.584 [warning] Membrane.RTP.TWCCReceiver  might have multiple input pads with `flow_control: :auto` and multiple output pads with `flow_control: :auto` at the same time. Notice, that lack of demand on any of output pads with `flow_control: :auto` will cause stoping demand on every input pad with `flow_control: :auto`.531Input pads with `flow_control: :auto`: [:input].532Output pads with `flow_control: :auto`: [:output].533534If you want get rid of this warning, pass `flow_control_hints?: false` option to `use Membrane.Filter` or add upperbound on the number of possible instances of pads with `availability: :on_request` using `max_instances: non_neg_number` option.535536    warning: the variable "payload_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator537    │538 15 │          <<stripped_payload::binary-size(payload_size), _::binary-size(padding_size)>> <- binary do539    │                                          ~540    │541    └─ lib/membrane/rtp/utils.ex:15:42: Membrane.RTP.Utils.strip_padding/2542543    warning: the variable "padding_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator544    │545 15 │          <<stripped_payload::binary-size(payload_size), _::binary-size(padding_size)>> <- binary do546    │                                                                        ~547    │548    └─ lib/membrane/rtp/utils.ex:15:72: Membrane.RTP.Utils.strip_padding/254955055112:59:26.882 [warning] Membrane.RTP.TWCCSender  might have multiple input pads with `flow_control: :auto` and multiple output pads with `flow_control: :auto` at the same time. Notice, that lack of demand on any of output pads with `flow_control: :auto` will cause stoping demand on every input pad with `flow_control: :auto`.552Input pads with `flow_control: :auto`: [:input].553Output pads with `flow_control: :auto`: [:output].554555If you want get rid of this warning, pass `flow_control_hints?: false` option to `use Membrane.Filter` or add upperbound on the number of possible instances of pads with `availability: :on_request` using `max_instances: non_neg_number` option.556557    warning: unused require Membrane.Logger558    │559  5 │   require Membrane.Logger560    │   ~561    │562    └─ lib/membrane/rtp/twcc_sender/congestion_control.ex:5:3563564    warning: a struct for Membrane.RTP.TWCCSender.ReceiverRate is expected on struct update:565566        %Membrane.RTP.TWCCSender.ReceiverRate{rr | value: value, packets_received: packets_received}567568    but got type:569570        dynamic(%{..., packets_received: %Qex{}, window: integer()})571572    where "rr" was given the types:573574        # type: dynamic(%{..., window: float() or integer()})575        # from: lib/membrane/rtp/twcc_sender/receiver_rate.ex:47:39576        last_packet_timestamp - rr.window577578        # type: dynamic(%{..., packets_received: %Qex{}, window: float() or integer()})579        # from: lib/membrane/rtp/twcc_sender/receiver_rate.ex:51:14580        Qex.join(581          rr.packets_received,582          packets_received583        )584585        # type: dynamic(%{..., packets_received: %Qex{}, window: integer()})586        # from: lib/membrane/rtp/twcc_sender/receiver_rate.ex:58:23587        Membrane.Time.as_milliseconds(rr.window, :round)588589    when defining the variable "rr", you must also pattern match on "%Membrane.RTP.TWCCSender.ReceiverRate{}"590591    type warning found at:592    │593 60 │     %__MODULE__{rr | value: value, packets_received: packets_received}594    │     ~595    │596    └─ lib/membrane/rtp/twcc_sender/receiver_rate.ex:60:5: Membrane.RTP.TWCCSender.ReceiverRate.do_update/2597598     warning: a struct for Membrane.RTP.TWCCSender.CongestionControl is expected on struct update:599600         %Membrane.RTP.TWCCSender.CongestionControl{cc | underuse_start_ts: nil, overuse_start_ts: nil}601602     but got type:603604         dynamic()605606     where "cc" was given the type:607608         # type: dynamic()609         # from: lib/membrane/rtp/twcc_sender/congestion_control.ex:213:20610         cc611612     when defining the variable "cc", you must also pattern match on "%Membrane.RTP.TWCCSender.CongestionControl{}"613614     type warning found at:615     │616 214 │     do: {:normal, %__MODULE__{cc | underuse_start_ts: nil, overuse_start_ts: nil}}617     │                   ~618     │619     └─ lib/membrane/rtp/twcc_sender/congestion_control.ex:214:19: Membrane.RTP.TWCCSender.CongestionControl.make_signal/2620621     warning: a struct for Membrane.RTP.TWCCSender.CongestionControl is expected on struct update:622623         %Membrane.RTP.TWCCSender.CongestionControl{624           cc625           | a_hat: 0.85 * cc.r_hat.value,626             decrease_r_hats: Enum.take([cc.r_hat | cc.decrease_r_hats], 25)627         }628629     but got type:630631         dynamic()632633     where "cc" was given the type:634635         # type: dynamic()636         # from: lib/membrane/rtp/twcc_sender/congestion_control.ex:300:36637         cc638639     when defining the variable "cc", you must also pattern match on "%Membrane.RTP.TWCCSender.CongestionControl{}"640641     type warning found at:642     │643 301 │     %__MODULE__{644     │     ~645     │646     └─ lib/membrane/rtp/twcc_sender/congestion_control.ex:301:5: Membrane.RTP.TWCCSender.CongestionControl.decrease_receiver_bandwidth/1647648     warning: a struct for Membrane.RTP.TWCCReceiver.State is expected on struct update:649650         %Membrane.RTP.TWCCReceiver.State{651           state652           | buffered_actions: Map.update(state.buffered_actions, pad, actions, &Qex.join(&1, actions))653         }654655     but got type:656657         dynamic()658659     where "state" was given the type:660661         # type: dynamic()662         # from: lib/membrane/rtp/twcc_receiver.ex:182:37663         state664665     when defining the variable "state", you must also pattern match on "%Membrane.RTP.TWCCReceiver.State{}"666667     type warning found at:668     │669 185 │     %State{670     │     ~671     │672     └─ lib/membrane/rtp/twcc_receiver.ex:185:5: Membrane.RTP.TWCCReceiver.buffer_actions/3673674     warning: a struct for Membrane.RTP.SessionBin.State is expected on struct update:675676         %Membrane.RTP.SessionBin.State{state | awaiting_rtx_links: awaiting_rtx_links}677678     but got type:679680         dynamic(%{..., awaiting_rtx_links: map()})681682     where "state" was given the type:683684         # type: dynamic(%{..., awaiting_rtx_links: map()})685         # from: lib/membrane/rtp/session_bin.ex:477:11686         Map.pop(state.awaiting_rtx_links, ssrc, fn _twcc, _ctx -> [] end)687688     when defining the variable "state", you must also pattern match on "%Membrane.RTP.SessionBin.State{}"689690     type warning found at:691     │692 479 │     state = %State{state | awaiting_rtx_links: awaiting_rtx_links}693     │             ~694     │695     └─ lib/membrane/rtp/session_bin.ex:479:13: Membrane.RTP.SessionBin.handle_pad_added/3696697     warning: a struct for Membrane.RTP.SSRCRouter.State is expected on struct update:698699         %Membrane.RTP.SSRCRouter.State{state | input_pads: new_pads}700701     but got type:702703         dynamic(%{..., input_pads: term()})704705     where "state" was given the type:706707         # type: dynamic(%{..., input_pads: term()})708         # from: lib/membrane/rtp/ssrc_router.ex:134:15709         Enum.filter(710           state.input_pads,711           fn {_ssrc, p} -> p != pad end712         )713714     when defining the variable "state", you must also pattern match on "%Membrane.RTP.SSRCRouter.State{}"715716     type warning found at:717     │718 137 │     {[], %State{state | input_pads: new_pads}}719     │          ~720     │721     └─ lib/membrane/rtp/ssrc_router.ex:137:10: Membrane.RTP.SSRCRouter.handle_pad_removed/3722723     warning: unknown key .telemetry_label in expression:724725         state.telemetry_label726727     the given type does not have the given key:728729         dynamic(%Membrane.RTP.OutboundTrackingSerializer.State{730           ssrc: term(),731           payload_type: term(),732           extension_mapping: term(),733           any_buffer_sent?: term(),734           rtcp_output_pad: term(),735           stats_acc: term()736         })737738     where "state" was given the types:739740         # type: dynamic(%{..., rtcp_output_pad: term()})741         # from: lib/membrane/rtp/outbound_tracking_serializer.ex:276:37742         %{rtcp_output_pad: rtcp_output} = state743744         # type: dynamic(%Membrane.RTP.OutboundTrackingSerializer.State{})745         # from: lib/membrane/rtp/outbound_tracking_serializer.ex:279:15746         get_stats(state)747748     type warning found at:749     │750 292 │           state.telemetry_label751     │                 ~~~~~~~~~~~~~~~752     │753     └─ lib/membrane/rtp/outbound_tracking_serializer.ex:292:17: Membrane.RTP.OutboundTrackingSerializer.handle_parent_notification/3754755     warning: a struct for Membrane.Buffer is expected on struct update:756757         %Membrane.Buffer{758           buffer759           | payload: raw_packet,760             metadata: Map.put(metadata, :rtp, %{packet | payload: <<>>})761         }762763     but got type:764765         dynamic(%{..., metadata: map(), payload: term(), pts: integer()})766767     where "buffer" was given the types:768769         # type: dynamic(%{..., metadata: map()})770         # from: lib/membrane/rtp/muxer.ex:129:36771         Map.pop(buffer.metadata, :rtp, %{})772773         # type: dynamic(%{..., metadata: map(), pts: integer()})774         # from: lib/membrane/rtp/muxer.ex:134:24775         Membrane.Time.as_seconds(buffer.pts)776777         # type: dynamic(%{..., metadata: map(), payload: term(), pts: integer()})778         # from: lib/membrane/rtp/muxer.ex:144:20779         ExRTP.Packet.new(buffer.payload,780           payload_type: stream_state.payload_type,781           sequence_number: sequence_number,782           timestamp: timestamp,783           ssrc: stream_state.ssrc,784           csrc: Map.get(rtp_metadata, :csrcs, []),785           marker: Map.get(rtp_metadata, :marker, false)786         )787788     when defining the variable "buffer", you must also pattern match on "%Membrane.Buffer{}"789790     type warning found at:791     │792 155 │     buffer = %Membrane.Buffer{793     │              ~794     │795     └─ lib/membrane/rtp/muxer.ex:155:14: Membrane.RTP.Muxer.handle_buffer/4796797    warning: a struct for Membrane.RTP.JitterBuffer.BufferStore is expected on struct update:798799        %Membrane.RTP.JitterBuffer.BufferStore{store | flush_index: 65536 - 1}800801    but got type:802803        dynamic()804805    where "store" was given the type:806807        # type: dynamic()808        # from: lib/membrane/rtp/jitter_buffer/buffer_store.ex:67:11809        store = add_record(store, Membrane.RTP.JitterBuffer.Record.new(buffer, 65536), :next)810811    when defining the variable "store", you must also pattern match on "%Membrane.RTP.JitterBuffer.BufferStore{}"812813    type warning found at:814    │815 68 │     {:ok, %__MODULE__{store | flush_index: @seq_number_limit - 1}}816    │           ~817    │818    └─ lib/membrane/rtp/jitter_buffer/buffer_store.ex:68:11: Membrane.RTP.JitterBuffer.BufferStore.do_insert_buffer/3819820    warning: a struct for Membrane.RTP.JitterBuffer.BufferStore is expected on struct update:821822        %Membrane.RTP.JitterBuffer.BufferStore{store | flush_index: seq_num - 1}823824    but got type:825826        dynamic()827828    where "store" was given the type:829830        # type: dynamic()831        # from: lib/membrane/rtp/jitter_buffer/buffer_store.ex:72:11832        store = add_record(store, Membrane.RTP.JitterBuffer.Record.new(buffer, seq_num), :current)833834    when defining the variable "store", you must also pattern match on "%Membrane.RTP.JitterBuffer.BufferStore{}"835836    type warning found at:837    │838 73 │     {:ok, %__MODULE__{store | flush_index: seq_num - 1}}839    │           ~840    │841    └─ lib/membrane/rtp/jitter_buffer/buffer_store.ex:73:11: Membrane.RTP.JitterBuffer.BufferStore.do_insert_buffer/3842843    warning: a struct for Membrane.RTP.JitterBuffer.State is expected on struct update:844845        %Membrane.RTP.JitterBuffer.State{846          state847          | store: %Membrane.RTP.JitterBuffer.BufferStore{848              flush_index: nil,849              heap: %{850                __struct__: Heap,851                comparator: &Membrane.RTP.JitterBuffer.Record.rtp_comparator/2,852                data: nil,853                size: 0854              },855              highest_incoming_index: nil,856              rollover_count: 0,857              set: %{__struct__: MapSet, map: %{}}858            }859        }860861    but got type:862863        dynamic()864865    where "state" was given the type:866867        # type: dynamic()868        # from: lib/membrane/rtp/jitter_buffer.ex:77:22869        {actions, state} =870          Enum.flat_map_reduce(871            Membrane.RTP.JitterBuffer.BufferStore.dump(store),872            state,873            &record_to_actions/2874          )875876    when defining the variable "state", you must also pattern match on "%Membrane.RTP.JitterBuffer.State{}"877878    type warning found at:879    │880 82 │     {actions ++ [end_of_stream: :output], %State{state | store: %BufferStore{}}}881    │                                           ~882    │883    └─ lib/membrane/rtp/jitter_buffer.ex:82:43: Membrane.RTP.JitterBuffer.handle_end_of_stream/3884885     warning: a struct for Membrane.RTP.JitterBuffer.BufferStore is expected on struct update:886887         %Membrane.RTP.JitterBuffer.BufferStore{store | rollover_count: roc + 1}888889     but got type:890891         dynamic(%{..., rollover_count: term()})892893     where "store" was given the type:894895         # type: dynamic(%{..., rollover_count: term()})896         # from: lib/membrane/rtp/jitter_buffer/buffer_store.ex:224:42897         %{rollover_count: roc} = store898899     when defining the variable "store", you must also pattern match on "%Membrane.RTP.JitterBuffer.BufferStore{}"900901     type warning found at:902     │903 225 │     do: %__MODULE__{store | rollover_count: roc + 1}904     │         ~905     │906     └─ lib/membrane/rtp/jitter_buffer/buffer_store.ex:225:9: Membrane.RTP.JitterBuffer.BufferStore.update_roc/2907908     warning: a struct for Membrane.RTP.JitterBuffer.State is expected on struct update:909910         %Membrane.RTP.JitterBuffer.State{state | waiting?: false}911912     but got type:913914         dynamic()915916     where "state" was given the type:917918         # type: dynamic()919         # from: lib/membrane/rtp/jitter_buffer.ex:117:54920         state921922     when defining the variable "state", you must also pattern match on "%Membrane.RTP.JitterBuffer.State{}"923924     type warning found at:925     │926 118 │     state = %State{state | waiting?: false}927     │             ~928     │929     └─ lib/membrane/rtp/jitter_buffer.ex:118:13: Membrane.RTP.JitterBuffer.handle_info/3930931     warning: a struct for Membrane.RTP.JitterBuffer.State is expected on struct update:932933         %Membrane.RTP.JitterBuffer.State{state | max_latency_timer: nil}934935     but got type:936937         dynamic()938939     where "state" was given the type:940941         # type: dynamic()942         # from: lib/membrane/rtp/jitter_buffer.ex:123:44943         state944945     when defining the variable "state", you must also pattern match on "%Membrane.RTP.JitterBuffer.State{}"946947     type warning found at:948     │949 124 │     state = %State{state | max_latency_timer: nil}950     │             ~951     │952     └─ lib/membrane/rtp/jitter_buffer.ex:124:13: Membrane.RTP.JitterBuffer.handle_info/3953954     warning: a struct for Membrane.Buffer is expected on struct update:955956         %Membrane.Buffer{buffer | pts: timestamp}957958     but got type:959960         dynamic(%{..., metadata: %{..., rtp: %{..., timestamp: term()}}})961962     where "buffer" was given the type:963964         # type: dynamic(%{..., metadata: %{..., rtp: %{..., timestamp: term()}}})965         # from: lib/membrane/rtp/jitter_buffer.ex:166:33966         %{timestamp: rtp_timestamp} = buffer.metadata.rtp967968     when defining the variable "buffer", you must also pattern match on "%Membrane.Buffer{}"969970     type warning found at:971     │972 183 │     buffer = %Membrane.Buffer{buffer | pts: timestamp}973     │              ~974     │975     └─ lib/membrane/rtp/jitter_buffer.ex:183:14: Membrane.RTP.JitterBuffer.record_to_actions/2976977    warning: a struct for Membrane.Buffer is expected on struct update:978979        %Membrane.Buffer{buffer | metadata: Map.put(metadata, :rtp, header), payload: buffer.payload}980981    but got type:982983        dynamic(%{..., metadata: map(), pts: term()})984985    where "buffer" was given the types:986987        # type: dynamic(%{..., metadata: map()})988        # from: lib/membrane/rtp/header_generator.ex:67:36989        Map.pop(buffer.metadata, :rtp, %{})990991        # type: dynamic(%{..., metadata: map(), pts: term()})992        # from: lib/membrane/rtp/header_generator.ex:71:18993        Numbers.mult(994          buffer.pts,995          state.clock_rate996        )997998    when defining the variable "buffer", you must also pattern match on "%Membrane.Buffer{}"9991000    type warning found at:1001    │1002 88 │     buffer = %Membrane.Buffer{1003    │              ~1004    │1005    └─ lib/membrane/rtp/header_generator.ex:88:14: Membrane.RTP.HeaderGenerator.handle_buffer/410061007Generated membrane_rtp_plugin app1008==> membrane_ffmpeg_swresample_plugin1009Bundlex: Building natives: converter1010101112:59:28.638 [debug] redirecting to https://release-assets.githubusercontent.com/github-production-release-asset/688460577/78615b0d-e8d2-4f59-a674-84bb8e4849dc?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-10-03T13%3A41%3A06Z&rscd=attachment%3B+filename%3Dffmpeg_linux64.tar.xz&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-10-03T12%3A40%3A52Z&ske=2026-10-03T13%3A41%3A06Z&sks=b&skv=2018-11-09&sig=O1U8TzFSIaOooru8QOXcyr7WOYf9LeY3uKvtaDL%2BL6Y%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc5MTAzNTk2OCwibmJmIjoxNzkxMDMyMzY4LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.PmtM9TZNGLwGxzFjukr_jgCvY6U4boXRRn0Er6TEoiU&response-content-disposition=attachment%3B%20filename%3Dffmpeg_linux64.tar.xz&response-content-type=application%2Foctet-stream1012Bundlex: Successfully downloaded precompiled ffmpeg build from https://github.com/membraneframework-precompiled/precompiled_ffmpeg/releases/download/v6.0.1/ffmpeg_linux64.tar.xz1013Compiling 2 files (.ex)1014Generated membrane_ffmpeg_swresample_plugin app1015==> membrane_mp3_mad_plugin1016Bundlex: Building natives: decoder1017101812:59:44.824 [debug] redirecting to https://release-assets.githubusercontent.com/github-production-release-asset/697676016/d1f334e5-33f1-472f-ad22-e0eb9f157467?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-10-03T13%3A51%3A31Z&rscd=attachment%3B+filename%3Dmad_linux_x86.tar.gz&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-10-03T12%3A51%3A16Z&ske=2026-10-03T13%3A51%3A31Z&sks=b&skv=2018-11-09&sig=wLCmQUjD%2FXMp72GzbjCmq9fG5CMsM7lqIjXe3%2FMDlUc%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc5MTAzMjY4NCwibmJmIjoxNzkxMDMyMzg0LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.yssptbu9mPu8xQhGV8VN14UQkZ2_NvwN_Nv-4Al2wiQ&response-content-disposition=attachment%3B%20filename%3Dmad_linux_x86.tar.gz&response-content-type=application%2Foctet-stream1019Bundlex: Successfully downloaded precompiled mad build from https://github.com/membraneframework-precompiled/precompiled_mad/releases/download/v0.15.1b/mad_linux_x86.tar.gz1020In file included from /work/proj/deps/membrane_mp3_mad_plugin/c_src/membrane_mp3_mad_plugin/_generated/nif/../../decoder.h:11,1021                 from /work/proj/deps/membrane_mp3_mad_plugin/c_src/membrane_mp3_mad_plugin/_generated/nif/decoder.h:10,1022                 from /work/proj/deps/membrane_mp3_mad_plugin/c_src/membrane_mp3_mad_plugin/_generated/nif/decoder.c:1:1023/work/proj/deps/membrane_common_c/c_src/membrane/log.h:6:10: fatal error: _generated/membrane.h: No such file or directory1024    6 | #include "_generated/membrane.h"1025      |          ^~~~~~~~~~~~~~~~~~~~~~~1026compilation terminated.1027could not compile dependency :membrane_mp3_mad_plugin, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile membrane_mp3_mad_plugin --force", update it with "mix deps.update membrane_mp3_mad_plugin" or clean it with "mix deps.clean membrane_mp3_mad_plugin"1028==> nerves_compatibility_test1029** (Mix) Bundlex: Failed to build the native part of package membrane_mp3_mad_plugin. Errors may have been logged above.1030Make sure that all required packages are properly installed in your system.1031Requirements and installation guide may be found in the readme of package membrane_mp3_mad_plugin.10321033Returned code: 11034Build script:10351036(mkdir -p "/work/proj/_build/host/lib/membrane_mp3_mad_plugin/priv/bundlex/nif/decoder_obj") && \1037(gcc -fPIC -Wall -Wextra -c -O2 -g -std=c11 -DBUNDLEX_NIF -I/work/proj/_build/host/lib/bundlex/priv/shared/precompiled/httpsgithub.commembraneframework-precompiledprecompiled_madreleasesdownloadv0.15.1bmad_linux_x86.tar.gz/include -o "/work/proj/_build/host/lib/membrane_mp3_mad_plugin/priv/bundlex/nif/decoder_obj/decoder.c_71532724E59A6D0D3570081C46135CF67A505477.o" -I"/work/proj/deps/bunch_native/c_src/bunch" -I"/work/proj/deps/bunch_native/c_src/bunch/nif" -I"/work/proj/deps/shmex/c_src/shmex" -I"/work/proj/deps/shmex/c_src/shmex/nif" -I"/work/proj/deps/unifex/c_src/unifex/nif" -I"/work/proj/deps/membrane_common_c/c_src" -I"/work/proj/deps/bunch_native/c_src/bunch" -I"/work/proj/deps/bunch_native/c_src/bunch/nif" -I"/work/proj/deps/shmex/c_src/shmex" -I"/work/proj/deps/shmex/c_src/shmex/nif" -I"/work/proj/deps/unifex/c_src/unifex/nif" -I"/usr/local/lib/erlang/usr/include" -I"/work/proj/deps/membrane_mp3_mad_plugin/c_src" "/work/proj/deps/membrane_mp3_mad_plugin/c_src/membrane_mp3_mad_plugin/_generated/nif/decoder.c"1038) && \1039(gcc -fPIC -Wall -Wextra -c -O2 -g -std=c11 -DBUNDLEX_NIF -I/work/proj/_build/host/lib/bundlex/priv/shared/precompiled/httpsgithub.commembraneframework-precompiledprecompiled_madreleasesdownloadv0.15.1bmad_linux_x86.tar.gz/include -o "/work/proj/_build/host/lib/membrane_mp3_mad_plugin/priv/bundlex/nif/decoder_obj/decoder.c_650550A468C74B6D8AD7CD689B349A635BDD7060.o" -I"/work/proj/deps/bunch_native/c_src/bunch" -I"/work/proj/deps/bunch_native/c_src/bunch/nif" -I"/work/proj/deps/shmex/c_src/shmex" -I"/work/proj/deps/shmex/c_src/shmex/nif" -I"/work/proj/deps/unifex/c_src/unifex/nif" -I"/work/proj/deps/membrane_common_c/c_src" -I"/work/proj/deps/bunch_native/c_src/bunch" -I"/work/proj/deps/bunch_native/c_src/bunch/nif" -I"/work/proj/deps/shmex/c_src/shmex" -I"/work/proj/deps/shmex/c_src/shmex/nif" -I"/work/proj/deps/unifex/c_src/unifex/nif" -I"/usr/local/lib/erlang/usr/include" -I"/work/proj/deps/membrane_mp3_mad_plugin/c_src" "/work/proj/deps/membrane_mp3_mad_plugin/c_src/membrane_mp3_mad_plugin/decoder.c"1040) && \1041(gcc -rdynamic -shared -o "/work/proj/_build/host/lib/membrane_mp3_mad_plugin/priv/bundlex/nif/decoder.so" -Wl,--disable-new-dtags,--whole-archive "/work/proj/_build/host/lib/bunch_native/priv/bundlex/lib.a" "/work/proj/_build/host/lib/shmex/priv/bundlex/lib.a" "/work/proj/_build/host/lib/bunch_native/priv/bundlex/nif/bunch.a" "/work/proj/_build/host/lib/shmex/priv/bundlex/nif/shmex.a" "/work/proj/_build/host/lib/unifex/priv/bundlex/nif/unifex.a" "/work/proj/_build/host/lib/membrane_common_c/priv/bundlex/nif/membrane.a" -Wl,--no-whole-archive "/work/proj/_build/host/lib/membrane_mp3_mad_plugin/priv/bundlex/nif/decoder_obj/decoder.c_71532724E59A6D0D3570081C46135CF67A505477.o" "/work/proj/_build/host/lib/membrane_mp3_mad_plugin/priv/bundlex/nif/decoder_obj/decoder.c_650550A468C74B6D8AD7CD689B349A635BDD7060.o"  -lrt -lrt -L/work/proj/_build/host/lib/bundlex/priv/shared/precompiled/httpsgithub.commembraneframework-precompiledprecompiled_madreleasesdownloadv0.15.1bmad_linux_x86.tar.gz/lib -Wl,-rpath,\$ORIGIN/httpsgithub.commembraneframework-precompiledprecompiled_madreleasesdownloadv0.15.1bmad_linux_x86.tar.gz -Wl,-rpath,/opt/homebrew/lib -lmad1042)10431044