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

Side by Side Diff: media/audio/sounds/wav_reader.cc

Issue 115693004: Added volume adjust sound behind the flag. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix. Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "media/audio/sounds/wav_reader.h"
6
7 #include "base/logging.h"
8 #include "media/base/audio_bus.h"
9
10 namespace media {
11
12 WavReaderImpl::WavReaderImpl(const WavParser& wav_parser)
13 : wav_parser_(wav_parser) {}
14
15 WavReaderImpl::~WavReaderImpl() {}
16
17 bool WavReaderImpl::AtEnd(size_t cursor) {
18 return wav_parser_.data().size() <= cursor;
19 }
20
21 bool WavReaderImpl::CopyTo(AudioBus* bus,
22 size_t cursor,
23 size_t* bytes_written) {
24 if (!bus)
25 return false;
26 if (bus->channels() != wav_parser_.num_channels()) {
27 VLOG(1) << "Number of channel mismatch.";
28 return false;
29 }
30 if (AtEnd(cursor)) {
31 bus->Zero();
32 return true;
33 }
34 const base::StringPiece& data = wav_parser_.data();
35 const int remaining_frames =
36 (data.size() - cursor) / wav_parser_.bytes_per_frame();
37 const int frames = std::min(bus->frames(), remaining_frames);
38 bus->FromInterleaved(data.data() + cursor, frames,
39 wav_parser_.bytes_per_sample());
40 *bytes_written = frames * wav_parser_.bytes_per_frame();
41 bus->ZeroFramesPartial(frames, bus->frames() - frames);
42 return true;
43 }
44
45 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698