summaryrefslogtreecommitdiff
path: root/pjmedia/src/pjmedia/stream.c
AgeCommit message (Collapse)Author
2016-02-18Misc (Re #1882): Add compile time option (PJMEDIA_HAS_DTMF_FLASH) to ↵Riza Sulistyo
enable/disable DTMF flash as specified in rfc2833. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5242 74dad513-b988-da41-8d7b-12977e46ad98
2016-02-04Fixed #1904: Support for Opus codecLiong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5239 74dad513-b988-da41-8d7b-12977e46ad98
2016-01-15Misc (re #1882): Suppress EAGAIN recv() error log in pjmedia stream.c & ↵Nanang Izzuddin
vid_stream.c (thanks Christian Ambach for the patch). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5234 74dad513-b988-da41-8d7b-12977e46ad98
2015-10-07Re #1882 (misc): Fixed possibly incorrect stream statsLiong Sauw Ming
When a codec is opened, it can modify its param (such as iLBC can normalize its frame ptime based on remote SDP), so the stream stats has to be updated accordingly. Also in this fix is to increase the log level which shows the info of iLBC mode opened. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5187 74dad513-b988-da41-8d7b-12977e46ad98
2015-09-10Fix #1884: Fixed silence frame length in stream (frame length calculation ↵Nanang Izzuddin
didn't include frame per packet). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5174 74dad513-b988-da41-8d7b-12977e46ad98
2015-05-28Misc (re #1843): Updated error message in pjmedia stream & video stream upon ↵Nanang Izzuddin
RTP receiving failure, also avoid printing the same message repeatedly of same subsequent failures. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5101 74dad513-b988-da41-8d7b-12977e46ad98
2015-04-02Re #1818: Avoid warning caused by trying to destroy a locked jb mutex in ↵Liong Sauw Ming
pjmedia stream git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5043 74dad513-b988-da41-8d7b-12977e46ad98
2014-04-14Misc (re #1751): do not update RTCP TX statistic if sending RTP in stream ↵Benny Prijono
(audio and video) fails git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4816 74dad513-b988-da41-8d7b-12977e46ad98
2014-03-11Re #1742 (misc): Added NULL check before cloning codec param in pjmedia ↵Nanang Izzuddin
stream (thanks Wolfgang Kampichler for the fix). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4788 74dad513-b988-da41-8d7b-12977e46ad98
2014-02-11Re #1734: Add flash support for DTMF rfc 2833.Riza Sulistyo
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4739 74dad513-b988-da41-8d7b-12977e46ad98
2014-02-04Misc (re #1630): Fixing warnings about variable set but not used with recent gccBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4728 74dad513-b988-da41-8d7b-12977e46ad98
2013-10-08Re #1703: fixing general bugs. First installment: correct handling of ↵Benny Prijono
snprintf return value git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4613 74dad513-b988-da41-8d7b-12977e46ad98
2013-06-19Re #1680: Add initial support for Win64Riza Sulistyo
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4537 74dad513-b988-da41-8d7b-12977e46ad98
2013-01-29Re #1568: (PJSIP 2.x) Apply pjsua_media_config before detecting media change ↵Liong Sauw Ming
and fixed encoding name string duplication. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4336 74dad513-b988-da41-8d7b-12977e46ad98
2012-10-05Re #1586: Add support for SILK multiple frames per packetLiong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4278 74dad513-b988-da41-8d7b-12977e46ad98
2012-09-20Fixed #1582: Transmit the last DTMF packet (containing the E bit) three timesBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4263 74dad513-b988-da41-8d7b-12977e46ad98
2012-09-14Transmit DTMF with 'End' bit when the stream is being destroyed. This closes ↵Benny Prijono
#1582 git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4255 74dad513-b988-da41-8d7b-12977e46ad98
2012-09-14Close #1568:Nanang Izzuddin
- Added media change detection based on SDP negotiation result and local codec param settings, the detection result will decide whether the media should be re-initialized after the SDP negotiation. - Fixed stream to keep the duplicate of codec param for the stream info (was only copying the pointer). - Introduced macro PJSUA_THIRD_PARTY_STREAM_HAS_GET_INFO & PJSUA_THIRD_PARTY_STREAM_HAS_GET_STAT. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4254 74dad513-b988-da41-8d7b-12977e46ad98
2012-08-08Fixed #1566:Nanang Izzuddin
- Increased RTP check count from 5 to 50. - Immediate stop check when the correct RTP ts span, i.e: using 8khz clockrate, is received. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4223 74dad513-b988-da41-8d7b-12977e46ad98
2012-05-12Re #1508 (misc): Fixed compilation error if PJMEDIA_STREAM_ENABLE_KA is enabled.Liong Sauw Ming
This fix also disable the keep-alive feature in video stream. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4120 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-27Re #1474: merged r4100-4107Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4108 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-26Re #1474: merged r4095:4099Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4100 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-30Re #1474: Merged all changes from 1.12 - HEAD (from the 1.x branch)Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3999 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-22Re: #1463 (Third party media support). Tnitial work and it works, tested on ↵Benny Prijono
Linux. Details: * add PJSUA_MEDIA_HAS_PJMEDIA macro * move pjmedia specific implementation in pjsua_media.c and pjsua_call.c into pjsua_aud.c * add pjsip-apps/src/third_party_media sample containing: - alt_pjsua_aud.c - alt_pjsua_vid.c * moved pjmedia_vid_stream_info_from_sdp() into pjmedia/vid_stream_info.c * moved pjmedia_stream_info_from_sdp() into pjmedia/stream_info.c * misc: fixed mips_test.c if codecs are disabled git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3982 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-20Misc (re #1393): fix bitrate calculation in stream.c and wav_playlist.c.Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3917 74dad513-b988-da41-8d7b-12977e46ad98
2011-11-30Fixed problem with selecting audio codec if rtpmap is omitted from the SDP ↵Benny Prijono
for the static PT (re #1393, thanks Régis Montoya for the fix!) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3890 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-31Re #1395: Backport of PJSIP 1.x branch into PJSIP 2.0 trunkLiong Sauw Ming
* Backport of r3833:r3877 git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3878 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-24Re #1300: fixed bug when looking for non-telephone-events codec in the ↵Benny Prijono
incoming INVITE causing it to rejects with 488 git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3842 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-24Re #1395: Backport of PJSIP 1.x branch into PJSIP 2.0 trunkLiong Sauw Ming
* Backport of r3557:r3832 TODO: ticket #1268 (Option for automatic/manual sending of RTCP SDES/BYE for the stream) for video stream. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3841 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-23Re #1300: Implemented symmetric payload type in generating SDP answer in SDP ↵Nanang Izzuddin
negotiator. This should work for all codecs, audio & video. Can be disabled at compile-time using PJMEDIA_SDP_NEG_REWRITE_ANSWER_PT macro setting. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3837 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19Re #1326: Initial code integration from branch 2.0-dev to trunk as ↵Nanang Izzuddin
"2.0-pre-alpha-svn". git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3664 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-05Re #1250: Updated the year in all copyright texts with 2011!Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3553 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-15Closed #1206: Add pjmedia_stream API to get the last frame type retrieved ↵Liong Sauw Ming
from the jitter buffer. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3442 74dad513-b988-da41-8d7b-12977e46ad98
2011-02-18Fix #1199:Nanang Izzuddin
- Modified G722 frame time to 10ms (was 20ms) and frame per packet to 2 (was 1). - Updated the detection mechanism of remote G722 frame-length in the stream to be flexible to any G722 frame length setting (was assumed to be always 20ms). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3416 74dad513-b988-da41-8d7b-12977e46ad98
2011-02-17Misc (re #1175): fixed possible division-by-zero bug when receiving ↵Nanang Izzuddin
problematic G722 payloads (e.g: sized less than 160 bytes) and remote clock-rate/timestamp-span detection is active (PJMEDIA_HANDLE_G722_MPEG_BUG is set). Thanks Erik Waling for the patch. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3414 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-06Fixed #1160: Option to bypass RTP payload type verification in the stream ↵Benny Prijono
(thanks Johan Lantz for the suggestion) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3387 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-20Closed #1129:Nanang Izzuddin
- Added run-time configuration for activating/deactivating stream keep-alive (non-codec-VAD mechanism), also added this config to account settings. - Fixed bug wrong session info pointer "si" in pjsua_media_channel_update() when call audio index is not zero. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3313 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-24Fix #1114:Nanang Izzuddin
- Fixed bytes_per_frame calculation in stream port. - Fixed sample streamutil.c to use codec info/param for codec bandwidth calculation (was using bytes_per_frame info of stream port). - Doc fix for bytes_per_frame field in pjmedia_port_info. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3292 74dad513-b988-da41-8d7b-12977e46ad98
2010-07-15Re #1103:Nanang Izzuddin
- Updated RTCP jitter statistics calculation (in receiving direction) to use "interarrival jitter" (was using "difference D") of RFC 3550. - Added APIs to reset RTCP statistics. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3237 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-26Fix #740:Nanang Izzuddin
- Fixed zeroed/unset RTP timestamp in RTCP sender report. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3224 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-23Re #1094: fixed compilation error in previous fix in r3218Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3220 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-23Fixed #1094: Transmit RTCP keep alive even when the stream is paused (thanks ↵Benny Prijono
Johan Lantz for the suggestion) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3218 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-07Re #1067: Added feature of JB operation tracing to CSV file in stream.Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3161 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-25Misc (#1026): missed PLC availability check in stream get_frame_ext().Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3072 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21Related to #969: make maximum PLC generated frames configurable ↵Benny Prijono
(PJMEDIA_MAX_PLC_DURATION_MSEC) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3067 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-20Ticket #969:Nanang Izzuddin
- implemented progressive discard algorithm, discard rate is calculated from ratio of effective size to effective burst level. - updated jbuf to clarify prefetch and burst level distinction, previously they are stored in same var, i.e: prefetch, while the semantic is actually different. - updated STABLE_HISTORY_LIMIT in jbuf, it is now 20 (was 100), to adjust burst level faster. - added test case of periodic-spike-burst-case in jbtest.dat for testing the new algorithm. - updated stream to limit the rate of jbuf empty/lost log messages, it will only log first empty/lost event, then log again once jbuf returning normal frame (also counter of previous empty/lost frames). - minor updates on jbuf.c: variable names, logs, added burst to jbuf state. - minor updates on jbuf_test.c: handle comment in test session header, seq jump is now 20 (was 5000). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3065 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-14Ticket #1027: Fixed stream to skip (frame.buf!=NULL) checking when frame ↵Nanang Izzuddin
type is PJMEDIA_FRAME_TYPE_EXT before passing the frame to encoder. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3061 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-01Initial commit for ticket #929: Improve packet lost concealment (PLC) when ↵Benny Prijono
handling burst of lost packets WSOLA improvements: - Introduce fade-out and fade-in effect - Limit the number of continuous synthetic samples (only take effect when fading is used) - Export many settings as macros: - PJMEDIA_WSOLA_DELAY_MSEC (was HANNING_PTIME) - PJMEDIA_WSOLA_TEMPLATE_LENGTH_MSEC (was TEMPLATE_PTIME) - PJMEDIA_WSOLA_MAX_EXPAND_MSEC PLC: - added compile time macro PJMEDIA_WSOLA_PLC_NO_FADING to disable fading (default enabled) Stream: - fixed bug when stream is not PLC-ing subsequent packet loss (only the first) - also add maximum PLC limit just as precaution if PLC doesn't limit number of synthetic frames - unrelated: fixed warning about unused send_keep_alive() function Delaybuf: - modified to NOT use fading in WSOLA since we don't expect it to generate many continuous synthetic frames git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2850 74dad513-b988-da41-8d7b-12977e46ad98
2009-07-29Ticket #923: New API to retrieve current jitter buffer state from a ↵Benny Prijono
stream/session - added pjmedia_session_get_stream_stat_jbuf() and pjmedia_session_get_stream_stat_jbuf() - fixed const correctness in pjmedia_jbuf_get_state(), jb_framelist_size(), and pj_math_stat_get_stddev(), - modify the jitter buffer statistic log message printed by stream (it contains newlines) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2844 74dad513-b988-da41-8d7b-12977e46ad98
2009-07-15Ticket #919:Nanang Izzuddin
- Added default ilbc mode into codec passthrough setting. - Added iLBC mode 'negotiation' in iLBC codec_open(). - Updated stream_create() to prioritize codec_open(), that may update the codec params, over stream initializations involving codec params. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2834 74dad513-b988-da41-8d7b-12977e46ad98