Bug 1372687 - replace timestamp() (90kHz) with inputImage.render_time_ms() (Milliseconds). r?jib draft
authorMunro Mengjue Chiang <mchiang@mozilla.com>
Wed, 21 Jun 2017 13:51:53 +0800
changeset 601782 07e4a609dd96d47401183ae4038c73dd932be0e5
parent 600597 53477d584130945864c4491632f88da437353356
child 635395 d270491981a379e1a8d7a606152a56d2c218c054
push id66208
push userbmo:mchiang@mozilla.com
push dateThu, 29 Jun 2017 06:25:29 +0000
reviewersjib
bugs1372687
milestone56.0a1
Bug 1372687 - replace timestamp() (90kHz) with inputImage.render_time_ms() (Milliseconds). r?jib MozReview-Commit-ID: Do3FlBoNCZ6
media/webrtc/signaling/src/media-conduit/WebrtcMediaCodecVP8VideoCodec.cpp
--- a/media/webrtc/signaling/src/media-conduit/WebrtcMediaCodecVP8VideoCodec.cpp
+++ b/media/webrtc/signaling/src/media-conduit/WebrtcMediaCodecVP8VideoCodec.cpp
@@ -100,17 +100,17 @@ public:
     if (size > 0) {
       webrtc::CriticalSectionScoped lock(mCritSect.get());
       VerifyAndAllocate(size);
 
       int64_t presentationTimeUs;
       ok = NS_SUCCEEDED(info->PresentationTimeUs(&presentationTimeUs));
       MOZ_RELEASE_ASSERT(ok);
 
-      mEncodedImage._timeStamp = presentationTimeUs;
+      mEncodedImage._timeStamp = presentationTimeUs / PR_USEC_PER_MSEC;
       mEncodedImage.capture_time_ms_ = mEncodedImage._timeStamp;
 
       int32_t flags;
       ok = NS_SUCCEEDED(info->Flags(&flags));
       MOZ_ASSERT(ok);
 
       if (flags == MediaCodec::BUFFER_FLAG_SYNC_FRAME) {
         mEncodedImage._frameType = webrtc::kVideoFrameKey;
@@ -1071,19 +1071,19 @@ int32_t WebrtcMediaCodecVP8VideoRemoteEn
 
   BufferInfo::LocalRef bufferInfo;
   nsresult rv = BufferInfo::New(&bufferInfo);
   if (NS_FAILED(rv)) {
     return WEBRTC_VIDEO_CODEC_ERROR;
   }
 
   if((*frame_types)[0] == webrtc::kVideoFrameKey) {
-    bufferInfo->Set(0, size, inputImage.timestamp(), MediaCodec::BUFFER_FLAG_SYNC_FRAME);
+    bufferInfo->Set(0, size, inputImage.render_time_ms() * PR_USEC_PER_MSEC, MediaCodec::BUFFER_FLAG_SYNC_FRAME);
   } else {
-    bufferInfo->Set(0, size, inputImage.timestamp(), 0);
+    bufferInfo->Set(0, size, inputImage.render_time_ms() * PR_USEC_PER_MSEC, 0);
   }
 
   mJavaEncoder->Input(bytes, bufferInfo, nullptr);
 
   return WEBRTC_VIDEO_CODEC_OK;
 }
 
 int32_t WebrtcMediaCodecVP8VideoRemoteEncoder::RegisterEncodeCompleteCallback(webrtc::EncodedImageCallback* callback) {