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