Chromium Code Reviews| Index: webrtc/modules/video_coding/video_sender.cc |
| diff --git a/webrtc/modules/video_coding/video_sender.cc b/webrtc/modules/video_coding/video_sender.cc |
| index b9c5ea547a40865cc18e1eb49c657504c22c31cc..a90fb734730a95aad9d4b8c3f25cb39e2f42bf50 100644 |
| --- a/webrtc/modules/video_coding/video_sender.cc |
| +++ b/webrtc/modules/video_coding/video_sender.cc |
| @@ -288,9 +288,17 @@ int32_t VideoSender::AddVideoFrame(const VideoFrame& videoFrame, |
| !_encoder->SupportsNativeHandle()) { |
| // This module only supports software encoding. |
| // TODO(pbos): Offload conversion from the encoder thread. |
| - converted_frame = converted_frame.ConvertNativeToI420Frame(); |
| - RTC_CHECK(!converted_frame.IsZeroSize()) |
| - << "Frame conversion failed, won't be able to encode frame."; |
| + rtc::scoped_refptr<VideoFrameBuffer> converted_buffer( |
| + converted_frame.video_frame_buffer()->NativeToI420Buffer()); |
| + |
| + if (!converted_buffer) { |
| + LOG(LS_WARNING) << "Frame conversion failed, dropping frame."; |
|
pbos-webrtc
2016/06/16 11:21:43
LS_ERROR
nisse-webrtc
2016/06/16 13:13:07
Done.
|
| + return VCM_PARAMETER_ERROR; |
| + } |
| + converted_frame = VideoFrame(converted_buffer, |
| + converted_frame.timestamp(), |
| + converted_frame.render_time_ms(), |
| + converted_frame.rotation()); |
| } |
| int32_t ret = |
| _encoder->Encode(converted_frame, codecSpecificInfo, next_frame_types); |