Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(98)

Side by Side Diff: media/mojo/common/media_type_converters.cc

Issue 1786733004: Revert of media config: expand is_encrypted to a struct. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "media/mojo/common/media_type_converters.h" 5 #include "media/mojo/common/media_type_converters.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/numerics/safe_conversions.h" 10 #include "base/numerics/safe_conversions.h"
11 #include "media/base/audio_buffer.h" 11 #include "media/base/audio_buffer.h"
12 #include "media/base/audio_decoder_config.h" 12 #include "media/base/audio_decoder_config.h"
13 #include "media/base/buffering_state.h" 13 #include "media/base/buffering_state.h"
14 #include "media/base/cdm_config.h" 14 #include "media/base/cdm_config.h"
15 #include "media/base/cdm_key_information.h" 15 #include "media/base/cdm_key_information.h"
16 #include "media/base/decoder_buffer.h" 16 #include "media/base/decoder_buffer.h"
17 #include "media/base/decrypt_config.h" 17 #include "media/base/decrypt_config.h"
18 #include "media/base/decryptor.h" 18 #include "media/base/decryptor.h"
19 #include "media/base/demuxer_stream.h" 19 #include "media/base/demuxer_stream.h"
20 #include "media/base/encryption_scheme.h"
21 #include "media/base/media_keys.h" 20 #include "media/base/media_keys.h"
22 #include "media/base/video_decoder_config.h" 21 #include "media/base/video_decoder_config.h"
23 #include "media/base/video_frame.h" 22 #include "media/base/video_frame.h"
24 #include "media/mojo/common/mojo_shared_buffer_video_frame.h" 23 #include "media/mojo/common/mojo_shared_buffer_video_frame.h"
25 #include "media/mojo/interfaces/demuxer_stream.mojom.h" 24 #include "media/mojo/interfaces/demuxer_stream.mojom.h"
26 #include "mojo/converters/geometry/geometry_type_converters.h" 25 #include "mojo/converters/geometry/geometry_type_converters.h"
27 #include "mojo/public/cpp/system/buffer.h" 26 #include "mojo/public/cpp/system/buffer.h"
28 27
29 namespace mojo { 28 namespace mojo {
30 29
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 ASSERT_ENUM_EQ(VideoCodecProfile, , , H264PROFILE_MULTIVIEWHIGH); 214 ASSERT_ENUM_EQ(VideoCodecProfile, , , H264PROFILE_MULTIVIEWHIGH);
216 ASSERT_ENUM_EQ(VideoCodecProfile, , , H264PROFILE_MAX); 215 ASSERT_ENUM_EQ(VideoCodecProfile, , , H264PROFILE_MAX);
217 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP8PROFILE_MIN); 216 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP8PROFILE_MIN);
218 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP8PROFILE_ANY); 217 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP8PROFILE_ANY);
219 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP8PROFILE_MAX); 218 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP8PROFILE_MAX);
220 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP9PROFILE_MIN); 219 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP9PROFILE_MIN);
221 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP9PROFILE_ANY); 220 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP9PROFILE_ANY);
222 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP9PROFILE_MAX); 221 ASSERT_ENUM_EQ(VideoCodecProfile, , , VP9PROFILE_MAX);
223 ASSERT_ENUM_EQ(VideoCodecProfile, , , VIDEO_CODEC_PROFILE_MAX); 222 ASSERT_ENUM_EQ(VideoCodecProfile, , , VIDEO_CODEC_PROFILE_MAX);
224 223
225 // CipherMode
226 ASSERT_ENUM_EQ_RAW(EncryptionScheme::CipherMode,
227 EncryptionScheme::CipherMode::CIPHER_MODE_UNENCRYPTED,
228 CipherMode::UNENCRYPTED);
229 ASSERT_ENUM_EQ_RAW(EncryptionScheme::CipherMode,
230 EncryptionScheme::CipherMode::CIPHER_MODE_AES_CTR,
231 CipherMode::AES_CTR);
232 ASSERT_ENUM_EQ_RAW(EncryptionScheme::CipherMode,
233 EncryptionScheme::CipherMode::CIPHER_MODE_AES_CBC,
234 CipherMode::AES_CBC);
235 ASSERT_ENUM_EQ_RAW(EncryptionScheme::CipherMode,
236 EncryptionScheme::CipherMode::CIPHER_MODE_MAX,
237 CipherMode::MAX);
238
239 // Decryptor Status 224 // Decryptor Status
240 ASSERT_ENUM_EQ_RAW(Decryptor::Status, 225 ASSERT_ENUM_EQ_RAW(Decryptor::Status,
241 Decryptor::kSuccess, 226 Decryptor::kSuccess,
242 Decryptor::Status::SUCCESS); 227 Decryptor::Status::SUCCESS);
243 ASSERT_ENUM_EQ_RAW(Decryptor::Status, 228 ASSERT_ENUM_EQ_RAW(Decryptor::Status,
244 Decryptor::kNoKey, 229 Decryptor::kNoKey,
245 Decryptor::Status::NO_KEY); 230 Decryptor::Status::NO_KEY);
246 ASSERT_ENUM_EQ_RAW(Decryptor::Status, 231 ASSERT_ENUM_EQ_RAW(Decryptor::Status,
247 Decryptor::kNeedMoreData, 232 Decryptor::kNeedMoreData,
248 Decryptor::Status::NEED_MORE_DATA); 233 Decryptor::Status::NEED_MORE_DATA);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 // CDM Message Type 288 // CDM Message Type
304 #define ASSERT_CDM_MESSAGE_TYPE(value) \ 289 #define ASSERT_CDM_MESSAGE_TYPE(value) \
305 static_assert(media::MediaKeys::value == \ 290 static_assert(media::MediaKeys::value == \
306 static_cast<media::MediaKeys::MessageType>( \ 291 static_cast<media::MediaKeys::MessageType>( \
307 media::interfaces::CdmMessageType::value), \ 292 media::interfaces::CdmMessageType::value), \
308 "Mismatched CDM Message Type") 293 "Mismatched CDM Message Type")
309 ASSERT_CDM_MESSAGE_TYPE(LICENSE_REQUEST); 294 ASSERT_CDM_MESSAGE_TYPE(LICENSE_REQUEST);
310 ASSERT_CDM_MESSAGE_TYPE(LICENSE_RENEWAL); 295 ASSERT_CDM_MESSAGE_TYPE(LICENSE_RENEWAL);
311 ASSERT_CDM_MESSAGE_TYPE(LICENSE_RELEASE); 296 ASSERT_CDM_MESSAGE_TYPE(LICENSE_RELEASE);
312 297
313 template <>
314 struct TypeConverter<media::interfaces::PatternPtr,
315 media::EncryptionScheme::Pattern> {
316 static media::interfaces::PatternPtr Convert(
317 const media::EncryptionScheme::Pattern& input);
318 };
319 template <>
320 struct TypeConverter<media::EncryptionScheme::Pattern,
321 media::interfaces::PatternPtr> {
322 static media::EncryptionScheme::Pattern Convert(
323 const media::interfaces::PatternPtr& input);
324 };
325
326 // static
327 media::interfaces::PatternPtr
328 TypeConverter<media::interfaces::PatternPtr, media::EncryptionScheme::Pattern>::
329 Convert(const media::EncryptionScheme::Pattern& input) {
330 media::interfaces::PatternPtr mojo_pattern(media::interfaces::Pattern::New());
331 mojo_pattern->encrypt_blocks = input.encrypt_blocks();
332 mojo_pattern->skip_blocks = input.skip_blocks();
333 return mojo_pattern;
334 }
335
336 // static
337 media::EncryptionScheme::Pattern
338 TypeConverter<media::EncryptionScheme::Pattern, media::interfaces::PatternPtr>::
339 Convert(const media::interfaces::PatternPtr& input) {
340 return media::EncryptionScheme::Pattern(input->encrypt_blocks,
341 input->skip_blocks);
342 }
343
344 // static
345 media::interfaces::EncryptionSchemePtr TypeConverter<
346 media::interfaces::EncryptionSchemePtr,
347 media::EncryptionScheme>::Convert(const media::EncryptionScheme& input) {
348 media::interfaces::EncryptionSchemePtr mojo_encryption_scheme(
349 media::interfaces::EncryptionScheme::New());
350 mojo_encryption_scheme->mode =
351 static_cast<media::interfaces::CipherMode>(input.mode());
352 mojo_encryption_scheme->pattern =
353 media::interfaces::Pattern::From(input.pattern());
354 return mojo_encryption_scheme;
355 }
356
357 // static
358 media::EncryptionScheme
359 TypeConverter<media::EncryptionScheme, media::interfaces::EncryptionSchemePtr>::
360 Convert(const media::interfaces::EncryptionSchemePtr& input) {
361 return media::EncryptionScheme(
362 static_cast<media::EncryptionScheme::CipherMode>(input->mode),
363 input->pattern.To<media::EncryptionScheme::Pattern>());
364 }
365
366 // static 298 // static
367 media::interfaces::SubsampleEntryPtr TypeConverter< 299 media::interfaces::SubsampleEntryPtr TypeConverter<
368 media::interfaces::SubsampleEntryPtr, 300 media::interfaces::SubsampleEntryPtr,
369 media::SubsampleEntry>::Convert(const media::SubsampleEntry& input) { 301 media::SubsampleEntry>::Convert(const media::SubsampleEntry& input) {
370 media::interfaces::SubsampleEntryPtr mojo_subsample_entry( 302 media::interfaces::SubsampleEntryPtr mojo_subsample_entry(
371 media::interfaces::SubsampleEntry::New()); 303 media::interfaces::SubsampleEntry::New());
372 mojo_subsample_entry->clear_bytes = input.clear_bytes; 304 mojo_subsample_entry->clear_bytes = input.clear_bytes;
373 mojo_subsample_entry->cypher_bytes = input.cypher_bytes; 305 mojo_subsample_entry->cypher_bytes = input.cypher_bytes;
374 return mojo_subsample_entry; 306 return mojo_subsample_entry;
375 } 307 }
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 config->sample_format = 428 config->sample_format =
497 static_cast<media::interfaces::SampleFormat>(input.sample_format()); 429 static_cast<media::interfaces::SampleFormat>(input.sample_format());
498 config->channel_layout = 430 config->channel_layout =
499 static_cast<media::interfaces::ChannelLayout>(input.channel_layout()); 431 static_cast<media::interfaces::ChannelLayout>(input.channel_layout());
500 config->samples_per_second = input.samples_per_second(); 432 config->samples_per_second = input.samples_per_second();
501 if (!input.extra_data().empty()) { 433 if (!input.extra_data().empty()) {
502 config->extra_data = mojo::Array<uint8_t>::From(input.extra_data()); 434 config->extra_data = mojo::Array<uint8_t>::From(input.extra_data());
503 } 435 }
504 config->seek_preroll_usec = input.seek_preroll().InMicroseconds(); 436 config->seek_preroll_usec = input.seek_preroll().InMicroseconds();
505 config->codec_delay = input.codec_delay(); 437 config->codec_delay = input.codec_delay();
506 config->encryption_scheme = 438 config->is_encrypted = input.is_encrypted();
507 media::interfaces::EncryptionScheme::From(input.encryption_scheme());
508 return config; 439 return config;
509 } 440 }
510 441
511 // static 442 // static
512 media::AudioDecoderConfig 443 media::AudioDecoderConfig
513 TypeConverter<media::AudioDecoderConfig, 444 TypeConverter<media::AudioDecoderConfig,
514 media::interfaces::AudioDecoderConfigPtr>:: 445 media::interfaces::AudioDecoderConfigPtr>::
515 Convert(const media::interfaces::AudioDecoderConfigPtr& input) { 446 Convert(const media::interfaces::AudioDecoderConfigPtr& input) {
516 media::AudioDecoderConfig config; 447 media::AudioDecoderConfig config;
517 config.Initialize(static_cast<media::AudioCodec>(input->codec), 448 config.Initialize(static_cast<media::AudioCodec>(input->codec),
518 static_cast<media::SampleFormat>(input->sample_format), 449 static_cast<media::SampleFormat>(input->sample_format),
519 static_cast<media::ChannelLayout>(input->channel_layout), 450 static_cast<media::ChannelLayout>(input->channel_layout),
520 input->samples_per_second, input->extra_data.storage(), 451 input->samples_per_second, input->extra_data.storage(),
521 input->encryption_scheme.To<media::EncryptionScheme>(), 452 input->is_encrypted,
522 base::TimeDelta::FromMicroseconds(input->seek_preroll_usec), 453 base::TimeDelta::FromMicroseconds(input->seek_preroll_usec),
523 input->codec_delay); 454 input->codec_delay);
524 return config; 455 return config;
525 } 456 }
526 457
527 // static 458 // static
528 media::interfaces::VideoDecoderConfigPtr TypeConverter< 459 media::interfaces::VideoDecoderConfigPtr TypeConverter<
529 media::interfaces::VideoDecoderConfigPtr, 460 media::interfaces::VideoDecoderConfigPtr,
530 media::VideoDecoderConfig>::Convert(const media::VideoDecoderConfig& 461 media::VideoDecoderConfig>::Convert(const media::VideoDecoderConfig&
531 input) { 462 input) {
532 media::interfaces::VideoDecoderConfigPtr config( 463 media::interfaces::VideoDecoderConfigPtr config(
533 media::interfaces::VideoDecoderConfig::New()); 464 media::interfaces::VideoDecoderConfig::New());
534 config->codec = static_cast<media::interfaces::VideoCodec>(input.codec()); 465 config->codec = static_cast<media::interfaces::VideoCodec>(input.codec());
535 config->profile = 466 config->profile =
536 static_cast<media::interfaces::VideoCodecProfile>(input.profile()); 467 static_cast<media::interfaces::VideoCodecProfile>(input.profile());
537 config->format = static_cast<media::interfaces::VideoFormat>(input.format()); 468 config->format = static_cast<media::interfaces::VideoFormat>(input.format());
538 config->color_space = 469 config->color_space =
539 static_cast<media::interfaces::ColorSpace>(input.color_space()); 470 static_cast<media::interfaces::ColorSpace>(input.color_space());
540 config->coded_size = Size::From(input.coded_size()); 471 config->coded_size = Size::From(input.coded_size());
541 config->visible_rect = Rect::From(input.visible_rect()); 472 config->visible_rect = Rect::From(input.visible_rect());
542 config->natural_size = Size::From(input.natural_size()); 473 config->natural_size = Size::From(input.natural_size());
543 if (!input.extra_data().empty()) { 474 if (!input.extra_data().empty()) {
544 config->extra_data = mojo::Array<uint8_t>::From(input.extra_data()); 475 config->extra_data = mojo::Array<uint8_t>::From(input.extra_data());
545 } 476 }
546 config->encryption_scheme = 477 config->is_encrypted = input.is_encrypted();
547 media::interfaces::EncryptionScheme::From(input.encryption_scheme());
548 return config; 478 return config;
549 } 479 }
550 480
551 // static 481 // static
552 media::VideoDecoderConfig 482 media::VideoDecoderConfig
553 TypeConverter<media::VideoDecoderConfig, 483 TypeConverter<media::VideoDecoderConfig,
554 media::interfaces::VideoDecoderConfigPtr>:: 484 media::interfaces::VideoDecoderConfigPtr>::
555 Convert(const media::interfaces::VideoDecoderConfigPtr& input) { 485 Convert(const media::interfaces::VideoDecoderConfigPtr& input) {
556 media::VideoDecoderConfig config; 486 media::VideoDecoderConfig config;
557 config.Initialize( 487 config.Initialize(static_cast<media::VideoCodec>(input->codec),
558 static_cast<media::VideoCodec>(input->codec), 488 static_cast<media::VideoCodecProfile>(input->profile),
559 static_cast<media::VideoCodecProfile>(input->profile), 489 static_cast<media::VideoPixelFormat>(input->format),
560 static_cast<media::VideoPixelFormat>(input->format), 490 static_cast<media::ColorSpace>(input->color_space),
561 static_cast<media::ColorSpace>(input->color_space), 491 input->coded_size.To<gfx::Size>(),
562 input->coded_size.To<gfx::Size>(), input->visible_rect.To<gfx::Rect>(), 492 input->visible_rect.To<gfx::Rect>(),
563 input->natural_size.To<gfx::Size>(), input->extra_data.storage(), 493 input->natural_size.To<gfx::Size>(),
564 input->encryption_scheme.To<media::EncryptionScheme>()); 494 input->extra_data.storage(), input->is_encrypted);
565 return config; 495 return config;
566 } 496 }
567 497
568 // static 498 // static
569 media::interfaces::CdmKeyInformationPtr TypeConverter< 499 media::interfaces::CdmKeyInformationPtr TypeConverter<
570 media::interfaces::CdmKeyInformationPtr, 500 media::interfaces::CdmKeyInformationPtr,
571 media::CdmKeyInformation>::Convert(const media::CdmKeyInformation& input) { 501 media::CdmKeyInformation>::Convert(const media::CdmKeyInformation& input) {
572 media::interfaces::CdmKeyInformationPtr info( 502 media::interfaces::CdmKeyInformationPtr info(
573 media::interfaces::CdmKeyInformation::New()); 503 media::interfaces::CdmKeyInformation::New());
574 std::vector<uint8_t> key_id_copy(input.key_id); 504 std::vector<uint8_t> key_id_copy(input.key_id);
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 input->natural_size.To<gfx::Size>(), std::move(input->frame_data), 645 input->natural_size.To<gfx::Size>(), std::move(input->frame_data),
716 base::saturated_cast<size_t>(input->frame_data_size), 646 base::saturated_cast<size_t>(input->frame_data_size),
717 base::saturated_cast<size_t>(input->y_offset), 647 base::saturated_cast<size_t>(input->y_offset),
718 base::saturated_cast<size_t>(input->u_offset), 648 base::saturated_cast<size_t>(input->u_offset),
719 base::saturated_cast<size_t>(input->v_offset), input->y_stride, 649 base::saturated_cast<size_t>(input->v_offset), input->y_stride,
720 input->u_stride, input->v_stride, 650 input->u_stride, input->v_stride,
721 base::TimeDelta::FromMicroseconds(input->timestamp_usec)); 651 base::TimeDelta::FromMicroseconds(input->timestamp_usec));
722 } 652 }
723 653
724 } // namespace mojo 654 } // namespace mojo
OLDNEW
« no previous file with comments | « media/mojo/common/media_type_converters.h ('k') | media/mojo/common/media_type_converters_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698