Build log
nerves_system_x86_64
membrane_rtc_engine_hls 0.10.0 · fail · run membrane_rtc_engine_hls-0.10.0-1790995953968
1859 of 1859 lines
1Resolving Hex dependencies...2Resolution completed in 0.466s3Unchanged: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 crc 0.11.011 elixir_make 0.10.012 elixir_uuid 1.2.113 ex_dtls 0.18.114 ex_ice 0.13.015 ex_libsrtp 0.7.416 ex_rtcp 0.4.217 ex_rtp 0.4.118 ex_sdp 1.3.019 ex_stun 0.2.120 ex_turn 0.2.321 ex_webrtc 0.15.122 finch 0.24.023 fishjam_protos 0.4.024 heap 2.0.225 hpax 1.1.026 interactive_cmd 0.1.427 jason 1.4.528 logger_backends 1.0.129 membrane_aac_fdk_plugin 0.18.1530 membrane_aac_format 0.8.131 membrane_aac_plugin 0.18.232 membrane_cmaf_format 0.7.233 membrane_common_c 0.16.234 membrane_core 1.2.735 membrane_file_plugin 0.17.536 membrane_funnel_plugin 0.9.237 membrane_h264_ffmpeg_plugin 0.31.338 membrane_h264_format 0.6.139 membrane_h265_format 0.2.040 membrane_h26x_plugin 0.10.941 membrane_http_adaptive_stream_plugin 0.18.542 membrane_mp4_format 0.8.143 membrane_mp4_plugin 0.35.3 VULNERABLE!44 EEF-CVE-2026-53423 (MEDIUM)45 aka: CVE-2026-53423, GHSA-43hj-fxwj-49qw46 Unauthenticated denial-of-service via BEAM atom table exhaustion in membrane_mp4_plugin47 https://osv.dev/vulnerability/EEF-CVE-2026-5342348 membrane_opus_format 0.3.249 membrane_opus_plugin 0.20.850 membrane_precompiled_dependency_provider 0.2.451 membrane_raw_audio_format 0.12.352 membrane_raw_video_format 0.3.053 membrane_rtc_engine 0.25.054 membrane_rtc_engine_ex_webrtc 0.2.055 membrane_rtc_engine_hls 0.10.056 membrane_rtp_format 0.10.057 membrane_rtp_h264_plugin 0.20.258 membrane_rtp_plugin 0.30.059 membrane_rtp_vp8_plugin 0.9.460 membrane_tee_plugin 0.12.061 membrane_telemetry_metrics 0.1.362 membrane_timestamp_queue 0.2.363 membrane_vp8_format 0.5.164 mime 2.0.765 mint 1.11.066 nerves 2.0.0-pre.267 nerves_discovery 0.1.568 nerves_logging 0.2.469 nerves_runtime 0.13.1370 nerves_system_bbb 2.30.271 nerves_system_br 1.34.472 nerves_system_mangopi_mq_pro 0.17.273 nerves_system_qemu_aarch64 0.4.274 nerves_system_rpi0 2.1.275 nerves_system_rpi4 2.1.276 nerves_system_rpi5 2.1.277 nerves_system_trellis 0.5.078 nerves_system_x86_64 1.34.279 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.180 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.181 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.182 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.183 nerves_toolchain_x86_64_nerves_linux_musl 15.3.184 nerves_uevent 0.1.785 nimble_options 1.1.186 nimble_pool 1.1.087 numbers 5.2.588 property_table 0.3.489 protobuf 0.15.0 VULNERABLE!90 GHSA-rv48-qqj5-crxg (HIGH)91 aka: CVE-2026-5445192 Protobuf: Unbounded recursion depth in embedded-message decoding93 https://osv.dev/vulnerability/GHSA-rv48-qqj5-crxg94 qex 0.5.295 ratio 3.0.296 req 0.7.497 ring_logger 0.11.798 shmex 0.5.299 statistics 0.6.3100 tablet 0.3.3101 telemetry 1.4.2102 telemetry_metrics 1.2.0103 toolshed 0.5.0104 uboot_env 1.0.2105 unifex 1.1.2106 zarex 1.0.6107* Getting membrane_rtc_engine_hls (Hex package)108* Getting nerves (Hex package)109* Getting ring_logger (Hex package)110* Getting toolshed (Hex package)111* Getting nerves_runtime (Hex package)112* Getting nerves_system_bbb (Hex package)113* Getting nerves_system_mangopi_mq_pro (Hex package)114* Getting nerves_system_qemu_aarch64 (Hex package)115* Getting nerves_system_rpi0 (Hex package)116* Getting nerves_system_rpi4 (Hex package)117* Getting nerves_system_rpi5 (Hex package)118* Getting nerves_system_trellis (Hex package)119* Getting nerves_system_x86_64 (Hex package)120* Getting nerves_system_br (Hex package)121* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)122* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)123* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)124* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)125* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)126* Getting nerves_logging (Hex package)127* Getting nerves_uevent (Hex package)128* Getting uboot_env (Hex package)129* Getting elixir_make (Hex package)130* Getting property_table (Hex package)131* Getting circular_buffer (Hex package)132* Getting interactive_cmd (Hex package)133* Getting nerves_discovery (Hex package)134* Getting tablet (Hex package)135* Getting membrane_aac_fdk_plugin (Hex package)136* Getting membrane_aac_plugin (Hex package)137* Getting membrane_core (Hex package)138* Getting membrane_h264_ffmpeg_plugin (Hex package)139* Getting membrane_h26x_plugin (Hex package)140* Getting membrane_http_adaptive_stream_plugin (Hex package)141* Getting membrane_opus_plugin (Hex package)142* Getting membrane_raw_audio_format (Hex package)143* Getting membrane_raw_video_format (Hex package)144* Getting membrane_rtc_engine (Hex package)145* Getting membrane_rtc_engine_ex_webrtc (Hex package)146* Getting elixir_uuid (Hex package)147* Getting ex_sdp (Hex package)148* Getting ex_webrtc (Hex package)149* Getting fishjam_protos (Hex package)150* Getting jason (Hex package)151* Getting membrane_rtp_format (Hex package)152* Getting membrane_rtp_h264_plugin (Hex package)153* Getting membrane_rtp_plugin (Hex package)154* Getting membrane_rtp_vp8_plugin (Hex package)155* Getting membrane_vp8_format (Hex package)156* Getting bimap (Hex package)157* Getting bunch (Hex package)158* Getting ex_rtcp (Hex package)159* Getting ex_rtp (Hex package)160* Getting heap (Hex package)161* Getting membrane_funnel_plugin (Hex package)162* Getting membrane_telemetry_metrics (Hex package)163* Getting qex (Hex package)164* Getting telemetry (Hex package)165* Getting telemetry_metrics (Hex package)166* Getting membrane_h264_format (Hex package)167* Getting protobuf (Hex package)168* Getting crc (Hex package)169* Getting ex_dtls (Hex package)170* Getting ex_ice (Hex package)171* Getting ex_libsrtp (Hex package)172* Getting bundlex (Hex package)173* Getting membrane_precompiled_dependency_provider (Hex package)174* Getting unifex (Hex package)175* Getting shmex (Hex package)176* Getting bunch_native (Hex package)177* Getting req (Hex package)178* Getting finch (Hex package)179* Getting mime (Hex package)180* Getting mint (Hex package)181* Getting nimble_options (Hex package)182* Getting nimble_pool (Hex package)183* Getting hpax (Hex package)184* Getting zarex (Hex package)185* Getting ex_stun (Hex package)186* Getting ex_turn (Hex package)187* Getting statistics (Hex package)188* Getting membrane_common_c (Hex package)189* Getting membrane_opus_format (Hex package)190* Getting membrane_mp4_plugin (Hex package)191* Getting membrane_tee_plugin (Hex package)192* Getting membrane_aac_format (Hex package)193* Getting membrane_cmaf_format (Hex package)194* Getting membrane_file_plugin (Hex package)195* Getting membrane_h265_format (Hex package)196* Getting membrane_mp4_format (Hex package)197* Getting membrane_timestamp_queue (Hex package)198* Getting logger_backends (Hex package)199* Getting ratio (Hex package)200* Getting numbers (Hex package)201* Getting coerce (Hex package)202Found packages with security advisories, see above for details203==> membrane_mp4_format204Compiling 1 file (.ex)205Generated membrane_mp4_format app206==> ratio207Compiling 5 files (.ex)208 warning: <|> is deprecated. Use another pipe-like operator209 │210 123 │ def numerator <|> denominator211 │ ~212 │213 └─ lib/ratio.ex:123:17214215 warning: <|> is deprecated. Use another pipe-like operator216 │217 125 │ def _numerator <|> 0 do218 │ ~219 │220 └─ lib/ratio.ex:125:18221222 warning: <|> is deprecated. Use another pipe-like operator223 │224 129 │ def numerator <|> denominator when is_integer(numerator) and is_integer(denominator) do225 │ ~226 │227 └─ lib/ratio.ex:129:17228229 warning: <|> is deprecated. Use another pipe-like operator230 │231 133 │ def numerator <|> denominator when is_float(numerator) do232 │ ~233 │234 └─ lib/ratio.ex:133:17235236 warning: <|> is deprecated. Use another pipe-like operator237 │238 137 │ def numerator <|> denominator when is_float(denominator) do239 │ ~240 │241 └─ lib/ratio.ex:137:17242243 warning: <|> is deprecated. Use another pipe-like operator244 │245 141 │ def (numerator = %Ratio{}) <|> (denominator = %Ratio{}) do246 │ ~247 │248 └─ lib/ratio.ex:141:30249250 warning: <|> is deprecated. Use another pipe-like operator251 │252 146 │ def (numerator = %Decimal{}) <|> (denominator = %Decimal{}) do253 │ ~254 │255 └─ lib/ratio.ex:146:34256257 warning: <|> is deprecated. Use another pipe-like operator258 │259 151 │ def (numerator = %Decimal{}) <|> denominator when is_float(denominator) do260 │ ~261 │262 └─ lib/ratio.ex:151:34263264 warning: <|> is deprecated. Use another pipe-like operator265 │266 156 │ def numerator <|> (denominator = %Decimal{}) when is_float(numerator) do267 │ ~268 │269 └─ lib/ratio.ex:156:19270271 warning: <|> is deprecated. Use another pipe-like operator272 │273 161 │ def (numerator = %Decimal{}) <|> denominator when is_integer(denominator) do274 │ ~275 │276 └─ lib/ratio.ex:161:34277278 warning: <|> is deprecated. Use another pipe-like operator279 │280 166 │ def numerator <|> (denominator = %Decimal{}) when is_integer(numerator) do281 │ ~282 │283 └─ lib/ratio.ex:166:19284285 warning: <|> is deprecated. Use another pipe-like operator286 │287 171 │ def numerator <|> (denominator = %Ratio{}) when is_integer(numerator) do288 │ ~289 │290 └─ lib/ratio.ex:171:17291292 warning: <|> is deprecated. Use another pipe-like operator293 │294 175 │ def (numerator = %Ratio{}) <|> denominator when is_integer(denominator) do295 │ ~296 │297 └─ lib/ratio.ex:175:30298299 warning: <|> is deprecated. Use another pipe-like operator300 │301 205 │ <|> Ratio.DecimalConversion.decimal_to_rational(denominator)302 │ ~303 │304 └─ lib/ratio.ex:205:7305306 warning: <|> is deprecated. Use another pipe-like operator307 │308 209 │ numerator <|> Ratio.DecimalConversion.decimal_to_rational(denominator)309 │ ~310 │311 └─ lib/ratio.ex:209:17312313 warning: <|> is deprecated. Use another pipe-like operator314 │315 214 │ numerator <|> denominator316 │ ~317 │318 └─ lib/ratio.ex:214:15319320 warning: <|> is deprecated. Use another pipe-like operator321 │322 228 │ do: Kernel.abs(numerator) <|> denominator323 │ ~324 │325 └─ lib/ratio.ex:228:31326327 warning: <|> is deprecated. Use another pipe-like operator328 │329 271 │ Kernel.+(a, c) <|> lcm330 │ ~331 │332 └─ lib/ratio.ex:271:20333334 warning: <|> is deprecated. Use another pipe-like operator335 │336 275 │ Kernel.+(a * d, c * b) <|> (b * d)337 │ ~338 │339 └─ lib/ratio.ex:275:28340341 warning: <|> is deprecated. Use another pipe-like operator342 │343 309 │ Kernel.*(numerator1, numerator2) <|> Kernel.*(denominator1, denominator2)344 │ ~345 │346 └─ lib/ratio.ex:309:38347348 warning: <|> is deprecated. Use another pipe-like operator349 │350 327 │ Kernel.*(numerator1, denominator2) <|> Kernel.*(denominator1, numerator2)351 │ ~352 │353 └─ lib/ratio.ex:327:40354355 warning: <|> is deprecated. Use another pipe-like operator356 │357 434 │ defp do_pow(x, n, y) when Kernel.<(n, 0), do: do_pow(1 <|> x, Kernel.-(n), y)358 │ ~359 │360 └─ lib/ratio.ex:434:58361362 warning: <|> is deprecated. Use another pipe-like operator363 │364 21 │ numerator <|> denominator365 │ ~366 │367 └─ lib/ratio/float_conversion.ex:21:15368369 warning: Ratio.DecimalConversion.decimal_to_rational/1 is undefined (module Ratio.DecimalConversion is not available or is yet to be defined)370 │371 17 │ {ratio, Ratio.DecimalConversion.decimal_to_rational(decimal)}372 │ ~373 │374 └─ lib/ratio/coerce.ex:17:37: Coerce.Implementations.Ratio.Decimal.coerce/2375376both :extra_applications and :applications was found in your mix.exs. You most likely want to remove the :applications key, as all applications are derived from your dependencies377Generated ratio app378==> membrane_raw_video_format379Compiling 2 files (.ex)380Generated membrane_raw_video_format app381==> membrane_cmaf_format382Compiling 1 file (.ex)383Generated membrane_cmaf_format app384==> membrane_core385Compiling 139 files (.ex)386 warning: unused require Membrane.Core.Message (convert it to an alias instead)387 │388 7 │ require Membrane.Core.Message, as: Message389 │ ~390 │391 └─ lib/membrane/core/parent/diamond_detection_controller.ex:7:3392393 warning: unused require Membrane.Core.Component394 │395 5 │ require Membrane.Core.Component396 │ ~397 │398 └─ lib/membrane/core/child/lifecycle_controller.ex:5:3399400 warning: unused require Membrane.Core.Component401 │402 7 │ require Membrane.Core.Component403 │ ~404 │405 └─ lib/membrane/core/timer_controller.ex:7:3406407 warning: unused require Membrane.Core.Helper.FastMap408 │409 138 │ require FastMap410 │ ~411 │412 └─ lib/membrane/core/child/pad_model.ex:138:5413414 warning: unused require Membrane.Core.Child.PadModel415 │416 7 │ require Membrane.Core.Child.PadModel417 │ ~418 │419 └─ lib/membrane/core/child/pad_controller.ex:7:3420421 warning: unused require Membrane.Core.Message (convert it to an alias instead)422 │423 19 │ require Membrane.Core.Message, as: Message424 │ ~425 │426 └─ lib/membrane/core/element/manual_flow_controller.ex:19:3427428 warning: unused require Membrane.Logger429 │430 20 │ require Membrane.Logger431 │ ~432 │433 └─ lib/membrane/core/element/manual_flow_controller.ex:20:3434435 warning: unused require Membrane.Core.Component436 │437 23 │ require Membrane.Core.Component438 │ ~439 │440 └─ lib/membrane/core/parent/child_life_controller.ex:23:3441442 warning: unused require Membrane.Core.Message (convert it to an alias instead)443 │444 24 │ require Membrane.Core.Message, as: Message445 │ ~446 │447 └─ lib/membrane/core/parent/child_life_controller.ex:24:3448449 warning: unused require Membrane.Core.Component450 │451 9 │ require Membrane.Core.Component452 │ ~453 │454 └─ lib/membrane/core/parent/child_life_controller/startup_utils.ex:9:3455456 warning: unused require Membrane.Core.Component457 │458 18 │ require Membrane.Core.Component459 │ ~460 │461 └─ lib/membrane/core/parent/lifecycle_controller.ex:18:3462463 warning: unused require Membrane.Core.Message464 │465 19 │ require Membrane.Core.Message466 │ ~467 │468 └─ lib/membrane/core/parent/lifecycle_controller.ex:19:3469470 warning: unused require Membrane.Core.Message471 │472 20 │ require Membrane.Core.Message473 │ ~474 │475 └─ lib/membrane/core/element/lifecycle_controller.ex:20:3476477 warning: unused require Membrane.Core.Message478 │479 7 │ require Membrane.Core.Message480 │ ~481 │482 └─ lib/membrane/core/lifecycle_controller.ex:7:3483484 warning: the variable "at_pos" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator485 │486 103 │ <<part1::binary-size(at_pos), part2::binary>> = payload487 │ ~488 │489 └─ lib/membrane/payload.ex:103:26: Membrane.Payload.BitString.split_at/2490491 warning: the variable "bytes" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator492 │493 116 │ <<_dropped::binary-size(bytes), rest::binary>> = payload494 │ ~495 │496 └─ lib/membrane/payload.ex:116:29: Membrane.Payload.BitString.drop/2497498 warning: unused require Membrane.Core.Message (convert it to an alias instead)499 │500 11 │ require Membrane.Core.Message, as: Message501 │ ~502 │503 └─ lib/membrane/core/element/atomic_demand.ex:11:3504505 warning: unused require Membrane.Pad (convert it to an alias instead)506 │507 13 │ require Membrane.Pad, as: Pad508 │ ~509 │510 └─ lib/membrane/core/element/atomic_demand.ex:13:3511512 warning: unused require Membrane.Core.Message513 │514 20 │ require Membrane.Core.Message515 │ ~516 │517 └─ lib/membrane/bin.ex:20:3518519 warning: unused require Membrane.Core.Message (convert it to an alias instead)520 │521 24 │ require Membrane.Core.Message, as: Message522 │ ~523 │524 └─ lib/membrane/core/element/effective_flow_controller.ex:24:3525526 warning: unused require Membrane.Pad (convert it to an alias instead)527 │528 26 │ require Membrane.Pad, as: Pad529 │ ~530 │531 └─ lib/membrane/core/element/effective_flow_controller.ex:26:3532533 warning: unused require Membrane.Core.Message (convert it to an alias instead)534 │535 26 │ require Membrane.Core.Message, as: Message536 │ ~537 │538 └─ lib/membrane/core/element/pad_controller.ex:26:3539540 warning: unused require Membrane.Pad (convert it to an alias instead)541 │542 29 │ require Membrane.Pad, as: Pad543 │ ~544 │545 └─ lib/membrane/core/element/pad_controller.ex:29:3546547 warning: unused require Membrane.Pad (convert it to an alias instead)548 │549 18 │ require Membrane.Pad, as: Pad550 │ ~551 │552 └─ lib/membrane/core/element/auto_flow_controller.ex:18:3553554 warning: unused require Membrane.Pad555 │556 15 │ require Membrane.Pad557 │ ~558 │559 └─ lib/membrane/core/legacy_telemetry.ex:15:3560561 warning: unused require Membrane.Core.Component562 │563 14 │ require Membrane.Core.Component564 │ ~565 │566 └─ lib/membrane/core/pipeline.ex:14:3567568 warning: unused require Membrane.Pad (convert it to an alias instead)569 │570 6 │ require Membrane.Pad, as: Pad571 │ ~572 │573 └─ lib/membrane/core/element/diamond_detection_controller/path_in_grapth.ex:6:5574575 warning: unused require Membrane.Pad576 │577 11 │ require Membrane.Pad578 │ ~579 │580 └─ lib/membrane/core/child/pad_spec_handler.ex:11:3581582 warning: unused require Membrane.Core.Message (convert it to an alias instead)583 │584 63 │ require Membrane.Core.Message, as: Message585 │ ~586 │587 └─ lib/membrane/pipeline.ex:63:3588589 warning: unused require Membrane.Logger590 │591 81 │ require Membrane.Logger592 │ ~593 │594 └─ lib/membrane/core/element/diamond_detection_controller.ex:81:3595596 warning: unused require Membrane.Pad (convert it to an alias instead)597 │598 82 │ require Membrane.Pad, as: Pad599 │ ~600 │601 └─ lib/membrane/core/element/diamond_detection_controller.ex:82:3602603 warning: unused require Membrane.Core.Telemetry (convert it to an alias instead)604 │605 13 │ require Membrane.Core.Telemetry, as: Telemetry606 │ ~607 │608 └─ lib/membrane/core/callback_handler.ex:13:3609610 warning: unused require Membrane.Logger611 │612 11 │ require Membrane.Logger613 │ ~614 │615 └─ lib/membrane/core/pipeline/action_handler.ex:11:3616617 warning: unused require Membrane.Core.Telemetry (convert it to an alias instead)618 │619 42 │ require Membrane.Core.Telemetry, as: Telemetry620 │ ~621 │622 └─ lib/membrane/core/element.ex:42:3623624 warning: unused require Membrane.Core.Message625 │626 11 │ require Message627 │ ~628 │629 └─ lib/membrane/core/bin/action_handler.ex:11:3630631 warning: unused require Membrane.Core.Telemetry (convert it to an alias instead)632 │633 27 │ require Membrane.Core.Telemetry, as: Telemetry634 │ ~635 │636 └─ lib/membrane/core/element/buffer_controller.ex:27:3637638 warning: unused require Membrane.Core.Message (convert it to an alias instead)639 │640 34 │ require Membrane.Core.Message, as: Message641 │ ~642 │643 └─ lib/membrane/core/element/action_handler.ex:34:3644645 warning: unused require Membrane.Core.Telemetry (convert it to an alias instead)646 │647 36 │ require Membrane.Core.Telemetry, as: Telemetry648 │ ~649 │650 └─ lib/membrane/core/element/action_handler.ex:36:3651652 warning: unused require Membrane.Core.Message653 │654 24 │ require Membrane.Core.Message655 │ ~656 │657 └─ lib/membrane/core/element/event_controller.ex:24:3658659 warning: unused require Membrane.Core.Telemetry660 │661 25 │ require Membrane.Core.Telemetry662 │ ~663 │664 └─ lib/membrane/core/element/event_controller.ex:25:3665666 warning: unused require Membrane.Core.Telemetry667 │668 23 │ require Membrane.Core.Telemetry669 │ ~670 │671 └─ lib/membrane/core/element/stream_format_controller.ex:23:3672673 warning: unused require Membrane.Core.Message674 │675 24 │ require Membrane.Core.Message676 │ ~677 │678 └─ lib/membrane/core/parent/child_life_controller/link_utils.ex:24:3679680 warning: unused require Membrane.Core.Telemetry681 │682 25 │ require Membrane.Core.Telemetry683 │ ~684 │685 └─ lib/membrane/core/parent/child_life_controller/link_utils.ex:25:3686687 warning: unused require Membrane.Core.Message688 │689 90 │ require Membrane.Core.Message690 │ ~691 │692 └─ lib/membrane/testing/pipeline.ex:90:3693694 warning: the following clause cannot match because the previous clauses already matched all possible values:695696 _ ->697698 it attempts to match on the result of:699700 handler_reported?(component_type, callback)701702 which has the already matched type:703704 dynamic(false)705706 type warning found at:707 │708 190 │ if handler_reported?(component_type, callback) do709 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~710 │711 └─ lib/membrane/core/telemetry.ex:190: Membrane.Core.Telemetry.track_callback_handler/5712713 warning: the right-hand side of || will never be executed:714715 input_demand_unit || ...716717 because the left-hand side always evaluates to:718719 dynamic(not false and not nil)720721 where "input_demand_unit" was given the type:722723 # type: dynamic(not false and not nil)724 # from: lib/membrane/core/element/pad_controller.ex:140:45725 {output_demand_unit, input_demand_unit} = resolve_demand_units(output_pad_info, pad_info)726727 type warning found at:728 │729 155 │ receiver_demand_unit: input_demand_unit || :buffers,730 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~731 │732 └─ lib/membrane/core/element/pad_controller.ex:155: Membrane.Core.Element.PadController.do_handle_link/6733734 warning: the following clause is redundant:735736 {[], next_state} ->737738 previous clauses have already matched on the following types:739740 {empty_list() or non_empty_list(term(), term()), term()}741742 where "next_state" was given the type:743744 # type: dynamic()745 # from: lib/membrane/filter_aggregator.ex746 {[], next_state}747748 type warning found at:749 │750 186 │ {[], next_state} ->751 │ ~752 │753 └─ lib/membrane/filter_aggregator.ex:186:24: Membrane.FilterAggregator.perform_actions/5754755Generated membrane_core app756==> membrane_aac_plugin757Compiling 6 files (.ex)758 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator759 │760 89 │ <<frame::binary-size(size), rest::binary>> -> {:frame, frame, rest}761 │ ~762 │763 └─ lib/membrane/aac/parser/adts.ex:89:28: Membrane.AAC.Parser.ADTS.extract_frame/4764765 warning: the variable "adts_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator766 │767 98 │ <<_adts::binary-size(adts_size), frame::binary-size(frame_size), rest::binary>> ->768 │ ~769 │770 └─ lib/membrane/aac/parser/adts.ex:98:28: Membrane.AAC.Parser.ADTS.extract_frame/4771772 warning: the variable "frame_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator773 │774 98 │ <<_adts::binary-size(adts_size), frame::binary-size(frame_size), rest::binary>> ->775 │ ~776 │777 └─ lib/membrane/aac/parser/adts.ex:98:59: Membrane.AAC.Parser.ADTS.extract_frame/4778779 warning: the variable "custom_frequency_length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator780 │781 32 │ <<custom_frequency::integer-size(custom_frequency_length), channel_config_id::4,782 │ ~783 │784 └─ lib/membrane/aac/parser/audio_specific_config.ex:32:38: Membrane.AAC.Parser.AudioSpecificConfig.parse_audio_specific_config/1785786 warning: the variable "url_length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator787 │788 60 │ <<_url::binary-size(url_length), rest::binary>> = rest789 │ ~790 │791 └─ lib/membrane/aac/parser/esds.ex:60:29: Membrane.AAC.Parser.Esds.parse_esds/1792793 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 operator794 │795 92 │ <<payload::binary-size(payload_size), rest::binary>> = rest796 │ ~797 │798 └─ lib/membrane/aac/parser/esds.ex:92:32: Membrane.AAC.Parser.Esds.unpack_esds_section/2799800 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 operator801 │802 96 │ <<payload::binary-size(payload_size), rest::binary>> = rest803 │ ~804 │805 └─ lib/membrane/aac/parser/esds.ex:96:32: Membrane.AAC.Parser.Esds.unpack_esds_section/2806807 warning: a struct for Membrane.Buffer is expected on struct update:808809 %Membrane.Buffer{810 buffer811 | payload:812 Membrane.AAC.Parser.ADTS.payload_to_adts(buffer.payload, ctx.pads.output.stream_format)813 }814815 but got type:816817 dynamic(%{..., pts: integer()})818819 where "buffer" was given the type:820821 # type: dynamic(%{..., pts: integer()})822 # from: lib/membrane/aac/parser.ex:111:12823 buffer = %{buffer | pts: round(Ratio.to_float(timestamp))}824825 when defining the variable "buffer", you must also pattern match on "%Membrane.Buffer{}"826827 type warning found at:828 │829 116 │ %Buffer{830 │ ~831 │832 └─ lib/membrane/aac/parser.ex:116:11: Membrane.AAC.Parser.handle_buffer/4833834 warning: a struct for Membrane.AAC.Filler.State is expected on struct update:835836 %Membrane.AAC.Filler.State{state | frame_duration: new_duration, channels: stream_format.channels}837838 but got type:839840 dynamic()841842 where "state" was given the type:843844 # type: dynamic()845 # from: lib/membrane/aac/filler.ex:71:57846 state847848 when defining the variable "state", you must also pattern match on "%Membrane.AAC.Filler.State{}"849850 type warning found at:851 │852 75 │ state = %State{state | frame_duration: new_duration, channels: stream_format.channels}853 │ ~854 │855 └─ lib/membrane/aac/filler.ex:75:13: Membrane.AAC.Filler.handle_stream_format/4856857 warning: a struct for Membrane.Buffer is expected on struct update:858859 %Membrane.Buffer{860 buffer861 | payload: silent_frame_payload,862 pts: round(timestamp),863 dts: round(timestamp)864 }865866 but got type:867868 dynamic(%{..., pts: term()})869870 where "buffer" was given the type:871872 # type: dynamic(%{..., pts: term()})873 # from: lib/membrane/aac/filler.ex:84:32874 buffer.pts875876 when defining the variable "buffer", you must also pattern match on "%Membrane.Buffer{}"877878 type warning found at:879 │880 96 │ %Buffer{881 │ ~882 │883 └─ lib/membrane/aac/filler.ex:96:9: Membrane.AAC.Filler.handle_buffer/4884885Generated membrane_aac_plugin app886==> membrane_h26x_plugin887Compiling 31 files (.ex)888Generated membrane_h26x_plugin app889==> membrane_raw_audio_format890Compiling 2 files (.ex)891Generated membrane_raw_audio_format app892==> membrane_rtp_format893Compiling 5 files (.ex)894Generated membrane_rtp_format app895==> membrane_rtp_h264_plugin896Compiling 8 files (.ex)897 warning: the variable "preferred_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator898 │899 37 │ <<header::1-binary, head::binary-size(preferred_size - 1), rest::binary>> ->900 │ ~901 │902 └─ lib/rtp_h264/nal_formats/fu.ex:37:45: Membrane.RTP.H264.FU.serialize/2903904 warning: the variable "preferred_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator905 │906 54 │ <<head::binary-size(preferred_size - 2), rest::binary>> when byte_size(rest) > 0 ->907 │ ~908 │909 └─ lib/rtp_h264/nal_formats/fu.ex:54:27: Membrane.RTP.H264.FU.do_serialize/5910911 warning: the variable "offset" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator912 │913 120 │ <<_x::binary-size(offset), nalu::binary-size(nalu_size), remaining_aus::binary>> = rest914 │ ~915 │916 └─ lib/rtp_h264/utils.ex:120:25: Membrane.RTP.H264.Utils.check_first_aggregation_unit/3917918 warning: the variable "nalu_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator919 │920 120 │ <<_x::binary-size(offset), nalu::binary-size(nalu_size), remaining_aus::binary>> = rest921 │ ~922 │923 └─ lib/rtp_h264/utils.ex:120:52: Membrane.RTP.H264.Utils.check_first_aggregation_unit/3924925 warning: a struct for Membrane.Buffer is expected on struct update:926927 %Membrane.Buffer{buffer | payload: &1}928929 but got type:930931 dynamic(%{..., payload: term()})932933 where "buffer" was given the type:934935 # type: dynamic(%{..., payload: term()})936 # from: lib/rtp_h264/payloader.ex:187:11937 Membrane.RTP.H264.FU.serialize(938 buffer.payload,939 state.max_payload_size940 )941942 when defining the variable "buffer", you must also pattern match on "%Membrane.Buffer{}"943944 type warning found at:945 │946 188 │ |> Enum.map(&%Buffer{buffer | payload: &1})947 │ ~948 │949 └─ lib/rtp_h264/payloader.ex:188:18: Membrane.RTP.H264.Payloader.use_fu_a/2950951 warning: a struct for Membrane.RTP.H264.Depayloader.State is expected on struct update:952953 %Membrane.RTP.H264.Depayloader.State{state | parser_acc: nil}954955 but got type:956957 dynamic()958959 where "state" was given the type:960961 # type: dynamic()962 # from: lib/rtp_h264/depayloader.ex:43:43963 state964965 when defining the variable "state", you must also pattern match on "%Membrane.RTP.H264.Depayloader.State{}"966967 type warning found at:968 │969 51 │ {[], %State{state | parser_acc: nil}}970 │ ~971 │972 └─ lib/rtp_h264/depayloader.ex:51:14: Membrane.RTP.H264.Depayloader.handle_buffer/4973974 warning: a struct for Membrane.RTP.H264.FU is expected on struct update:975976 %Membrane.RTP.H264.FU{acc | data: [packet]}977978 but got type:979980 dynamic()981982 where "acc" was given the type:983984 # type: dynamic()985 # from: lib/rtp_h264/nal_formats/fu.ex:73:54986 acc987988 when defining the variable "acc", you must also pattern match on "%Membrane.RTP.H264.FU{}"989990 type warning found at:991 │992 74 │ do: {:incomplete, %__MODULE__{acc | data: [packet]}}993 │ ~994 │995 └─ lib/rtp_h264/nal_formats/fu.ex:74:23: Membrane.RTP.H264.FU.do_parse/3996997 warning: a struct for Membrane.RTP.H264.Depayloader.State is expected on struct update:998999 %Membrane.RTP.H264.Depayloader.State{state | parser_acc: nil}10001001 but got type:10021003 dynamic()10041005 where "state" was given the type:10061007 # type: dynamic()1008 # from: lib/rtp_h264/depayloader.ex:67:561009 state10101011 when defining the variable "state", you must also pattern match on "%Membrane.RTP.H264.Depayloader.State{}"10121013 type warning found at:1014 │1015 71 │ result = buffer_output(data, buffer, %State{state | parser_acc: nil})1016 │ ~1017 │1018 └─ lib/rtp_h264/depayloader.ex:71:46: Membrane.RTP.H264.Depayloader.handle_unit_type/410191020 warning: a struct for Membrane.RTP.H264.Depayloader.State is expected on struct update:10211022 %Membrane.RTP.H264.Depayloader.State{state | parser_acc: fu}10231024 but got type:10251026 dynamic()10271028 where "state" was given the type:10291030 # type: dynamic()1031 # from: lib/rtp_h264/depayloader.ex:67:561032 state10331034 when defining the variable "state", you must also pattern match on "%Membrane.RTP.H264.Depayloader.State{}"10351036 type warning found at:1037 │1038 75 │ result = {[], %State{state | parser_acc: fu}}1039 │ ~1040 │1041 └─ lib/rtp_h264/depayloader.ex:75:23: Membrane.RTP.H264.Depayloader.handle_unit_type/410421043 warning: a struct for Membrane.Buffer is expected on struct update:10441045 %Membrane.Buffer{buffer | payload: add_prefix(&1)}10461047 but got type:10481049 dynamic()10501051 where "buffer" was given the type:10521053 # type: dynamic()1054 # from: lib/rtp_h264/depayloader.ex:83:511055 buffer10561057 when defining the variable "buffer", you must also pattern match on "%Membrane.Buffer{}"10581059 type warning found at:1060 │1061 85 │ buffers = Enum.map(result, &%Buffer{buffer | payload: add_prefix(&1)})1062 │ ~1063 │1064 └─ lib/rtp_h264/depayloader.ex:85:35: Membrane.RTP.H264.Depayloader.handle_unit_type/410651066 warning: a struct for Membrane.Buffer is expected on struct update:10671068 %Membrane.Buffer{buffer | payload: add_prefix(data)}10691070 but got type:10711072 dynamic()10731074 where "buffer" was given the type:10751076 # type: dynamic()1077 # from: lib/rtp_h264/depayloader.ex:95:311078 buffer10791080 when defining the variable "buffer", you must also pattern match on "%Membrane.Buffer{}"10811082 type warning found at:1083 │1084 96 │ [buffer: {:output, %Buffer{buffer | payload: add_prefix(data)}}]1085 │ ~1086 │1087 └─ lib/rtp_h264/depayloader.ex:96:24: Membrane.RTP.H264.Depayloader.action_from_data/210881089Generated membrane_rtp_h264_plugin app1090==> membrane_rtp_vp8_plugin1091Compiling 6 files (.ex)1092 warning: a struct for Membrane.RTP.VP8.PayloadDescriptor is expected on struct update:10931094 %Membrane.RTP.VP8.PayloadDescriptor{descriptor_acc | i: i, l: l, t: t, k: k}10951096 but got type:10971098 dynamic()10991100 where "descriptor_acc" was given the type:11011102 # type: dynamic()1103 # from: lib/membrane_rtp_vp8/payload_descriptor.ex:130:101104 descriptor_acc11051106 when defining the variable "descriptor_acc", you must also pattern match on "%Membrane.RTP.VP8.PayloadDescriptor{}"11071108 type warning found at:1109 │1110 136 │ {:ok, {%__MODULE__{descriptor_acc | i: i, l: l, t: t, k: k}, rest}}1111 │ ~1112 │1113 └─ lib/membrane_rtp_vp8/payload_descriptor.ex:136:12: Membrane.RTP.VP8.PayloadDescriptor.get_extended_control_bits/211141115 warning: a struct for Membrane.RTP.VP8.Depayloader.State is expected on struct update:11161117 %Membrane.RTP.VP8.Depayloader.State{1118 state1119 | frame_acc: %Membrane.RTP.VP8.Frame{fragments: [], last_seq_num: nil, last_timestamp: nil}1120 }11211122 but got type:11231124 dynamic()11251126 where "state" was given the type:11271128 # type: dynamic()1129 # from: lib/membrane_rtp_vp8/depayloader.ex:40:601130 state11311132 when defining the variable "state", you must also pattern match on "%Membrane.RTP.VP8.Depayloader.State{}"11331134 type warning found at:1135 │1136 41 │ do: {[forward: event], %State{state | frame_acc: %Frame{}}}1137 │ ~1138 │1139 └─ lib/membrane_rtp_vp8/depayloader.ex:41:28: Membrane.RTP.VP8.Depayloader.handle_event/411401141 warning: a struct for Membrane.RTP.VP8.PayloadDescriptor is expected on struct update:11421143 %Membrane.RTP.VP8.PayloadDescriptor{descriptor_acc | m: 0, picture_id: picture_id}11441145 but got type:11461147 dynamic()11481149 where "descriptor_acc" was given the type:11501151 # type: dynamic()1152 # from: lib/membrane_rtp_vp8/payload_descriptor.ex:143:231153 descriptor_acc11541155 when defining the variable "descriptor_acc", you must also pattern match on "%Membrane.RTP.VP8.PayloadDescriptor{}"11561157 type warning found at:1158 │1159 145 │ do: {:ok, {%__MODULE__{descriptor_acc | m: 0, picture_id: picture_id}, rest}}1160 │ ~1161 │1162 └─ lib/membrane_rtp_vp8/payload_descriptor.ex:145:19: Membrane.RTP.VP8.PayloadDescriptor.get_picture_id/211631164 warning: a struct for Membrane.Buffer is expected on struct update:11651166 %Membrane.Buffer{state.first_buffer | payload: frame}11671168 but got type:11691170 dynamic()11711172 where "state" was given the types:11731174 # type: dynamic(not %Membrane.RTP.VP8.Depayloader.State{first_buffer: nil})1175 # from: lib/membrane_rtp_vp8/depayloader.ex:52:421176 state11771178 # type: dynamic(1179 %{..., frame_acc: %{..., fragments: term()}} and1180 not %Membrane.RTP.VP8.Depayloader.State{first_buffer: nil}1181 )1182 # from: lib/membrane_rtp_vp8/depayloader.ex:53:271183 Membrane.RTP.VP8.Frame.flush(state.frame_acc)11841185 # type: dynamic(1186 %{..., first_buffer: term(), frame_acc: %{..., fragments: term()}} and1187 not %Membrane.RTP.VP8.Depayloader.State{first_buffer: nil}1188 )1189 # from: lib/membrane_rtp_vp8/depayloader.ex:56:261190 %Membrane.Buffer{...}11911192 you must assign "state.first_buffer" to variable and pattern match on "%Membrane.Buffer{}"11931194 type warning found at:1195 │1196 56 │ buffer: {:output, %Buffer{state.first_buffer | payload: frame}},1197 │ ~1198 │1199 └─ lib/membrane_rtp_vp8/depayloader.ex:56:26: Membrane.RTP.VP8.Depayloader.handle_end_of_stream/312001201 warning: a struct for Membrane.RTP.VP8.PayloadDescriptor is expected on struct update:12021203 %Membrane.RTP.VP8.PayloadDescriptor{descriptor_acc | m: 1, picture_id: picture_id}12041205 but got type:12061207 dynamic()12081209 where "descriptor_acc" was given the type:12101211 # type: dynamic()1212 # from: lib/membrane_rtp_vp8/payload_descriptor.ex:147:231213 descriptor_acc12141215 when defining the variable "descriptor_acc", you must also pattern match on "%Membrane.RTP.VP8.PayloadDescriptor{}"12161217 type warning found at:1218 │1219 149 │ do: {:ok, {%__MODULE__{descriptor_acc | m: 1, picture_id: picture_id}, rest}}1220 │ ~1221 │1222 └─ lib/membrane_rtp_vp8/payload_descriptor.ex:149:19: Membrane.RTP.VP8.PayloadDescriptor.get_picture_id/212231224 warning: a struct for Membrane.RTP.VP8.Depayloader.State is expected on struct update:12251226 %Membrane.RTP.VP8.Depayloader.State{state | frame_acc: acc}12271228 but got type:12291230 dynamic(%{..., frame_acc: term()})12311232 where "state" was given the type:12331234 # type: dynamic(%{..., frame_acc: term()})1235 # from: lib/membrane_rtp_vp8/depayloader.ex:76:161236 Membrane.RTP.VP8.Frame.parse(buffer, state.frame_acc)12371238 when defining the variable "state", you must also pattern match on "%Membrane.RTP.VP8.Depayloader.State{}"12391240 type warning found at:1241 │1242 78 │ {:ok, [], %State{state | frame_acc: acc}}1243 │ ~1244 │1245 └─ lib/membrane_rtp_vp8/depayloader.ex:78:19: Membrane.RTP.VP8.Depayloader.parse_buffer/212461247 warning: a struct for Membrane.RTP.VP8.Depayloader.State is expected on struct update:12481249 %Membrane.RTP.VP8.Depayloader.State{state | frame_acc: acc, first_buffer: buffer}12501251 but got type:12521253 dynamic(%{..., first_buffer: %{..., payload: term()}, frame_acc: term()})12541255 where "state" was given the types:12561257 # type: dynamic(%{..., frame_acc: term()})1258 # from: lib/membrane_rtp_vp8/depayloader.ex:76:161259 Membrane.RTP.VP8.Frame.parse(buffer, state.frame_acc)12601261 # type: dynamic(%{..., first_buffer: %{..., payload: term()}, frame_acc: term()})1262 # from: lib/membrane_rtp_vp8/depayloader.ex:81:91263 {:ok, [buffer: {:output, %{state.first_buffer | payload: frame}}],1264 %Membrane.RTP.VP8.Depayloader.State{...}}12651266 when defining the variable "state", you must also pattern match on "%Membrane.RTP.VP8.Depayloader.State{}"12671268 type warning found at:1269 │1270 82 │ %State{state | frame_acc: acc, first_buffer: buffer}}1271 │ ~1272 │1273 └─ lib/membrane_rtp_vp8/depayloader.ex:82:10: Membrane.RTP.VP8.Depayloader.parse_buffer/212741275 warning: a struct for Membrane.RTP.VP8.PayloadDescriptor is expected on struct update:12761277 %Membrane.RTP.VP8.PayloadDescriptor{descriptor_acc | tl0picidx: tl0picidx}12781279 but got type:12801281 dynamic()12821283 where "descriptor_acc" was given the type:12841285 # type: dynamic()1286 # from: lib/membrane_rtp_vp8/payload_descriptor.ex:156:381287 descriptor_acc12881289 when defining the variable "descriptor_acc", you must also pattern match on "%Membrane.RTP.VP8.PayloadDescriptor{}"12901291 type warning found at:1292 │1293 158 │ do: {:ok, {%__MODULE__{descriptor_acc | tl0picidx: tl0picidx}, rest}}1294 │ ~1295 │1296 └─ lib/membrane_rtp_vp8/payload_descriptor.ex:158:19: Membrane.RTP.VP8.PayloadDescriptor.get_temporal_level_zero_index/212971298Generated membrane_rtp_vp8_plugin app1299==> membrane_funnel_plugin1300Compiling 2 files (.ex)1301Generated membrane_funnel_plugin app1302==> membrane_tee_plugin1303Compiling 3 files (.ex)1304130503:02:08.768 [warning] Membrane.Tee.Master 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.1306Pads with `flow_control: :auto`: input, master.1307Pads with `flow_control: :push`: copy.13081309If you want get rid of this warning, pass `flow_control_hints?: false` option to `use Membrane.Filter`.13101311131203:02:08.801 [warning] Membrane.Tee.PushOutput 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.1313Pads with `flow_control: :auto`: input.1314Pads with `flow_control: :push`: output.13151316If you want get rid of this warning, pass `flow_control_hints?: false` option to `use Membrane.Filter`.13171318Generated membrane_tee_plugin app1319==> membrane_file_plugin1320Compiling 10 files (.ex)1321Generated membrane_file_plugin app1322==> membrane_timestamp_queue1323Compiling 1 file (.ex)1324Generated membrane_timestamp_queue app1325==> membrane_mp4_plugin1326Compiling 32 files (.ex)1327 warning: the variable "content_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1328 │1329 23 │ header_content: <<content::binary-size(content_size), data::binary>> <- rest,1330 │ ~1331 │1332 └─ lib/membrane_mp4/container/parse_helper.ex:23:50: Membrane.MP4.Container.ParseHelper.parse_boxes/413331334 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1335 │1336 76 │ <<^reserved::bitstring-size(size), rest::bitstring>> -> {:ok, {[], rest}, context}1337 │ ~1338 │1339 └─ lib/membrane_mp4/container/parse_helper.ex:76:35: Membrane.MP4.Container.ParseHelper.parse_field/313401341 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1342 │1343 113 │ <<int::signed-integer-size(size), rest::bitstring>> ->1344 │ ~1345 │1346 └─ lib/membrane_mp4/container/parse_helper.ex:113:34: Membrane.MP4.Container.ParseHelper.parse_field/313471348 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1349 │1350 123 │ <<uint::integer-size(size), rest::bitstring>> ->1351 │ ~1352 │1353 └─ lib/membrane_mp4/container/parse_helper.ex:123:28: Membrane.MP4.Container.ParseHelper.parse_field/313541355 warning: the variable "int_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1356 │1357 133 │ <<int::integer-size(int_size), frac::integer-size(frac_size), rest::bitstring>> ->1358 │ ~1359 │1360 └─ lib/membrane_mp4/container/parse_helper.ex:133:27: Membrane.MP4.Container.ParseHelper.parse_field/313611362 warning: the variable "frac_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1363 │1364 133 │ <<int::integer-size(int_size), frac::integer-size(frac_size), rest::bitstring>> ->1365 │ ~1366 │1367 └─ lib/membrane_mp4/container/parse_helper.ex:133:57: Membrane.MP4.Container.ParseHelper.parse_field/313681369 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1370 │1371 147 │ <<bin::bitstring-size(size), rest::bitstring>> -> {:ok, {bin, rest}, context}1372 │ ~1373 │1374 └─ lib/membrane_mp4/container/parse_helper.ex:147:29: Membrane.MP4.Container.ParseHelper.parse_field/313751376 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 operator1377 │1378 75 │ <<_to_skip::binary-size(to_skip), payload::binary-size(size), rest::binary>> ->1379 │ ~1380 │1381 └─ lib/membrane_mp4/demuxer/isom/samples_info.ex:75:31: Membrane.MP4.Demuxer.ISOM.SamplesInfo.do_get_samples/313821383 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1384 │1385 75 │ <<_to_skip::binary-size(to_skip), payload::binary-size(size), rest::binary>> ->1386 │ ~1387 │1388 └─ lib/membrane_mp4/demuxer/isom/samples_info.ex:75:62: Membrane.MP4.Demuxer.ISOM.SamplesInfo.do_get_samples/313891390 warning: the variable "mdat_header_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1391 │1392 376 │ <<_header::binary-size(mdat_header_size), content::binary>> = state.partial1393 │ ~1394 │1395 └─ lib/membrane_mp4/demuxer/isom.ex:376:32: Membrane.MP4.Demuxer.ISOM.handle_can_read_mdat_box/213961397 warning: a struct for Membrane.MP4.Muxer.CMAF.TrackSamplesQueue is expected on struct update:13981399 %Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{&1 | track_with_keyframes?: is_video_pad}14001401 but got type:14021403 dynamic()14041405 instead of using &1, you must define an anonymous function, define a variable and pattern match on "%Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{}"14061407 type warning found at:1408 │1409 301 │ &%SamplesQueue{&1 | track_with_keyframes?: is_video_pad}1410 │ ~1411 │1412 └─ lib/membrane_mp4/muxer/cmaf.ex:301:10: Membrane.MP4.Muxer.CMAF.handle_stream_format/414131414 warning: a struct for Membrane.Buffer is expected on struct update:14151416 %Membrane.Buffer{sample | dts: Membrane.Buffer.get_dts_or_pts(sample)}14171418 but got type:14191420 dynamic()14211422 where "sample" was given the type:14231424 # type: dynamic()1425 # from: lib/membrane_mp4/muxer/cmaf.ex:341:491426 sample14271428 when defining the variable "sample", you must also pattern match on "%Membrane.Buffer{}"14291430 type warning found at:1431 │1432 348 │ sample = %Buffer{sample | dts: Buffer.get_dts_or_pts(sample)}1433 │ ~1434 │1435 └─ lib/membrane_mp4/muxer/cmaf.ex:348:14: Membrane.MP4.Muxer.CMAF.handle_buffer/414361437 warning: a struct for Membrane.Buffer is expected on struct update:14381439 %Membrane.Buffer{sample | metadata: sample_metadata}14401441 but got type:14421443 dynamic(%{..., metadata: map()})14441445 where "sample" was given the type:14461447 # type: dynamic(%{..., metadata: map()})1448 # from: lib/membrane_mp4/muxer/cmaf.ex:489:171449 Map.put(1450 sample.metadata,1451 :duration,1452 Membrane.MP4.Muxer.CMAF.TrackSamplesQueue.last_sample(queue).metadata.duration1453 )14541455 when defining the variable "sample", you must also pattern match on "%Membrane.Buffer{}"14561457 type warning found at:1458 │1459 491 │ sample = %Buffer{sample | metadata: sample_metadata}1460 │ ~1461 │1462 └─ lib/membrane_mp4/muxer/cmaf.ex:491:20: Membrane.MP4.Muxer.CMAF.generate_end_of_stream_segment/414631464 warning: a struct for Membrane.MP4.Muxer.CMAF.TrackSamplesQueue is expected on struct update:14651466 %Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{1467 queue1468 | collected_samples_duration: queue.collected_samples_duration + sample.metadata.duration,1469 target_samples: [sample | queue.target_samples]1470 }14711472 but got type:14731474 dynamic()14751476 where "queue" was given the type:14771478 # type: dynamic()1479 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:125:161480 queue14811482 when defining the variable "queue", you must also pattern match on "%Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{}"14831484 type warning found at:1485 │1486 127 │ %__MODULE__{1487 │ ~1488 │1489 └─ lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:127:5: Membrane.MP4.Muxer.CMAF.TrackSamplesQueue.do_push/614901491 warning: a struct for Membrane.MP4.Muxer.CMAF.TrackSamplesQueue is expected on struct update:14921493 %Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{1494 queue1495 | excess_samples: [sample | queue.excess_samples]1496 }14971498 but got type:14991500 dynamic(%{..., collectable?: not false and not nil})15011502 where "queue" was given the types:15031504 # type: dynamic(%{..., collectable?: term()})1505 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:185:141506 queue.collectable?15071508 # type: dynamic(%{..., collectable?: not false and not nil})1509 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:185:141510 queue.collectable?15111512 when defining the variable "queue", you must also pattern match on "%Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{}"15131514 type warning found at:1515 │1516 186 │ %__MODULE__{queue | excess_samples: [sample | queue.excess_samples]}1517 │ ~1518 │1519 └─ lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:186:7: Membrane.MP4.Muxer.CMAF.TrackSamplesQueue.do_push/615201521 warning: a struct for Membrane.Buffer is expected on struct update:15221523 %Membrane.Buffer{prev_sample | metadata: prev_sample_metadata}15241525 but got type:15261527 dynamic(%{..., dts: term(), metadata: map()})15281529 where "prev_sample" was given the types:15301531 # type: dynamic(not nil)1532 # from: lib/membrane_mp4/muxer/cmaf.ex:7221533 prev_sample == nil15341535 # type: dynamic(%{..., dts: term()})1536 # from: lib/membrane_mp4/muxer/cmaf.ex:7251537 Numbers.sub(sample.dts, prev_sample.dts)15381539 # type: dynamic(%{..., dts: term(), metadata: map()})1540 # from: lib/membrane_mp4/muxer/cmaf.ex:726:341541 Map.put(prev_sample.metadata, :duration, duration)15421543 when defining the variable "prev_sample", you must also pattern match on "%Membrane.Buffer{}"15441545 type warning found at:1546 │1547 727 │ prev_sample = %Buffer{prev_sample | metadata: prev_sample_metadata}1548 │ ~1549 │1550 └─ lib/membrane_mp4/muxer/cmaf.ex:727:21: Membrane.MP4.Muxer.CMAF.process_buffer_awaiting_duration/315511552 warning: a struct for Membrane.MP4.Muxer.CMAF.TrackSamplesQueue is expected on struct update:15531554 %Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{1555 queue1556 | collectable?: true,1557 target_samples: Enum.reverse(target_samples),1558 collected_samples_duration: total_duration(target_samples),1559 excess_samples: [sample]1560 }15611562 but got type:15631564 dynamic(%{1565 ...,1566 collectable?: false or nil,1567 excess_samples: list(term()),1568 target_samples: term(),1569 track_with_keyframes?: true1570 })15711572 where "queue" was given the types:15731574 # type: dynamic(%{..., collectable?: term()})1575 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:185:141576 queue.collectable?15771578 # type: dynamic(%{..., collectable?: false or nil})1579 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:185:141580 queue.collectable?15811582 # type: dynamic(%{..., collectable?: false or nil, track_with_keyframes?: term()})1583 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:188:161584 queue.track_with_keyframes?15851586 # type: dynamic(%{..., collectable?: false or nil, track_with_keyframes?: boolean()})1587 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:188:161588 queue.track_with_keyframes?15891590 # type: dynamic(%{..., collectable?: false or nil, track_with_keyframes?: true})1591 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:188:161592 queue.track_with_keyframes?15931594 # type: dynamic(%{1595 ...,1596 collectable?: false or nil,1597 excess_samples: list(term()),1598 track_with_keyframes?: true1599 })1600 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:189:471601 queue.excess_samples ++ queue.target_samples16021603 # type: dynamic(%{1604 ...,1605 collectable?: false or nil,1606 excess_samples: list(term()),1607 target_samples: term(),1608 track_with_keyframes?: true1609 })1610 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:189:471611 queue.excess_samples ++ queue.target_samples16121613 when defining the variable "queue", you must also pattern match on "%Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{}"16141615 type warning found at:1616 │1617 191 │ %__MODULE__{1618 │ ~1619 │1620 └─ lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:191:9: Membrane.MP4.Muxer.CMAF.TrackSamplesQueue.do_push/616211622 warning: a struct for Membrane.MP4.Muxer.CMAF.TrackSamplesQueue is expected on struct update:16231624 %Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{1625 queue1626 | collectable?: true,1627 target_samples: Enum.reverse(queue.target_samples),1628 excess_samples: [sample | queue.excess_samples]1629 }16301631 but got type:16321633 dynamic(%{..., collectable?: false or nil, track_with_keyframes?: boolean()})16341635 where "queue" was given the types:16361637 # type: dynamic(%{..., collectable?: term()})1638 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:185:141639 queue.collectable?16401641 # type: dynamic(%{..., collectable?: false or nil})1642 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:185:141643 queue.collectable?16441645 # type: dynamic(%{..., collectable?: false or nil, track_with_keyframes?: term()})1646 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:188:161647 queue.track_with_keyframes?16481649 # type: dynamic(%{..., collectable?: false or nil, track_with_keyframes?: boolean()})1650 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:188:161651 queue.track_with_keyframes?16521653 when defining the variable "queue", you must also pattern match on "%Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{}"16541655 type warning found at:1656 │1657 199 │ %__MODULE__{1658 │ ~1659 │1660 └─ lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:199:9: Membrane.MP4.Muxer.CMAF.TrackSamplesQueue.do_push/616611662 warning: a struct for Membrane.MP4.Muxer.CMAF.TrackSamplesQueue is expected on struct update:16631664 %Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{1665 queue1666 | collectable?: false,1667 collected_samples_duration: 0,1668 target_samples: [],1669 excess_samples: []1670 }16711672 but got type:16731674 dynamic()16751676 where "queue" was given the type:16771678 # type: dynamic()1679 # from: lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:329:201680 queue16811682 when defining the variable "queue", you must also pattern match on "%Membrane.MP4.Muxer.CMAF.TrackSamplesQueue{}"16831684 type warning found at:1685 │1686 330 │ %__MODULE__{1687 │ ~1688 │1689 └─ lib/membrane_mp4/muxer/cmaf/track_samples_queue.ex:330:5: Membrane.MP4.Muxer.CMAF.TrackSamplesQueue.reset_queue/116901691 warning: a struct for Membrane.Buffer is expected on struct update:16921693 %Membrane.Buffer{buffer | dts: Membrane.Buffer.get_dts_or_pts(buffer)}16941695 but got type:16961697 dynamic()16981699 where "buffer" was given the type:17001701 # type: dynamic()1702 # from: lib/membrane_mp4/muxer/isom.ex1703 {{Membrane.Pad, :input, pad_ref}, {:buffer, buffer}}17041705 when defining the variable "buffer", you must also pattern match on "%Membrane.Buffer{}"17061707 type warning found at:1708 │1709 189 │ buffer = %Buffer{buffer | dts: Buffer.get_dts_or_pts(buffer)}1710 │ ~1711 │1712 └─ lib/membrane_mp4/muxer/isom.ex:189:14: Membrane.MP4.Muxer.ISOM.handle_queue_item/217131714 warning: the following clause will never match:17151716 {:error, :not_available_yet} ->17171718 it is expected to match on type:17191720 none()17211722 type warning found at:1723 │1724 288 │ {:error, :not_available_yet} -> {[], state}1725 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1726 │1727 └─ lib/membrane_mp4/demuxer/cmaf.ex:288: Membrane.MP4.Demuxer.CMAF.get_buffers/117281729 warning: incompatible types given to Ratio.mult/2:17301731 Ratio.mult(1732 Ratio.new(sample.ts, engine.last_timescales[sample.track_id]),1733 10001734 )17351736 given types:17371738 dynamic(), -integer()-17391740 but expected one of:17411742 (1743 %Ratio{numerator: float() or integer(), denominator: float() or integer()},1744 %Ratio{numerator: float() or integer(), denominator: float() or integer()}1745 )17461747 where "engine" was given the types:17481749 # type: dynamic(%{..., samples_info: term()})1750 # from: lib/membrane_mp4/demuxer/cmaf/engine.ex:182:121751 Enum.split_while(1752 engine.samples_info,1753 &(&1.offset - engine.how_many_segment_bytes_read < byte_size(mdat_box.content))1754 )17551756 # type: dynamic(%{..., how_many_segment_bytes_read: integer(), samples_info: term()})1757 # from: lib/membrane_mp4/demuxer/cmaf/engine.ex:192:481758 sample.offset - engine.how_many_segment_bytes_read17591760 # type: dynamic(%{1761 ...,1762 how_many_segment_bytes_read: integer(),1763 last_timescales:1764 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1765 non_struct_map(),1766 samples_info: term()1767 })1768 # from: lib/membrane_mp4/demuxer/cmaf/engine.ex:195:541769 engine.last_timescales[sample.track_id]17701771 where "sample" was given the types:17721773 # type: dynamic(%{..., offset: integer(), size: integer()})1774 # from: lib/membrane_mp4/demuxer/cmaf/engine.ex:192:221775 binary_part(mdat_box.content, sample.offset - engine.how_many_segment_bytes_read, sample.size)17761777 # type: dynamic(%{..., offset: integer()})1778 # from: lib/membrane_mp4/demuxer/cmaf/engine.ex:192:481779 sample.offset - engine.how_many_segment_bytes_read17801781 # type: dynamic(%{..., offset: integer(), size: integer(), ts: term()})1782 # from: lib/membrane_mp4/demuxer/cmaf/engine.ex:195:171783 Ratio.new(sample.ts, engine.last_timescales[sample.track_id])17841785 # type: dynamic(%{..., offset: integer(), size: integer(), track_id: term(), ts: term()})1786 # from: lib/membrane_mp4/demuxer/cmaf/engine.ex:195:541787 engine.last_timescales[sample.track_id]17881789 type warning found at:1790 │1791 196 │ |> Ratio.mult(1000)1792 │ ~1793 │1794 └─ lib/membrane_mp4/demuxer/cmaf/engine.ex:196:20: Membrane.MP4.Demuxer.CMAF.Engine.read_mdat/217951796Generated membrane_mp4_plugin app1797==> unifex1798Bundlex: Building natives: unifex1799/work/proj/deps_x86_64/unifex/c_src/unifex/cnode/unifex/cnode.c: In function 'unifex_cnode_init':1800/work/proj/deps_x86_64/unifex/c_src/unifex/cnode/unifex/cnode.c:172:49: warning: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Wcalloc-transposed-args]1801 172 | *env = (UnifexEnv){.node_name = calloc(sizeof(char), 256),1802 | ^~~~1803/work/proj/deps_x86_64/unifex/c_src/unifex/cnode/unifex/cnode.c:172:49: note: earlier argument should specify number of elements, later size of each element1804Compiling 33 files (.ex)1805 warning: unused require Bundlex.CNode1806 │1807 6 │ require Bundlex.CNode1808 │ ~1809 │1810 └─ lib/unifex/cnode.ex:6:318111812Generated unifex app1813==> ex_dtls1814Bundlex: Building natives: native1815Compiling 2 files (.ex)1816Generated ex_dtls app1817==> membrane_common_c1818Bundlex: Building natives: membrane, membrane_ringbuffer1819Compiling 1 file (.ex)1820Generated membrane_common_c app1821182203:02:17.614 [warning] Function decode marked as dirty does not match any function defined in spec (/work/proj/deps_x86_64/membrane_h264_ffmpeg_plugin/c_src/membrane_h264_ffmpeg_plugin/decoder.spec.exs).1823182403:02:17.614 [warning] Function flush marked as dirty does not match any function defined in spec (/work/proj/deps_x86_64/membrane_h264_ffmpeg_plugin/c_src/membrane_h264_ffmpeg_plugin/decoder.spec.exs).1825182603:02:17.657 [warning] Function flush marked as dirty does not match any function defined in spec (/work/proj/deps_x86_64/membrane_h264_ffmpeg_plugin/c_src/membrane_h264_ffmpeg_plugin/encoder.spec.exs).1827182803:02:17.657 [warning] Function encode marked as dirty does not match any function defined in spec (/work/proj/deps_x86_64/membrane_h264_ffmpeg_plugin/c_src/membrane_h264_ffmpeg_plugin/encoder.spec.exs).1829==> membrane_h264_ffmpeg_plugin1830Bundlex: Building natives: decoder, encoder1831warning: Bundlex: Couldn't load OS dependency using {:precompiled, "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n6.0-latest-linux64-gpl-shared-6.0.tar.xz", ["libavcodec", "libavutil"]}18321833couldn't download and extract the precompiled dependency :ffmpeg due to:1834 ** (BundlexError) Cannot download file from https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n6.0-latest-linux64-gpl-shared-6.0.tar.xz1835 Response status: 404183618371838Loading using {:pkg_config, ["libavcodec", "libavutil"]}183918401841could not compile dependency :membrane_h264_ffmpeg_plugin, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile membrane_h264_ffmpeg_plugin --force", update it with "mix deps.update membrane_h264_ffmpeg_plugin" or clean it with "mix deps.clean membrane_h264_ffmpeg_plugin"1842==> nerves_compatibility_test1843** (Mix) Bundlex: Couldn't load OS dependency :ffmpeg of package membrane_h264_ffmpeg_plugin. Make sure to follow installation instructions that may be available in the readme of membrane_h264_ffmpeg_plugin.18441845Tried the following providers:18461847Provider `{:precompiled, "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n6.0-latest-linux64-gpl-shared-6.0.tar.xz", ["libavcodec", "libavutil"]}` couldn't download and extract the precompiled dependency :ffmpeg due to:1848 ** (BundlexError) Cannot download file from https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n6.0-latest-linux64-gpl-shared-6.0.tar.xz1849 Response status: 40418501851Provider `{:pkg_config, ["libavcodec", "libavutil"]}` couldn't load ["libavcodec", "libavutil"] libraries with pkg-config due to:1852 ** (BundlexError) pkg-config error:1853 Code: 11854 Package libavcodec was not found in the pkg-config search path.1855 Perhaps you should add the directory containing `libavcodec.pc'1856 to the PKG_CONFIG_PATH environment variable1857 Package 'libavcodec', required by 'virtual:world', not found18581859