| Index: media/filters/ffmpeg_demuxer.cc
|
| diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
|
| index 27414974c798d1c6ba1b05d2b2a713b4847ff9a3..2cc89130b1c43a9e527cb0fe29ac8d7cb3b588d7 100644
|
| --- a/media/filters/ffmpeg_demuxer.cc
|
| +++ b/media/filters/ffmpeg_demuxer.cc
|
| @@ -686,6 +686,10 @@ FFmpegDemuxerStream* FFmpegDemuxer::GetFFmpegStream(
|
| return NULL;
|
| }
|
|
|
| +base::TimeDelta FFmpegDemuxer::GetStartTime() const {
|
| + return std::max(start_time_, base::TimeDelta());
|
| +}
|
| +
|
| Demuxer::Liveness FFmpegDemuxer::GetLiveness() const {
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| return liveness_;
|
| @@ -959,7 +963,7 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb,
|
|
|
| // Since we're shifting the externally visible start time to zero, we need to
|
| // adjust the timeline offset to compensate.
|
| - if (!timeline_offset_.is_null())
|
| + if (!timeline_offset_.is_null() && start_time_ < base::TimeDelta())
|
| timeline_offset_ += start_time_;
|
|
|
| if (max_duration == kInfiniteDuration() && !timeline_offset_.is_null()) {
|
|
|