17dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 27dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 37dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// found in the LICENSE file. 47dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 57dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_ 67dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_ 77dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 87dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "video_decode_accelerator.h" 97dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include <vector> 117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "base/basictypes.h" 137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "media/base/bitstream_buffer.h" 147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "media/base/video_decoder_config.h" 157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "media/video/picture.h" 167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "testing/gmock/include/gmock/gmock.h" 177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochnamespace media { 197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Remember to use the default action of Destroy() when using EXPECT_CALL. 217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Otherwise, the mock will be leaked and the test runner will complain. 227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochclass MockVideoDecodeAccelerator : public VideoDecodeAccelerator { 237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch public: 247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MockVideoDecodeAccelerator(); 257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch virtual ~MockVideoDecodeAccelerator(); 267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) MOCK_METHOD2(Initialize, bool(VideoCodecProfile profile, Client* client)); 287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MOCK_METHOD1(Decode, void(const BitstreamBuffer& bitstream_buffer)); 297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MOCK_METHOD1(AssignPictureBuffers, 307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch void(const std::vector<PictureBuffer>& buffers)); 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MOCK_METHOD1(ReusePictureBuffer, void(int32 picture_buffer_id)); 327dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MOCK_METHOD0(Flush, void()); 337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MOCK_METHOD0(Reset, void()); 347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MOCK_METHOD0(Destroy, void()); 35f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) MOCK_METHOD0(CanDecodeOnIOThread, bool()); 367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch private: 387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch void DeleteThis(); 397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch DISALLOW_COPY_AND_ASSIGN(MockVideoDecodeAccelerator); 407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch}; 417dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 427dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} // namespace media 437dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 447dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif // MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_ 45