From cd0d79790bee82003c49920f753e0dbfb4d17081 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Fri, 11 May 2012 15:45:29 +0200 Subject: [PATCH] Fix null-array bug in JSON lib as well as flv_tag compile warnings. --- lib/flv_tag.cpp | 14 +++++++------- lib/json.cpp | 8 ++++++-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/flv_tag.cpp b/lib/flv_tag.cpp index 919772f0..65f58b10 100644 --- a/lib/flv_tag.cpp +++ b/lib/flv_tag.cpp @@ -795,25 +795,25 @@ DTSC::DTMI FLV::Tag::toDTSC(DTSC::DTMI & metadata){ } } if (tmp->getContentP("width")){ - Meta_Put(metadata, "video", "width", tmp->getContentP("width")->NumValue()); + Meta_Put(metadata, "video", "width", (unsigned long long int)tmp->getContentP("width")->NumValue()); } if (tmp->getContentP("height")){ - Meta_Put(metadata, "video", "height", tmp->getContentP("height")->NumValue()); + Meta_Put(metadata, "video", "height", (unsigned long long int)tmp->getContentP("height")->NumValue()); } if (tmp->getContentP("framerate")){ - Meta_Put(metadata, "video", "fpks", tmp->getContentP("framerate")->NumValue()*1000); + Meta_Put(metadata, "video", "fpks", (unsigned long long int)tmp->getContentP("framerate")->NumValue()*1000); } if (tmp->getContentP("videodatarate")){ - Meta_Put(metadata, "video", "bps", (tmp->getContentP("videodatarate")->NumValue()*1024)/8); + Meta_Put(metadata, "video", "bps", (unsigned long long int)(tmp->getContentP("videodatarate")->NumValue()*1024)/8); } if (tmp->getContentP("audiodatarate")){ - Meta_Put(metadata, "audio", "bps", (tmp->getContentP("audiodatarate")->NumValue()*1024)/8); + Meta_Put(metadata, "audio", "bps", (unsigned long long int)(tmp->getContentP("audiodatarate")->NumValue()*1024)/8); } if (tmp->getContentP("audiosamplerate")){ - Meta_Put(metadata, "audio", "rate", tmp->getContentP("audiosamplerate")->NumValue()); + Meta_Put(metadata, "audio", "rate", (unsigned long long int)tmp->getContentP("audiosamplerate")->NumValue()); } if (tmp->getContentP("audiosamplesize")){ - Meta_Put(metadata, "audio", "size", tmp->getContentP("audiosamplesize")->NumValue()); + Meta_Put(metadata, "audio", "size", (unsigned long long int)tmp->getContentP("audiosamplesize")->NumValue()); } if (tmp->getContentP("stereo")){ if (tmp->getContentP("stereo")->NumValue() == 1){ diff --git a/lib/json.cpp b/lib/json.cpp index 8d4b319f..6fe60c84 100644 --- a/lib/json.cpp +++ b/lib/json.cpp @@ -98,12 +98,16 @@ JSON::Value::Value(std::istream & fromstream){ c = fromstream.get(); myType = OBJECT; break; - case '[': + case '[':{ reading_array = true; c = fromstream.get(); myType = ARRAY; - append(JSON::Value(fromstream)); + Value tmp = JSON::Value(fromstream); + if (tmp.myType != EMPTY){ + append(tmp); + } break; + } case '\'': case '"': c = fromstream.get();