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

Side by Side Diff: media/cast/audio_receiver/audio_decoder.cc

Issue 109413004: Cast:Adding cast_transport_config and cleaning up (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Injecting TaskRunner Created 6 years, 11 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 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 "base/logging.h" 5 #include "base/logging.h"
6 #include "media/cast/audio_receiver/audio_decoder.h" 6 #include "media/cast/audio_receiver/audio_decoder.h"
7 7
8 #include "third_party/webrtc/modules/audio_coding/main/interface/audio_coding_mo dule.h" 8 #include "third_party/webrtc/modules/audio_coding/main/interface/audio_coding_mo dule.h"
9 #include "third_party/webrtc/modules/interface/module_common_types.h" 9 #include "third_party/webrtc/modules/interface/module_common_types.h"
10 10
11 namespace media { 11 namespace media {
12 namespace cast { 12 namespace cast {
13 13
14 AudioDecoder::AudioDecoder(scoped_refptr<CastEnvironment> cast_environment, 14 AudioDecoder::AudioDecoder(scoped_refptr<CastEnvironment> cast_environment,
15 const AudioReceiverConfig& audio_config, 15 const AudioReceiverConfig& audio_config,
16 RtpPayloadFeedback* incoming_payload_feedback) 16 RtpPayloadFeedback* incoming_payload_feedback)
17 : cast_environment_(cast_environment), 17 : cast_environment_(cast_environment),
18 audio_decoder_(webrtc::AudioCodingModule::Create(0)), 18 audio_decoder_(webrtc::AudioCodingModule::Create(0)),
19 cast_message_builder_(cast_environment->Clock(), 19 cast_message_builder_(cast_environment->Clock(),
20 incoming_payload_feedback, &frame_id_map_, audio_config.incoming_ssrc, 20 incoming_payload_feedback, &frame_id_map_, audio_config.incoming_ssrc,
21 true, 0), 21 true, 0),
22 have_received_packets_(false), 22 have_received_packets_(false),
23 last_played_out_timestamp_(0) { 23 last_played_out_timestamp_(0) {
24 audio_decoder_->InitializeReceiver(); 24 audio_decoder_->InitializeReceiver();
25 25
26 webrtc::CodecInst receive_codec; 26 webrtc::CodecInst receive_codec;
27 switch (audio_config.codec) { 27 switch (audio_config.codec) {
28 case kPcm16: 28 case transport::kPcm16:
29 receive_codec.pltype = audio_config.rtp_payload_type; 29 receive_codec.pltype = audio_config.rtp_payload_type;
30 strncpy(receive_codec.plname, "L16", 4); 30 strncpy(receive_codec.plname, "L16", 4);
31 receive_codec.plfreq = audio_config.frequency; 31 receive_codec.plfreq = audio_config.frequency;
32 receive_codec.pacsize = -1; 32 receive_codec.pacsize = -1;
33 receive_codec.channels = audio_config.channels; 33 receive_codec.channels = audio_config.channels;
34 receive_codec.rate = -1; 34 receive_codec.rate = -1;
35 break; 35 break;
36 case kOpus: 36 case transport::kOpus:
37 receive_codec.pltype = audio_config.rtp_payload_type; 37 receive_codec.pltype = audio_config.rtp_payload_type;
38 strncpy(receive_codec.plname, "opus", 5); 38 strncpy(receive_codec.plname, "opus", 5);
39 receive_codec.plfreq = audio_config.frequency; 39 receive_codec.plfreq = audio_config.frequency;
40 receive_codec.pacsize = -1; 40 receive_codec.pacsize = -1;
41 receive_codec.channels = audio_config.channels; 41 receive_codec.channels = audio_config.channels;
42 receive_codec.rate = -1; 42 receive_codec.rate = -1;
43 break; 43 break;
44 case kExternalAudio: 44 case transport::kExternalAudio:
45 NOTREACHED() << "Codec must be specified for audio decoder"; 45 NOTREACHED() << "Codec must be specified for audio decoder";
46 break; 46 break;
47 } 47 }
48 if (audio_decoder_->RegisterReceiveCodec(receive_codec) != 0) { 48 if (audio_decoder_->RegisterReceiveCodec(receive_codec) != 0) {
49 NOTREACHED() << "Failed to register receive codec"; 49 NOTREACHED() << "Failed to register receive codec";
50 } 50 }
51 51
52 audio_decoder_->SetMaximumPlayoutDelay(audio_config.rtp_max_delay_ms); 52 audio_decoder_->SetMaximumPlayoutDelay(audio_config.rtp_max_delay_ms);
53 audio_decoder_->SetPlayoutMode(webrtc::streaming); 53 audio_decoder_->SetPlayoutMode(webrtc::streaming);
54 } 54 }
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 return cast_message_builder_.TimeToSendNextCastMessage(time_to_send); 152 return cast_message_builder_.TimeToSendNextCastMessage(time_to_send);
153 } 153 }
154 154
155 void AudioDecoder::SendCastMessage() { 155 void AudioDecoder::SendCastMessage() {
156 DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); 156 DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
157 cast_message_builder_.UpdateCastMessage(); 157 cast_message_builder_.UpdateCastMessage();
158 } 158 }
159 159
160 } // namespace cast 160 } // namespace cast
161 } // namespace media 161 } // namespace media
OLDNEW
« no previous file with comments | « no previous file | media/cast/audio_receiver/audio_decoder_unittest.cc » ('j') | media/cast/transport/cast_transport_defines.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698