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

Unified Diff: media/filters/chunk_demuxer.cc

Issue 2343543002: MSE: Replace crossfade splicing overlap trimming. (Closed)
Patch Set: Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: media/filters/chunk_demuxer.cc
diff --git a/media/filters/chunk_demuxer.cc b/media/filters/chunk_demuxer.cc
index 443c7c5558873ff0326294e29c72a53bb6ca0ab3..a7171c294c3c8ab358d50dbee6c634096657807b 100644
--- a/media/filters/chunk_demuxer.cc
+++ b/media/filters/chunk_demuxer.cc
@@ -31,13 +31,11 @@ using base::TimeDelta;
namespace media {
ChunkDemuxerStream::ChunkDemuxerStream(Type type,
- bool splice_frames_enabled,
MediaTrack::Id media_track_id)
: type_(type),
liveness_(DemuxerStream::LIVENESS_UNKNOWN),
media_track_id_(media_track_id),
state_(UNINITIALIZED),
- splice_frames_enabled_(splice_frames_enabled),
partial_append_window_trimming_enabled_(false),
is_enabled_(true) {}
@@ -187,17 +185,12 @@ bool ChunkDemuxerStream::UpdateAudioConfig(
if (!stream_) {
DCHECK_EQ(state_, UNINITIALIZED);
- // On platforms which support splice frames, enable splice frames and
- // partial append window support for most codecs (notably: not opus).
- const bool codec_supported = config.codec() == kCodecMP3 ||
- config.codec() == kCodecAAC ||
- config.codec() == kCodecVorbis;
- splice_frames_enabled_ = splice_frames_enabled_ && codec_supported;
- partial_append_window_trimming_enabled_ =
- splice_frames_enabled_ && codec_supported;
-
- stream_.reset(
- new SourceBufferStream(config, media_log, splice_frames_enabled_));
+ // Enable partial append window support for most codecs (notably: not opus).
wolenetz 2016/09/15 23:47:52 nit: s/most codecs/most audio codecs/
chcunningham 2016/09/16 20:42:44 Done.
+ partial_append_window_trimming_enabled_ = config.codec() == kCodecMP3 ||
+ config.codec() == kCodecAAC ||
+ config.codec() == kCodecVorbis;
+
+ stream_.reset(new SourceBufferStream(config, media_log));
return true;
}
@@ -213,8 +206,7 @@ bool ChunkDemuxerStream::UpdateVideoConfig(
if (!stream_) {
DCHECK_EQ(state_, UNINITIALIZED);
- stream_.reset(
- new SourceBufferStream(config, media_log, splice_frames_enabled_));
+ stream_.reset(new SourceBufferStream(config, media_log));
return true;
}
@@ -228,8 +220,7 @@ void ChunkDemuxerStream::UpdateTextConfig(
base::AutoLock auto_lock(lock_);
DCHECK(!stream_);
DCHECK_EQ(state_, UNINITIALIZED);
- stream_.reset(
- new SourceBufferStream(config, media_log, splice_frames_enabled_));
+ stream_.reset(new SourceBufferStream(config, media_log));
}
void ChunkDemuxerStream::MarkEndOfStream() {
@@ -400,8 +391,7 @@ void ChunkDemuxerStream::CompletePendingReadIfPossible_Locked() {
ChunkDemuxer::ChunkDemuxer(
const base::Closure& open_cb,
const EncryptedMediaInitDataCB& encrypted_media_init_data_cb,
- const scoped_refptr<MediaLog>& media_log,
- bool splice_frames_enabled)
+ const scoped_refptr<MediaLog>& media_log)
: state_(WAITING_FOR_INIT),
cancel_next_seek_(false),
host_(NULL),
@@ -413,7 +403,6 @@ ChunkDemuxer::ChunkDemuxer(
duration_(kNoTimestamp),
user_specified_duration_(-1),
liveness_(DemuxerStream::LIVENESS_UNKNOWN),
- splice_frames_enabled_(splice_frames_enabled),
detected_audio_track_count_(0),
detected_video_track_count_(0),
detected_text_track_count_(0) {
@@ -1135,8 +1124,8 @@ ChunkDemuxerStream* ChunkDemuxer::CreateDemuxerStream(
case DemuxerStream::AUDIO:
if (audio_)
return NULL;
- audio_.reset(new ChunkDemuxerStream(
- DemuxerStream::AUDIO, splice_frames_enabled_, media_track_id));
+ audio_.reset(
+ new ChunkDemuxerStream(DemuxerStream::AUDIO, media_track_id));
DCHECK(track_id_to_demux_stream_map_.find(media_track_id) ==
track_id_to_demux_stream_map_.end());
track_id_to_demux_stream_map_[media_track_id] = audio_.get();
@@ -1145,16 +1134,15 @@ ChunkDemuxerStream* ChunkDemuxer::CreateDemuxerStream(
case DemuxerStream::VIDEO:
if (video_)
return NULL;
- video_.reset(new ChunkDemuxerStream(
- DemuxerStream::VIDEO, splice_frames_enabled_, media_track_id));
+ video_.reset(
+ new ChunkDemuxerStream(DemuxerStream::VIDEO, media_track_id));
DCHECK(track_id_to_demux_stream_map_.find(media_track_id) ==
track_id_to_demux_stream_map_.end());
track_id_to_demux_stream_map_[media_track_id] = video_.get();
return video_.get();
break;
case DemuxerStream::TEXT: {
- return new ChunkDemuxerStream(DemuxerStream::TEXT, splice_frames_enabled_,
- media_track_id);
+ return new ChunkDemuxerStream(DemuxerStream::TEXT, media_track_id);
break;
}
case DemuxerStream::UNKNOWN:

Powered by Google App Engine
This is Rietveld 408576698