Commit Graph

75 Commits

Author SHA1 Message Date
Sauw Ming 67a4044a31 Re #1608: Fixed the way codec is initialized, enumerated, and deinit since both NB and WB use the same factory
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4335 74dad513-b988-da41-8d7b-12977e46ad98
2013-01-29 08:09:15 +00:00
Sauw Ming 2f67f4741c Re #1608: Add support for OpenCORE AMR-WB
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4331 74dad513-b988-da41-8d7b-12977e46ad98
2013-01-23 06:18:18 +00:00
Benny Prijono 3ee340a3a9 More re #1586: added PJMEDIA_HAS_SILK_CODEC to config_auto.h.in
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4270 74dad513-b988-da41-8d7b-12977e46ad98
2012-10-01 10:18:58 +00:00
Nanang Izzuddin e14008ea70 Re #1586: Initial version of SILK wrapper.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4264 74dad513-b988-da41-8d7b-12977e46ad98
2012-09-24 06:58:16 +00:00
Benny Prijono 8e0a5fc768 Related to re #1469: enable H.263 and H.264 by default if ffmpeg is available
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4070 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-23 13:48:10 +00:00
Sauw Ming 1f07888ea3 Re #1446 (misc): Change the default of PJMEDIA_HAS_FFMPEG_VID_CODEC to PJMEDIA_HAS_FFMPEG_CODEC.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4051 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-13 08:16:30 +00:00
Sauw Ming 74283db5f4 Re #1446 (misc): Modified ffmpeg_codecs to ffmpeg_vid_codecs
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4049 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-13 06:24:23 +00:00
Nanang Izzuddin 9a71d8e7c4 Close #1279: Implemented custom SDP format match for G.722.1 and AMR-NB/WB.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3911 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-15 06:45:23 +00:00
Sauw Ming e7dbbc8f30 Re #1395: Backport of PJSIP 1.x branch into PJSIP 2.0 trunk
* 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: https://svn.pjsip.org/repos/pjproject/trunk@3841 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-24 09:28:13 +00:00
Nanang Izzuddin 65b04a692c Reenable ffmpeg H264 (re #1390):
- Review H264 codec settings such as profile, level, NAL unit size, bitrate, quality, latency.
 - Added new format PJMEDIA_FORMAT_GBRP, 24 bits planar RGB, one of the formats outputted by the latest ffmpeg H264 decoder.
 - Fixed format change detection bug in ffmpeg wrapper, decoder didn't update its internal state with the new format so format change event was generated in every decoding operation.
 - Added compile time configurations for enabling/disabling ffmpeg codec H263+ & H264.
 - Updated pjsua app to adjust window size to original video size. With H264, default window size will be too big as it is init'd with default H264 video size, e.g: 720x480 for profile level 30.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3819 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-18 01:51:01 +00:00
Benny Prijono 8468557014 Closed #1361: codec API change. Details:
- changed encode(), packetize(), unpacketize(), and decode() to encode_begin(), encode_more(), and decode()
 - codec has new "packing" setting
 - updated stream, aviplay, codec-test, and stream-util due to above
 - minor doxygen documentation fixes here and there


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3776 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-29 08:31:15 +00:00
Nanang Izzuddin fad6f69269 Fixed #1348:
- updated the year in all copyright texts with 2011
 - put copyright text into newly added files



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3715 74dad513-b988-da41-8d7b-12977e46ad98
2011-08-19 09:35:25 +00:00
Nanang Izzuddin d93c68a997 Re #1326:
- Fixed compile warnings on vs2005
 - Fixed compile error when PJMEDIA_HAS_VIDEO set to 0 on vs2005




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3666 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19 08:40:20 +00:00
Nanang Izzuddin fe68f1dc55 Re #1326: Initial code integration from branch 2.0-dev to trunk as "2.0-pre-alpha-svn".
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3664 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19 03:42:28 +00:00
Benny Prijono 4cd97b4da7 Re #1294: minor documentation fixes
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3662 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 09:59:26 +00:00
Benny Prijono 35fc1eb3e4 Fixed #1294: New pjmedia_codec_register_audio_codecs() API to register all known codecs, and also added implementation to deregister all codecs when the media endpoint is destroyed
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3661 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 09:51:46 +00:00
Nanang Izzuddin a62ffc9d03 Re #1250: Updated the year in all copyright texts with 2011!
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3553 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-05 06:14:19 +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
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
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
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 c45d951901 Migration of current video works from private repository to this repository. This closed #1176
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3392 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-10 11:04:30 +00:00
Nanang Izzuddin 2f75386b4b Fix #1153: Fixed missing header dependency in pjmedia-codec/types.h, it should include pjmedia/codec.h
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3358 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-28 08:31:42 +00:00
Benny Prijono 9a2b19f61b Misc (re #1134): changed dynamic payload type starting value for internal codecs to 96 (from 101) as we are running out of constants. Also added more comments to clarify the restriction on the value, i.e. it must be less than 128 (thanks Robbie Hanson for the suggestion)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3345 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-14 08:30:57 +00:00
Benny Prijono b8aeb9d297 Re #1134 (misc fixes): fixed various doxygen warnings, as well as added overview section in pjmedia documentation
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3327 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-30 04:23:27 +00:00
Nanang Izzuddin fef5a3f95d Re #1106: Reverted back the IPP codec APIs pjmedia_codec_ipp_set/get_config() as currently to set PCM signal level adjustment can be done using the existing G722.1 API pjmedia_codec_g7221_set_pcm_shift().
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3263 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-11 07:18:08 +00:00
Nanang Izzuddin db5994bb44 Fix #1106:
- Added PCM signal adjustment in IPP G722.1 implementation. The default setting is configurable via (the existing compile-time config) PJMEDIA_G7221_DEFAULT_PCM_SHIFT.
 - Added new APIs to get and set IPP codecs settings: pjmedia_codec_ipp_set/get_config(). At run-time, the G722.1 PCM signal adjustment setting can be set using these functions.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3261 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-10 15:06:40 +00:00
Nanang Izzuddin c742f4e6e2 Close #1072:
- Added API pjmedia_codec_g722_set_pcm_shift() to enable configurable level-adjusment setting.
 - Also added macro PJMEDIA_G722_DEFAULT_PCM_SHIFT (default value is 2) to accomplish 14-16 bit PCM conversion for G722 input/output.
 - Added a feature in G722 to stop level-adjusment/PCM-shifting when clipping occured, compile-time configurable via PJMEDIA_G722_STOP_PCM_SHIFT_ON_CLIPPING macro.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3202 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-11 13:38:42 +00:00
Benny Prijono d43064377b Fixed #1064:
- Removed orphaned third_party/gsm/inc/gsm.h.orig file
 - Added support for external GSM header in /usr/include/gsm.h (rather than <gsm/gsm.h>)
Thanks Christopher Zimmermann for the fixes


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3158 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-01 22:05:41 +00:00
Nanang Izzuddin 1c70173201 Misc #1026: moved payload type of G726-32 from static (was 2) to dynamic, and also disabled some more L16 codecs (thanks Bram Kuijvenhoven for the report).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3146 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-26 13:57:28 +00:00
Nanang Izzuddin c5a1759e97 Ticket #1028:
- Updated codecs docs, more detail info about codec settings.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3083 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-29 15:51:09 +00:00
Benny Prijono 8a9b3b272c More #1025 (support for using external third party libraries):
- support for using external libspeex and libgsm
 - replaced --with-pa-path with --with-external-pa


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3062 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-14 14:46:54 +00:00
Benny Prijono 2e8cf63b0f Misc (#915):
- updated missing doxygen documentation from various PJMEDIA-CODEC headers


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2875 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-13 15:57:26 +00:00
Nanang Izzuddin 873f3e4de6 Ticket #919:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@2834 74dad513-b988-da41-8d7b-12977e46ad98
2009-07-15 17:55:16 +00:00
Nanang Izzuddin abf58dbe71 Ticket #910:
- Added a new API pjmedia_codec_passthrough_init2().
 - Updated the initialization steps of passthrough codec in pjsua_media.c, to configure the codecs (of passthrough codec) to be enabled based on audio device extended/encoded formats.
 - Minor update: added passthrough.h into pjmedia_codec.vcproj.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2825 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-30 15:02:06 +00:00
Nanang Izzuddin e2cdc864a0 Ticket #808: Added compile time trap to avoid both implementations coexist.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2763 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-16 10:46:03 +00:00
Nanang Izzuddin e3cddc8fc7 Ticket #774: Minor update in G722.1 default setting in pjmedia codec's config.h: removed phrase 'under development', G722.1 remains disabled by default.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2680 74dad513-b988-da41-8d7b-12977e46ad98
2009-05-06 19:13:16 +00:00
Benny Prijono 8496b93939 More ticket #774: added option to shift PCM input to encoder right by some value (default is 1) to make it compatible with some other app
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2620 74dad513-b988-da41-8d7b-12977e46ad98
2009-04-20 14:19:11 +00:00
Nanang Izzuddin 56e380affa Ticket #774:
- Added build config for GNU autoconf & make.
 - Fixed some G.722.1 codes for linux & mingw32 targets, e.g: types 
defs, collision function name 'round'.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2601 74dad513-b988-da41-8d7b-12977e46ad98
2009-04-15 14:45:41 +00:00
Nanang Izzuddin 57b8857010 Ticket #774:
- Initial source of G.722.1/Annex C integration.
 - Disabled some "odd" modes of L16 codec (11kHz & 22kHz mono & stereo) while releasing some payload types.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2563 74dad513-b988-da41-8d7b-12977e46ad98
2009-04-01 12:05:34 +00:00
Benny Prijono 729d01a702 APS-direct fix (ticket #738): G.711 is disabled accidently
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2521 74dad513-b988-da41-8d7b-12977e46ad98
2009-03-18 12:49:18 +00:00
Nanang Izzuddin da37ea3e5d - Fixed compile errors/warnings for Symbian targets.
- Updated module dependencies of symbian auddev implementations.
- Minor updates, e.g: missing update on symbian_ua UID changing, updated default log level for logfile.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2491 74dad513-b988-da41-8d7b-12977e46ad98
2009-03-06 16:24:43 +00:00
Benny Prijono b7dfc9ce09 Added APS-Direct emulation to sound port and pjsua_app.c, also fixed miscellaneous compilation warnings
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2452 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-13 11:53:12 +00:00
Nanang Izzuddin bfa860b133 - Added support for codec ILBC, G729, and AMR.
- Updated audio switch board to make user possible to update its port 0 (master port) attributes, this is needed since sound device need to be reopened (e.g: for changing ptime or codec) while conf is not recreated.
- Added new API to AMR helper to resolve mode/frame-type based on frame len.
- Updated pmedia_frame_ext helper functions for a bit optimization.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2444 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-09 10:39:58 +00:00
Nanang Izzuddin 81db8c724a - Added new API for sound & sound port to create/open sound device with extended setting, to allow opening sound device with non-PCM format and other settings.
- Updated symbian_ua/ua.cpp to be able to reopen sound device when audio stream session is using non-PCM data/passthrough codec.
- Updated stream.c to allow it works with non-PCM data.
- Added PCMU/A frames processing into non-PCM play/record callbacks in symbian_audio_aps.cpp.
- Added passthrough codec init/deinitialization in pjsua-lib.
- Added a new pjmedia_frame_ext helper function, pjmedia_frame_ext_pop_subframes, to pop-out/remove some subframes.
- Other minor updates/fixes.




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2438 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-05 10:59:14 +00:00
Nanang Izzuddin 8cdba46cca - Added pjmedia passthrough codec.
- Added field format in codec param info.
 - Updated pjmedia_frame_ext_get_subframe to have index range checking.
 - Added API docs on pjmedia_frame_ext routines.




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2436 74dad513-b988-da41-8d7b-12977e46ad98
2009-01-29 20:06:28 +00:00
Nanang Izzuddin 4e50262076 Initial sources of APS-direct.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2434 74dad513-b988-da41-8d7b-12977e46ad98
2009-01-28 18:03:12 +00:00
Benny Prijono 844653c1f2 Updated copyright notice in all files to Teluu Inc., and changed the year as well
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2394 74dad513-b988-da41-8d7b-12977e46ad98
2008-12-23 17:27:53 +00:00
Nanang Izzuddin 0b8f4ca2ed Ticket #670: Minor update on naming of AMR helper and updated AMR in IPP codecs to enable octet-align from FMTP settings.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2363 74dad513-b988-da41-8d7b-12977e46ad98
2008-11-11 11:25:13 +00:00
Nanang Izzuddin 35e01de01e Ticket #670:
- Configurable setting to enable/disable AMR bitstream reordering (sensitivity order to/from encoder bits order).
 - Updated AMR codec to regard in-band Change Mode Request from remote encoder.
 - Updated AMR settings (octet-align, etc) to be configured upon codec opening, instead of hardcoded in the encode, decode, parse.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2359 74dad513-b988-da41-8d7b-12977e46ad98
2008-10-29 10:17:02 +00:00