Commit Graph

504 Commits

Author SHA1 Message Date
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
Sauw Ming 5291a2da7d Re #1282:
- Change *fmt in pjmedia_vid_dev_info to array
- Change pjmedia_vid_cb/param to pjmedia_vid_dev_*



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3658 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 07:52:44 +00:00
Benny Prijono d2a3347bb7 Re #1284 (event framework): unsubscribing does not need to know publisher
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3653 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 06:37:07 +00:00
Sauw Ming ef1dd2ce10 Re #1325:
- Add signature for QT and iOS dev.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3645 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 02:04:03 +00:00
Nanang Izzuddin a6efd6e0b8 Re #1325:
- Added signature for directshow video device.
 - Added signatures.h into pjmedia VS2005 project.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3644 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 02:00:37 +00:00
Sauw Ming 01095d8410 Re #1278: NSApplication and NSAutoreleasePool management for Mac OS X
Application now needs to call pj_run_app() from its main() function and pass a pointer to the application's main function. For some examples, please refer to aviplay, pjmedia_test, and pjsua.




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3643 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-14 08:46:19 +00:00
Benny Prijono 5f7e83981e More re #1284 (event): changed event to use the fourcc value for better extensibility and readability
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3642 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-14 06:51:51 +00:00
Benny Prijono dbab8aaa19 More re #1325 (pjmedia signature): invented pjmedia PJMEDIA_FOURCC macro, and change signature and pjmedia_format_id to use this object. Added pjmedia_fourcc_name( ) too
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3641 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-14 06:34:29 +00:00
Benny Prijono fcf5db3e9e Fixed #1325: signature fix pjmedia objects
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3640 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-14 04:56:08 +00:00
Sauw Ming 8985f550b5 Re #1304: Video port refactoring: fix frame handling when renderer's role is active, change API to get/set clocksource to be unidir
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3631 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-13 02:37:14 +00:00
Nanang Izzuddin f5bfc8da0a Misc (re #1320): added video tee header (vid_tee.h) into pjmedia.h
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3625 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-12 10:29:32 +00:00
Benny Prijono d4b5e87796 More on re #1284:
- Replaced bit_info mechanism to report format change in codec with event
 - Updated vid_port, vid_codec_test, etc.
 - Add event publisher to vid_codec
 - Add event publisher to pjmedia_port
 - Add event publisher to vid_stream



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3622 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-12 09:08:56 +00:00
Sauw Ming 59f2b7487f Closed #1261: Video tee
- Add API pjmedia_vid_tee_add_dst_port2() for adding destination port which may need format conversion



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3620 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-12 07:14:32 +00:00
Nanang Izzuddin f4ee415730 Misc (re#1320): added device ID in pjmedia_vid_dev_info, useful for translating default IDs to real IDs.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3618 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-12 03:20:36 +00:00
Benny Prijono 934af0fa2b Initial implementation of re #1284 (Event Framework). Current event has been converted to the new framework. Next to convert is codec event
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3617 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-12 03:05:35 +00:00
Sauw Ming e2301716fc Re #1261: Video tee
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3616 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-12 01:45:21 +00:00
Sauw Ming 2e9b884cb3 Re #1304: Video port refactoring
- Change name to vid_port (minor)
- Redesign to support only unidir
- Consistent conversion and frame buffer usage



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3615 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-11 09:36:08 +00:00
Nanang Izzuddin af4e9ec24d Re #1261: added initial version of video tee.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3614 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-11 03:20:40 +00:00
Benny Prijono 145c1b0860 Misc (re #1320): undo r3607 above. The argument type was correctly specified as pointer because it is optional argument
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3613 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-07 09:55:04 +00:00
Benny Prijono 921e8130b8 Misc (re #1320): minor, changed prio parameter in pjmedia_vid_codec_mgr_enum_codecs() from pointer to array to clarify its use
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3607 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-07 07:37:55 +00:00
Benny Prijono 9098b2b9f8 Misc (re #1320): added pjmedia_type_name() API
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3606 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-07 07:34:26 +00:00
Sauw Ming 7f7c5bd477 Re #1312: Support for refreshing video device list
Add pjmedia-videodev API: pjmedia_vid_dev_refresh() and its implementation for Windows and Linux.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3592 74dad513-b988-da41-8d7b-12977e46ad98
2011-06-21 09:33:01 +00:00
Sauw Ming 46cdaa8bfa Closed #1309: Add video device capability to support changing position and hiding of renderer window.
Provide SDL implementation for both capabilities.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3590 74dad513-b988-da41-8d7b-12977e46ad98
2011-06-20 06:16:08 +00:00
Sauw Ming e90ece8dc3 Closed #1275: Change pjmedia_vid_subsys_xx() to pjmedia_vid_dev_subsys_xx()
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3579 74dad513-b988-da41-8d7b-12977e46ad98
2011-06-09 04:05:44 +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
Sauw Ming aa0271ec44 Fixed #1243: ICE bug: If RTCP is not in use, the agent MUST signal that using b=RS:0 and b=RR:0
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3547 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-28 04:01:40 +00:00
Nanang Izzuddin 7d424dfbe2 Re #1182: Added macro setting PJMEDIA_STREAM_RESV_PAYLOAD_LEN to let stream reserve some space for application extra data in the RTP payload, e.g: SRTP auth tag.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3534 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-13 19:41:41 +00:00
Nanang Izzuddin 70aa56b0cd Re #1219: increased MPI array size in pjmedia_vid_codec_h263_fmtp.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3528 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-13 16:20:06 +00:00
Nanang Izzuddin 5f8d589a6a Re #1219:
- Implemented validation of H.264 level in codec param.
 - Update H.264 packetization setting to always send single NAL unit, for better compatibility.
 - Update H.264 SDP custom negotiation to be permissive.




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3526 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-12 18:24:19 +00:00
Benny Prijono bd6613f326 Re #1185: fixed ICE media transport to work with video in pjsua-lib
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3520 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-11 17:27:14 +00:00
Sauw Ming ae2f21303d Re #1213: Fixed error space number allocation for video devices.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3516 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-10 23:54:07 +00:00
Sauw Ming f7b429c34b Re #1213:
* Add pjmedia_frame_copy()
 * Add converter for renderer videoport
 * Add checking in SDL device since it may receive a frame size bigger than expected



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3509 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-08 04:04:25 +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
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
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
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 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
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 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 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
Benny Prijono 854ec1a682 Re #1208 (misc): added PJMEDIA_HAS_VIDEO macro as the top level macro to disable video features
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3451 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-15 11:29:53 +00:00
Benny Prijono 867280b9eb Re #1186 (SDP works); added few more APIs for SDP generation:
- pjmedia_endpt_create_base_sdp(): create blank SDP
 - pjmedia_endpt_create_audio_sdp(): create m=audio SDP media
 - pjmedia_endpt_create_video_sdp(): create m=video SDP media


git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3450 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-15 11:28:24 +00:00
Benny Prijono 51a4a2924a Re #1208 (misc): bug in frame_size calculation in PJMEDIA_FSZ() causing results to be truncated
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3449 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-15 11:25:00 +00:00
Benny Prijono fe74aec894 Fixed #1207: Deprecation of pjmedia_session:
- add new APIs in stream so that app can use this directly instead of via session
 - moved some APIs from session to stream


git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3446 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-15 11:20:35 +00:00
Sauw Ming d3c8e63df7 Closed #1206: Add pjmedia_stream API to get the last frame type retrieved from the jitter buffer.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3442 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-15 05:07:01 +00:00
Sauw Ming 98766c7947 Fixed #1204: Support for refreshing audio device list.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3438 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-11 06:57:24 +00:00
Nanang Izzuddin 678b2f82e0 Re #1182:
- Added remote frame-rate detection in to video stream.
 - Fixed bitrate settings in ffmpeg codec.
 - Fixed SDL dev to update internal SDL info when format changed.
 - Minor fixes/updates, e.g:
   - added cleanup steps, fixed logs, etc, in sample app simpleua.c and vid_streamutil.c
   - fixed/added docs of the new APIs in the jitter buffer.




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3435 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-02 08:37:31 +00:00
Sauw Ming 4a20bc808a Re #1182:
* support for format modification after creating video port (currently for renderer with active role only).
 * support for format modification after opening SDL renderer.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3431 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-01 15:55:34 +00:00
Nanang Izzuddin 235e1b4fa6 Re #1182:
- Renamed vstreamutil.c to vid_steamutil.c just for filename format consistency reason.
 - Updated sample app simpleua.c and vid_streamutil.c to sync with updated API, e.g: strip session usage, two media ports exported video streams for each dir.
 - Added vid_streamutil.c capability to be able to stream video file (involving transcoding when video codec used in the file different to the video stream codec), also updated AVI player and ffmpeg codecs to be able to read and decode XVID/MPEG4 codec.
 - Fixed bug wrong media type check in stream.c and vid_stream.c in creating stream info from SDP.
 - Minor update: docs, logs, app samples makefiles.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3425 74dad513-b988-da41-8d7b-12977e46ad98
2011-02-28 18:59:47 +00:00
Nanang Izzuddin a9c1cf45be Re #1182:
- Added video stream interface in vid_stream.h, the video stream will be able to handle different video formats in encoding and decoding direction.
 - Renamed video device stream class identifiers from 'pjmedia_vid_stream*' to 'pjmedia_vid_dev_stream*' as 'pjmedia_vid_stream' is used by video stream interface.
 - Added ffmpeg video capability to be able to parse SDP format param for H263 and also decide video format for encoding direction based on remote preference and local format-capability setting.
 - Added some new APIs in jitter buffer for handling video stream: pjmedia_jbuf_put_frame3(), pjmedia_jbuf_get_frame3(), pjmedia_jbuf_peek_frame(), and pjmedia_jbuf_remove_frame().
 - Moved pjmedia_stream_info_from_sdp() from session to stream




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3420 74dad513-b988-da41-8d7b-12977e46ad98
2011-02-24 07:47:55 +00:00
Nanang Izzuddin c85a00d1ca Re #1186:
- Added API pjmedia_sdp_conn_cmp() to compare SDP connection.
 - Added internal API pjmedia_stream_info_parse_fmtp() to parse SDP format parameter of specified payload as a helper function for generating stream info from SDP.
 - Modified pjmedia_endpt_create_sdp() to be able to generate SDP media line for video.




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3419 74dad513-b988-da41-8d7b-12977e46ad98
2011-02-24 07:16:31 +00:00
Nanang Izzuddin ecaaec06e0 Re #1182: Reverted back video part in stream.h/c
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3418 74dad513-b988-da41-8d7b-12977e46ad98
2011-02-24 05:14:34 +00:00
Sauw Ming 8e799128a1 Re #1184: Adding pjmedia_clock_src for the purpose of audio and video synchronization and also to provide synchronization mechanism between two medias in general.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3402 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-30 16:31:16 +00:00
Sauw Ming b1b17d221e Fixed #1184:
* Move the AVI playback from pjmedia-test to new aviplay.c sample application
 * Take the input file from cmdline
 * Synchronize audio and video
 * Remove all codecs related hardcodes from the file 

Re #1193: (no. 6: duplicate fps and frame_rate in pjmedia_format and pjmedia_vid_param)
 * Remove the frame_rate in pjmedia_vid_param
 * Use pjmedia_format's fps in videoport, sdl_dev, and colorbar_dev
 * Prevent overflow in ptime calculation from frame_rate



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3401 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-20 11:02:48 +00:00
Sauw Ming 6e6c215f70 Fixed #1183
* QT capture device for Mac
 * iOS device for iOS (capture device only works for iOS 4.0 or above)
 * Add NSAutoReleasePool for sdl_dev (Mac)
 * Add NSAutoReleasePool for vid_dev_test (Mac)
 * build system for compilation of Obj-C files (.m)



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3395 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-14 13:03:10 +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
Benny Prijono ae6f32d32e Fixed #1160: Option to bypass RTP payload type verification in the stream (thanks Johan Lantz for the suggestion)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3387 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-06 04:25:44 +00:00
Benny Prijono 60dc3faebc Fixed #1154 (Run-time option to disable telephone-event in outgoing SDP offer (thanks Marcus Froeschl for the suggestion))
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3360 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-03 06:46:27 +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 5e39a2b9d0 Closed #1129:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3313 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-20 06:13:02 +00:00
Nanang Izzuddin 5e1579684b Fix #1114:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3292 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-24 10:45:01 +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 78bec1ae8c Re #1103:
- Added (back) raw jitter statistics into RTCP statistics, with the new name "rx_raw_jitter".
 - Added IPDV statistics into RTCP statistics.
 - Added new compile-time settings to enable/disable raw jitter and IPDV statistics.
 - Updated call dump in pjsua-lib.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3239 74dad513-b988-da41-8d7b-12977e46ad98
2010-07-15 14:45:47 +00:00
Nanang Izzuddin bff351e647 Re #1103:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3237 74dad513-b988-da41-8d7b-12977e46ad98
2010-07-15 10:18:59 +00:00
Nanang Izzuddin 33e291a1e0 Fix #740:
- Fixed zeroed/unset RTP timestamp in RTCP sender report.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3224 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-26 04:43:50 +00:00
Benny Prijono ab74c904a1 Another unterminated SDP offer/answer negotiation fix (Re: #1045):
- fixed unterminated negotiation if our media transport rejects incoming offer (e.g. due to mismatch SRTP transport) with 488.
 - to fix the above, modified the SDP negotiator (sdp_neg.[hc])'s pjmedia_sdp_neg_cancel_offer() to also be able to cancel in remote offer state
 - also fixed the bug introduced previous Session Timer fix (Re: #1047), which cause SDP negotiator's state to be cleared after failed UAC UPDATE transaction is terminated, which means UPDATE can only be sent 5 seconds after the last UPDATE if the last UPDATE failed.


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3217 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-23 12:21:20 +00:00
Nanang Izzuddin 1653c981e5 Misc (re #1068): added new API pjmedia_master_port_wait() to poll master port clock when it is created with PJMEDIA_CLOCK_NO_ASYNC flag.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3214 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-21 09:10:44 +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
Nanang Izzuddin cf4d141775 Fix #1085:
- Added new codec G721, as alias for G726-32.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3199 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-07 05:23:56 +00:00
Nanang Izzuddin 16852b3f2e Re #668:
- Fixed process_answer() of SDP negotiation, when no common format in a media, instead of returning error, it should just deactivate the media (offer & answer) and continue negotiating next media.
 - Generalized the way of deactivating media: set port to 0 and remove all attributes.
 - Added new API pjmedia_sdp_media_clone_deactivate() to clone media and deactivate the newly cloned media.
 - Updated PJMEDIA SDP negotiation test.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3198 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-04 13:41:34 +00:00
Benny Prijono c28d8451d2 Re #1051: set default new coreaudio backend to disabled
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3177 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-17 16:10:08 +00:00
Sauw Ming 55a73cdeb3 Merge #1051 into the main trunk.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3174 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-17 12:51:06 +00:00
Sauw Ming 8fd1693891 Implemented ticket #1065: audiodev register/unregister feature
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3159 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-05 04:23:27 +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 0048fbdd5d More ticket #1055:
- Added APS codecs detection.
 - Minor updates in symsndtest:
   - added log of supported extended audio formats.
   - changed libraries order in symsndtest.mmp, this fixes linking error on S60 3rd MR SDK.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3135 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-07 13:21:31 +00:00
Sauw Ming 60a0c9bee0 Implemented ticket #1038: null audio device
* pjmedia-audiodev:
   * implement null audio device
 * build:
   * added null audio support on MMP, and Makefile (TODO: vs6 and vs2005)



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3102 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-19 09:57:48 +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 19a87c7a08 Initial implementation of ticket #1016: Native Linux ALSA audio device backend implementation
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3079 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-27 17:22:17 +00:00
Nanang Izzuddin 06839e722b Ticket #1028: Recommit r3074 with updated codec.h.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3078 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-27 11:48:31 +00:00
Benny Prijono 957dc41433 Related to #969: make maximum PLC generated frames configurable (PJMEDIA_MAX_PLC_DURATION_MSEC)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3067 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21 08:39:14 +00:00
Nanang Izzuddin b6f66bc233 Ticket #969:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3065 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-20 01:02:37 +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 f78d35d77b Ticket #988: Aray bounds checking in SDP functions (thanks Mark Webster for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2995 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-09 05:18:12 +00:00
Benny Prijono a8fd3840c0 Ticket #983: make native WMME the default audio device on Windows and Windows Mobile:
- increase default playback latency (PJMEDIA_SND_DEFAULT_PLAY_LATENCY) to 140ms for Win32 and 160ms for WM
 - set default PJMEDIA_SOUND_BUFFER_COUNT to (PJMEDIA_SND_DEFAULT_PLAY_LATENCY+20)/20 rather than hardcoded 6
 - disable PA from audiodev on Win32 and WM


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2977 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-29 09:39:17 +00:00
Benny Prijono f5d9f1f381 Ticket #881: send UPDATE or re-INVITE after ICE negotiation, if the default candidate has changed
- done
 - added pj_ice_strans_state (to be used for informational purposes for now)
 - added pjmedia ICE transport specific info, and display it in call dump output
 - misc fixes (changed pjmedia_transport_info.spec_info_cnt from int to unsigned)


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2945 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-14 13:13:18 +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
Benny Prijono ec4b67e9b6 Initial commit for ticket #929: Improve packet lost concealment (PLC) when 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: https://svn.pjsip.org/repos/pjproject/trunk@2850 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-01 09:20:59 +00:00
Benny Prijono ba23a3621a Ticket #924: Loop media transport now allows more than one streams to receive the reflected packets
- This ticket allows the same loop media transport instance to be attached to more than one streams, and allow application to control which stream(s) receives the reflected packets. 



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2845 74dad513-b988-da41-8d7b-12977e46ad98
2009-07-29 12:19:25 +00:00
Benny Prijono 4d8846bc96 Ticket #923: New API to retrieve current jitter buffer state from a 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: https://svn.pjsip.org/repos/pjproject/trunk@2844 74dad513-b988-da41-8d7b-12977e46ad98
2009-07-29 12:14:21 +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 fc279de2ab Ticket #909:
- Added support for Nokia VAS 2.0.
 - Fixed wrong value assigned to last downstream state var in downstream callback.
 - Minor fix in config_site_sample.h related to VAS Direct setting.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2833 74dad513-b988-da41-8d7b-12977e46ad98
2009-07-14 14:33:39 +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 d687a5028c Ticket #909:
- Added new audio device VAS for Symbian platform.
 - Updated symsndtest to use the latest audio device framework.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2821 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-30 13:37:26 +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 c7fe30dc1a Ticket #883: Added user defined NAT hole-punching and keep-alive mechanism to media stream.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2759 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-12 17:37:13 +00:00
Nanang Izzuddin 67cdbe24e7 Ticket #879: Reverted back changes in r2747, r2748, r2751.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2755 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-07 16:49:42 +00:00
Nanang Izzuddin 6b9e93b715 Ticket #879:
- Added pjmedia synchronizer port.
 - Updated affected components, i.e: sound port, AEC, conference bridge.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2747 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-04 18:48:49 +00:00
Nanang Izzuddin c24ead6bb1 Ticket #834:
- Added calls to delay buf destructor in conference.c and echo_common.c.
 - Moved mutex creation to the end of pjmedia_delay_buf_create().
 - Deprecated pjmedia_conf_add_passive_port().




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2728 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-01 13:56:09 +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 69b69ae4d1 Ticket #788: Updated pjsua_media_subsys_init() to perform SRTP library initialization.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2597 74dad513-b988-da41-8d7b-12977e46ad98
2009-04-14 15:18:30 +00:00
Nanang Izzuddin 127b4dd00d Ticket #762: Major updates on jitter buffer:
- Updated loop condition in put_frame() to avoid possibility of infinite loop.
 - Added JB capabilities to handle sequence restart & jump.
 - Updated jitter calculation, e.g: reset max_hist_level after updating prefetch, avoid updating prefetch when burst level is exceeding max_burst.
 - Updated shrinking method to be less agressive (only shrink JB when JB size is twice larger than burst level).
 - Updated the way JB switching status from 'initializing' to 'processing' by waiting for some OP switch cycles.
 - Few simplifications in framelist process, e.g: replacing fields 'empty' & 'tail' with 'size'.
 - Minor updates: comments, shortened framelist field names, added some JB states for reporting/monitoring purpose.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2578 74dad513-b988-da41-8d7b-12977e46ad98
2009-04-06 17:05:34 +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 fa92382c62 - updated delay statistic calculations to use pj_math_stat, also added
min, avg, dev of latency into the test result
- fixed drift report
- updated test result calculations to use division with rounding




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2503 74dad513-b988-da41-8d7b-12977e46ad98
2009-03-11 11:28:44 +00:00
Benny Prijono 7a380009f1 PJMEDIA/PJMEDIA-AUDIODEV update:
- pjmedia.h: re-added inclusion of <sound.h> since we have compat 
    layer now
- audiodev.h: 
    - added input_vol and output_vol in pjmedia_aud_param, and
       implement it on WMME dev
    - added  pjmedia_aud_dev_cap_name() to see cap name
    - added pjmedia_aud_param_set_cap() and  pjmedia_aud_param_get_cap()
      to set and get specific capability in param
- conference.h: exported PJMEDIA_CONF_BRIDGE_SIGNATURE and 
    PJMEDIA_CONF_SWITCH_SIGNATURE since these are needed by PJSUA-LIB
- WMME: bug due to addition of input_vol and output_vol in param: 
    volumes are set in flags in default_param(), but the
    fields are not set. This would cause audio volume to be set to
    zero for example.
- WMME: some refactoring, removed duplicate settings in param
- WMME: bug: setting set in set_cap() is not saved to param, so
    get_param() will return wrong setting
- APS: update because of s/out_route/output_route/ in param
- APS: same bug as WMME due to addition of input_vol and output_vol in
    param: flags are set in param but the fields are not



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2492 74dad513-b988-da41-8d7b-12977e46ad98
2009-03-09 12:55:29 +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 64f9138598 Ticket #736 (aps-direct branch): implemented the compatibility layer for the old sound API
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2489 74dad513-b988-da41-8d7b-12977e46ad98
2009-03-05 18:02:28 +00:00
Benny Prijono 8eeab0bbf5 Ticket #734: error codes in audiodev
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2488 74dad513-b988-da41-8d7b-12977e46ad98
2009-03-04 19:00:28 +00:00
Nanang Izzuddin a940b36960 - Updated Symbian bld.inf & MMP projects to use new audio framework.
- Updated audiodev.c to accomodate Symbian audio devs (APS & standard multimedia framework).
- Fixed compile warning & errors on Symbian.




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2475 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-23 13:53:30 +00:00
Benny Prijono eef2a878e3 - Added main doxygen documentations for audiodev
- Added include/pjmedia_audiodev.h
- Fix include sound.h in pjmedia.h



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2473 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-23 09:55:52 +00:00
Benny Prijono 5fad7be60e Some testing in wmme_dev.c before changing it to use WMME callback interface
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2471 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-22 21:33:20 +00:00
Benny Prijono 2058f47d45 - Added pjmedia-audiodev/config.h
- Added a bit of doxygen documentation
- Added support for PCMA/PCMU codecs in wmme_dev.c



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2470 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-22 17:15:34 +00:00
Benny Prijono 96e74f3f8a - New convention about default audio device ID (now there is different ID for default capture/playback device. It should be backward compatible)
- Fixed crash if sound port is unable to open sound device
- Testing with the switchboard



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2469 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-22 12:00:12 +00:00
Benny Prijono 10454dc424 Updated libraries and applications to use the new Audio Device API
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2468 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-21 14:21:59 +00:00
Nanang Izzuddin 1b79114078 Added volume settings capability to Symbian APS audiodev.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2466 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-19 19:13:49 +00:00
Benny Prijono e3ebd55df7 Added audiotest and initial work on audio demo sample
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2463 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-18 20:14:15 +00:00
Nanang Izzuddin 452b66bf76 - Updated audio route API for Symbian APS.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2461 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-18 15:23:47 +00:00
Nanang Izzuddin fe02a0684d - Added APS-direct sound device management into pjsua-lib (and removed it from apps).
- Fixed bug in conf_switch.c to always update ts_rx (even if port is not transmitting).
- Minor updates: 'fmt_id' to 'id', added transmitter_Cnt in conf port info, explicit mapping in Symbian audio APS impl from pjmedia_format_id to Symbian APS fourcc.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2460 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-18 14:28:49 +00:00
Benny Prijono 598b01dbdf Added WMME device in audiodev
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2459 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-18 13:55:03 +00:00
Benny Prijono 2cd64f895d Initial checkin for pjmedia_audiodev
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2458 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-17 19:57:48 +00:00
Benny Prijono f863ca3f77 Added bitrate and vad info in pjmedia_format, and changed audio route to use enumeration rather than boolean
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2457 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-17 15:19:45 +00:00
Nanang Izzuddin 83457d5937 Changed term 'fourcc' to 'format' and few minor fixes/updates.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2456 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-16 16:29:05 +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 d5c54ab720 - Fixed conf switch on reinit-ing conf port TX buf.
- Updated conf switch to enable RX/TX level adjustment.
- Added VAD & PLC setting in passthrough codecs.
- Changed G711 fourcc codes.
- Updated bits-to-bytes calculations all over the places.
- Minor update: changed log level for dumping jbuf states in stream.




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2445 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-10 04:43:16 +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 4906604fd7 - Fixed pjmedia_frame_ext_pop_subframes() in calculating len.
- Fixed symbian_sound_aps.cpp in filling silence, previously just by filling zeroes.
- Some fixes in ua.cpp: always reopen sound device (even if PCM is in use), make sure sound device closed before quit, release application pool.




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2439 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-05 12:28:38 +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 389d3264b7 - Fixed pjmedia_frame_ext helper functions, it didn't involve sizeof(bitlen) in calculating subframe address.
- Fixed audio switch board to handle such case that transmitter of port 0 has greater ptime, so it could save the remaining data in the TX buffer.
 - Fixed audio swtich board in handling FRAME_TYPE_NONE.
 - Updated audio switch board to handle keep alive mechanism.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2437 74dad513-b988-da41-8d7b-12977e46ad98
2009-02-01 14:10:49 +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
Nanang Izzuddin 58704d502a Ticket #680:
- Fixed Symbian APS G.711 frame size variation issue.
 - Fixed APS implementation to regard 'samples_per_frame' setting.
 - Added APIs for u-law/a-law <-> PCM bulk conversions.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2416 74dad513-b988-da41-8d7b-12977e46ad98
2009-01-05 15:27:02 +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 838cb32cc4 Cleaned up compile warnings (on gcc 4.0.1).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2386 74dad513-b988-da41-8d7b-12977e46ad98
2008-12-18 17:52:57 +00:00
Nanang Izzuddin 6ca4318689 Ticket #676: Updated default value of maximum silence theshold setting to MAXUINT16+1 (feature is disabled).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2368 74dad513-b988-da41-8d7b-12977e46ad98
2008-11-19 14:48:10 +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
Nanang Izzuddin d55553a1a0 Ticket #670: Added AMR codec helper and updated IPP codecs to use the AMR codec helper.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2358 74dad513-b988-da41-8d7b-12977e46ad98
2008-10-28 02:24:46 +00:00
Nanang Izzuddin 883d8de2a0 Ticket #638: Reenable prefetch buffering via initial prefetch setting (set 0 to disable, otherwise to enable).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2317 74dad513-b988-da41-8d7b-12977e46ad98
2008-09-24 17:27:46 +00:00
Benny Prijono 63bfe7ad00 Ticket #642: Discontinuous tone generation (thanks Olle Frimanson for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2313 74dad513-b988-da41-8d7b-12977e46ad98
2008-09-24 09:38:55 +00:00
Benny Prijono 6ba5f59841 More ticket #619: changed default Cordic loop from 8 to 10 to gain more accuracy, and updated tonegen.c with the results from ARM9 tests
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2294 74dad513-b988-da41-8d7b-12977e46ad98
2008-09-18 14:11:29 +00:00
Nanang Izzuddin 4494a48287 Ticket #631:
- Changed rem_rtp/rtcp_addr to src_rtp/rtcp_addr in media transport info
 - Updated behaviour of media transport get info, when the transport hasn't receive any packet src_rtp/rtcp_addr will not be set.
 - Fixed bug in pjsua_call_dump that rem_addr was unset.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2293 74dad513-b988-da41-8d7b-12977e46ad98
2008-09-18 12:58:33 +00:00