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

Side by Side Diff: media/audio/audio_parameters.cc

Issue 509893002: Revert of Remove the last piece of deprecated synchronous IO code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « media/audio/audio_parameters.h ('k') | media/audio/cras/audio_manager_cras.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/audio/audio_parameters.h" 5 #include "media/audio/audio_parameters.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "media/base/limits.h" 8 #include "media/base/limits.h"
9 9
10 namespace media { 10 namespace media {
11 11
12 AudioParameters::AudioParameters() 12 AudioParameters::AudioParameters()
13 : format_(AUDIO_PCM_LINEAR), 13 : format_(AUDIO_PCM_LINEAR),
14 channel_layout_(CHANNEL_LAYOUT_NONE), 14 channel_layout_(CHANNEL_LAYOUT_NONE),
15 sample_rate_(0), 15 sample_rate_(0),
16 bits_per_sample_(0), 16 bits_per_sample_(0),
17 frames_per_buffer_(0), 17 frames_per_buffer_(0),
18 channels_(0), 18 channels_(0),
19 input_channels_(0),
19 effects_(NO_EFFECTS) { 20 effects_(NO_EFFECTS) {
20 } 21 }
21 22
22 AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout, 23 AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout,
23 int sample_rate, int bits_per_sample, 24 int sample_rate, int bits_per_sample,
24 int frames_per_buffer) 25 int frames_per_buffer)
25 : format_(format), 26 : format_(format),
26 channel_layout_(channel_layout), 27 channel_layout_(channel_layout),
27 sample_rate_(sample_rate), 28 sample_rate_(sample_rate),
28 bits_per_sample_(bits_per_sample), 29 bits_per_sample_(bits_per_sample),
29 frames_per_buffer_(frames_per_buffer), 30 frames_per_buffer_(frames_per_buffer),
30 channels_(ChannelLayoutToChannelCount(channel_layout)), 31 channels_(ChannelLayoutToChannelCount(channel_layout)),
32 input_channels_(0),
31 effects_(NO_EFFECTS) { 33 effects_(NO_EFFECTS) {
32 } 34 }
33 35
34 AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout, 36 AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout,
37 int input_channels,
35 int sample_rate, int bits_per_sample, 38 int sample_rate, int bits_per_sample,
36 int frames_per_buffer, int effects) 39 int frames_per_buffer, int effects)
37 : format_(format), 40 : format_(format),
38 channel_layout_(channel_layout), 41 channel_layout_(channel_layout),
39 sample_rate_(sample_rate), 42 sample_rate_(sample_rate),
40 bits_per_sample_(bits_per_sample), 43 bits_per_sample_(bits_per_sample),
41 frames_per_buffer_(frames_per_buffer), 44 frames_per_buffer_(frames_per_buffer),
42 channels_(ChannelLayoutToChannelCount(channel_layout)), 45 channels_(ChannelLayoutToChannelCount(channel_layout)),
46 input_channels_(input_channels),
43 effects_(effects) { 47 effects_(effects) {
44 } 48 }
45 49
46 AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout, 50 AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout,
47 int channels, int sample_rate, 51 int channels, int input_channels,
48 int bits_per_sample, int frames_per_buffer, 52 int sample_rate, int bits_per_sample,
49 int effects) 53 int frames_per_buffer, int effects)
50 : format_(format), 54 : format_(format),
51 channel_layout_(channel_layout), 55 channel_layout_(channel_layout),
52 sample_rate_(sample_rate), 56 sample_rate_(sample_rate),
53 bits_per_sample_(bits_per_sample), 57 bits_per_sample_(bits_per_sample),
54 frames_per_buffer_(frames_per_buffer), 58 frames_per_buffer_(frames_per_buffer),
55 channels_(channels), 59 channels_(channels),
60 input_channels_(input_channels),
56 effects_(effects) { 61 effects_(effects) {
57 if (channel_layout != CHANNEL_LAYOUT_DISCRETE) 62 if (channel_layout != CHANNEL_LAYOUT_DISCRETE)
58 DCHECK_EQ(channels, ChannelLayoutToChannelCount(channel_layout)); 63 DCHECK_EQ(channels, ChannelLayoutToChannelCount(channel_layout));
59 } 64 }
60 65
61 void AudioParameters::Reset(Format format, ChannelLayout channel_layout, 66 void AudioParameters::Reset(Format format, ChannelLayout channel_layout,
62 int channels, int sample_rate, 67 int channels, int input_channels,
63 int bits_per_sample, int frames_per_buffer) { 68 int sample_rate, int bits_per_sample,
69 int frames_per_buffer) {
64 if (channel_layout != CHANNEL_LAYOUT_DISCRETE) 70 if (channel_layout != CHANNEL_LAYOUT_DISCRETE)
65 DCHECK_EQ(channels, ChannelLayoutToChannelCount(channel_layout)); 71 DCHECK_EQ(channels, ChannelLayoutToChannelCount(channel_layout));
66 72
67 format_ = format; 73 format_ = format;
68 channel_layout_ = channel_layout; 74 channel_layout_ = channel_layout;
69 channels_ = channels; 75 channels_ = channels;
76 input_channels_ = input_channels;
70 sample_rate_ = sample_rate; 77 sample_rate_ = sample_rate;
71 bits_per_sample_ = bits_per_sample; 78 bits_per_sample_ = bits_per_sample;
72 frames_per_buffer_ = frames_per_buffer; 79 frames_per_buffer_ = frames_per_buffer;
73 } 80 }
74 81
75 bool AudioParameters::IsValid() const { 82 bool AudioParameters::IsValid() const {
76 return (format_ >= AUDIO_PCM_LINEAR) && 83 return (format_ >= AUDIO_PCM_LINEAR) &&
77 (format_ < AUDIO_LAST_FORMAT) && 84 (format_ < AUDIO_LAST_FORMAT) &&
78 (channels_ > 0) && 85 (channels_ > 0) &&
79 (channels_ <= media::limits::kMaxChannels) && 86 (channels_ <= media::limits::kMaxChannels) &&
80 (channel_layout_ > CHANNEL_LAYOUT_UNSUPPORTED) && 87 (channel_layout_ > CHANNEL_LAYOUT_UNSUPPORTED) &&
81 (channel_layout_ <= CHANNEL_LAYOUT_MAX) && 88 (channel_layout_ <= CHANNEL_LAYOUT_MAX) &&
89 (input_channels_ >= 0) &&
90 (input_channels_ <= media::limits::kMaxChannels) &&
82 (sample_rate_ >= media::limits::kMinSampleRate) && 91 (sample_rate_ >= media::limits::kMinSampleRate) &&
83 (sample_rate_ <= media::limits::kMaxSampleRate) && 92 (sample_rate_ <= media::limits::kMaxSampleRate) &&
84 (bits_per_sample_ > 0) && 93 (bits_per_sample_ > 0) &&
85 (bits_per_sample_ <= media::limits::kMaxBitsPerSample) && 94 (bits_per_sample_ <= media::limits::kMaxBitsPerSample) &&
86 (frames_per_buffer_ > 0) && 95 (frames_per_buffer_ > 0) &&
87 (frames_per_buffer_ <= media::limits::kMaxSamplesPerPacket); 96 (frames_per_buffer_ <= media::limits::kMaxSamplesPerPacket);
88 } 97 }
89 98
90 int AudioParameters::GetBytesPerBuffer() const { 99 int AudioParameters::GetBytesPerBuffer() const {
91 return frames_per_buffer_ * GetBytesPerFrame(); 100 return frames_per_buffer_ * GetBytesPerFrame();
92 } 101 }
93 102
94 int AudioParameters::GetBytesPerSecond() const { 103 int AudioParameters::GetBytesPerSecond() const {
95 return sample_rate_ * GetBytesPerFrame(); 104 return sample_rate_ * GetBytesPerFrame();
96 } 105 }
97 106
98 int AudioParameters::GetBytesPerFrame() const { 107 int AudioParameters::GetBytesPerFrame() const {
99 return channels_ * bits_per_sample_ / 8; 108 return channels_ * bits_per_sample_ / 8;
100 } 109 }
101 110
102 base::TimeDelta AudioParameters::GetBufferDuration() const { 111 base::TimeDelta AudioParameters::GetBufferDuration() const {
103 return base::TimeDelta::FromMicroseconds( 112 return base::TimeDelta::FromMicroseconds(
104 frames_per_buffer_ * base::Time::kMicrosecondsPerSecond / 113 frames_per_buffer_ * base::Time::kMicrosecondsPerSecond /
105 static_cast<float>(sample_rate_)); 114 static_cast<float>(sample_rate_));
106 } 115 }
107 116
108 } // namespace media 117 } // namespace media
OLDNEW
« no previous file with comments | « media/audio/audio_parameters.h ('k') | media/audio/cras/audio_manager_cras.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698