Commit edaa567f authored by Simon Morlat's avatar Simon Morlat

make video work under iOS/simulator (except camera capture) and rework README

parent 280992c6
LINPHONE ON IPHONE
******************************************
Linphone for iPhone depends on liblinphone sdk. To build this sdk, you must install both xcode with iPhone OS SDK and MacPorts (www.macports.org) with the following ports:
-nawk
-coreutils
-automake
-autoconf
-libtool
-intltool
-wget
-pkgconfig
-cmake (for ZRTP support)
-yasm
-doxygen
gas-preprosessor.pl (http://github.com/yuvi/gas-preprocessor/ ) to be copied into /opt/local/bin :
$ wget --no-check-certificate https://raw.github.com/yuvi/gas-preprocessor/master/gas-preprocessor.pl
$ sudo mv gas-preprocessor.pl /opt/local/bin/.
Link macport libtoolize to glibtoolize (sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize)
Link host's strings to simulator SDK (ln -s /usr/bin/strings /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings)
***********************************************************************
*******GPL third parties versus non GPL third parties******************
***********************************************************************
BUILD PREQUISITES
*****************
Linphone for iPhone depends on liblinphone sdk. This SDK is generated from makefiles and shell scripts.
You must first install both xcode with iPhone OS SDK and MacPorts (www.macports.org) for these scripts to work.
Once xccode and macports are installed, open a terminal and install the required build-time tools with:
$ sudo port install nawk coreutils automake autoconf libtool intltool wget pkgconfig cmake yasm doxygen
Install gas-preprosessor.pl (http://github.com/yuvi/gas-preprocessor/ ) to be copied into /opt/local/bin :
$ wget --no-check-certificate https://raw.github.com/yuvi/gas-preprocessor/master/gas-preprocessor.pl
$ sudo mv gas-preprocessor.pl /opt/local/bin/.
$ sudo chmod +x /opt/local/bin/gas-preprocessor.pl
Link macport libtoolize to glibtoolize
$ sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize
Link host's strings to simulator SDK
$ ln -s /usr/bin/strings /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
BUILDING THE SDK
****************
* GPL third parties versus non GPL third parties
This sdk can be generated in 2 flavors. Firt is with GPL third parties, it means liblinphone includes GPL third parties like FFMPEG or x264.
If you choose this flavor, your final application must comply with GPL in any case. This is the default mode.
To generate the liblinphone multi arch sdk in GPL mode, once the above commands have been executed:
cd submodules/build
make all
To generate the liblinphone multi arch sdk in GPL mode, do:
$ cd submodules/build
$ make all
ALTERNATIVELY, you can force liblinphone to use only non GPL code except for liblinphone, mediastremer2, ortp, exosip, osip.
If you choose this flavor, your final application is still subject to GPL except if you have an alternative license for liblinphone, mediastremer2, ortp, exosip, osip.
If you choose this flavor, your final application is still subject to GPL except if you have a commercial license for liblinphone, mediastremer2, ortp, exosip, osip.
To generate the liblinphone multi arch sdkin non GPL mode, once the above commands have been executed:
cd submodules/build
make all enable_gpl_third_parties=no
To generate the liblinphone multi arch sdkin non GPL mode, do:
$ cd submodules/build
$ make all enable_gpl_third_parties=no
Note: simulator build does not work with this flavor.
The resulting sdk is in liblinphone-sdk/ directory.
******************************************
****Third party, subject to lincense*****
******************************************
The liblinphone-sdk is compiled with third parties code that are subject to license, specially: AMR, SILK and X264.
Linphone activates/de-activates these codecs thanks to the preprocessor macros HAVE_SILK, HAVE_AMR, HAVE_X264 positioned in xcode.
In case you upgrade your IOS SDK, you may force rebuilding everything, by doing
$ make veryclean
$ make all
BUILDING THE APPLICATION
************************
After the SDK is built, just open the linphone xcode project with Xcode, and press "Run".
* Note regarding third party components subject to license
The liblinphone-sdk is compiled with third parties code that are subject to patent license, specially: AMR, SILK and X264 codecs.
Linphone controls the embedding of these codecs thanks to the preprocessor macros HAVE_SILK, HAVE_AMR, HAVE_X264 positioned in xcode project.
Before embeding these 3 codecs in the final application, make sure to have the right to do so.
******************************************
In case you upgrade your IOS SDK, you may force configure by using make targets <veryclean>
LIMITATIONS, KNOWN BUGS
***********************
* Video capture does not work in simulator (not implemented by simulator ?).
* Sound does not work well (or at all) in simulator
Libraries are available from liblinphone-sdk/
linphone @ 9c9588ff
Subproject commit 5bf95231b51641ce095af49a864cf00fa6837750
Subproject commit 9c9588ffe6cf8b163f797305b7d9c4e358788b9e
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment