| Index: webrtc/media/engine/webrtcvideoengine.cc
 | 
| diff --git a/webrtc/media/engine/webrtcvideoengine.cc b/webrtc/media/engine/webrtcvideoengine.cc
 | 
| index dd961ea8d31ed209ceccb647e782f8882aeee8eb..dd0a7b029a18938373b736681a5f4ac5fa08d112 100644
 | 
| --- a/webrtc/media/engine/webrtcvideoengine.cc
 | 
| +++ b/webrtc/media/engine/webrtcvideoengine.cc
 | 
| @@ -74,18 +74,9 @@ class EncoderFactoryAdapter {
 | 
|  
 | 
|  class DecoderFactoryAdapter {
 | 
|   public:
 | 
| -  struct AllocatedDecoder {
 | 
| -    AllocatedDecoder() = default;
 | 
| -    AllocatedDecoder(std::unique_ptr<webrtc::VideoDecoder> decoder,
 | 
| -                     bool is_hardware_accelerated);
 | 
| -
 | 
| -    std::unique_ptr<webrtc::VideoDecoder> decoder;
 | 
| -    bool is_hardware_accelerated;
 | 
| -  };
 | 
| -
 | 
|    virtual ~DecoderFactoryAdapter() {}
 | 
|  
 | 
| -  virtual AllocatedDecoder CreateVideoDecoder(
 | 
| +  virtual std::unique_ptr<webrtc::VideoDecoder> CreateVideoDecoder(
 | 
|        webrtc::VideoCodecType type,
 | 
|        const VideoDecoderParams& decoder_params) const = 0;
 | 
|  
 | 
| @@ -137,7 +128,7 @@ class CricketDecoderFactoryAdapter : public DecoderFactoryAdapter {
 | 
|        const CricketDecoderFactoryAdapter& other)
 | 
|        : CricketDecoderFactoryAdapter(other.external_decoder_factory_) {}
 | 
|  
 | 
| -  AllocatedDecoder CreateVideoDecoder(
 | 
| +  std::unique_ptr<webrtc::VideoDecoder> CreateVideoDecoder(
 | 
|        webrtc::VideoCodecType type,
 | 
|        const VideoDecoderParams& decoder_params) const override;
 | 
|  
 | 
| @@ -2135,12 +2126,6 @@ WebRtcVideoChannel::WebRtcVideoReceiveStream::WebRtcVideoReceiveStream(
 | 
|    RTC_DCHECK(old_decoders.empty());
 | 
|  }
 | 
|  
 | 
| -DecoderFactoryAdapter::AllocatedDecoder::AllocatedDecoder(
 | 
| -    std::unique_ptr<webrtc::VideoDecoder> decoder,
 | 
| -    bool is_hardware_accelerated)
 | 
| -    : decoder(std::move(decoder)),
 | 
| -      is_hardware_accelerated(is_hardware_accelerated) {}
 | 
| -
 | 
|  WebRtcVideoChannel::WebRtcVideoReceiveStream::~WebRtcVideoReceiveStream() {
 | 
|    if (flexfec_stream_) {
 | 
|      MaybeDissociateFlexfecFromVideo();
 | 
| @@ -2168,7 +2153,7 @@ WebRtcVideoChannel::WebRtcVideoReceiveStream::GetFirstPrimarySsrc() const {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| -DecoderFactoryAdapter::AllocatedDecoder
 | 
| +std::unique_ptr<webrtc::VideoDecoder>
 | 
|  CricketDecoderFactoryAdapter::CreateVideoDecoder(
 | 
|      webrtc::VideoCodecType type,
 | 
|      const VideoDecoderParams& decoder_params) const {
 | 
| @@ -2180,16 +2165,14 @@ CricketDecoderFactoryAdapter::CreateVideoDecoder(
 | 
|        std::unique_ptr<webrtc::VideoDecoder> internal_decoder(
 | 
|            new webrtc::VideoDecoderSoftwareFallbackWrapper(
 | 
|                type, std::move(external_decoder)));
 | 
| -      return AllocatedDecoder(std::move(internal_decoder),
 | 
| -                              true /* is_hardware_accelerated */);
 | 
| +      return internal_decoder;
 | 
|      }
 | 
|    }
 | 
|  
 | 
|    std::unique_ptr<webrtc::VideoDecoder> internal_decoder(
 | 
|        internal_decoder_factory_->CreateVideoDecoderWithParams(type,
 | 
|                                                                decoder_params));
 | 
| -  return AllocatedDecoder(std::move(internal_decoder),
 | 
| -                          false /* is_hardware_accelerated */);
 | 
| +  return internal_decoder;
 | 
|  }
 | 
|  
 | 
|  void WebRtcVideoChannel::WebRtcVideoReceiveStream::ConfigureCodecs(
 | 
| @@ -2211,12 +2194,8 @@ void WebRtcVideoChannel::WebRtcVideoReceiveStream::ConfigureCodecs(
 | 
|      }
 | 
|  
 | 
|      if (!new_decoder) {
 | 
| -      DecoderFactoryAdapter::AllocatedDecoder new_allocated_decoder =
 | 
| +      new_decoder =
 | 
|            decoder_factory_->CreateVideoDecoder(type, {stream_params_.id});
 | 
| -      new_decoder = std::unique_ptr<webrtc::VideoDecoder>(
 | 
| -          std::move(new_allocated_decoder.decoder));
 | 
| -      // TODO(andersc): are we using the is_hardware_accelerated field for
 | 
| -      // anything?
 | 
|      }
 | 
|  
 | 
|      webrtc::VideoReceiveStream::Decoder decoder;
 | 
| 
 |