Chromium Code Reviews| Index: webrtc/media/engine/internaldecoderfactory.h |
| diff --git a/webrtc/media/engine/videodecodersoftwarefallbackwrapper.h b/webrtc/media/engine/internaldecoderfactory.h |
| similarity index 21% |
| copy from webrtc/media/engine/videodecodersoftwarefallbackwrapper.h |
| copy to webrtc/media/engine/internaldecoderfactory.h |
| index 8e1a97d8179ce0e5170fc894eab81cd09dc2191f..20ceecc188c6d07c4264176e66c83cb86181e922 100644 |
| --- a/webrtc/media/engine/videodecodersoftwarefallbackwrapper.h |
| +++ b/webrtc/media/engine/internaldecoderfactory.h |
| @@ -8,54 +8,27 @@ |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| -#ifndef WEBRTC_MEDIA_ENGINE_VIDEODECODERSOFTWAREFALLBACKWRAPPER_H_ |
| -#define WEBRTC_MEDIA_ENGINE_VIDEODECODERSOFTWAREFALLBACKWRAPPER_H_ |
| +#ifndef WEBRTC_MEDIA_ENGINE_INTERNALDECODERFACTORY_H_ |
| +#define WEBRTC_MEDIA_ENGINE_INTERNALDECODERFACTORY_H_ |
| -#include <memory> |
| -#include <string> |
| +#include <vector> |
| -#include "webrtc/video_decoder.h" |
| +#include "webrtc/media/engine/webrtcvideodecoderfactory.h" |
| -namespace webrtc { |
| +namespace cricket { |
| -// Class used to wrap external VideoDecoders to provide a fallback option on |
| -// software decoding when a hardware decoder fails to decode a stream due to |
| -// hardware restrictions, such as max resolution. |
| -class VideoDecoderSoftwareFallbackWrapper : public webrtc::VideoDecoder { |
| +class InternalDecoderFactory : public WebRtcVideoDecoderFactory { |
|
stefan-webrtc
2016/11/29 16:07:37
Should we add some simple tests for this class?
magjed_webrtc
2016/11/30 16:18:48
Done, not much logic to test though, but probably
|
| public: |
| - VideoDecoderSoftwareFallbackWrapper(VideoCodecType codec_type, |
| - VideoDecoder* decoder); |
| + InternalDecoderFactory(); |
| + virtual ~InternalDecoderFactory(); |
| - int32_t InitDecode(const VideoCodec* codec_settings, |
| - int32_t number_of_cores) override; |
| + // WebRtcVideoDecoderFactory implementation. |
| + webrtc::VideoDecoder* CreateVideoDecoder( |
| + webrtc::VideoCodecType type) override; |
| - int32_t Decode(const EncodedImage& input_image, |
| - bool missing_frames, |
| - const RTPFragmentationHeader* fragmentation, |
| - const CodecSpecificInfo* codec_specific_info, |
| - int64_t render_time_ms) override; |
| - |
| - int32_t RegisterDecodeCompleteCallback( |
| - DecodedImageCallback* callback) override; |
| - |
| - int32_t Release() override; |
| - bool PrefersLateDecoding() const override; |
| - |
| - const char* ImplementationName() const override; |
| - |
| - private: |
| - bool InitFallbackDecoder(); |
| - |
| - const DecoderType decoder_type_; |
| - VideoDecoder* const decoder_; |
| - |
| - VideoCodec codec_settings_; |
| - int32_t number_of_cores_; |
| - std::string fallback_implementation_name_; |
| - std::unique_ptr<VideoDecoder> fallback_decoder_; |
| - DecodedImageCallback* callback_; |
| + void DestroyVideoDecoder(webrtc::VideoDecoder* decoder) override; |
| }; |
| -} // namespace webrtc |
| +} // namespace cricket |
| -#endif // WEBRTC_MEDIA_ENGINE_VIDEODECODERSOFTWAREFALLBACKWRAPPER_H_ |
| +#endif // WEBRTC_MEDIA_ENGINE_INTERNALDECODERFACTORY_H_ |