chromium/media/mojo/test/mojo_video_decoder_integration_test.cc

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#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 =;

// A mock VideoDecoder with helpful default functionality.
// TODO(sandersd): Determine how best to merge this with MockVideoDecoder
// declared in mock_filters.h.
class MockVideoDecoder : public VideoDecoder {};

// Proxies CreateVideoDecoder() to a callback.
class FakeMojoMediaClient : public MojoMediaClient {};

}  // namespace

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) {}

}  // namespace media