| OLD | NEW |
| 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 <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 // The maximum number of milliseconds that should elapse since the last video | 59 // The maximum number of milliseconds that should elapse since the last video |
| 60 // frame was received from the video source, before requesting refresh frames. | 60 // frame was received from the video source, before requesting refresh frames. |
| 61 const int kRefreshIntervalMilliseconds = 250; | 61 const int kRefreshIntervalMilliseconds = 250; |
| 62 | 62 |
| 63 // The maximum number of refresh video frames to request/receive. After this | 63 // The maximum number of refresh video frames to request/receive. After this |
| 64 // limit (60 * 250ms = 15 seconds), refresh frame requests will stop being made. | 64 // limit (60 * 250ms = 15 seconds), refresh frame requests will stop being made. |
| 65 const int kMaxConsecutiveRefreshFrames = 60; | 65 const int kMaxConsecutiveRefreshFrames = 60; |
| 66 | 66 |
| 67 CastRtpPayloadParams DefaultOpusPayload() { | 67 CastRtpPayloadParams DefaultOpusPayload() { |
| 68 CastRtpPayloadParams payload; | 68 CastRtpPayloadParams payload; |
| 69 payload.payload_type = media::cast::kDefaultRtpAudioPayloadType; | 69 payload.payload_type = media::cast::RtpPayloadType::AUDIO_OPUS; |
| 70 payload.max_latency_ms = media::cast::kDefaultRtpMaxDelayMs; | 70 payload.max_latency_ms = media::cast::kDefaultRtpMaxDelayMs; |
| 71 payload.ssrc = 1; | 71 payload.ssrc = 1; |
| 72 payload.feedback_ssrc = 2; | 72 payload.feedback_ssrc = 2; |
| 73 payload.clock_rate = media::cast::kDefaultAudioSamplingRate; | 73 payload.clock_rate = media::cast::kDefaultAudioSamplingRate; |
| 74 // The value is 0 which means VBR. | 74 // The value is 0 which means VBR. |
| 75 payload.min_bitrate = payload.max_bitrate = | 75 payload.min_bitrate = payload.max_bitrate = |
| 76 media::cast::kDefaultAudioEncoderBitrate; | 76 media::cast::kDefaultAudioEncoderBitrate; |
| 77 payload.channels = 2; | 77 payload.channels = 2; |
| 78 payload.max_frame_rate = 100; // 10 ms audio frames | 78 payload.max_frame_rate = 100; // 10 ms audio frames |
| 79 payload.codec_name = kCodecNameOpus; | 79 payload.codec_name = kCodecNameOpus; |
| 80 return payload; | 80 return payload; |
| 81 } | 81 } |
| 82 | 82 |
| 83 CastRtpPayloadParams DefaultVp8Payload() { | 83 CastRtpPayloadParams DefaultVp8Payload() { |
| 84 CastRtpPayloadParams payload; | 84 CastRtpPayloadParams payload; |
| 85 payload.payload_type = media::cast::kDefaultRtpVideoPayloadType; | 85 payload.payload_type = media::cast::RtpPayloadType::VIDEO_VP8; |
| 86 payload.max_latency_ms = media::cast::kDefaultRtpMaxDelayMs; | 86 payload.max_latency_ms = media::cast::kDefaultRtpMaxDelayMs; |
| 87 payload.ssrc = 11; | 87 payload.ssrc = 11; |
| 88 payload.feedback_ssrc = 12; | 88 payload.feedback_ssrc = 12; |
| 89 payload.clock_rate = media::cast::kVideoFrequency; | 89 payload.clock_rate = media::cast::kVideoFrequency; |
| 90 payload.max_bitrate = media::cast::kDefaultMaxVideoKbps; | 90 payload.max_bitrate = media::cast::kDefaultMaxVideoKbps; |
| 91 payload.min_bitrate = media::cast::kDefaultMinVideoKbps; | 91 payload.min_bitrate = media::cast::kDefaultMinVideoKbps; |
| 92 payload.channels = 1; | 92 payload.channels = 1; |
| 93 payload.max_frame_rate = media::cast::kDefaultMaxFrameRate; | 93 payload.max_frame_rate = media::cast::kDefaultMaxFrameRate; |
| 94 payload.codec_name = kCodecNameVp8; | 94 payload.codec_name = kCodecNameVp8; |
| 95 return payload; | 95 return payload; |
| 96 } | 96 } |
| 97 | 97 |
| 98 CastRtpPayloadParams DefaultH264Payload() { | 98 CastRtpPayloadParams DefaultH264Payload() { |
| 99 CastRtpPayloadParams payload; | 99 CastRtpPayloadParams payload; |
| 100 payload.payload_type = 96; | 100 payload.payload_type = media::cast::RtpPayloadType::VIDEO_H264; |
| 101 payload.max_latency_ms = media::cast::kDefaultRtpMaxDelayMs; | 101 payload.max_latency_ms = media::cast::kDefaultRtpMaxDelayMs; |
| 102 payload.ssrc = 11; | 102 payload.ssrc = 11; |
| 103 payload.feedback_ssrc = 12; | 103 payload.feedback_ssrc = 12; |
| 104 payload.clock_rate = media::cast::kVideoFrequency; | 104 payload.clock_rate = media::cast::kVideoFrequency; |
| 105 payload.max_bitrate = media::cast::kDefaultMaxVideoKbps; | 105 payload.max_bitrate = media::cast::kDefaultMaxVideoKbps; |
| 106 payload.min_bitrate = media::cast::kDefaultMinVideoKbps; | 106 payload.min_bitrate = media::cast::kDefaultMinVideoKbps; |
| 107 payload.channels = 1; | 107 payload.channels = 1; |
| 108 payload.max_frame_rate = media::cast::kDefaultMaxFrameRate; | 108 payload.max_frame_rate = media::cast::kDefaultMaxFrameRate; |
| 109 payload.codec_name = kCodecNameH264; | 109 payload.codec_name = kCodecNameH264; |
| 110 return payload; | 110 return payload; |
| (...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 596 }; | 596 }; |
| 597 | 597 |
| 598 CastRtpParams::CastRtpParams(const CastRtpPayloadParams& payload_params) | 598 CastRtpParams::CastRtpParams(const CastRtpPayloadParams& payload_params) |
| 599 : payload(payload_params) {} | 599 : payload(payload_params) {} |
| 600 | 600 |
| 601 CastCodecSpecificParams::CastCodecSpecificParams() {} | 601 CastCodecSpecificParams::CastCodecSpecificParams() {} |
| 602 | 602 |
| 603 CastCodecSpecificParams::~CastCodecSpecificParams() {} | 603 CastCodecSpecificParams::~CastCodecSpecificParams() {} |
| 604 | 604 |
| 605 CastRtpPayloadParams::CastRtpPayloadParams() | 605 CastRtpPayloadParams::CastRtpPayloadParams() |
| 606 : payload_type(0), | 606 : payload_type(media::cast::RtpPayloadType::UNKNOWN), |
| 607 max_latency_ms(0), | 607 max_latency_ms(0), |
| 608 min_latency_ms(0), | 608 min_latency_ms(0), |
| 609 ssrc(0), | 609 ssrc(0), |
| 610 feedback_ssrc(0), | 610 feedback_ssrc(0), |
| 611 clock_rate(0), | 611 clock_rate(0), |
| 612 max_bitrate(0), | 612 max_bitrate(0), |
| 613 min_bitrate(0), | 613 min_bitrate(0), |
| 614 channels(0), | 614 channels(0), |
| 615 max_frame_rate(0.0) { | 615 max_frame_rate(0.0) {} |
| 616 } | |
| 617 | 616 |
| 618 CastRtpPayloadParams::CastRtpPayloadParams(const CastRtpPayloadParams& other) = | 617 CastRtpPayloadParams::CastRtpPayloadParams(const CastRtpPayloadParams& other) = |
| 619 default; | 618 default; |
| 620 | 619 |
| 621 CastRtpPayloadParams::~CastRtpPayloadParams() {} | 620 CastRtpPayloadParams::~CastRtpPayloadParams() {} |
| 622 | 621 |
| 623 CastRtpParams::CastRtpParams() {} | 622 CastRtpParams::CastRtpParams() {} |
| 624 | 623 |
| 625 CastRtpParams::CastRtpParams(const CastRtpParams& other) = default; | 624 CastRtpParams::CastRtpParams(const CastRtpParams& other) = default; |
| 626 | 625 |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 735 DCHECK(content::RenderThread::Get()); | 734 DCHECK(content::RenderThread::Get()); |
| 736 DVLOG(1) << "CastRtpStream::DidEncounterError(" << message << ") = " | 735 DVLOG(1) << "CastRtpStream::DidEncounterError(" << message << ") = " |
| 737 << (IsAudio() ? "audio" : "video"); | 736 << (IsAudio() ? "audio" : "video"); |
| 738 // Save the WeakPtr first because the error callback might delete this object. | 737 // Save the WeakPtr first because the error callback might delete this object. |
| 739 base::WeakPtr<CastRtpStream> ptr = weak_factory_.GetWeakPtr(); | 738 base::WeakPtr<CastRtpStream> ptr = weak_factory_.GetWeakPtr(); |
| 740 error_callback_.Run(message); | 739 error_callback_.Run(message); |
| 741 base::ThreadTaskRunnerHandle::Get()->PostTask( | 740 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 742 FROM_HERE, | 741 FROM_HERE, |
| 743 base::Bind(&CastRtpStream::Stop, ptr)); | 742 base::Bind(&CastRtpStream::Stop, ptr)); |
| 744 } | 743 } |
| OLD | NEW |