#include <stdint.h>
#include <memory>
#include <vector>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/gmock_callback_support.h"
#include "base/test/mock_callback.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "gpu/command_buffer/common/mailbox_holder.h"
#include "media/base/decoder_buffer.h"
#include "media/base/decoder_status.h"
#include "media/base/decrypt_config.h"
#include "media/base/media_log.h"
#include "media/base/mock_media_log.h"
#include "media/base/simple_sync_token_client.h"
#include "media/base/test_helpers.h"
#include "media/base/video_decoder.h"
#include "media/base/video_frame.h"
#include "media/base/waiting.h"
#include "media/mojo/clients/mojo_video_decoder.h"
#include "media/mojo/services/mojo_cdm_service_context.h"
#include "media/mojo/services/mojo_media_client.h"
#include "media/mojo/services/mojo_video_decoder_service.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/bindings/unique_receiver_set.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/color_space.h"
RunOnceCallback;
_;
AnyNumber;
AtLeast;
HasSubstr;
InSequence;
Invoke;
Mock;
Return;
SaveArg;
StrictMock;
namespace media {
namespace {
const int kMaxDecodeRequests = …;
const int kErrorDataSize = …;
class MockVideoDecoder : public VideoDecoder { … };
class FakeMojoMediaClient : public MojoMediaClient { … };
}
class MojoVideoDecoderIntegrationTest : public ::testing::Test { … };
TEST_F(MojoVideoDecoderIntegrationTest, CreateAndDestroy) { … }
TEST_F(MojoVideoDecoderIntegrationTest, GetSupportedConfigs) { … }
TEST_F(MojoVideoDecoderIntegrationTest, Initialize) { … }
TEST_F(MojoVideoDecoderIntegrationTest, InitializeFailNoDecoder) { … }
TEST_F(MojoVideoDecoderIntegrationTest, InitializeFailNoCdm) { … }
TEST_F(MojoVideoDecoderIntegrationTest, MediaLogIsProxied) { … }
TEST_F(MojoVideoDecoderIntegrationTest, WaitingForKey) { … }
TEST_F(MojoVideoDecoderIntegrationTest, Decode) { … }
TEST_F(MojoVideoDecoderIntegrationTest, Release) { … }
TEST_F(MojoVideoDecoderIntegrationTest, ReleaseAfterShutdown) { … }
TEST_F(MojoVideoDecoderIntegrationTest, ResetDuringDecode) { … }
TEST_F(MojoVideoDecoderIntegrationTest, ResetDuringDecode_ChunkedWrite) { … }
TEST_F(MojoVideoDecoderIntegrationTest, CanReadWithoutStallingAfterReset) { … }
}