Index: webrtc/modules/video_coding/main/source/video_receiver.cc |
diff --git a/webrtc/modules/video_coding/main/source/video_receiver.cc b/webrtc/modules/video_coding/main/source/video_receiver.cc |
index cf0a490da991fcc27cd338450d928b1b856c95ae..8dc8ba2cfbca2f16575ba55e9f6fc3001f345e6d 100644 |
--- a/webrtc/modules/video_coding/main/source/video_receiver.cc |
+++ b/webrtc/modules/video_coding/main/source/video_receiver.cc |
@@ -235,11 +235,9 @@ int32_t VideoReceiver::RegisterDecoderTimingCallback( |
return VCM_OK; |
} |
-// Register an externally defined decoder/render object. |
-// Can be a decoder only or a decoder coupled with a renderer. |
+// Register an externally defined decoder object. |
int32_t VideoReceiver::RegisterExternalDecoder(VideoDecoder* externalDecoder, |
- uint8_t payloadType, |
- bool internalRenderTiming) { |
+ uint8_t payloadType) { |
CriticalSectionScoped cs(_receiveCritSect); |
if (externalDecoder == NULL) { |
// Make sure the VCM updates the decoder next time it decodes. |
@@ -247,7 +245,7 @@ int32_t VideoReceiver::RegisterExternalDecoder(VideoDecoder* externalDecoder, |
return _codecDataBase.DeregisterExternalDecoder(payloadType) ? 0 : -1; |
} |
return _codecDataBase.RegisterExternalDecoder( |
- externalDecoder, payloadType, internalRenderTiming) |
+ externalDecoder, payloadType) |
? 0 |
: -1; |
} |
@@ -282,14 +280,14 @@ void VideoReceiver::TriggerDecoderShutdown() { |
// Should be called as often as possible to get the most out of the decoder. |
int32_t VideoReceiver::Decode(uint16_t maxWaitTimeMs) { |
int64_t nextRenderTimeMs; |
- bool supports_render_scheduling; |
+ bool has_only_one_output_buffer = false; |
{ |
CriticalSectionScoped cs(_receiveCritSect); |
- supports_render_scheduling = _codecDataBase.SupportsRenderScheduling(); |
+ has_only_one_output_buffer = _codecDataBase.HasOnlyOneOutputBuffer(); |
} |
VCMEncodedFrame* frame = _receiver.FrameForDecoding( |
- maxWaitTimeMs, nextRenderTimeMs, supports_render_scheduling); |
+ maxWaitTimeMs, nextRenderTimeMs, has_only_one_output_buffer); |
if (frame == NULL) { |
return VCM_FRAME_NOT_READY; |
@@ -370,14 +368,8 @@ int32_t VideoReceiver::Decode(const VCMEncodedFrame& frame) { |
"type", |
frame.FrameType()); |
// Change decoder if payload type has changed |
- const bool renderTimingBefore = _codecDataBase.SupportsRenderScheduling(); |
_decoder = |
_codecDataBase.GetDecoder(frame.PayloadType(), &_decodedFrameCallback); |
- if (renderTimingBefore != _codecDataBase.SupportsRenderScheduling()) { |
- // Make sure we reset the decode time estimate since it will |
- // be zero for codecs without render timing. |
- _timing.ResetDecodeTime(); |
- } |
if (_decoder == NULL) { |
return VCM_NO_CODEC_REGISTERED; |
} |