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

Side by Side Diff: chrome/renderer/media/cast_rtp_stream.cc

Issue 121543003: Set AES key and IV mask to CastSender (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 "chrome/renderer/media/cast_rtp_stream.h" 5 #include "chrome/renderer/media/cast_rtp_stream.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "chrome/renderer/media/cast_session.h" 10 #include "chrome/renderer/media/cast_session.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 payload.width = 1280; 47 payload.width = 1280;
48 payload.height = 720; 48 payload.height = 720;
49 payload.min_bitrate = 50 * 1000; 49 payload.min_bitrate = 50 * 1000;
50 payload.max_bitrate = 2000 * 1000; 50 payload.max_bitrate = 2000 * 1000;
51 return payload; 51 return payload;
52 } 52 }
53 53
54 CastRtpCaps DefaultAudioCaps() { 54 CastRtpCaps DefaultAudioCaps() {
55 CastRtpCaps caps; 55 CastRtpCaps caps;
56 caps.payloads.push_back(DefaultOpusPayload()); 56 caps.payloads.push_back(DefaultOpusPayload());
57 // TODO(hclam): Fill in |rtcp_features| and |fec_mechanisms|. 57 // TODO(hclam): Fill in |rtcp_features|.
58 return caps; 58 return caps;
59 } 59 }
60 60
61 CastRtpCaps DefaultVideoCaps() { 61 CastRtpCaps DefaultVideoCaps() {
62 CastRtpCaps caps; 62 CastRtpCaps caps;
63 caps.payloads.push_back(DefaultVp8Payload()); 63 caps.payloads.push_back(DefaultVp8Payload());
64 // TODO(hclam): Fill in |rtcp_features| and |fec_mechanisms|. 64 // TODO(hclam): Fill in |rtcp_features|.
65 return caps; 65 return caps;
66 } 66 }
67 67
68 bool ToAudioSenderConfig(const CastRtpParams& params, 68 bool ToAudioSenderConfig(const CastRtpParams& params,
69 AudioSenderConfig* config) { 69 AudioSenderConfig* config) {
70 if (params.payloads.empty()) 70 if (params.payloads.empty())
71 return false; 71 return false;
72 const CastRtpPayloadParams& payload_params = params.payloads[0]; 72 const CastRtpPayloadParams& payload_params = params.payloads[0];
73 config->sender_ssrc = payload_params.ssrc; 73 config->sender_ssrc = payload_params.ssrc;
74 config->incoming_feedback_ssrc = payload_params.feedback_ssrc; 74 config->incoming_feedback_ssrc = payload_params.feedback_ssrc;
75 config->rtp_payload_type = payload_params.payload_type; 75 config->rtp_payload_type = payload_params.payload_type;
76 config->use_external_encoder = false; 76 config->use_external_encoder = false;
77 config->frequency = payload_params.clock_rate; 77 config->frequency = payload_params.clock_rate;
78 config->channels = payload_params.channels; 78 config->channels = payload_params.channels;
79 config->bitrate = payload_params.max_bitrate; 79 config->bitrate = payload_params.max_bitrate;
80 config->aes_key = payload_params.aes_key;
81 config->aes_iv_mask = payload_params.aes_iv_mask;
80 config->codec = media::cast::kPcm16; 82 config->codec = media::cast::kPcm16;
81 if (payload_params.codec_name == kCodecNameOpus) 83 if (payload_params.codec_name == kCodecNameOpus)
82 config->codec = media::cast::kOpus; 84 config->codec = media::cast::kOpus;
83 else 85 else
84 return false; 86 return false;
85 return true; 87 return true;
86 } 88 }
87 89
88 bool ToVideoSenderConfig(const CastRtpParams& params, 90 bool ToVideoSenderConfig(const CastRtpParams& params,
89 VideoSenderConfig* config) { 91 VideoSenderConfig* config) {
90 if (params.payloads.empty()) 92 if (params.payloads.empty())
91 return false; 93 return false;
92 const CastRtpPayloadParams& payload_params = params.payloads[0]; 94 const CastRtpPayloadParams& payload_params = params.payloads[0];
93 config->sender_ssrc = payload_params.ssrc; 95 config->sender_ssrc = payload_params.ssrc;
94 config->incoming_feedback_ssrc = payload_params.feedback_ssrc; 96 config->incoming_feedback_ssrc = payload_params.feedback_ssrc;
95 config->rtp_payload_type = payload_params.payload_type; 97 config->rtp_payload_type = payload_params.payload_type;
96 config->use_external_encoder = false; 98 config->use_external_encoder = false;
97 config->width = payload_params.width; 99 config->width = payload_params.width;
98 config->height = payload_params.height; 100 config->height = payload_params.height;
99 config->min_bitrate = config->start_bitrate = payload_params.min_bitrate; 101 config->min_bitrate = config->start_bitrate = payload_params.min_bitrate;
100 config->max_bitrate = payload_params.max_bitrate; 102 config->max_bitrate = payload_params.max_bitrate;
103 config->aes_key = payload_params.aes_key;
104 config->aes_iv_mask = payload_params.aes_iv_mask;
101 if (payload_params.codec_name == kCodecNameVp8) 105 if (payload_params.codec_name == kCodecNameVp8)
102 config->codec = media::cast::kVp8; 106 config->codec = media::cast::kVp8;
103 else 107 else
104 return false; 108 return false;
105 return true; 109 return true;
106 } 110 }
107 111
108 void DeleteAudioBus(scoped_ptr<media::AudioBus> audio_bus) { 112 void DeleteAudioBus(scoped_ptr<media::AudioBus> audio_bus) {
109 // Do nothing as |audio_bus| will be deleted. 113 // Do nothing as |audio_bus| will be deleted.
110 } 114 }
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 } 289 }
286 290
287 void CastRtpStream::Stop() { 291 void CastRtpStream::Stop() {
288 audio_sink_.reset(); 292 audio_sink_.reset();
289 video_sink_.reset(); 293 video_sink_.reset();
290 } 294 }
291 295
292 bool CastRtpStream::IsAudio() const { 296 bool CastRtpStream::IsAudio() const {
293 return track_.source().type() == blink::WebMediaStreamSource::TypeAudio; 297 return track_.source().type() == blink::WebMediaStreamSource::TypeAudio;
294 } 298 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698