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

Side by Side Diff: media/base/mock_filters.h

Issue 2592913002: [eme] Break mojo connection during call (Closed)
Patch Set: changes Created 3 years, 11 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 | « no previous file | media/base/mock_filters.cc » ('j') | media/base/mock_filters.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef MEDIA_BASE_MOCK_FILTERS_H_ 5 #ifndef MEDIA_BASE_MOCK_FILTERS_H_
6 #define MEDIA_BASE_MOCK_FILTERS_H_ 6 #define MEDIA_BASE_MOCK_FILTERS_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
11 #include <string> 11 #include <string>
12 12
13 #include "base/callback.h" 13 #include "base/callback.h"
14 #include "base/macros.h" 14 #include "base/macros.h"
15 #include "media/base/audio_decoder.h" 15 #include "media/base/audio_decoder.h"
16 #include "media/base/audio_decoder_config.h" 16 #include "media/base/audio_decoder_config.h"
17 #include "media/base/audio_renderer.h" 17 #include "media/base/audio_renderer.h"
18 #include "media/base/cdm_config.h"
18 #include "media/base/cdm_context.h" 19 #include "media/base/cdm_context.h"
20 #include "media/base/cdm_factory.h"
19 #include "media/base/cdm_key_information.h" 21 #include "media/base/cdm_key_information.h"
20 #include "media/base/cdm_promise.h" 22 #include "media/base/cdm_promise.h"
23 #include "media/base/cdm_promise_adapter.h"
21 #include "media/base/content_decryption_module.h" 24 #include "media/base/content_decryption_module.h"
22 #include "media/base/decoder_buffer.h" 25 #include "media/base/decoder_buffer.h"
23 #include "media/base/decryptor.h" 26 #include "media/base/decryptor.h"
24 #include "media/base/demuxer.h" 27 #include "media/base/demuxer.h"
25 #include "media/base/media_track.h" 28 #include "media/base/media_track.h"
26 #include "media/base/pipeline.h" 29 #include "media/base/pipeline.h"
27 #include "media/base/pipeline_status.h" 30 #include "media/base/pipeline_status.h"
28 #include "media/base/renderer.h" 31 #include "media/base/renderer.h"
29 #include "media/base/renderer_client.h" 32 #include "media/base/renderer_client.h"
30 #include "media/base/stream_parser.h" 33 #include "media/base/stream_parser.h"
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 ~MockCdmSessionPromise() override; 442 ~MockCdmSessionPromise() override;
440 443
441 MOCK_METHOD1(resolve, void(const std::string&)); 444 MOCK_METHOD1(resolve, void(const std::string&));
442 MOCK_METHOD3(reject, 445 MOCK_METHOD3(reject,
443 void(CdmPromise::Exception, uint32_t, const std::string&)); 446 void(CdmPromise::Exception, uint32_t, const std::string&));
444 447
445 private: 448 private:
446 DISALLOW_COPY_AND_ASSIGN(MockCdmSessionPromise); 449 DISALLOW_COPY_AND_ASSIGN(MockCdmSessionPromise);
447 }; 450 };
448 451
452 class MockCdm : public ContentDecryptionModule {
453 public:
454 MockCdm();
455
456 // ContentDecryptionModule implementation.
457 // As move-only parameters aren't supported by mock methods, convert promises
458 // into IDs and pass them to On... methods.
459 void SetServerCertificate(const std::vector<uint8_t>& certificate,
460 std::unique_ptr<SimpleCdmPromise> promise) override;
461 MOCK_METHOD2(OnSetServerCertificate,
462 void(const std::vector<uint8_t>& certificate,
463 std::unique_ptr<SimpleCdmPromise>& promise));
464
465 void CreateSessionAndGenerateRequest(
466 CdmSessionType session_type,
467 EmeInitDataType init_data_type,
468 const std::vector<uint8_t>& init_data,
469 std::unique_ptr<NewSessionCdmPromise> promise) override;
470 MOCK_METHOD4(OnCreateSessionAndGenerateRequest,
471 void(CdmSessionType session_type,
472 EmeInitDataType init_data_type,
473 const std::vector<uint8_t>& init_data,
474 std::unique_ptr<NewSessionCdmPromise>& promise));
475
476 void LoadSession(CdmSessionType session_type,
477 const std::string& session_id,
478 std::unique_ptr<NewSessionCdmPromise> promise) override;
479 MOCK_METHOD3(OnLoadSession,
480 void(CdmSessionType session_type,
481 const std::string& session_id,
482 std::unique_ptr<NewSessionCdmPromise>& promise));
483
484 void UpdateSession(const std::string& session_id,
485 const std::vector<uint8_t>& response,
486 std::unique_ptr<SimpleCdmPromise> promise) override;
487 MOCK_METHOD3(OnUpdateSession,
488 void(const std::string& session_id,
489 const std::vector<uint8_t>& response,
490 std::unique_ptr<SimpleCdmPromise>& promise));
491
492 void CloseSession(const std::string& session_id,
493 std::unique_ptr<SimpleCdmPromise> promise) override;
494 MOCK_METHOD2(OnCloseSession,
495 void(const std::string& session_id,
496 std::unique_ptr<SimpleCdmPromise>& promise));
497
498 void RemoveSession(const std::string& session_id,
499 std::unique_ptr<SimpleCdmPromise> promise) override;
500 MOCK_METHOD2(OnRemoveSession,
501 void(const std::string& session_id,
502 std::unique_ptr<SimpleCdmPromise>& promise));
503
504 MOCK_METHOD0(GetCdmContext, CdmContext*());
505
506 // As MockCdmFactory returns the MockCdm provided to it, this sets the
507 // actual callbacks used when MockCdmFactory::Create() is called.
508 void SetCallbacks(
509 const SessionMessageCB& session_message_cb,
510 const SessionClosedCB& session_closed_cb,
511 const SessionKeysChangeCB& session_keys_change_cb,
512 const SessionExpirationUpdateCB& session_expiration_update_cb);
513 void CallSessionMessageCB(const std::string& session_id,
514 ContentDecryptionModule::MessageType message_type,
515 const std::vector<uint8_t>& message);
516 void CallSessionClosedCB(const std::string& session_id);
517 void CallSessionKeysChangeCB(const std::string& session_id,
518 bool has_additional_usable_key,
519 CdmKeysInfo keys_info);
520 void CallSessionExpirationUpdateCB(const std::string& session_id,
521 base::Time new_expiry_time);
522
523 protected:
524 ~MockCdm() override;
525
526 private:
527 // Callbacks.
528 SessionMessageCB session_message_cb_;
529 SessionClosedCB session_closed_cb_;
530 SessionKeysChangeCB session_keys_change_cb_;
531 SessionExpirationUpdateCB session_expiration_update_cb_;
532
533 DISALLOW_COPY_AND_ASSIGN(MockCdm);
534 };
535
536 class MockCdmFactory : public CdmFactory {
537 public:
538 MockCdmFactory();
539 ~MockCdmFactory() override;
540
541 // CdmFactory implementation.
542 void Create(const std::string& key_system,
543 const GURL& security_origin,
544 const CdmConfig& cdm_config,
545 const SessionMessageCB& session_message_cb,
546 const SessionClosedCB& session_closed_cb,
547 const SessionKeysChangeCB& session_keys_change_cb,
548 const SessionExpirationUpdateCB& session_expiration_update_cb,
549 const CdmCreatedCB& cdm_created_cb) override;
550
551 // Provide the CDM to be returned by Create(). If not provided, Create()
552 // will fail (|cdm_created_cb| will return an error). |before_creation_cb|,
553 // if provided, will be called before the CDM is returned.
554 // Note: This will take another reference to |cdm|, which it will keep until
555 // Create() is called (in which case it will pass ownership to
556 // |cdm_created_cb|).
557 void Initialize(const scoped_refptr<MockCdm>& cdm,
558 const base::Closure& before_creation_cb);
559
560 private:
561 // CDM to be used for Create(). If not specified, Create() will fail.
562 scoped_refptr<MockCdm> cdm_;
563
564 // Callback to be used before Create() successfully calls |cdm_created_cb|.
565 base::Closure before_creation_cb_;
566
567 DISALLOW_COPY_AND_ASSIGN(MockCdmFactory);
568 };
569
449 class MockStreamParser : public StreamParser { 570 class MockStreamParser : public StreamParser {
450 public: 571 public:
451 MockStreamParser(); 572 MockStreamParser();
452 ~MockStreamParser() override; 573 ~MockStreamParser() override;
453 574
454 // StreamParser interface 575 // StreamParser interface
455 MOCK_METHOD8( 576 MOCK_METHOD8(
456 Init, 577 Init,
457 void(const InitCB& init_cb, 578 void(const InitCB& init_cb,
458 const NewConfigCB& config_cb, 579 const NewConfigCB& config_cb,
459 const NewBuffersCB& new_buffers_cb, 580 const NewBuffersCB& new_buffers_cb,
460 bool ignore_text_track, 581 bool ignore_text_track,
461 const EncryptedMediaInitDataCB& encrypted_media_init_data_cb, 582 const EncryptedMediaInitDataCB& encrypted_media_init_data_cb,
462 const NewMediaSegmentCB& new_segment_cb, 583 const NewMediaSegmentCB& new_segment_cb,
463 const EndMediaSegmentCB& end_of_segment_cb, 584 const EndMediaSegmentCB& end_of_segment_cb,
464 const scoped_refptr<MediaLog>& media_log)); 585 const scoped_refptr<MediaLog>& media_log));
465 MOCK_METHOD0(Flush, void()); 586 MOCK_METHOD0(Flush, void());
466 MOCK_METHOD2(Parse, bool(const uint8_t*, int)); 587 MOCK_METHOD2(Parse, bool(const uint8_t*, int));
467 588
468 private: 589 private:
469 DISALLOW_COPY_AND_ASSIGN(MockStreamParser); 590 DISALLOW_COPY_AND_ASSIGN(MockStreamParser);
470 }; 591 };
471 592
472 } // namespace media 593 } // namespace media
473 594
474 #endif // MEDIA_BASE_MOCK_FILTERS_H_ 595 #endif // MEDIA_BASE_MOCK_FILTERS_H_
OLDNEW
« no previous file with comments | « no previous file | media/base/mock_filters.cc » ('j') | media/base/mock_filters.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698