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

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

Issue 2815303006: Convert MediaLog from being ref counted to owned by WebMediaPlayer. (Closed)
Patch Set: Rebase. Created 3 years, 8 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/audio_timestamp_validator_unittest.cc ('k') | media/filters/chunk_demuxer.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 (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_FILTERS_CHUNK_DEMUXER_H_ 5 #ifndef MEDIA_FILTERS_CHUNK_DEMUXER_H_
6 #define MEDIA_FILTERS_CHUNK_DEMUXER_H_ 6 #define MEDIA_FILTERS_CHUNK_DEMUXER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 // Returns the size of the buffered data in bytes. 89 // Returns the size of the buffered data in bytes.
90 size_t GetBufferedSize() const; 90 size_t GetBufferedSize() const;
91 91
92 // Signal to the stream that buffers handed in through subsequent calls to 92 // Signal to the stream that buffers handed in through subsequent calls to
93 // Append() belong to a coded frame group that starts at |start_timestamp|. 93 // Append() belong to a coded frame group that starts at |start_timestamp|.
94 void OnStartOfCodedFrameGroup(DecodeTimestamp start_timestamp); 94 void OnStartOfCodedFrameGroup(DecodeTimestamp start_timestamp);
95 95
96 // Called when midstream config updates occur. 96 // Called when midstream config updates occur.
97 // Returns true if the new config is accepted. 97 // Returns true if the new config is accepted.
98 // Returns false if the new config should trigger an error. 98 // Returns false if the new config should trigger an error.
99 bool UpdateAudioConfig(const AudioDecoderConfig& config, 99 bool UpdateAudioConfig(const AudioDecoderConfig& config, MediaLog* media_log);
100 const scoped_refptr<MediaLog>& media_log); 100 bool UpdateVideoConfig(const VideoDecoderConfig& config, MediaLog* media_log);
101 bool UpdateVideoConfig(const VideoDecoderConfig& config, 101 void UpdateTextConfig(const TextTrackConfig& config, MediaLog* media_log);
102 const scoped_refptr<MediaLog>& media_log);
103 void UpdateTextConfig(const TextTrackConfig& config,
104 const scoped_refptr<MediaLog>& media_log);
105 102
106 void MarkEndOfStream(); 103 void MarkEndOfStream();
107 void UnmarkEndOfStream(); 104 void UnmarkEndOfStream();
108 105
109 // DemuxerStream methods. 106 // DemuxerStream methods.
110 void Read(const ReadCB& read_cb) override; 107 void Read(const ReadCB& read_cb) override;
111 Type type() const override; 108 Type type() const override;
112 Liveness liveness() const override; 109 Liveness liveness() const override;
113 AudioDecoderConfig audio_decoder_config() override; 110 AudioDecoderConfig audio_decoder_config() override;
114 VideoDecoderConfig video_decoder_config() override; 111 VideoDecoderConfig video_decoder_config() override;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 kReachedIdLimit, // Reached ID limit. We can't handle any more IDs. 174 kReachedIdLimit, // Reached ID limit. We can't handle any more IDs.
178 }; 175 };
179 176
180 // |open_cb| Run when Initialize() is called to signal that the demuxer 177 // |open_cb| Run when Initialize() is called to signal that the demuxer
181 // is ready to receive media data via AppenData(). 178 // is ready to receive media data via AppenData().
182 // |encrypted_media_init_data_cb| Run when the demuxer determines that an 179 // |encrypted_media_init_data_cb| Run when the demuxer determines that an
183 // encryption key is needed to decrypt the content. 180 // encryption key is needed to decrypt the content.
184 // |media_log| Used to report content and engine debug messages. 181 // |media_log| Used to report content and engine debug messages.
185 ChunkDemuxer(const base::Closure& open_cb, 182 ChunkDemuxer(const base::Closure& open_cb,
186 const EncryptedMediaInitDataCB& encrypted_media_init_data_cb, 183 const EncryptedMediaInitDataCB& encrypted_media_init_data_cb,
187 const scoped_refptr<MediaLog>& media_log); 184 MediaLog* media_log);
188 ~ChunkDemuxer() override; 185 ~ChunkDemuxer() override;
189 186
190 // Demuxer implementation. 187 // Demuxer implementation.
191 std::string GetDisplayName() const override; 188 std::string GetDisplayName() const override;
192 189
193 // |enable_text| Process inband text tracks in the normal way when true, 190 // |enable_text| Process inband text tracks in the normal way when true,
194 // otherwise ignore them. 191 // otherwise ignore them.
195 void Initialize(DemuxerHost* host, 192 void Initialize(DemuxerHost* host,
196 const PipelineStatusCB& init_cb, 193 const PipelineStatusCB& init_cb,
197 bool enable_text_tracks) override; 194 bool enable_text_tracks) override;
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 mutable base::Lock lock_; 400 mutable base::Lock lock_;
404 State state_; 401 State state_;
405 bool cancel_next_seek_; 402 bool cancel_next_seek_;
406 403
407 DemuxerHost* host_; 404 DemuxerHost* host_;
408 base::Closure open_cb_; 405 base::Closure open_cb_;
409 EncryptedMediaInitDataCB encrypted_media_init_data_cb_; 406 EncryptedMediaInitDataCB encrypted_media_init_data_cb_;
410 bool enable_text_; 407 bool enable_text_;
411 408
412 // MediaLog for reporting messages and properties to debug content and engine. 409 // MediaLog for reporting messages and properties to debug content and engine.
413 scoped_refptr<MediaLog> media_log_; 410 MediaLog* media_log_;
414 411
415 PipelineStatusCB init_cb_; 412 PipelineStatusCB init_cb_;
416 // Callback to execute upon seek completion. 413 // Callback to execute upon seek completion.
417 // TODO(wolenetz/acolwell): Protect against possible double-locking by first 414 // TODO(wolenetz/acolwell): Protect against possible double-locking by first
418 // releasing |lock_| before executing this callback. See 415 // releasing |lock_| before executing this callback. See
419 // http://crbug.com/308226 416 // http://crbug.com/308226
420 PipelineStatusCB seek_cb_; 417 PipelineStatusCB seek_cb_;
421 418
422 using OwnedChunkDemuxerStreamVector = 419 using OwnedChunkDemuxerStreamVector =
423 std::vector<std::unique_ptr<ChunkDemuxerStream>>; 420 std::vector<std::unique_ptr<ChunkDemuxerStream>>;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
456 int detected_text_track_count_; 453 int detected_text_track_count_;
457 454
458 std::map<MediaTrack::Id, ChunkDemuxerStream*> track_id_to_demux_stream_map_; 455 std::map<MediaTrack::Id, ChunkDemuxerStream*> track_id_to_demux_stream_map_;
459 456
460 DISALLOW_COPY_AND_ASSIGN(ChunkDemuxer); 457 DISALLOW_COPY_AND_ASSIGN(ChunkDemuxer);
461 }; 458 };
462 459
463 } // namespace media 460 } // namespace media
464 461
465 #endif // MEDIA_FILTERS_CHUNK_DEMUXER_H_ 462 #endif // MEDIA_FILTERS_CHUNK_DEMUXER_H_
OLDNEW
« no previous file with comments | « media/filters/audio_timestamp_validator_unittest.cc ('k') | media/filters/chunk_demuxer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698