Build PJSIP 2.2.1 with opus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

You should update your code to use latest patch available (last change was
made this weekend to fix critical compatibility issue).
The opus format has evolved (in particular RTP payload format). As
consequence the old post sent is pretty outdate.
Instead, use latest versions which is compounded of :
* the codec plugin, it can be compiled outside of pjsip toolchain:
   ->
https://code.google.com/p/csipsimple/source/browse/trunk/CSipSimple#CSipSimple%2Fjni%2Fopus%2Fpj_sources
* the patch to add rtp payload type :
   ->
https://code.google.com/p/csipsimple/source/browse/trunk/CSipSimple/jni/pjsip/patches/003rtp_type_strip.diff
* patch to hack timestamp in stream (due to 48kHz clock rate of opus)
   ->
https://code.google.com/p/csipsimple/source/browse/trunk/CSipSimple/jni/pjsip/patches/014opus_ts_fix.diff
* module to present opus codec as one having a different internal clock
rate from announced one (opus always announce 48kHz while it can be
different internally and in mobile it's very important to use lower
clockrate to avoid resampling when open audio device at lower clockrate --
it also might allow to reduce bandwidth ):
   ->
https://code.google.com/p/csipsimple/source/browse/trunk/CSipSimple/jni/csipsimple-wrapper/src/pjsip_opus_sdp_rewriter.c
With this code you'll get opus compliant (RFC6716 + draft
draft-spittka-payload-rtp-opus version 03). It's currently compatible with
jitsi and freeswitch implementation of opus. There is however some known
limitations (for example about ptime), but it's not a problem with others
implementations of the codec.


As the work is mainly done for android on csipsimple there is currently
nothing to build using the pjsip toolchain. However it should be very easy
to build as there is no big dependancies on these plugins (it's just pjsip
+ opus). The code above is maintained and might continue to evolve. It's
released under apache license (as everything closely related to pjsip
project on csipsimple), so feel free to reuse and contribute to it.

Best regards
R?gis





2014-04-01 9:42 GMT+02:00 Vinay <vinay.nair at novanet.net>:

> Hi,
>
> I have been trying to upgrade our iOS project unsuccessfully to PJSIP
> 2.2.1 with opus 1.1 and openSSL for armv7, armv7s and arm64 for iOS. We
> were using PJSIP 2.0 earlier.
>
> First I got an error saying opus.h not found in pjmedia, following which I
> added it manually. But after that I am not able to generate the
> libopuscodec-arm-apple-darwin9.a file. The build process does not show
> any error but I am unable to generate the required lib.
>
> I have attached the script that I have used to build it. The procedure I
> followed was:
>
>    - Placed opus in pjsip2.2.1->third_party.
>    - Used the opus patch found on the forums (attached herewith)
>    - Built openSSL.
>    - Ran the build script  (attached herewith)
>
>
>  Any help will be greatly appreciated as I have been stuck on this for
> quite some while.
>
>
>
>
> --
> Vinay Nair
> vinay.nair at novanet.net
>
>
>
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20140401/adbf5388/attachment-0001.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux