| 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;
 | 
|    }
 | 
| 
 |