medooze / media-server Goto Github PK
View Code? Open in Web Editor NEWWebRTC Media Server
License: GNU General Public License v2.0
WebRTC Media Server
License: GNU General Public License v2.0
https://github.com/medooze/media-server/blob/master/src/dtls.cpp#L816
if (SSL_clear(ssl)==0)
Error("-DTLSConnection::Write() | SSL_clear() failed: %s", ERR_error_string(ERR_get_error(), NULL));
ssl = nullptr;
ssl will be set to nullptr after SSL_clear. There is no chance to call SSL_free on ssl.
Could there be a memory leak?
=================================================================
==4904==ERROR: AddressSanitizer: heap-use-after-free on address 0x61c0000458c8 at pc 0x7f27381ec139 bp 0x7f2737dda150 sp 0x7f2737dda140
WRITE of size 4 at 0x61c0000458c8 thread T6
#0 0x7f27381ec138 in RTPIncomingSourceGroup::SetRTT(unsigned int) ../media-server/src/rtp/RTPIncomingSourceGroup.cpp:137
#1 0x7f27380de7d6 in DTLSICETransport::SetRTT(unsigned int) ../media-server/src/DTLSICETransport.cpp:2353
#2 0x7f27380ec4ba in DTLSICETransport::onRTCP(std::shared_ptr<RTCPCompoundPacket> const&) ../media-server/src/DTLSICETransport.cpp:2076
#3 0x7f273810308c in DTLSICETransport::onData(ICERemoteCandidate const*, unsigned char*, unsigned int) ../media-server/src/DTLSICETransport.cpp:134
#4 0x7f27380cfc93 in ICERemoteCandidate::onData(unsigned char*, unsigned int) ../media-server/include/ICERemoteCandidate.h:52
#5 0x7f27380cfc93 in RTPBundleTransport::Read() ../media-server/src/RTPBundleTransport.cpp:533
#6 0x7f27380d1d17 in RTPBundleTransport::Run() ../media-server/src/RTPBundleTransport.cpp:680
#7 0x7f27380d1ebc in RTPBundleTransport::run(void*) ../media-server/src/RTPBundleTransport.cpp:644
#8 0x7f273d9227fb in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x77fb)
#9 0x7f273d64fb5e in clone (/lib/x86_64-linux-gnu/libc.so.6+0x114b5e)
0x61c0000458c8 is located 72 bytes inside of 1792-byte region [0x61c000045880,0x61c000045f80)
freed by thread T0 here:
#0 0x7f273e91a2d0 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe12d0)
#1 0x7f2737fb79fa in _wrap_delete_RTPIncomingSourceGroup ../src/media-server_wrap.cxx:10464
#2 0xe7a01d in v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) (/root/.nvm/versions/node/v8.8.1/bin/node+0xe7a01d)
#3 0xe7a289 in v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector, v8::GCCallbackFlags) (/root/.nvm/versions/node/v8.8.1/bin/node+0xe7a 289)
#4 0xea544d in v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (/root/.nvm/versions/node/v8.8.1/bin/node+0xea544d)
#5 0xea6220 in v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (/root/.nvm/versions/node/v8.8.1/bi n/node+0xea6220)
#6 0xe49b91 in v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) (/root/.nvm/versions/node/v8.8.1/bin/node+0xe49b91)
#7 0x10c775f in v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) (/root/.nvm/versions/node/v8.8.1/bin/node+0x10c775f)
My node.js xmlrpc client reports error when receives response.
I change the code like this, then my node.js xmlrpc client works well.
https://github.com/medooze/media-server/blob/master/src/xmlrpcserver.cpp#L305
int XmlRpcServer::SendResponse(TSession *r, short code, const char *msg, int length)
{
//Chunked output
ResponseChunked(r);
//POnemos el codigo
ResponseStatus(r,code);
//El content length
// ResponseContentLength(r, length);
//Escribimos la respuesta
ResponseWriteStart(r);
//La mandamos
ResponseWriteBody(r,(char*)msg,length);
//End it
ResponseWriteEnd(r);
return 1;
}
I compiled and setup the system accoroding to "[GUIDE] HOW TO INSTALL MCU MEDIA SERVER ON CENTOS 7", but when I placed a call via LinPhone, I got the following mcu crash log(on centos 7.3):
0x7fc115708f00][1507538515.833][LOG]-Dispatching [/mcu]
[0x7fc115708f00][1507538515.833][LOG]>ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538515.833][LOG]-ProcessRequest [method:EventQueueCreate]
[0x7fc115708f00][1507538515.833][LOG]<ProcessRequest [time:0]
[0x7fc1156e7f00][1507538515.847][LOG]-Dispatching [/events/mcu/910032896]
[0x7fc1156e7f00][1507538515.847][LOG]>ProcessRequest [uri:/events/mcu/910032896]
[0x7fc115708f00][1507538515.857][LOG]-Dispatching [/mcu]
[0x7fc115708f00][1507538515.857][LOG]>ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538515.857][LOG]-ProcessRequest [method:CreateConference]
[0x7fc115708f00][1507538515.857][LOG]>CreateConference [tag:conf-a0aa39e7-539c-4826-bc0b-dc09f455fc8b,queueId:910032896]
[0x7fc115708f00][1507538515.857][LOG]-CreateEvenSource [source:conf-a0aa39e7-539c-4826-bc0b-dc09f455fc8b]
[0x7fc115708f00][1507538515.858][LOG]<CreateConference [910032896]
[0x7fc115708f00][1507538515.858][LOG]<ProcessRequest [time:0]
[0x7fc1156c6f00][1507538515.864][LOG]-Dispatching [/mcu]
[0x7fc1156c6f00][1507538515.864][LOG]>ProcessRequest [uri:/mcu]
[0x7fc1156c6f00][1507538515.865][LOG]-ProcessRequest [method:EventQueueDelete]
[0x7fc1156c6f00][1507538515.865][LOG]-Destroy event queue [id:910032896]
[0x7fc1156e7f00][1507538515.865][LOG]<ProcessRequest [time:17]
[0x7fc1156c6f00][1507538515.867][LOG]<ProcessRequest [time:2]
[0x7fc115708f00][1507538515.888][LOG]-Dispatching [/mcu]
[0x7fc115708f00][1507538515.888][LOG]>ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538515.888][LOG]-ProcessRequest [method:EventQueueCreate]
[0x7fc115708f00][1507538515.888][LOG]<ProcessRequest [time:0]
[0x7fc1156e7f00][1507538515.895][LOG]-Dispatching [/events/mcu/910032897]
[0x7fc1156e7f00][1507538515.895][LOG]>ProcessRequest [uri:/events/mcu/910032897]
[0x7fc1156c6f00][1507538515.918][LOG]-Dispatching [/mcu]
[0x7fc1156c6f00][1507538515.918][LOG]>ProcessRequest [uri:/mcu]
[0x7fc1156c6f00][1507538515.924][LOG]-ProcessRequest [method:SetCompositionType]
[0x7fc1156c6f00][1507538515.924][LOG]-GetConferenceRef [910032896]
[0x7fc1156c6f00][1507538515.924][LOG]-SetCompositionType [mosaic:0,comp:0,size:0]
[0x7fc1156c6f00][1507538515.924][LOG]>SetCompositionType [id:0,comp:0,size:0]
[0x7fc1156c6f00][1507538515.924][LOG]-MosaicSlots 0 [0000]
[0x7fc1156c6f00][1507538515.924][LOG]-MosaicPos 0 [0000]
[0x7fc1156c6f00][1507538515.924][LOG]<SetCompositionType
[0x7fc1156c6f00][1507538515.924][LOG]>ReleaseConferenceRef [910032896]
[0x7fc1156c6f00][1507538515.924][LOG]<ReleaseConferenceRef
[0x7fc1156c6f00][1507538515.925][LOG]<ProcessRequest [time:6]
[0x7fc1156c6f00][1507538515.938][LOG]-Dispatching [/mcu]
[0x7fc1156c6f00][1507538515.938][LOG]>ProcessRequest [uri:/mcu]
[0x7fc1156c6f00][1507538515.938][LOG]-ProcessRequest [method:GetConferences]
[0x7fc1156c6f00][1507538515.938][LOG]>GetConferenceList
[0x7fc1156c6f00][1507538515.938][LOG]<GetConferenceList
[0x7fc1156c6f00][1507538515.939][LOG]<ProcessRequest [time:0]
[0x7fc1156c6f00][1507538515.946][LOG]-Dispatching [/mcu]
[0x7fc1156c6f00][1507538515.946][LOG]>ProcessRequest [uri:/mcu]
[0x7fc1156c6f00][1507538515.946][LOG]-ProcessRequest [method:StartBroadcaster]
[0x7fc1156c6f00][1507538515.946][LOG]-GetConferenceRef [910032896]
[0x7fc1156c6f00][1507538515.946][LOG]>StartBroadcaster
[0x7fc1156c6f00][1507538515.946][ERR]-Not inited
[0x7fc1156c6f00][1507538515.946][LOG]>ReleaseConferenceRef [910032896]
[0x7fc1156c6f00][1507538515.946][LOG]<ReleaseConferenceRef
[0x7fc1156c6f00][1507538515.946][ERR]Error processing xml cmd ["Could not start broadcaster"]
[0x7fc115708f00][1507538515.946][LOG]-Dispatching [/mcu]
[0x7fc115708f00][1507538515.946][LOG]>ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538515.946][LOG]-ProcessRequest [method:EventQueueDelete]
[0x7fc115708f00][1507538515.946][LOG]-Destroy event queue [id:910032897]
[0x7fc1156c6f00][1507538515.946][LOG]<ProcessRequest [time:0]
[0x7fc1156e7f00][1507538515.947][LOG]<ProcessRequest [time:51]
[0x7fc115708f00][1507538515.947][LOG]<ProcessRequest [time:0]
[0x7fc115708f00][1507538515.980][LOG]-Dispatching [/mcu]
[0x7fc115708f00][1507538515.980][LOG]>ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538515.980][LOG]-ProcessRequest [method:EventQueueCreate]
[0x7fc115708f00][1507538515.980][LOG]<ProcessRequest [time:0]
[0x7fc1156e7f00][1507538515.999][LOG]-Dispatching [/events/mcu/910032898]
[0x7fc1156e7f00][1507538516.000][LOG]>ProcessRequest [uri:/events/mcu/910032898]
[0x7fc115708f00][1507538516.010][LOG]-Dispatching [/mcu]
[0x7fc115708f00][1507538516.010][LOG]>ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538516.010][LOG]-ProcessRequest [method:InitConference]
[0x7fc115708f00][1507538516.010][LOG]-GetConferenceRef [910032896]
[0x7fc115708f00][1507538516.010][LOG]-Init multiconf [vad:0]
[0x7fc115708f00][1507538516.010][LOG]-Init audio mixer [vad:0,rate:8000]
[0x7fc115708f00][1507538516.011][LOG]-Created thread [0x7fc108003540]
[0x7fc0fffff700][1507538516.017][LOG]-MixAudioThread [0x7fc0fffff700]
[0x7fc0fffff700][1507538516.017][LOG]>MixAudio
[0x7fc1156c6f00][1507538516.018][LOG]-Dispatching [/mcu]
[0x7fc1156c6f00][1507538516.018][LOG]>ProcessRequest [uri:/mcu]
[0x7fc1156c6f00][1507538516.018][LOG]-ProcessRequest [method:GetConferences]
[0x7fc1156c6f00][1507538516.018][LOG]>GetConferenceList
[0x7fc1156c6f00][1507538516.018][LOG]<GetConferenceList
[0x7fc1156c6f00][1507538516.018][LOG]<ProcessRequest [time:0]
[0x7fc115708f00][1507538516.019][LOG]>Create mosaic
[0x7fc115708f00][1507538516.019][LOG]>SetCompositionType [id:0,comp:1,size:1]
[0x7fc115708f00][1507538516.019][LOG]-MosaicSlots 0 [0000,0000,0000,0000]
[0x7fc115708f00][1507538516.019][LOG]-MosaicPos 0 [0000,0000,0000,0000]
[0x7fc115708f00][1507538516.019][LOG]<SetCompositionType
[0x7fc115708f00][1507538516.019][LOG]<Create mosaic [id:0]
[0x7fc115708f00][1507538516.019][LOG]-Created thread [0x7fc1080033f8]
[0x7fc115708f00][1507538516.019][LOG]-Created thread [0x7fc1080036e0]
[0x7fc115708f00][1507538516.019][LOG]>CreateMixer audio [500]
[0x7fc115708f00][1507538516.019][LOG]<CreateMixer audio
[0x7fc115708f00][1507538516.019][LOG]>CreateMixer text [500]
[0x7fc115708f00][1507538516.019][LOG]-Text [500,watcher]
[0x7fc115708f00][1507538516.019][LOG]<CreateMixer text
[0x7fc115708f00][1507538516.019][LOG]>Init audio encoder
[0x7fc115708f00][1507538516.019][LOG]<Init audio encoder
[0x7fc115708f00][1507538516.019][LOG]>Init text encoder
[0x7fc115708f00][1507538516.019][LOG]<Init text encoder
[0x7fc115708f00][1507538516.019][LOG]-SetAudioCodec [8,PCMA]
[0x7fc115708f00][1507538516.019][LOG]>Init mixer [500]
[0x7fc115708f00][1507538516.019][LOG]-PipeAudioInput init [rate:8000]
[0x7fc115708f00][1507538516.019][LOG]-PipeAudioOutput init [rate:8000]
[0x7fc115708f00][1507538516.019][LOG]<Init mixer [500]
[0x7fc115708f00][1507538516.019][LOG]>Init mixer [500]
[0x7fc115708f00][1507538516.019][LOG]PipeTextOutput init
[0x7fc115708f00][1507538516.019][LOG]-AddReader [500]
[0x7fc115708f00][1507538516.019][LOG]-Text [500,watcher]
[0x7fc115708f00][1507538516.019][LOG][500,500]
[0x7fc115708f00][1507538516.019][LOG]<Init mixer [500]
[0x7fc115708f00][1507538516.019][LOG]>Start encoding audio
[0x7fc115708f00][1507538516.019][LOG]-Created thread [0x7fc108003e18]
[0x7fc115708f00][1507538516.019][LOG]<StartSending audio [1]
[0x7fc115708f00][1507538516.019][LOG]>Start encoding text
[0x7fc115708f00][1507538516.019][LOG]-Created thread [0x7fc108003e88]
[0x7fc115708f00][1507538516.019][LOG]<StartSending text [1]
[0x7fc115708f00][1507538516.019][LOG]>CreateMixer video [1]
[0x7fc115708f00][1507538516.019][LOG]<CreateMixer video
[0x7fc115708f00][1507538516.019][LOG]>Init mixer [id:1,mosaic:-1]
[0x7fc115708f00][1507538516.019][LOG]PipeVideoInput init
[0x7fc115708f00][1507538516.019][LOG]-No mosaic for participant found, will be send only.
[0x7fc115708f00][1507538516.019][LOG]<Init mixer [1]
[0x7fc115708f00][1507538516.019][LOG]>ReleaseConferenceRef [910032896]
[0x7fc115708f00][1507538516.019][LOG]<ReleaseConferenceRef
[0x7fc115708f00][1507538516.019][LOG]<ProcessRequest [time:9]
[0x7fc0ff7fe700][1507538516.023][LOG]-MixVideoThread [0x7fc0ff7fe700]
[0x7fc0ff7fe700][1507538516.023][LOG]>MixVideo
[0x7fc0feffd700][1507538516.023][LOG]-MixTextThread [0x7fc0feffd700]
[0x7fc0feffd700][1507538516.023][LOG]>MixText
[0x7fc0fe7fc700][1507538516.023][LOG]Encoding audio [0x7fc0fe7fc700]
[0x7fc0fe7fc700][1507538516.023][LOG]>Encode Audio
[0x7fc0fe7fc700][1507538516.023][LOG]-CreateAudioEncoder [8,PCMA]
[0x7fc0fe7fc700][1507538516.023][LOG]-PipeAudioInput start recording [rate:8000]
[0x7fc0fe7fc700][1507538516.023][LOG]-No resampling needed, same sample rate [in:8000,out:8000]
[0x7fc0fdffb700][1507538516.023][LOG]Encoding text [0x7fc0fdffb700]
[0x7fc115708f00][1507538516.065][LOG]-Dispatching [/mcu]
[0x7fc115708f00][1507538516.065][LOG]>ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538516.065][LOG]-ProcessRequest [method:EventQueueDelete]
[0x7fc115708f00][1507538516.065][LOG]-Destroy event queue [id:910032898]
[0x7fc1156e7f00][1507538516.065][LOG]<ProcessRequest [time:65]
[0x7fc115708f00][1507538516.067][LOG]<ProcessRequest [time:2]
[0x7fc115708f00][1507538516.081][LOG]-Dispatching [/mcu]
[0x7fc115708f00][1507538516.081][LOG]>ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538516.081][LOG]-ProcessRequest [method:EventQueueCreate]
[0x7fc115708f00][1507538516.082][LOG]<ProcessRequest [time:0]
[0x7fc115708f00][1507538516.089][LOG]-Dispatching [/mcu]
[0x7fc1156e7f00][1507538516.089][LOG][0x7fc115708f00][1507538516.089][LOG]-Dispatching [/events/mcu/910032899]
[0x7fc1156e7f00][1507538516.089][LOG]>ProcessRequest [uri:/events/mcu/910032899]
ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538516.090][LOG]-ProcessRequest [method:GetConferences]
[0x7fc115708f00][1507538516.090][LOG]>GetConferenceList
[0x7fc115708f00][1507538516.090][LOG]<GetConferenceList
[0x7fc115708f00][1507538516.092][LOG]<ProcessRequest [time:1]
====
[0x7fc115708f00][1507538586.812][LOG]-Dispatching [/mcu]
[0x7fc115708f00][1507538586.812][LOG]>ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538586.812][LOG]-ProcessRequest [method:CreateParticipant]
[0x7fc115708f00][1507538586.812][LOG]-GetConferenceRef [910032896]
[0x7fc115708f00][1507538586.812][LOG]>CreateParticipant [mosaic:0]
[0x7fc115708f00][1507538586.812][LOG]>CreateMixer video [501]
[0x7fc115708f00][1507538586.812][LOG]<CreateMixer video
[0x7fc115708f00][1507538586.812][LOG]>CreateMixer audio [501]
[0x7fc115708f00][1507538586.812][LOG]<CreateMixer audio
[0x7fc115708f00][1507538586.812][LOG]>CreateMixer text [501]
[0x7fc115708f00][1507538586.812][LOG]-Text [501,linphone]
[0x7fc115708f00][1507538586.812][LOG]<CreateMixer text
[0x7fc115708f00][1507538586.812][LOG]-CreateEvenSource [source:conf-a0aa39e7-539c-4826-bc0b-dc09f455fc8b@501]
[0x7fc115708f00][1507538586.812][LOG]-RTPParticipant [id:501,token:d88a3edd-f1e6-44f8-a1e4-41ad71a2ea1d,tag:conf-a0aa39e7-539c-4826-bc0b-dc09f455fc8b@501]
[0x7fc115708f00][1507538586.812][LOG]>Init video stream
[0x7fc115708f00][1507538586.813][LOG]>RTPTransport::Init()
[0x7fc115708f00][1507538586.813][LOG]-RTPTransport::Init() | Got ports [55106,55107]
[0x7fc115708f00][1507538586.813][LOG]-Created thread [0x7fc1080438c0]
[0x7fc115708f00][1507538586.813][LOG]<RTPTransport::Init()
[0x7fc115708f00][1507538586.813][LOG]-Created thread [0x7fc108044458]
[0x7fc115708f00][1507538586.813][LOG]<Init video stream
[0x7fc115708f00][1507538586.813][LOG]>Init audio stream
[0x7fc115708f00][1507538586.813][LOG]>RTPTransport::Init()
[0x7fc0fcff9700][1507538586.813][LOG]RTPSmootherThread [0x7fc0fcff9700]
[0x7fc0fcff9700][1507538586.813][LOG]>RTPSmoother run
[0x7fc0fd7fa700][1507538586.813][LOG]-RTPTransport::run() | thread [13907,0x80437d8]
[0x7fc0fd7fa700][1507538586.813][LOG]>RTPTransport::Run() | [0x7fc1080437d8]
[0x7fc115708f00][1507538586.813][LOG]-RTPTransport::Init() | Got ports [64142,64143]
[0x7fc115708f00][1507538586.815][LOG]-Created thread [0x7fc108044860]
[0x7fc115708f00][1507538586.815][LOG]<RTPTransport::Init()
[0x7fc115708f00][1507538586.815][LOG]<Init audio stream
[0x7fc115708f00][1507538586.815][LOG]>Init text stream
[0x7fc115708f00][1507538586.815][LOG]>RTPTransport::Init()
[0x7fc115708f00][1507538586.815][LOG]-RTPTransport::Init() | Got ports [56970,56971]
[0x7fc115708f00][1507538586.815][LOG]-Created thread [0x7fc108045680]
[0x7fc115708f00][1507538586.815][LOG]<RTPTransport::Init()
[0x7fc115708f00][1507538586.815][LOG]<Init text stream
[0x7fc115708f00][1507538586.815][LOG]>Init mixer [id:501,mosaic:0]
[0x7fc115708f00][1507538586.815][LOG]PipeVideoInput init
[0x7fc115708f00][1507538586.815][LOG]<Init mixer [501]
[0x7fc115708f00][1507538586.815][LOG]>Init mixer [501]
[0x7fc115708f00][1507538586.815][LOG]-PipeAudioInput init [rate:8000]
[0x7fc115708f00][1507538586.815][LOG]-PipeAudioOutput init [rate:8000]
[0x7fc115708f00][1507538586.815][LOG]<Init mixer [501]
[0x7fc115708f00][1507538586.815][LOG]>Init mixer [501]
[0x7fc115708f00][1507538586.815][LOG]PipeTextOutput init
[0x7fc115708f00][1507538586.815][LOG]-AddReader [501]
[0x7fc115708f00][1507538586.815][LOG]-Text [501,linphone]
[0x7fc115708f00][1507538586.815][LOG]-AddWritter [id:501,name:"linphone"]
[0x7fc115708f00][1507538586.815][LOG][501,500]
[0x7fc115708f00][1507538586.815][LOG]-AddWritter [id:500,name:"watcher"]
[0x7fc115708f00][1507538586.815][LOG][501,501]
[0x7fc115708f00][1507538586.815][LOG]<Init mixer [501]
[0x7fc115708f00][1507538586.815][LOG]<CreateParticipant [501]
[0x7fc115708f00][1507538586.815][LOG]>ReleaseConferenceRef [910032896]
[0x7fc115708f00][1507538586.815][LOG]<ReleaseConferenceRef
[0x7fc115708f00][1507538586.816][LOG]<ProcessRequest [time:3]
[0x7fc0effff700][1507538586.819][LOG]-RTPTransport::run() | thread [13907,0x8044778]
[0x7fc0effff700][1507538586.819][LOG]>RTPTransport::Run() | [0x7fc108044778]
[0x7fc0ef7fe700][1507538586.862][LOG]-RTPTransport::run() | thread [13907,0x8045598]
[0x7fc0ef7fe700][1507538586.862][LOG]>RTPTransport::Run() | [0x7fc108045598]
[0x7fc115708f00][1507538586.959][LOG]-Dispatching [/mcu]
[0x7fc115708f00][1507538586.959][LOG]>ProcessRequest [uri:/mcu]
[0x7fc115708f00][1507538586.960][LOG]-ProcessRequest [method:StartReceiving]
Segmentation fault (core dumped)
=====================
the app server log:
INFO: MediaMixer mcu event queue connected [id:mixer1]
2017-10-09 16:43:06,793 INFO [UDPMessageChannel] (Mobicents-SIP-Servlets-UDPMessageChannelThread-28) Setting SIPMessage peerPacketSource to: /10.3.14.117:5060
2017-10-09 16:43:06,795 INFO [SIPTransactionStack] (Mobicents-SIP-Servlets-UDPMessageChannelThread-28) <message
from="10.3.14.117:5060"
to="10.3.14.178:5080"
time="1507538586790"
isSender="false"
transactionId="z9hg4bk.frxkubziv"
callId="1Ug6~4L6Fe"
firstLine="INVITE sip:[email protected]:5080 SIP/2.0"
;tag=Myc76nj~1 To: CSeq: 20 INVITE Call-ID: 1Ug6~4L6Fe Max-Forwards: 70 Supported: replaces,outbound Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,NOTIFY,MESSAGE,SUBSCRIBE,INFO,UPDATE Content-Type: application/sdp Contact: ;+sip.instance="" User-Agent: Linphone Desktop/4.1.1 (belle-sip/1.6.3) Content-Length: 492 v=0 o=linphone 1113 1597 IN IP4 10.3.14.117 s=Talk c=IN IP4 10.3.14.117 t=0 0 a=rtcp-xr:rcvr-rtt=all:10000 stat-summary=loss,dup,jitt,TTL voip-metrics m=audio 7078 RTP/AVP 96 97 98 0 8 101 99 100 a=rtpmap:96 opus/48000/2 a=fmtp:96 useinbandfec=1 a=rtpmap:97 speex/16000 a=fmtp:97 vbr=on a=rtpmap:98 speex/8000 a=fmtp:98 vbr=on a=rtpmap:101 telephone-event/48000 a=rtpmap:99 telephone-event/16000 a=rtpmap:100 telephone-event/8000 a=rtcp-fb:* trr-int 5 a=rtcp-fb:* ccm tmmbr ]]>
2017-10-09 16:43:06,800 INFO [SIPTransactionStack] (Mobicents-SIP-Servlets-UDPMessageChannelThread-28) <message
from="10.3.14.178:5080"
to="10.3.14.117:5060"
time="1507538586799"
isSender="true"
transactionId="z9hg4bk.frxkubziv"
callId="1Ug6~4L6Fe"
firstLine="SIP/2.0 100 Trying"
Via: SIP/2.0/UDP 10.3.14.117:5060;branch=z9hG4bK.fRXKuBZiV;rport=5060;received=10.3.14.117 CSeq: 20 INVITE Call-ID: 1Ug6~4L6Fe From: ;tag=Myc76nj~1 Server: Mobicents Sip Servlets 3.0.0-SNAPSHOT Content-Length: 0 ]]>
Oct 09, 2017 4:43:06 PM org.murillo.mcuWeb.ConferenceMngr onInviteRequest
INFO: found conference confId=conf-a0aa39e7-539c-4826-bc0b-dc09f455fc8b
Oct 09, 2017 4:43:06 PM org.murillo.MediaServer.XmlRpcMcuClient CreateParticipant
INFO: CreateParticipant(910,032,896,linphone,d88a3edd-f1e6-44f8-a1e4-41ad71a2ea1d,0,0,0)
2017-10-09 16:43:06,873 INFO [SIPTransactionStack] (Mobicents-SIP-Servlets-UDPMessageChannelThread-28) <message
from="10.3.14.178:5080"
to="10.3.14.117:5060"
time="1507538586871"
isSender="true"
transactionId="z9hg4bk.frxkubziv"
callId="1Ug6~4L6Fe"
firstLine="SIP/2.0 180 Ringing"
;tag=21438808_a2b011f2_655e17f9_a50b6412 Via: SIP/2.0/UDP 10.3.14.117:5060;branch=z9hG4bK.fRXKuBZiV;rport=5060;received=10.3.14.117 CSeq: 20 INVITE Call-ID: 1Ug6~4L6Fe From: ;tag=Myc76nj~1 Server: Mobicents Sip Servlets 3.0.0-SNAPSHOT Contact: Content-Length: 0 ]]>
Oct 09, 2017 4:43:06 PM org.murillo.mcuWeb.Participant setState
SEVERE: Partipant 2 change state from CREATED to WAITING_ACCEPT
Oct 09, 2017 4:43:06 PM org.murillo.MediaServer.XmlRpcMcuClient StartReceiving
INFO: StartReceiving(910,032,896,501,0,{0=0, 96=98, 97=117, 8=8},{4})
Oct 09, 2017 4:43:07 PM org.murillo.mcuWeb.MediaMixer onMCUEventQueueError
SEVERE: MediaMixer mcu error [id:mixer1,queueId:910,032,899]
Oct 09, 2017 4:43:07 PM org.murillo.mcuWeb.RTPParticipant accept
SEVERE: null
org.apache.xmlrpc.XmlRpcException: Async execution error Failed to create input stream: Connection refused (Connection refused)
at org.murillo.MediaServer.XmlRpcTimedClient.execute(XmlRpcTimedClient.java:48)
at org.murillo.MediaServer.XmlRpcMcuClient.StartReceiving(XmlRpcMcuClient.java:590)
at org.murillo.mcuWeb.RTPParticipant.startReceiving(RTPParticipant.java:2618)
at org.murillo.mcuWeb.RTPParticipant.accept(RTPParticipant.java:1892)
at org.murillo.mcuWeb.RTPParticipant.onInviteRequest(RTPParticipant.java:1767)
at org.murillo.mcuWeb.ConferenceMngr.onInviteRequest(ConferenceMngr.java:1160)
at org.murillo.mcuWeb.MCUSipServlet.doInvite(MCUSipServlet.java:118)
at javax.servlet.sip.SipServlet.doRequest(SipServlet.java:231)
at javax.servlet.sip.SipServlet.service(SipServlet.java:328)
at org.mobicents.servlet.sip.core.dispatchers.MessageDispatcher.callServlet(MessageDispatcher.java:369)
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher$InitialDispatchTask.dispatch(InitialRequestDispatcher.java:750)
at org.mobicents.servlet.sip.core.dispatchers.DispatchTask.dispatchAndHandleExceptions(DispatchTask.java:58)
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchInsideContainer(InitialRequestDispatcher.java:451)
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchMessage(InitialRequestDispatcher.java:306)
at org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:927)
at gov.nist.javax.sip.EventScanner.deliverRequestEvent(EventScanner.java:250)
at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:146)
at gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:185)
at gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1328)
at gov.nist.javax.sip.stack.SIPServerTransactionImpl.processRequest(SIPServerTransactionImpl.java:851)
at gov.nist.javax.sip.stack.UDPMessageChannel.processMessage(UDPMessageChannel.java:581)
at gov.nist.javax.sip.stack.UDPMessageChannel.processIncomingDataPacket(UDPMessageChannel.java:527)
at gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:325)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.xmlrpc.XmlRpcException: Failed to create input stream: Connection refused (Connection refused)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.getInputStream(XmlRpcSunHttpTransport.java:99)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:152)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
at org.apache.xmlrpc.client.XmlRpcClientWorker$1.run(XmlRpcClientWorker.java:80)
... 1 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:580)
at java.net.Socket.connect(Socket.java:529)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:826)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:664)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1371)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.getInputStream(XmlRpcSunHttpTransport.java:92)
... 5 more
Caused by:
org.apache.xmlrpc.XmlRpcException: Failed to create input stream: Connection refused (Connection refused)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.getInputStream(XmlRpcSunHttpTransport.java:99)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:152)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
at org.apache.xmlrpc.client.XmlRpcClientWorker$1.run(XmlRpcClientWorker.java:80)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:580)
at java.net.Socket.connect(Socket.java:529)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:826)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:664)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1371)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.getInputStream(XmlRpcSunHttpTransport.java:92)
... 5 more
Caused by:
java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:580)
at java.net.Socket.connect(Socket.java:529)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:826)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:664)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1371)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.getInputStream(XmlRpcSunHttpTransport.java:92)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:152)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
at org.apache.xmlrpc.client.XmlRpcClientWorker$1.run(XmlRpcClientWorker.java:80)
at java.lang.Thread.run(Thread.java:748)
2017-10-09 16:43:07,659 INFO [SIPTransactionStack] (Mobicents-SIP-Servlets-UDPMessageChannelThread-28) <message
from="10.3.14.178:5080"
to="10.3.14.117:5060"
time="1507538587658"
isSender="true"
transactionId="z9hg4bk.frxkubziv"
callId="1Ug6~4L6Fe"
firstLine="SIP/2.0 500 Async execution error Failed to create input stream: Connection refused (Connection refused)"
;tag=21438808_a2b011f2_655e17f9_a50b6412 Via: SIP/2.0/UDP 10.3.14.117:5060;branch=z9hG4bK.fRXKuBZiV;rport=5060;received=10.3.14.117 CSeq: 20 INVITE Call-ID: 1Ug6~4L6Fe From: ;tag=Myc76nj~1 Server: Mobicents Sip Servlets 3.0.0-SNAPSHOT Contact: Content-Length: 0 ]]>
Oct 09, 2017 4:43:07 PM org.murillo.mcuWeb.Participant setState
SEVERE: Partipant 2 change state from WAITING_ACCEPT to ERROR
Oct 09, 2017 4:43:07 PM org.murillo.MediaServer.XmlRpcMcuClient getParticipantStatistics
INFO: GetParticipantStatistics(910,032,896,501)
2017-10-09 16:43:07,731 INFO [UDPMessageChannel] (Mobicents-SIP-Servlets-UDPMessageChannelThread-29) Setting SIPMessage peerPacketSource to: /10.3.14.117:5060
2017-10-09 16:43:07,733 INFO [SIPTransactionStack] (Mobicents-SIP-Servlets-UDPMessageChannelThread-29) <message
from="10.3.14.117:5060"
to="10.3.14.178:5080"
time="1507538587730"
isSender="false"
transactionId="z9hg4bk.frxkubziv"
callId="1Ug6~4L6Fe"
firstLine="ACK sip:[email protected]:5080 SIP/2.0"
;tag=Myc76nj~1 To: ;tag=21438808_a2b011f2_655e17f9_a50b6412 Contact: ;+sip.instance="" Max-Forwards: 70 CSeq: 20 ACK Content-Length: 0 ]]>
Oct 09, 2017 4:43:07 PM org.murillo.mcuWeb.RTPParticipant destroy
SEVERE: null
org.apache.xmlrpc.XmlRpcException: Async execution error Failed to read server's response: Connection refused (Connection refused)
at org.murillo.MediaServer.XmlRpcTimedClient.execute(XmlRpcTimedClient.java:48)
at org.murillo.MediaServer.XmlRpcMcuClient.getParticipantStatistics(XmlRpcMcuClient.java:994)
at org.murillo.mcuWeb.RTPParticipant.destroy(RTPParticipant.java:2472)
at org.murillo.mcuWeb.Participant.error(Participant.java:205)
at org.murillo.mcuWeb.RTPParticipant.accept(RTPParticipant.java:1939)
at org.murillo.mcuWeb.RTPParticipant.onInviteRequest(RTPParticipant.java:1767)
at org.murillo.mcuWeb.ConferenceMngr.onInviteRequest(ConferenceMngr.java:1160)
at org.murillo.mcuWeb.MCUSipServlet.doInvite(MCUSipServlet.java:118)
at javax.servlet.sip.SipServlet.doRequest(SipServlet.java:231)
at javax.servlet.sip.SipServlet.service(SipServlet.java:328)
at org.mobicents.servlet.sip.core.dispatchers.MessageDispatcher.callServlet(MessageDispatcher.java:369)
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher$InitialDispatchTask.dispatch(InitialRequestDispatcher.java:750)
at org.mobicents.servlet.sip.core.dispatchers.DispatchTask.dispatchAndHandleExceptions(DispatchTask.java:58)
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchInsideContainer(InitialRequestDispatcher.java:451)
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchMessage(InitialRequestDispatcher.java:306)
at org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:927)
at gov.nist.javax.sip.EventScanner.deliverRequestEvent(EventScanner.java:250)
at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:146)
at gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:185)
at gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1328)
at gov.nist.javax.sip.stack.SIPServerTransactionImpl.processRequest(SIPServerTransactionImpl.java:851)
at gov.nist.javax.sip.stack.UDPMessageChannel.processMessage(UDPMessageChannel.java:581)
at gov.nist.javax.sip.stack.UDPMessageChannel.processIncomingDataPacket(UDPMessageChannel.java:527)
at gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:325)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.xmlrpc.XmlRpcException: Failed to read server's response: Connection refused (Connection refused)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:161)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
at org.apache.xmlrpc.client.XmlRpcClientWorker$1.run(XmlRpcClientWorker.java:80)
... 1 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:580)
at java.net.Socket.connect(Socket.java:529)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.http.HttpClient.(HttpClient.java:242)
at sun.net.www.http.HttpClient.New(HttpClient.java:339)
at sun.net.www.http.HttpClient.New(HttpClient.java:357)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1044)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:980)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:898)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1139)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.writeRequest(XmlRpcSunHttpTransport.java:104)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:151)
... 4 more
Caused by:
org.apache.xmlrpc.XmlRpcException: Failed to read server's response: Connection refused (Connection refused)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:161)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
at org.apache.xmlrpc.client.XmlRpcClientWorker$1.run(XmlRpcClientWorker.java:80)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:580)
at java.net.Socket.connect(Socket.java:529)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.http.HttpClient.(HttpClient.java:242)
at sun.net.www.http.HttpClient.New(HttpClient.java:339)
at sun.net.www.http.HttpClient.New(HttpClient.java:357)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1044)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:980)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:898)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1139)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.writeRequest(XmlRpcSunHttpTransport.java:104)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:151)
... 4 more
Caused by:
java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:580)
at java.net.Socket.connect(Socket.java:529)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.http.HttpClient.(HttpClient.java:242)
at sun.net.www.http.HttpClient.New(HttpClient.java:339)
at sun.net.www.http.HttpClient.New(HttpClient.java:357)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1044)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:980)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:898)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1139)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.writeRequest(XmlRpcSunHttpTransport.java:104)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:151)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
at org.apache.xmlrpc.client.XmlRpcClientWorker$1.run(XmlRpcClientWorker.java:80)
at java.lang.Thread.run(Thread.java:748)
Oct 09, 2017 4:43:07 PM org.murillo.mcuWeb.Participant setState
SEVERE: Partipant 2 change state from ERROR to DESTROYED
Oct 09, 2017 4:43:07 PM org.murillo.mcuWeb.RTPParticipant end
INFO: Ending RTP user id:2 in state DESTROYED
Oct 09, 2017 4:43:07 PM org.murillo.MediaServer.XmlRpcMcuClient getParticipantStatistics
INFO: GetParticipantStatistics(910,032,896,501)
Oct 09, 2017 4:43:07 PM org.murillo.mcuWeb.RTPParticipant destroy
SEVERE: null
org.apache.xmlrpc.XmlRpcException: Async execution error Failed to read server's response: Connection refused (Connection refused)
at org.murillo.MediaServer.XmlRpcTimedClient.execute(XmlRpcTimedClient.java:48)
at org.murillo.MediaServer.XmlRpcMcuClient.getParticipantStatistics(XmlRpcMcuClient.java:994)
at org.murillo.mcuWeb.RTPParticipant.destroy(RTPParticipant.java:2472)
at org.murillo.mcuWeb.RTPParticipant.end(RTPParticipant.java:2462)
at org.murillo.mcuWeb.Conference.destroy(Conference.java:248)
at org.murillo.mcuWeb.Conference.onStateChanged(Conference.java:753)
at org.murillo.mcuWeb.Participant.setState(Participant.java:225)
at org.murillo.mcuWeb.RTPParticipant.destroy(RTPParticipant.java:2507)
at org.murillo.mcuWeb.Participant.error(Participant.java:205)
at org.murillo.mcuWeb.RTPParticipant.accept(RTPParticipant.java:1939)
at org.murillo.mcuWeb.RTPParticipant.onInviteRequest(RTPParticipant.java:1767)
at org.murillo.mcuWeb.ConferenceMngr.onInviteRequest(ConferenceMngr.java:1160)
at org.murillo.mcuWeb.MCUSipServlet.doInvite(MCUSipServlet.java:118)
at javax.servlet.sip.SipServlet.doRequest(SipServlet.java:231)
at javax.servlet.sip.SipServlet.service(SipServlet.java:328)
at org.mobicents.servlet.sip.core.dispatchers.MessageDispatcher.callServlet(MessageDispatcher.java:369)
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher$InitialDispatchTask.dispatch(InitialRequestDispatcher.java:750)
at org.mobicents.servlet.sip.core.dispatchers.DispatchTask.dispatchAndHandleExceptions(DispatchTask.java:58)
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchInsideContainer(InitialRequestDispatcher.java:451)
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchMessage(InitialRequestDispatcher.java:306)
at org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:927)
at gov.nist.javax.sip.EventScanner.deliverRequestEvent(EventScanner.java:250)
at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:146)
at gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:185)
at gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1328)
at gov.nist.javax.sip.stack.SIPServerTransactionImpl.processRequest(SIPServerTransactionImpl.java:851)
at gov.nist.javax.sip.stack.UDPMessageChannel.processMessage(UDPMessageChannel.java:581)
at gov.nist.javax.sip.stack.UDPMessageChannel.processIncomingDataPacket(UDPMessageChannel.java:527)
at gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:325)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.xmlrpc.XmlRpcException: Failed to read server's response: Connection refused (Connection refused)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:161)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
at org.apache.xmlrpc.client.XmlRpcClientWorker$1.run(XmlRpcClientWorker.java:80)
... 1 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:580)
at java.net.Socket.connect(Socket.java:529)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.http.HttpClient.(HttpClient.java:242)
at sun.net.www.http.HttpClient.New(HttpClient.java:339)
at sun.net.www.http.HttpClient.New(HttpClient.java:357)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1044)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:980)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:898)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1139)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.writeRequest(XmlRpcSunHttpTransport.java:104)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:151)
... 4 more
Caused by:
org.apache.xmlrpc.XmlRpcException: Failed to read server's response: Connection refused (Connection refused)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:161)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
Hi @murillo128
I want to handle mediaframe and mux it to rtmp stream use gstreamer.
I use my this lib https://github.com/notedit/gstreamer-rtmp to handle mediaframe. I have tested my gstreamer-rtmp lib, it can handle raw h264 media correctly. But when i use gstreamer-rtmp with media-server's mediaframe, it tell me can not parse Error: Error parsing H.264 stream
Here is the code https://github.com/notedit/media-server-go-demo/blob/master/webrtc-to-rtmp/server.go#L124
It means when i use this gstreamer line to generate h264 data, it can works.
videotestsrc ! video/x-raw,format=I420 ! x264enc bframes=0 speed-preset=veryfast key-int-max=60 ! video/x-h264,stream-format=byte-stream ! appsink name=appsink
When i use mediaframe from media-server, it can not parse the h264 data.
Can you give me some hint?
the latest commit broken mac os build
Audio level extension is set to a wrong value, 0x07 should be 0x7f in
media-server/src/rtp/RTPHeaderExtension.cpp
Line 283 in 9baf047
Hi All,
Could any one has performance testing number of Media server which give us the number like how many concurrent HD conference / Stream can process by at same time.
Regards,
shailesh
I am working with Video conference server application. I join conference from Linphone 3.7.0 client to my server using VP8 codec with HD720p(1280x720) resolution. FPS is 30 and bitrate is 1500. Call established successfully and at client side I am getting my own video. After sometime I send video mute request to my server so server sends me predefined image. Internally server receives video frames from client and decode it and decoded frames over written into one buffer. Now after video un-mute server pickup latest decoded frames from buffer and passed it to VP8 encoder and this encoded frame sent to the client.
But problem is that after video unmute I found blurred displays at client side.
My code design is as following Receiving RTP packets from client -> decode video frame into YUV420 -> Resizing raw data if required and mixed into layout -> Encode YUV420 raw data into VP8 -> Sending Encoded frame to client using RTP
I use vpx-1.4.0 library for VP8 encoding and decoding process.
Add optional callback instead of promise and test performance difference between both with a test app.
[0x7fac4ee49700][1530714150.654][DBG]-DTLSICETransport::onData() | RTCP wrong data
[0x7fac4ee49700][1530714150.654][DBG][0000] [0x81 0xcb 0x00 0x03 0x10 0xa7 0xd5 0x76 .......v]
[0x7fac4ee49700][1530714150.654][DBG][0004] [0x10 0xa7 0xd5 0x76 0x0a 0x74 0x65 0x72 ...v.ter]
[0x7fac4ee49700][1530714150.654][DBG][0008] [0x0a 0x74 0x65 0x72 0x6d 0x69 0x6e 0x61 .termina]
[0x7fac4ee49700][1530714150.654][DBG][000c] [0x6d 0x69 0x6e 0x61 0x74 0x65 0x64 0x80 minated.]
[0x7fac4ee49700][1530714150.654][DBG][0020] [0x00 . ]
It is easy to reproduce when incoming transport using remb and outgoing transport using transport-cc.
v0.76.0
[0x700004e78000][1570528344.480][LOG]-DTLSICETransport::ReSendPacket() | Too much bitrate on rtx, skiping rtx:36352 estimated:0
[0x700004e78000][1570528344.480][LOG]-DTLSICETransport::ReSendPacket() | Too much bitrate on rtx, skiping rtx:36352 estimated:0
[0x700004e78000][1570528344.480][LOG]-DTLSICETransport::ReSendPacket() | Too much bitrate on rtx, skiping rtx:36352 estimated:0
[0x700004e78000][1570528344.480][LOG]-DTLSICETransport::ReSendPacket() | Too much bitrate on rtx, skiping rtx:36352 estimated:0
[0x700004e78000][1570528344.480][LOG]-DTLSICETransport::ReSendPacket() | Too much bitrate on rtx, skiping rtx:36352 estimated:0
[0x700004e78000][1570528344.481][LOG]-DTLSICETransport::ReSendPacket() | Too much bitrate on rtx, skiping rtx:36352 estimated:0
[0x700004e78000][1570528344.481][LOG]-DTLSICETransport::ReSendPacket() | Too much bitrate on rtx, skiping rtx:36352 estimated:0
[0x700004e78000][1570528344.481][LOG]-DTLSICETransport::ReSendPacket() | Too much bitrate on rtx, skiping rtx:36352 estimated:0
[0x700004e78000][1570528344.481][LOG]-DTLSICETransport::ReSendPacket() | Too much bitrate on rtx, skiping rtx:36352 estimated:0
I came to this error when i do endpoint to endpoint and set disableSTUNKeepAlive true.
code in here https://github.com/notedit/media-server-go-demo/tree/master/server-to-server
[0x70000e983000][1546444625.330][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:49914]
[0x70000e671000][1546444630.139][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:64948]
[0x70000e900000][1546444630.830][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:62710]
[0x70000e900000][1546444630.938][ERR]-DTLSICETransport::onData() | Error unprotecting rtp packet [9]
[0x70000e671000][1546444634.025][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:64948]
[0x70000e900000][1546444639.669][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:62710]
[0x70000e900000][1546444643.075][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa :62710]
[0x70000e900000][1546444643.184][ERR]-DTLSICETransport::onData() | Error unprotecting rtp packet [9]
[0x70000e900000][1546444643.554][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:62710]
[0x70000e900000][1546444643.660][ERR]-DTLSICETransport::onData() | Error unprotecting rtp packet [9]
[0x70000e671000][1546444644.167][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:64948]
[0x70000e983000][1546444644.430][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:49914]
[0x70000e983000][1546444644.656][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:49914]
[0x70000e671000][1546444646.257][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:64948]
[0x70000e900000][1546444648.239][ERR]-RTPBundleTransport::ReadRTP() | No registered ICE candidate for [[inet_ntoa error]:62710]
Helo
Is this support video mixing already?
I will add travis auto build service for linux os and max os next week.
This check
media-server/src/rtp/RTPStreamTransponder.cpp
Line 253 in 502e669
RTPPacket::CheckExtensionMark()
not checking properly for all possible extensions. For example, extension is set to false if only audio level extension is present.The data is got from medooze-media-node/IncomingStreamTrack.js/getStats.
First I set network to 30% loss rate, the rtt is high. After, when I cancel the loss rate setting, the rtt is recover to reasonable level.
Test Environment: company LAN,two computer
I have read your code, and I think the method which use NACK to detect the rtt is invalid when the network has some loss rate. But I don't know why and how to solve it.
When seq number is 1, it will add one circle, when the packets's seqs comming like 1, 65535, 65534, 2, then the seq 2's extSeqNum will be less than seq 65535's extSeqNum.
include/media.h:9 #include "Buffer.h"
but can not find the Buffer.h file
Fork of #61
macos does not support pthread_setaffinity_np too. see https://yyshen.github.io/2015/01/18/binding_threads_to_cores_osx.html
also some more background info:
https://developer.apple.com/library/archive/releasenotes/Performance/RN-AffinityAPI/
https://github.com/medooze/media-server/blob/master/src/videostream.cpp#L760
https://github.com/medooze/media-server/blob/master/src/videostream.cpp#L677
if (listener && getDifTime(&lastFPURequest)>minFPUPeriod)
getDifTime returns microseconds, and the unit of minFPUPeriod is milliseconds.
Probably missing " /1000 " like this.
https://github.com/medooze/media-server/blob/master/src/videostream.cpp#L444
if (getDifTime(&lastFPU)/1000>minFPUPeriod)
As per https://sourceforge.net/p/mcumediaserver/feature-requests/7/
Whenever RTP payload for VP8 contains extended control bit 1 into payload descriptor. And S bit and PID data come according to RFC7741. We are parsing payload descriptor successfully and store into structure. But when we are trying to decode VP8 frame partition its gives error and decoder failure.
In mcu/src/vp8/vp8.h file
temporalLayerIndex = data[1] >> 5 & 0x01;
keyIndex = data[1] >> 4 & 0x01;
is wrong as per RFC 7741
It should be
temporalLayerIndexPresent = data[1] >> 5 & 0x01;
keyIndexPresent = data[1] >> 4 & 0x01;
Also if extendedControlBitsPresent bit is set then there not any implementation in vp8decoder.cpp.
I'm trying to compile lastest media mixer on Ubuntu 16.04.
All dependecies installed.
On step to compile media mixer the console show me the log errors:
Code from https://svn.code.sf.net/p/mcumediaserver/code/trunk mcumediaserver-code
In file included from /usr/local/src/medooze/mcu/include/logo.h:6:0,
from /usr/local/src/medooze/mcu/src/logo.cpp:2:
/usr/local/include/libavcodec/avcodec.h:4400:6: note: declared here
void av_free_packet(AVPacket *pkt);
^
/usr/local/src/medooze/mcu/src/logo.cpp:195:52: error: ‘FF_INPUT_BUFFER_PADDING_SIZE’ was not declared in this scope
size = (((width/32+1)32)((height/32+1)*32)*3)/2+FF_INPUT_BUFFER_PADDING_SIZE+32;
^
Makefile:254: ошибка выполнения рецепта для цели «logo.o»
make: *** [logo.o] Ошибка 1
Hi @murillo128
It seems media-server only can be build with openssl1.0, do we have plan to support openssl1.1.0.
Hi Murillo,
I'm trying to compile lastest media mixer on Ubuntu 14.04.
All dependecies installed.
On step to compile media mixer the console show me the log errors:
Code from https://svn.code.sf.net/p/mcumediaserver/code/trunk mcumediaserver-code
svn propset builtime "date
" /usr/local/src/mcumediaserver-code/mcu/include/version.h || true
property 'builtime' set on 'include/version.h'
mkdir -p /usr/local/src/mcumediaserver-code/mcu/build/release
mkdir -p /usr/local/src/mcumediaserver-code/mcu/build/release/test
mkdir -p /usr/local/src/mcumediaserver-code/mcu/build/release/libvncserver
mkdir -p /usr/local/src/mcumediaserver-code/mcu/bin/release
[CXX] release /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp: In member function ‘int SFU::Room::AddParticipant(std::wstring, Properties&)’:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:12: error: ‘it’ does not name a type
for (auto it=participants.begin();it!=participants.end();++it)
^
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:36: error: expected ‘;’ before ‘it’
for (auto it=participants.begin();it!=participants.end();++it)
^
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:36: error: name lookup of ‘it’ changed for ISO ‘for’ scoping [-fpermissive]
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:36: note: (if you use ‘-fpermissive’ G++ will accept your code)
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:38: error: no match for ‘operator!=’ (operand types are ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ and ‘std::map<int, SFU::Participant*>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, SFU::Participant*> >}’)
for (auto it=participants.begin();it!=participants.end();++it)
^
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:38: note: candidates are:
In file included from /usr/include/c++/4.8/map:60:0,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_tree.h:302:7: note: bool std::_Rb_tree_const_iterator<_Tp>::operator!=(const _Self&) const [with _Tp = std::pair<const std::basic_string, std::basic_string >; std::_Rb_tree_const_iterator<_Tp>::_Self = std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >]
operator!=(const _Self& __x) const
^
/usr/include/c++/4.8/bits/stl_tree.h:302:7: note: no known conversion for argument 1 from ‘std::map<int, SFU::Participant*>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, SFU::Participant*> >}’ to ‘const _Self& {aka const std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >&}’
In file included from /usr/include/c++/4.8/set:62:0,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/SFUParticipant.h:18,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.h:16,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:2:
/usr/include/c++/4.8/bits/stl_multiset.h:763:5: note: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::multiset<_Key, _Compare, _Alloc>&, const std::multiset<_Key, _Compare, _Alloc>&)
operator!=(const multiset<_Key, _Compare, _Alloc>& __x,
^
/usr/include/c++/4.8/bits/stl_multiset.h:763:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::multiset<_Key, _Compare, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/set:61:0,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/SFUParticipant.h:18,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.h:16,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:2:
/usr/include/c++/4.8/bits/stl_set.h:778:5: note: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::set<_Key, _Compare, _Alloc>&, const std::set<_Key, _Compare, _Alloc>&)
operator!=(const set<_Key, _Compare, _Alloc>& __x,
^
/usr/include/c++/4.8/bits/stl_set.h:778:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::set<_Key, _Compare, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/list:63:0,
from /usr/local/src/mcumediaserver-code/mcu/include/DTLSICETransport.h:18,
from /usr/local/src/mcumediaserver-code/mcu/include/RTPBundleTransport.h:13,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.h:15,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:2:
/usr/include/c++/4.8/bits/stl_list.h:1638:5: note: template<class _Tp, class _Alloc> bool std::operator!=(const std::list<_Tp, _Alloc>&, const std::list<_Tp, _Alloc>&)
operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
^
/usr/include/c++/4.8/bits/stl_list.h:1638:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::list<_Tp, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/list:63:0,
from /usr/local/src/mcumediaserver-code/mcu/include/DTLSICETransport.h:18,
from /usr/local/src/mcumediaserver-code/mcu/include/RTPBundleTransport.h:13,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.h:15,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:2:
/usr/include/c++/4.8/bits/stl_list.h:282:5: note: template bool std::operator!=(const std::_List_iterator<_Tp>&, const std::_List_const_iterator<_Val>&)
operator!=(const _List_iterator<_Val>& __x,
^
/usr/include/c++/4.8/bits/stl_list.h:282:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::_List_iterator<_Tp>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/vector:64:0,
from /usr/local/src/mcumediaserver-code/mcu/include/media.h:5,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.h:12,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:2:
/usr/include/c++/4.8/bits/stl_vector.h:1428:5: note: template<class _Tp, class _Alloc> bool std::operator!=(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
^
/usr/include/c++/4.8/bits/stl_vector.h:1428:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::vector<_Tp, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/locale_facets.h:48:0,
from /usr/include/c++/4.8/bits/basic_ios.h:37,
from /usr/include/c++/4.8/ios:44,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:7,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/streambuf_iterator.h:210:5: note: template<class _CharT, class _Traits> bool std::operator!=(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
^
/usr/include/c++/4.8/bits/streambuf_iterator.h:210:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/string:52:0,
from /usr/include/c++/4.8/bits/locale_classes.h:40,
from /usr/include/c++/4.8/bits/ios_base.h:41,
from /usr/include/c++/4.8/ios:42,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:7,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/basic_string.h:2556:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
^
/usr/include/c++/4.8/bits/basic_string.h:2556:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::basic_string<_CharT, _Traits, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/string:52:0,
from /usr/include/c++/4.8/bits/locale_classes.h:40,
from /usr/include/c++/4.8/bits/ios_base.h:41,
from /usr/include/c++/4.8/ios:42,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:7,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/basic_string.h:2544:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::basic_string<_CharT, _Traits, _Alloc>&)
operator!=(const _CharT* __lhs,
^
/usr/include/c++/4.8/bits/basic_string.h:2544:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: mismatched types ‘const _CharT*’ and ‘std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/string:52:0,
from /usr/include/c++/4.8/bits/locale_classes.h:40,
from /usr/include/c++/4.8/bits/ios_base.h:41,
from /usr/include/c++/4.8/ios:42,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:7,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/basic_string.h:2532:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&, const std::basic_string<_CharT, _Traits, _Alloc>&)
operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
^
/usr/include/c++/4.8/bits/basic_string.h:2532:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::basic_string<_CharT, _Traits, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/iosfwd:40:0,
from /usr/include/c++/4.8/ios:38,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:7,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/postypes.h:221:5: note: template bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
^
/usr/include/c++/4.8/bits/postypes.h:221:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::fpos<_StateT>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/map:62:0,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_multimap.h:888:5: note: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
^
/usr/include/c++/4.8/bits/stl_multimap.h:888:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/map:61:0,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_map.h:986:5: note: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)
operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
^
/usr/include/c++/4.8/bits/stl_map.h:986:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::map<_Key, _Tp, _Compare, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/map:60:0,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_tree.h:927:5: note: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator!=(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
^
/usr/include/c++/4.8/bits/stl_tree.h:927:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/map:60:0,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_tree.h:316:5: note: template bool std::operator!=(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&)
operator!=(const _Rb_tree_iterator<_Val>& __x,
^
/usr/include/c++/4.8/bits/stl_tree.h:316:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::_Rb_tree_iterator<_Tp>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_tree.h:62:0,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/allocator.h:143:5: note: template bool std::operator!=(const std::allocator<_Tp1>&, const std::allocator<_Tp1>&)
operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
^
/usr/include/c++/4.8/bits/allocator.h:143:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::allocator<_Tp1>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_tree.h:62:0,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/allocator.h:138:5: note: template<class _T1, class _T2> bool std::operator!=(const std::allocator<_Tp1>&, const std::allocator<_T2>&)
operator!=(const allocator<_T1>&, const allocator<_T2>&)
^
/usr/include/c++/4.8/bits/allocator.h:138:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::allocator<_Tp1>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:353:5: note: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
operator!=(const reverse_iterator<_IteratorL>& __x,
^
/usr/include/c++/4.8/bits/stl_iterator.h:353:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:303:5: note: template bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
operator!=(const reverse_iterator<_Iterator>& __x,
^
/usr/include/c++/4.8/bits/stl_iterator.h:303:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:227:5: note: template<class _T1, class _T2> bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
^
/usr/include/c++/4.8/bits/stl_pair.h:227:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::pair<_T1, _T2>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++allocator.h:33:0,
from /usr/include/c++/4.8/bits/allocator.h:46,
from /usr/include/c++/4.8/bits/stl_tree.h:62,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/ext/new_allocator.h:144:5: note: template bool __gnu_cxx::operator!=(const __gnu_cxx::new_allocator<_Tp>&, const __gnu_cxx::new_allocator<_Tp>&)
operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
^
/usr/include/c++/4.8/ext/new_allocator.h:144:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const __gnu_cxx::new_allocator<_Tp>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:823:5: note: template<class _Iterator, class _Container> bool __gnu_cxx::operator!=(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)
operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
^
/usr/include/c++/4.8/bits/stl_iterator.h:823:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const __gnu_cxx::__normal_iterator<_Iterator, _Container>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/mcumediaserver-code/mcu/include/config.h:6,
from /usr/local/src/mcumediaserver-code/mcu/include/log.h:9,
from /usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:817:5: note: template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator!=(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)
operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
^
/usr/include/c++/4.8/bits/stl_iterator.h:817:5: note: template argument deduction/substitution failed:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:71:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const __gnu_cxx::__normal_iterator<_IteratorL, _Container>’
for (auto it=participants.begin();it!=participants.end();++it)
^
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:74:28: error: cannot convert ‘const std::basic_string’ to ‘SFU::Participant*’ in initialization
Participant *other = it->second;
^
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp: In member function ‘int SFU::Room::RemoveParticipant(int)’:
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:117:12: error: ‘it’ does not name a type
for (auto it=participants.begin();it!=participants.end();++it)
^
/usr/local/src/mcumediaserver-code/mcu/src/sfu/Room.cpp:117:36: error: expected ‘;’ before ‘it’
for (auto it=participants.begin();it!=participants.end();++it)
^
make: *** [Room.o] Error 1
Code from github https://github.com/medooze/media-server.git
touch /usr/local/src/media-server/include/version.h
svn propset builtime "date
" /usr/local/src/media-server/include/version.h || true
svn: E155007: '/usr/local/src/media-server/include/version.h' is not a working copy
mkdir -p /usr/local/src/media-server/build/release
mkdir -p /usr/local/src/media-server/build/release/test
mkdir -p /usr/local/src/media-server/bin/release
[CXX] release /usr/local/src/media-server/src/sfu/Room.cpp
In file included from /usr/local/src/media-server/include/RTPBundleTransport.h:13:0,
from /usr/local/src/media-server/src/sfu/Room.h:15,
from /usr/local/src/media-server/src/sfu/Room.cpp:2:
/usr/local/src/media-server/include/DTLSICETransport.h:47:32: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
virtual int SendPLI(DWORD ssrc) override;
^
/usr/local/src/media-server/include/DTLSICETransport.h:48:36: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
virtual int Send(RTPPacket &packet) override;
^
In file included from /usr/local/src/media-server/include/RTPBundleTransport.h:13:0,
from /usr/local/src/media-server/src/sfu/Room.h:15,
from /usr/local/src/media-server/src/sfu/Room.cpp:2:
/usr/local/src/media-server/include/DTLSICETransport.h:66:148: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
virtual void onDTLSSetup(DTLSConnection::Suite suite,BYTE* localMasterKey,DWORD localMasterKeySize,BYTE* remoteMasterKey,DWORD remoteMasterKeySize) override;
^
/usr/local/src/media-server/include/DTLSICETransport.h:67:78: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
virtual int onData(const ICERemoteCandidate* candidate,BYTE* data,DWORD size) override;
^
/usr/local/src/media-server/src/sfu/Room.cpp: In member function ‘int SFU::Room::AddParticipant(std::wstring, Properties&)’:
/usr/local/src/media-server/src/sfu/Room.cpp:86:12: error: ‘it’ does not name a type
for (auto it=participants.begin();it!=participants.end();++it)
^
/usr/local/src/media-server/src/sfu/Room.cpp:86:36: error: expected ‘;’ before ‘it’
for (auto it=participants.begin();it!=participants.end();++it)
^
/usr/local/src/media-server/src/sfu/Room.cpp:86:36: error: name lookup of ‘it’ changed for ISO ‘for’ scoping [-fpermissive]
/usr/local/src/media-server/src/sfu/Room.cpp:86:36: note: (if you use ‘-fpermissive’ G++ will accept your code)
/usr/local/src/media-server/src/sfu/Room.cpp:86:38: error: no match for ‘operator!=’ (operand types are ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ and ‘std::map<int, SFU::Participant*>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, SFU::Participant*> >}’)
for (auto it=participants.begin();it!=participants.end();++it)
^
/usr/local/src/media-server/src/sfu/Room.cpp:86:38: note: candidates are:
In file included from /usr/include/c++/4.8/map:60:0,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_tree.h:302:7: note: bool std::_Rb_tree_const_iterator<_Tp>::operator!=(const _Self&) const [with _Tp = std::pair<const std::basic_string, std::basic_string >; std::_Rb_tree_const_iterator<_Tp>::_Self = std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >]
operator!=(const _Self& __x) const
^
/usr/include/c++/4.8/bits/stl_tree.h:302:7: note: no known conversion for argument 1 from ‘std::map<int, SFU::Participant*>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, SFU::Participant*> >}’ to ‘const _Self& {aka const std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >&}’
In file included from /usr/include/c++/4.8/set:62:0,
from /usr/local/src/media-server/include/rtp.h:11,
from /usr/local/src/media-server/include/DTLSICETransport.h:24,
from /usr/local/src/media-server/include/RTPBundleTransport.h:13,
from /usr/local/src/media-server/src/sfu/Room.h:15,
from /usr/local/src/media-server/src/sfu/Room.cpp:2:
/usr/include/c++/4.8/bits/stl_multiset.h:763:5: note: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::multiset<_Key, _Compare, _Alloc>&, const std::multiset<_Key, _Compare, _Alloc>&)
operator!=(const multiset<_Key, _Compare, _Alloc>& __x,
^
/usr/include/c++/4.8/bits/stl_multiset.h:763:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::multiset<_Key, _Compare, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/set:61:0,
from /usr/local/src/media-server/include/rtp.h:11,
from /usr/local/src/media-server/include/DTLSICETransport.h:24,
from /usr/local/src/media-server/include/RTPBundleTransport.h:13,
from /usr/local/src/media-server/src/sfu/Room.h:15,
from /usr/local/src/media-server/src/sfu/Room.cpp:2:
/usr/include/c++/4.8/bits/stl_set.h:778:5: note: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::set<_Key, _Compare, _Alloc>&, const std::set<_Key, _Compare, _Alloc>&)
operator!=(const set<_Key, _Compare, _Alloc>& __x,
^
/usr/include/c++/4.8/bits/stl_set.h:778:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::set<_Key, _Compare, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/list:63:0,
from /usr/local/src/media-server/include/DTLSICETransport.h:18,
from /usr/local/src/media-server/include/RTPBundleTransport.h:13,
from /usr/local/src/media-server/src/sfu/Room.h:15,
from /usr/local/src/media-server/src/sfu/Room.cpp:2:
/usr/include/c++/4.8/bits/stl_list.h:1638:5: note: template<class _Tp, class _Alloc> bool std::operator!=(const std::list<_Tp, _Alloc>&, const std::list<_Tp, _Alloc>&)
operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
^
/usr/include/c++/4.8/bits/stl_list.h:1638:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::list<_Tp, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/list:63:0,
from /usr/local/src/media-server/include/DTLSICETransport.h:18,
from /usr/local/src/media-server/include/RTPBundleTransport.h:13,
from /usr/local/src/media-server/src/sfu/Room.h:15,
from /usr/local/src/media-server/src/sfu/Room.cpp:2:
/usr/include/c++/4.8/bits/stl_list.h:282:5: note: template bool std::operator!=(const std::_List_iterator<_Tp>&, const std::_List_const_iterator<_Val>&)
operator!=(const _List_iterator<_Val>& __x,
^
/usr/include/c++/4.8/bits/stl_list.h:282:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::_List_iterator<_Tp>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/locale_facets.h:48:0,
from /usr/include/c++/4.8/bits/basic_ios.h:37,
from /usr/include/c++/4.8/ios:44,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/local/src/media-server/include/config.h:8,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/streambuf_iterator.h:210:5: note: template<class _CharT, class _Traits> bool std::operator!=(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
^
/usr/include/c++/4.8/bits/streambuf_iterator.h:210:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/string:52:0,
from /usr/include/c++/4.8/bits/locale_classes.h:40,
from /usr/include/c++/4.8/bits/ios_base.h:41,
from /usr/include/c++/4.8/ios:42,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/local/src/media-server/include/config.h:8,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/basic_string.h:2556:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
^
/usr/include/c++/4.8/bits/basic_string.h:2556:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::basic_string<_CharT, _Traits, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/string:52:0,
from /usr/include/c++/4.8/bits/locale_classes.h:40,
from /usr/include/c++/4.8/bits/ios_base.h:41,
from /usr/include/c++/4.8/ios:42,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/local/src/media-server/include/config.h:8,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/basic_string.h:2544:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::basic_string<_CharT, _Traits, _Alloc>&)
operator!=(const _CharT* __lhs,
^
/usr/include/c++/4.8/bits/basic_string.h:2544:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: mismatched types ‘const _CharT*’ and ‘std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/string:52:0,
from /usr/include/c++/4.8/bits/locale_classes.h:40,
from /usr/include/c++/4.8/bits/ios_base.h:41,
from /usr/include/c++/4.8/ios:42,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/local/src/media-server/include/config.h:8,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/basic_string.h:2532:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&, const std::basic_string<_CharT, _Traits, _Alloc>&)
operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
^
/usr/include/c++/4.8/bits/basic_string.h:2532:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::basic_string<_CharT, _Traits, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/iosfwd:40:0,
from /usr/include/c++/4.8/ios:38,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/sstream:38,
from /usr/local/src/media-server/include/config.h:8,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/postypes.h:221:5: note: template bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
^
/usr/include/c++/4.8/bits/postypes.h:221:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::fpos<_StateT>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/vector:64:0,
from /usr/local/src/media-server/include/config.h:7,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_vector.h:1428:5: note: template<class _Tp, class _Alloc> bool std::operator!=(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
^
/usr/include/c++/4.8/bits/stl_vector.h:1428:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::vector<_Tp, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/map:62:0,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_multimap.h:888:5: note: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
^
/usr/include/c++/4.8/bits/stl_multimap.h:888:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/map:61:0,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_map.h:986:5: note: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)
operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
^
/usr/include/c++/4.8/bits/stl_map.h:986:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::map<_Key, _Tp, _Compare, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/map:60:0,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_tree.h:927:5: note: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator!=(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
^
/usr/include/c++/4.8/bits/stl_tree.h:927:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/map:60:0,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_tree.h:316:5: note: template bool std::operator!=(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&)
operator!=(const _Rb_tree_iterator<_Val>& __x,
^
/usr/include/c++/4.8/bits/stl_tree.h:316:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::_Rb_tree_iterator<_Tp>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_tree.h:62:0,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/allocator.h:143:5: note: template bool std::operator!=(const std::allocator<_Tp1>&, const std::allocator<_Tp1>&)
operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
^
/usr/include/c++/4.8/bits/allocator.h:143:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::allocator<_Tp1>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_tree.h:62:0,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/allocator.h:138:5: note: template<class _T1, class _T2> bool std::operator!=(const std::allocator<_Tp1>&, const std::allocator<_T2>&)
operator!=(const allocator<_T1>&, const allocator<_T2>&)
^
/usr/include/c++/4.8/bits/allocator.h:138:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::allocator<_Tp1>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:353:5: note: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
operator!=(const reverse_iterator<_IteratorL>& __x,
^
/usr/include/c++/4.8/bits/stl_iterator.h:353:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:303:5: note: template bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
operator!=(const reverse_iterator<_Iterator>& __x,
^
/usr/include/c++/4.8/bits/stl_iterator.h:303:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:227:5: note: template<class _T1, class _T2> bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
^
/usr/include/c++/4.8/bits/stl_pair.h:227:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const std::pair<_T1, _T2>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++allocator.h:33:0,
from /usr/include/c++/4.8/bits/allocator.h:46,
from /usr/include/c++/4.8/bits/stl_tree.h:62,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/ext/new_allocator.h:144:5: note: template bool __gnu_cxx::operator!=(const __gnu_cxx::new_allocator<_Tp>&, const __gnu_cxx::new_allocator<_Tp>&)
operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
^
/usr/include/c++/4.8/ext/new_allocator.h:144:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const __gnu_cxx::new_allocator<_Tp>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:823:5: note: template<class _Iterator, class _Container> bool __gnu_cxx::operator!=(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)
operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
^
/usr/include/c++/4.8/bits/stl_iterator.h:823:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const __gnu_cxx::__normal_iterator<_Iterator, _Container>’
for (auto it=participants.begin();it!=participants.end();++it)
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from /usr/local/src/media-server/include/config.h:6,
from /usr/local/src/media-server/include/log.h:9,
from /usr/local/src/media-server/src/sfu/Room.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:817:5: note: template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator!=(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)
operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
^
/usr/include/c++/4.8/bits/stl_iterator.h:817:5: note: template argument deduction/substitution failed:
/usr/local/src/media-server/src/sfu/Room.cpp:86:57: note: ‘std::map<std::basic_string, std::basic_string >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::basic_string, std::basic_string > >}’ is not derived from ‘const __gnu_cxx::__normal_iterator<_IteratorL, _Container>’
for (auto it=participants.begin();it!=participants.end();++it)
^
/usr/local/src/media-server/src/sfu/Room.cpp:89:28: error: cannot convert ‘const std::basic_string’ to ‘SFU::Participant*’ in initialization
Participant *other = it->second;
^
/usr/local/src/media-server/src/sfu/Room.cpp: In member function ‘int SFU::Room::RemoveParticipant(int)’:
/usr/local/src/media-server/src/sfu/Room.cpp:132:12: error: ‘it’ does not name a type
for (auto it=participants.begin();it!=participants.end();++it)
^
/usr/local/src/media-server/src/sfu/Room.cpp:132:36: error: expected ‘;’ before ‘it’
for (auto it=participants.begin();it!=participants.end();++it)
^
make: *** [Room.o] Error 1
When I test mp4record, I found it can not work. When check it stack as follow
StreamTrackDepacketizer::onRTP should have called MP4Recorder::onMediaFrame. But it call MP4Recorder::Stop method actually. I think it is a Virtual Function Pointer error. So I change MP4Recorder inheritance order, put the public MediaFrame::Listener
before public RecorderControl
. Now it worked, and I record success.
Environment: I compile and run in mac.
First sorry to create issue. Actually I want to clear my doubt but I don't found any place so I created issue.
Video codec H264 video quality is very poor with compare to VP8 codec. Also H264 codec use more CPU and memory with compare to VP8 still quality is poor.
I also found that in this project FFMpeg library used for H264 decoding and x264 library used for encoding. So is there any licensing issue? May be quality reduced for this reason?
Is there any way to improve H264 video codec quality?
If I am calling Linphone 3.7.0 to Linphone 3.7.0 using H264 codec with resolution HD720p(1280x720) then video quality is good at both end. but If I join conference into media-server with same parameter then quality become poor. My mosaic size is also HD720p and I am using Mosaic1x1.
I want to remove self video from mosaic for each participant.
Can anyone guide that how can I achieve?
Hi @murillo128
I am using your media-server-node lib, and it works well. but still have other issue when using the node lib. for example, media-server can use multi threads, but node can only use one thread, and node is not a good choice to handle media stuff(media mux/demux, media transcode). I am thinking create a golang wrapper of media-server.
What do you think about this?
When aprox<MaxSendingQueueSize/4, should set eventloop state to normal.
https://github.com/medooze/media-server/blob/master/src/EventLoop.cpp#L218
Setup:
Soft client: Linephone 3.7
Client video codec: H264
Client video resolution: VGA
Client audio codec: G722
Mosaic Resolution: VGA
Mosaic Composition: Mosaic2x2
Default profile: VGA
2 party video conference.
Observation:
Video frames comes first and audio frames are coming after 1 or 2 second.
Note: This is observed only with G722 audio codec.
Undefined symbols for architecture x86_64:
"_DTLS_method", referenced from:
DTLSConnection::Initialize() in dtls.o
"EvenSource::SendEvent(char const*, char const*, ...)", referenced from:
RemoteRateControl::UpdateKalman(unsigned long long, int, int, int) in remoteratecontrol.o
RemoteRateControl::UpdateRTT(unsigned int) in remoteratecontrol.o
RemoteRateControl::UpdateLost(unsigned int) in remoteratecontrol.o
RemoteRateEstimator::Update(RemoteRateControl::BandwidthUsage, bool, unsigned long long) in remoterateestimator.o
Flash broadcasting give me example
../media-server/src/mp4streamer.cpp:831:6: error: 'u_int32_t' was not declared in this scope
(u_int32_t *) &dataLen, // u_int32_t* pNumBytes
Looks like it uses non-standard u_int32_t
instead of uint32_t
. My compiler (gcc 8.3.0, Alpine) throws an error.
Hi Murillo,
I'm trying to compile lastest media mixer on CentOS 7
All dependecies installed.
On step to compile media mixer the console show me the log errors:
[CXX] release /usr/local/src/medooze/mcu/src/mcu.cpp In file included from /usr/local/src/medooze/mcu/include/http.h:14:0, from /usr/local/src/medooze/mcu/include/cpim.h:12, from /usr/local/src/medooze/mcu/include/groupchat.h:13, from /usr/local/src/medooze/mcu/include/multiconf.h:19, from /usr/local/src/medooze/mcu/include/mcu.h:6, from /usr/local/src/medooze/mcu/src/mcu.cpp:5: /usr/local/src/medooze/mcu/include/stringparser.h: В функции-члене «virtual std::wstring JSONNumber::stringify()»: /usr/local/src/medooze/mcu/include/stringparser.h:602:24: ошибка: вызов перегруженной функции **«abs(long double)»** неоднозначен if (abs(value-integer)<0.0000001) ^ /usr/local/src/medooze/mcu/include/stringparser.h:602:24: замечание: candidates are: In file included from /usr/local/src/medooze/mcu/src/mcu.cpp:1:0: /usr/include/stdlib.h:770:12: замечание: int abs(int) extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; ^ In file included from /usr/include/c++/4.8.2/ext/string_conversions.h:41:0, from /usr/include/c++/4.8.2/bits/basic_string.h:2815, from /usr/include/c++/4.8.2/string:52, from /usr/include/c++/4.8.2/stdexcept:39, from /usr/include/c++/4.8.2/array:38, from /usr/include/c++/4.8.2/tuple:39, from /usr/include/c++/4.8.2/bits/stl_map.h:63, from /usr/include/c++/4.8.2/map:61, from /usr/local/src/medooze/mcu/src/mcu.cpp:2: /usr/include/c++/4.8.2/cstdlib:174:3: замечание: long long int std::abs(long long int) abs(long long __x) { return __builtin_llabs (__x); } ^ /usr/include/c++/4.8.2/cstdlib:166:3: замечание: long int std::abs(long int) abs(long __i) { return __builtin_labs(__i); } ^ make: *** [mcu.o] Ошибка 1
problem in the function of abs as I understand:
/usr/local/src/medooze/mcu/include/stringparser.h:602:24: ошибка: вызов перегруженной функции **«abs(long double)»** неоднозначен
File include/EventLoop.h contains an include directive for Buffer.h, but that file was removed in a recent commit. Some other files are probably missing as well and I have a hard time compiling media-server-node.
In my CentOS7 , I have met this error below, then mcu exited! what should I do? could anyone help me ? thanks a lot.
[0x7f9084c52f00][1502331849.949][LOG]-Dispatching [/mcu]
[0x7f9084c52f00][1502331849.949][LOG]>ProcessRequest [uri:/mcu]
[0x7f9084c52f00][1502331849.949][LOG]-ProcessRequest
[method:GetLocalCryptoDTLSFingerprint]
[0x7f9084c52f00][1502331849.952][LOG]<ProcessRequest [time:2]
[0x7f9079030700][1502331849.956][ERR]NELLY: could not fill audio frame
[0x7f9084c52f00][1502331849.961][LOG]-Dispatching [/mcu]
[0x7f9084c52f00][1502331849.961][LOG]>ProcessRequest [uri:/mcu]
[0x7f9084c52f00][1502331849.961][LOG]-ProcessRequest [method:SetLocalSTUNCredentials]
[0x7f9084c52f00][1502331849.961][LOG]-GetConferenceRef [1133903872]
[0x7f9084c52f00][1502331849.961][LOG]-SetLocalSTUNCredentials Audio [partId:502,username:61FB48C0BE7BB1F1,pwd:C9C036C7F853043DBE45A9F5CC9ABDA9EDF4B135DB97]
[0x7f9084c52f00][1502331849.961][LOG]-RTPTransport::SetLocalSTUNCredentials() | [frag:61FB48C0BE7BB1F1,pwd:C9C036C7F853043DBE45A9F5CC9ABDA9EDF4B135DB97]
[0x7f9084c52f00][1502331849.961][LOG]>ReleaseConferenceRef [1133903872]
[0x7f9084c52f00][1502331849.961][LOG]<ReleaseConferenceRef
[0x7f9084c52f00][1502331849.961][LOG]<ProcessRequest [time:0]
[0x7f907882f700][1502331849.975][LOG][flv @ 0x7f9060040980] AVFrame.format is not set
[0x7f907882f700][1502331849.975][LOG][flv @ 0x7f9060040980] AVFrame.width or height is not set
[0x7f9084c52f00][1502331849.985][LOG]-Dispatching [/mcu]
[0x7f9084c52f00][1502331849.985][LOG]>ProcessRequest [uri:/mcu]
[0x7f9084c52f00][1502331849.985][LOG]-ProcessRequest [method:StartReceiving]
I would like to point out that identifiers like “_CODECS_H_
” and “_MEDIA_H_
” do not fit to the expected naming convention of the C++ language standard.
Would you like to adjust your selection for unique names?
I use jssip in front when media established, after a while mcu process is crashed, I don`t why.
[0x7fba11ffb700][1529570270.664][DBG]-RTPSession::SendPacket() | no sendSRTPSession
[0x7fba11ffb700][1529570270.684][DBG]-RTPSession::SendPacket() | no sendSRTPSession
d1_both.c(274): OpenSSL internal error, assertion failed: s->d1->mtu >= dtls1_min_mtu()
==4269==ERROR: AddressSanitizer: heap-use-after-free on address 0x61c000045900 at pc 0x7f823d5457bc bp 0x7f823d14a250 sp 0x7f823d14a240
READ of size 4 at 0x61c000045900 thread T6
#0 0x7f823d5457bb in RTPIncomingSourceGroup::GetSource(unsigned int) ../media-server/src/rtp/RTPIncomingSourceGroup.cpp:28
#1 0x7f823d43c288 in DTLSICETransport::GetIncomingSource(unsigned int) ../media-server/src/DTLSICETransport.cpp:2296
#2 0x7f823d448820 in DTLSICETransport::onRTCP(std::shared_ptr<RTCPCompoundPacket> const&) ../media-server/src/DTLSICETransport.cpp:1985
#3 0x7f823d46000c in DTLSICETransport::onData(ICERemoteCandidate const*, unsigned char*, unsigned int) ../media-server/src/DTLSICETransport.cpp:134
#4 0x7f823d42cc93 in ICERemoteCandidate::onData(unsigned char*, unsigned int) ../media-server/include/ICERemoteCandidate.h:52
#5 0x7f823d42cc93 in RTPBundleTransport::Read() ../media-server/src/RTPBundleTransport.cpp:533
#6 0x7f823d42ed17 in RTPBundleTransport::Run() ../media-server/src/RTPBundleTransport.cpp:680
#7 0x7f823d42eebc in RTPBundleTransport::run(void*) ../media-server/src/RTPBundleTransport.cpp:644
#8 0x7f8242d707fb in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x77fb)
#9 0x7f8242a9db5e in clone (/lib/x86_64-linux-gnu/libc.so.6+0x114b5e)
0x61c000045900 is located 128 bytes inside of 1792-byte region [0x61c000045880,0x61c000045f80)
freed by thread T0 here:
#0 0x7f8243d682d0 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe12d0)
#1 0x7f823d3149fa in _wrap_delete_RTPIncomingSourceGroup ../src/media-server_wrap.cxx:10464
#2 0xe7a01d in v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) (/root/.nvm/versions/node/v8.8.1/bin/node+0xe7a01d)
#3 0xe7a289 in v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector, v8::GCCallbackFlags) (/root/.nvm/versions/node/v8.8.1/bin/node+0xe7a289)
#4 0xea544d in v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) (/root/.nvm/versions/node/v8.8.1/bin/node+0xea544d)
#5 0xea6220 in v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) (/root/.nvm/versions/node/v8.8.1/bin/node+0xea6220)
#6 0xe508c5 in v8::internal::Factory::NewRawOneByteString(int, v8::internal::PretenureFlag) (/root/.nvm/versions/node/v8.8.1/bin/node+0xe508c5)
#7 0xf55aff in v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<true>::ScanJsonString<false>() (/root/.nvm/versions/node/v8.8.1/bin/node+0xf55aff)
#8 0xf56d87 in v8::internal::JsonParser<true>::ParseJsonValue() (/root/.nvm/versions/node/v8.8.1/bin/node+0xf56d87)
#9 0xf56170 in v8::internal::JsonParser<true>::ParseJsonObject() (/root/.nvm/versions/node/v8.8.1/bin/node+0xf56170)
#10 0xf56d97 in v8::internal::JsonParser<true>::ParseJsonValue() (/root/.nvm/versions/node/v8.8.1/bin/node+0xf56d97)
#11 0xf57314 in v8::internal::JsonParser<true>::ParseJson() (/root/.nvm/versions/node/v8.8.1/bin/node+0xf57314)
#12 0xbb30db in v8::internal::Builtin_JsonParse(int, v8::internal::Object**, v8::internal::Isolate*) (/root/.nvm/versions/node/v8.8.1/bin/node+0xbb30db)
When call RTPStreamTransponder::SetIncoming, the media server will sendPLI to publisher. But if the Intra Frame is lost, the subscriber can't receive any data(even P Frame) until the publisher send next Intra Frame, because of the "waitingForIntra". It maybe cause subsciber can't watch video for 5-10 minutes.
It is a great open source project, thanks
Function:
void AudioMixer::Process(DWORD numSamples)
Code:
//Clean rest
memset(audio->buffer+audio->len,0,Sidebar::MIXER_BUFFER_SIZE-audio->len);
Should Be:
memset(audio->buffer+audio->len,0, (Sidebar::MIXER_BUFFER_SIZE-audio->len)*sizeof(SWORD) );
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.