diff --git a/trunk/src/core/srs_core.hpp b/trunk/src/core/srs_core.hpp index 8249b98b9..78286a414 100644 --- a/trunk/src/core/srs_core.hpp +++ b/trunk/src/core/srs_core.hpp @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // current release version #define VERSION_MAJOR "0" #define VERSION_MINOR "9" -#define VERSION_REVISION "143" +#define VERSION_REVISION "145" #define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION // server info. #define RTMP_SIG_SRS_KEY "SRS" diff --git a/trunk/src/rtmp/srs_protocol_rtmp.cpp b/trunk/src/rtmp/srs_protocol_rtmp.cpp index 2002a3222..cae3afd97 100644 --- a/trunk/src/rtmp/srs_protocol_rtmp.cpp +++ b/trunk/src/rtmp/srs_protocol_rtmp.cpp @@ -996,6 +996,21 @@ int SrsRtmpServer::identify_client(int stream_id, SrsRtmpConnType& type, string& srs_info("level0 identify client by play."); return identify_play_client(dynamic_cast(pkt), type, stream_name, duration); } + // call msg, + // support response null first, + // @see https://github.com/winlinvip/simple-rtmp-server/issues/106 + // TODO: FIXME: response in right way, or forward in edge mode. + SrsCallPacket* call = dynamic_cast(pkt); + if (call) { + SrsCallResPacket* res = new SrsCallResPacket(call->transaction_id); + res->command_object = SrsAmf0Any::null(); + res->response = SrsAmf0Any::null(); + if ((ret = protocol->send_and_free_packet(res, 0)) != ERROR_SUCCESS) { + srs_warn("response call failed. ret=%d", ret); + return ret; + } + continue; + } srs_trace("ignore AMF0/AMF3 command message."); } @@ -1387,6 +1402,10 @@ int SrsRtmpServer::identify_create_stream_client(SrsCreateStreamPacket* req, int srs_info("identify client by publish, falsh publish."); return identify_flash_publish_client(dynamic_cast(pkt), type, stream_name); } + if (dynamic_cast(pkt)) { + srs_info("identify client by create stream, play or flash publish."); + return identify_create_stream_client(dynamic_cast(pkt), stream_id, type, stream_name, duration); + } srs_trace("ignore AMF0/AMF3 command message."); }