From 0d6c24581d702e905c7fbf0188fc00028ab901f4 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 12 Sep 2015 16:36:29 +0800 Subject: [PATCH] refine json number, use int64 when number is int. --- trunk/src/protocol/srs_rtmp_amf0.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/trunk/src/protocol/srs_rtmp_amf0.cpp b/trunk/src/protocol/srs_rtmp_amf0.cpp index 876a489f0..4b79cf2a3 100644 --- a/trunk/src/protocol/srs_rtmp_amf0.cpp +++ b/trunk/src/protocol/srs_rtmp_amf0.cpp @@ -341,9 +341,17 @@ string SrsAmf0Any::to_json() return to_boolean()? "true":"false"; } case RTMP_AMF0_Number: { + double v = to_number(); + int64_t iv = (int64_t)v; + // len(max int64_t) is 20, plus one "+-." char tmp[22]; - snprintf(tmp, 22, "%f", to_number()); + if (v == iv) { + snprintf(tmp, 22, "%"PRId64, iv); + } else { + snprintf(tmp, 22, "%.6f", to_number()); + } + return tmp; } case RTMP_AMF0_Null: {