Skip to content

Handle "@" prefix in from_data/1 events#120

Merged
varsill merged 1 commit intomembraneframework:masterfrom
olegokunevych:fix_non_spec_prefix
Mar 4, 2026
Merged

Handle "@" prefix in from_data/1 events#120
varsill merged 1 commit intomembraneframework:masterfrom
olegokunevych:fix_non_spec_prefix

Conversation

@olegokunevych
Copy link
Copy Markdown
Contributor

When using RTMP plugin with streams from some ip camera vendor, we got errors:

lib/membrane_rtmp_plugin/rtmp/messages/set_data_frame.ex in Membrane.RTMP.Messages.SetDataFrame.from_data/1 at line 51

lib/membrane_rtmp_plugin/rtmp/message_parser.ex in Membrane.RTMP.MessageParser.read_frame/3 at line 188
lib/membrane_rtmp_plugin/rtmp/message_parser.ex in Membrane.RTMP.MessageParser.handle_packet/2 at line 107
lib/membrane_rtmp_plugin/rtmp/message_parser.ex in Membrane.RTMP.MessageParser.parse_packet_messages/3 at line 68
lib/membrane_rtmp_plugin/rtmp_server/client_handler.ex in Membrane.RTMPServer.ClientHandler.handle_data/2 at line 168
gen_server.erl in :gen_server.try_handle_info/3 at line 2434
gen_server.erl in :gen_server.handle_msg/3 at line 2420
proc_lib.erl in :proc_lib.init_p_do_apply/3 at line 333

with following arguments: ["@setDataFrame", "@onMetaData", %{"framerate" => 25.0, "height" => 1080.0, "width" => 1920.0}]
Assuming that some vendors, doesn't follow RTMP spec, current PR should resolve the issue.

@olegokunevych olegokunevych requested a review from varsill as a code owner March 2, 2026 14:11
@varsill
Copy link
Copy Markdown
Contributor

varsill commented Mar 3, 2026

Hello @olegokunevych !
Out of curiousity - which IP camera vendor generates this non-spec-compliant bytestream? :D

@olegokunevych
Copy link
Copy Markdown
Contributor Author

@varsill it's Dahua chinese vendor :)

@varsill varsill merged commit 32cb32b into membraneframework:master Mar 4, 2026
4 checks passed
@varsill
Copy link
Copy Markdown
Contributor

varsill commented Mar 4, 2026

I see, thanks for the contribution! I will release it in a moment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants