| Index: content/renderer/media/gpu/rtc_video_encoder.cc
|
| diff --git a/content/renderer/media/gpu/rtc_video_encoder.cc b/content/renderer/media/gpu/rtc_video_encoder.cc
|
| index d9433d7c09d0c5615f7b12123a6fda603cb70d7e..df1fe60c8d19ce59c17cb5d18b9475598e053892 100644
|
| --- a/content/renderer/media/gpu/rtc_video_encoder.cc
|
| +++ b/content/renderer/media/gpu/rtc_video_encoder.cc
|
| @@ -618,9 +618,16 @@ void RTCVideoEncoder::Impl::EncodeOneFrame() {
|
| }
|
|
|
| if (requires_copy) {
|
| + // TODO(magjed/emircan): This check is needed in order for the
|
| + // |pending_timestamps_| DHCECK below to not fail. It shouldn't be
|
| + // necessary.
|
| + const bool use_media_timestamp =
|
| + frame && (frame->HasTextures() ||
|
| + frame->storage_type() == media::VideoFrame::STORAGE_SHMEM);
|
| const base::TimeDelta timestamp =
|
| - frame ? frame->timestamp()
|
| - : base::TimeDelta::FromMilliseconds(next_frame->ntp_time_ms());
|
| + use_media_timestamp
|
| + ? frame->timestamp()
|
| + : base::TimeDelta::FromMilliseconds(next_frame->ntp_time_ms());
|
| base::SharedMemory* input_buffer = input_buffers_[index].get();
|
| frame = media::VideoFrame::WrapExternalSharedMemory(
|
| media::PIXEL_FORMAT_I420, input_frame_coded_size_,
|
|
|