Commit Graph

70 Commits

Author SHA1 Message Date
paulc b4d702161b Adapt buffer sizes to the sampling rate.
Fixed the buffering algorithm for codecs with large packets.


git-svn-id: http://yate.null.ro/svn/yate/trunk@6432 acf43c95-373e-0410-b603-e72c3f656dc1
2020-09-28 08:26:42 +00:00
paulc 37a72e4bc1 Added copyright notices to sources and scripts missing them.
Updated copyright notices for 2014.
Fixed end of lines in many files.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5755 acf43c95-373e-0410-b603-e72c3f656dc1
2014-02-05 11:42:17 +00:00
paulc 87bdcc5798 Reduced contention on CallEndpoint::commonMutex() when getting current or last peer ID.
Added a variable and separate mutex for the last peer ID, also used as cache for current one.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5702 acf43c95-373e-0410-b603-e72c3f656dc1
2014-01-07 16:07:34 +00:00
paulc cf5d0fd71a Changed license terms in each source file to reference an external file.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5609 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-06 13:38:10 +00:00
paulc 3cf42e2828 Use Alarm() in places that could prevent normal operation.
This allows sending SNMP traps when parts of the service become non-operational.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5569 acf43c95-373e-0410-b603-e72c3f656dc1
2013-07-08 12:21:26 +00:00
paulc 3b49b78ecb Added a shared static list of Atom strings and an YATOM macro.
This speeds up signifficantly the Yate RTTI on compilers that HAVE_BLOCK_RETURN.
Made the String comparison operator inline to shave off a few cycles.
Fast handle the comparison in identity case.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5449 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 13:19:14 +00:00
andrei 2a08c45703 Differentiate "No component could process the command" and "The component failed to process the command" in rmanager control output.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5396 acf43c95-373e-0410-b603-e72c3f656dc1
2013-02-08 15:23:06 +00:00
marian 94b6e06060 Make sure the user data pointer carried by handled message is a CallEndpoint one.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5287 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-01 11:00:30 +00:00
paulc bf57830c7f Added possibility to track message progress through handlers.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5107 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-12 23:47:01 +00:00
paulc 181055084a Added minimum interval for speaker tracking notifications.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4943 acf43c95-373e-0410-b603-e72c3f656dc1
2012-02-23 16:44:44 +00:00
paulc ede9a1dd01 Require the energy of speech to be at least sqrt(2) times the noise energy.
This reduces the excessively slow decay experienced with noisy phones.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4651 acf43c95-373e-0410-b603-e72c3f656dc1
2011-10-24 16:14:39 +00:00
paulc f663e3b173 Added activity (speech, we would hope) detector for conferenced users.
Added notifications for speaker list change.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4617 acf43c95-373e-0410-b603-e72c3f656dc1
2011-09-16 10:41:40 +00:00
paulc 67ef0580c3 Handle chan.control for conference legs to change the mute and silence detection at runtime.
Return the conference call leg status when querying the channels.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4536 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-01 17:35:06 +00:00
paulc aac58cf2eb Don't drop on timeout a conference room still owned.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4329 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-19 18:39:41 +00:00
paulc 709f86e4e6 Keep a list of optional conference owner channels, do not drop a lonely conference if there is still an owner other than the remaining participant.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4327 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-19 18:21:02 +00:00
paulc 22374cbd8e Return a flag if a new conference room has been created in the call.conference or call.execute messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4320 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-18 18:59:15 +00:00
paulc e45b2e9f7c Return the current number of users in conference in the call.conference or call.execute messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4319 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-18 16:31:33 +00:00
marian cf88d86927 Fixed VC++ compiler warning.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4303 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-15 15:06:07 +00:00
marian 46d30e24da A lonely timeout can now be set for a conference room to allow a single user to remain in the room for a specified interval.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4301 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-15 15:01:08 +00:00
paulc 118153922b Copy the connect reason from call.execute message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4235 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-29 11:30:46 +00:00
paulc d95cb2fec6 Spelling cleanup of a very common error: Retrive -> Retrieve
git-svn-id: http://yate.null.ro/svn/yate/trunk@3371 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-11 11:25:10 +00:00
paulc 7ef891f00a Added new conference parameter "waitlock" that controls how much to wait to lock the room Mutex. A negative value disables automatic muting.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3198 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-15 16:19:25 +00:00
paulc 245cd8d3ae Added basic sample rate control in ALSA, OSS, conference and MOH.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3161 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-30 15:06:50 +00:00
paulc 6eeb68bb1a Added Channel::initChan() method to add the channel to the driver explicitely, after the object is fully constructed.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3033 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-26 10:31:32 +00:00
paulc 05fa7aca7c Copy by default some parameters from call.execute to chan.startup of outgoing calls.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2964 acf43c95-373e-0410-b603-e72c3f656dc1
2009-11-25 18:34:54 +00:00
paulc 10207eee23 Set the "peerid" parameter in a conference "joined" notification.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2929 acf43c95-373e-0410-b603-e72c3f656dc1
2009-11-11 13:52:14 +00:00
paulc 88614064d9 Display consumer construction and destruction when compiled for debugging.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2834 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-14 10:43:26 +00:00
paulc 44056a68db Copy the "maxlen" and "notify" parameters to the conference recording call leg.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2789 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-13 11:57:24 +00:00
paulc a2812051f2 Added Semaphore class, made Mutex derive from (new class) Lockable, made Lock able to get a lock on any Lockable - Mutex or Semaphore.
Use pthread_mutex_timedlock and sem_timedwait if available on platform.
Fixed a bug in the IAX channel exposed by Mutex having virtual methods.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2761 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-22 12:57:14 +00:00
paulc 8520218d2d Added flags to data forwarded through DataNodes.
The amount of consumed data is returned to the source.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2745 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-02 09:24:33 +00:00
paulc 2042e30ca4 Made DataSource inherit Mutex instead of having it as a field.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2614 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-05 20:49:05 +00:00
paulc c669a24f90 Added mutex names to most Yate modules.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2613 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-05 14:06:39 +00:00
paulc 92ecb9bf20 Keep conference room referenced from its consumers.
Fixes memory overwrites and crashes occuring when an override source kept the consumer referenced and pushed data to the destroyed room.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2578 acf43c95-373e-0410-b603-e72c3f656dc1
2009-04-14 16:42:26 +00:00
paulc 9b292f5868 Fixed some warnings and genuine bugs exposed by newer gcc.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2447 acf43c95-373e-0410-b603-e72c3f656dc1
2009-01-20 12:27:53 +00:00
paulc 67368c530f Fixed crash in signal/noise graph if noise > energy (happens without locking).
Under Windows no longer uselessly evaluate the graph strings if not XDEBUG.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2193 acf43c95-373e-0410-b603-e72c3f656dc1
2008-09-09 15:14:39 +00:00
paulc 3c1a669294 Added callConnect() to several utility channels to enable tone detection.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2110 acf43c95-373e-0410-b603-e72c3f656dc1
2008-07-29 14:28:36 +00:00
marian 07893c9a0b Added 'laspeerid' parameter in messages enqueued when a channel joined/left a conference room or received some other events (tones or text).
git-svn-id: http://yate.null.ro/svn/yate/trunk@2053 acf43c95-373e-0410-b603-e72c3f656dc1
2008-07-04 07:55:54 +00:00
paulc 64eb1e11f6 Removed extra "room" parameter from notification messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1912 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-15 23:00:35 +00:00
paulc f9a2d8c56a By default don't try to preserve targetid of chan.dtmf and chan.text anymore.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1875 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-03 14:43:05 +00:00
paulc ea517faf8d Apply timeout parameter to non-utility conference legs.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1868 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-01 10:20:02 +00:00
paulc a2decb6d8f Separate user counting from utility function.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1855 acf43c95-373e-0410-b603-e72c3f656dc1
2008-03-27 13:47:56 +00:00
paulc f345e2a50c Forward the notification ID to the recording call leg.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1842 acf43c95-373e-0410-b603-e72c3f656dc1
2008-03-25 10:15:58 +00:00
paulc 4154377c61 Unhandled DTMF and text events are relayed through the room.
The module can be unloaded.


git-svn-id: http://yate.null.ro/svn/yate/trunk@1821 acf43c95-373e-0410-b603-e72c3f656dc1
2008-03-20 19:08:20 +00:00
paulc f218fc6521 Added status and drop per conference room.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1819 acf43c95-373e-0410-b603-e72c3f656dc1
2008-03-20 11:31:58 +00:00
paulc 6ce7101dce Suppress room full check for utility call legs, they must be always allowed.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1816 acf43c95-373e-0410-b603-e72c3f656dc1
2008-03-20 09:34:28 +00:00
paulc 66631a0bb0 Added "maxusers" parameter in all notification messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1461 acf43c95-373e-0410-b603-e72c3f656dc1
2007-10-28 21:05:44 +00:00
paulc 822ae15fe6 Added missing call to inherited method.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1359 acf43c95-373e-0410-b603-e72c3f656dc1
2007-06-08 23:00:19 +00:00
paulc bd6a9cce63 Avoid attempting to reuse a conference that was just dereferenced.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1358 acf43c95-373e-0410-b603-e72c3f656dc1
2007-06-08 22:59:00 +00:00
paulc 8d2000314e Fixed concurrent access between data mixer and channel destruction.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1341 acf43c95-373e-0410-b603-e72c3f656dc1
2007-05-28 12:13:34 +00:00
paulc c75ec31415 Added channel ID in notifies and tracking for a (music) player channel.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1308 acf43c95-373e-0410-b603-e72c3f656dc1
2007-05-11 12:23:57 +00:00