Commit Graph

2076 Commits

Author SHA1 Message Date
sauwming 9b37e587bc
Add feature to init SRTP ROC and check if SRTP ROC needs to be reset/maintained (#2846) 2022-02-18 10:06:29 +08:00
Riza Sulistyo 835d4073d7
Fix decode issue on FFMpeg 4.3.2 (#2976) 2022-02-15 10:56:01 +08:00
George Joseph 668a828631
Add additional unit test options (#2961) 2022-02-11 12:28:03 +08:00
Nanang Izzuddin 639e7dc7e6
Add Oboe audio device backend for Android (#2707) 2022-02-08 13:58:29 +08:00
Nanang Izzuddin 2d5a37f92e
Replace deprecated Android Camera framework with Camera2 (#2797) 2022-02-08 11:39:27 +08:00
Nanang Izzuddin 6bda5dfb6b
NAT64: handle special case where server put FQDN (which resolved to IPv6 only) in SDP answer. (#2926) 2022-02-08 11:33:51 +08:00
sauwming d979253c92
Merge pull request from GHSA-qcvw-h34v-c7r9
* Perform buffer length checks

* Add asssertion sanity checks
2022-02-08 08:15:07 +08:00
sauwming 22af44e68a
Merge pull request from GHSA-m66q-q64c-hv36
* Prevent OOB read during RTP/RTCP parsing

* Add log

* Add more logs
2022-01-26 08:03:48 +08:00
sauwming a5e052f2a5
Fix video issues upon format change (#2911) 2022-01-25 08:39:46 +08:00
sauwming f99639fede
Fix aviplay crash when using ffmpeg video codec (#2940) 2022-01-24 11:40:15 +08:00
sauwming b771df4663
Fix missing event unsubscription in pjsua video (#2932) 2022-01-06 15:39:15 +08:00
Riza Sulistyo 1aa2c0e0fb
Merge pull request from GHSA-8fmx-hqw7-6gmc 2022-01-04 16:58:02 +08:00
jimying 88b7e0f12e
fix clock thread lock not released (#2874) 2022-01-03 18:08:34 +08:00
ryancaicse bc32549bb3
Fix some resource leaks (#2928) 2021-12-27 10:05:22 +08:00
Riza Sulistyo f74c1fc22b
Merge pull request from GHSA-r374-qrwv-86hh 2021-12-24 12:17:15 +08:00
sauwming 41b7bde0f0
Check for decoding delay in video stream (#2886) 2021-12-23 10:09:48 +08:00
sauwming 8b621f192c
Merge pull request from GHSA-3qx3-cg72-wrh9 2021-12-22 08:49:27 +08:00
Nanang Izzuddin 7dcf16dca5
Fix issues in updating media dir to "none" in the middle of a call (#2906)
* Fix issues in updating media dir to NONE in the middle of a call

* Update PJSUA2 CallSetting::mediaDir declaration for SWIG. Note: adding SWIG template for MediaDirVector as vector of pjmedia_dir enum causes some error: SWIG treats enum as int, so vector of pjmedia_dir will be wrapped as vector of int, as there is already IntVector, SWIG rejects duplicated vector of int.
2021-12-06 14:38:33 +07:00
Nanang Izzuddin 9784f78dc7
Make keyframe interval configurable in Apple VideoToolbox codecs (#2905) 2021-12-03 10:43:01 +07:00
sauwming 9526a6e56a
Play WAV data even if the data length is truncated (#2892) 2021-11-22 12:16:32 +08:00
Nanang Izzuddin 532e64ef6e
Disable auto restart socket in PJMEDIA and PJSIP transports (#2881) 2021-11-11 09:25:45 +07:00
Riza Sulistyo c5234d5418
Change interval calculation for sending keep-alive message (#2878)
* Change interval calculation for sending keep alive message

* Fix misstype
2021-11-10 21:28:45 +07:00
Riza Sulistyo 6ca06f63ec
Fix some doc warning (#2879) 2021-11-10 09:57:40 +07:00
jimying 263886b8e0
Add vp8/vp9 support to ffmpeg_vid_codecs (#2863) 2021-11-08 10:01:47 +07:00
ryancaicse 8e799da6cf
Fix a bug destroying an unreleased lock in vid stream (#2865) 2021-10-28 12:25:07 +08:00
Nanang Izzuddin d2f9563008
Add PJMEDIA_VID_STREAM_CHECK_RTP_PT setting (#2854) 2021-10-21 14:56:58 +07:00
Nanang Izzuddin 3cf3b04a38
One way audio due to Opus falsely detecting codec ptime change (#2836) 2021-10-19 15:31:03 +07:00
Nanang Izzuddin 6b1821c0c7
Add compile-time setting to disable automatic video device subsystem initialization (#2777) 2021-10-19 15:26:38 +07:00
Sean 97ddd172e9
Allow macos to share from USB camera (#2793) 2021-10-04 10:59:24 +08:00
Nanang Izzuddin cb97e86f9f
Add a new ioqueue API pj_ioqueue_clear_key() (#2810) 2021-09-23 08:57:25 +07:00
Florian Xaver 1aa7eb2180
Added new function pjmedia_sdp_media_print(...) (#2799) 2021-09-21 16:15:57 +07:00
George Joseph 87bb60edb2
pjmedia_sdp_attr_get_rtpmap: Strip param trailing whitespace (#2828)
Use pj_scan_get() to parse the param part of rtpmap so
trailing whitespace is automatically stripped.

Fixes #2827
2021-09-15 11:12:05 +08:00
Riza Sulistyo a097ebcdee
When optimization is enabled, local assignment might be lost on exception (#2813) 2021-09-09 10:06:01 +07:00
Riza Sulistyo 661a8cef67
Add support to windows on ARM build (#2807)
* Add support to ARM64 configuration for win32 build

* Add changes notes to webrtc and webrtc_aec3 third party sources

* Remove reference to libwebrtc_aec3 from libpjproject. Add reference it manually if libwebrtc_aec3 is needed.

* Fix build error on Release configuration.
2021-08-30 10:39:48 +07:00
Nanang Izzuddin 37136a4ee6
High video latency when decoder frame rate is initialized lower than actually received (#2798)
- Add new APIs to update/refresh video conference bridge port: `pjmedia_vid_conf_update_port(), pjsua_vid_conf_update_port(), VideoMedia::update()`.
- Use the new API in PJSUA-LIB to update renderer & stream decoder in format changed event.
2021-08-18 10:47:13 +07:00
sauwming b1e2983f36
Add minimum interval for keyframe missing events in Openh264 (#2786) 2021-08-09 11:25:15 +08:00
Krzysztof Marciniak 7069b04b1b
Fix signature checking code (#2780) 2021-08-04 10:16:30 +08:00
SamVanBelle 7658fae4e4
Follow-up of #2726 (#2782)
Reset ICE flag when re-using srtp transport to allow for remote address update in dtls_on_rcv_rtp.
2021-08-04 10:15:38 +08:00
Riza Sulistyo 115b1db6dc
Support webrtc-aec3 on windows (#2775)
* Support webrtc-aec3 on windows

* Add modification to PJSIP_NOTES
2021-07-28 14:39:47 +07:00
Nanang Izzuddin c80f59eb90
SDL full-screen mode fixes and enhancement (#2759)
- Add fullscreen mode PJMEDIA_VID_DEV_FULLSCREEN_DESKTOP (no video mode change), which is mapped to SDL_WINDOW_FULLSCREEN_DESKTOP.
- Fix resizing while in full-screen.
- Update PJSUA, PJSUA2 & pjsua app, e.g: fullscreen setting was boolean (fullscreen enabled/disabled), now it is enum: disabled, fullscreen, or fullscreen desktop.
2021-07-21 11:47:07 +07:00
santevid 05cad67f52
Fix in the SDP negotiator - if the offer's media is disabled, do not compare transports (#2763) 2021-07-13 17:36:49 +08:00
Riza Sulistyo 70074ede91 Linker error when building pjmedia_test, pjsip_test and sample project when using Visual Studio, some of them caused by #2753. 2021-07-07 16:47:05 +07:00
Riza Sulistyo 99a1146a10
Filter RTP based on source address early to avoid invalid RTP session update (#2713) 2021-07-06 11:33:39 +07:00
Nanang Izzuddin d962342702
Apply volume settings in opening ALSA sound device, also add input volume setting (#2755) 2021-07-06 11:11:56 +07:00
SamVanBelle 3402d7f897
Reset SSL BIOs (#2745) (#2746) 2021-07-01 11:15:16 +08:00
sauwming df30cc273a
Reset DTLS state when stopping DTLS transport (#2726) 2021-06-07 14:37:46 +08:00
sauwming 0046373595
Add support for WebRTC AEC3 (#2722) 2021-06-03 11:50:47 +08:00
sauwming 0dcd025ef6
Update doc for ignoring stream keep alive (#2719) 2021-05-31 16:07:36 +08:00
sauwming 557bbbdd88
Disable maintaining ROC when restarting SRTP (#2720) 2021-05-31 16:06:52 +08:00
Nanang Izzuddin cb30280529
Fixed possible DTLS nego failure when using ICE with host and relay candidates (#2715) 2021-05-25 09:17:48 +07:00
sauwming 1cb34f56a7
Specify media direction when making, answering, or updating call (#2705) 2021-05-17 09:58:19 +08:00
sauwming ed28d04a66
Fixed remote address change checking in DTLS transport (#2703) 2021-04-23 13:24:43 +08:00
sauwming 28b36716ad Misc (re #2698): Fixed warning of using UI
View bounds not from main thread
2021-04-19 14:26:07 +08:00
Sean Bright 4746ecff38
sdp.c: Use correct conversion specifier for uint32_t (#2693) 2021-04-15 13:38:06 +07:00
Riza Sulistyo 68171af116
Check error returned from decode callback of the decoding process using video toolbox codec. (#2671) 2021-03-31 13:30:28 +07:00
sauwming d52050bb75
Match tx telephone events clock rate with local's clock rate (#2679) 2021-03-30 14:31:02 +08:00
Nanang Izzuddin 79531cbc05
More works on Trickle ICE (#2667)
- Improve trickling state management (fix no SIP INFO when initial INVITE responded immediately with 200, strayed SIP INFO after trickling is done, etc).
- Fix issues when rtcp-mux is enabled.
- Allow process incoming SIP INFO before receiving remote SDP.
- Use regular ICE on re-INVITE (with reinit media flag).
- Avoid calling pj_ice_strans_get_running_comp_cnt() for loop condition.
- Fix bug in pjnath-test: TURN server set wrong peer channel number.
- Added timer for end-of-candidate indication from remote & don't flag ice-mismatch if remote uses default address in trickle ICE
2021-03-17 13:00:01 +07:00
Nanang Izzuddin a6512caafa Merge branch 'master' of https://github.com/pjsip/pjproject 2021-03-17 09:22:41 +07:00
Nanang Izzuddin fd7fe4b519 Misc (re #2504): Suppress a compile warning on MSVC2005: unreferenced param 2021-03-17 09:22:25 +07:00
sauwming 1a3f8ad60d
Fixed race condition between media event callback and stopping video (#2666) 2021-03-12 16:42:56 +08:00
Nanang Izzuddin 25c5eea417 Trickle ICE (re #2588):
- Fix premature end-of-candidate indication.
- Fix premature ICE session destroy in sending INFO (update remote with local candidates).
- Fix assertion when foundation list is full.
- Fix assertion when pruned check is completed/timed-out.
- Minor, missing 'static' for internal functions.
2021-03-10 10:05:45 +07:00
Riza Sulistyo eeef964ad7 Re #2552: Fix "sf error code: -13" log due to double buffer release. 2021-03-09 14:00:41 +07:00
Riza Sulistyo 74c34399d6 Misc (re #2504): Suppress some compile warning on VS Windows. 2021-03-09 07:32:36 +07:00
Nanang Izzuddin 97b3d7addb
Merge pull request from GHSA-hvq6-f89p-frvp 2021-03-08 17:09:34 +08:00
sauwming 63d120f441 Misc (re #2504): Suppress compilation warning of unused function on Mac 2021-03-08 13:13:10 +08:00
sauwming daff4e7749
Increase SDP version when receiving re-INVITE without SDP (#2646) 2021-03-08 10:01:27 +08:00
Riza Sulistyo 940e3c0443
Support Android AMediaCodec (#2552)
* Implement android AMediaCodec AVC/VPX codec.

* - Change "anmed" to "and_media" prefix for clearity.
- Check if encoder/decoder exists before enabling codec.

* Fix bug on enum info.

* Add support to AMRNB and AMRWB audio codec.

* Modification based on comments.

* - move VPX packetizer from codec implementation.

* - Remove unwanted changes.
- Fix bug on vpx (VP9) packetize method.

* - New method to initialize vpx packetizer config.
- Don't use pt as codec id.

* add compiler option to prioritze using software or hardware codec.

* add documentation related to packetization mode for H264.

* fix some potential compile error.

* Specify video codec PT to support #2656.
2021-03-05 21:59:07 +07:00
Riza Sulistyo d9055ede5c
Allow EC to be used when sound device is opened on speaker mode only (#2651)
* Add option to always use VPIO on coreaudio dev.

* Revert "Add option to always use VPIO on coreaudio dev."

This reverts commit 55d6da5b4b.

* Allow EC to be enabled when sound device is opened on speaker only mode.

* Modify assertion to allow ec to be set on playback only mode.
2021-03-04 16:08:52 +07:00
Riza Sulistyo 9fdcbd5cc6
Differentiate video codec ID by assigning each codec backend a specific PT number (#2656)
* Differentiate video codec ID by assigning each codec backend a specific PT.

* Add usage comment.
2021-03-03 21:16:24 +07:00
Nanang Izzuddin ef10512043
Fix PCMU/A support in AVI player (#2618) 2021-03-03 15:29:33 +07:00
weissinet 632fe2e8cf
Use CoreAudio for Mac for macCatalyst (#2635) 2021-02-19 14:14:53 +08:00
Riza Sulistyo e1b82fc25d
Update RTP timestamp on inactive/paused video stream (#2640) 2021-02-15 10:05:29 +07:00
Riza Sulistyo 6e62517a4e
Use SRTP attribute specified on SDP when starting SRTP-SDES transport (#2609)
* - use SRTP attribute specified on SDP when starting SRTP-SDES transport.

* Check for only key changes on SDP and compare it to the SRTP settings.

* check and change the crypto key on sdes_media_start().

* Move check for the answerer side to the original place.
2021-02-03 12:59:48 +07:00
sauwming fceab8d468
Fix sound output issue when running iOS apps on Mac (#2612) 2021-01-14 08:11:14 +08:00
Frédéric-Philippe Metz c06727f678
Fix bad Video SDP when using 3rdPartyMedia and PJMEDIA_DIR_ENCODING only (#2550)
Co-authored-by: Frederic-Philippe Metz <metz@myfred.net>
2020-12-15 13:26:54 +07:00
Nanang Izzuddin d65cacddd3
Implement trickle ICE (#2588)
Squash & merge trickle-ice dev branch to master.
2020-12-11 09:40:57 +07:00
Nikolai ZHUBR dad6a34680
Fix building with video support (including dshow camera) on mingw (#2589) 2020-12-10 15:54:40 +07:00
Michael Scheiffler bef8339e31
Conf functions to disconnect all sinks/sources (#2585) 2020-11-24 11:27:57 +08:00
Nanang Izzuddin 0d911f82d0
Fix bug in video stream when incoming RTP packet timestamp rolls over. (#2584) 2020-11-20 10:51:30 +07:00
Michael Scheiffler 2701e5eab6
Reordered write_port() in conferencer to avoid writing to a disabled port (#2583) 2020-11-19 10:35:19 +07:00
Nanang Izzuddin b39dd1587d
Fix click noise in libsamplerate (#2565) 2020-11-18 16:55:44 +07:00
Michael Scheiffler 60b1e09cd0
Added underlying buffer configurability for splitcomb (#2570) 2020-11-18 16:53:01 +07:00
Michael Scheiffler 540ab3bce6
Added function pjmedia_tonegen_stop_loop() (#2571) 2020-11-06 11:19:51 +08:00
Michael Scheiffler d8f0ed8f84
Fixed memory corruption on unsupported ALSA channel count (#2569) 2020-11-03 08:54:38 +08:00
sauwming f72eba9afb
Remove multiplication by channel count in calculating ALSA buffer size (#2556) 2020-10-22 10:12:05 +08:00
sauwming d85f227ff9
ALSA dev incorrectly sets the number of samples per frame (#2549)
* Revert the commit in issue #2223
* Make sure buffer size setting is sufficient
2020-10-15 14:36:13 +08:00
Riza Sulistyo efbe7164e9
Option to send keep alive periodically when stream is started for NAT hole punching (#2518)
* send keep alive when stream is started.

* modification based on comments.

* Add documentation.

* Modification based on comments.

* Grouped configuration.
2020-10-12 14:37:30 +07:00
Riza Sulistyo 6d18fee00a Modification based on comments. 2020-10-08 11:58:18 +07:00
Riza Sulistyo af76445eb6 Fix check error and modify doc. 2020-10-02 21:01:03 +07:00
Riza Sulistyo 510716631e Add option to disable ice mismatch check. 2020-10-02 14:18:51 +07:00
Nanang Izzuddin db4f8f23b9
Fixed bugs: (#2531)
- Maintain roll over counter in SRTP restart.
- Only reinit probation when SRTP is really restarted, was every srtp_start() (in PJSUA, media_start()/srtp_start() is called every after SDP nego, while SRTP may not be restarted, e.g: when SRTP policy/keys are not changing).
2020-09-29 09:57:01 +07:00
sauwming e2d8ee0f49
Suppress CodeQL warnings (#2530)
Also exclude some third party libs and python source
2020-09-23 18:45:59 +08:00
sauwming 806c8b490e
Initialize vid conf's buffer with black color (#2510) 2020-09-15 09:58:14 +08:00
Max Truxa 5925c42ea3
Pass JB discard algorithm along other JB settings (#2506) 2020-08-14 10:35:11 +08:00
Nanang Izzuddin d36ed48d91
Also generate keyframe missing event in NAL decoding error (was only in frame decoding error). (#2492) 2020-07-27 11:34:26 +07:00
sauwming f5b48f82be
Clone local offer SDP in process_answer() to prevent modification (#2476) 2020-07-20 11:38:36 +08:00
andreas-wehrmann 973bb671a1
PJ adjustable pool sizes (#2395)
Make several pool sizes settable via compile time macro settings. This can be used to deal with memory fragmentation issues in long running applications that encounter temporary high loads.
2020-07-15 11:46:59 +07:00
Max Truxa 5f14950cb5
Add callbacks to receive RTP DTMF events (#2447) 2020-06-26 16:06:21 +08:00
Riza Sulistyo f45f2d435a
Allow demote SRTP call to RTP when using re-INVITE with PJSUA_CALL_REINIT_MEDIA (#2451)
* - Allow demote SRTP call to RTP when using re-INVITE with
PJSUA_CALL_REINIT_MEDIA
- DTLS renegotiation when receiving re-INVITE with modified media
transport address

* Revert DTLS_DEBUG to 0.

* modification based on comments.

* modified comment.
2020-06-10 10:42:53 +07:00
Nanang Izzuddin 70defb8f2d
Add macro setting PJMEDIA_TELEPHONE_EVENT_ALL_CLOCKRATES (see also #2088), to allow app uses old behavior (before #2088) by setting it to 0. (#2427) 2020-06-05 15:36:46 +07:00
half-left c6623af698
Fix bug: level is not removed form src_port->listener_adj_level in (#2439) 2020-05-21 11:22:38 +08:00
Nanang Izzuddin 30c1b64aba
Fix click noise in memplayer in loop mode (#2431) 2020-05-14 11:15:28 +07:00
Riza Sulistyo 972daab036
Fix compile error when enabling PJMEDIA_STREAM_ENABLE_KA. (#2420) 2020-05-07 22:44:41 +07:00
Nanang Izzuddin fc1aa6b115
Fix short noise at the beginning of call when audio device started later than stream. (#2422) 2020-05-06 10:28:28 +07:00
Nanang Izzuddin 94ecbcb07e
Update video stream to publish format change event asynchronously (#2421) 2020-05-06 10:25:35 +07:00
sauwming 95c29aa1d2
Avoid undefinition of standard macros s_addr and s6_addr (#2423) 2020-05-06 09:38:26 +08:00
Max Truxa 97a3b349cf
Populate info format field in pjmedia_conf_get_port_info() (#2388) 2020-05-01 17:38:54 +08:00
sauwming 798009da75
Fixed failed pjmedia test for multiple tel-event (#2412)
Revert #2375 and use a different approach to fix the assertion.
2020-04-30 12:45:35 +08:00
Nanang Izzuddin b23633707c
More CI works (#2376)
* pjsua-test:
  - Update pjsua-test module call: wait ICE update before checking media
  - Attempt to fix all failed tests by sipp module: changed SIPp port from 6000 to 50070 (port used by recvfrom module)
  - Update call module: confirm codec priority after change, fix DTLS-SRTP expect may race with state CONFIRMED
  - Add timeout check in telnet-ing to pjsua
  - ICE nego may race with call state CONFIRMED, so mod call better just sleep instead of expecting 'ICE nego success'.

* Other unit tests:
  - Print stack trace on crash on Linux and DarwinOS via SIGSEGV signal handler.
  - Update resolver test: print log on callback error, replace assertion checks with error return, fix comments, sleep periods, fix received packet count may be > 1 if server ignore the request (for example when the test machine experiencing high CPU load).
  - Update ccpp.yml: add -g for jobs with unit-tests.
  - More lenient on tsx retransmission count check in pjsip-test.
  - Update tsx_uac/s_test.c: allow retransmission timing diff from 150 to 500ms to accommodate possible CPU spike on some test machines.
2020-04-30 11:25:19 +07:00
sauwming 558922fc3f
Suppressed various compilation warnings (#2410)
Such as:
- conversion from string literal to 'char *' warning
- format-truncation warning

Co-authored-by: nanangizz <nanang@teluu.com>
2020-04-29 15:11:26 +08:00
Nanang Izzuddin 8cd15e8073
Increment outgoing RTP timestamp on inactive or receive only stream (#2340) 2020-04-29 10:55:14 +07:00
sauwming b8eea5d015
Fixed assertion for offer with multiple telephone events (#2375) 2020-04-13 13:18:45 +08:00
Nanang Izzuddin 5f689f5d23
Add option to exclude benchmark tests in unit tests (#2321)
* Add option to exclude benchmark tests in unit tests

* Loosen up resolver round-robin testcondition (percent difference allowance from 5% to 10%, the test result variance relies heavily on OS random number distribution).
2020-03-19 14:46:22 +07:00
sauwming 98f70c210f
Add more CI tests on Ubuntu and Mac (#2329) 2020-03-10 16:45:54 +08:00
Nanang Izzuddin c3456980ba Add option to exclude benchmark tests in unit tests 2020-03-03 09:53:07 +07:00
Saúl Ibarra Corretgé c5fdece84a
v4l2: add support for YUV420 (#2310) 2020-02-28 11:41:04 +08:00
sauwming d992606db0
Limit log printing if video conference is connected to a sink port that's not running (#2301)
* Limit log printing

* rev 1

* Add error counter info in the log
2020-02-26 09:18:08 +08:00
mingteluu b76c134fea Add more log in pjsua_vid and vid_conf 2020-02-25 10:51:43 +08:00
Saúl Ibarra Corretgé e6dedfaedd Update parameter docs 2020-02-21 12:29:28 +01:00
Saúl Ibarra Corretgé b65f09e81f vid_stream: add API for sending an RTCP PLI 2020-02-21 12:27:36 +01:00
Riza Sulistyo 0cc933a091 use stream name instead of encoder channel name as log when send rtcp
fail.
2020-02-21 15:15:05 +07:00
Riza Sulistyo a21754043b Close #2282: Fix build error when using ffmpeg version 4.x. 2020-02-18 09:03:56 +07:00
Riza Sulistyo ae2e919d9e Misc (re #2210): Fixed various warnings on Visual Studio 2015.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6159 74dad513-b988-da41-8d7b-12977e46ad98
2020-02-06 04:02:56 +00:00
Nanang Izzuddin 95c09007dc Misc (re #2210): Fixed various compile warnings on MSVC2005.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6157 74dad513-b988-da41-8d7b-12977e46ad98
2020-02-05 03:05:30 +00:00
Sauw Ming d125d73149 Re #2253: Check for insufficient buffer if remote is sending higher res than we can handle.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6153 74dad513-b988-da41-8d7b-12977e46ad98
2020-02-04 05:08:14 +00:00
Sauw Ming e215f7990c Re #2253: Changed keyframe max distance to a max of 60s
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6151 74dad513-b988-da41-8d7b-12977e46ad98
2020-02-04 03:17:56 +00:00
Sauw Ming 283cfc4398 Re #2253: Apply local fmtp setting
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6150 74dad513-b988-da41-8d7b-12977e46ad98
2020-02-04 02:49:13 +00:00
Sauw Ming 7df07048c4 Re #2253
Fix vpx fmtp apply:
- Only adjust the frame rate if it exceeds max-fr
- Maintain aspect ratio when adjusting resolution



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6149 74dad513-b988-da41-8d7b-12977e46ad98
2020-02-03 06:26:55 +00:00
Riza Sulistyo 1b67249cc8 Re #2253:
- Add vpx.h/vpx.c to Visual Studio project files
- Fix compile error/warning from Visual Studio



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6147 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-31 03:15:41 +00:00
Sauw Ming bde1167cc3 Closed #2143: Add AEC info to call info & statistics dump
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6140 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-28 06:58:45 +00:00
Nanang Izzuddin d5ec2f4592 Misc (re #2210): Get rid of annoying persistent log lines due to video conference connection between active capturer and stopped/hidden renderer (thanks to Dmytrii Gonchar for the feedback).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6138 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-28 02:42:42 +00:00
Nanang Izzuddin 85887b2367 Re #2251: Fixed bug in memory capture, wrong user data passed in invoking callback.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6132 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-10 07:26:36 +00:00
Nanang Izzuddin 74eb0a0289 Re #2251: Fixed bug in memory player, wrong user data passed in invoking callback. Thanks to Marcus Froeschl for the report and the fix.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6131 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-10 07:09:51 +00:00
Sauw Ming e98fe43314 Closed #589: Update Speex AEC to the latest version to get multichannel EC
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6129 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-09 09:05:50 +00:00
Sauw Ming 3147bc0235 Re #1778: Temporarily disable VPIO on Mac for stereo due to recording sound defects.
Steps to reproduce:
- Revert this changeset
- Use pjsua to do sound loopback (cc 0 0) with --ec-tail=0 (VPIO disabled->audio fine) and ec-tail=1 (VPIO enabled->recording sound defects)

Several observations:
- Playback is totally fine in VPIO stereo mode.
- Defect more noticable in 44.1 kHz



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6128 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-08 08:55:30 +00:00
Sauw Ming 1e2b570d7a Re #1778: Fixed incorrect calculation for stereo mode
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6127 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-08 08:40:04 +00:00
Nanang Izzuddin 245cc13ce8 Re #2255: Fixed compile warning on MacOS.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6125 74dad513-b988-da41-8d7b-12977e46ad98
2019-12-24 02:13:32 +00:00
Sauw Ming e9e71f8753 Re #2210 (misc): Fixed incorrect error printing in Darwin dev when there's a runtime session error
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6124 74dad513-b988-da41-8d7b-12977e46ad98
2019-12-23 07:11:50 +00:00
Nanang Izzuddin 4f5a7a5016 Re #2255: Fixed wrong check of fullscreen mode in window creation and added pjsua app commands for fullscreen.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6123 74dad513-b988-da41-8d7b-12977e46ad98
2019-12-23 03:27:09 +00:00
Riza Sulistyo 43e4680406 Close #2257: Filter SRTP crypto setting for DTLS-SRTP profile.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6118 74dad513-b988-da41-8d7b-12977e46ad98
2019-12-16 12:37:57 +00:00
Nanang Izzuddin b9fd883dc2 Close #2255: Add API for making video window full screen.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6117 74dad513-b988-da41-8d7b-12977e46ad98
2019-12-10 03:55:51 +00:00
Nanang Izzuddin e8c72cf9ba Misc (#2210): Put back PJMEDIA_STREAM_CHECK_RTP_PT feature in stream (introduced in #1160).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6116 74dad513-b988-da41-8d7b-12977e46ad98
2019-12-06 05:57:48 +00:00
Nanang Izzuddin 8631ffe736 Fix #2254: Updated SDP encoder of SDES to avoid deactivating/disabling media, it should be done by the parent/SRTP instead.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6115 74dad513-b988-da41-8d7b-12977e46ad98
2019-12-04 09:01:19 +00:00
Sauw Ming 81b29e9aa2 Re #2252: Fixed failed pjmedia-test, due to unsupported conversion format.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6113 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-29 07:53:43 +00:00
Sauw Ming e472147378 Fixed #2251: Deadlock between PJSUA LOCK and conference mutex
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6112 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-29 04:21:17 +00:00
Sauw Ming 3c9fa7ae2d Fixed #2253: Support for VP8 and VP9 video codec
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6110 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-22 06:18:55 +00:00
Sauw Ming 3237e7b188 Fixed #2252: Fix Darwin video issue if supplied image height is different from the resolution
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6109 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-18 06:24:11 +00:00
Nanang Izzuddin 1bfd835547 Re #1437: Fixed linking error when PJMEDIA_HAS_VIDEO is not set.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6107 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-13 10:08:59 +00:00
Nanang Izzuddin 2d9f105d82 Close #1437: Video keyframe request/response using RTCP-FB PLI.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6106 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-13 09:11:04 +00:00
Nanang Izzuddin dc0335a046 Close #1297:
- Updated PJMEDIA endpoint to rearrange dynamic payload type allocation in generating SDP for audio, the allocation arranged in pjmedia_audio_pt enumeation is no longer used.
 - Updated PJMEDIA_RTP_PT_TELEPHONE_EVENTS default value to 120, so lower PT values will be used by audio codecs.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6105 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-13 08:09:34 +00:00
Nanang Izzuddin b48fd409dd Close #2088: Generate and negotiate telephone-event with multiple clock-rates in SDP offer/answer.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6103 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-08 10:17:16 +00:00
Riza Sulistyo 948bbed19e Close #2250: Enable OpenH264 native log.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6101 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-06 08:10:42 +00:00
Sauw Ming a441c67a54 Fixed #2248: Memory leak if stream fails to be created
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6098 74dad513-b988-da41-8d7b-12977e46ad98
2019-10-30 05:20:06 +00:00
Sauw Ming e001752e3c Re #2210 (misc): Add passthrough codec source into Makefile
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6096 74dad513-b988-da41-8d7b-12977e46ad98
2019-10-22 03:07:26 +00:00
Nanang Izzuddin c342e68d75 Fix #2247: Distorted video sent by iOS 13 devices.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6095 74dad513-b988-da41-8d7b-12977e46ad98
2019-10-21 01:58:11 +00:00
Sauw Ming a0be35b381 Fixed #1778: Support for Voice Processing IO Audio Unit on Mac
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6094 74dad513-b988-da41-8d7b-12977e46ad98
2019-10-17 07:02:50 +00:00
Nanang Izzuddin fc665ef46f Fix #2245: Reconnect video stream listeners in video conference bridge after format changed.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6093 74dad513-b988-da41-8d7b-12977e46ad98
2019-10-15 08:58:41 +00:00
Nanang Izzuddin 33a3c9e0a5 Fixed #2239:
- Deinit OpenGL immediately when initialization fails, so video device {{{start()}}} and {{{put_frame()}}} will return immediately.
 - Introduced new media event {{{PJMEDIA_EVENT_VID_DEV_ERROR}}}, used for notifying app when video device reinit (due to format change) fails.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6085 74dad513-b988-da41-8d7b-12977e46ad98
2019-10-04 04:26:39 +00:00
Sauw Ming 59cd1bb5c6 Re #2210 (misc): Add log if WebRTC AEC fails to be created (currently it only supports mono)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6084 74dad513-b988-da41-8d7b-12977e46ad98
2019-10-04 02:38:14 +00:00
Nanang Izzuddin 5dc221e74b Fix #2236: Fixed exception in iOS Video Toolbox H264 due to UI API called on background thread.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6078 74dad513-b988-da41-8d7b-12977e46ad98
2019-09-25 03:34:38 +00:00
Riza Sulistyo 1914af648e Fix #2234: Memory leak with third party resampling.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6076 74dad513-b988-da41-8d7b-12977e46ad98
2019-09-24 14:46:12 +00:00
Sauw Ming d024a392ec Fixed #2229: Limitations in ICE data sending
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6071 74dad513-b988-da41-8d7b-12977e46ad98
2019-09-23 07:25:41 +00:00
Sauw Ming b073ccb3cc Fixed #2231: Potential premature buffer reuse in UDP media transport
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6070 74dad513-b988-da41-8d7b-12977e46ad98
2019-09-23 07:24:24 +00:00
Nanang Izzuddin 1773fa8da6 Re #2228: Also updated PCM shifting in G722.1.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6065 74dad513-b988-da41-8d7b-12977e46ad98
2019-09-06 05:20:32 +00:00
Nanang Izzuddin 6cf2381849 Re #2228: Fixed bugs in PCM shifting in G722 codec.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6064 74dad513-b988-da41-8d7b-12977e46ad98
2019-09-06 05:19:40 +00:00
Nanang Izzuddin ba1182d61e Misc (re #2210): Division by zero in pjmedia_wav_player_port_get_pos(), i.e: when player has just been created (the position is 0) or when no loop is specified and player already reached EOF and stopped (the position is again 0). Thanks to Sergei Rozinov for the patch.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6061 74dad513-b988-da41-8d7b-12977e46ad98
2019-09-04 09:57:56 +00:00
Riza Sulistyo efb3a0bb9f Close #2224: De-Initialize ALSA sound device with snd_pcm_drop() instead of snd_pcm_drain() to avoid stuck issue
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6057 74dad513-b988-da41-8d7b-12977e46ad98
2019-08-28 15:25:13 +00:00
Riza Sulistyo 6adec9df42 Close #2223: ALSA sound device wrapper implementation ignores period size returned by ALSA
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6056 74dad513-b988-da41-8d7b-12977e46ad98
2019-08-28 15:02:12 +00:00
Riza Sulistyo 34d3063627 Re #2210 (misc): optimize r6049.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6050 74dad513-b988-da41-8d7b-12977e46ad98
2019-08-06 05:00:31 +00:00
Riza Sulistyo 2b44d5b2b2 Re #2210 (misc): Release pool last when destroying android video dev factory.
Thanks to Pandia Rajan for the report.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6049 74dad513-b988-da41-8d7b-12977e46ad98
2019-08-05 12:40:56 +00:00
Nanang Izzuddin cf94e805c3 Misc (re #2210): Added format definitions for NV12 & NV21.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6046 74dad513-b988-da41-8d7b-12977e46ad98
2019-07-29 02:25:34 +00:00
Nanang Izzuddin 805193c622 Fix #2215:
- Reset jitter buffer after Opus ptime decreased.
 - Updated jitter buffer framelist sequence restart detection, also added some tracing logs.


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6043 74dad513-b988-da41-8d7b-12977e46ad98
2019-07-25 03:00:33 +00:00
Riza Sulistyo c8f6f091bd Re #2210 (misc): Prevent overflow when searching for the closest video format.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6041 74dad513-b988-da41-8d7b-12977e46ad98
2019-07-19 09:05:23 +00:00
Sauw Ming 46cd329d9e Fixed #2212: Fix potential buffer overflow in Video Toolbox codec
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6038 74dad513-b988-da41-8d7b-12977e46ad98
2019-07-14 17:21:16 +00:00
Nanang Izzuddin 61ffb0ddc4 Misc (re #2147): Fixed compile warnings due to unused var/function.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6020 74dad513-b988-da41-8d7b-12977e46ad98
2019-05-31 06:13:09 +00:00
Sauw Ming 2ba08831e3 Re #2206: Fixed incorrect variable
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6017 74dad513-b988-da41-8d7b-12977e46ad98
2019-05-30 03:32:28 +00:00
Sauw Ming 8def8e58d5 Fixed #2206: Avoid calling SSL_shutdown() in DTLS media transport if handshake isn't completed yet
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6016 74dad513-b988-da41-8d7b-12977e46ad98
2019-05-30 03:27:25 +00:00
Sauw Ming f183fc1389 Re #2147 (misc): Fixed assertion in pjmedia test if video is disabled
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6013 74dad513-b988-da41-8d7b-12977e46ad98
2019-05-28 06:03:17 +00:00
Riza Sulistyo c217c850f7 Re #2147 (misc): Fix various compilation warnings on VS2015.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6009 74dad513-b988-da41-8d7b-12977e46ad98
2019-05-27 15:01:08 +00:00
Riza Sulistyo 4724f14af5 Close #2202: Limit the number of ignored error when receiving RTP/RTCP.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6005 74dad513-b988-da41-8d7b-12977e46ad98
2019-05-26 13:18:02 +00:00
Riza Sulistyo 2b49e900ca Re #2147 (misc): Avoid swig error caused by pjsua_snd_dev_id enum definition.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6001 74dad513-b988-da41-8d7b-12977e46ad98
2019-05-23 13:57:48 +00:00
Sauw Ming ef5ac1253f Fixed #2107: Add option to use loopback media transport in pjsua
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5989 74dad513-b988-da41-8d7b-12977e46ad98
2019-05-15 00:09:57 +00:00
Nanang Izzuddin 64048ef507 Re #1298: Updated PJMEDIA* to use PJ_ERROR consistently.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5982 74dad513-b988-da41-8d7b-12977e46ad98
2019-05-09 07:24:57 +00:00
Sauw Ming 9358524737 Fixed #2188: RTCP RR not generated if stream's encoder channel is paused
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5968 74dad513-b988-da41-8d7b-12977e46ad98
2019-04-15 02:53:52 +00:00
Riza Sulistyo 939045ae46 Re #2181: Add vid_conf.h/c to pjmedia project for VS2015.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5967 74dad513-b988-da41-8d7b-12977e46ad98
2019-04-11 12:17:14 +00:00
Nanang Izzuddin fdc3c5d9be Misc (re #2147): When tracing is enabled, print ALSA error message when opening device failed in device enumeration.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5965 74dad513-b988-da41-8d7b-12977e46ad98
2019-04-10 06:32:27 +00:00
Sauw Ming 681033652a Fixed #2186: Enable video stream keep alive mechanism
* Also add video stream port to video conf when call is on local hold in order for video stream to keep sending keep-alive.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5960 74dad513-b988-da41-8d7b-12977e46ad98
2019-03-27 01:53:57 +00:00
Sauw Ming 2c8710a584 Re #2181: Fixed assertion in darwin_dev pj_assert(frame->size >= stream->frame_size);
But the problem itself is caused by video port, which passes the wrong frame size when the video capture is passive.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5948 74dad513-b988-da41-8d7b-12977e46ad98
2019-03-08 09:22:21 +00:00
Nanang Izzuddin 151c0d526a Re #2181: Fixed unreleased pool when disconnecting ports in video conference.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5947 74dad513-b988-da41-8d7b-12977e46ad98
2019-03-08 07:02:23 +00:00
Nanang Izzuddin eafc04d5bf Re #2181: Initial version of video conference implementation.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5939 74dad513-b988-da41-8d7b-12977e46ad98
2019-03-05 06:23:02 +00:00
Riza Sulistyo 4e965d2ad1 Close #2174: Fix out of bound error when enabling GnuTLS.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5929 74dad513-b988-da41-8d7b-12977e46ad98
2019-01-09 09:15:11 +00:00
Nanang Izzuddin 8c76e17145 Close #2171:
- Apply returned frame quality filter in OpenH264 decoder (drop the frame if decoder returns dsRefLost dsNoParamSets, dsDepLayerLost).
 - Only publish keyframe missing event when decoder returns non-dsErrorFree (was always publishing the event when no frame is returned, while decoder may return dsErrorFree and no frame returned, e.g: when decoding parameter sets).
 - Added a bit more logs for debugging.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5925 74dad513-b988-da41-8d7b-12977e46ad98
2018-12-17 03:46:35 +00:00
Nanang Izzuddin 7fdb4bf16d Re #2168:
- Added a new PJSUA callback on_media_event().
 - Added audio device error handling into PJSUA2.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5923 74dad513-b988-da41-8d7b-12977e46ad98
2018-12-13 06:57:23 +00:00
Nanang Izzuddin eb94374bc8 Close #2168: Added media event for audio device error.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5920 74dad513-b988-da41-8d7b-12977e46ad98
2018-12-12 07:16:46 +00:00
Sauw Ming 3a633fecc0 Fixed #2166: Possible buffer overread if RTCP packet length is invalid
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5919 74dad513-b988-da41-8d7b-12977e46ad98
2018-12-04 02:25:52 +00:00
Sauw Ming 12669335c6 Re #2147 (misc): Fixed incorrect typecast in Speex resampler. Thanks to Sebastian Marek for the patch.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5916 74dad513-b988-da41-8d7b-12977e46ad98
2018-11-26 00:57:54 +00:00
Nanang Izzuddin 4957180b34 Misc (re #2147): Removed 'experimental' word for Speex resampling.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5915 74dad513-b988-da41-8d7b-12977e46ad98
2018-11-23 10:06:51 +00:00
Nanang Izzuddin f43b6cb0aa Fix #2163:
- Frame rate calculation is now done using temporary variable, instead of using stream decoding channel state directly.
 - Added condition for applying calculated frame rate: it must be greater than zero.
 - Fixed frame rate comparison to use float, was using integer which might get overflow on 32 bit integer platforms.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5913 74dad513-b988-da41-8d7b-12977e46ad98
2018-11-22 03:33:42 +00:00
Sauw Ming c80b56d1ef Fixed #2160: stuck issue in ioqueue when detaching UDP media transport
- Fixed transport_udp so it won't call another read operation when being stopped.
 - Add robustness checks (assertion) in ioqueue recv, recvfrom, and accept to prevent the same op key being used twice. 



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5907 74dad513-b988-da41-8d7b-12977e46ad98
2018-11-07 04:34:01 +00:00
Sauw Ming ac7e0e618f Re #2157: Clear the callback rtp_cb2() when detaching transport
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5903 74dad513-b988-da41-8d7b-12977e46ad98
2018-11-05 00:55:21 +00:00