Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Side by Side Diff: webrtc/modules/video_coding/codecs/test/packet_manipulator.cc

Issue 2790533002: Remove ALL usage of CriticalSectionWrapper. (Closed)
Patch Set: remove winXP rw_lock include Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/modules/video_coding/codecs/test/packet_manipulator.h" 11 #include "webrtc/modules/video_coding/codecs/test/packet_manipulator.h"
12 12
13 #include <assert.h> 13 #include <assert.h>
14 #include <stdio.h> 14 #include <stdio.h>
15 15
16 #include "webrtc/base/format_macros.h" 16 #include "webrtc/base/format_macros.h"
17 17
18 namespace webrtc { 18 namespace webrtc {
19 namespace test { 19 namespace test {
20 20
21 PacketManipulatorImpl::PacketManipulatorImpl(PacketReader* packet_reader, 21 PacketManipulatorImpl::PacketManipulatorImpl(PacketReader* packet_reader,
22 const NetworkingConfig& config, 22 const NetworkingConfig& config,
23 bool verbose) 23 bool verbose)
24 : packet_reader_(packet_reader), 24 : packet_reader_(packet_reader),
25 config_(config), 25 config_(config),
26 active_burst_packets_(0), 26 active_burst_packets_(0),
27 critsect_(CriticalSectionWrapper::CreateCriticalSection()),
28 random_seed_(1), 27 random_seed_(1),
29 verbose_(verbose) { 28 verbose_(verbose) {
30 assert(packet_reader); 29 assert(packet_reader);
31 } 30 }
32 31
33 PacketManipulatorImpl::~PacketManipulatorImpl() {
34 delete critsect_;
35 }
36
37 int PacketManipulatorImpl::ManipulatePackets( 32 int PacketManipulatorImpl::ManipulatePackets(
38 webrtc::EncodedImage* encoded_image) { 33 webrtc::EncodedImage* encoded_image) {
39 int nbr_packets_dropped = 0; 34 int nbr_packets_dropped = 0;
40 // There's no need to build a copy of the image data since viewing an 35 // There's no need to build a copy of the image data since viewing an
41 // EncodedImage object, setting the length to a new lower value represents 36 // EncodedImage object, setting the length to a new lower value represents
42 // that everything is dropped after that position in the byte array. 37 // that everything is dropped after that position in the byte array.
43 // EncodedImage._size is the allocated bytes. 38 // EncodedImage._size is the allocated bytes.
44 // EncodedImage._length is how many that are filled with data. 39 // EncodedImage._length is how many that are filled with data.
45 int new_length = 0; 40 int new_length = 0;
46 packet_reader_->InitializeReading(encoded_image->_buffer, 41 packet_reader_->InitializeReading(encoded_image->_buffer,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 } 77 }
83 78
84 void PacketManipulatorImpl::InitializeRandomSeed(unsigned int seed) { 79 void PacketManipulatorImpl::InitializeRandomSeed(unsigned int seed) {
85 random_seed_ = seed; 80 random_seed_ = seed;
86 } 81 }
87 82
88 inline double PacketManipulatorImpl::RandomUniform() { 83 inline double PacketManipulatorImpl::RandomUniform() {
89 // Use the previous result as new seed before each rand() call. Doing this 84 // Use the previous result as new seed before each rand() call. Doing this
90 // it doesn't matter if other threads are calling rand() since we'll always 85 // it doesn't matter if other threads are calling rand() since we'll always
91 // get the same behavior as long as we're using a fixed initial seed. 86 // get the same behavior as long as we're using a fixed initial seed.
92 critsect_->Enter(); 87 critsect_.Enter();
93 srand(random_seed_); 88 srand(random_seed_);
94 random_seed_ = rand(); // NOLINT (rand_r instead of rand) 89 random_seed_ = rand(); // NOLINT (rand_r instead of rand)
95 critsect_->Leave(); 90 critsect_.Leave();
96 return (random_seed_ + 1.0) / (RAND_MAX + 1.0); 91 return (random_seed_ + 1.0) / (RAND_MAX + 1.0);
97 } 92 }
98 93
99 const char* PacketLossModeToStr(PacketLossMode e) { 94 const char* PacketLossModeToStr(PacketLossMode e) {
100 switch (e) { 95 switch (e) {
101 case kUniform: 96 case kUniform:
102 return "Uniform"; 97 return "Uniform";
103 case kBurst: 98 case kBurst:
104 return "Burst"; 99 return "Burst";
105 default: 100 default:
106 assert(false); 101 assert(false);
107 return "Unknown"; 102 return "Unknown";
108 } 103 }
109 } 104 }
110 105
111 } // namespace test 106 } // namespace test
112 } // namespace webrtc 107 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/video_coding/codecs/test/packet_manipulator.h ('k') | webrtc/modules/video_coding/generic_encoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698