#include "media/renderers/renderer_impl.h"
#include <stdint.h>
#include <memory>
#include <optional>
#include <vector>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/memory/raw_ptr.h"
#include "base/run_loop.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/gmock_callback_support.h"
#include "base/test/gmock_move_support.h"
#include "base/test/simple_test_tick_clock.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "media/base/mock_filters.h"
#include "media/base/test_helpers.h"
#include "testing/gtest/include/gtest/gtest.h"
RunCallback;
RunClosure;
RunOnceCallback;
RunOnceClosure;
_;
DoAll;
InSequence;
Mock;
Return;
SaveArg;
StrictMock;
WithArg;
WithArgs;
namespace media {
const int64_t kStartPlayingTimeInMs = …;
ACTION_P3(SetBufferingState, renderer_client, buffering_state, reason) { … }
ACTION_P2(SetError, renderer_client, error) { … }
class RendererImplTest : public ::testing::Test { … };
TEST_F(RendererImplTest, NoStreams) { … }
TEST_F(RendererImplTest, Destroy_BeforeInitialize) { … }
TEST_F(RendererImplTest, Destroy_PendingInitialize) { … }
TEST_F(RendererImplTest, Destroy_PendingInitializeWithoutCdm) { … }
TEST_F(RendererImplTest, Destroy_PendingInitializeAfterSetCdm) { … }
TEST_F(RendererImplTest, InitializeWithAudio) { … }
TEST_F(RendererImplTest, InitializeWithVideo) { … }
TEST_F(RendererImplTest, InitializeWithAudioVideo) { … }
TEST_F(RendererImplTest, InitializeWithAudio_Failed) { … }
TEST_F(RendererImplTest, InitializeWithVideo_Failed) { … }
TEST_F(RendererImplTest, InitializeWithAudioVideo_AudioRendererFailed) { … }
TEST_F(RendererImplTest, InitializeWithAudioVideo_VideoRendererFailed) { … }
TEST_F(RendererImplTest, SetCdmBeforeInitialize) { … }
TEST_F(RendererImplTest, SetCdmAfterInitialize_ClearStream) { … }
TEST_F(RendererImplTest, SetCdmAfterInitialize_EncryptedStream_Success) { … }
TEST_F(RendererImplTest, SetCdmAfterInitialize_EncryptedStream_Failure) { … }
TEST_F(RendererImplTest, SetCdmMultipleTimes) { … }
TEST_F(RendererImplTest, StartPlayingFrom) { … }
TEST_F(RendererImplTest, StartPlayingFromWithPlaybackRate) { … }
TEST_F(RendererImplTest, FlushAfterInitialization) { … }
TEST_F(RendererImplTest, FlushAfterPlay) { … }
TEST_F(RendererImplTest, FlushAfterUnderflow) { … }
TEST_F(RendererImplTest, SetPlaybackRate) { … }
TEST_F(RendererImplTest, SetVolume) { … }
TEST_F(RendererImplTest, AudioStreamEnded) { … }
TEST_F(RendererImplTest, VideoStreamEnded) { … }
TEST_F(RendererImplTest, AudioVideoStreamsEnded) { … }
TEST_F(RendererImplTest, ErrorAfterInitialize) { … }
TEST_F(RendererImplTest, ErrorDuringPlaying) { … }
TEST_F(RendererImplTest, ErrorDuringFlush) { … }
TEST_F(RendererImplTest, ErrorAfterFlush) { … }
TEST_F(RendererImplTest, ErrorDuringInitialize) { … }
TEST_F(RendererImplTest, AudioUnderflow) { … }
TEST_F(RendererImplTest, AudioUnderflowWithVideo) { … }
TEST_F(RendererImplTest, VideoUnderflow) { … }
TEST_F(RendererImplTest, VideoUnderflowWithAudio) { … }
TEST_F(RendererImplTest, VideoUnderflowWithAudioVideoRecovers) { … }
TEST_F(RendererImplTest, VideoAndAudioUnderflow) { … }
TEST_F(RendererImplTest, VideoUnderflowWithAudioFlush) { … }
TEST_F(RendererImplTest, AudioTrackDisableThenEnable) { … }
TEST_F(RendererImplTest, VideoTrackDisableThenEnable) { … }
TEST_F(RendererImplTest, AudioUnderflowDuringAudioTrackChange) { … }
TEST_F(RendererImplTest, VideoUnderflowDuringVideoTrackChange) { … }
TEST_F(RendererImplTest, VideoUnderflowDuringAudioTrackChange) { … }
TEST_F(RendererImplTest, AudioUnderflowDuringVideoTrackChange) { … }
TEST_F(RendererImplTest, VideoResumedFromUnderflowDuringAudioTrackChange) { … }
TEST_F(RendererImplTest, AudioResumedFromUnderflowDuringVideoTrackChange) { … }
}