* 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
- 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
- Fixed ffmpeg codec: decoding buffer size check (should not use assertion), reset output bit_info before decoding, removed unused code of auto resize when decoder output size changed.
- Fixed bug in sdl_factory_default_param() of sdl_dev.c in device direction check.
- Fixed compile errors sample app vid_streamutil.c of bad local variable definiton.
- Updated sample app vid_streamutil.c default renderer size to 640 x 480.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3432 74dad513-b988-da41-8d7b-12977e46ad98
* 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
- 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
- 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
- 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
* 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
* Add PJMEDA_VID_DEV_CAP_OUTPUT_WINDOW capability to ios_dev to allow application to provide their own window for the renderer to display the video.
* Perform image setting function in the main thread.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3399 74dad513-b988-da41-8d7b-12977e46ad98
* 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