31#include "cajun/json/elements.h"
33#include <glibmm/main.h>
34#include <gstreamermm.h>
36#if defined(WIN32) && !defined(__GNUC__)
37#pragma warning( disable : 4355 )
47#define RESIPROCATE_SUBSYSTEM ReconSubsystem::RECON
60 init(defaultSampleRate, maxSampleRate);
64GstMediaStackAdapter::init(
int defaultSampleRate,
int maxSampleRate)
66 DebugLog(<<
"Gstreamer media stack initialization");
68 const char* _argv[] = {
"reConServer",
"--gst-debug",
"5", NULL };
70 char** __argv = (
char**)_argv;
72 gst_debug_remove_log_function (gst_debug_log_default);
73 gst_debug_add_log_function(gst2resip_log_function,
nullptr,
nullptr);
74 Gst::init(_argc, __argv);
76 main_loop = Glib::MainLoop::create();
88GstMediaStackAdapter::thread()
90 DebugLog(<<
"running the Gstreamer main loop");
92 DebugLog(<<
"main_loop::run() completed");
98 InfoLog(<<
"GstMediaStackAdapter shutdown");
153 WarningLog(<<
"ConversationManager::outputBridgeMatrix request with no conversation handle is not appropriate for current MediaInterfaceMode");
167 WarningLog(<<
"ConversationManager::outputBridgeMatrix requested conversation wihtout a mixer/media interface, conversationHandle=" << convHandle);
172 WarningLog(<<
"ConversationManager::outputBridgeMatrix requested for non-existing conversationHandle=" << convHandle);
191 "o=- 3843572881 3843572881 IN IP4 " + ipaddress +
"\r\n"
192 "s=Gstreamer Media Server\r\n"
193 "c=IN IP4 " + ipaddress +
"\r\n"
195 "m=audio 34712 RTP/AVP 0\r\n"
198 "a=rtpmap:0 PCMU/8000\r\n"
199 "a=ssrc:866007149 cname:user2141419334@host-99aef493\r\n"
200 "m=video 2962 RTP/AVP 97 126\r\n"
203 "a=rtpmap:97 H264/90000\r\n"
204 "a=rtpmap:126 H264/90000\r\n"
205 "a=fmtp:97 packetization-mode=0;profile-level-id=420016;max-br=5000;max-mbps=245000;max-fs=9000;max-smbps=245000;max-fps=6000;max-rcmd-nalu-size=3456000;sar-supported=16\r\n"
206 "a=fmtp:126 packetization-mode=1;profile-level-id=428016;max-br=5000;max-mbps=245000;max-fs=9000;max-smbps=245000;max-fps=6000;max-rcmd-nalu-size=3456000;sar-supported=16\r\n"
207 "a=ssrc:1014502683 cname:user2141419334@host-99aef493\r\n");
210 Mime type(
"application",
"sdp");
273 std::shared_ptr<ConversationProfile> conversationProfile)
279GstMediaStackAdapter::process()
285GstMediaStackAdapter::initializeDtlsFactory(
const resip::Data& defaultAoR)
#define WarningLog(args_)
virtual void outputBridgeMixWeights()=0
Logs a multiline representation of the current state of the mixing matrix.
This class is one of two main classes of concern to an application using the UserAgent library.
ParticipantForkSelectMode
This class is used to manage membership of participants.
BridgeMixer * getBridgeMixer() noexcept
The classes defined here are used to pass commands from the application thread to the UserAgent threa...
This class represent a remote participant.
This class represents a local participant.
This class is used by Invite DialogSets.
This class represent a remote participant.
This class is one of two main classes of concern to an application using the UserAgent library.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
size_type size() const noexcept
Returns the number of bytes in this Data.
const char * data() const noexcept
Returns a pointer to the contents of this Data.
Represents the "media-type" element in the RFC 3261 grammar.
Provides an interface to process and generate SDP bodies (MIME content-type application/sdp).
Represents the "SIP-URI" and "SIPS-URI" elements in the RFC 3261 grammar.
unsigned int ConversationHandle
unsigned int ParticipantHandle
dcm! – add UnusedChecking(_enum) below;