Index: media/filters/chunk_demuxer.cc |
diff --git a/media/filters/chunk_demuxer.cc b/media/filters/chunk_demuxer.cc |
index 55ff88c2dac11361fa76d67e999024465d14cdae..69776f9428745b90da4c0836fc808d6928bafaa7 100644 |
--- a/media/filters/chunk_demuxer.cc |
+++ b/media/filters/chunk_demuxer.cc |
@@ -773,8 +773,11 @@ void SourceState::OnSourceInitDone(bool success, |
base::ResetAndReturn(&init_cb_).Run(success, params); |
} |
-ChunkDemuxerStream::ChunkDemuxerStream(Type type, bool splice_frames_enabled) |
+ChunkDemuxerStream::ChunkDemuxerStream(Type type, |
+ Liveness liveness, |
+ bool splice_frames_enabled) |
: type_(type), |
+ liveness_(liveness), |
state_(UNINITIALIZED), |
splice_frames_enabled_(splice_frames_enabled), |
partial_append_window_trimming_enabled_(false) { |
@@ -974,6 +977,10 @@ void ChunkDemuxerStream::Read(const ReadCB& read_cb) { |
DemuxerStream::Type ChunkDemuxerStream::type() { return type_; } |
+DemuxerStream::Liveness ChunkDemuxerStream::liveness() { |
+ return liveness_; |
+} |
+ |
AudioDecoderConfig ChunkDemuxerStream::audio_decoder_config() { |
CHECK_EQ(type_, AUDIO); |
base::AutoLock auto_lock(lock_); |
@@ -1068,7 +1075,7 @@ ChunkDemuxer::ChunkDemuxer(const base::Closure& open_cb, |
log_cb_(log_cb), |
duration_(kNoTimestamp()), |
user_specified_duration_(-1), |
- liveness_(LIVENESS_UNKNOWN), |
+ liveness_(DemuxerStream::LIVENESS_UNKNOWN), |
splice_frames_enabled_(splice_frames_enabled) { |
DCHECK(!open_cb_.is_null()); |
DCHECK(!need_key_cb_.is_null()); |
@@ -1152,10 +1159,6 @@ TimeDelta ChunkDemuxer::GetStartTime() const { |
return TimeDelta(); |
} |
-Demuxer::Liveness ChunkDemuxer::GetLiveness() const { |
- return liveness_; |
-} |
- |
void ChunkDemuxer::StartWaitingForSeek(TimeDelta seek_time) { |
DVLOG(1) << "StartWaitingForSeek()"; |
base::AutoLock auto_lock(lock_); |
@@ -1636,8 +1639,9 @@ void ChunkDemuxer::OnSourceInitDone( |
timeline_offset_ = params.timeline_offset; |
} |
- if (params.liveness != LIVENESS_UNKNOWN) { |
- if (liveness_ != LIVENESS_UNKNOWN && params.liveness != liveness_) { |
+ if (params.liveness != DemuxerStream::LIVENESS_UNKNOWN) { |
+ if (liveness_ != DemuxerStream::LIVENESS_UNKNOWN && |
+ params.liveness != liveness_) { |
MEDIA_LOG(log_cb_) |
wolenetz
2014/11/11 23:48:07
Moving this logic to decoders (or just removing th
xhwang
2014/11/14 06:38:04
Yes, I'll handle that in a separate CL.
wolenetz
2014/11/14 19:21:58
Acknowledged.
|
<< "Liveness is not the same across all SourceBuffers."; |
ReportError_Locked(DEMUXER_ERROR_COULD_NOT_OPEN); |
@@ -1670,19 +1674,19 @@ ChunkDemuxer::CreateDemuxerStream(DemuxerStream::Type type) { |
case DemuxerStream::AUDIO: |
if (audio_) |
return NULL; |
- audio_.reset( |
- new ChunkDemuxerStream(DemuxerStream::AUDIO, splice_frames_enabled_)); |
+ audio_.reset(new ChunkDemuxerStream(DemuxerStream::AUDIO, liveness_, |
+ splice_frames_enabled_)); |
return audio_.get(); |
break; |
case DemuxerStream::VIDEO: |
if (video_) |
return NULL; |
- video_.reset( |
- new ChunkDemuxerStream(DemuxerStream::VIDEO, splice_frames_enabled_)); |
+ video_.reset(new ChunkDemuxerStream(DemuxerStream::VIDEO, liveness_, |
+ splice_frames_enabled_)); |
return video_.get(); |
break; |
case DemuxerStream::TEXT: { |
- return new ChunkDemuxerStream(DemuxerStream::TEXT, |
+ return new ChunkDemuxerStream(DemuxerStream::TEXT, liveness_, |
splice_frames_enabled_); |
break; |
} |