mock_video_codec_interface.h revision ce33035deee98c6cfdd121fc2dbb0b9e0767d1ba
135a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org/* 2ce33035deee98c6cfdd121fc2dbb0b9e0767d1bapwestin@webrtc.org * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 335a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org * 435a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org * Use of this source code is governed by a BSD-style license 535a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org * that can be found in the LICENSE file in the root of the source 635a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org * tree. An additional intellectual property rights grant can be found 735a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org * in the file PATENTS. All contributing project authors may 835a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org * be found in the AUTHORS file in the root of the source tree. 935a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org */ 105b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org 115b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org#ifndef WEBRTC_MODULES_VIDEO_CODING_CODECS_INTERFACE_MOCK_MOCK_VIDEO_CODEC_INTERFACE_H_ 125b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org#define WEBRTC_MODULES_VIDEO_CODING_CODECS_INTERFACE_MOCK_MOCK_VIDEO_CODEC_INTERFACE_H_ 1335a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org 1435a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org#include <string> 1535a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org 1635a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org#include "gmock/gmock.h" 174a190301313882772cb440b8c3c0a0bff4084a5bhenrik.lundin@webrtc.org#include "modules/video_coding/codecs/interface/video_codec_interface.h" 1835a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org#include "typedefs.h" 1935a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org 2035a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.orgnamespace webrtc { 2135a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org 225b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.orgclass MockEncodedImageCallback : public EncodedImageCallback { 235b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org public: 245b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org MOCK_METHOD3(Encoded, 255b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org WebRtc_Word32(EncodedImage& encodedImage, 265b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org const CodecSpecificInfo* codecSpecificInfo, 275b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org const RTPFragmentationHeader* fragmentation)); 285b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org}; 295b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org 3035a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.orgclass MockVideoEncoder : public VideoEncoder { 3135a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org public: 3235a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org MOCK_CONST_METHOD2(Version, 33d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32(WebRtc_Word8 *version, 34d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32 length)); 3535a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org MOCK_METHOD3(InitEncode, 36d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32(const VideoCodec* codecSettings, 37d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32 numberOfCores, 38d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_UWord32 maxPayloadSize)); 3935a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org MOCK_METHOD3(Encode, 40d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32(const RawImage& inputImage, 41d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org const CodecSpecificInfo* codecSpecificInfo, 42ce33035deee98c6cfdd121fc2dbb0b9e0767d1bapwestin@webrtc.org const VideoFrameType frameType)); 4335a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org MOCK_METHOD1(RegisterEncodeCompleteCallback, 44d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32(EncodedImageCallback* callback)); 45d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org MOCK_METHOD0(Release, WebRtc_Word32()); 46d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org MOCK_METHOD0(Reset, WebRtc_Word32()); 47a4a88f90c44c6ee287baccae10c7f7ff556dcb20stefan@webrtc.org MOCK_METHOD2(SetChannelParameters, WebRtc_Word32(WebRtc_UWord32 packetLoss, 48a4a88f90c44c6ee287baccae10c7f7ff556dcb20stefan@webrtc.org int rtt)); 4935a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org MOCK_METHOD2(SetRates, 50d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32(WebRtc_UWord32 newBitRate, 51d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_UWord32 frameRate)); 52d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org MOCK_METHOD1(SetPeriodicKeyFrames, WebRtc_Word32(bool enable)); 5335a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org MOCK_METHOD2(CodecConfigParameters, 54d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32(WebRtc_UWord8* /*buffer*/, WebRtc_Word32)); 5535a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org}; 5635a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org 575b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.orgclass MockDecodedImageCallback : public DecodedImageCallback { 585b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org public: 595b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org MOCK_METHOD1(Decoded, 605b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org WebRtc_Word32(RawImage& decodedImage)); 615b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org MOCK_METHOD1(ReceivedDecodedReferenceFrame, 625b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org WebRtc_Word32(const WebRtc_UWord64 pictureId)); 635b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org MOCK_METHOD1(ReceivedDecodedFrame, 645b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org WebRtc_Word32(const WebRtc_UWord64 pictureId)); 655b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org}; 665b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org 6735a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.orgclass MockVideoDecoder : public VideoDecoder { 6835a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org public: 6935a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org MOCK_METHOD2(InitDecode, 7035a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org WebRtc_Word32(const VideoCodec* codecSettings, 7135a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org WebRtc_Word32 numberOfCores)); 7235a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org MOCK_METHOD5(Decode, 73d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32(const EncodedImage& inputImage, 74d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org bool missingFrames, 75d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org const RTPFragmentationHeader* fragmentation, 76d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org const CodecSpecificInfo* codecSpecificInfo, 77d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word64 renderTimeMs)); 7835a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org MOCK_METHOD1(RegisterDecodeCompleteCallback, 79d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32(DecodedImageCallback* callback)); 80d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org MOCK_METHOD0(Release, WebRtc_Word32()); 81d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org MOCK_METHOD0(Reset, WebRtc_Word32()); 8235a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org MOCK_METHOD2(SetCodecConfigParameters, 83d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org WebRtc_Word32(const WebRtc_UWord8* /*buffer*/, WebRtc_Word32)); 84d292b9c9da179eca5f12f2b052dd56843add6768kjellander@webrtc.org MOCK_METHOD0(Copy, VideoDecoder*()); 8535a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org}; 8635a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org 8735a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org} // namespace webrtc 8835a1756502707ffd88069b9ccdc97a80c68c9812kjellander@webrtc.org 895b97b1216fbb8061216d4075d46596fc38d9cff4kjellander@webrtc.org#endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_INTERFACE_MOCK_MOCK_VIDEO_CODEC_INTERFACE_H_ 90