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

Side by Side Diff: media/cdm/cdm_adapter.cc

Issue 2161193003: Use __func__ instead of __FUNCTION__. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Resync Created 4 years, 4 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
« no previous file with comments | « media/capture/video/win/sink_input_pin_win.cc ('k') | media/ffmpeg/ffmpeg_common.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/cdm/cdm_adapter.h" 5 #include "media/cdm/cdm_adapter.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 DCHECK(task_runner_->BelongsToCurrentThread()); 544 DCHECK(task_runner_->BelongsToCurrentThread());
545 545
546 cdm::InputBuffer input_buffer; 546 cdm::InputBuffer input_buffer;
547 std::vector<cdm::SubsampleEntry> subsamples; 547 std::vector<cdm::SubsampleEntry> subsamples;
548 std::unique_ptr<DecryptedBlockImpl> decrypted_block(new DecryptedBlockImpl()); 548 std::unique_ptr<DecryptedBlockImpl> decrypted_block(new DecryptedBlockImpl());
549 549
550 ToCdmInputBuffer(encrypted, &subsamples, &input_buffer); 550 ToCdmInputBuffer(encrypted, &subsamples, &input_buffer);
551 cdm::Status status = cdm_->Decrypt(input_buffer, decrypted_block.get()); 551 cdm::Status status = cdm_->Decrypt(input_buffer, decrypted_block.get());
552 552
553 if (status != cdm::kSuccess) { 553 if (status != cdm::kSuccess) {
554 DVLOG(1) << __FUNCTION__ << " failed with cdm::Error " << status; 554 DVLOG(1) << __func__ << " failed with cdm::Error " << status;
555 decrypt_cb.Run(ToMediaDecryptorStatus(status), nullptr); 555 decrypt_cb.Run(ToMediaDecryptorStatus(status), nullptr);
556 return; 556 return;
557 } 557 }
558 558
559 scoped_refptr<DecoderBuffer> decrypted_buffer( 559 scoped_refptr<DecoderBuffer> decrypted_buffer(
560 DecoderBuffer::CopyFrom(decrypted_block->DecryptedBuffer()->Data(), 560 DecoderBuffer::CopyFrom(decrypted_block->DecryptedBuffer()->Data(),
561 decrypted_block->DecryptedBuffer()->Size())); 561 decrypted_block->DecryptedBuffer()->Size()));
562 decrypted_buffer->set_timestamp( 562 decrypted_buffer->set_timestamp(
563 base::TimeDelta::FromMicroseconds(decrypted_block->Timestamp())); 563 base::TimeDelta::FromMicroseconds(decrypted_block->Timestamp()));
564 decrypt_cb.Run(Decryptor::kSuccess, decrypted_buffer); 564 decrypt_cb.Run(Decryptor::kSuccess, decrypted_buffer);
(...skipping 15 matching lines...) Expand all
580 ChannelLayoutToChannelCount(config.channel_layout()); 580 ChannelLayoutToChannelCount(config.channel_layout());
581 cdm_decoder_config.bits_per_channel = config.bits_per_channel(); 581 cdm_decoder_config.bits_per_channel = config.bits_per_channel();
582 cdm_decoder_config.samples_per_second = config.samples_per_second(); 582 cdm_decoder_config.samples_per_second = config.samples_per_second();
583 cdm_decoder_config.extra_data = 583 cdm_decoder_config.extra_data =
584 const_cast<uint8_t*>(config.extra_data().data()); 584 const_cast<uint8_t*>(config.extra_data().data());
585 cdm_decoder_config.extra_data_size = config.extra_data().size(); 585 cdm_decoder_config.extra_data_size = config.extra_data().size();
586 586
587 cdm::Status status = cdm_->InitializeAudioDecoder(cdm_decoder_config); 587 cdm::Status status = cdm_->InitializeAudioDecoder(cdm_decoder_config);
588 if (status != cdm::kSuccess && status != cdm::kDeferredInitialization) { 588 if (status != cdm::kSuccess && status != cdm::kDeferredInitialization) {
589 // DCHECK(status == cdm::kSessionError); http://crbug.com/570486 589 // DCHECK(status == cdm::kSessionError); http://crbug.com/570486
590 DVLOG(1) << __FUNCTION__ << " failed with cdm::Error " << status; 590 DVLOG(1) << __func__ << " failed with cdm::Error " << status;
591 init_cb.Run(false); 591 init_cb.Run(false);
592 return; 592 return;
593 } 593 }
594 594
595 audio_samples_per_second_ = config.samples_per_second(); 595 audio_samples_per_second_ = config.samples_per_second();
596 audio_channel_layout_ = config.channel_layout(); 596 audio_channel_layout_ = config.channel_layout();
597 597
598 if (status == cdm::kDeferredInitialization) { 598 if (status == cdm::kDeferredInitialization) {
599 DVLOG(1) << "Deferred initialization in " << __FUNCTION__; 599 DVLOG(1) << "Deferred initialization in " << __func__;
600 audio_init_cb_ = init_cb; 600 audio_init_cb_ = init_cb;
601 return; 601 return;
602 } 602 }
603 603
604 init_cb.Run(true); 604 init_cb.Run(true);
605 } 605 }
606 606
607 void CdmAdapter::InitializeVideoDecoder(const VideoDecoderConfig& config, 607 void CdmAdapter::InitializeVideoDecoder(const VideoDecoderConfig& config,
608 const DecoderInitCB& init_cb) { 608 const DecoderInitCB& init_cb) {
609 DCHECK(task_runner_->BelongsToCurrentThread()); 609 DCHECK(task_runner_->BelongsToCurrentThread());
610 DCHECK(video_init_cb_.is_null()); 610 DCHECK(video_init_cb_.is_null());
611 611
612 cdm::VideoDecoderConfig cdm_decoder_config; 612 cdm::VideoDecoderConfig cdm_decoder_config;
613 cdm_decoder_config.codec = ToCdmVideoCodec(config.codec()); 613 cdm_decoder_config.codec = ToCdmVideoCodec(config.codec());
614 cdm_decoder_config.profile = ToCdmVideoCodecProfile(config.profile()); 614 cdm_decoder_config.profile = ToCdmVideoCodecProfile(config.profile());
615 cdm_decoder_config.format = ToCdmVideoFormat(config.format()); 615 cdm_decoder_config.format = ToCdmVideoFormat(config.format());
616 cdm_decoder_config.coded_size.width = config.coded_size().width(); 616 cdm_decoder_config.coded_size.width = config.coded_size().width();
617 cdm_decoder_config.coded_size.height = config.coded_size().height(); 617 cdm_decoder_config.coded_size.height = config.coded_size().height();
618 cdm_decoder_config.extra_data = 618 cdm_decoder_config.extra_data =
619 const_cast<uint8_t*>(config.extra_data().data()); 619 const_cast<uint8_t*>(config.extra_data().data());
620 cdm_decoder_config.extra_data_size = config.extra_data().size(); 620 cdm_decoder_config.extra_data_size = config.extra_data().size();
621 621
622 cdm::Status status = cdm_->InitializeVideoDecoder(cdm_decoder_config); 622 cdm::Status status = cdm_->InitializeVideoDecoder(cdm_decoder_config);
623 if (status != cdm::kSuccess && status != cdm::kDeferredInitialization) { 623 if (status != cdm::kSuccess && status != cdm::kDeferredInitialization) {
624 // DCHECK(status == cdm::kSessionError); http://crbug.com/570486 624 // DCHECK(status == cdm::kSessionError); http://crbug.com/570486
625 DVLOG(1) << __FUNCTION__ << " failed with cdm::Error " << status; 625 DVLOG(1) << __func__ << " failed with cdm::Error " << status;
626 init_cb.Run(false); 626 init_cb.Run(false);
627 return; 627 return;
628 } 628 }
629 629
630 natural_size_ = config.natural_size(); 630 natural_size_ = config.natural_size();
631 631
632 if (status == cdm::kDeferredInitialization) { 632 if (status == cdm::kDeferredInitialization) {
633 DVLOG(1) << "Deferred initialization in " << __FUNCTION__; 633 DVLOG(1) << "Deferred initialization in " << __func__;
634 video_init_cb_ = init_cb; 634 video_init_cb_ = init_cb;
635 return; 635 return;
636 } 636 }
637 637
638 init_cb.Run(true); 638 init_cb.Run(true);
639 } 639 }
640 640
641 void CdmAdapter::DecryptAndDecodeAudio( 641 void CdmAdapter::DecryptAndDecodeAudio(
642 const scoped_refptr<DecoderBuffer>& encrypted, 642 const scoped_refptr<DecoderBuffer>& encrypted,
643 const AudioDecodeCB& audio_decode_cb) { 643 const AudioDecodeCB& audio_decode_cb) {
644 DCHECK(task_runner_->BelongsToCurrentThread()); 644 DCHECK(task_runner_->BelongsToCurrentThread());
645 645
646 cdm::InputBuffer input_buffer; 646 cdm::InputBuffer input_buffer;
647 std::vector<cdm::SubsampleEntry> subsamples; 647 std::vector<cdm::SubsampleEntry> subsamples;
648 std::unique_ptr<AudioFramesImpl> audio_frames(new AudioFramesImpl()); 648 std::unique_ptr<AudioFramesImpl> audio_frames(new AudioFramesImpl());
649 649
650 ToCdmInputBuffer(encrypted, &subsamples, &input_buffer); 650 ToCdmInputBuffer(encrypted, &subsamples, &input_buffer);
651 cdm::Status status = 651 cdm::Status status =
652 cdm_->DecryptAndDecodeSamples(input_buffer, audio_frames.get()); 652 cdm_->DecryptAndDecodeSamples(input_buffer, audio_frames.get());
653 653
654 const Decryptor::AudioFrames empty_frames; 654 const Decryptor::AudioFrames empty_frames;
655 if (status != cdm::kSuccess) { 655 if (status != cdm::kSuccess) {
656 DVLOG(1) << __FUNCTION__ << " failed with cdm::Error " << status; 656 DVLOG(1) << __func__ << " failed with cdm::Error " << status;
657 audio_decode_cb.Run(ToMediaDecryptorStatus(status), empty_frames); 657 audio_decode_cb.Run(ToMediaDecryptorStatus(status), empty_frames);
658 return; 658 return;
659 } 659 }
660 660
661 Decryptor::AudioFrames audio_frame_list; 661 Decryptor::AudioFrames audio_frame_list;
662 DCHECK(audio_frames->FrameBuffer()); 662 DCHECK(audio_frames->FrameBuffer());
663 if (!AudioFramesDataToAudioFrames(std::move(audio_frames), 663 if (!AudioFramesDataToAudioFrames(std::move(audio_frames),
664 &audio_frame_list)) { 664 &audio_frame_list)) {
665 DVLOG(1) << __FUNCTION__ << " unable to convert Audio Frames"; 665 DVLOG(1) << __func__ << " unable to convert Audio Frames";
666 audio_decode_cb.Run(Decryptor::kError, empty_frames); 666 audio_decode_cb.Run(Decryptor::kError, empty_frames);
667 return; 667 return;
668 } 668 }
669 669
670 audio_decode_cb.Run(Decryptor::kSuccess, audio_frame_list); 670 audio_decode_cb.Run(Decryptor::kSuccess, audio_frame_list);
671 } 671 }
672 672
673 void CdmAdapter::DecryptAndDecodeVideo( 673 void CdmAdapter::DecryptAndDecodeVideo(
674 const scoped_refptr<DecoderBuffer>& encrypted, 674 const scoped_refptr<DecoderBuffer>& encrypted,
675 const VideoDecodeCB& video_decode_cb) { 675 const VideoDecodeCB& video_decode_cb) {
676 DCHECK(task_runner_->BelongsToCurrentThread()); 676 DCHECK(task_runner_->BelongsToCurrentThread());
677 DVLOG(3) << __FUNCTION__ 677 DVLOG(3) << __func__ << " encrypted: " << encrypted->AsHumanReadableString();
678 << " encrypted: " << encrypted->AsHumanReadableString();
679 678
680 cdm::InputBuffer input_buffer; 679 cdm::InputBuffer input_buffer;
681 std::vector<cdm::SubsampleEntry> subsamples; 680 std::vector<cdm::SubsampleEntry> subsamples;
682 std::unique_ptr<VideoFrameImpl> video_frame = 681 std::unique_ptr<VideoFrameImpl> video_frame =
683 allocator_->CreateCdmVideoFrame(); 682 allocator_->CreateCdmVideoFrame();
684 683
685 ToCdmInputBuffer(encrypted, &subsamples, &input_buffer); 684 ToCdmInputBuffer(encrypted, &subsamples, &input_buffer);
686 cdm::Status status = 685 cdm::Status status =
687 cdm_->DecryptAndDecodeFrame(input_buffer, video_frame.get()); 686 cdm_->DecryptAndDecodeFrame(input_buffer, video_frame.get());
688 687
689 if (status != cdm::kSuccess) { 688 if (status != cdm::kSuccess) {
690 DVLOG(1) << __FUNCTION__ << " failed with cdm::Error " << status; 689 DVLOG(1) << __func__ << " failed with cdm::Error " << status;
691 video_decode_cb.Run(ToMediaDecryptorStatus(status), nullptr); 690 video_decode_cb.Run(ToMediaDecryptorStatus(status), nullptr);
692 return; 691 return;
693 } 692 }
694 693
695 scoped_refptr<VideoFrame> decoded_frame = 694 scoped_refptr<VideoFrame> decoded_frame =
696 video_frame->TransformToVideoFrame(natural_size_); 695 video_frame->TransformToVideoFrame(natural_size_);
697 video_decode_cb.Run(Decryptor::kSuccess, decoded_frame); 696 video_decode_cb.Run(Decryptor::kSuccess, decoded_frame);
698 } 697 }
699 698
700 void CdmAdapter::ResetDecoder(StreamType stream_type) { 699 void CdmAdapter::ResetDecoder(StreamType stream_type) {
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
874 873
875 // TODO(jrummell): If output protection is available, use it. 874 // TODO(jrummell): If output protection is available, use it.
876 NOTIMPLEMENTED(); 875 NOTIMPLEMENTED();
877 cdm_->OnQueryOutputProtectionStatus(cdm::kQueryFailed, 0, 0); 876 cdm_->OnQueryOutputProtectionStatus(cdm::kQueryFailed, 0, 0);
878 } 877 }
879 878
880 void CdmAdapter::OnDeferredInitializationDone(cdm::StreamType stream_type, 879 void CdmAdapter::OnDeferredInitializationDone(cdm::StreamType stream_type,
881 cdm::Status decoder_status) { 880 cdm::Status decoder_status) {
882 DCHECK(task_runner_->BelongsToCurrentThread()); 881 DCHECK(task_runner_->BelongsToCurrentThread());
883 DVLOG_IF(1, decoder_status != cdm::kSuccess) 882 DVLOG_IF(1, decoder_status != cdm::kSuccess)
884 << __FUNCTION__ << " failed with cdm::Error " << decoder_status; 883 << __func__ << " failed with cdm::Error " << decoder_status;
885 884
886 switch (stream_type) { 885 switch (stream_type) {
887 case cdm::kStreamTypeAudio: 886 case cdm::kStreamTypeAudio:
888 base::ResetAndReturn(&audio_init_cb_) 887 base::ResetAndReturn(&audio_init_cb_)
889 .Run(decoder_status == cdm::kSuccess); 888 .Run(decoder_status == cdm::kSuccess);
890 return; 889 return;
891 case cdm::kStreamTypeVideo: 890 case cdm::kStreamTypeVideo:
892 base::ResetAndReturn(&video_init_cb_) 891 base::ResetAndReturn(&video_init_cb_)
893 .Run(decoder_status == cdm::kSuccess); 892 .Run(decoder_status == cdm::kSuccess);
894 return; 893 return;
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
960 result_frames->push_back(frame); 959 result_frames->push_back(frame);
961 960
962 data += frame_size; 961 data += frame_size;
963 bytes_left -= frame_size; 962 bytes_left -= frame_size;
964 } while (bytes_left > 0); 963 } while (bytes_left > 0);
965 964
966 return true; 965 return true;
967 } 966 }
968 967
969 } // namespace media 968 } // namespace media
OLDNEW
« no previous file with comments | « media/capture/video/win/sink_input_pin_win.cc ('k') | media/ffmpeg/ffmpeg_common.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698