Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 115 const char kScreencastMinBitrate[] = "googScreencastMinBitrate"; | 115 const char kScreencastMinBitrate[] = "googScreencastMinBitrate"; |
| 116 const char kCpuOveruseDetection[] = "googCpuOveruseDetection"; | 116 const char kCpuOveruseDetection[] = "googCpuOveruseDetection"; |
| 117 const char kCpuUnderuseThreshold[] = "googCpuUnderuseThreshold"; | 117 const char kCpuUnderuseThreshold[] = "googCpuUnderuseThreshold"; |
| 118 const char kCpuOveruseThreshold[] = "googCpuOveruseThreshold"; | 118 const char kCpuOveruseThreshold[] = "googCpuOveruseThreshold"; |
| 119 const char kCpuUnderuseEncodeRsdThreshold[] = "googCpuUnderuseEncodeRsdThreshold "; | 119 const char kCpuUnderuseEncodeRsdThreshold[] = "googCpuUnderuseEncodeRsdThreshold "; |
| 120 const char kCpuOveruseEncodeRsdThreshold[] = "googCpuOveruseEncodeRsdThreshold"; | 120 const char kCpuOveruseEncodeRsdThreshold[] = "googCpuOveruseEncodeRsdThreshold"; |
| 121 const char kCpuOveruseEncodeUsage[] = "googCpuOveruseEncodeUsage"; | 121 const char kCpuOveruseEncodeUsage[] = "googCpuOveruseEncodeUsage"; |
| 122 const char kHighStartBitrate[] = "googHighStartBitrate"; | 122 const char kHighStartBitrate[] = "googHighStartBitrate"; |
| 123 const char kPayloadPadding[] = "googPayloadPadding"; | 123 const char kPayloadPadding[] = "googPayloadPadding"; |
| 124 // End of names from libjingle | 124 // End of names from libjingle |
| 125 // Names that have been used in the past, but should now be ignored. | |
| 126 // Kept around for backwards compatibility. | |
| 127 // https://crbug.com/579729 | |
| 128 const char kGoogLeakyBucket[] = "googLeakyBucket"; | |
| 129 const char kEnableAutoThrottling[] = "enableAutoThrottling"; | |
| 125 | 130 |
| 126 // Names used for testing. | 131 // Names used for testing. |
| 127 const char kTestConstraint1[] = "valid_and_supported_1"; | 132 const char kTestConstraint1[] = "valid_and_supported_1"; |
| 128 const char kTestConstraint2[] = "valid_and_supported_2"; | 133 const char kTestConstraint2[] = "valid_and_supported_2"; |
| 129 | 134 |
| 130 static bool parseMandatoryConstraintsDictionary(const Dictionary& mandatoryConst raintsDictionary, WebVector<WebMediaConstraint>& mandatory) | 135 static bool parseMandatoryConstraintsDictionary(const Dictionary& mandatoryConst raintsDictionary, WebVector<WebMediaConstraint>& mandatory) |
| 131 { | 136 { |
| 132 Vector<WebMediaConstraint> mandatoryConstraintsVector; | 137 Vector<WebMediaConstraint> mandatoryConstraintsVector; |
| 133 HashMap<String, String> mandatoryConstraintsHashMap; | 138 HashMap<String, String> mandatoryConstraintsHashMap; |
| 134 bool ok = mandatoryConstraintsDictionary.getOwnPropertiesAsStringHashMap(man datoryConstraintsHashMap); | 139 bool ok = mandatoryConstraintsDictionary.getOwnPropertiesAsStringHashMap(man datoryConstraintsHashMap); |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 345 } else if (constraint.m_name.equals(kCpuUnderuseEncodeRsdThreshold)) { | 350 } else if (constraint.m_name.equals(kCpuUnderuseEncodeRsdThreshold)) { |
| 346 result.googCpuUnderuseEncodeRsdThreshold.setExact(atoi(constraint.m_ value.utf8().c_str())); | 351 result.googCpuUnderuseEncodeRsdThreshold.setExact(atoi(constraint.m_ value.utf8().c_str())); |
| 347 } else if (constraint.m_name.equals(kCpuOveruseEncodeRsdThreshold)) { | 352 } else if (constraint.m_name.equals(kCpuOveruseEncodeRsdThreshold)) { |
| 348 result.googCpuOveruseEncodeRsdThreshold.setExact(atoi(constraint.m_v alue.utf8().c_str())); | 353 result.googCpuOveruseEncodeRsdThreshold.setExact(atoi(constraint.m_v alue.utf8().c_str())); |
| 349 } else if (constraint.m_name.equals(kCpuOveruseEncodeUsage)) { | 354 } else if (constraint.m_name.equals(kCpuOveruseEncodeUsage)) { |
| 350 result.googCpuOveruseEncodeUsage.setExact(toBoolean(constraint.m_val ue)); | 355 result.googCpuOveruseEncodeUsage.setExact(toBoolean(constraint.m_val ue)); |
| 351 } else if (constraint.m_name.equals(kHighStartBitrate)) { | 356 } else if (constraint.m_name.equals(kHighStartBitrate)) { |
| 352 result.googHighStartBitrate.setExact(atoi(constraint.m_value.utf8(). c_str())); | 357 result.googHighStartBitrate.setExact(atoi(constraint.m_value.utf8(). c_str())); |
| 353 } else if (constraint.m_name.equals(kPayloadPadding)) { | 358 } else if (constraint.m_name.equals(kPayloadPadding)) { |
| 354 result.googPayloadPadding.setExact(toBoolean(constraint.m_value)); | 359 result.googPayloadPadding.setExact(toBoolean(constraint.m_value)); |
| 360 } else if (constraint.m_name.equals(kGoogLeakyBucket) | |
| 361 || constraint.m_name.equals(kEnableAutoThrottling)) { | |
| 362 WTF_LOG(Media, "Obsolete constraint %s passed", constraint.m_name.ut f8().c_str()); | |
|
jochen (gone - plz use gerrit)
2016/01/28 08:54:37
is it reasonable to log something to the console (
| |
| 355 } else if (constraint.m_name.equals(kTestConstraint1) | 363 } else if (constraint.m_name.equals(kTestConstraint1) |
| 356 || constraint.m_name.equals(kTestConstraint2)) { | 364 || constraint.m_name.equals(kTestConstraint2)) { |
| 357 // These constraints are only for testing parsing. | 365 // These constraints are only for testing parsing. |
| 358 // Values 0 and 1 are legal, all others are a ConstraintError. | 366 // Values 0 and 1 are legal, all others are a ConstraintError. |
| 359 if (!constraint.m_value.equals("0") && !constraint.m_value.equals("1 ")) | 367 if (!constraint.m_value.equals("0") && !constraint.m_value.equals("1 ")) |
| 360 errorState.throwConstraintError("Illegal value for constraint", constraint.m_name); | 368 errorState.throwConstraintError("Illegal value for constraint", constraint.m_name); |
| 361 } else { | 369 } else { |
| 362 // TODO(hta): UMA stats for unknown constraints passed. | 370 // TODO(hta): UMA stats for unknown constraints passed. |
| 363 // https://crbug.com/576613 | 371 // https://crbug.com/576613 |
| 364 WTF_LOG(Media, "Unknown constraint name detected"); | 372 WTF_LOG(Media, "Unknown constraint name detected"); |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 518 | 526 |
| 519 WebMediaConstraints create() | 527 WebMediaConstraints create() |
| 520 { | 528 { |
| 521 WebMediaConstraints constraints; | 529 WebMediaConstraints constraints; |
| 522 constraints.initialize(); | 530 constraints.initialize(); |
| 523 return constraints; | 531 return constraints; |
| 524 } | 532 } |
| 525 | 533 |
| 526 } // namespace MediaConstraintsImpl | 534 } // namespace MediaConstraintsImpl |
| 527 } // namespace blink | 535 } // namespace blink |
| OLD | NEW |