summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjchuang <jchuang@chromium.org>2015-04-08 21:44:04 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-09 04:45:29 +0000
commit2da6f193662ce92fe80641b2ec595aa822d939e9 (patch)
treee437f08e4913669e17b46f663387efd36013208d
parent278f5c291e4cb4dfa92ca2426a4b7ba9568043fe (diff)
downloadchromium_src-2da6f193662ce92fe80641b2ec595aa822d939e9.zip
chromium_src-2da6f193662ce92fe80641b2ec595aa822d939e9.tar.gz
chromium_src-2da6f193662ce92fe80641b2ec595aa822d939e9.tar.bz2
Cast: Prefer VP8 over H.264 for hardware encoder
BUG=469409 TEST=Test on Nyan, which has both H.264 and VP8 HW encoder. It should choose VP8 instead of H.264. Review URL: https://codereview.chromium.org/1034433002 Cr-Commit-Position: refs/heads/master@{#324374}
-rw-r--r--chrome/renderer/media/cast_rtp_stream.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/chrome/renderer/media/cast_rtp_stream.cc b/chrome/renderer/media/cast_rtp_stream.cc
index 7c40523..bbe675a 100644
--- a/chrome/renderer/media/cast_rtp_stream.cc
+++ b/chrome/renderer/media/cast_rtp_stream.cc
@@ -151,9 +151,18 @@ std::vector<CastRtpParams> SupportedAudioParams() {
std::vector<CastRtpParams> SupportedVideoParams() {
std::vector<CastRtpParams> supported_params;
+
+ // Prefer VP8 over H.264 for hardware encoder.
+ if (IsHardwareVP8EncodingSupported())
+ supported_params.push_back(CastRtpParams(DefaultVp8Payload()));
if (IsHardwareH264EncodingSupported())
supported_params.push_back(CastRtpParams(DefaultH264Payload()));
- supported_params.push_back(CastRtpParams(DefaultVp8Payload()));
+
+ // Propose the default software VP8 encoder, if no hardware encoders are
+ // available.
+ if (supported_params.empty())
+ supported_params.push_back(CastRtpParams(DefaultVp8Payload()));
+
return supported_params;
}