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

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

Issue 1491513002: [MSE] Fix GC with media_time past the last appended buffer timestamp (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Implement media_time clamping to buffered ranges Created 5 years 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/filters/source_buffer_stream.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 // SourceBufferStream is a data structure that stores media Buffers in ranges. 5 // SourceBufferStream is a data structure that stores media Buffers in ranges.
6 // Buffers can be appended out of presentation order. Buffers are retrieved by 6 // Buffers can be appended out of presentation order. Buffers are retrieved by
7 // seeking to the desired start point and calling GetNextBuffer(). Buffers are 7 // seeking to the desired start point and calling GetNextBuffer(). Buffers are
8 // returned in sequential presentation order. 8 // returned in sequential presentation order.
9 9
10 #ifndef MEDIA_FILTERS_SOURCE_BUFFER_STREAM_H_ 10 #ifndef MEDIA_FILTERS_SOURCE_BUFFER_STREAM_H_
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 DecodeTimestamp media_segment_start_time_; 399 DecodeTimestamp media_segment_start_time_;
400 400
401 // Points to the range containing the current media segment being appended. 401 // Points to the range containing the current media segment being appended.
402 RangeList::iterator range_for_next_append_; 402 RangeList::iterator range_for_next_append_;
403 403
404 // True when the next call to Append() begins a new media segment. 404 // True when the next call to Append() begins a new media segment.
405 bool new_media_segment_ = false; 405 bool new_media_segment_ = false;
406 406
407 // The timestamp of the last buffer appended to the media segment, set to 407 // The timestamp of the last buffer appended to the media segment, set to
408 // kNoDecodeTimestamp() if the beginning of the segment. 408 // kNoDecodeTimestamp() if the beginning of the segment.
409 DecodeTimestamp last_appended_buffer_timestamp_; 409 DecodeTimestamp last_appended_buffer_timestamp_ = kNoDecodeTimestamp();
410 base::TimeDelta last_appended_buffer_duration_ = kNoTimestamp();
410 bool last_appended_buffer_is_keyframe_ = false; 411 bool last_appended_buffer_is_keyframe_ = false;
411 412
412 // The decode timestamp on the last buffer returned by the most recent 413 // The decode timestamp on the last buffer returned by the most recent
413 // GetNextBuffer() call. Set to kNoDecodeTimestamp() if GetNextBuffer() hasn't 414 // GetNextBuffer() call. Set to kNoDecodeTimestamp() if GetNextBuffer() hasn't
414 // been called yet or a seek has happened since the last GetNextBuffer() call. 415 // been called yet or a seek has happened since the last GetNextBuffer() call.
415 DecodeTimestamp last_output_buffer_timestamp_; 416 DecodeTimestamp last_output_buffer_timestamp_;
416 417
417 // Stores the largest distance between two adjacent buffers in this stream. 418 // Stores the largest distance between two adjacent buffers in this stream.
418 base::TimeDelta max_interbuffer_distance_; 419 base::TimeDelta max_interbuffer_distance_;
419 420
(...skipping 26 matching lines...) Expand all
446 int num_splice_generation_success_logs_ = 0; 447 int num_splice_generation_success_logs_ = 0;
447 int num_track_buffer_gap_warning_logs_ = 0; 448 int num_track_buffer_gap_warning_logs_ = 0;
448 int num_garbage_collect_algorithm_logs_ = 0; 449 int num_garbage_collect_algorithm_logs_ = 0;
449 450
450 DISALLOW_COPY_AND_ASSIGN(SourceBufferStream); 451 DISALLOW_COPY_AND_ASSIGN(SourceBufferStream);
451 }; 452 };
452 453
453 } // namespace media 454 } // namespace media
454 455
455 #endif // MEDIA_FILTERS_SOURCE_BUFFER_STREAM_H_ 456 #endif // MEDIA_FILTERS_SOURCE_BUFFER_STREAM_H_
OLDNEW
« no previous file with comments | « no previous file | media/filters/source_buffer_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698