diff --git a/lib/membrane_rtmp_plugin/rtmp_server/client_handler.ex b/lib/membrane_rtmp_plugin/rtmp_server/client_handler.ex index 3e92088..bf0fd06 100644 --- a/lib/membrane_rtmp_plugin/rtmp_server/client_handler.ex +++ b/lib/membrane_rtmp_plugin/rtmp_server/client_handler.ex @@ -235,8 +235,14 @@ defmodule Membrane.RTMPServer.ClientHandler do # call callbacks case event do :connection_closed -> - new_handler_state = state.handler.handle_connection_closed(state.handler_state) - %{state | handler_state: new_handler_state} + case state.handler do + nil -> + state + + handler -> + new_handler_state = handler.handle_connection_closed(state.handler_state) + %{state | handler_state: new_handler_state} + end :delete_stream -> new_handler_state = state.handler.handle_delete_stream(state.handler_state)