Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <iterator> | 6 #include <iterator> |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/containers/hash_tables.h" | 10 #include "base/containers/hash_tables.h" |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 287 "audio/mp4", | 287 "audio/mp4", |
| 288 "audio/x-m4a", | 288 "audio/x-m4a", |
| 289 | 289 |
| 290 // MP3. | 290 // MP3. |
| 291 "audio/mp3", | 291 "audio/mp3", |
| 292 "audio/x-mp3", | 292 "audio/x-mp3", |
| 293 "audio/mpeg", | 293 "audio/mpeg", |
| 294 }; | 294 }; |
| 295 | 295 |
| 296 // List of supported codecs when passed in with <source type="...">. | 296 // List of supported codecs when passed in with <source type="...">. |
| 297 // This set of codecs is supported by all variations of Chromium. | 297 // This set of codecs is supported by all variations of Chromium. |
|
asanka
2013/09/06 19:13:32
This comment is increasingly incorrect.
Tom Finegan
2013/09/06 21:00:48
Agreed. Also, in addition to the accuracy of the c
| |
| 298 // | 298 // |
| 299 // Refer to http://wiki.whatwg.org/wiki/Video_type_parameters#Browser_Support | 299 // Refer to http://wiki.whatwg.org/wiki/Video_type_parameters#Browser_Support |
| 300 // for more information. | 300 // for more information. |
| 301 // | 301 // |
| 302 // The codecs for WAV are integers as defined in Appendix A of RFC2361: | 302 // The codecs for WAV are integers as defined in Appendix A of RFC2361: |
| 303 // http://tools.ietf.org/html/rfc2361 | 303 // http://tools.ietf.org/html/rfc2361 |
| 304 static const char* const common_media_codecs[] = { | 304 static const char* const common_media_codecs[] = { |
| 305 #if !defined(OS_ANDROID) // Android doesn't support Ogg Theora. | 305 #if !defined(OS_ANDROID) // Android doesn't support Ogg Theora. |
| 306 "theora", | 306 "theora", |
| 307 "vp9", // TODO(tomfinegan): Move vp9 back down with vp8 once VP9 is supported | |
| 308 // on Android. https://crbug.com/285016 | |
| 307 #endif | 309 #endif |
| 308 "vorbis", | 310 "vorbis", |
| 309 "vp8", | 311 "vp8", |
| 310 "vp9", | |
| 311 "1" // WAVE_FORMAT_PCM. | 312 "1" // WAVE_FORMAT_PCM. |
| 312 }; | 313 }; |
| 313 | 314 |
| 314 // List of proprietary codecs only supported by Google Chrome. | 315 // List of proprietary codecs only supported by Google Chrome. |
| 315 static const char* const proprietary_media_codecs[] = { | 316 static const char* const proprietary_media_codecs[] = { |
| 316 "avc1", | 317 "avc1", |
| 317 "mp4a" | 318 "mp4a" |
| 318 }; | 319 }; |
| 319 | 320 |
| 320 // Note: does not include javascript types list (see supported_javascript_types) | 321 // Note: does not include javascript types list (see supported_javascript_types) |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 406 "text/jscript", | 407 "text/jscript", |
| 407 "text/livescript" | 408 "text/livescript" |
| 408 }; | 409 }; |
| 409 | 410 |
| 410 struct MediaFormatStrict { | 411 struct MediaFormatStrict { |
| 411 const char* mime_type; | 412 const char* mime_type; |
| 412 const char* codecs_list; | 413 const char* codecs_list; |
| 413 }; | 414 }; |
| 414 | 415 |
| 415 static const MediaFormatStrict format_codec_mappings[] = { | 416 static const MediaFormatStrict format_codec_mappings[] = { |
| 417 // TODO(tomfinegan): Remove this if/else when VP9 is supported on Android. | |
| 418 // https://crbug.com/285016 | |
| 419 #if !defined(OS_ANDROID) | |
| 416 { "video/webm", "vorbis,vp8,vp8.0,vp9,vp9.0" }, | 420 { "video/webm", "vorbis,vp8,vp8.0,vp9,vp9.0" }, |
| 421 #else | |
| 422 { "video/webm", "vorbis,vp8,vp8.0" }, | |
| 423 #endif | |
| 417 { "audio/webm", "vorbis" }, | 424 { "audio/webm", "vorbis" }, |
| 418 { "audio/wav", "1" } | 425 { "audio/wav", "1" } |
| 419 }; | 426 }; |
| 420 | 427 |
| 421 MimeUtil::MimeUtil() { | 428 MimeUtil::MimeUtil() { |
| 422 InitializeMimeTypeMaps(); | 429 InitializeMimeTypeMaps(); |
| 423 } | 430 } |
| 424 | 431 |
| 425 // static | 432 // static |
| 426 bool MimeUtil::AreSupportedCodecs(const MimeMappings& supported_codecs, | 433 bool MimeUtil::AreSupportedCodecs(const MimeMappings& supported_codecs, |
| (...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 994 post_data->append("\r\n" + value + "\r\n"); | 1001 post_data->append("\r\n" + value + "\r\n"); |
| 995 } | 1002 } |
| 996 | 1003 |
| 997 void AddMultipartFinalDelimiterForUpload(const std::string& mime_boundary, | 1004 void AddMultipartFinalDelimiterForUpload(const std::string& mime_boundary, |
| 998 std::string* post_data) { | 1005 std::string* post_data) { |
| 999 DCHECK(post_data); | 1006 DCHECK(post_data); |
| 1000 post_data->append("--" + mime_boundary + "--\r\n"); | 1007 post_data->append("--" + mime_boundary + "--\r\n"); |
| 1001 } | 1008 } |
| 1002 | 1009 |
| 1003 } // namespace net | 1010 } // namespace net |
| OLD | NEW |