OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "remoting/codec/audio_decoder_verbatim.h" | |
6 | |
7 #include "base/logging.h" | |
8 #include "remoting/proto/audio.pb.h" | |
9 | |
10 namespace remoting { | |
11 | |
12 AudioDecoderVerbatim::AudioDecoderVerbatim() {} | |
13 AudioDecoderVerbatim::~AudioDecoderVerbatim() {} | |
14 | |
15 std::unique_ptr<AudioPacket> AudioDecoderVerbatim::Decode( | |
16 std::unique_ptr<AudioPacket> packet) { | |
17 // Return a null scoped_ptr if we get a corrupted packet. | |
18 if ((packet->encoding() != AudioPacket::ENCODING_RAW) || | |
19 (packet->data_size() != 1) || | |
20 (packet->sampling_rate() == AudioPacket::SAMPLING_RATE_INVALID) || | |
21 (packet->bytes_per_sample() != AudioPacket::BYTES_PER_SAMPLE_2) || | |
22 (packet->channels() != AudioPacket::CHANNELS_STEREO) || | |
23 (packet->data(0).size() % | |
24 (AudioPacket::CHANNELS_STEREO * AudioPacket::BYTES_PER_SAMPLE_2) != 0)) { | |
25 LOG(WARNING) << "Verbatim decoder received an invalid packet."; | |
26 return nullptr; | |
27 } | |
28 return packet; | |
29 } | |
30 | |
31 } // namespace remoting | |
OLD | NEW |