Version 2 (modified by bennylp, 14 years ago) (diff) |
---|
PJSIP Version 2.0 Release Notes
Table of Contents
This document explains the new features, changes, and porting guide in/for PJSIP version 2.0.
New Features
Video
Assorted features:
- Supported video devices:
- renderer:
- Simple Direct Media Layer (SDL) (Win32, Mac OS X, Linux, etc.)
- capture:
- QuickTime (MacOS X)
- iOS (iOS)
- Video4Linux4 (Linux)
- DirectShow (Win32)
- ffmpeg capture (unfinished)
- Color bar (all platforms)
- renderer:
- Supported codecs:
- H.263 (with ffmpeg)
- video device port to provide timing for video devices (analogous to sound device port)
- media format conversion framework (converter.h) supporting multiple backend APIs:
- ffmpeg's libswscale backend API implementation
- video codec framework (vid_codec.h) supporting multiple backend APIs:
- ffmpeg's libavcodec backend API implementation
- AVI file splitter/reader component (aviplayer.h)
On Demand Media Transport
TBD.
Changes
Configure script
New options:
.. --disable-sdl Disable SDL (default: not disabled) --disable-ffmpeg Disable ffmpeg (default: not disabled) --disable-v4l2 Disable Video4Linux2 (default: not disabled) ..
New output:
.. checking SDL availability..... 1.2.14 checking for avdevice_version in -lavdevice... yes checking for av_register_all in -lavformat... yes checking for avcodec_init in -lavcodec... yes checking for sws_scale in -lswscale... yes checking for av_malloc in -lavutil... yes checking for avcore_version in -lavcore... no checking for v4l2_open in -lv4l2... yes ..
Header Files
<pjmedia/types.h> is split into <pjmedia/format.h>, <pjmedia/frame.h>, and <pjmedia/types.h>
Symptom: You may encounter compilation warnings/errors such as:
../include/pjmedia/circbuf.h:293: warning: implicit declaration of function ‘pjmedia_copy_samples’ ../include/pjmedia/circbuf.h:409: warning: implicit declaration of function ‘pjmedia_move_samples’ ../src/pjmedia/delaybuf.c:349: warning: implicit declaration of function ‘pjmedia_zero_samples’
Solution: Update your #include section accordingly, adding the new headers above. Alternatively, just include <pjmedia.h> to get all the header files.
General Data Structure
format
Huge changes..
Missing samples_per_frame
Use PJMEDIA_AFD_SAMPLES_PER_FRAME(afd)
Port info
Uses format now..
put_frame() callback of pjmedia_port
Removed const qualifier from the frame argument.
Sample warnings:
../src/pjmedia/bidirectional.c: In function ‘put_frame’: ../src/pjmedia/bidirectional.c:39: warning: passing argument 2 of ‘pjmedia_port_put_frame’ discards qualifiers from pointer target type ../include/pjmedia/port.h:334: note: expected ‘struct pjmedia_frame *’ but argument is of type ‘const struct pjmedia_frame *’ ../src/pjmedia/bidirectional.c:70: warning: assignment from incompatible pointer type