diff options
author | tommi@webrtc.org <tommi@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-07-11 19:09:59 +0000 |
---|---|---|
committer | tommi@webrtc.org <tommi@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-07-11 19:09:59 +0000 |
commit | 9fbd3ec906560447cebb21681c7e79e37c2eed83 (patch) | |
tree | 1da3f4d70b117de6501006316c81943e88e501bf /modules | |
parent | 0cb22cf7e4f9531a0f218e27c8ea0d0620cf05d7 (diff) | |
download | webrtc-9fbd3ec906560447cebb21681c7e79e37c2eed83.tar.gz |
Landing pkasting's webrtc fixes for MSVC level 4 warnings in WebRTC.
---
Fixes for re-enabling more MSVC level 4 warnings: webrtc/ edition
This contains fixes for the following sorts of issues:
* Possibly-uninitialized local variable
* Signedness mismatch
* Assignment inside conditional
This also contains a small number of other cleanups to nearby code. In
particular several warning-disables for MSVC are removed because they don't seem
to be necessary (either that warning is not enabled or the code does not trigger
it).
BUG=crbug.com/81439
TEST=none
R=henrika@webrtc.org, pkasting@chromium.org
Review URL: https://webrtc-codereview.appspot.com/18769004
git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6667 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'modules')
-rw-r--r-- | modules/audio_coding/codecs/isac/main/source/isac.c | 4 | ||||
-rw-r--r-- | modules/audio_coding/main/acm2/acm_generic_codec.cc | 2 | ||||
-rw-r--r-- | modules/audio_coding/main/acm2/acm_opus.cc | 2 | ||||
-rw-r--r-- | modules/audio_coding/main/acm2/acm_speex.cc | 2 | ||||
-rw-r--r-- | modules/audio_processing/agc/digital_agc.c | 2 | ||||
-rw-r--r-- | modules/interface/module_common_types.h | 26 | ||||
-rw-r--r-- | modules/rtp_rtcp/source/rtp_rtcp_impl.cc | 2 | ||||
-rw-r--r-- | modules/rtp_rtcp/source/tmmbr_help.cc | 279 |
8 files changed, 150 insertions, 169 deletions
diff --git a/modules/audio_coding/codecs/isac/main/source/isac.c b/modules/audio_coding/codecs/isac/main/source/isac.c index fa54a8d8..d47eb80b 100644 --- a/modules/audio_coding/codecs/isac/main/source/isac.c +++ b/modules/audio_coding/codecs/isac/main/source/isac.c @@ -2243,8 +2243,6 @@ int16_t WebRtcIsac_SetEncSampRate(ISACStruct* ISAC_main_inst, } else { ISACUBStruct* instUB = &(instISAC->instUB); ISACLBStruct* instLB = &(instISAC->instLB); - double bottleneckLB; - double bottleneckUB; int32_t bottleneck = instISAC->bottleneck; int16_t codingMode = instISAC->codingMode; int16_t frameSizeMs = instLB->ISACencLB_obj.new_framelength / @@ -2263,6 +2261,8 @@ int16_t WebRtcIsac_SetEncSampRate(ISACStruct* ISAC_main_inst, instISAC->maxRateBytesPer30Ms = STREAM_SIZE_MAX_30; } else if ((encoder_operational_rate == kIsacSuperWideband) && (instISAC->encoderSamplingRateKHz == kIsacWideband)) { + double bottleneckLB = 0; + double bottleneckUB = 0; if (codingMode == 1) { WebRtcIsac_RateAllocation(bottleneck, &bottleneckLB, &bottleneckUB, &(instISAC->bandwidthKHz)); diff --git a/modules/audio_coding/main/acm2/acm_generic_codec.cc b/modules/audio_coding/main/acm2/acm_generic_codec.cc index d16d1d38..db776d2e 100644 --- a/modules/audio_coding/main/acm2/acm_generic_codec.cc +++ b/modules/audio_coding/main/acm2/acm_generic_codec.cc @@ -838,7 +838,7 @@ int16_t ACMGenericCodec::ProcessFrameVADDTX(uint8_t* bitstream, // Calculate number of samples in 10 ms blocks, and number ms in one frame. int16_t samples_in_10ms = static_cast<int16_t>(freq_hz / 100); int32_t frame_len_ms = static_cast<int32_t>(frame_len_smpl_) * 1000 / freq_hz; - int16_t status; + int16_t status = -1; // Vector for storing maximum 30 ms of mono audio at 48 kHz. int16_t audio[1440]; diff --git a/modules/audio_coding/main/acm2/acm_opus.cc b/modules/audio_coding/main/acm2/acm_opus.cc index 544c932f..638c72a9 100644 --- a/modules/audio_coding/main/acm2/acm_opus.cc +++ b/modules/audio_coding/main/acm2/acm_opus.cc @@ -80,7 +80,7 @@ ACMOpus::ACMOpus(int16_t codec_id) if (codec_id_ != ACMCodecDB::kOpus) { WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceAudioCoding, unique_id_, "Wrong codec id for Opus."); - sample_freq_ = -1; + sample_freq_ = 0xFFFF; bitrate_ = -1; } return; diff --git a/modules/audio_coding/main/acm2/acm_speex.cc b/modules/audio_coding/main/acm2/acm_speex.cc index 84a0592a..c4d7628d 100644 --- a/modules/audio_coding/main/acm2/acm_speex.cc +++ b/modules/audio_coding/main/acm2/acm_speex.cc @@ -30,7 +30,7 @@ ACMSPEEX::ACMSPEEX(int16_t /* codec_id */) vbr_enabled_(false), encoding_rate_(-1), sampling_frequency_(-1), - samples_in_20ms_audio_(-1) { + samples_in_20ms_audio_(0xFFFF) { return; } diff --git a/modules/audio_processing/agc/digital_agc.c b/modules/audio_processing/agc/digital_agc.c index 4b169c18..d0f7b10d 100644 --- a/modules/audio_processing/agc/digital_agc.c +++ b/modules/audio_processing/agc/digital_agc.c @@ -310,7 +310,7 @@ int32_t WebRtcAgc_ProcessDigital(DigitalAgc_t *stt, const int16_t *in_near, int32_t gain32, delta; int16_t logratio; int16_t lower_thr, upper_thr; - int16_t zeros, zeros_fast, frac; + int16_t zeros = 0, zeros_fast, frac = 0; int16_t decay; int16_t gate, gain_adj; int16_t k, n; diff --git a/modules/interface/module_common_types.h b/modules/interface/module_common_types.h index e37313c9..398808f7 100644 --- a/modules/interface/module_common_types.h +++ b/modules/interface/module_common_types.h @@ -20,11 +20,6 @@ #include "webrtc/common_types.h" #include "webrtc/typedefs.h" -#ifdef _WIN32 -// Remove warning "new behavior: elements of array will be default initialized". -#pragma warning(disable : 4351) -#endif - namespace webrtc { struct RTPAudioHeader { @@ -34,21 +29,10 @@ struct RTPAudioHeader { uint8_t channel; // number of channels 2 = stereo }; -enum { - kNoPictureId = -1 -}; -enum { - kNoTl0PicIdx = -1 -}; -enum { - kNoTemporalIdx = -1 -}; -enum { - kNoKeyIdx = -1 -}; -enum { - kNoSimulcastIdx = 0 -}; +const int16_t kNoPictureId = -1; +const int16_t kNoTl0PicIdx = -1; +const uint8_t kNoTemporalIdx = 0xFF; +const int kNoKeyIdx = -1; struct RTPVideoHeaderVP8 { void InitRTPVideoHeaderVP8() { @@ -67,7 +51,7 @@ struct RTPVideoHeaderVP8 { // kNoPictureId if PictureID does not exist. int16_t tl0PicIdx; // TL0PIC_IDX, 8 bits; // kNoTl0PicIdx means no value provided. - int8_t temporalIdx; // Temporal layer index, or kNoTemporalIdx. + uint8_t temporalIdx; // Temporal layer index, or kNoTemporalIdx. bool layerSync; // This frame is a layer sync frame. // Disabled if temporalIdx == kNoTemporalIdx. int keyIdx; // 5 bits; kNoKeyIdx means not used. diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc index 34a08a8e..349340f5 100644 --- a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc +++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc @@ -85,7 +85,7 @@ ModuleRtpRtcpImpl::ModuleRtpRtcpImpl(const Configuration& configuration) CriticalSectionWrapper::CreateCriticalSection()), default_module_( static_cast<ModuleRtpRtcpImpl*>(configuration.default_module)), - padding_index_(-1), // Start padding at the first child module. + padding_index_(static_cast<size_t>(-1)), // Start padding at first child. nack_method_(kNackOff), nack_last_time_sent_full_(0), nack_last_seq_number_sent_(0), diff --git a/modules/rtp_rtcp/source/tmmbr_help.cc b/modules/rtp_rtcp/source/tmmbr_help.cc index ecdf6b87..fb1ed625 100644 --- a/modules/rtp_rtcp/source/tmmbr_help.cc +++ b/modules/rtp_rtcp/source/tmmbr_help.cc @@ -266,180 +266,177 @@ TMMBRHelp::FindTMMBRBoundingSet(int32_t numCandidates, TMMBRSet& candidateSet) numBoundingSet++; } } - if (numBoundingSet != 1) - { - numBoundingSet = -1; - } - } else + return (numBoundingSet == 1) ? 1 : -1; + } + + // 1. Sort by increasing packetOH + for (int i = candidateSet.sizeOfSet() - 1; i >= 0; i--) { - // 1. Sort by increasing packetOH - for (int i = candidateSet.sizeOfSet() - 1; i >= 0; i--) + for (int j = 1; j <= i; j++) { - for (int j = 1; j <= i; j++) + if (candidateSet.PacketOH(j-1) > candidateSet.PacketOH(j)) { - if (candidateSet.PacketOH(j-1) > candidateSet.PacketOH(j)) - { - candidateSet.SwapEntries(j-1, j); - } + candidateSet.SwapEntries(j-1, j); } } - // 2. For tuples with same OH, keep the one w/ the lowest bitrate - for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++) + } + // 2. For tuples with same OH, keep the one w/ the lowest bitrate + for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++) + { + if (candidateSet.Tmmbr(i) > 0) { - if (candidateSet.Tmmbr(i) > 0) + // get min bitrate for packets w/ same OH + uint32_t currentPacketOH = candidateSet.PacketOH(i); + uint32_t currentMinTMMBR = candidateSet.Tmmbr(i); + uint32_t currentMinIndexTMMBR = i; + for (uint32_t j = i+1; j < candidateSet.sizeOfSet(); j++) { - // get min bitrate for packets w/ same OH - uint32_t currentPacketOH = candidateSet.PacketOH(i); - uint32_t currentMinTMMBR = candidateSet.Tmmbr(i); - uint32_t currentMinIndexTMMBR = i; - for (uint32_t j = i+1; j < candidateSet.sizeOfSet(); j++) + if(candidateSet.PacketOH(j) == currentPacketOH) { - if(candidateSet.PacketOH(j) == currentPacketOH) + if(candidateSet.Tmmbr(j) < currentMinTMMBR) { - if(candidateSet.Tmmbr(j) < currentMinTMMBR) - { - currentMinTMMBR = candidateSet.Tmmbr(j); - currentMinIndexTMMBR = j; - } + currentMinTMMBR = candidateSet.Tmmbr(j); + currentMinIndexTMMBR = j; } } - // keep lowest bitrate - for (uint32_t j = 0; j < candidateSet.sizeOfSet(); j++) + } + // keep lowest bitrate + for (uint32_t j = 0; j < candidateSet.sizeOfSet(); j++) + { + if(candidateSet.PacketOH(j) == currentPacketOH + && j != currentMinIndexTMMBR) { - if(candidateSet.PacketOH(j) == currentPacketOH - && j != currentMinIndexTMMBR) - { - candidateSet.ClearEntry(j); - } + candidateSet.ClearEntry(j); } } } - // 3. Select and remove tuple w/ lowest tmmbr. - // (If more than 1, choose the one w/ highest OH). - uint32_t minTMMBR = 0; - uint32_t minIndexTMMBR = 0; - for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++) + } + // 3. Select and remove tuple w/ lowest tmmbr. + // (If more than 1, choose the one w/ highest OH). + uint32_t minTMMBR = 0; + uint32_t minIndexTMMBR = 0; + for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++) + { + if (candidateSet.Tmmbr(i) > 0) { - if (candidateSet.Tmmbr(i) > 0) - { - minTMMBR = candidateSet.Tmmbr(i); - minIndexTMMBR = i; - break; - } + minTMMBR = candidateSet.Tmmbr(i); + minIndexTMMBR = i; + break; } + } - for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++) + for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++) + { + if (candidateSet.Tmmbr(i) > 0 && candidateSet.Tmmbr(i) <= minTMMBR) { - if (candidateSet.Tmmbr(i) > 0 && candidateSet.Tmmbr(i) <= minTMMBR) - { - // get min bitrate - minTMMBR = candidateSet.Tmmbr(i); - minIndexTMMBR = i; - } + // get min bitrate + minTMMBR = candidateSet.Tmmbr(i); + minIndexTMMBR = i; } - // first member of selected list - _boundingSet.SetEntry(numBoundingSet, - candidateSet.Tmmbr(minIndexTMMBR), - candidateSet.PacketOH(minIndexTMMBR), - candidateSet.Ssrc(minIndexTMMBR)); - - // set intersection value - _ptrIntersectionBoundingSet[numBoundingSet] = 0; - // calculate its maximum packet rate (where its line crosses x-axis) - _ptrMaxPRBoundingSet[numBoundingSet] - = _boundingSet.Tmmbr(numBoundingSet) * 1000 - / float(8 * _boundingSet.PacketOH(numBoundingSet)); - numBoundingSet++; - // remove from candidate list - candidateSet.ClearEntry(minIndexTMMBR); - numCandidates--; - - // 4. Discard from candidate list all tuple w/ lower OH - // (next tuple must be steeper) - for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++) + } + // first member of selected list + _boundingSet.SetEntry(numBoundingSet, + candidateSet.Tmmbr(minIndexTMMBR), + candidateSet.PacketOH(minIndexTMMBR), + candidateSet.Ssrc(minIndexTMMBR)); + + // set intersection value + _ptrIntersectionBoundingSet[numBoundingSet] = 0; + // calculate its maximum packet rate (where its line crosses x-axis) + _ptrMaxPRBoundingSet[numBoundingSet] + = _boundingSet.Tmmbr(numBoundingSet) * 1000 + / float(8 * _boundingSet.PacketOH(numBoundingSet)); + numBoundingSet++; + // remove from candidate list + candidateSet.ClearEntry(minIndexTMMBR); + numCandidates--; + + // 4. Discard from candidate list all tuple w/ lower OH + // (next tuple must be steeper) + for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++) + { + if(candidateSet.Tmmbr(i) > 0 + && candidateSet.PacketOH(i) < _boundingSet.PacketOH(0)) { - if(candidateSet.Tmmbr(i) > 0 - && candidateSet.PacketOH(i) < _boundingSet.PacketOH(0)) - { - candidateSet.ClearEntry(i); - numCandidates--; - } + candidateSet.ClearEntry(i); + numCandidates--; } + } - if (numCandidates == 0) - { - // Should be true already:_boundingSet.lengthOfSet = numBoundingSet; - assert(_boundingSet.lengthOfSet() == numBoundingSet); - return numBoundingSet; - } + if (numCandidates == 0) + { + // Should be true already:_boundingSet.lengthOfSet = numBoundingSet; + assert(_boundingSet.lengthOfSet() == numBoundingSet); + return numBoundingSet; + } - bool getNewCandidate = true; - int curCandidateTMMBR = 0; - int curCandidateIndex = 0; - int curCandidatePacketOH = 0; - int curCandidateSSRC = 0; - do + bool getNewCandidate = true; + int curCandidateTMMBR = 0; + int curCandidateIndex = 0; + int curCandidatePacketOH = 0; + int curCandidateSSRC = 0; + do + { + if (getNewCandidate) { - if (getNewCandidate) + // 5. Remove first remaining tuple from candidate list + for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++) { - // 5. Remove first remaining tuple from candidate list - for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++) + if (candidateSet.Tmmbr(i) > 0) { - if (candidateSet.Tmmbr(i) > 0) - { - curCandidateTMMBR = candidateSet.Tmmbr(i); - curCandidatePacketOH = candidateSet.PacketOH(i); - curCandidateSSRC = candidateSet.Ssrc(i); - curCandidateIndex = i; - candidateSet.ClearEntry(curCandidateIndex); - break; - } + curCandidateTMMBR = candidateSet.Tmmbr(i); + curCandidatePacketOH = candidateSet.PacketOH(i); + curCandidateSSRC = candidateSet.Ssrc(i); + curCandidateIndex = i; + candidateSet.ClearEntry(curCandidateIndex); + break; } } + } - // 6. Calculate packet rate and intersection of the current - // line with line of last tuple in selected list - float packetRate - = float(curCandidateTMMBR - - _boundingSet.Tmmbr(numBoundingSet-1))*1000 - / (8*(curCandidatePacketOH - - _boundingSet.PacketOH(numBoundingSet-1))); - - // 7. If the packet rate is equal or lower than intersection of - // last tuple in selected list, - // remove last tuple in selected list & go back to step 6 - if(packetRate <= _ptrIntersectionBoundingSet[numBoundingSet-1]) - { - // remove last tuple and goto step 6 - numBoundingSet--; - _boundingSet.ClearEntry(numBoundingSet); - _ptrIntersectionBoundingSet[numBoundingSet] = 0; - _ptrMaxPRBoundingSet[numBoundingSet] = 0; - getNewCandidate = false; - } else + // 6. Calculate packet rate and intersection of the current + // line with line of last tuple in selected list + float packetRate + = float(curCandidateTMMBR + - _boundingSet.Tmmbr(numBoundingSet-1))*1000 + / (8*(curCandidatePacketOH + - _boundingSet.PacketOH(numBoundingSet-1))); + + // 7. If the packet rate is equal or lower than intersection of + // last tuple in selected list, + // remove last tuple in selected list & go back to step 6 + if(packetRate <= _ptrIntersectionBoundingSet[numBoundingSet-1]) + { + // remove last tuple and goto step 6 + numBoundingSet--; + _boundingSet.ClearEntry(numBoundingSet); + _ptrIntersectionBoundingSet[numBoundingSet] = 0; + _ptrMaxPRBoundingSet[numBoundingSet] = 0; + getNewCandidate = false; + } else + { + // 8. If packet rate is lower than maximum packet rate of + // last tuple in selected list, add current tuple to selected + // list + if (packetRate < _ptrMaxPRBoundingSet[numBoundingSet-1]) { - // 8. If packet rate is lower than maximum packet rate of - // last tuple in selected list, add current tuple to selected - // list - if (packetRate < _ptrMaxPRBoundingSet[numBoundingSet-1]) - { - _boundingSet.SetEntry(numBoundingSet, - curCandidateTMMBR, - curCandidatePacketOH, - curCandidateSSRC); - _ptrIntersectionBoundingSet[numBoundingSet] = packetRate; - _ptrMaxPRBoundingSet[numBoundingSet] - = _boundingSet.Tmmbr(numBoundingSet)*1000 - / float(8*_boundingSet.PacketOH(numBoundingSet)); - numBoundingSet++; - } - numCandidates--; - getNewCandidate = true; + _boundingSet.SetEntry(numBoundingSet, + curCandidateTMMBR, + curCandidatePacketOH, + curCandidateSSRC); + _ptrIntersectionBoundingSet[numBoundingSet] = packetRate; + _ptrMaxPRBoundingSet[numBoundingSet] + = _boundingSet.Tmmbr(numBoundingSet)*1000 + / float(8*_boundingSet.PacketOH(numBoundingSet)); + numBoundingSet++; } + numCandidates--; + getNewCandidate = true; + } + + // 9. Go back to step 5 if any tuple remains in candidate list + } while (numCandidates > 0); - // 9. Go back to step 5 if any tuple remains in candidate list - } while (numCandidates > 0); - } return numBoundingSet; } |