From 7d70864b338e5c8d49c9587d31891b88cf8e3884 Mon Sep 17 00:00:00 2001 From: winlin Date: Fri, 24 Oct 2014 13:16:08 +0800 Subject: [PATCH] for bug #186, read the args when discovery it. 2.0.6 --- trunk/src/core/srs_core.hpp | 2 +- trunk/src/rtmp/srs_protocol_stack.cpp | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/trunk/src/core/srs_core.hpp b/trunk/src/core/srs_core.hpp index ab349b290..c6f6ae378 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 "2" #define VERSION_MINOR "0" -#define VERSION_REVISION "5" +#define VERSION_REVISION "6" #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_stack.cpp b/trunk/src/rtmp/srs_protocol_stack.cpp index ce7222b6c..ccaffb285 100644 --- a/trunk/src/rtmp/srs_protocol_stack.cpp +++ b/trunk/src/rtmp/srs_protocol_stack.cpp @@ -1869,11 +1869,17 @@ int SrsConnectAppPacket::decode(SrsStream* stream) // the args maybe any amf0, for instance, a string. we should drop if not object. SrsAmf0Any* any = NULL; if ((ret = SrsAmf0Any::discovery(stream, &any)) != ERROR_SUCCESS) { - srs_error("amf0 decode connect args failed. ret=%d", ret); + srs_error("amf0 find connect args failed. ret=%d", ret); return ret; } srs_assert(any); + // read the instance + if ((ret = any->read(stream)) != ERROR_SUCCESS) { + srs_error("amf0 decode connect args failed. ret=%d", ret); + return ret; + } + // drop when not an AMF0 object. if (!any->is_object()) { srs_warn("drop the args, see: '4.1.1. connect', marker=%#x", any->marker);