Commit Graph

3318 Commits

Author SHA1 Message Date
Benny Prijono 284b80f521 Re #1219: compile error with undeclared FF_PROFILE_H264_BASELINE and FF_PROFILE_H264_MAIN
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3502 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-07 05:12:35 +00:00
Nanang Izzuddin 81f0e6a3de Re #1219: Added H.264 SDP fmtp "sprop-parameter-sets" to ffmpeg.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3501 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-06 14:56:03 +00:00
Nanang Izzuddin 56b2ce43d8 Re #1186:
- Added custom negotiation callback mechanism in SDP negotiator, mainly for specific formats that require SDP fmtp negotiation.
 - Modified video codec ID string to use encoding name+payload type (was encoding name+clock rate), also added encoding description in video codec info, so duplicated codecs (e.g: multiple H264 configurations) can be differentiated.
 - Few enhancements for H264 in ffmpeg wrapper (e.g: added proper profile-id & packetization-mode setup).




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3500 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-06 13:55:01 +00:00
Sauw Ming 21bd3fdd59 Re #1213:
Add OpenGL support for SDL renderer



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3499 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-06 11:30:18 +00:00
Benny Prijono 446082c07a Re #1186: fixed crash when parsing fmtp with more than 8 parameters by enlarging the default limit, fix the crash, and make the limit configurable
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3498 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-06 07:01:55 +00:00
Benny Prijono f55fb6b1e1 Re #1208: fixed typo in comment and combine the typedef for better doxygen documentation
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3497 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-06 07:00:02 +00:00
Benny Prijono ea508b4ca1 Re #1219: protect new ffmpeg features with #ifdefs
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3496 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-06 06:58:38 +00:00
Nanang Izzuddin 81c78afc15 Re #1219: fixed compile error of typo (accidentally undone modification before svn checkin).
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3495 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-01 07:21:44 +00:00
Nanang Izzuddin 2636c1424c Re #1219:
- Fixed assertion in H263 & H264 packetizer caused by invalid unpack_last_sync_pos after packet loss.
 - Updated ffmpeg_codecs.c to lower H264 video encoding latency.




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3494 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-01 07:12:59 +00:00
Nanang Izzuddin d91af57b38 Re #1219:
- Initial version of H264 implementation (codec & packetization).
 - Added vid_codec_util.h/c for video codec utilities (e.g: fmtp parser).
 - Updated video RTP packetizations to be configurable and have internal state (to be more resilient to packet lost, etc).
 - Fixed wrong SPF calculation in PJMEDIA_SPF2.
 - Updated vid_codec_test.c to also have RTP packetization test.
 - Updated sdp_neg.c to verify H.264 capability match.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3493 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-31 17:29:54 +00:00
Sauw Ming e2c3501164 Re #1221: Fixed wrong reference to the socket variable.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3492 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-31 07:38:57 +00:00
Benny Prijono 371846594a Fixed #1225: iPhone: UDP socket send error after waking up from background mode (thanks Joe Meade for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3491 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-31 05:54:16 +00:00
Nanang Izzuddin 7f8d76f032 Re #1224: Fixed silly bug in pjsua_acc_modify(): incremented wrong loop counter in updating credential info.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3490 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-29 03:47:16 +00:00
Benny Prijono e9f70d8dcf Re #1213 (Video devices):
- Video device now opens in "best effort" mode, i.e. it may open with different size and fps than requested. The actual size and fps will be reflected in the "param" upon return. The vidport must check this against any differences, and create converter accordingly.
 - Removed const for param argument in vid_create_stream() API
 - Currently converter in vidport will not work if vidport is opened in bidir. Converter for renderer is untested



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3489 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-25 08:38:26 +00:00
Benny Prijono f6bebc36f8 Re #1214: more elaborate tests on vid_dev_test
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3488 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-25 08:23:12 +00:00
Benny Prijono 00ae45add3 libswscale rearrangement (re #1219/ffmpeg codecs): instantiate libswscale converter from the converter manager instead of having to instantiate it manually in all apps
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3487 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-25 08:13:43 +00:00
Nanang Izzuddin 8dbe1a1244 Re #1219: Updated H263 packetizer to just return PJ_EINVAL (instead of triggering assertion) when the supplied bitstream is invalid.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3486 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-25 07:56:41 +00:00
Sauw Ming 0c668f99c5 Re #1214: Enable pjsua to use SDLmain library if possible.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3485 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-25 06:57:25 +00:00
Sauw Ming 03ad8906b3 Re #1213:
* Move Mac OS' CFRunLoop object from vid_dev_test inside qt
 * Remove NSApplication object management and auto release pool from vid_dev_test. Temporarily depend on SDLmain library for these.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3484 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-24 15:20:05 +00:00
Sauw Ming 1b39a64647 Re #1214: add aviplay in the samples' makefile
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3483 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-24 15:08:54 +00:00
Benny Prijono 1d65528737 Fix #1223: Bug in initializing message body's media type from incoming message (thanks Gang Liu for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3482 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 12:01:21 +00:00
Benny Prijono 701412b746 Fix #1222: Assertion if BYE is received while callee is still in early state
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3481 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 11:46:17 +00:00
Sauw Ming 446ba13803 Re #1221: Move setting the socket option to pjlib level (sock_bsd) instead of in the SIP transport.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3480 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 10:23:31 +00:00
Sauw Ming 71841f7e33 Re #1221: Fix variable name error.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3479 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 06:11:40 +00:00
Sauw Ming d9d2f5e932 Fixed #1221: Crash when SIP transport tried to write to a broken pipe.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3478 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 06:08:36 +00:00
Benny Prijono 587c794c88 Re #1214 (apps): added registrar functionality in pjsua for easier testing
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3477 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 06:08:25 +00:00
Nanang Izzuddin 07fe8d35f9 Re #1201: Fixed bad definition of pjsua_vid_set/get_setting() (caused compilation error on GCC).
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3476 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 04:43:01 +00:00
Benny Prijono a77a0da32d Misc (re #1175): added protection against broken pipe exception in python unit test when handling error
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3475 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 03:48:13 +00:00
Benny Prijono 639873e0df Bug re #1161: the user header list was not cloned properly
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3474 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 03:46:26 +00:00
Benny Prijono 0ca45f44bd Re 1220: typo in PJ_ALIGN_DATA implementation for gcc
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3473 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-22 10:10:30 +00:00
Nanang Izzuddin 269eec1fc3 Re #1214:
- Added option in pjsua app to select video devices, and modified 'Cp' menu command to also change video codecs priority.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3472 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-22 09:50:48 +00:00
Nanang Izzuddin 50fae73e7d Re #1201: Added pjsua API for video devices and codecs management.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3471 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-22 09:49:23 +00:00
Nanang Izzuddin 63b01ab684 Re #1213:
- Added encoding format conversion (only format ID) in video port.
 - Fixed few bugs in direct show capture device:
   - VIDEOINFOHEADER.AvgTimePerFrame calculation overflow which caused failure in opening capture device.
   - AM_MEDIA_TYPE.formattype validation to avoid bad type casting (of VIDEOINFOHEADER).



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3470 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-22 09:46:04 +00:00
Nanang Izzuddin ada412638c Re #1219: updated stack aligning mechanism using PJ_ALIGN_DATA (see ticket #1220).
- 


git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3469 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-22 09:43:24 +00:00
Nanang Izzuddin 4415031cee Close #1220:
- Added macro PJ_ALIGN_DATA for aligning data (compiler specific), currently needed by ffmpeg encoder to provide 16-bytes aligned stack for SSE/MMX operation.
 


git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3468 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-22 09:38:49 +00:00
Sauw Ming b93e68808c Re #1213 (video devices):
Modified ios_dev and qt_dev to use pjmedia_vid_dev_stream



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3467 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-19 05:33:21 +00:00
Benny Prijono 7825c4980a Re #1219: fixed error in Linux/gcc due to unimplemented alignment macro, and remove the assembly implementation
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3466 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-18 09:57:44 +00:00
Benny Prijono 9b61ff5873 Re #1201: replace union media stream in pjsua_call_media with struct, to avoid the conf_slot corrupting the video capturer value
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3465 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-18 09:55:48 +00:00
Benny Prijono cd62c4e507 Intel IPP version 7 support on Linux. This closes #1200
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3464 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-18 08:33:29 +00:00
Nanang Izzuddin bf26db1ec6 Re #1201:
- Initial version of video stream integration into pjsua-lib.
 - Replaced audio info array in pjsua_call_info with media info array.
 - Added video media info into call dump.
 - Fixed assertion caused by pjsua_set_state(NULL) logging after pjlib shutdown.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3463 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-18 07:54:50 +00:00
Sauw Ming 27d8afbc88 Fixed #1218: Modify configure-iphone to use the latest version of gcc
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3462 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-18 04:24:31 +00:00
Benny Prijono 135290d24e Re #1215 (framework):
- vstream:
     - allow NULL pool parameter which means vstream will create one
     - Updated remote FPS detection to only be performed if decoder returns frame (however the FPS detection is currently disabled as some endpoints changes fps continuously, causing renderer restart continuously too).
 - codec:
     - Updated video codec info to have RTP packetization support flag, also update endpoint in generating SDP to only include codecs whose RTP packetization support.
     - Added dynamic payload types for video codecs.
     - (minor) separate video PT into separate enum in pjmedia-codec/types.h
 - H264 initial experiment.
generated frames (for libx264 sake).
 - Replaced PJ_EUNKNOWN in some places with the appropriate error code.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3461 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-17 11:33:34 +00:00
Benny Prijono f35f842c71 Re #1214: work on simpleua:
- protect with #ifdef PJMEDIA_HAS_VIDEO etc.
 - fix the format setting to get the format from the correct port


git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3460 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-17 11:27:37 +00:00
Benny Prijono 349037b25d Re #1213 (video devices):
- fixed devices to correctly increment the frame timestamp
 - minor fix in video port to set default "active" value to 1 in the param


git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3459 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-17 11:25:19 +00:00
Benny Prijono 3f3df73671 Re #1211 (new pj_gettickcount() API): fixed compilation error on Linux
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3458 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-17 05:09:36 +00:00
Benny Prijono 0bc99a9ca3 Modifications in PJSUA-LIB to support multiple media streams (multiple audio and/or video) and dynamic creation of media transports. This closed #1185 and closed #1201.
1185: Dynamic creation of media transports
============================================
Done:
 - media transports are created on demand now

Todo:
 - media transport creation is still blocking


1201: Video support in PJSUA-LIB
===================================
Done:
 - call now supports N media (N audio and M video)
 - number of audio/video streams is configurable per acc
 - extra audio stream info in pjsua_call_info to support multiple audio streams
in one call
 - video subsys and ffmpeg initialization in PJSUA-LIB
 - ability to offer and create video SDP answer
 - "dq" for more than 1 audio streams
 - introducing pjsua_state and pjsua_get_state()

API change:
 - on_stream_created() and on_stream_destroyed() callbacks: changed session to
stream

Todo:
 - many others features are disabled, just search for DISABLED_FOR_TICKET_1185
macro (these have also been added to ticket #1193 (Issues & Todos)). Notable
missing features are:
      - creation of duplicate SDP m= lines for optional SRTP
      - mm.. that's it?
 - whole lot of testings

pjsua:
===============
 - Added --extra-audio and --video options. Specify these more than once and
each time an extra audio/video streams will be added. :)



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3457 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-17 04:34:43 +00:00
Sauw Ming 59d2c8c271 Fixed #1211: Add pjlib API pj_gettickcount() that returns a monotonically increasing timestamp
* Changed the timer_heap to use pj_gettickcount().
 * Changed ioqueue to use pj_gettickcount().



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3456 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-16 09:22:24 +00:00
Nanang Izzuddin 3a86f326d0 Fix #1212:
- Updated pj_register_strerror() to just return PJ_SUCCESS when the same range
and handler is being re-registered.
 - Removed the usage of static flag of error string handler registration in some
modules, which prevent the re-registration of the handler, e.g: in restarting
pjsua, as such flags never got reseted.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3455 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-16 07:34:16 +00:00
Sauw Ming c1f500ce8b Re #1175 (Misc): coreaudio fixes:
* Setting audio session category is now during stream creation instead of in the factory initialization.
 * Reset the audio session category after an interruption.
 * By default, audio route change property listener is disabled as it is no longer required.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3454 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-16 05:44:14 +00:00
Benny Prijono cf51b61613 Re #1209: clarified in the comment that PJSUA_CALL_UNHOLD is only valid for pjsua_call_reinvite()
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3453 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-16 04:04:59 +00:00