blob: 03c93b8619e10b76c9cfd8317d4124f5b42875cd [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 Chapovalovecc46ef2021-08-09 15:30:47 +020040 MOCK_METHOD(bool, Configure, (const Settings& settings), (override));
Danil Chapovalovfc115192020-05-08 15:03:03 +020041 MOCK_METHOD(int32_t,
42 InitDecode,
43 (const VideoCodec* codec_settings, int32_t number_of_cores),
44 (override));
45 MOCK_METHOD(int32_t,
46 Decode,
47 (const EncodedImage& input_image,
48 bool missing_frames,
49 int64_t render_time_ms),
50 (override));
51 MOCK_METHOD(int32_t,
52 RegisterDecodeCompleteCallback,
53 (DecodedImageCallback * callback),
54 (override));
55 MOCK_METHOD(int32_t, Release, (), (override));
Erik Språngc84cd952018-10-15 11:55:13 +020056};
57
58} // namespace webrtc
59
60#endif // API_TEST_MOCK_VIDEO_DECODER_H_