#ifndef PC_RTP_SENDER_H_
#define PC_RTP_SENDER_H_
#include <stddef.h>
#include <stdint.h>
#include <memory>
#include <string>
#include <vector>
#include "absl/types/optional.h"
#include "api/crypto/frame_encryptor_interface.h"
#include "api/dtls_transport_interface.h"
#include "api/dtmf_sender_interface.h"
#include "api/frame_transformer_interface.h"
#include "api/media_stream_interface.h"
#include "api/media_types.h"
#include "api/rtc_error.h"
#include "api/rtp_parameters.h"
#include "api/rtp_sender_interface.h"
#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
#include "media/base/audio_source.h"
#include "media/base/media_channel.h"
#include "pc/dtmf_sender.h"
#include "pc/legacy_stats_collector_interface.h"
#include "rtc_base/checks.h"
#include "rtc_base/synchronization/mutex.h"
#include "rtc_base/thread.h"
#include "rtc_base/thread_annotations.h"
namespace webrtc {
bool UnimplementedRtpParameterHasValue(const RtpParameters& parameters);
class RtpSenderInternal : public RtpSenderInterface { … };
class RtpSenderBase : public RtpSenderInternal, public ObserverInterface { … };
class LocalAudioSinkAdapter : public AudioTrackSinkInterface,
public cricket::AudioSource { … };
class AudioRtpSender : public DtmfProviderInterface, public RtpSenderBase { … };
class VideoRtpSender : public RtpSenderBase { … };
}
#endif