Bug 1038971 - Fix libav frame ordering; r=edwin
authorAnthony Jones <ajones@mozilla.com>
Wed, 16 Jul 2014 11:54:26 +1200
changeset 216188 c73dc6d84e894fe1cf8f25ac100fac782c429195
parent 216187 11add1847747a3f310cf973b988dd12c6c037415
child 216189 389f489afdb68e43c146e164920008c402adbf11
push id515
push userraliiev@mozilla.com
push dateMon, 06 Oct 2014 12:51:51 +0000
treeherdermozilla-release@267c7a481bef [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersedwin
bugs1038971
milestone33.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1038971 - Fix libav frame ordering; r=edwin
content/media/fmp4/ffmpeg/FFmpegH264Decoder.cpp
--- a/content/media/fmp4/ffmpeg/FFmpegH264Decoder.cpp
+++ b/content/media/fmp4/ffmpeg/FFmpegH264Decoder.cpp
@@ -78,19 +78,19 @@ FFmpegH264Decoder<LIBAV_VER>::DecodeFram
     nsAutoPtr<VideoData> data;
 
     VideoInfo info;
     info.mDisplay = nsIntSize(mCodecContext.width, mCodecContext.height);
     info.mStereoMode = StereoMode::MONO;
     info.mHasVideo = true;
 
     data = VideoData::CreateFromImage(
-      info, mImageContainer, aSample->byte_offset,
-      aSample->composition_timestamp, aSample->duration,
-      reinterpret_cast<Image*>(frame->opaque), aSample->is_sync_point, -1,
+      info, mImageContainer, aSample->byte_offset, frame->pkt_pts,
+      aSample->duration, reinterpret_cast<Image*>(frame->opaque),
+      aSample->is_sync_point, -1,
       gfx::IntRect(0, 0, mCodecContext.width, mCodecContext.height));
 
     mCallback->Output(data.forget());
   }
 
   if (mTaskQueue->IsEmpty()) {
     mCallback->InputExhausted();
   }