#ifndef MEDIA_BASE_FAKE_MEDIA_ENGINE_H_
#define MEDIA_BASE_FAKE_MEDIA_ENGINE_H_
#include <atomic>
#include <list>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
#include "absl/algorithm/container.h"
#include "absl/functional/any_invocable.h"
#include "api/audio/audio_processing.h"
#include "api/call/audio_sink.h"
#include "api/media_types.h"
#include "media/base/audio_source.h"
#include "media/base/media_channel.h"
#include "media/base/media_channel_impl.h"
#include "media/base/media_engine.h"
#include "media/base/rtp_utils.h"
#include "media/base/stream_params.h"
#include "media/engine/webrtc_video_engine.h"
#include "modules/rtp_rtcp/source/rtp_packet_received.h"
#include "rtc_base/copy_on_write_buffer.h"
#include "rtc_base/network_route.h"
#include "rtc_base/thread.h"
RtpExtension;
namespace cricket {
class FakeMediaEngine;
class FakeVideoEngine;
class FakeVoiceEngine;
template <class Base>
class RtpReceiveChannelHelper : public Base, public MediaChannelUtil { … };
template <class Base>
class RtpSendChannelHelper : public Base, public MediaChannelUtil { … };
class FakeVoiceMediaReceiveChannel
: public RtpReceiveChannelHelper<VoiceMediaReceiveChannelInterface> { … };
class FakeVoiceMediaSendChannel
: public RtpSendChannelHelper<VoiceMediaSendChannelInterface> { … };
bool CompareDtmfInfo(const FakeVoiceMediaSendChannel::DtmfInfo& info,
uint32_t ssrc,
int event_code,
int duration);
class FakeVideoMediaReceiveChannel
: public RtpReceiveChannelHelper<VideoMediaReceiveChannelInterface> { … };
class FakeVideoMediaSendChannel
: public RtpSendChannelHelper<VideoMediaSendChannelInterface> { … };
class FakeVoiceEngine : public VoiceEngineInterface { … };
class FakeVideoEngine : public VideoEngineInterface { … };
class FakeMediaEngine : public CompositeMediaEngine { … };
}
#endif