Chromium Code Reviews| Index: media/filters/ffmpeg_video_decoder.cc |
| diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc |
| index 7cd2c7a95b36b234824feb0f3709d5a6f45072de..c2d34c28d0b77d57d31f5a8121c75ca587c6ef7e 100644 |
| --- a/media/filters/ffmpeg_video_decoder.cc |
| +++ b/media/filters/ffmpeg_video_decoder.cc |
| @@ -60,8 +60,6 @@ FFmpegVideoDecoder::FFmpegVideoDecoder( |
| state_(kUninitialized), |
| codec_context_(NULL), |
| av_frame_(NULL), |
| - frame_rate_numerator_(0), |
| - frame_rate_denominator_(0), |
| decryptor_(NULL) { |
| } |
| @@ -84,8 +82,7 @@ int FFmpegVideoDecoder::GetVideoBuffer(AVCodecContext* codec_context, |
| return ret; |
| scoped_refptr<VideoFrame> video_frame = |
| - VideoFrame::CreateFrame(format, width, height, |
| - kNoTimestamp(), kNoTimestamp()); |
| + VideoFrame::CreateFrame(format, width, height, kNoTimestamp()); |
| for (int i = 0; i < 3; i++) { |
| frame->base[i] = video_frame->data(i); |
| @@ -189,8 +186,6 @@ void FFmpegVideoDecoder::Initialize(const scoped_refptr<DemuxerStream>& stream, |
| state_ = kNormal; |
| av_frame_ = avcodec_alloc_frame(); |
| natural_size_ = config.natural_size(); |
| - frame_rate_numerator_ = config.frame_rate_numerator(); |
| - frame_rate_denominator_ = config.frame_rate_denominator(); |
| status_cb.Run(PIPELINE_OK); |
| } |
| @@ -505,31 +500,8 @@ bool FFmpegVideoDecoder::Decode( |
| } |
| *video_frame = static_cast<VideoFrame*>(av_frame_->opaque); |
| - if (frame_rate_numerator_ == 0) { |
| - // A framerate of zero indicates that no timing information was available |
| - // during initial stream demuxing, and that the framerate should be inferred |
| - // from the first frame's duration. |
| - frame_rate_numerator_ = buffer->GetDuration().InMicroseconds(); |
| - frame_rate_denominator_ = base::Time::kMicrosecondsPerSecond; |
| - } |
| - |
| - // Determine timestamp and calculate the duration based on the repeat |
| - // picture count. According to FFmpeg docs, the total duration can be |
| - // calculated as follows: |
| - // fps = 1 / time_base |
| - // |
| - // duration = (1 / fps) + (repeat_pict) / (2 * fps) |
| - // = (2 + repeat_pict) / (2 * fps) |
| - // = (2 + repeat_pict) / (2 * (1 / time_base)) |
| - DCHECK_LE(av_frame_->repeat_pict, 2); // Sanity check. |
| - AVRational doubled_time_base; |
| - doubled_time_base.num = frame_rate_denominator_; |
| - doubled_time_base.den = frame_rate_numerator_ * 2; |
| - |
| (*video_frame)->SetTimestamp( |
| base::TimeDelta::FromMicroseconds(av_frame_->reordered_opaque)); |
| - (*video_frame)->SetDuration( |
|
scherkus (not reviewing)
2012/07/31 17:52:04
if duration is no longer used do we want to remove
acolwell GONE FROM CHROMIUM
2012/07/31 18:41:24
Already in this CL. :)
|
| - ConvertFromTimeBase(doubled_time_base, 2 + av_frame_->repeat_pict)); |
| return true; |
| } |