Commit Graph

99 Commits

Author SHA1 Message Date
paulc c4c9e994f0 Renamed DebugGoOn to DebugCrit so it better matches its purpose.
Swapped order of DebugCall and DebugNote so DebugCall is less visible.
Changed default debug level to DebugNote.
Modified a few inadequate uses of DebugCrit.


git-svn-id: http://yate.null.ro/svn/yate/trunk@6250 acf43c95-373e-0410-b603-e72c3f656dc1
2017-08-01 13:08:23 +00:00
paulc bcdf0ab849 Use separate mutexes to protect the owner CallEndpoint pointer since using DataEndpoint::commonMutex() from the data threads can lead to deadlocks.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6188 acf43c95-373e-0410-b603-e72c3f656dc1
2017-02-22 11:19:08 +00:00
paulc c67312d159 Added extra checks for race conditions where CallEndpoint::setEndpoint() may fail.
Added convenience static RefObject::alive() method to check a RefObject pointer.


git-svn-id: http://yate.null.ro/svn/yate/trunk@6177 acf43c95-373e-0410-b603-e72c3f656dc1
2017-01-27 11:25:29 +00:00
paulc 03752b3f44 Slow down the consumer waiting loop as to not burn too much CPU.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6064 acf43c95-373e-0410-b603-e72c3f656dc1
2015-11-13 07:47:38 +00:00
paulc 08fe54e27a Added YIGNORE macro to silence compiler warnings about unused values.
Cleaned up a number of compiler warnings.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5888 acf43c95-373e-0410-b603-e72c3f656dc1
2014-07-31 12:13:52 +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 7c39b31458 Fixed warnings - mostly conversions - exposed by Visual C++ compiler.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5614 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-07 11:24:10 +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 10efd2085e Support appending to raw and .lbc wave files.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5307 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-24 11:17:04 +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 db192091ed Fixed timestamps when playing files with rate not 8kHz.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5186 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-06 12:13:33 +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 64120fa92e Allow copying arbitrary params when initiating calls from wave or tonegen.
Copy back the peerid if the outbound call starts.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4606 acf43c95-373e-0410-b603-e72c3f656dc1
2011-09-14 17:03:57 +00:00
paulc 597d369054 Use a RefPointer for DataEndpoint when it could be obtained from setEndpoint instead of being carried (and referenced) by a message.
Prevents crashes caused by race conditions when a CallEndpoint is having its DataEndpoints deleted or replaced.
Bug spotted and patch idea provided by Matthew.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3654 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-15 10:30:35 +00:00
paulc 682c4c9d2a Use static const Regexps wherever possible to speed up code.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3391 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-17 11:38:46 +00:00
paulc 52a13319f7 Allow attaching an opposite type (consumer for tone and wave/play, source for wave/record) data node for tone and wave channels.
Simplifies creation of simple test routes.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3260 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-30 15:19:51 +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 14b4e4a755 Added format info for G.729/G.729A.
Wavefile module can play or record raw G.729 files with extension .g729


git-svn-id: http://yate.null.ro/svn/yate/trunk@2856 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-23 15:07:50 +00:00
paulc 12a2ac9c0c Added parameter to ThreadedSource::looping() so it can keep running while it has consumers.
Fixed behavior of wave and tone "override" and "replace" methods.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2835 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-14 11:02:27 +00:00
paulc 2186793f38 The worker thread of ThreadedSource now keeps it referenced.
New methods of DataEndpoint, CallEndpoint and ThreadedSource allow easier handling of concurrent operations.
Modules using ThreadedSource were modified to use the new API.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2827 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-07 23:49:12 +00:00
paulc 3a5ce90b25 Remember the WaveConsumer that must be disconnected, remove it from the proper consumer, call record or peer record.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2785 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-12 14:09:32 +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 5499650213 Changed thread names to be uniform and easily readable.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2733 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-22 14:48:26 +00:00
paulc 499cbd7c1e Suppress CDR tracking on wave or tone originated call legs since these utility channels don't emit a chan.hangup anyway.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2657 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-28 14:33:07 +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 fd9538787e Restored the public readable functionality broken by the commit in Rev 2515.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2584 acf43c95-373e-0410-b603-e72c3f656dc1
2009-04-15 13:57:14 +00:00
paulc e5f534262c Identifiers for chan.notify can be specified separately for each type of source or consumer.
Simplified some older code to get the value of maxlen.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2573 acf43c95-373e-0410-b603-e72c3f656dc1
2009-04-13 10:09:41 +00:00
paulc 55ade880dc Allow passing streams or data blocks to be played or recorded instead of disk files.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2532 acf43c95-373e-0410-b603-e72c3f656dc1
2009-03-22 21:38:29 +00:00
paulc 4038003715 Use Stream objects instead of operating system handles.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2515 acf43c95-373e-0410-b603-e72c3f656dc1
2009-03-05 15:46:27 +00:00
paulc 3a3f0dcabd Fixed several places in wavefile where ntoh* was used instead on the hton* functions. Harmless but confusing.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2480 acf43c95-373e-0410-b603-e72c3f656dc1
2009-02-10 13:45:52 +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
paulc 1d1a4b4934 Added notify where could be missed under tight timings.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1577 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-03 14:41:08 +00:00
paulc 8584fb131b Start counting time position after successfully reading from file.
Alleviates problems caused by slow file systems.


git-svn-id: http://yate.null.ro/svn/yate/trunk@1460 acf43c95-373e-0410-b603-e72c3f656dc1
2007-10-24 17:34:14 +00:00
paulc 3f6e05528c Added setting to make the written files world readable.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1425 acf43c95-373e-0410-b603-e72c3f656dc1
2007-08-17 16:13:20 +00:00
paulc da79946d6e Changed the unlocking order to prevent races. Perform cleanups in the
destroyed() method instead of the destructor.


git-svn-id: http://yate.null.ro/svn/yate/trunk@1357 acf43c95-373e-0410-b603-e72c3f656dc1
2007-06-08 18:33:33 +00:00
paulc b6f5e45674 Added feature (default enabled) to pad files to full buffer size.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1339 acf43c95-373e-0410-b603-e72c3f656dc1
2007-05-25 19:50:23 +00:00
paulc df9c41067c Added support for play/record raw stereo PCM and G.711 files.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1298 acf43c95-373e-0410-b603-e72c3f656dc1
2007-05-06 17:46:24 +00:00
paulc cd702d2885 Solved one very narrow timeframe where destruction race was possible.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1284 acf43c95-373e-0410-b603-e72c3f656dc1
2007-04-20 16:53:40 +00:00
paulc 954d991b2f Added extra variable to solve asynchronous destruction race between data
and disconnector threads.


git-svn-id: http://yate.null.ro/svn/yate/trunk@1283 acf43c95-373e-0410-b603-e72c3f656dc1
2007-04-20 00:08:33 +00:00
paulc 6e503cd4dc Set the disconnector thread name to help in debugging.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1278 acf43c95-373e-0410-b603-e72c3f656dc1
2007-04-18 00:47:57 +00:00
marian 5cfe78ff09 Au headers are written for all alaw, mulaw and slin formats
git-svn-id: http://yate.null.ro/svn/yate/trunk@1249 acf43c95-373e-0410-b603-e72c3f656dc1
2007-04-06 16:08:38 +00:00
paulc 261bbc16ea Support for stereo a-law and mu-law, capability to write them to .au file.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1248 acf43c95-373e-0410-b603-e72c3f656dc1
2007-04-06 13:37:56 +00:00
paulc 81da125dfd Fixed race of starting thread in constructor. Added "replace" attach method.
Added capability to write .lbc and .au files with headers.


git-svn-id: http://yate.null.ro/svn/yate/trunk@1222 acf43c95-373e-0410-b603-e72c3f656dc1
2007-03-19 23:06:06 +00:00
paulc 4985603d97 Clear the owner channel in zombie sources - noone is referencing them
anymore.


git-svn-id: http://yate.null.ro/svn/yate/trunk@1210 acf43c95-373e-0410-b603-e72c3f656dc1
2007-03-05 13:48:19 +00:00
paulc d23620dce9 Added a quick workaround for asynchronous deletion problem.
Setting asyncdelete=no in [hacks] of yate.conf reverts to synchronous
thread termination.


git-svn-id: http://yate.null.ro/svn/yate/trunk@1199 acf43c95-373e-0410-b603-e72c3f656dc1
2007-02-22 21:40:21 +00:00
paulc 1ce9993eb2 Implemented an alternative way of destroying a ThreadedSource from the data
pumping thread itself, should fix most threading related problems.


git-svn-id: http://yate.null.ro/svn/yate/trunk@1162 acf43c95-373e-0410-b603-e72c3f656dc1
2007-01-12 22:16:38 +00:00
paulc 51ae23e37b Added autorepeat support for the wave source (play).
git-svn-id: http://yate.null.ro/svn/yate/trunk@1125 acf43c95-373e-0410-b603-e72c3f656dc1
2006-12-14 18:09:46 +00:00
paulc af70389fc6 Added channel ID (if any) and notify reason to "chan.notify" message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1071 acf43c95-373e-0410-b603-e72c3f656dc1
2006-10-09 14:15:14 +00:00
paulc 7d10934a2b Added more debug messages when compiling with DEBUG.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1066 acf43c95-373e-0410-b603-e72c3f656dc1
2006-10-03 17:10:56 +00:00
paulc f47eaf8153 Fixed a race bug in in removing the data source.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1065 acf43c95-373e-0410-b603-e72c3f656dc1
2006-10-03 16:42:49 +00:00