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

Side by Side Diff: media/filters/fake_video_decoder.h

Issue 2650823006: media: Pass CdmContext in decoder reinitialization (Closed)
Patch Set: Created 3 years, 10 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/filters/decoder_stream.cc ('k') | media/filters/fake_video_decoder.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_FILTERS_FAKE_VIDEO_DECODER_H_ 5 #ifndef MEDIA_FILTERS_FAKE_VIDEO_DECODER_H_
6 #define MEDIA_FILTERS_FAKE_VIDEO_DECODER_H_ 6 #define MEDIA_FILTERS_FAKE_VIDEO_DECODER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <list> 10 #include <list>
(...skipping 21 matching lines...) Expand all
32 class FakeVideoDecoder : public VideoDecoder { 32 class FakeVideoDecoder : public VideoDecoder {
33 public: 33 public:
34 // Constructs an object with a decoding delay of |decoding_delay| frames. 34 // Constructs an object with a decoding delay of |decoding_delay| frames.
35 // |bytes_decoded_cb| is called after each decode. The sum of the byte 35 // |bytes_decoded_cb| is called after each decode. The sum of the byte
36 // count over all calls will be equal to total_bytes_decoded(). 36 // count over all calls will be equal to total_bytes_decoded().
37 FakeVideoDecoder(int decoding_delay, 37 FakeVideoDecoder(int decoding_delay,
38 int max_parallel_decoding_requests, 38 int max_parallel_decoding_requests,
39 const BytesDecodedCB& bytes_decoded_cb); 39 const BytesDecodedCB& bytes_decoded_cb);
40 ~FakeVideoDecoder() override; 40 ~FakeVideoDecoder() override;
41 41
42 // Enables encrypted config supported. Must be called before Initialize().
43 void EnableEncryptedConfigSupport();
44
42 // VideoDecoder implementation. 45 // VideoDecoder implementation.
43 std::string GetDisplayName() const override; 46 std::string GetDisplayName() const override;
44 void Initialize(const VideoDecoderConfig& config, 47 void Initialize(const VideoDecoderConfig& config,
45 bool low_delay, 48 bool low_delay,
46 CdmContext* cdm_context, 49 CdmContext* cdm_context,
47 const InitCB& init_cb, 50 const InitCB& init_cb,
48 const OutputCB& output_cb) override; 51 const OutputCB& output_cb) override;
49 void Decode(const scoped_refptr<DecoderBuffer>& buffer, 52 void Decode(const scoped_refptr<DecoderBuffer>& buffer,
50 const DecodeCB& decode_cb) override; 53 const DecodeCB& decode_cb) override;
51 void Reset(const base::Closure& closure) override; 54 void Reset(const base::Closure& closure) override;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 void RunDecodeCallback(const DecodeCB& decode_cb); 95 void RunDecodeCallback(const DecodeCB& decode_cb);
93 96
94 void DoReset(); 97 void DoReset();
95 98
96 base::ThreadChecker thread_checker_; 99 base::ThreadChecker thread_checker_;
97 100
98 const size_t decoding_delay_; 101 const size_t decoding_delay_;
99 const int max_parallel_decoding_requests_; 102 const int max_parallel_decoding_requests_;
100 BytesDecodedCB bytes_decoded_cb_; 103 BytesDecodedCB bytes_decoded_cb_;
101 104
105 bool supports_encrypted_config_ = false;
106
102 State state_; 107 State state_;
103 108
104 CallbackHolder<InitCB> init_cb_; 109 CallbackHolder<InitCB> init_cb_;
105 CallbackHolder<base::Closure> reset_cb_; 110 CallbackHolder<base::Closure> reset_cb_;
106 111
107 OutputCB output_cb_; 112 OutputCB output_cb_;
108 113
109 bool hold_decode_; 114 bool hold_decode_;
110 std::list<DecodeCB> held_decode_callbacks_; 115 std::list<DecodeCB> held_decode_callbacks_;
111 116
112 VideoDecoderConfig current_config_; 117 VideoDecoderConfig current_config_;
113 118
114 std::list<scoped_refptr<VideoFrame> > decoded_frames_; 119 std::list<scoped_refptr<VideoFrame> > decoded_frames_;
115 120
116 int total_bytes_decoded_; 121 int total_bytes_decoded_;
117 122
118 bool fail_to_initialize_; 123 bool fail_to_initialize_;
119 124
120 // NOTE: Weak pointers must be invalidated before all other member variables. 125 // NOTE: Weak pointers must be invalidated before all other member variables.
121 base::WeakPtrFactory<FakeVideoDecoder> weak_factory_; 126 base::WeakPtrFactory<FakeVideoDecoder> weak_factory_;
122 127
123 DISALLOW_COPY_AND_ASSIGN(FakeVideoDecoder); 128 DISALLOW_COPY_AND_ASSIGN(FakeVideoDecoder);
124 }; 129 };
125 130
126 } // namespace media 131 } // namespace media
127 132
128 #endif // MEDIA_FILTERS_FAKE_VIDEO_DECODER_H_ 133 #endif // MEDIA_FILTERS_FAKE_VIDEO_DECODER_H_
OLDNEW
« no previous file with comments | « media/filters/decoder_stream.cc ('k') | media/filters/fake_video_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698