#include "media/cast/sender/video_sender.h"
#include <stddef.h>
#include <stdint.h>
#include <memory>
#include <vector>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/functional/callback_helpers.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h"
#include "base/test/simple_test_tick_clock.h"
#include "base/time/time.h"
#include "components/openscreen_platform/task_runner.h"
#include "media/base/fake_single_thread_task_runner.h"
#include "media/base/mock_filters.h"
#include "media/base/video_frame.h"
#include "media/cast/cast_environment.h"
#include "media/cast/common/openscreen_conversion_helpers.h"
#include "media/cast/common/video_frame_factory.h"
#include "media/cast/constants.h"
#include "media/cast/logging/simple_event_subscriber.h"
#include "media/cast/test/fake_openscreen_clock.h"
#include "media/cast/test/fake_video_encode_accelerator_factory.h"
#include "media/cast/test/mock_openscreen_environment.h"
#include "media/cast/test/utility/default_config.h"
#include "media/cast/test/utility/video_utility.h"
#include "media/video/fake_video_encode_accelerator.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/openscreen/src/cast/streaming/capture_recommendations.h"
#include "third_party/openscreen/src/cast/streaming/environment.h"
#include "third_party/openscreen/src/cast/streaming/sender.h"
#include "third_party/openscreen/src/cast/streaming/sender_packet_router.h"
#include "third_party/openscreen/src/platform/api/time.h"
namespace media::cast {
namespace {
static const uint8_t kPixelValue = …;
static const int kWidth = …;
static const int kHeight = …;
_;
AtLeast;
void SaveOperationalStatus(OperationalStatus* out_status,
OperationalStatus in_status) { … }
void IgnorePlayoutDelayChanges(base::TimeDelta unused_playout_delay) { … }
void IgnoreVideoCaptureFeedback(
const media::VideoCaptureFeedback& unused_feedback) { … }
int GetSuggestedVideoBitrate() { … }
}
class VideoSenderTest : public ::testing::Test { … };
TEST_F(VideoSenderTest, BuiltInEncoder) { … }
TEST_F(VideoSenderTest, ExternalEncoder) { … }
TEST_F(VideoSenderTest, ExternalEncoderInitFails) { … }
TEST_F(VideoSenderTest, CheckVideoFrameFactoryIsNull) { … }
}