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

Side by Side Diff: talk/session/media/channel.cc

Issue 1362503003: Use suffixed {uint,int}{8,16,32,64}_t types. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: google::int32 Created 5 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
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2004 Google Inc. 3 * Copyright 2004 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 *error_desc = message; 64 *error_desc = message;
65 } 65 }
66 } 66 }
67 67
68 struct PacketMessageData : public rtc::MessageData { 68 struct PacketMessageData : public rtc::MessageData {
69 rtc::Buffer packet; 69 rtc::Buffer packet;
70 rtc::DiffServCodePoint dscp; 70 rtc::DiffServCodePoint dscp;
71 }; 71 };
72 72
73 struct ScreencastEventMessageData : public rtc::MessageData { 73 struct ScreencastEventMessageData : public rtc::MessageData {
74 ScreencastEventMessageData(uint32 s, rtc::WindowEvent we) 74 ScreencastEventMessageData(uint32_t s, rtc::WindowEvent we)
75 : ssrc(s), 75 : ssrc(s), event(we) {}
76 event(we) { 76 uint32_t ssrc;
77 }
78 uint32 ssrc;
79 rtc::WindowEvent event; 77 rtc::WindowEvent event;
80 }; 78 };
81 79
82 struct VoiceChannelErrorMessageData : public rtc::MessageData { 80 struct VoiceChannelErrorMessageData : public rtc::MessageData {
83 VoiceChannelErrorMessageData(uint32 in_ssrc, 81 VoiceChannelErrorMessageData(uint32_t in_ssrc,
84 VoiceMediaChannel::Error in_error) 82 VoiceMediaChannel::Error in_error)
85 : ssrc(in_ssrc), 83 : ssrc(in_ssrc), error(in_error) {}
86 error(in_error) { 84 uint32_t ssrc;
87 }
88 uint32 ssrc;
89 VoiceMediaChannel::Error error; 85 VoiceMediaChannel::Error error;
90 }; 86 };
91 87
92 struct VideoChannelErrorMessageData : public rtc::MessageData { 88 struct VideoChannelErrorMessageData : public rtc::MessageData {
93 VideoChannelErrorMessageData(uint32 in_ssrc, 89 VideoChannelErrorMessageData(uint32_t in_ssrc,
94 VideoMediaChannel::Error in_error) 90 VideoMediaChannel::Error in_error)
95 : ssrc(in_ssrc), 91 : ssrc(in_ssrc), error(in_error) {}
96 error(in_error) { 92 uint32_t ssrc;
97 }
98 uint32 ssrc;
99 VideoMediaChannel::Error error; 93 VideoMediaChannel::Error error;
100 }; 94 };
101 95
102 struct DataChannelErrorMessageData : public rtc::MessageData { 96 struct DataChannelErrorMessageData : public rtc::MessageData {
103 DataChannelErrorMessageData(uint32 in_ssrc, 97 DataChannelErrorMessageData(uint32_t in_ssrc,
104 DataMediaChannel::Error in_error) 98 DataMediaChannel::Error in_error)
105 : ssrc(in_ssrc), 99 : ssrc(in_ssrc), error(in_error) {}
106 error(in_error) {} 100 uint32_t ssrc;
107 uint32 ssrc;
108 DataMediaChannel::Error error; 101 DataMediaChannel::Error error;
109 }; 102 };
110 103
111 104
112 struct VideoChannel::ScreencastDetailsData { 105 struct VideoChannel::ScreencastDetailsData {
113 explicit ScreencastDetailsData(uint32 s) 106 explicit ScreencastDetailsData(uint32_t s)
114 : ssrc(s), fps(0), screencast_max_pixels(0) { 107 : ssrc(s), fps(0), screencast_max_pixels(0) {}
115 } 108 uint32_t ssrc;
116 uint32 ssrc;
117 int fps; 109 int fps;
118 int screencast_max_pixels; 110 int screencast_max_pixels;
119 }; 111 };
120 112
121 static const char* PacketType(bool rtcp) { 113 static const char* PacketType(bool rtcp) {
122 return (!rtcp) ? "RTP" : "RTCP"; 114 return (!rtcp) ? "RTP" : "RTCP";
123 } 115 }
124 116
125 static bool ValidPacket(bool rtcp, const rtc::Buffer* packet) { 117 static bool ValidPacket(bool rtcp, const rtc::Buffer* packet) {
126 // Check the packet size. We could check the header too if needed. 118 // Check the packet size. We could check the header too if needed.
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 worker_thread_->Invoke<void>(Bind( 311 worker_thread_->Invoke<void>(Bind(
320 enable ? &BaseChannel::EnableMedia_w : &BaseChannel::DisableMedia_w, 312 enable ? &BaseChannel::EnableMedia_w : &BaseChannel::DisableMedia_w,
321 this)); 313 this));
322 return true; 314 return true;
323 } 315 }
324 316
325 bool BaseChannel::AddRecvStream(const StreamParams& sp) { 317 bool BaseChannel::AddRecvStream(const StreamParams& sp) {
326 return InvokeOnWorker(Bind(&BaseChannel::AddRecvStream_w, this, sp)); 318 return InvokeOnWorker(Bind(&BaseChannel::AddRecvStream_w, this, sp));
327 } 319 }
328 320
329 bool BaseChannel::RemoveRecvStream(uint32 ssrc) { 321 bool BaseChannel::RemoveRecvStream(uint32_t ssrc) {
330 return InvokeOnWorker(Bind(&BaseChannel::RemoveRecvStream_w, this, ssrc)); 322 return InvokeOnWorker(Bind(&BaseChannel::RemoveRecvStream_w, this, ssrc));
331 } 323 }
332 324
333 bool BaseChannel::AddSendStream(const StreamParams& sp) { 325 bool BaseChannel::AddSendStream(const StreamParams& sp) {
334 return InvokeOnWorker( 326 return InvokeOnWorker(
335 Bind(&MediaChannel::AddSendStream, media_channel(), sp)); 327 Bind(&MediaChannel::AddSendStream, media_channel(), sp));
336 } 328 }
337 329
338 bool BaseChannel::RemoveSendStream(uint32 ssrc) { 330 bool BaseChannel::RemoveSendStream(uint32_t ssrc) {
339 return InvokeOnWorker( 331 return InvokeOnWorker(
340 Bind(&MediaChannel::RemoveSendStream, media_channel(), ssrc)); 332 Bind(&MediaChannel::RemoveSendStream, media_channel(), ssrc));
341 } 333 }
342 334
343 bool BaseChannel::SetLocalContent(const MediaContentDescription* content, 335 bool BaseChannel::SetLocalContent(const MediaContentDescription* content,
344 ContentAction action, 336 ContentAction action,
345 std::string* error_desc) { 337 std::string* error_desc) {
346 return InvokeOnWorker(Bind(&BaseChannel::SetLocalContent_w, 338 return InvokeOnWorker(Bind(&BaseChannel::SetLocalContent_w,
347 this, content, action, error_desc)); 339 this, content, action, error_desc));
348 } 340 }
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 res = srtp_filter_.ProtectRtp( 514 res = srtp_filter_.ProtectRtp(
523 data, len, static_cast<int>(packet->capacity()), &len); 515 data, len, static_cast<int>(packet->capacity()), &len);
524 #else 516 #else
525 options.packet_time_params.rtp_sendtime_extension_id = 517 options.packet_time_params.rtp_sendtime_extension_id =
526 rtp_abs_sendtime_extn_id_; 518 rtp_abs_sendtime_extn_id_;
527 res = srtp_filter_.ProtectRtp( 519 res = srtp_filter_.ProtectRtp(
528 data, len, static_cast<int>(packet->capacity()), &len, 520 data, len, static_cast<int>(packet->capacity()), &len,
529 &options.packet_time_params.srtp_packet_index); 521 &options.packet_time_params.srtp_packet_index);
530 // If protection succeeds, let's get auth params from srtp. 522 // If protection succeeds, let's get auth params from srtp.
531 if (res) { 523 if (res) {
532 uint8* auth_key = NULL; 524 uint8_t* auth_key = NULL;
533 int key_len; 525 int key_len;
534 res = srtp_filter_.GetRtpAuthParams( 526 res = srtp_filter_.GetRtpAuthParams(
535 &auth_key, &key_len, &options.packet_time_params.srtp_auth_tag_len); 527 &auth_key, &key_len, &options.packet_time_params.srtp_auth_tag_len);
536 if (res) { 528 if (res) {
537 options.packet_time_params.srtp_auth_key.resize(key_len); 529 options.packet_time_params.srtp_auth_key.resize(key_len);
538 options.packet_time_params.srtp_auth_key.assign(auth_key, 530 options.packet_time_params.srtp_auth_key.assign(auth_key,
539 auth_key + key_len); 531 auth_key + key_len);
540 } 532 }
541 } 533 }
542 #endif 534 #endif
543 if (!res) { 535 if (!res) {
544 int seq_num = -1; 536 int seq_num = -1;
545 uint32 ssrc = 0; 537 uint32_t ssrc = 0;
546 GetRtpSeqNum(data, len, &seq_num); 538 GetRtpSeqNum(data, len, &seq_num);
547 GetRtpSsrc(data, len, &ssrc); 539 GetRtpSsrc(data, len, &ssrc);
548 LOG(LS_ERROR) << "Failed to protect " << content_name_ 540 LOG(LS_ERROR) << "Failed to protect " << content_name_
549 << " RTP packet: size=" << len 541 << " RTP packet: size=" << len
550 << ", seqnum=" << seq_num << ", SSRC=" << ssrc; 542 << ", seqnum=" << seq_num << ", SSRC=" << ssrc;
551 return false; 543 return false;
552 } 544 }
553 } else { 545 } else {
554 res = srtp_filter_.ProtectRtcp(data, len, 546 res = srtp_filter_.ProtectRtcp(data, len,
555 static_cast<int>(packet->capacity()), 547 static_cast<int>(packet->capacity()),
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
616 608
617 // Unprotect the packet, if needed. 609 // Unprotect the packet, if needed.
618 if (srtp_filter_.IsActive()) { 610 if (srtp_filter_.IsActive()) {
619 char* data = packet->data<char>(); 611 char* data = packet->data<char>();
620 int len = static_cast<int>(packet->size()); 612 int len = static_cast<int>(packet->size());
621 bool res; 613 bool res;
622 if (!rtcp) { 614 if (!rtcp) {
623 res = srtp_filter_.UnprotectRtp(data, len, &len); 615 res = srtp_filter_.UnprotectRtp(data, len, &len);
624 if (!res) { 616 if (!res) {
625 int seq_num = -1; 617 int seq_num = -1;
626 uint32 ssrc = 0; 618 uint32_t ssrc = 0;
627 GetRtpSeqNum(data, len, &seq_num); 619 GetRtpSeqNum(data, len, &seq_num);
628 GetRtpSsrc(data, len, &ssrc); 620 GetRtpSsrc(data, len, &ssrc);
629 LOG(LS_ERROR) << "Failed to unprotect " << content_name_ 621 LOG(LS_ERROR) << "Failed to unprotect " << content_name_
630 << " RTP packet: size=" << len 622 << " RTP packet: size=" << len
631 << ", seqnum=" << seq_num << ", SSRC=" << ssrc; 623 << ", seqnum=" << seq_num << ", SSRC=" << ssrc;
632 return; 624 return;
633 } 625 }
634 } else { 626 } else {
635 res = srtp_filter_.UnprotectRtcp(data, len, &len); 627 res = srtp_filter_.UnprotectRtcp(data, len, &len);
636 if (!res) { 628 if (!res) {
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 } 1024 }
1033 1025
1034 bool BaseChannel::AddRecvStream_w(const StreamParams& sp) { 1026 bool BaseChannel::AddRecvStream_w(const StreamParams& sp) {
1035 ASSERT(worker_thread() == rtc::Thread::Current()); 1027 ASSERT(worker_thread() == rtc::Thread::Current());
1036 if (!media_channel()->AddRecvStream(sp)) 1028 if (!media_channel()->AddRecvStream(sp))
1037 return false; 1029 return false;
1038 1030
1039 return bundle_filter_.AddStream(sp); 1031 return bundle_filter_.AddStream(sp);
1040 } 1032 }
1041 1033
1042 bool BaseChannel::RemoveRecvStream_w(uint32 ssrc) { 1034 bool BaseChannel::RemoveRecvStream_w(uint32_t ssrc) {
1043 ASSERT(worker_thread() == rtc::Thread::Current()); 1035 ASSERT(worker_thread() == rtc::Thread::Current());
1044 bundle_filter_.RemoveStream(ssrc); 1036 bundle_filter_.RemoveStream(ssrc);
1045 return media_channel()->RemoveRecvStream(ssrc); 1037 return media_channel()->RemoveRecvStream(ssrc);
1046 } 1038 }
1047 1039
1048 bool BaseChannel::UpdateLocalStreams_w(const std::vector<StreamParams>& streams, 1040 bool BaseChannel::UpdateLocalStreams_w(const std::vector<StreamParams>& streams,
1049 ContentAction action, 1041 ContentAction action,
1050 std::string* error_desc) { 1042 std::string* error_desc) {
1051 if (!VERIFY(action == CA_OFFER || action == CA_ANSWER || 1043 if (!VERIFY(action == CA_OFFER || action == CA_ANSWER ||
1052 action == CA_PRANSWER || action == CA_UPDATE)) 1044 action == CA_PRANSWER || action == CA_UPDATE))
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
1252 if (!BaseChannel::Init()) { 1244 if (!BaseChannel::Init()) {
1253 return false; 1245 return false;
1254 } 1246 }
1255 media_channel()->SignalMediaError.connect( 1247 media_channel()->SignalMediaError.connect(
1256 this, &VoiceChannel::OnVoiceChannelError); 1248 this, &VoiceChannel::OnVoiceChannelError);
1257 srtp_filter()->SignalSrtpError.connect( 1249 srtp_filter()->SignalSrtpError.connect(
1258 this, &VoiceChannel::OnSrtpError); 1250 this, &VoiceChannel::OnSrtpError);
1259 return true; 1251 return true;
1260 } 1252 }
1261 1253
1262 bool VoiceChannel::SetRemoteRenderer(uint32 ssrc, AudioRenderer* renderer) { 1254 bool VoiceChannel::SetRemoteRenderer(uint32_t ssrc, AudioRenderer* renderer) {
1263 return InvokeOnWorker(Bind(&VoiceMediaChannel::SetRemoteRenderer, 1255 return InvokeOnWorker(Bind(&VoiceMediaChannel::SetRemoteRenderer,
1264 media_channel(), ssrc, renderer)); 1256 media_channel(), ssrc, renderer));
1265 } 1257 }
1266 1258
1267 bool VoiceChannel::SetAudioSend(uint32 ssrc, bool mute, 1259 bool VoiceChannel::SetAudioSend(uint32_t ssrc,
1260 bool mute,
1268 const AudioOptions* options, 1261 const AudioOptions* options,
1269 AudioRenderer* renderer) { 1262 AudioRenderer* renderer) {
1270 return InvokeOnWorker(Bind(&VoiceMediaChannel::SetAudioSend, 1263 return InvokeOnWorker(Bind(&VoiceMediaChannel::SetAudioSend,
1271 media_channel(), ssrc, mute, options, renderer)); 1264 media_channel(), ssrc, mute, options, renderer));
1272 } 1265 }
1273 1266
1274 bool VoiceChannel::SetRingbackTone(const void* buf, int len) { 1267 bool VoiceChannel::SetRingbackTone(const void* buf, int len) {
1275 return InvokeOnWorker(Bind(&VoiceChannel::SetRingbackTone_w, this, buf, len)); 1268 return InvokeOnWorker(Bind(&VoiceChannel::SetRingbackTone_w, this, buf, len));
1276 } 1269 }
1277 1270
1278 // TODO(juberti): Handle early media the right way. We should get an explicit 1271 // TODO(juberti): Handle early media the right way. We should get an explicit
1279 // ringing message telling us to start playing local ringback, which we cancel 1272 // ringing message telling us to start playing local ringback, which we cancel
1280 // if any early media actually arrives. For now, we do the opposite, which is 1273 // if any early media actually arrives. For now, we do the opposite, which is
1281 // to wait 1 second for early media, and start playing local ringback if none 1274 // to wait 1 second for early media, and start playing local ringback if none
1282 // arrives. 1275 // arrives.
1283 void VoiceChannel::SetEarlyMedia(bool enable) { 1276 void VoiceChannel::SetEarlyMedia(bool enable) {
1284 if (enable) { 1277 if (enable) {
1285 // Start the early media timeout 1278 // Start the early media timeout
1286 worker_thread()->PostDelayed(kEarlyMediaTimeout, this, 1279 worker_thread()->PostDelayed(kEarlyMediaTimeout, this,
1287 MSG_EARLYMEDIATIMEOUT); 1280 MSG_EARLYMEDIATIMEOUT);
1288 } else { 1281 } else {
1289 // Stop the timeout if currently going. 1282 // Stop the timeout if currently going.
1290 worker_thread()->Clear(this, MSG_EARLYMEDIATIMEOUT); 1283 worker_thread()->Clear(this, MSG_EARLYMEDIATIMEOUT);
1291 } 1284 }
1292 } 1285 }
1293 1286
1294 bool VoiceChannel::PlayRingbackTone(uint32 ssrc, bool play, bool loop) { 1287 bool VoiceChannel::PlayRingbackTone(uint32_t ssrc, bool play, bool loop) {
1295 return InvokeOnWorker(Bind(&VoiceChannel::PlayRingbackTone_w, 1288 return InvokeOnWorker(Bind(&VoiceChannel::PlayRingbackTone_w,
1296 this, ssrc, play, loop)); 1289 this, ssrc, play, loop));
1297 } 1290 }
1298 1291
1299 bool VoiceChannel::PressDTMF(int digit, bool playout) { 1292 bool VoiceChannel::PressDTMF(int digit, bool playout) {
1300 int flags = DF_SEND; 1293 int flags = DF_SEND;
1301 if (playout) { 1294 if (playout) {
1302 flags |= DF_PLAY; 1295 flags |= DF_PLAY;
1303 } 1296 }
1304 int duration_ms = 160; 1297 int duration_ms = 160;
1305 return InsertDtmf(0, digit, duration_ms, flags); 1298 return InsertDtmf(0, digit, duration_ms, flags);
1306 } 1299 }
1307 1300
1308 bool VoiceChannel::CanInsertDtmf() { 1301 bool VoiceChannel::CanInsertDtmf() {
1309 return InvokeOnWorker(Bind(&VoiceMediaChannel::CanInsertDtmf, 1302 return InvokeOnWorker(Bind(&VoiceMediaChannel::CanInsertDtmf,
1310 media_channel())); 1303 media_channel()));
1311 } 1304 }
1312 1305
1313 bool VoiceChannel::InsertDtmf(uint32 ssrc, int event_code, int duration, 1306 bool VoiceChannel::InsertDtmf(uint32_t ssrc,
1307 int event_code,
1308 int duration,
1314 int flags) { 1309 int flags) {
1315 return InvokeOnWorker(Bind(&VoiceChannel::InsertDtmf_w, this, 1310 return InvokeOnWorker(Bind(&VoiceChannel::InsertDtmf_w, this,
1316 ssrc, event_code, duration, flags)); 1311 ssrc, event_code, duration, flags));
1317 } 1312 }
1318 1313
1319 bool VoiceChannel::SetOutputScaling(uint32 ssrc, double left, double right) { 1314 bool VoiceChannel::SetOutputScaling(uint32_t ssrc, double left, double right) {
1320 return InvokeOnWorker(Bind(&VoiceMediaChannel::SetOutputScaling, 1315 return InvokeOnWorker(Bind(&VoiceMediaChannel::SetOutputScaling,
1321 media_channel(), ssrc, left, right)); 1316 media_channel(), ssrc, left, right));
1322 } 1317 }
1323 1318
1324 bool VoiceChannel::GetStats(VoiceMediaInfo* stats) { 1319 bool VoiceChannel::GetStats(VoiceMediaInfo* stats) {
1325 return InvokeOnWorker(Bind(&VoiceMediaChannel::GetStats, 1320 return InvokeOnWorker(Bind(&VoiceMediaChannel::GetStats,
1326 media_channel(), stats)); 1321 media_channel(), stats));
1327 } 1322 }
1328 1323
1329 void VoiceChannel::StartMediaMonitor(int cms) { 1324 void VoiceChannel::StartMediaMonitor(int cms) {
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
1503 set_remote_content_direction(content->direction()); 1498 set_remote_content_direction(content->direction());
1504 ChangeState(); 1499 ChangeState();
1505 return true; 1500 return true;
1506 } 1501 }
1507 1502
1508 bool VoiceChannel::SetRingbackTone_w(const void* buf, int len) { 1503 bool VoiceChannel::SetRingbackTone_w(const void* buf, int len) {
1509 ASSERT(worker_thread() == rtc::Thread::Current()); 1504 ASSERT(worker_thread() == rtc::Thread::Current());
1510 return media_channel()->SetRingbackTone(static_cast<const char*>(buf), len); 1505 return media_channel()->SetRingbackTone(static_cast<const char*>(buf), len);
1511 } 1506 }
1512 1507
1513 bool VoiceChannel::PlayRingbackTone_w(uint32 ssrc, bool play, bool loop) { 1508 bool VoiceChannel::PlayRingbackTone_w(uint32_t ssrc, bool play, bool loop) {
1514 ASSERT(worker_thread() == rtc::Thread::Current()); 1509 ASSERT(worker_thread() == rtc::Thread::Current());
1515 if (play) { 1510 if (play) {
1516 LOG(LS_INFO) << "Playing ringback tone, loop=" << loop; 1511 LOG(LS_INFO) << "Playing ringback tone, loop=" << loop;
1517 } else { 1512 } else {
1518 LOG(LS_INFO) << "Stopping ringback tone"; 1513 LOG(LS_INFO) << "Stopping ringback tone";
1519 } 1514 }
1520 return media_channel()->PlayRingbackTone(ssrc, play, loop); 1515 return media_channel()->PlayRingbackTone(ssrc, play, loop);
1521 } 1516 }
1522 1517
1523 void VoiceChannel::HandleEarlyMediaTimeout() { 1518 void VoiceChannel::HandleEarlyMediaTimeout() {
1524 // This occurs on the main thread, not the worker thread. 1519 // This occurs on the main thread, not the worker thread.
1525 if (!received_media_) { 1520 if (!received_media_) {
1526 LOG(LS_INFO) << "No early media received before timeout"; 1521 LOG(LS_INFO) << "No early media received before timeout";
1527 SignalEarlyMediaTimeout(this); 1522 SignalEarlyMediaTimeout(this);
1528 } 1523 }
1529 } 1524 }
1530 1525
1531 bool VoiceChannel::InsertDtmf_w(uint32 ssrc, int event, int duration, 1526 bool VoiceChannel::InsertDtmf_w(uint32_t ssrc,
1527 int event,
1528 int duration,
1532 int flags) { 1529 int flags) {
1533 if (!enabled()) { 1530 if (!enabled()) {
1534 return false; 1531 return false;
1535 } 1532 }
1536 1533
1537 return media_channel()->InsertDtmf(ssrc, event, duration, flags); 1534 return media_channel()->InsertDtmf(ssrc, event, duration, flags);
1538 } 1535 }
1539 1536
1540 void VoiceChannel::OnMessage(rtc::Message *pmsg) { 1537 void VoiceChannel::OnMessage(rtc::Message *pmsg) {
1541 switch (pmsg->message_id) { 1538 switch (pmsg->message_id) {
(...skipping 22 matching lines...) Expand all
1564 VoiceMediaChannel* media_channel, const VoiceMediaInfo& info) { 1561 VoiceMediaChannel* media_channel, const VoiceMediaInfo& info) {
1565 ASSERT(media_channel == this->media_channel()); 1562 ASSERT(media_channel == this->media_channel());
1566 SignalMediaMonitor(this, info); 1563 SignalMediaMonitor(this, info);
1567 } 1564 }
1568 1565
1569 void VoiceChannel::OnAudioMonitorUpdate(AudioMonitor* monitor, 1566 void VoiceChannel::OnAudioMonitorUpdate(AudioMonitor* monitor,
1570 const AudioInfo& info) { 1567 const AudioInfo& info) {
1571 SignalAudioMonitor(this, info); 1568 SignalAudioMonitor(this, info);
1572 } 1569 }
1573 1570
1574 void VoiceChannel::OnVoiceChannelError( 1571 void VoiceChannel::OnVoiceChannelError(uint32_t ssrc,
1575 uint32 ssrc, VoiceMediaChannel::Error err) { 1572 VoiceMediaChannel::Error err) {
1576 VoiceChannelErrorMessageData* data = new VoiceChannelErrorMessageData( 1573 VoiceChannelErrorMessageData* data = new VoiceChannelErrorMessageData(
1577 ssrc, err); 1574 ssrc, err);
1578 signaling_thread()->Post(this, MSG_CHANNEL_ERROR, data); 1575 signaling_thread()->Post(this, MSG_CHANNEL_ERROR, data);
1579 } 1576 }
1580 1577
1581 void VoiceChannel::OnSrtpError(uint32 ssrc, SrtpFilter::Mode mode, 1578 void VoiceChannel::OnSrtpError(uint32_t ssrc,
1579 SrtpFilter::Mode mode,
1582 SrtpFilter::Error error) { 1580 SrtpFilter::Error error) {
1583 switch (error) { 1581 switch (error) {
1584 case SrtpFilter::ERROR_FAIL: 1582 case SrtpFilter::ERROR_FAIL:
1585 OnVoiceChannelError(ssrc, (mode == SrtpFilter::PROTECT) ? 1583 OnVoiceChannelError(ssrc, (mode == SrtpFilter::PROTECT) ?
1586 VoiceMediaChannel::ERROR_REC_SRTP_ERROR : 1584 VoiceMediaChannel::ERROR_REC_SRTP_ERROR :
1587 VoiceMediaChannel::ERROR_PLAY_SRTP_ERROR); 1585 VoiceMediaChannel::ERROR_PLAY_SRTP_ERROR);
1588 break; 1586 break;
1589 case SrtpFilter::ERROR_AUTH: 1587 case SrtpFilter::ERROR_AUTH:
1590 OnVoiceChannelError(ssrc, (mode == SrtpFilter::PROTECT) ? 1588 OnVoiceChannelError(ssrc, (mode == SrtpFilter::PROTECT) ?
1591 VoiceMediaChannel::ERROR_REC_SRTP_AUTH_FAILED : 1589 VoiceMediaChannel::ERROR_REC_SRTP_AUTH_FAILED :
(...skipping 29 matching lines...) Expand all
1621 return false; 1619 return false;
1622 } 1620 }
1623 media_channel()->SignalMediaError.connect( 1621 media_channel()->SignalMediaError.connect(
1624 this, &VideoChannel::OnVideoChannelError); 1622 this, &VideoChannel::OnVideoChannelError);
1625 srtp_filter()->SignalSrtpError.connect( 1623 srtp_filter()->SignalSrtpError.connect(
1626 this, &VideoChannel::OnSrtpError); 1624 this, &VideoChannel::OnSrtpError);
1627 return true; 1625 return true;
1628 } 1626 }
1629 1627
1630 void VoiceChannel::SendLastMediaError() { 1628 void VoiceChannel::SendLastMediaError() {
1631 uint32 ssrc; 1629 uint32_t ssrc;
1632 VoiceMediaChannel::Error error; 1630 VoiceMediaChannel::Error error;
1633 media_channel()->GetLastMediaError(&ssrc, &error); 1631 media_channel()->GetLastMediaError(&ssrc, &error);
1634 SignalMediaError(this, ssrc, error); 1632 SignalMediaError(this, ssrc, error);
1635 } 1633 }
1636 1634
1637 VideoChannel::~VideoChannel() { 1635 VideoChannel::~VideoChannel() {
1638 std::vector<uint32> screencast_ssrcs; 1636 std::vector<uint32_t> screencast_ssrcs;
1639 ScreencastMap::iterator iter; 1637 ScreencastMap::iterator iter;
1640 while (!screencast_capturers_.empty()) { 1638 while (!screencast_capturers_.empty()) {
1641 if (!RemoveScreencast(screencast_capturers_.begin()->first)) { 1639 if (!RemoveScreencast(screencast_capturers_.begin()->first)) {
1642 LOG(LS_ERROR) << "Unable to delete screencast with ssrc " 1640 LOG(LS_ERROR) << "Unable to delete screencast with ssrc "
1643 << screencast_capturers_.begin()->first; 1641 << screencast_capturers_.begin()->first;
1644 ASSERT(false); 1642 ASSERT(false);
1645 break; 1643 break;
1646 } 1644 }
1647 } 1645 }
1648 1646
1649 StopMediaMonitor(); 1647 StopMediaMonitor();
1650 // this can't be done in the base class, since it calls a virtual 1648 // this can't be done in the base class, since it calls a virtual
1651 DisableMedia_w(); 1649 DisableMedia_w();
1652 1650
1653 Deinit(); 1651 Deinit();
1654 } 1652 }
1655 1653
1656 bool VideoChannel::SetRenderer(uint32 ssrc, VideoRenderer* renderer) { 1654 bool VideoChannel::SetRenderer(uint32_t ssrc, VideoRenderer* renderer) {
1657 worker_thread()->Invoke<void>(Bind( 1655 worker_thread()->Invoke<void>(Bind(
1658 &VideoMediaChannel::SetRenderer, media_channel(), ssrc, renderer)); 1656 &VideoMediaChannel::SetRenderer, media_channel(), ssrc, renderer));
1659 return true; 1657 return true;
1660 } 1658 }
1661 1659
1662 bool VideoChannel::ApplyViewRequest(const ViewRequest& request) { 1660 bool VideoChannel::ApplyViewRequest(const ViewRequest& request) {
1663 return InvokeOnWorker(Bind(&VideoChannel::ApplyViewRequest_w, this, request)); 1661 return InvokeOnWorker(Bind(&VideoChannel::ApplyViewRequest_w, this, request));
1664 } 1662 }
1665 1663
1666 bool VideoChannel::AddScreencast(uint32 ssrc, VideoCapturer* capturer) { 1664 bool VideoChannel::AddScreencast(uint32_t ssrc, VideoCapturer* capturer) {
1667 return worker_thread()->Invoke<bool>(Bind( 1665 return worker_thread()->Invoke<bool>(Bind(
1668 &VideoChannel::AddScreencast_w, this, ssrc, capturer)); 1666 &VideoChannel::AddScreencast_w, this, ssrc, capturer));
1669 } 1667 }
1670 1668
1671 bool VideoChannel::SetCapturer(uint32 ssrc, VideoCapturer* capturer) { 1669 bool VideoChannel::SetCapturer(uint32_t ssrc, VideoCapturer* capturer) {
1672 return InvokeOnWorker(Bind(&VideoMediaChannel::SetCapturer, 1670 return InvokeOnWorker(Bind(&VideoMediaChannel::SetCapturer,
1673 media_channel(), ssrc, capturer)); 1671 media_channel(), ssrc, capturer));
1674 } 1672 }
1675 1673
1676 bool VideoChannel::RemoveScreencast(uint32 ssrc) { 1674 bool VideoChannel::RemoveScreencast(uint32_t ssrc) {
1677 return InvokeOnWorker(Bind(&VideoChannel::RemoveScreencast_w, this, ssrc)); 1675 return InvokeOnWorker(Bind(&VideoChannel::RemoveScreencast_w, this, ssrc));
1678 } 1676 }
1679 1677
1680 bool VideoChannel::IsScreencasting() { 1678 bool VideoChannel::IsScreencasting() {
1681 return InvokeOnWorker(Bind(&VideoChannel::IsScreencasting_w, this)); 1679 return InvokeOnWorker(Bind(&VideoChannel::IsScreencasting_w, this));
1682 } 1680 }
1683 1681
1684 int VideoChannel::GetScreencastFps(uint32 ssrc) { 1682 int VideoChannel::GetScreencastFps(uint32_t ssrc) {
1685 ScreencastDetailsData data(ssrc); 1683 ScreencastDetailsData data(ssrc);
1686 worker_thread()->Invoke<void>(Bind( 1684 worker_thread()->Invoke<void>(Bind(
1687 &VideoChannel::GetScreencastDetails_w, this, &data)); 1685 &VideoChannel::GetScreencastDetails_w, this, &data));
1688 return data.fps; 1686 return data.fps;
1689 } 1687 }
1690 1688
1691 int VideoChannel::GetScreencastMaxPixels(uint32 ssrc) { 1689 int VideoChannel::GetScreencastMaxPixels(uint32_t ssrc) {
1692 ScreencastDetailsData data(ssrc); 1690 ScreencastDetailsData data(ssrc);
1693 worker_thread()->Invoke<void>(Bind( 1691 worker_thread()->Invoke<void>(Bind(
1694 &VideoChannel::GetScreencastDetails_w, this, &data)); 1692 &VideoChannel::GetScreencastDetails_w, this, &data));
1695 return data.screencast_max_pixels; 1693 return data.screencast_max_pixels;
1696 } 1694 }
1697 1695
1698 bool VideoChannel::SendIntraFrame() { 1696 bool VideoChannel::SendIntraFrame() {
1699 worker_thread()->Invoke<void>(Bind( 1697 worker_thread()->Invoke<void>(Bind(
1700 &VideoMediaChannel::SendIntraFrame, media_channel())); 1698 &VideoMediaChannel::SendIntraFrame, media_channel()));
1701 return true; 1699 return true;
1702 } 1700 }
1703 1701
1704 bool VideoChannel::RequestIntraFrame() { 1702 bool VideoChannel::RequestIntraFrame() {
1705 worker_thread()->Invoke<void>(Bind( 1703 worker_thread()->Invoke<void>(Bind(
1706 &VideoMediaChannel::RequestIntraFrame, media_channel())); 1704 &VideoMediaChannel::RequestIntraFrame, media_channel()));
1707 return true; 1705 return true;
1708 } 1706 }
1709 1707
1710 bool VideoChannel::SetVideoSend(uint32 ssrc, bool mute, 1708 bool VideoChannel::SetVideoSend(uint32_t ssrc,
1709 bool mute,
1711 const VideoOptions* options) { 1710 const VideoOptions* options) {
1712 return InvokeOnWorker(Bind(&VideoMediaChannel::SetVideoSend, 1711 return InvokeOnWorker(Bind(&VideoMediaChannel::SetVideoSend,
1713 media_channel(), ssrc, mute, options)); 1712 media_channel(), ssrc, mute, options));
1714 } 1713 }
1715 1714
1716 void VideoChannel::ChangeState() { 1715 void VideoChannel::ChangeState() {
1717 // Render incoming data if we're the active call, and we have the local 1716 // Render incoming data if we're the active call, and we have the local
1718 // content. We receive data on the default channel and multiplexed streams. 1717 // content. We receive data on the default channel and multiplexed streams.
1719 bool recv = IsReadyToReceive(); 1718 bool recv = IsReadyToReceive();
1720 if (!media_channel()->SetRender(recv)) { 1719 if (!media_channel()->SetRender(recv)) {
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
1881 << it->selector.ssrc << ", '" 1880 << it->selector.ssrc << ", '"
1882 << it->selector.groupid << "', '" 1881 << it->selector.groupid << "', '"
1883 << it->selector.streamid << "'" 1882 << it->selector.streamid << "'"
1884 << ") is not in the local streams."; 1883 << ") is not in the local streams.";
1885 } 1884 }
1886 } 1885 }
1887 1886
1888 return ret; 1887 return ret;
1889 } 1888 }
1890 1889
1891 bool VideoChannel::AddScreencast_w(uint32 ssrc, VideoCapturer* capturer) { 1890 bool VideoChannel::AddScreencast_w(uint32_t ssrc, VideoCapturer* capturer) {
1892 if (screencast_capturers_.find(ssrc) != screencast_capturers_.end()) { 1891 if (screencast_capturers_.find(ssrc) != screencast_capturers_.end()) {
1893 return false; 1892 return false;
1894 } 1893 }
1895 capturer->SignalStateChange.connect(this, &VideoChannel::OnStateChange); 1894 capturer->SignalStateChange.connect(this, &VideoChannel::OnStateChange);
1896 screencast_capturers_[ssrc] = capturer; 1895 screencast_capturers_[ssrc] = capturer;
1897 return true; 1896 return true;
1898 } 1897 }
1899 1898
1900 bool VideoChannel::RemoveScreencast_w(uint32 ssrc) { 1899 bool VideoChannel::RemoveScreencast_w(uint32_t ssrc) {
1901 ScreencastMap::iterator iter = screencast_capturers_.find(ssrc); 1900 ScreencastMap::iterator iter = screencast_capturers_.find(ssrc);
1902 if (iter == screencast_capturers_.end()) { 1901 if (iter == screencast_capturers_.end()) {
1903 return false; 1902 return false;
1904 } 1903 }
1905 // Clean up VideoCapturer. 1904 // Clean up VideoCapturer.
1906 delete iter->second; 1905 delete iter->second;
1907 screencast_capturers_.erase(iter); 1906 screencast_capturers_.erase(iter);
1908 return true; 1907 return true;
1909 } 1908 }
1910 1909
1911 bool VideoChannel::IsScreencasting_w() const { 1910 bool VideoChannel::IsScreencasting_w() const {
1912 return !screencast_capturers_.empty(); 1911 return !screencast_capturers_.empty();
1913 } 1912 }
1914 1913
1915 void VideoChannel::GetScreencastDetails_w( 1914 void VideoChannel::GetScreencastDetails_w(
1916 ScreencastDetailsData* data) const { 1915 ScreencastDetailsData* data) const {
1917 ScreencastMap::const_iterator iter = screencast_capturers_.find(data->ssrc); 1916 ScreencastMap::const_iterator iter = screencast_capturers_.find(data->ssrc);
1918 if (iter == screencast_capturers_.end()) { 1917 if (iter == screencast_capturers_.end()) {
1919 return; 1918 return;
1920 } 1919 }
1921 VideoCapturer* capturer = iter->second; 1920 VideoCapturer* capturer = iter->second;
1922 const VideoFormat* video_format = capturer->GetCaptureFormat(); 1921 const VideoFormat* video_format = capturer->GetCaptureFormat();
1923 data->fps = VideoFormat::IntervalToFps(video_format->interval); 1922 data->fps = VideoFormat::IntervalToFps(video_format->interval);
1924 data->screencast_max_pixels = capturer->screencast_max_pixels(); 1923 data->screencast_max_pixels = capturer->screencast_max_pixels();
1925 } 1924 }
1926 1925
1927 void VideoChannel::OnScreencastWindowEvent_s(uint32 ssrc, 1926 void VideoChannel::OnScreencastWindowEvent_s(uint32_t ssrc,
1928 rtc::WindowEvent we) { 1927 rtc::WindowEvent we) {
1929 ASSERT(signaling_thread() == rtc::Thread::Current()); 1928 ASSERT(signaling_thread() == rtc::Thread::Current());
1930 SignalScreencastWindowEvent(ssrc, we); 1929 SignalScreencastWindowEvent(ssrc, we);
1931 } 1930 }
1932 1931
1933 void VideoChannel::OnMessage(rtc::Message *pmsg) { 1932 void VideoChannel::OnMessage(rtc::Message *pmsg) {
1934 switch (pmsg->message_id) { 1933 switch (pmsg->message_id) {
1935 case MSG_SCREENCASTWINDOWEVENT: { 1934 case MSG_SCREENCASTWINDOWEVENT: {
1936 const ScreencastEventMessageData* data = 1935 const ScreencastEventMessageData* data =
1937 static_cast<ScreencastEventMessageData*>(pmsg->pdata); 1936 static_cast<ScreencastEventMessageData*>(pmsg->pdata);
(...skipping 20 matching lines...) Expand all
1958 } 1957 }
1959 1958
1960 // TODO(pthatcher): Look into removing duplicate code between 1959 // TODO(pthatcher): Look into removing duplicate code between
1961 // audio, video, and data, perhaps by using templates. 1960 // audio, video, and data, perhaps by using templates.
1962 void VideoChannel::OnMediaMonitorUpdate( 1961 void VideoChannel::OnMediaMonitorUpdate(
1963 VideoMediaChannel* media_channel, const VideoMediaInfo &info) { 1962 VideoMediaChannel* media_channel, const VideoMediaInfo &info) {
1964 ASSERT(media_channel == this->media_channel()); 1963 ASSERT(media_channel == this->media_channel());
1965 SignalMediaMonitor(this, info); 1964 SignalMediaMonitor(this, info);
1966 } 1965 }
1967 1966
1968 void VideoChannel::OnScreencastWindowEvent(uint32 ssrc, 1967 void VideoChannel::OnScreencastWindowEvent(uint32_t ssrc,
1969 rtc::WindowEvent event) { 1968 rtc::WindowEvent event) {
1970 ScreencastEventMessageData* pdata = 1969 ScreencastEventMessageData* pdata =
1971 new ScreencastEventMessageData(ssrc, event); 1970 new ScreencastEventMessageData(ssrc, event);
1972 signaling_thread()->Post(this, MSG_SCREENCASTWINDOWEVENT, pdata); 1971 signaling_thread()->Post(this, MSG_SCREENCASTWINDOWEVENT, pdata);
1973 } 1972 }
1974 1973
1975 void VideoChannel::OnStateChange(VideoCapturer* capturer, CaptureState ev) { 1974 void VideoChannel::OnStateChange(VideoCapturer* capturer, CaptureState ev) {
1976 // Map capturer events to window events. In the future we may want to simply 1975 // Map capturer events to window events. In the future we may want to simply
1977 // pass these events up directly. 1976 // pass these events up directly.
1978 rtc::WindowEvent we; 1977 rtc::WindowEvent we;
1979 if (ev == CS_STOPPED) { 1978 if (ev == CS_STOPPED) {
1980 we = rtc::WE_CLOSE; 1979 we = rtc::WE_CLOSE;
1981 } else if (ev == CS_PAUSED) { 1980 } else if (ev == CS_PAUSED) {
1982 we = rtc::WE_MINIMIZE; 1981 we = rtc::WE_MINIMIZE;
1983 } else if (ev == CS_RUNNING && previous_we_ == rtc::WE_MINIMIZE) { 1982 } else if (ev == CS_RUNNING && previous_we_ == rtc::WE_MINIMIZE) {
1984 we = rtc::WE_RESTORE; 1983 we = rtc::WE_RESTORE;
1985 } else { 1984 } else {
1986 return; 1985 return;
1987 } 1986 }
1988 previous_we_ = we; 1987 previous_we_ = we;
1989 1988
1990 uint32 ssrc = 0; 1989 uint32_t ssrc = 0;
1991 if (!GetLocalSsrc(capturer, &ssrc)) { 1990 if (!GetLocalSsrc(capturer, &ssrc)) {
1992 return; 1991 return;
1993 } 1992 }
1994 1993
1995 OnScreencastWindowEvent(ssrc, we); 1994 OnScreencastWindowEvent(ssrc, we);
1996 } 1995 }
1997 1996
1998 bool VideoChannel::GetLocalSsrc(const VideoCapturer* capturer, uint32* ssrc) { 1997 bool VideoChannel::GetLocalSsrc(const VideoCapturer* capturer, uint32_t* ssrc) {
1999 *ssrc = 0; 1998 *ssrc = 0;
2000 for (ScreencastMap::iterator iter = screencast_capturers_.begin(); 1999 for (ScreencastMap::iterator iter = screencast_capturers_.begin();
2001 iter != screencast_capturers_.end(); ++iter) { 2000 iter != screencast_capturers_.end(); ++iter) {
2002 if (iter->second == capturer) { 2001 if (iter->second == capturer) {
2003 *ssrc = iter->first; 2002 *ssrc = iter->first;
2004 return true; 2003 return true;
2005 } 2004 }
2006 } 2005 }
2007 return false; 2006 return false;
2008 } 2007 }
2009 2008
2010 void VideoChannel::OnVideoChannelError(uint32 ssrc, 2009 void VideoChannel::OnVideoChannelError(uint32_t ssrc,
2011 VideoMediaChannel::Error error) { 2010 VideoMediaChannel::Error error) {
2012 VideoChannelErrorMessageData* data = new VideoChannelErrorMessageData( 2011 VideoChannelErrorMessageData* data = new VideoChannelErrorMessageData(
2013 ssrc, error); 2012 ssrc, error);
2014 signaling_thread()->Post(this, MSG_CHANNEL_ERROR, data); 2013 signaling_thread()->Post(this, MSG_CHANNEL_ERROR, data);
2015 } 2014 }
2016 2015
2017 void VideoChannel::OnSrtpError(uint32 ssrc, SrtpFilter::Mode mode, 2016 void VideoChannel::OnSrtpError(uint32_t ssrc,
2017 SrtpFilter::Mode mode,
2018 SrtpFilter::Error error) { 2018 SrtpFilter::Error error) {
2019 switch (error) { 2019 switch (error) {
2020 case SrtpFilter::ERROR_FAIL: 2020 case SrtpFilter::ERROR_FAIL:
2021 OnVideoChannelError(ssrc, (mode == SrtpFilter::PROTECT) ? 2021 OnVideoChannelError(ssrc, (mode == SrtpFilter::PROTECT) ?
2022 VideoMediaChannel::ERROR_REC_SRTP_ERROR : 2022 VideoMediaChannel::ERROR_REC_SRTP_ERROR :
2023 VideoMediaChannel::ERROR_PLAY_SRTP_ERROR); 2023 VideoMediaChannel::ERROR_PLAY_SRTP_ERROR);
2024 break; 2024 break;
2025 case SrtpFilter::ERROR_AUTH: 2025 case SrtpFilter::ERROR_AUTH:
2026 OnVideoChannelError(ssrc, (mode == SrtpFilter::PROTECT) ? 2026 OnVideoChannelError(ssrc, (mode == SrtpFilter::PROTECT) ?
2027 VideoMediaChannel::ERROR_REC_SRTP_AUTH_FAILED : 2027 VideoMediaChannel::ERROR_REC_SRTP_AUTH_FAILED :
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
2280 break; 2280 break;
2281 } 2281 }
2282 case MSG_CHANNEL_ERROR: { 2282 case MSG_CHANNEL_ERROR: {
2283 const DataChannelErrorMessageData* data = 2283 const DataChannelErrorMessageData* data =
2284 static_cast<DataChannelErrorMessageData*>(pmsg->pdata); 2284 static_cast<DataChannelErrorMessageData*>(pmsg->pdata);
2285 SignalMediaError(this, data->ssrc, data->error); 2285 SignalMediaError(this, data->ssrc, data->error);
2286 delete data; 2286 delete data;
2287 break; 2287 break;
2288 } 2288 }
2289 case MSG_STREAMCLOSEDREMOTELY: { 2289 case MSG_STREAMCLOSEDREMOTELY: {
2290 rtc::TypedMessageData<uint32>* data = 2290 rtc::TypedMessageData<uint32_t>* data =
2291 static_cast<rtc::TypedMessageData<uint32>*>(pmsg->pdata); 2291 static_cast<rtc::TypedMessageData<uint32_t>*>(pmsg->pdata);
2292 SignalStreamClosedRemotely(data->data()); 2292 SignalStreamClosedRemotely(data->data());
2293 delete data; 2293 delete data;
2294 break; 2294 break;
2295 } 2295 }
2296 default: 2296 default:
2297 BaseChannel::OnMessage(pmsg); 2297 BaseChannel::OnMessage(pmsg);
2298 break; 2298 break;
2299 } 2299 }
2300 } 2300 }
2301 2301
(...skipping 24 matching lines...) Expand all
2326 SignalMediaMonitor(this, info); 2326 SignalMediaMonitor(this, info);
2327 } 2327 }
2328 2328
2329 void DataChannel::OnDataReceived( 2329 void DataChannel::OnDataReceived(
2330 const ReceiveDataParams& params, const char* data, size_t len) { 2330 const ReceiveDataParams& params, const char* data, size_t len) {
2331 DataReceivedMessageData* msg = new DataReceivedMessageData( 2331 DataReceivedMessageData* msg = new DataReceivedMessageData(
2332 params, data, len); 2332 params, data, len);
2333 signaling_thread()->Post(this, MSG_DATARECEIVED, msg); 2333 signaling_thread()->Post(this, MSG_DATARECEIVED, msg);
2334 } 2334 }
2335 2335
2336 void DataChannel::OnDataChannelError( 2336 void DataChannel::OnDataChannelError(uint32_t ssrc,
2337 uint32 ssrc, DataMediaChannel::Error err) { 2337 DataMediaChannel::Error err) {
2338 DataChannelErrorMessageData* data = new DataChannelErrorMessageData( 2338 DataChannelErrorMessageData* data = new DataChannelErrorMessageData(
2339 ssrc, err); 2339 ssrc, err);
2340 signaling_thread()->Post(this, MSG_CHANNEL_ERROR, data); 2340 signaling_thread()->Post(this, MSG_CHANNEL_ERROR, data);
2341 } 2341 }
2342 2342
2343 void DataChannel::OnDataChannelReadyToSend(bool writable) { 2343 void DataChannel::OnDataChannelReadyToSend(bool writable) {
2344 // This is usded for congestion control to indicate that the stream is ready 2344 // This is usded for congestion control to indicate that the stream is ready
2345 // to send by the MediaChannel, as opposed to OnReadyToSend, which indicates 2345 // to send by the MediaChannel, as opposed to OnReadyToSend, which indicates
2346 // that the transport channel is ready. 2346 // that the transport channel is ready.
2347 signaling_thread()->Post(this, MSG_READYTOSENDDATA, 2347 signaling_thread()->Post(this, MSG_READYTOSENDDATA,
2348 new DataChannelReadyToSendMessageData(writable)); 2348 new DataChannelReadyToSendMessageData(writable));
2349 } 2349 }
2350 2350
2351 void DataChannel::OnSrtpError(uint32 ssrc, SrtpFilter::Mode mode, 2351 void DataChannel::OnSrtpError(uint32_t ssrc,
2352 SrtpFilter::Mode mode,
2352 SrtpFilter::Error error) { 2353 SrtpFilter::Error error) {
2353 switch (error) { 2354 switch (error) {
2354 case SrtpFilter::ERROR_FAIL: 2355 case SrtpFilter::ERROR_FAIL:
2355 OnDataChannelError(ssrc, (mode == SrtpFilter::PROTECT) ? 2356 OnDataChannelError(ssrc, (mode == SrtpFilter::PROTECT) ?
2356 DataMediaChannel::ERROR_SEND_SRTP_ERROR : 2357 DataMediaChannel::ERROR_SEND_SRTP_ERROR :
2357 DataMediaChannel::ERROR_RECV_SRTP_ERROR); 2358 DataMediaChannel::ERROR_RECV_SRTP_ERROR);
2358 break; 2359 break;
2359 case SrtpFilter::ERROR_AUTH: 2360 case SrtpFilter::ERROR_AUTH:
2360 OnDataChannelError(ssrc, (mode == SrtpFilter::PROTECT) ? 2361 OnDataChannelError(ssrc, (mode == SrtpFilter::PROTECT) ?
2361 DataMediaChannel::ERROR_SEND_SRTP_AUTH_FAILED : 2362 DataMediaChannel::ERROR_SEND_SRTP_AUTH_FAILED :
(...skipping 10 matching lines...) Expand all
2372 } 2373 }
2373 2374
2374 void DataChannel::GetSrtpCiphers(std::vector<std::string>* ciphers) const { 2375 void DataChannel::GetSrtpCiphers(std::vector<std::string>* ciphers) const {
2375 GetSupportedDataCryptoSuites(ciphers); 2376 GetSupportedDataCryptoSuites(ciphers);
2376 } 2377 }
2377 2378
2378 bool DataChannel::ShouldSetupDtlsSrtp() const { 2379 bool DataChannel::ShouldSetupDtlsSrtp() const {
2379 return (data_channel_type_ == DCT_RTP); 2380 return (data_channel_type_ == DCT_RTP);
2380 } 2381 }
2381 2382
2382 void DataChannel::OnStreamClosedRemotely(uint32 sid) { 2383 void DataChannel::OnStreamClosedRemotely(uint32_t sid) {
2383 rtc::TypedMessageData<uint32>* message = 2384 rtc::TypedMessageData<uint32_t>* message =
2384 new rtc::TypedMessageData<uint32>(sid); 2385 new rtc::TypedMessageData<uint32_t>(sid);
2385 signaling_thread()->Post(this, MSG_STREAMCLOSEDREMOTELY, message); 2386 signaling_thread()->Post(this, MSG_STREAMCLOSEDREMOTELY, message);
2386 } 2387 }
2387 2388
2388 } // namespace cricket 2389 } // namespace cricket
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698