Giter Club home page Giter Club logo

media-server's Introduction

media-server-unit-tests

media-server

WebRTC Media Server

Documentation coming soon, major refactoring ongoing. Stay tuned!

Usage

This repository is currently a host for the base media code used in different projects. While it may take a while to propertly encapsulate it and define reusable components to create a proper SDK, you can use the following native wrappers:

Functionality

We intend to implement support the following features:

Support

To discuss issues related to this project or ask for help please join the google comunity group.

Contributing

To get started, sign the Contributor License Agreement.

License

Dual:

media-server's People

Contributors

akola-dolby avatar asherkin avatar bcostdolby avatar codacy-badger avatar fuub avatar harryz2000 avatar josemrecio avatar josemrecio-cosmo avatar jsobi avatar lstac avatar marcelhencke avatar mbop001 avatar mildsunrise avatar mjzac avatar murillo128 avatar notedit avatar pnkjvvdy avatar vaibhavmdhoke avatar wxxit avatar zitaliao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

media-server's Issues

[SLOW-FUZZ] heap-use-after-free on RTPIncomingSourceGroup::SetRTT()

=================================================================
==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)

Parse mediafrme data use gstreamer

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?

Compiling Media Mixer CentOS 7

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)»** неоднозначен

Video codec H264 quality

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.

Sometimes SenderSideBandwidthEstimator.GetEstimatedBitrate() is zero

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

error on build libmediaserver.so

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

NACK optimize

Hi murillo,

I read your nack part code, i think the nack can be optimized. here is some stats from webrtc.
I test this in local network.

this is retransmit bitrate
Screen Shot 2019-09-30 at 2 35 26 PM

this is video bitrate
Screen Shot 2019-09-30 at 2 36 13 PM

this is nack received
Screen Shot 2019-09-30 at 2 36 34 PM

NELLY: could not fill audio frame

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]

Performance of Meida Server

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

mcu crashed with "OpenSSL internal error, assertion failed"

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()

logo.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

mcu crashes when places a call

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)

RTP payload for VP8 as per RFC 7741 not supported

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.

[SLOW-FUZZING] Seg fault on RTPIncomingSourceGroup::GetSource

==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)

create other language wrappers of media-server

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?

Is this a little bug?

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) );

mp4streamer.cc fails to compile on Linux

../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.

inet_ntop ??

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]

Lip sync issue observed with G722 audio codec

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.

Compiling Media Mixer

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

VP8 video frame getting blured

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.

RTT calculation is error when transport without outgoing stream

image

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.

Fix wrong RTCP BYE parsing

image

[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                                                    .       ]

xmlrpc server response shouldn't send transfer-encoding:chunked and length together

This is wireshark screenshot.
wireshark

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;

}

MP4Recoder maybe can not work

When I test mp4record, I found it can not work. When check it stack as follow
image
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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.