blob: faadabc4d712df314eddb532dfcb10b1e2594e5b [file] [log] [blame]
Erik Språngc84cd952018-10-15 11:55:13 +02001/*
2 * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef API_TEST_MOCK_VIDEO_DECODER_H_
12#define API_TEST_MOCK_VIDEO_DECODER_H_
13
14#include "api/video_codecs/video_decoder.h"
15#include "test/gmock.h"
16
17namespace webrtc {
18
19class MockDecodedImageCallback : public DecodedImageCallback {
20 public:
Danil Chapovalovfc115192020-05-08 15:03:03 +020021 MOCK_METHOD(int32_t,
22 Decoded,
23 (VideoFrame & decoded_image), // NOLINT
24 (override));
25 MOCK_METHOD(int32_t,
26 Decoded,
27 (VideoFrame & decoded_image, // NOLINT
28 int64_t decode_time_ms),
29 (override));
30 MOCK_METHOD(void,
31 Decoded,
32 (VideoFrame & decoded_image, // NOLINT
33 absl::optional<int32_t> decode_time_ms,
34 absl::optional<uint8_t> qp),
35 (override));
Erik Språngc84cd952018-10-15 11:55:13 +020036};
37
38class MockVideoDecoder : public VideoDecoder {
39 public:
Danil Chapovalovfc115192020-05-08 15:03:03 +020040 MOCK_METHOD(int32_t,
41 InitDecode,
42 (const VideoCodec* codec_settings, int32_t number_of_cores),
43 (override));
44 MOCK_METHOD(int32_t,
45 Decode,
46 (const EncodedImage& input_image,
47 bool missing_frames,
48 int64_t render_time_ms),
49 (override));
50 MOCK_METHOD(int32_t,
51 RegisterDecodeCompleteCallback,
52 (DecodedImageCallback * callback),
53 (override));
54 MOCK_METHOD(int32_t, Release, (), (override));
Erik Språngc84cd952018-10-15 11:55:13 +020055};
56
57} // namespace webrtc
58
59#endif // API_TEST_MOCK_VIDEO_DECODER_H_