1#if !defined(LibWebRTCRemoteParticipant_hxx)
2#define LibWebRTCRemoteParticipant_hxx
23class DialogUsageManager;
30#if defined(WIN32) && !defined(__GNUC__)
31#pragma warning( disable : 4250 )
36class LibWebRTCMediaStackAdapter;
77 virtual std::shared_ptr<libwebrtc::BaseRtpEndpoint>
getEndpoint() {
return mEndpoint; };
80 std::shared_ptr<libwebrtc::PlayerEndpoint>
mPlayer;
99 libwebrtc::BaseRtpEndpoint* newEndpoint();
100 virtual bool initEndpointIfRequired(
bool isWebRTC);
101 virtual void doIceGathering(libwebrtc::ContinuationString
sdpReady);
102 virtual void createAndConnectElements(libwebrtc::ContinuationVoid
cConnected);
105 std::shared_ptr<libwebrtc::BaseRtpEndpoint> mEndpoint;
106 volatile bool mIceGatheringDone;
108 std::chrono::time_point<std::chrono::steady_clock> mLastLocalKeyframeRequest = std::chrono::steady_clock::now();
This class is one of two main classes of concern to an application using the UserAgent library.
This class is used to manage membership of participants.
This is the base class for a LibWebRTCRemoteParticipant, LibWebRTCLocalParticipant and a LibWebRTCMed...
This class is used by Invite DialogSets.
This class represent a remote participant.
virtual LibWebRTCRemoteParticipantDialogSet & getLibWebRTCDialogSet()
bool mWSAcceptsKeyframeRequests
virtual void applyBridgeMixWeights() override
std::shared_ptr< libwebrtc::MediaElement > mMultiqueue
void onIceGatheringDone()
std::shared_ptr< libwebrtc::PassThroughElement > mPassThrough
virtual void addToConversation(Conversation *conversation, unsigned int inputGain=100, unsigned int outputGain=100) override
virtual void adjustRTPStreams(bool sendingOffer=false)
std::shared_ptr< libwebrtc::PlayerEndpoint > mPlayer
virtual int getConnectionPortOnBridge()
virtual bool holdPreferExistingSdp() override
virtual std::shared_ptr< libwebrtc::MediaElement > getWaitingModeElement()
bool mRemoveExtraMediaDescriptors
virtual int getMediaConnectionId()
virtual bool mediaStackPortAvailable()
virtual bool onTrickleIce(resip::TrickleIceContents &trickleIce) override
virtual std::shared_ptr< libwebrtc::BaseRtpEndpoint > getEndpoint()
virtual ~LibWebRTCRemoteParticipant()
virtual void waitingMode()
resip::SdpContents * mLastRemoteSdp
virtual bool onMediaControlEvent(resip::MediaControlContents::MediaControl &mediaControl)
virtual void removeFromConversation(Conversation *conversation) override
virtual void buildSdpOffer(bool holdSdp, CallbackSdpReady sdpReady, bool preferExistingSdp=false)
virtual void requestKeyframe() override
bool mTrickleIcePermitted
This class is used by Invite DialogSets.
This class represent a remote participant.
std::function< void(bool sdpOk, std::unique_ptr< resip::SdpContents > sdp)> CallbackSdpReady
RemoteParticipantDialogSet & getDialogSet()
Provides an interface to process and generate SDP bodies (MIME content-type application/sdp).
unsigned int ParticipantHandle
dcm! – add UnusedChecking(_enum) below;