Chromium Code Reviews| Index: chrome/renderer/extensions/cast_streaming_native_handler.cc |
| diff --git a/chrome/renderer/extensions/cast_streaming_native_handler.cc b/chrome/renderer/extensions/cast_streaming_native_handler.cc |
| index c03f63fc5607ae012e854405569efef0f9a5d0d0..51a1f935e5f3d3a3bffe1ee34e8ce860db65a029 100644 |
| --- a/chrome/renderer/extensions/cast_streaming_native_handler.cc |
| +++ b/chrome/renderer/extensions/cast_streaming_native_handler.cc |
| @@ -96,7 +96,11 @@ bool HexDecode(const std::string& input, std::string* output) { |
| bool ToCastRtpPayloadParamsOrThrow(v8::Isolate* isolate, |
| const RtpPayloadParams& ext_params, |
| CastRtpPayloadParams* cast_params) { |
| - cast_params->payload_type = ext_params.payload_type; |
| + DCHECK_GE(ext_params.payload_type, media::cast::RTP_PAYLOAD_AUDIO_OPUS); |
|
miu
2016/06/20 21:00:27
The process shouldn't crash on invalid inputs. Ins
xjz
2016/06/21 17:24:31
Ignored |ext_params.payload_type| and set the |cas
|
| + DCHECK_LE(ext_params.payload_type, media::cast::RTP_PAYLOAD_VIDEO_LAST); |
| + cast_params->payload_type = |
| + static_cast<media::cast::RtpPayloadType>(ext_params.payload_type); |
| + |
| cast_params->max_latency_ms = ext_params.max_latency; |
| cast_params->min_latency_ms = |
| ext_params.min_latency ? *ext_params.min_latency : ext_params.max_latency; |
| @@ -676,23 +680,23 @@ bool CastStreamingNativeHandler::FrameReceiverConfigFromArg( |
| if (params->codec_name == "OPUS") { |
| config->codec = media::cast::CODEC_AUDIO_OPUS; |
| config->rtp_timebase = 48000; |
| - config->rtp_payload_type = media::cast::kDefaultRtpAudioPayloadType; |
| + config->rtp_payload_type = media::cast::RTP_PAYLOAD_AUDIO_OPUS; |
| } else if (params->codec_name == "PCM16") { |
| config->codec = media::cast::CODEC_AUDIO_PCM16; |
| config->rtp_timebase = 48000; |
| - config->rtp_payload_type = media::cast::kDefaultRtpAudioPayloadType; |
| + config->rtp_payload_type = media::cast::RTP_PAYLOAD_AUDIO_PCM16; |
| } else if (params->codec_name == "AAC") { |
| config->codec = media::cast::CODEC_AUDIO_AAC; |
| config->rtp_timebase = 48000; |
| - config->rtp_payload_type = media::cast::kDefaultRtpAudioPayloadType; |
| + config->rtp_payload_type = media::cast::RTP_PAYLOAD_AUDIO_AAC; |
| } else if (params->codec_name == "VP8") { |
| config->codec = media::cast::CODEC_VIDEO_VP8; |
| config->rtp_timebase = 90000; |
| - config->rtp_payload_type = media::cast::kDefaultRtpVideoPayloadType; |
| + config->rtp_payload_type = media::cast::RTP_PAYLOAD_VIDEO_VP8; |
| } else if (params->codec_name == "H264") { |
| config->codec = media::cast::CODEC_VIDEO_H264; |
| config->rtp_timebase = 90000; |
| - config->rtp_payload_type = media::cast::kDefaultRtpVideoPayloadType; |
| + config->rtp_payload_type = media::cast::RTP_PAYLOAD_VIDEO_H264; |
| } |
| if (params->rtp_timebase) { |
| config->rtp_timebase = *params->rtp_timebase; |