| 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 "webkit/plugins/ppapi/content_decryptor_delegate.h" | 5 #include "webkit/plugins/ppapi/content_decryptor_delegate.h" |
| 6 | 6 |
| 7 #include "base/callback_helpers.h" | 7 #include "base/callback_helpers.h" |
| 8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
| 9 #include "base/message_loop_proxy.h" | 9 #include "base/message_loop_proxy.h" |
| 10 #include "media/base/audio_decoder_config.h" | 10 #include "media/base/audio_decoder_config.h" |
| (...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 620 } | 620 } |
| 621 | 621 |
| 622 void ContentDecryptorDelegate::KeyAdded(PP_Var key_system_var, | 622 void ContentDecryptorDelegate::KeyAdded(PP_Var key_system_var, |
| 623 PP_Var session_id_var) { | 623 PP_Var session_id_var) { |
| 624 if (key_added_cb_.is_null()) | 624 if (key_added_cb_.is_null()) |
| 625 return; | 625 return; |
| 626 | 626 |
| 627 StringVar* key_system_string = StringVar::FromPPVar(key_system_var); | 627 StringVar* key_system_string = StringVar::FromPPVar(key_system_var); |
| 628 StringVar* session_id_string = StringVar::FromPPVar(session_id_var); | 628 StringVar* session_id_string = StringVar::FromPPVar(session_id_var); |
| 629 if (!key_system_string || !session_id_string) { | 629 if (!key_system_string || !session_id_string) { |
| 630 key_error_cb_.Run("", "", media::Decryptor::kUnknownError, 0); | 630 key_error_cb_.Run( |
| 631 std::string(), std::string(), media::Decryptor::kUnknownError, 0); |
| 631 return; | 632 return; |
| 632 } | 633 } |
| 633 | 634 |
| 634 key_added_cb_.Run(key_system_string->value(), session_id_string->value()); | 635 key_added_cb_.Run(key_system_string->value(), session_id_string->value()); |
| 635 } | 636 } |
| 636 | 637 |
| 637 void ContentDecryptorDelegate::KeyMessage(PP_Var key_system_var, | 638 void ContentDecryptorDelegate::KeyMessage(PP_Var key_system_var, |
| 638 PP_Var session_id_var, | 639 PP_Var session_id_var, |
| 639 PP_Var message_var, | 640 PP_Var message_var, |
| 640 PP_Var default_url_var) { | 641 PP_Var default_url_var) { |
| 641 if (key_message_cb_.is_null()) | 642 if (key_message_cb_.is_null()) |
| 642 return; | 643 return; |
| 643 | 644 |
| 644 StringVar* key_system_string = StringVar::FromPPVar(key_system_var); | 645 StringVar* key_system_string = StringVar::FromPPVar(key_system_var); |
| 645 StringVar* session_id_string = StringVar::FromPPVar(session_id_var); | 646 StringVar* session_id_string = StringVar::FromPPVar(session_id_var); |
| 646 | 647 |
| 647 ArrayBufferVar* message_array_buffer = | 648 ArrayBufferVar* message_array_buffer = |
| 648 ArrayBufferVar::FromPPVar(message_var); | 649 ArrayBufferVar::FromPPVar(message_var); |
| 649 | 650 |
| 650 std::string message; | 651 std::string message; |
| 651 if (message_array_buffer) { | 652 if (message_array_buffer) { |
| 652 const char* data = static_cast<const char*>(message_array_buffer->Map()); | 653 const char* data = static_cast<const char*>(message_array_buffer->Map()); |
| 653 message.assign(data, message_array_buffer->ByteLength()); | 654 message.assign(data, message_array_buffer->ByteLength()); |
| 654 } | 655 } |
| 655 | 656 |
| 656 StringVar* default_url_string = StringVar::FromPPVar(default_url_var); | 657 StringVar* default_url_string = StringVar::FromPPVar(default_url_var); |
| 657 | 658 |
| 658 if (!key_system_string || !session_id_string || !default_url_string) { | 659 if (!key_system_string || !session_id_string || !default_url_string) { |
| 659 key_error_cb_.Run("", "", media::Decryptor::kUnknownError, 0); | 660 key_error_cb_.Run( |
| 661 std::string(), std::string(), media::Decryptor::kUnknownError, 0); |
| 660 return; | 662 return; |
| 661 } | 663 } |
| 662 | 664 |
| 663 key_message_cb_.Run(key_system_string->value(), | 665 key_message_cb_.Run(key_system_string->value(), |
| 664 session_id_string->value(), | 666 session_id_string->value(), |
| 665 message, | 667 message, |
| 666 default_url_string->value()); | 668 default_url_string->value()); |
| 667 } | 669 } |
| 668 | 670 |
| 669 void ContentDecryptorDelegate::KeyError(PP_Var key_system_var, | 671 void ContentDecryptorDelegate::KeyError(PP_Var key_system_var, |
| 670 PP_Var session_id_var, | 672 PP_Var session_id_var, |
| 671 int32_t media_error, | 673 int32_t media_error, |
| 672 int32_t system_code) { | 674 int32_t system_code) { |
| 673 if (key_error_cb_.is_null()) | 675 if (key_error_cb_.is_null()) |
| 674 return; | 676 return; |
| 675 | 677 |
| 676 StringVar* key_system_string = StringVar::FromPPVar(key_system_var); | 678 StringVar* key_system_string = StringVar::FromPPVar(key_system_var); |
| 677 StringVar* session_id_string = StringVar::FromPPVar(session_id_var); | 679 StringVar* session_id_string = StringVar::FromPPVar(session_id_var); |
| 678 if (!key_system_string || !session_id_string) { | 680 if (!key_system_string || !session_id_string) { |
| 679 key_error_cb_.Run("", "", media::Decryptor::kUnknownError, 0); | 681 key_error_cb_.Run( |
| 682 std::string(), std::string(), media::Decryptor::kUnknownError, 0); |
| 680 return; | 683 return; |
| 681 } | 684 } |
| 682 | 685 |
| 683 key_error_cb_.Run( | 686 key_error_cb_.Run( |
| 684 key_system_string->value(), | 687 key_system_string->value(), |
| 685 session_id_string->value(), | 688 session_id_string->value(), |
| 686 static_cast<media::Decryptor::KeyError>(media_error), | 689 static_cast<media::Decryptor::KeyError>(media_error), |
| 687 system_code); | 690 system_code); |
| 688 } | 691 } |
| 689 | 692 |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1022 | 1025 |
| 1023 if (free_buffers_.empty()) | 1026 if (free_buffers_.empty()) |
| 1024 return; | 1027 return; |
| 1025 | 1028 |
| 1026 tracking_info->buffer_id = free_buffers_.front(); | 1029 tracking_info->buffer_id = free_buffers_.front(); |
| 1027 free_buffers_.pop(); | 1030 free_buffers_.pop(); |
| 1028 } | 1031 } |
| 1029 | 1032 |
| 1030 } // namespace ppapi | 1033 } // namespace ppapi |
| 1031 } // namespace webkit | 1034 } // namespace webkit |
| OLD | NEW |