Commit Graph

114 Commits

Author SHA1 Message Date
Benny Prijono 72b6104702 Added volume control to indivual tone enqueued to the tone generator.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@694 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-05 22:52:26 +00:00
Benny Prijono 7f5c12cb57 Added multi-purpose tone generator in PJMEDIA (tonegen.[hc])
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@693 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-02 23:45:18 +00:00
Benny Prijono 97b87175bc Just updated doxygen documentation
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@690 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-24 14:25:14 +00:00
Benny Prijono 5da50430bb Change set_ec_tail() API to set_ec() in sound port, also change suppressor to reduce mic signal by division rather than zeroing the signal. Also moved out VAD and EC settings to config.h.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@658 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-07 10:24:52 +00:00
Benny Prijono 3842ec4a3f Change the silence suppressor to use the adaptive silence detector.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@655 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-06 14:15:47 +00:00
Benny Prijono 22dfe59f7e Change AEC into generic echo canceller framework with either AEC or simple echo suppressor backend can be selected during runtime.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@653 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-06 12:07:13 +00:00
Benny Prijono 70972993e6 AEC and sound backend fixes:
- Changed default sound backend in Windows to PortAudio
- Finalizing AEC settings on Windows:
	- default tail is 256 msec
	- write AEC configuration with "dc"



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@651 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-05 11:13:58 +00:00
Benny Prijono f20687a082 More work on the AEC (including changes in PJSUA), embed the AEC in sound_port, reduce DirectSound buffer from 32 to 16, and fixed ARM compilation for MSVC WinCE target.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@648 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-04 18:27:19 +00:00
Benny Prijono 69f7312f51 More experimentation with AEC: (1) added media port to create bidirectional port from two unidirectional ports, (2) split AEC functionality into AEC algorithm (aec.h) and AEC media port (aec_port.h), (3) Added the AEC functionality in the sound_port.c.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@646 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-04 11:08:00 +00:00
Benny Prijono bb9cc5f5d5 Removed the constness of the captured frame from pjmedia_snd_rec_cb specification (experimental, to support AEC since AEC needs to modify the buffer).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@645 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-04 11:06:05 +00:00
Benny Prijono c8e24a1e53 Added experimental AEC media port (aec_port.[hc]) based on Speex AEC in pjmedia and pjsua-lib.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@642 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-02 18:22:22 +00:00
Benny Prijono c585988fb2 Really add the iLBC files into SVN now (duh!).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@638 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-31 15:25:14 +00:00
Benny Prijono 00cae61f5e - Added iLBC codec (experimental) with the following features:
- configurable default decoder mode (20 or 30),
   - encoder mode follows the mode specified in SDP fmtp from
     the remote's SDP,
   - silence detector uses pjmedia's,
   - PLC uses iLBC's PLC,
   - perceptual enhancement (penh) is configurable via codec
     param, as usual.

- iLBC mode is configurable in pjsua with --ilbc-mode option.

- Added packet lost simulation in pjmedia's UDP transport and
  in pjsua (with --rx-drop-pct and --tx-drop-pct options).

- Increase default buffer count in DirectSound to 32 frames
  to make it more resilient to CPU disruption.

- Specify and parse fmtp mode in SDP for codecs that need it.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@637 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-31 15:19:36 +00:00
Benny Prijono c5dfa170c7 Added pjmedia_port_info_init() to fill in pjmedia_port_info structure, avoiding manual initialization and thus improves consistency (and probably reduces size by a tiny bit). This involves modification in quite few places.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@633 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-29 11:14:47 +00:00
Benny Prijono 1b789eda49 - Added splitter/combiner port (splitcomb.c)
- Added function to initialize pjmedia_port_info (still unused though)



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@631 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-27 22:03:51 +00:00
Benny Prijono 92ac447ad2 Changed all public header files to compile correctly when -ansi and -pedantic is used, also when g++ is used
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@622 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-22 13:42:56 +00:00
Benny Prijono e219b0ffb1 Added PJMEDIA_RTCP_IGNORE_FIRST_PACKETS macro to let application decides how many first RTP packets to ignore when calculating jitter
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@618 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-22 12:45:37 +00:00
Benny Prijono ac623b3bca Change all pj_memset to pj_bzero(), where applicable
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@582 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-03 15:19:31 +00:00
Benny Prijono 5d4b53b6e8 Miscellaneous bug fix and improvements in PJMEDIA: (1) more stricker SDP parsing and validation, (2) fixed bug in RTCP attribute generation in SDP, (3) configurable telephone-event payload type
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@571 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-02 12:29:54 +00:00
Benny Prijono b12106f981 Improvements in PJMEDIA to support RFC 3605 (RTCP attribute in SDP) and other changes to improve RTCP communication behind NAT. Also fixed bug related to RTCP reporting changes in revision 565
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@568 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-29 14:45:17 +00:00
Benny Prijono f2a3e51a35 Minor bug fix and enhancements: (1) fixed bug that caused out-of-order status to be raised when incoming sequence number is random, (2) changed RTCP to only calculate jitter when the RTP timestamp of the packet is different than previous one, and (3) change RTP to randomize initial sequence number
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@567 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-29 09:51:09 +00:00
Benny Prijono a14fe1f936 Fixed minor compliation warning in transport_udp.c, also corrected misleading comments, and added memory based capture/playback to the Makefile
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@558 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-28 11:48:51 +00:00
Benny Prijono 597d7ad058 Added better API for media transport, and fixed bugs with pending RTP write operation in UDP media transport
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@539 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-22 18:49:45 +00:00
Benny Prijono 84f45890c4 Fixed RTCP statistic returning fraction lost instead of total lost
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@537 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-22 18:44:11 +00:00
Benny Prijono e8f275a4a1 Added capability to build pjmedia_sock_info from an UDP media transport
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@533 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-22 00:54:54 +00:00
Benny Prijono 9eda522046 Added memory/buffer based media playback and recording
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@532 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-22 00:34:27 +00:00
Benny Prijono 1ec70b3082 Yet again large diffs because of documentation/doxygen update
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@531 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-20 15:39:07 +00:00
Benny Prijono 37235afb40 Updated doxygen documentation to all headers in PJMEDIA
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@518 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-18 02:02:36 +00:00
Benny Prijono c78c3a3544 Optimizations mostly in the conference bridge (gained more than 3x faster)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@513 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-16 15:54:43 +00:00
Benny Prijono f37356fe02 Standardise clearing and copying frame with pjmedia_zero_samples() and pjmedia_copy_samples()
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@506 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-14 20:04:04 +00:00
Benny Prijono 2d5d61f0dc Added pjmedia_sdp_neg_was_aswer_remote()
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@501 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-13 22:22:54 +00:00
Benny Prijono a0d6bc4738 Added mutex protection and option not to delete upstream/downstream port in master_port.c
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@498 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-12 10:13:31 +00:00
Benny Prijono ba063626cf Changed codec priority to use integer with value between 0-255 instead of enum
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@497 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-11 23:19:43 +00:00
Benny Prijono 8b1889bdd2 Another huge chunks of modifications in PJSUA API, too many things to mention!
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@492 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-06 18:40:40 +00:00
Benny Prijono ded7da249d Uploaded splitter/combiner API draft
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@488 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-05 13:46:38 +00:00
Benny Prijono 30c658b500 Added options in pjmedia UDP transport to disable source address checking
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@483 74dad513-b988-da41-8d7b-12977e46ad98
2006-06-01 11:37:30 +00:00
Benny Prijono 56de90352a Added set_pos() to WAV player
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@480 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-28 14:51:21 +00:00
Benny Prijono 67e779b638 Added destroy in transport operation
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@479 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-28 14:45:33 +00:00
Benny Prijono 4b08be9674 Fixed minor compilation warnings in rtcp.h
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@473 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-25 20:19:04 +00:00
Benny Prijono 70c689132a Install VAD in g711, gsm, and speex, and add the DTX support in stream.c. Also changed the way the silence detector works, and changed default speex quality/complexity to 10
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@457 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-19 15:58:13 +00:00
Benny Prijono 1f98cb8fe9 Changed the way average jitter is calculated in rtcp
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@455 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-18 18:35:05 +00:00
Benny Prijono b04c9e0072 Major modification in pjmedia to split stream transport into separate functionality, to allow using custom transports with streams
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@452 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-17 17:17:39 +00:00
Benny Prijono ed8c0fc17f Changed default sound back-end on Win32 to own DirectSound
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@445 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-14 21:29:53 +00:00
Benny Prijono 65382dba06 Set default sound backend in Win32 to own DirectSound, and changed conference clock to 10ms (from 20ms)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@443 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-14 18:50:09 +00:00
Benny Prijono 42adf5e7fb Fixed more bugs with multiple frame handling
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@442 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-14 18:23:34 +00:00
Benny Prijono 8befd9fe99 Another major modifications in PJMEDIA:
- handle multiple frames in one packet
- split stream creation into two steps to allow customization
- PLC framework and implementation with G.711 and speex
- stream returns NO_FRAME correctly.
- added ptime argument in pjsua



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@438 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-13 22:46:23 +00:00
Benny Prijono 0766da0502 Fixed bugs: stream should give to jitter buffer the extended/32bit sequence number instead of raw 16bit sequence number from RTP, to handle the sequence wrapping case, and added options in jbuf to behave as fixed buffer, and added extra frame type for jitter buffer returned frame.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@436 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-11 14:32:26 +00:00
Benny Prijono 3897589998 Fixed bug: incorrect remote and local PT for telephone-events (swapped)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@435 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-11 14:22:01 +00:00
Benny Prijono 9eb336776d Changed jbuf param name in stream_info, and generate random SSRC for RTP/RTCP instead of zero.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@428 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-02 17:49:31 +00:00
Benny Prijono 27071e301e Fixed several bugs in RTCP and tested the compatibility. Fixed bugs: total lost byte order, RTCP RR parsing, normalizing large RTT, RX pkt lost online update.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@427 74dad513-b988-da41-8d7b-12977e46ad98
2006-05-02 17:47:51 +00:00