From 26c20db2b379ee4a6258620fa3aa72f9a46fd2ac Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 28 Feb 2017 20:03:46 +0800 Subject: [PATCH] Fix parse srs version bug --- trunk/.gitignore | 1 + trunk/src/protocol/srs_rtmp_stack.cpp | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/trunk/.gitignore b/trunk/.gitignore index 9b4728712..e7e378513 100644 --- a/trunk/.gitignore +++ b/trunk/.gitignore @@ -31,4 +31,5 @@ /research/speex/ /test/ .DS_Store +srs diff --git a/trunk/src/protocol/srs_rtmp_stack.cpp b/trunk/src/protocol/srs_rtmp_stack.cpp index fd71b77f8..bd0cd9bac 100644 --- a/trunk/src/protocol/srs_rtmp_stack.cpp +++ b/trunk/src/protocol/srs_rtmp_stack.cpp @@ -2176,16 +2176,19 @@ int SrsRtmpClient::connect_app(string app, string tcUrl, SrsRequest* r, bool dsu if ((prop = arr->ensure_property_number("srs_pid")) != NULL) { si->pid = (int)prop->to_number(); } - if ((prop = arr->ensure_property_number("srs_version")) != NULL) { + if ((prop = arr->ensure_property_string("srs_version")) != NULL) { vector versions = srs_string_split(prop->to_str(), "."); - if (versions.size() > 3) { - si->build = ::atoi(versions.at(3).c_str()); - } else if (versions.size() > 2) { - si->revision = ::atoi(versions.at(2).c_str()); - } else if (versions.size() > 1) { - si->minor = ::atoi(versions.at(1).c_str()); - } else if (versions.size() > 0) { + if (versions.size() > 0) { si->major = ::atoi(versions.at(0).c_str()); + if (versions.size() > 1) { + si->minor = ::atoi(versions.at(1).c_str()); + if (versions.size() > 2) { + si->revision = ::atoi(versions.at(2).c_str()); + if (versions.size() > 3) { + si->build = ::atoi(versions.at(3).c_str()); + } + } + } } } }