From 12a0c1942cd6a7769b6b3cb10d10d21d97a38ebd Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sun, 5 Jan 2014 15:26:41 +0100 Subject: [PATCH] Removed ALL the compile warnings! --- Makefile | 2 +- lib/config.cpp | 2 +- lib/dtsc.cpp | 53 ++++++----- lib/dtsc.h | 12 +-- lib/dtscmeta.cpp | 62 +++++++++---- lib/filesystem.cpp | 5 +- lib/http_parser.cpp | 4 +- lib/json.cpp | 5 +- lib/mp4.cpp | 216 ++++++++++++++++++++++---------------------- lib/mp4_conv.cpp | 10 +- lib/nal.cpp | 3 +- lib/ogg.cpp | 8 +- lib/socket.cpp | 17 ++-- lib/socket.h | 2 +- lib/stream.cpp | 2 +- lib/theora.cpp | 13 ++- lib/ts_packet.cpp | 4 +- lib/ts_packet.h | 9 +- 18 files changed, 218 insertions(+), 211 deletions(-) diff --git a/Makefile b/Makefile index 3cf260f2..0d57b539 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ ifeq ($(PACKAGE_VERSION),Unknown) $(warning Version is unknown - consider creating a VERSION file or fixing your git setup.) endif -CPPFLAGS = -Wall -g -O2 -fPIC -DDEBUG="$(DEBUG)" -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" +CPPFLAGS = -Wall -funsigned-char -g -O2 -fPIC -DDEBUG="$(DEBUG)" -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" LDLIBS = -lcrypto diff --git a/lib/config.cpp b/lib/config.cpp index e856eb83..0c53ac11 100644 --- a/lib/config.cpp +++ b/lib/config.cpp @@ -436,7 +436,7 @@ void Util::getMyExec(std::deque & execs){ struct dirent *dp; do { errno = 0; - if (dp = readdir(d)){ + if ((dp = readdir(d))){ if (strncmp(dp->d_name, "Mist", 4) == 0){ execs.push_back(dp->d_name); } diff --git a/lib/dtsc.cpp b/lib/dtsc.cpp index 4ad6fa82..e1a2ef0b 100644 --- a/lib/dtsc.cpp +++ b/lib/dtsc.cpp @@ -214,11 +214,10 @@ void DTSC::Stream::addMeta(JSON::Value & newMeta){ /// Adds a single DTSC packet to the stream, updating the internal metadata if needed. void DTSC::Stream::addPacket(JSON::Value & newPack){ - long long unsigned int now = Util::getMS(); livePos newPos; newPos.trackID = newPack["trackid"].asInt(); newPos.seekTime = newPack["time"].asInt(); - if (buffercount > 1 && metadata.tracks[newPos.trackID].keys.size() > 1 && newPos.seekTime < metadata.tracks[newPos.trackID].keys.rbegin()->getTime()){ + if (buffercount > 1 && metadata.tracks[newPos.trackID].keys.size() > 1 && newPos.seekTime < (long long unsigned int)metadata.tracks[newPos.trackID].keys.rbegin()->getTime()){ resetStream(); } while (buffers.count(newPos) > 0){ @@ -250,7 +249,7 @@ void DTSC::Stream::addPacket(JSON::Value & newPack){ } if (buffercount > 1){ metadata.update(newPack); - if (newPack.isMember("keyframe") || metadata.tracks[newPos.trackID].keys.rbegin()->getTime() == newPos.seekTime){ + if (newPack.isMember("keyframe") || (long long unsigned int)metadata.tracks[newPos.trackID].keys.rbegin()->getTime() == newPos.seekTime){ keyframes[newPos.trackID].insert(newPos); } metadata.live = true; @@ -271,12 +270,12 @@ void DTSC::Stream::addPacket(JSON::Value & newPack){ /// Will print a warning to std::cerr if a track has less than 2 keyframes left because of this. void DTSC::Stream::cutOneBuffer(){ int trid = buffers.begin()->first.trackID; - int delTime = buffers.begin()->first.seekTime; + long long unsigned int delTime = buffers.begin()->first.seekTime; if (buffercount > 1){ while (keyframes[trid].size() > 0 && keyframes[trid].begin()->seekTime <= delTime){ keyframes[trid].erase(keyframes[trid].begin()); } - while (metadata.tracks[trid].keys.size() && metadata.tracks[trid].keys[0].getTime() <= delTime){ + while (metadata.tracks[trid].keys.size() && (long long unsigned int)metadata.tracks[trid].keys[0].getTime() <= delTime){ for (int i = 0; i < metadata.tracks[trid].keys[0].getParts(); i++){ metadata.tracks[trid].parts.pop_front(); } @@ -489,6 +488,7 @@ DTSC::File & DTSC::File::operator =(const File & rhs){ headerSize = rhs.headerSize; trackMapping = rhs.trackMapping; memcpy(buffer, rhs.buffer, 4); + return *this; } DTSC::File::operator bool() const{ @@ -696,7 +696,7 @@ void DTSC::File::seekNext(){ version = 2; } if (version == 0){ - fprintf(stderr, "Invalid packet header @ %#x - %.4s != %.4s\n", lastreadpos, buffer, DTSC::Magic_Packet2); + fprintf(stderr, "Invalid packet header @ %#x - %.4s != %.4s\n", (unsigned int)lastreadpos, buffer, DTSC::Magic_Packet2); strbuffer = ""; jsonbuffer.null(); return; @@ -729,13 +729,13 @@ void DTSC::File::seekNext(){ seekPos tmpPos; tmpPos.bytePos = tempLoc; tmpPos.trackID = ntohl(((int*)newHeader)[2]); + tmpPos.seekTime = 0; if (selectedTracks.find(tmpPos.trackID) != selectedTracks.end()){ tmpPos.seekTime = ((long long unsigned int)ntohl(((int*)newHeader)[3])) << 32; tmpPos.seekTime += ntohl(((int*)newHeader)[4]); }else{ - tmpPos.seekTime = -1; long tid = jsonbuffer["trackid"].asInt(); - for (int i = 0; i != metadata.tracks[tid].keyLen; i++){ + for (unsigned int i = 0; i != metadata.tracks[tid].keyLen; i++){ if (metadata.tracks[tid].keys[i].getTime() > jsonbuffer["time"].asInt()){ tmpPos.seekTime = metadata.tracks[tid].keys[i].getTime(); tmpPos.bytePos = metadata.tracks[tid].keys[i].getBpos(); @@ -744,20 +744,18 @@ void DTSC::File::seekNext(){ } } } - if (tmpPos.seekTime != -1){ - bool insert = true; - for (std::set::iterator curPosIter = currentPositions.begin(); curPosIter != currentPositions.end(); curPosIter++){ - if ((*curPosIter).trackID == tmpPos.trackID && (*curPosIter).seekTime >= tmpPos.seekTime){ - insert = false; - break; - } - } - if (insert){ - currentPositions.insert(tmpPos); - }else{ - seek_time(jsonbuffer["time"].asInt() + 1, jsonbuffer["trackid"].asInt(), true); + bool insert = true; + for (std::set::iterator curPosIter = currentPositions.begin(); curPosIter != currentPositions.end(); curPosIter++){ + if ((*curPosIter).trackID == tmpPos.trackID && (*curPosIter).seekTime >= tmpPos.seekTime){ + insert = false; + break; } } + if (insert){ + currentPositions.insert(tmpPos); + }else{ + seek_time(jsonbuffer["time"].asInt() + 1, jsonbuffer["trackid"].asInt(), true); + } } } } @@ -810,7 +808,7 @@ void DTSC::File::parseNext(){ version = 2; } if (version == 0){ - fprintf(stderr, "Invalid packet header @ %#x - %.4s != %.4s\n", lastreadpos, buffer, DTSC::Magic_Packet2); + fprintf(stderr, "Invalid packet header @ %#x - %.4s != %.4s\n", (unsigned int)lastreadpos, buffer, DTSC::Magic_Packet2); strbuffer = ""; jsonbuffer.null(); return; @@ -852,7 +850,7 @@ JSON::Value & DTSC::File::getJSON(){ return jsonbuffer; } -bool DTSC::File::seek_time(int ms, int trackNo, bool forceSeek){ +bool DTSC::File::seek_time(unsigned int ms, int trackNo, bool forceSeek){ seekPos tmpPos; tmpPos.trackID = trackNo; if (!forceSeek && jsonbuffer && ms > jsonbuffer["time"].asInt() && trackNo >= jsonbuffer["trackid"].asInt()){ @@ -862,11 +860,11 @@ bool DTSC::File::seek_time(int ms, int trackNo, bool forceSeek){ tmpPos.seekTime = 0; tmpPos.bytePos = 0; } - for (int i = 0; i < metadata.tracks[trackNo].keyLen; i++){ + for (unsigned int i = 0; i < metadata.tracks[trackNo].keyLen; i++){ if (metadata.tracks[trackNo].keys[i].getTime() > ms){ break; } - if (metadata.tracks[trackNo].keys[i].getTime() > tmpPos.seekTime){ + if ((long long unsigned int)metadata.tracks[trackNo].keys[i].getTime() > tmpPos.seekTime){ tmpPos.seekTime = metadata.tracks[trackNo].keys[i].getTime(); tmpPos.bytePos = metadata.tracks[trackNo].keys[i].getBpos(); } @@ -901,13 +899,14 @@ bool DTSC::File::seek_time(int ms, int trackNo, bool forceSeek){ } } currentPositions.insert(tmpPos); + return true; } /// Attempts to seek to the given time in ms within the file. /// Returns true if successful, false otherwise. -bool DTSC::File::seek_time(int ms){ +bool DTSC::File::seek_time(unsigned int ms){ currentPositions.clear(); - seekPos tmpPos; + /// \todo Check this. Doesn't seem right? for (std::set::iterator it = selectedTracks.begin(); it != selectedTracks.end(); it++){ seek_bpos(0); seek_time(ms,(*it)); @@ -948,7 +947,7 @@ bool DTSC::File::atKeyframe(){ } long long int bTime = jsonbuffer["time"].asInt(); int trackid = jsonbuffer["trackid"].asInt(); - for (int i = 0; i < metadata.tracks[trackid].keyLen; i++){ + for (unsigned int i = 0; i < metadata.tracks[trackid].keyLen; i++){ if (metadata.tracks[trackid].keys[i].getTime() >= bTime){ return (metadata.tracks[trackid].keys[i].getTime() == bTime); } diff --git a/lib/dtsc.h b/lib/dtsc.h index e3d79d8f..9b97a4c1 100644 --- a/lib/dtsc.h +++ b/lib/dtsc.h @@ -119,8 +119,8 @@ namespace DTSC { void setBpos(long long unsigned int newBpos); long getLength(); void setLength(long newLength); - short getNumber(); - void setNumber(short newNumber); + unsigned short getNumber(); + void setNumber(unsigned short newNumber); short getParts(); void setParts(short newParts); long getTime(); @@ -193,7 +193,7 @@ namespace DTSC { std::deque fragments; std::deque keys; std::deque parts; - Key & getKey(int keyNum); + Key & getKey(unsigned int keyNum); void reset(); }; @@ -246,8 +246,8 @@ namespace DTSC { void parseNext(); std::string & getPacket(); JSON::Value & getJSON(); - bool seek_time(int seconds); - bool seek_time(int seconds, int trackNo, bool forceSeek = false); + bool seek_time(unsigned int ms); + bool seek_time(unsigned int ms, int trackNo, bool forceSeek = false); bool seek_bpos(int bpos); void rewritePacket(std::string & newPacket, int bytePos); void writePacket(std::string & newPacket); @@ -280,7 +280,7 @@ namespace DTSC { class Stream{ public: Stream(); - ~Stream(); + virtual ~Stream(); Stream(unsigned int buffers, unsigned int bufferTime = 0); Meta metadata; JSON::Value & getPacket(); diff --git a/lib/dtscmeta.cpp b/lib/dtscmeta.cpp index 1c2b2957..0c6e237f 100644 --- a/lib/dtscmeta.cpp +++ b/lib/dtscmeta.cpp @@ -1,5 +1,29 @@ #include "dtsc.h" +/// Retrieves a short in network order from the pointer p. +static short btohs(char * p){ + return (p[0] << 8) + p[1]; +} + +/// Stores a short value of val in network order to the pointer p. +static void htobs(char * p, short val){ + p[0] = (val >> 8) & 0xFF; + p[1] = val & 0xFF; +} + +/// Retrieves a long in network order from the pointer p. +static long btohl(char * p){ + return (p[0] << 24) + (p[1] << 16) + (p[2] << 8) + p[3]; +} + +/// Stores a long value of val in network order to the pointer p. +static void htobl(char * p, long val){ + p[0] = (val >> 24) & 0xFF; + p[1] = (val >> 16) & 0xFF; + p[2] = (val >> 8) & 0xFF; + p[3] = val & 0xFF; +} + namespace DTSC { long Part::getSize(){ return ((long)data[0] << 16) | ((long)data[1] << 8) | data[2]; @@ -12,19 +36,19 @@ namespace DTSC { } short Part::getDuration(){ - return ntohs(((short*)(data+3))[0]); + return btohs(data+3); } void Part::setDuration(short newDuration){ - ((short*)(data+3))[0] = htons(newDuration); + htobs(data+3, newDuration); } long Part::getOffset(){ - return ntohl(((int*)(data+5))[0]); + return btohl(data+5); } void Part::setOffset(long newOffset){ - ((int*)(data+5))[0] = htonl(newOffset); + htobl(data+5, newOffset); } char* Part::getData(){ @@ -53,28 +77,28 @@ namespace DTSC { data[5] = (newLength >> 16) & 0xFF; } - short Key::getNumber(){ - return ntohs(((short*)(data+8))[0]); + unsigned short Key::getNumber(){ + return btohs(data+8); } - void Key::setNumber(short newNumber){ - ((short*)(data+8))[0] = htons(newNumber); + void Key::setNumber(unsigned short newNumber){ + htobs(data+8, newNumber); } short Key::getParts(){ - return ntohs(((short*)(data+10))[0]); + return btohs(data+10); } void Key::setParts(short newParts){ - ((short*)(data+10))[0] = htons(newParts); + htobs(data+10, newParts); } long Key::getTime(){ - return ntohl(((int*)(data+12))[0]); + return btohl(data+12); } void Key::setTime(long newTime){ - ((int*)(data+12))[0] = htonl(newTime); + htobl(data+12, newTime); } char* Key::getData(){ @@ -82,11 +106,11 @@ namespace DTSC { } long Fragment::getDuration(){ - return ntohl(((int*)data)[0]); + return btohl(data); } void Fragment::setDuration(long newDuration){ - ((int*)data)[0] = htonl(newDuration); + htobl(data, newDuration); } char Fragment::getLength(){ @@ -98,19 +122,19 @@ namespace DTSC { } short Fragment::getNumber(){ - return ntohs(((short*)(data+5))[0]); + return btohs(data+5); } void Fragment::setNumber(short newNumber){ - ((short*)(data+5))[0] = htons(newNumber); + htobs(data+5, newNumber); } long Fragment::getSize(){ - return ntohl(((int*)(data+7))[0]); + return btohl(data+7); } void Fragment::setSize(long newSize){ - ((int*)(data+7))[0] = htonl(newSize); + htobl(data+7, newSize); } char* Fragment::getData(){ @@ -301,7 +325,7 @@ namespace DTSC { fragments.rbegin()->setSize(fragments.rbegin()->getSize() + pack["data"].asString().size()); } - Key & Track::getKey(int keyNum){ + Key & Track::getKey(unsigned int keyNum){ static Key empty; if (keyNum < keys[0].getNumber()){ return empty; diff --git a/lib/filesystem.cpp b/lib/filesystem.cpp index 791d529a..e318bfc9 100644 --- a/lib/filesystem.cpp +++ b/lib/filesystem.cpp @@ -16,7 +16,6 @@ Filesystem::Directory::~Directory(){ } void Filesystem::Directory::FillEntries(){ - fprintf(stderr, "Filling Entries of %s:\n", (MyBase + MyPath).c_str()); ValidDir = true; struct stat StatBuf; Entries.clear(); @@ -27,15 +26,15 @@ void Filesystem::Directory::FillEntries(){ dirent * entry; while ((entry = readdir(Dirp))){ if (stat((MyBase + MyPath + "/" + entry->d_name).c_str(), &StatBuf) == -1){ +#if DEBUG >= 4 fprintf(stderr, "\tSkipping %s\n\t\tReason: %s\n", entry->d_name, strerror(errno)); +#endif continue; } ///Convert stat to string Entries[std::string(entry->d_name)] = StatBuf; } } - fprintf(stderr, "Valid dir: %d\n", ValidDir); - fprintf(stderr, "#Entries: %d\n", Entries.size()); } void Filesystem::Directory::Print(){ diff --git a/lib/http_parser.cpp b/lib/http_parser.cpp index 62a90cec..8c11ab06 100644 --- a/lib/http_parser.cpp +++ b/lib/http_parser.cpp @@ -198,7 +198,7 @@ void HTTP::Parser::Proxy(Socket::Connection & from, Socket::Connection & to){ } unsigned int chunkLen = 0; if ( !tmpA.empty()){ - for (int i = 0; i < tmpA.size(); ++i){ + for (unsigned int i = 0; i < tmpA.size(); ++i){ chunkLen = (chunkLen << 4) | unhex(tmpA[i]); } if (chunkLen == 0){ @@ -457,7 +457,7 @@ bool HTTP::Parser::parse(std::string & HTTPbuffer){ } unsigned int chunkLen = 0; if ( !tmpA.empty()){ - for (int i = 0; i < tmpA.size(); ++i){ + for (unsigned int i = 0; i < tmpA.size(); ++i){ chunkLen = (chunkLen << 4) | unhex(tmpA[i]); } if (chunkLen == 0){ diff --git a/lib/json.cpp b/lib/json.cpp index 183415f9..03a3dc0c 100644 --- a/lib/json.cpp +++ b/lib/json.cpp @@ -638,6 +638,7 @@ unsigned int JSON::Value::packedSize() const{ } return ret; } + return 0; }//packedSize /// Pre-packs any object-type JSON::Value to a std::string for transfer over the network, including proper DTMI header. @@ -1089,7 +1090,7 @@ JSON::Value JSON::fromDTMI2(std::string data){ long long int tmpTrackID = ntohl(((int*)(data.c_str()))[0]); JSON::Value tmp = fromDTMI(data.substr(12)); long long int tmpTime = ntohl(((int*)(data.c_str() + 4))[0]); - tmpTime << 32; + tmpTime <<= 32; tmpTime += ntohl(((int*)(data.c_str() + 8))[0]); tmp["time"] = tmpTime; tmp["trackid"] = tmpTrackID; @@ -1101,7 +1102,7 @@ JSON::Value JSON::fromDTMI2(const unsigned char * data, unsigned int len, unsign if (len < 13){return tmp;} long long int tmpTrackID = ntohl(((int*)data)[0]); long long int tmpTime = ntohl(((int*)data)[1]); - tmpTime << 32; + tmpTime <<= 32; tmpTime += ntohl(((int*)data)[2]); i += 12; tmp = fromDTMI(data, len, i); diff --git a/lib/mp4.cpp b/lib/mp4.cpp index 595d9829..b28e4d33 100644 --- a/lib/mp4.cpp +++ b/lib/mp4.cpp @@ -541,7 +541,7 @@ namespace MP4 { } if (current < wanted){ //make bigger - if (boxedSize() + (wanted - current) > data_size){ + if (boxedSize() + (wanted - current) > (size_t)data_size){ //realloc if managed, otherwise fail if ( !managed){ return false; @@ -599,7 +599,7 @@ namespace MP4 { uint32_t containerBox::getContentCount(){ int res = 0; - int tempLoc = 0; + unsigned int tempLoc = 0; while (tempLoc < boxedSize() - 8){ res++; tempLoc += Box(getBox(tempLoc).asBox(), false).boxedSize(); @@ -609,8 +609,8 @@ namespace MP4 { void containerBox::setContent(Box & newContent, uint32_t no){ int tempLoc = 0; - int contentCount = getContentCount(); - for (int i = 0; i < no; i++){ + unsigned int contentCount = getContentCount(); + for (unsigned int i = 0; i < no; i++){ if (i < contentCount){ tempLoc += getBoxLen(tempLoc); }else{ @@ -630,7 +630,7 @@ namespace MP4 { if (no > getContentCount()){ return ret; } - int i = 0; + unsigned int i = 0; int tempLoc = 0; while (i < no){ tempLoc += getBoxLen(tempLoc); @@ -642,7 +642,7 @@ namespace MP4 { std::string containerBox::toPrettyContainerString(uint32_t indent, std::string boxName){ std::stringstream r; r << std::string(indent, ' ') << boxName <<" (" << boxedSize() << ")" << std::endl; - for (int i = 0; i < getContentCount(); i++){ + for (unsigned int i = 0; i < getContentCount(); i++){ Box curBox = MP4::Box(getContent(i).asBox(), false); r << curBox.toPrettyString(indent + 1); } @@ -651,7 +651,7 @@ namespace MP4 { uint32_t containerFullBox::getContentCount(){ int res = 0; - int tempLoc = 4; + unsigned int tempLoc = 4; while (tempLoc < boxedSize() - 8){ res++; tempLoc += getBoxLen(tempLoc); @@ -661,8 +661,8 @@ namespace MP4 { void containerFullBox::setContent(Box & newContent, uint32_t no){ int tempLoc = 4; - int contentCount = getContentCount(); - for (int i = 0; i < no; i++){ + unsigned int contentCount = getContentCount(); + for (unsigned int i = 0; i < no; i++){ if (i < contentCount){ tempLoc += getBoxLen(tempLoc); }else{ @@ -682,8 +682,8 @@ namespace MP4 { if (no > getContentCount()){ return ret; } - int i = 0; - int tempLoc = 4; + unsigned int i = 0; + unsigned int tempLoc = 4; while (i < no){ tempLoc += getBoxLen(tempLoc); i++; @@ -818,7 +818,7 @@ namespace MP4 { int countLoc = 29 + getStringLen(29) + 1; int tempLoc = countLoc + 1; //attempt to reach the wanted position - int i; + unsigned int i; for (i = 0; i < getInt8(countLoc) && i < no; ++i){ tempLoc += getStringLen(tempLoc) + 1; } @@ -843,7 +843,7 @@ namespace MP4 { return ""; } int tempLoc = 29 + getStringLen(29) + 1 + 1; //position of first entry - for (int i = 0; i < no; i++){ + for (unsigned int i = 0; i < no; i++){ tempLoc += getStringLen(tempLoc) + 1; } return getString(tempLoc); @@ -851,7 +851,7 @@ namespace MP4 { uint32_t ABST::getQualityEntryCount(){ int countLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ countLoc += getStringLen(countLoc) + 1; } return getInt8(countLoc); @@ -859,12 +859,12 @@ namespace MP4 { void ABST::setQualityEntry(std::string & newEntry, uint32_t no){ int countLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ countLoc += getStringLen(countLoc) + 1; } int tempLoc = countLoc + 1; //attempt to reach the wanted position - int i; + unsigned int i; for (i = 0; i < getInt8(countLoc) && i < no; ++i){ tempLoc += getStringLen(tempLoc) + 1; } @@ -888,11 +888,11 @@ namespace MP4 { return ""; } int tempLoc = 29 + getStringLen(29) + 1 + 1; //position of serverentries; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc += 1; //first qualityentry - for (int i = 0; i < no; i++){ + for (unsigned int i = 0; i < no; i++){ tempLoc += getStringLen(tempLoc) + 1; } return getString(tempLoc); @@ -900,11 +900,11 @@ namespace MP4 { void ABST::setDrmData(std::string newDrm){ uint32_t tempLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc++; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } setString(newDrm, tempLoc); @@ -912,11 +912,11 @@ namespace MP4 { char* ABST::getDrmData(){ uint32_t tempLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc++; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } return getString(tempLoc); @@ -924,11 +924,11 @@ namespace MP4 { void ABST::setMetaData(std::string newMetaData){ uint32_t tempLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc++; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc += getStringLen(tempLoc) + 1; @@ -937,11 +937,11 @@ namespace MP4 { char* ABST::getMetaData(){ uint32_t tempLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc++; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc += getStringLen(tempLoc) + 1; @@ -950,11 +950,11 @@ namespace MP4 { uint32_t ABST::getSegmentRunTableCount(){ uint32_t tempLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc++; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc += getStringLen(tempLoc) + 1; //DrmData @@ -964,11 +964,11 @@ namespace MP4 { void ABST::setSegmentRunTable(ASRT & newSegment, uint32_t no){ uint32_t tempLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc++; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc += getStringLen(tempLoc) + 1; //DrmData @@ -976,7 +976,7 @@ namespace MP4 { int countLoc = tempLoc; tempLoc++; //skip segmentRuntableCount //attempt to reach the wanted position - int i; + unsigned int i; for (i = 0; i < getInt8(countLoc) && i < no; ++i){ tempLoc += getBoxLen(tempLoc); } @@ -1005,18 +1005,17 @@ namespace MP4 { return (ASRT&)res; } uint32_t tempLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc++; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc += getStringLen(tempLoc) + 1; //DrmData tempLoc += getStringLen(tempLoc) + 1; //MetaData - int countLoc = tempLoc; tempLoc++; //segmentRuntableCount - for (int i = 0; i < no; ++i){ + for (unsigned int i = 0; i < no; ++i){ tempLoc += getBoxLen(tempLoc); } return (ASRT&)getBox(tempLoc); @@ -1024,16 +1023,16 @@ namespace MP4 { uint32_t ABST::getFragmentRunTableCount(){ uint32_t tempLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc++; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc += getStringLen(tempLoc) + 1; //DrmData tempLoc += getStringLen(tempLoc) + 1; //MetaData - for (int i = getInt8(tempLoc++); i != 0; --i){ + for (unsigned int i = getInt8(tempLoc++); i != 0; --i){ tempLoc += getBoxLen(tempLoc); } return getInt8(tempLoc); @@ -1041,34 +1040,34 @@ namespace MP4 { void ABST::setFragmentRunTable(AFRT & newFragment, uint32_t no){ uint32_t tempLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc++; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc += getStringLen(tempLoc) + 1; //DrmData tempLoc += getStringLen(tempLoc) + 1; //MetaData - for (int i = getInt8(tempLoc++); i != 0; --i){ + for (unsigned int i = getInt8(tempLoc++); i != 0; --i){ tempLoc += getBoxLen(tempLoc); } int countLoc = tempLoc; tempLoc++; //attempt to reach the wanted position - int i; + unsigned int i; for (i = 0; i < getInt8(countLoc) && i < no; ++i){ tempLoc += getBoxLen(tempLoc); } //we are now either at the end, or at the right position //let's reserve any unreserved space... if (no + 1 > getInt8(countLoc)){ - int amount = no + 1 - getInt8(countLoc); + unsigned int amount = no + 1 - getInt8(countLoc); if ( !reserve(payloadOffset + tempLoc, 0, amount * 8)){ return; }; //set empty erro boxes as contents - for (int j = 0; j < amount; ++j){ + for (unsigned int j = 0; j < amount; ++j){ memcpy(data + payloadOffset + tempLoc + j * 8, "\000\000\000\010erro", 8); } setInt8(no + 1, countLoc); //set new count @@ -1085,21 +1084,20 @@ namespace MP4 { return (AFRT&)res; } uint32_t tempLoc = 29 + getStringLen(29) + 1 + 1; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc++; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } tempLoc += getStringLen(tempLoc) + 1; //DrmData tempLoc += getStringLen(tempLoc) + 1; //MetaData - for (int i = getInt8(tempLoc++); i != 0; --i){ + for (unsigned int i = getInt8(tempLoc++); i != 0; --i){ tempLoc += getBoxLen(tempLoc); } - int countLoc = tempLoc; tempLoc++; - for (int i = 0; i < no; i++){ + for (unsigned int i = 0; i < no; i++){ tempLoc += getBoxLen(tempLoc); } return (AFRT&)getBox(tempLoc); @@ -1126,11 +1124,11 @@ namespace MP4 { r << std::string(indent + 1, ' ') << "SmpteTimeCodeOffset " << getSmpteTimeCodeOffset() << std::endl; r << std::string(indent + 1, ' ') << "MovieIdentifier " << getMovieIdentifier() << std::endl; r << std::string(indent + 1, ' ') << "ServerEntryTable (" << getServerEntryCount() << ")" << std::endl; - for (int i = 0; i < getServerEntryCount(); i++){ + for (unsigned int i = 0; i < getServerEntryCount(); i++){ r << std::string(indent + 2, ' ') << i << ": " << getServerEntry(i) << std::endl; } r << std::string(indent + 1, ' ') << "QualityEntryTable (" << getQualityEntryCount() << ")" << std::endl; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ r << std::string(indent + 2, ' ') << i << ": " << getQualityEntry(i) << std::endl; } r << std::string(indent + 1, ' ') << "DrmData " << getDrmData() << std::endl; @@ -1185,7 +1183,7 @@ namespace MP4 { int countLoc = 8; int tempLoc = countLoc + 1; //attempt to reach the wanted position - int i; + unsigned int i; for (i = 0; i < getQualityEntryCount() && i < no; ++i){ tempLoc += getStringLen(tempLoc) + 1; } @@ -1209,7 +1207,7 @@ namespace MP4 { return ""; } int tempLoc = 9; //position of first quality entry - for (int i = 0; i < no; i++){ + for (unsigned int i = 0; i < no; i++){ tempLoc += getStringLen(tempLoc) + 1; } return getString(tempLoc); @@ -1217,7 +1215,7 @@ namespace MP4 { uint32_t AFRT::getFragmentRunCount(){ int tempLoc = 9; - for (int i = 0; i < getQualityEntryCount(); ++i){ + for (unsigned int i = 0; i < getQualityEntryCount(); ++i){ tempLoc += getStringLen(tempLoc) + 1; } return getInt32(tempLoc); @@ -1225,12 +1223,12 @@ namespace MP4 { void AFRT::setFragmentRun(afrt_runtable newRun, uint32_t no){ int tempLoc = 9; - for (int i = 0; i < getQualityEntryCount(); ++i){ + for (unsigned int i = 0; i < getQualityEntryCount(); ++i){ tempLoc += getStringLen(tempLoc) + 1; } int countLoc = tempLoc; tempLoc += 4; - for (int i = 0; i < no; i++){ + for (unsigned int i = 0; i < no; i++){ if (i + 1 > getInt32(countLoc)){ setInt32(0, tempLoc); setInt64(0, tempLoc + 4); @@ -1259,12 +1257,11 @@ namespace MP4 { return res; } int tempLoc = 9; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } - int countLoc = tempLoc; tempLoc += 4; - for (int i = 0; i < no; i++){ + for (unsigned int i = 0; i < no; i++){ if (getInt32(tempLoc + 12) == 0){ tempLoc += 17; }else{ @@ -1293,11 +1290,11 @@ namespace MP4 { } r << std::string(indent + 1, ' ') << "Timescale " << getTimeScale() << std::endl; r << std::string(indent + 1, ' ') << "QualitySegmentUrlModifiers (" << getQualityEntryCount() << ")" << std::endl; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ r << std::string(indent + 2, ' ') << i << ": " << getQualityEntry(i) << std::endl; } r << std::string(indent + 1, ' ') << "FragmentRunEntryTable (" << getFragmentRunCount() << ")" << std::endl; - for (int i = 0; i < getFragmentRunCount(); i++){ + for (unsigned int i = 0; i < getFragmentRunCount(); i++){ afrt_runtable myRun = getFragmentRun(i); if (myRun.duration){ r << std::string(indent + 2, ' ') << i << ": " << myRun.firstFragment << " is at " << ((double)myRun.firstTimestamp / (double)getTimeScale()) @@ -1340,7 +1337,7 @@ namespace MP4 { int countLoc = 4; int tempLoc = countLoc + 1; //attempt to reach the wanted position - int i; + unsigned int i; for (i = 0; i < getQualityEntryCount() && i < no; ++i){ tempLoc += getStringLen(tempLoc) + 1; } @@ -1364,7 +1361,7 @@ namespace MP4 { return ""; } int tempLoc = 5; //position of qualityentry count; - for (int i = 0; i < no; i++){ + for (unsigned int i = 0; i < no; i++){ tempLoc += getStringLen(tempLoc) + 1; } return getString(tempLoc); @@ -1372,7 +1369,7 @@ namespace MP4 { uint32_t ASRT::getSegmentRunEntryCount(){ int tempLoc = 5; //position of qualityentry count; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } return getInt32(tempLoc); @@ -1380,7 +1377,7 @@ namespace MP4 { void ASRT::setSegmentRun(uint32_t firstSegment, uint32_t fragmentsPerSegment, uint32_t no){ int tempLoc = 5; //position of qualityentry count; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ tempLoc += getStringLen(tempLoc) + 1; } int countLoc = tempLoc; @@ -1398,10 +1395,9 @@ namespace MP4 { return res; } int tempLoc = 5; //position of qualityentry count; - for (int i = 0; i < getQualityEntryCount(); ++i){ + for (unsigned int i = 0; i < getQualityEntryCount(); ++i){ tempLoc += getStringLen(tempLoc) + 1; } - int countLoc = tempLoc; tempLoc += 4 + 8 * no; res.firstSegment = getInt32(tempLoc); res.fragmentsPerSegment = getInt32(tempLoc + 4); @@ -1418,11 +1414,11 @@ namespace MP4 { r << std::string(indent + 1, ' ') << "Replacement or new table" << std::endl; } r << std::string(indent + 1, ' ') << "QualityEntryTable (" << getQualityEntryCount() << ")" << std::endl; - for (int i = 0; i < getQualityEntryCount(); i++){ + for (unsigned int i = 0; i < getQualityEntryCount(); i++){ r << std::string(indent + 2, ' ') << i << ": " << getQualityEntry(i) << std::endl; } r << std::string(indent + 1, ' ') << "SegmentRunEntryTable (" << getSegmentRunEntryCount() << ")" << std::endl; - for (int i = 0; i < getSegmentRunEntryCount(); i++){ + for (unsigned int i = 0; i < getSegmentRunEntryCount(); i++){ r << std::string(indent + 2, ' ') << i << ": First=" << getSegmentRun(i).firstSegment << ", FragmentsPerSegment=" << getSegmentRun(i).fragmentsPerSegment << std::endl; } @@ -1463,7 +1459,7 @@ namespace MP4 { uint32_t TRAF::getContentCount(){ int res = 0; - int tempLoc = 0; + unsigned int tempLoc = 0; while (tempLoc < boxedSize() - 8){ res++; tempLoc += getBoxLen(tempLoc); @@ -1473,8 +1469,8 @@ namespace MP4 { void TRAF::setContent(Box & newContent, uint32_t no){ int tempLoc = 0; - int contentCount = getContentCount(); - for (int i = 0; i < no; i++){ + unsigned int contentCount = getContentCount(); + for (unsigned int i = 0; i < no; i++){ if (i < contentCount){ tempLoc += getBoxLen(tempLoc); }else{ @@ -1494,7 +1490,7 @@ namespace MP4 { if (no > getContentCount()){ return ret; } - int i = 0; + unsigned int i = 0; int tempLoc = 0; while (i < no){ tempLoc += getBoxLen(tempLoc); @@ -1695,7 +1691,7 @@ namespace MP4 { } r << std::string(indent + 1, ' ') << "SampleInformation (" << getSampleInformationCount() << "):" << std::endl; - for (int i = 0; i < getSampleInformationCount(); ++i){ + for (unsigned int i = 0; i < getSampleInformationCount(); ++i){ r << std::string(indent + 2, ' ') << "[" << i << "] "; trunSampleInformation samp = getSampleInformation(i); if (flags & trunsampleDuration){ @@ -2205,7 +2201,7 @@ namespace MP4 { void AVCC::setSPS(std::string newSPS){ setInt16(newSPS.size(), 6); - for (int i = 0; i < newSPS.size(); i++){ + for (unsigned int i = 0; i < newSPS.size(); i++){ setInt8(newSPS[i], 8 + i); } //not null-terminated } @@ -2231,7 +2227,7 @@ namespace MP4 { void AVCC::setPPS(std::string newPPS){ int offset = 8 + getSPSLen() + 1; setInt16(newPPS.size(), offset); - for (int i = 0; i < newPPS.size(); i++){ + for (unsigned int i = 0; i < newPPS.size(); i++){ setInt8(newPPS[i], offset + 2 + i); } //not null-terminated } @@ -2401,7 +2397,7 @@ namespace MP4 { } void ESDS::setUpstreamFlag(bool newVal){ - setInt8(getStreamType()<<2 + ((uint8_t)newVal << 1) + (uint8_t)getReservedFlag() , 18); + setInt8((getStreamType()<<2) + ((uint8_t)newVal << 1) + (uint8_t)getReservedFlag() , 18); } bool ESDS::getReservedFlag(){ @@ -2472,7 +2468,7 @@ namespace MP4 { void ESDS::setESHeaderStartCodes(std::string newVal){ setConfigDescriptorTypeLength(newVal.size()); - for (int i = 0; i < newVal.size(); i++){ + for (unsigned int i = 0; i < newVal.size(); i++){ setInt8(newVal[i],35+i); } } @@ -2559,7 +2555,7 @@ namespace MP4 { } uint32_t SDTP::getValue(size_t index){ - getInt8(index); + return getInt8(index); } std::string SDTP::toPrettyString(uint32_t indent){ @@ -2659,7 +2655,7 @@ namespace MP4 { r << std::string(indent + 1, ' ') << "MajorBrand: 0x" << std::hex << getMajorBrand() << std::dec << std::endl; r << std::string(indent + 1, ' ') << "MinorVersion: " << getMinorVersion() << std::endl; r << std::string(indent + 1, ' ') << "CompatibleBrands (" << getCompatibleBrandsCount() << "):" << std::endl; - for (int i = 0; i < getCompatibleBrandsCount(); i++){ + for (unsigned int i = 0; i < getCompatibleBrandsCount(); i++){ r << std::string(indent + 2, ' ') << "[" << i << "] CompatibleBrand: 0x" << std::hex << getCompatibleBrands(i) << std::dec << std::endl; } return r.str(); @@ -2706,7 +2702,7 @@ namespace MP4 { } uint32_t TREX::getDefaultSampleDuration(){ - getInt32(8); + return getInt32(8); } void TREX::setDefaultSampleSize(uint32_t newDefaultSampleSize){ @@ -2714,7 +2710,7 @@ namespace MP4 { } uint32_t TREX::getDefaultSampleSize(){ - getInt32(12); + return getInt32(12); } void TREX::setDefaultSampleFlags(uint32_t newDefaultSampleFlags){ @@ -2722,7 +2718,7 @@ namespace MP4 { } uint32_t TREX::getDefaultSampleFlags(){ - getInt32(16); + return getInt32(16); } std::string TREX::toPrettyString(uint32_t indent){ @@ -2785,7 +2781,7 @@ namespace MP4 { } uint32_t MFRO::getSize(){ - getInt32(0); + return getInt32(0); } std::string MFRO::toPrettyString(uint32_t indent){ @@ -2883,7 +2879,7 @@ namespace MP4 { r << std::string(indent, ' ') << "[vmhd] Video Media Header Box (" << boxedSize() << ")" << std::endl; r << fullBox::toPrettyString(indent); r << std::string(indent + 1, ' ') << "GraphicsMode: " << getGraphicsMode() << std::endl; - for (int i = 0; i < getOpColorCount(); i++){ + for (unsigned int i = 0; i < getOpColorCount(); i++){ r << std::string(indent + 1, ' ') << "OpColor["< getEntryCount()){ setEntryCount(no + 1); - for (int i = getEntryCount(); i < no; i++){ + for (unsigned int i = getEntryCount(); i < no; i++){ setInt64(0, 8 + (i * 8));//filling up undefined entries of 64 bits } } @@ -3854,7 +3850,7 @@ namespace MP4 { r << std::string(indent, ' ') << "[stts] Sample Table Box (" << boxedSize() << ")" << std::endl; r << fullBox::toPrettyString(indent); r << std::string(indent + 1, ' ') << "EntryCount: " << getEntryCount() << std::endl; - for (int i = 0; i < getEntryCount(); i++){ + for (unsigned int i = 0; i < getEntryCount(); i++){ static STTSEntry temp; temp = getSTTSEntry(i); r << std::string(indent + 1, ' ') << "Entry[" << i <<"]:"<< std::endl; @@ -3879,7 +3875,7 @@ namespace MP4 { void CTTS::setCTTSEntry(CTTSEntry newCTTSEntry, uint32_t no){ if(no + 1 > getEntryCount()){ - for (int i = getEntryCount(); i < no; i++){ + for (unsigned int i = getEntryCount(); i < no; i++){ setInt64(0, 8 + (i * 8));//filling up undefined entries of 64 bits } } @@ -3903,7 +3899,7 @@ namespace MP4 { r << std::string(indent, ' ') << "[stts] Sample Table Box (" << boxedSize() << ")" << std::endl; r << fullBox::toPrettyString(indent); r << std::string(indent + 1, ' ') << "EntryCount: " << getEntryCount() << std::endl; - for (int i = 0; i < getEntryCount(); i++){ + for (unsigned int i = 0; i < getEntryCount(); i++){ static CTTSEntry temp; temp = getCTTSEntry(i); r << std::string(indent + 1, ' ') << "Entry[" << i <<"]:"<< std::endl; @@ -3932,7 +3928,7 @@ namespace MP4 { void STSC::setSTSCEntry(STSCEntry newSTSCEntry, uint32_t no){ if(no + 1 > getEntryCount()){ setEntryCount(no+1); - for (int i = getEntryCount(); i < no; i++){ + for (unsigned int i = getEntryCount(); i < no; i++){ setInt64(0, 8 + (i * 12));//filling up undefined entries of 64 bits setInt32(0, 8 + (i * 12) + 8); } @@ -3959,7 +3955,7 @@ namespace MP4 { r << std::string(indent, ' ') << "[stsc] Sample To Chunk Box (" << boxedSize() << ")" << std::endl; r << fullBox::toPrettyString(indent); r << std::string(indent + 1, ' ') << "EntryCount: " << getEntryCount() << std::endl; - for (int i = 0; i < getEntryCount(); i++){ + for (unsigned int i = 0; i < getEntryCount(); i++){ static STSCEntry temp; temp = getSTSCEntry(i); r << std::string(indent + 1, ' ') << "Entry[" << i <<"]:"<< std::endl; @@ -3987,7 +3983,7 @@ namespace MP4 { void STCO::setChunkOffset(uint32_t newChunkOffset, uint32_t no){ if (no + 1 > getEntryCount()){ - for (int i = getEntryCount(); i < no; i++){ + for (unsigned int i = getEntryCount(); i < no; i++){ setInt32(0, 8 + i * 4);//filling undefined entries } setEntryCount(no+1); @@ -4007,7 +4003,7 @@ namespace MP4 { r << std::string(indent, ' ') << "[stco] Chunk Offset Box (" << boxedSize() << ")" << std::endl; r << fullBox::toPrettyString(indent); r << std::string(indent + 1, ' ') << "EntryCount: " << getEntryCount() << std::endl; - for (int i = 0; i < getEntryCount(); i++){ + for (unsigned int i = 0; i < getEntryCount(); i++){ r << std::string(indent + 1, ' ') << "ChunkOffset[" << i <<"]: " << getChunkOffset(i) << std::endl; } return r.str(); @@ -4039,7 +4035,7 @@ namespace MP4 { void STSZ::setEntrySize(uint32_t newEntrySize, uint32_t no){ if (no + 1 > getSampleCount()){ setSampleCount(no + 1); - for (int i = getSampleCount(); i < no; i++){ + for (unsigned int i = getSampleCount(); i < no; i++){ setInt32(0, 12 + i * 4);//filling undefined entries } } @@ -4059,7 +4055,7 @@ namespace MP4 { r << fullBox::toPrettyString(indent); r << std::string(indent + 1, ' ') << "SampleSize: " << getSampleSize() << std::endl; r << std::string(indent + 1, ' ') << "SampleCount: " << getSampleCount() << std::endl; - for (int i = 0; i < getSampleCount(); i++){ + for (unsigned int i = 0; i < getSampleCount(); i++){ r << std::string(indent + 1, ' ') << "EntrySize[" << i <<"]: " << getEntrySize(i) << std::endl; } return r.str(); @@ -4264,7 +4260,7 @@ namespace MP4 { } uint16_t VisualSampleEntry::getDepth(){ - getInt16(74); + return getInt16(74); } void VisualSampleEntry::setCLAP(Box& clap){ @@ -4434,9 +4430,9 @@ namespace MP4 { } void STSD::setEntry(Box & newContent, uint32_t no){ - int tempLoc = 8; - int entryCount = getEntryCount(); - for (int i = 0; i < no; i++){ + int tempLoc = 8; + unsigned int entryCount = getEntryCount(); + for (unsigned int i = 0; i < no; i++){ if (i < entryCount){ tempLoc += getBoxLen(tempLoc); }else{ @@ -4459,7 +4455,7 @@ namespace MP4 { if (no > getEntryCount()){ return ret; } - int i = 0; + unsigned int i = 0; int tempLoc = 8; while (i < no){ tempLoc += getBoxLen(tempLoc); @@ -4473,7 +4469,7 @@ namespace MP4 { r << std::string(indent, ' ') << "[stsd] Sample Description Box (" << boxedSize() << ")" << std::endl; r << fullBox::toPrettyString(indent); r << std::string(indent + 1, ' ') << "EntrySize: " << getEntryCount() << std::endl; - for (int i = 0; i < getEntryCount(); i++){ + for (unsigned int i = 0; i < getEntryCount(); i++){ Box curBox = Box(getEntry(i).asBox(), false); r << curBox.toPrettyString(indent + 1); } @@ -4508,7 +4504,7 @@ namespace MP4 { } uint32_t STSS::getEntryCount(){ - getInt32(4); + return getInt32(4); } void STSS::setSampleNumber(uint32_t newVal, uint32_t index){ @@ -4530,7 +4526,7 @@ namespace MP4 { r << std::string(indent, ' ') << "[stss] Sync Sample Box (" << boxedSize() << ")" << std::endl; r << fullBox::toPrettyString(indent); r << std::string(indent + 1, ' ') << "EntryCount: " << getEntryCount() << std::endl; - for (int i = 0; i < getEntryCount(); i++){ + for (unsigned int i = 0; i < getEntryCount(); i++){ r << std::string(indent + 1, ' ') << "SampleNumber[" << i <<"] : " << getSampleNumber(i) << std::endl; } return r.str(); diff --git a/lib/mp4_conv.cpp b/lib/mp4_conv.cpp index e16726ff..7810e6f4 100644 --- a/lib/mp4_conv.cpp +++ b/lib/mp4_conv.cpp @@ -308,32 +308,32 @@ namespace MP4{ MP4::STBL checkStblBox; MP4::STCO checkStcoBox; checkTrakBox = ((MP4::TRAK&)moovBox.getContent(i)); - for (int j = 0; j < checkTrakBox.getContentCount(); j++){ + for (unsigned int j = 0; j < checkTrakBox.getContentCount(); j++){ if (checkTrakBox.getContent(j).isType("mdia")){ checkMdiaBox = ((MP4::MDIA&)checkTrakBox.getContent(j)); break; } } - for (int j = 0; j < checkMdiaBox.getContentCount(); j++){ + for (unsigned int j = 0; j < checkMdiaBox.getContentCount(); j++){ if (checkMdiaBox.getContent(j).isType("minf")){ checkMinfBox = ((MP4::MINF&)checkMdiaBox.getContent(j)); break; } } - for (int j = 0; j < checkMinfBox.getContentCount(); j++){ + for (unsigned int j = 0; j < checkMinfBox.getContentCount(); j++){ if (checkMinfBox.getContent(j).isType("stbl")){ checkStblBox = ((MP4::STBL&)checkMinfBox.getContent(j)); break; } } - for (int j = 0; j < checkStblBox.getContentCount(); j++){ + for (unsigned int j = 0; j < checkStblBox.getContentCount(); j++){ if (checkStblBox.getContent(j).isType("stco")){ checkStcoBox = ((MP4::STCO&)checkStblBox.getContent(j)); break; } } //got the STCO box, fixing values with MP4 header offset - for (int j = 0; j < checkStcoBox.getEntryCount(); j++){ + for (unsigned int j = 0; j < checkStcoBox.getEntryCount(); j++){ checkStcoBox.setChunkOffset(checkStcoBox.getChunkOffset(j) + byteOffset, j); } } diff --git a/lib/nal.cpp b/lib/nal.cpp index 41a7034d..c56efefa 100644 --- a/lib/nal.cpp +++ b/lib/nal.cpp @@ -33,7 +33,6 @@ bool NAL_Unit::ReadData(std::string & InputData){ if (AnnexB){ MyData = ""; InputData.erase(0, 3); //Intro Bytes - bool FinalByteRead = false; int Location = std::min(InputData.find(ShortAnnexB), InputData.find(FullAnnexB)); MyData = InputData.substr(0, Location); InputData.erase(0, Location); @@ -41,7 +40,7 @@ bool NAL_Unit::ReadData(std::string & InputData){ if (InputData.size() < 4){ return false; } - int UnitLen = (InputData[0] << 24) + (InputData[1] << 16) + (InputData[2] << 8) + InputData[3]; + unsigned int UnitLen = (InputData[0] << 24) + (InputData[1] << 16) + (InputData[2] << 8) + InputData[3]; if (InputData.size() < 4 + UnitLen){ return false; } diff --git a/lib/ogg.cpp b/lib/ogg.cpp index 6a755fe8..4668bbf7 100644 --- a/lib/ogg.cpp +++ b/lib/ogg.cpp @@ -66,7 +66,7 @@ namespace OGG{ } memcpy(data, newData.c_str(), 27);//copying the header, always 27 bytes - if (newData.size() < 27 + getPageSegments()){//check input size + if (newData.size() < 27u + getPageSegments()){//check input size return false; } if(!checkDataSize(27 + getPageSegments())){//check if size available in memory @@ -279,7 +279,7 @@ namespace OGG{ } bool Page::typeNone(){ - if (getHeaderType() & 0x07 == 0x00){ + if ((getHeaderType() & 0x07) == 0x00){ return true; } return false; @@ -319,7 +319,7 @@ namespace OGG{ r << std::string(indent + 2,' ') << "Payloadsize: " << dataSum << std::endl; if (codec == "theora"){ int offset = 0; - for (int i = 0; i < getSegmentTableDeque().size(); i++){ + for (unsigned int i = 0; i < getSegmentTableDeque().size(); i++){ theora::header tmpHeader; int len = getSegmentTableDeque()[i]; if (tmpHeader.read(getFullPayload()+offset,len)){ @@ -334,7 +334,7 @@ namespace OGG{ }else if(codec == "vorbis"){ r << "Vorbis Data" << std::endl; int offset = 0; - for (int i = 0; i < getSegmentTableDeque().size(); i++){ + for (unsigned int i = 0; i < getSegmentTableDeque().size(); i++){ vorbis::header tmpHeader; int len = getSegmentTableDeque()[i]; if (tmpHeader.read(getFullPayload()+offset,len)){ diff --git a/lib/socket.cpp b/lib/socket.cpp index 6b87157f..cc671985 100644 --- a/lib/socket.cpp +++ b/lib/socket.cpp @@ -445,12 +445,9 @@ void Socket::Connection::SendNow(const char * data, size_t len){ while (upbuffer.size() > 0 && connected()){ iwrite(upbuffer.get()); } - int i = iwrite(data, len); + unsigned int i = iwrite(data, len); while (i < len && connected()){ - int j = iwrite(data + i, std::min(len - i, (size_t)51200)); - if (j > 0){ - i += j; - } + i += iwrite(data + i, std::min(len - i, (size_t)51200)); } if (!bing){setBlocking(false);} } @@ -469,7 +466,7 @@ void Socket::Connection::Send(const char * data, size_t len){ if (upbuffer.size() > 0){ upbuffer.append(data, len); }else{ - int i = iwrite(data, len); + unsigned int i = iwrite(data, len); if (i < len){ upbuffer.append(data + i, len - i); } @@ -515,11 +512,11 @@ void Socket::Connection::Send(std::string & data){ /// \param buffer Location of the buffer to write from. /// \param len Amount of bytes to write. /// \returns The amount of bytes actually written. -int Socket::Connection::iwrite(const void * buffer, int len){ +unsigned int Socket::Connection::iwrite(const void * buffer, int len){ if ( !connected() || len < 1){ return 0; } - int r; + unsigned int r; if (sock >= 0){ r = send(sock, buffer, len, 0); }else{ @@ -614,8 +611,8 @@ bool Socket::Connection::iwrite(std::string & buffer){ if (buffer.size() < 1){ return false; } - int tmp = iwrite((void*)buffer.c_str(), buffer.size()); - if (tmp < 1){ + unsigned int tmp = iwrite((void*)buffer.c_str(), buffer.size()); + if ( !tmp){ return false; } buffer = buffer.substr(tmp); diff --git a/lib/socket.h b/lib/socket.h index f434874a..75160bd5 100644 --- a/lib/socket.h +++ b/lib/socket.h @@ -54,7 +54,7 @@ namespace Socket { Buffer downbuffer; ///< Stores temporary data coming in. Buffer upbuffer; ///< Stores temporary data going out. int iread(void * buffer, int len); ///< Incremental read call. - int iwrite(const void * buffer, int len); ///< Incremental write call. + unsigned int iwrite(const void * buffer, int len); ///< Incremental write call. bool iread(Buffer & buffer); ///< Incremental write call that is compatible with Socket::Buffer. bool iwrite(std::string & buffer); ///< Write call that is compatible with std::string. public: diff --git a/lib/stream.cpp b/lib/stream.cpp index af15740a..9135a15d 100644 --- a/lib/stream.cpp +++ b/lib/stream.cpp @@ -70,7 +70,7 @@ Socket::Connection Util::Stream::getLive(std::string streamname){ Socket::Connection Util::Stream::getVod(std::string filename, std::string streamname){ std::string name = "MistPlayer " + filename; std::string player_bin = Util::getMyPath() + "MistPlayer"; - char* const argv[] = {(char*)player_bin.c_str(), (char*)filename.c_str(), "-s", (char*)streamname.c_str(), NULL}; + char* const argv[] = {(char*)player_bin.c_str(), (char*)filename.c_str(), (char*)"-s", (char*)streamname.c_str(), (char*)0}; int fdin = -1, fdout = -1, fderr = fileno(stderr); Util::Procs::StartPiped(name, argv, &fdin, &fdout, &fderr); // if StartPiped fails then fdin and fdout will be unmodified (-1) diff --git a/lib/theora.cpp b/lib/theora.cpp index 1e7a23c2..152f318c 100644 --- a/lib/theora.cpp +++ b/lib/theora.cpp @@ -60,10 +60,10 @@ namespace theora{ if (getVMIN() != 2){return false;} if (getFMBW() == 0){return false;} if (getFMBH() == 0){return false;} - if (getPICW() > getFMBW() * 16){return false;} - if (getPICH() > getFMBH() * 16){return false;} - if (getPICX() > (getFMBW() * 16) - getPICW()){return false;} - if (getPICY() > (getFMBH() * 16) - getPICH()){return false;} + if ((short)getPICW() > getFMBW() * 16){return false;} + if ((short)getPICH() > getFMBH() * 16){return false;} + if ((short)getPICX() > (getFMBW() * 16) - (short)getPICW()){return false;} + if ((short)getPICY() > (getFMBH() * 16) - (short)getPICH()){return false;} if (getFRN() == 0){return false;} if (getFRD() == 0){return false;} return true; @@ -212,9 +212,8 @@ namespace theora{ std::string header::getUserComment(size_t index){ if (index >= getNComments()){return "";} - int len; int offset = 11 + commentLen(7) + 4; - for (int i = 0; i < index; i++){ + for (size_t i = 0; i < index; i++){ offset += 4 + commentLen(offset); } return std::string(data + offset + 4,commentLen(offset)); @@ -247,7 +246,7 @@ namespace theora{ case 1: result << std::string(indent+2,' ') << "Vendor: " << getVendor() << std::endl; result << std::string(indent+2,' ') << "User Comments (" << getNComments() << "):" << std::endl; - for (int i = 0; i < getNComments(); i++){ + for (long unsigned int i = 0; i < getNComments(); i++){ result << std::string(indent+4,' ') << "[" << i << "] " << getUserComment(i) << std::endl; } break; diff --git a/lib/ts_packet.cpp b/lib/ts_packet.cpp index 6a37fc68..f3b5ef2b 100644 --- a/lib/ts_packet.cpp +++ b/lib/ts_packet.cpp @@ -129,7 +129,7 @@ int64_t TS::Packet::PCR(){ int64_t Result = 0; Result = (((strBuf[6] << 24) + (strBuf[7] << 16) + (strBuf[8] << 8) + strBuf[9]) << 1) + (strBuf[10] & 0x80 >> 7); Result = Result * 300; - Result += ((strBuf[10] & 0x01) << 8 + strBuf[11]); + Result += (((strBuf[10] & 0x01) << 8) + strBuf[11]); return Result; } @@ -388,7 +388,7 @@ std::string & TS::Packet::getPESAudioLeadIn(unsigned int NewLen, long long unsig /// Stores as many bytes from NewVal as possible in the packet. /// \param NewVal The data to store in the packet. void TS::Packet::FillFree(std::string & NewVal){ - int toWrite = BytesFree(); + unsigned int toWrite = BytesFree(); if (toWrite == NewVal.size()){ strBuf += NewVal; NewVal.clear(); diff --git a/lib/ts_packet.h b/lib/ts_packet.h index ac5f55a1..2ede5087 100644 --- a/lib/ts_packet.h +++ b/lib/ts_packet.h @@ -97,11 +97,4 @@ namespace TS { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; - /// The full Bytesteam Nal-Header. - static char NalHeader[4] = {0x00, 0x00, 0x00, 0x01}; - - /// The shortened Bytesteam Nal-Header. - static char ShortNalHeader[3] = {0x00, 0x00, 0x01}; -} -; -//TS namespace +} //TS namespace