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

Unified Diff: webrtc/modules/include/module_common_types.h

Issue 2424173003: Move functionality out from AudioFrame and into AudioFrameOperations. (Closed)
Patch Set: Include order & DCHECKs. Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/include/module_common_types.h
diff --git a/webrtc/modules/include/module_common_types.h b/webrtc/modules/include/module_common_types.h
index a5ea5c8e2d7da8327573eb74b1795087dd8f0085..5de5eb78f6f719a50cda90d1a4fc292bf2084b24 100644
--- a/webrtc/modules/include/module_common_types.h
+++ b/webrtc/modules/include/module_common_types.h
@@ -18,6 +18,8 @@
#include <limits>
#include "webrtc/base/constructormagic.h"
+#include "webrtc/base/deprecation.h"
+#include "webrtc/base/safe_conversions.h"
#include "webrtc/common_types.h"
#include "webrtc/common_video/rotation.h"
#include "webrtc/typedefs.h"
@@ -520,8 +522,6 @@ class CallStatsObserver {
*
* - Stereo data is interleaved starting with the left channel.
*
- * - The +operator assume that you would never add exactly opposite frames when
- * deciding the resulting state. To do this use the -operator.
*/
class AudioFrame {
public:
@@ -556,26 +556,29 @@ class AudioFrame {
void CopyFrom(const AudioFrame& src);
- void Mute();
-
- AudioFrame& operator>>=(const int rhs);
- AudioFrame& operator+=(const AudioFrame& rhs);
+ // These methods are deprecated. Use the functions in
+ // webrtc/audio/utility instead. These methods will exists for a
+ // short period of time until webrtc clients have updated. See
+ // webrtc:6548 for details.
+ RTC_DEPRECATED void Mute();
+ RTC_DEPRECATED AudioFrame& operator>>=(const int rhs);
+ RTC_DEPRECATED AudioFrame& operator+=(const AudioFrame& rhs);
int id_;
// RTP timestamp of the first sample in the AudioFrame.
- uint32_t timestamp_;
+ uint32_t timestamp_ = 0;
// Time since the first frame in milliseconds.
// -1 represents an uninitialized value.
- int64_t elapsed_time_ms_;
+ int64_t elapsed_time_ms_ = -1;
// NTP time of the estimated capture time in local timebase in milliseconds.
// -1 represents an uninitialized value.
- int64_t ntp_time_ms_;
+ int64_t ntp_time_ms_ = -1;
int16_t data_[kMaxDataSizeSamples];
- size_t samples_per_channel_;
- int sample_rate_hz_;
- size_t num_channels_;
- SpeechType speech_type_;
- VADActivity vad_activity_;
+ size_t samples_per_channel_ = 0;
+ int sample_rate_hz_ = 0;
+ size_t num_channels_ = 0;
+ SpeechType speech_type_ = kUndefined;
+ VADActivity vad_activity_ = kVadUnknown;
private:
RTC_DISALLOW_COPY_AND_ASSIGN(AudioFrame);
@@ -585,7 +588,6 @@ class AudioFrame {
// See https://bugs.chromium.org/p/webrtc/issues/detail?id=5647.
inline AudioFrame::AudioFrame()
: data_() {
- Reset();
}
inline void AudioFrame::Reset() {
@@ -659,18 +661,6 @@ inline AudioFrame& AudioFrame::operator>>=(const int rhs) {
return *this;
}
-namespace {
-inline int16_t ClampToInt16(int32_t input) {
- if (input < -0x00008000) {
- return -0x8000;
- } else if (input > 0x00007FFF) {
- return 0x7FFF;
- } else {
- return static_cast<int16_t>(input);
- }
-}
-}
-
inline AudioFrame& AudioFrame::operator+=(const AudioFrame& rhs) {
// Sanity check
assert((num_channels_ > 0) && (num_channels_ < 3));
@@ -704,7 +694,7 @@ inline AudioFrame& AudioFrame::operator+=(const AudioFrame& rhs) {
for (size_t i = 0; i < samples_per_channel_ * num_channels_; i++) {
int32_t wrap_guard =
static_cast<int32_t>(data_[i]) + static_cast<int32_t>(rhs.data_[i]);
- data_[i] = ClampToInt16(wrap_guard);
+ data_[i] = rtc::saturated_cast<int16_t>(wrap_guard);
}
}
return *this;
« no previous file with comments | « webrtc/modules/audio_processing/vad/standalone_vad.cc ('k') | webrtc/modules/module_common_types_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698