- 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
- 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
- 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
* 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
- 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
- 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
- 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
- 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
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
* 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
- 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
* 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