initial commit
This commit is contained in:
commit
636959b37b
2474 changed files with 1343178 additions and 0 deletions
339
COPYING
Normal file
339
COPYING
Normal file
|
@ -0,0 +1,339 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
26
Makefile
Normal file
26
Makefile
Normal file
|
@ -0,0 +1,26 @@
|
|||
PJSIP_DIR=pjproject-2.11.1
|
||||
PKG_CONFIG_PATH=pjsip.install/lib/pkgconfig
|
||||
|
||||
all: d-modem slmodemd
|
||||
|
||||
$(PKG_CONFIG_PATH)/libpjproject.pc:
|
||||
(cd $(PJSIP_DIR); [ -f ./config.status ] || ./configure --prefix=`pwd`/../pjsip.install --disable-video)
|
||||
$(MAKE) -C $(PJSIP_DIR) && \
|
||||
$(MAKE) -C $(PJSIP_DIR) install
|
||||
|
||||
d-modem: d-modem.c $(PKG_CONFIG_PATH)/libpjproject.pc
|
||||
$(CC) -o $@ $< `PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" pkg-config --static --cflags --libs libpjproject`
|
||||
|
||||
slmodemd:
|
||||
$(MAKE) -C slmodemd
|
||||
|
||||
clean:
|
||||
rm -f d-modem.o d-modem
|
||||
$(MAKE) -C slmodemd clean
|
||||
|
||||
realclean: clean
|
||||
$(MAKE) -C $(PJSIP_DIR) realclean
|
||||
rm -rf pjsip.install/*
|
||||
|
||||
|
||||
.PHONY: all clean realclean slmodemd
|
71
README.md
Normal file
71
README.md
Normal file
|
@ -0,0 +1,71 @@
|
|||
# D-Modem
|
||||
Connect to dialup modems over VoIP using SIP, no modem hardware required.
|
||||
|
||||
https://www.aon.com/cyber-solutions/aon_cyber_labs/introducing-d-modem-a-software-sip-modem/
|
||||
|
||||
## Building
|
||||
You'll need Linux and a working 32-bit development environment (gcc -m32 needs to work, Debian-based systems can install libc6-dev-i386), along with PJSIP's dependencies (OpenSSL). Then run 'make' from the top-level directory.
|
||||
|
||||
## How it Works
|
||||
Traditional “controller-based” modems generally used a microcontroller and a DSP to handle all aspects of modem communication on the device itself. Later, so-called “Winmodems” were introduced that allowed for field-programmable DSPs and moved the controller and other functionality into software running on the host PC. This was followed by “pure software” modems that moved DSP functionality to the host as well. The physical hardware of these softmodems was only used to connect to the phone network, and all processing was done in software.
|
||||
|
||||
D-Modem replaces a softmodem’s physical hardware with a SIP stack. Instead of passing audio to and from the software DSP over an analog phone line, audio travels via the RTP (or SRTP) media streams of a SIP VoIP call.
|
||||
|
||||
## Usage
|
||||
The repository contains two applications:
|
||||
|
||||
slmodemd – A stripped down and patched version of Debian’s sl-modem-daemon package. All kernel driver code has been replaced with socket-based communication, allowing external applications to manage audio streams.
|
||||
|
||||
d-modem – External application that interfaces with slmodemd to manage SIP calls and their associated audio streams.
|
||||
|
||||
After they have been built, you will need to configure SIP account information in the SIP_LOGIN environment variable:
|
||||
|
||||
# export SIP_LOGIN=username:password@sip.example.com
|
||||
Next, run slmodemd, passing the path to d-modem in the -e option. Use -d<level> for debug logging.
|
||||
|
||||
# ./slmodemd/slmodemd -d9 -e ./d-modem
|
||||
SmartLink Soft Modem: version 2.9.11 Oct 28 2021 16:51:30
|
||||
symbolic link `/dev/ttySL0' -> `/dev/pts/3' created.
|
||||
modem `slamr0' created. TTY is `/dev/pts/3'
|
||||
Use `/dev/ttySL0' as modem device, Ctrl+C for termination.
|
||||
|
||||
In another terminal, connect to the newly created serial device at 115200 bps:
|
||||
|
||||
# screen /dev/ttySL0 115200
|
||||
|
||||
You can now interact with this terminal (almost) as you would with a normal modem using standard AT commands. A similar modem’s manual provides a more complete list.
|
||||
|
||||
Because there isn’t any dial tone on our SIP connection, you’ll need to disable dial tone detection:
|
||||
|
||||
atx3
|
||||
OK
|
||||
|
||||
To successfully connect, you will likely need to manually select a modulation and data rate. In our testing, V.32bis (14.4kbps) and below appears to be the most reliable, though V.34 (33.6kbps) connections are sometimes successful. For example, the following command selects V.32bis with a data rate of 4800 – 9600 bps. Refer to the manual for further details.
|
||||
|
||||
at+ms=132,0,4800,9600
|
||||
OK
|
||||
|
||||
Finally, dial the number of the target system. Below shows a connection to the NIST atomic clock:
|
||||
|
||||
atd303-494-4774
|
||||
CONNECT 9600
|
||||
National Institute of Standards and Technology
|
||||
Telephone Time Service, Generator 1b
|
||||
Enter the question mark character for HELP
|
||||
D L
|
||||
MJD YR MO DA HH MM SS ST S UT1 msADV <OTM>
|
||||
59515 21-10-28 21:40:18 11 0 -.1 045.0 UTC(NIST) *
|
||||
59515 21-10-28 21:40:19 11 0 -.1 045.0 UTC(NIST) *
|
||||
59515 21-10-28 21:40:20 11 0 -.1 045.0 UTC(NIST) *
|
||||
59515 21-10-28 21:40:21 11 0 -.1 045.0 UTC(NIST) *
|
||||
59515 21-10-28 21:40:22 11 0 -.1 045.0 UTC(NIST) *
|
||||
59515 21-10-28 21:40:23 11 0 -.1 045.0 UTC(NIST) *
|
||||
|
||||
## Known Issues / Future Work
|
||||
- Connections are unreliable, and it is currently difficult to connect at speeds higher than 14.4kbps or so. It might be possible to improve this by disabling/reconfiguring PJSIP’s jitter buffer.
|
||||
- Additional logging/error handling is needed
|
||||
- The serial interface could be replaced with stdio or a socket, and common AT configuration options could be exposed as command line options
|
||||
- There is currently no support for receiving calls
|
||||
|
||||
|
||||
Copyright 2021 Aon plc
|
262
d-modem.c
Normal file
262
d-modem.c
Normal file
|
@ -0,0 +1,262 @@
|
|||
/*
|
||||
* Copyright (C) 2021 Aon plc
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdbool.h>
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <pjsua-lib/pjsua.h>
|
||||
|
||||
#define SIGNATURE PJMEDIA_SIG_CLASS_PORT_AUD('D','M')
|
||||
|
||||
struct dmodem {
|
||||
pjmedia_port base;
|
||||
pj_timestamp timestamp;
|
||||
pj_sock_t sock;
|
||||
};
|
||||
|
||||
static struct dmodem port;
|
||||
static bool destroying = false;
|
||||
static pj_pool_t *pool;
|
||||
|
||||
static void error_exit(const char *title, pj_status_t status) {
|
||||
pjsua_perror(__FILE__, title, status);
|
||||
if (!destroying) {
|
||||
destroying = true;
|
||||
pjsua_destroy();
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
static pj_status_t dmodem_put_frame(pjmedia_port *this_port, pjmedia_frame *frame) {
|
||||
struct dmodem *sm = (struct dmodem *)this_port;
|
||||
int len;
|
||||
|
||||
if (frame->type == PJMEDIA_FRAME_TYPE_AUDIO) {
|
||||
if ((len=write(sm->sock, frame->buf, frame->size)) != frame->size) {
|
||||
error_exit("error writing frame",0);
|
||||
}
|
||||
}
|
||||
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
static pj_status_t dmodem_get_frame(pjmedia_port *this_port, pjmedia_frame *frame) {
|
||||
struct dmodem *sm = (struct dmodem *)this_port;
|
||||
frame->size = PJMEDIA_PIA_AVG_FSZ(&this_port->info); // MAX? what is
|
||||
|
||||
int len;
|
||||
if ((len=read(sm->sock, frame->buf, frame->size)) != frame->size) {
|
||||
error_exit("error reading frame",0);
|
||||
}
|
||||
|
||||
frame->timestamp.u64 = sm->timestamp.u64;
|
||||
frame->type = PJMEDIA_FRAME_TYPE_AUDIO;
|
||||
sm->timestamp.u64 += PJMEDIA_PIA_SPF(&this_port->info);
|
||||
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
static pj_status_t dmodem_on_destroy(pjmedia_port *this_port) {
|
||||
printf("destroy\n");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
/* Callback called by the library when call's state has changed */
|
||||
static void on_call_state(pjsua_call_id call_id, pjsip_event *e) {
|
||||
pjsua_call_info ci;
|
||||
|
||||
PJ_UNUSED_ARG(e);
|
||||
|
||||
pjsua_call_get_info(call_id, &ci);
|
||||
PJ_LOG(3,(__FILE__, "Call %d state=%.*s", call_id,
|
||||
(int)ci.state_text.slen,
|
||||
ci.state_text.ptr));
|
||||
|
||||
if (ci.state == PJSIP_INV_STATE_DISCONNECTED) {
|
||||
close(port.sock);
|
||||
if (!destroying) {
|
||||
destroying = true;
|
||||
pjsua_destroy();
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Callback called by the library when call's media state has changed */
|
||||
static void on_call_media_state(pjsua_call_id call_id) {
|
||||
pjsua_call_info ci;
|
||||
pjsua_conf_port_id port_id;
|
||||
static int done=0;
|
||||
|
||||
pjsua_call_get_info(call_id, &ci);
|
||||
|
||||
// printf("media_status %d media_cnt %d ci.conf_slot %d aud.conf_slot %d\n",ci.media_status,ci.media_cnt,ci.conf_slot,ci.media[0].stream.aud.conf_slot);
|
||||
if (ci.media_status == PJSUA_CALL_MEDIA_ACTIVE) {
|
||||
if (!done) {
|
||||
pjsua_conf_add_port(pool, &port.base, &port_id);
|
||||
pjsua_conf_connect(ci.conf_slot, port_id);
|
||||
pjsua_conf_connect(port_id, ci.conf_slot);
|
||||
done = 1;
|
||||
}
|
||||
} else {
|
||||
done = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
pjsua_acc_id acc_id;
|
||||
pj_status_t status;
|
||||
|
||||
if (argc != 3) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
signal(SIGPIPE,SIG_IGN);
|
||||
|
||||
char *dialstr = argv[1];
|
||||
|
||||
char *sip_user = getenv("SIP_LOGIN");
|
||||
if (!sip_user) {
|
||||
return -1;
|
||||
}
|
||||
char *sip_domain = strchr(sip_user,'@');
|
||||
if (!sip_domain) {
|
||||
return -1;
|
||||
}
|
||||
*sip_domain++ = '\0';
|
||||
char *sip_pass = strchr(sip_user,':');
|
||||
if (!sip_pass) {
|
||||
return -1;
|
||||
}
|
||||
*sip_pass++ = '\0';
|
||||
|
||||
status = pjsua_create();
|
||||
if (status != PJ_SUCCESS) error_exit("Error in pjsua_create()", status);
|
||||
|
||||
/* Init pjsua */
|
||||
{
|
||||
pjsua_config cfg;
|
||||
pjsua_logging_config log_cfg;
|
||||
pjsua_media_config med_cfg;
|
||||
|
||||
pjsua_config_default(&cfg);
|
||||
cfg.cb.on_call_media_state = &on_call_media_state;
|
||||
cfg.cb.on_call_state = &on_call_state;
|
||||
|
||||
pjsua_logging_config_default(&log_cfg);
|
||||
log_cfg.console_level = 4;
|
||||
|
||||
pjsua_media_config_default(&med_cfg);
|
||||
med_cfg.no_vad = true;
|
||||
med_cfg.ec_tail_len = 0;
|
||||
med_cfg.jb_max = 2000;
|
||||
// med_cfg.jb_init = 200;
|
||||
med_cfg.audio_frame_ptime = 5;
|
||||
|
||||
status = pjsua_init(&cfg, &log_cfg, &med_cfg);
|
||||
if (status != PJ_SUCCESS) error_exit("Error in pjsua_init()", status);
|
||||
}
|
||||
|
||||
pjsua_set_ec(0,0); // maybe?
|
||||
pjsua_set_null_snd_dev();
|
||||
|
||||
/* g711 only */
|
||||
pjsua_codec_info codecs[32];
|
||||
unsigned count = sizeof(codecs)/sizeof(*codecs);
|
||||
pjsua_enum_codecs(codecs,&count);
|
||||
for (int i=0; i<count; i++) {
|
||||
int pri = 0;
|
||||
if (pj_strcmp2(&codecs[i].codec_id,"PCMU/8000/1") == 0) {
|
||||
pri = 1;
|
||||
} else if (pj_strcmp2(&codecs[i].codec_id,"PCMA/8000/1") == 0) {
|
||||
pri = 2;
|
||||
}
|
||||
pjsua_codec_set_priority(&codecs[i].codec_id, pri);
|
||||
// printf("codec: %s %d\n",pj_strbuf(&codecs[i].codec_id),pri);
|
||||
}
|
||||
|
||||
/* Add UDP transport. */
|
||||
{
|
||||
pjsua_transport_config cfg;
|
||||
|
||||
pjsua_transport_config_default(&cfg);
|
||||
cfg.port = 5060;
|
||||
status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &cfg, NULL);
|
||||
if (status != PJ_SUCCESS) error_exit("Error creating transport", status);
|
||||
}
|
||||
|
||||
pj_caching_pool cp;
|
||||
pj_caching_pool_init(&cp, NULL, 1024*1024);
|
||||
pool = pj_pool_create(&cp.factory, "pool1", 4000, 4000, NULL);
|
||||
|
||||
pj_str_t name = pj_str("dmodem");
|
||||
|
||||
memset(&port,0,sizeof(port));
|
||||
port.sock = atoi(argv[2]); // inherited from parent
|
||||
pjmedia_port_info_init(&port.base.info, &name, SIGNATURE, 9600, 1, 16, 192);
|
||||
port.base.put_frame = dmodem_put_frame;
|
||||
port.base.get_frame = dmodem_get_frame;
|
||||
port.base.on_destroy = dmodem_on_destroy;
|
||||
|
||||
char buf[384];
|
||||
memset(buf,0,sizeof(buf));
|
||||
write(port.sock, buf, sizeof(buf));
|
||||
|
||||
/* Initialization is done, now start pjsua */
|
||||
status = pjsua_start();
|
||||
if (status != PJ_SUCCESS) error_exit("Error starting pjsua", status);
|
||||
|
||||
{
|
||||
pjsua_acc_config cfg;
|
||||
pjsua_acc_config_default(&cfg);
|
||||
snprintf(buf,sizeof(buf),"sip:%s@%s",sip_user,sip_domain);
|
||||
pj_strdup2(pool,&cfg.id,buf);
|
||||
snprintf(buf,sizeof(buf),"sip:%s",sip_domain);
|
||||
pj_strdup2(pool,&cfg.reg_uri,buf);
|
||||
cfg.register_on_acc_add = false;
|
||||
cfg.cred_count = 1;
|
||||
cfg.cred_info[0].realm = pj_str("*");
|
||||
cfg.cred_info[0].scheme = pj_str("digest");
|
||||
cfg.cred_info[0].username = pj_str(sip_user);
|
||||
cfg.cred_info[0].data_type = PJSIP_CRED_DATA_PLAIN_PASSWD;
|
||||
cfg.cred_info[0].data = pj_str(sip_pass);
|
||||
|
||||
status = pjsua_acc_add(&cfg, PJ_TRUE, &acc_id);
|
||||
if (status != PJ_SUCCESS) error_exit("Error adding account", status);
|
||||
}
|
||||
|
||||
snprintf(buf,sizeof(buf),"sip:%s@%s",dialstr,sip_domain);
|
||||
printf("calling %s\n",buf);
|
||||
pj_str_t uri = pj_str(buf);
|
||||
|
||||
pjsua_call_id callid;
|
||||
status = pjsua_call_make_call(acc_id, &uri, 0, NULL, NULL, &callid);
|
||||
if (status != PJ_SUCCESS) error_exit("Error making call", status);
|
||||
|
||||
struct timespec ts = {100, 0};
|
||||
while(1) {
|
||||
nanosleep(&ts,NULL);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
42
pjproject-2.11.1/.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
42
pjproject-2.11.1/.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: 'type: bug'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
1. run pjsua app with parameter: `--video --registrar sip:some.sip.registrar ...`
|
||||
1. make two video calls to: `sip:abc` and `sip:xyz`1
|
||||
1. setup video conference: `vid conf cc ...`
|
||||
1. assertion occurs!
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Logs/Screenshots**
|
||||
If applicable, add screenshots PJSIP logs with verbosity level 5, packet capture (e.g: using Wireshark), audio/video recording, screenshot, etc.
|
||||
|
||||
**Desktop/Smartphone (please complete the following information):**
|
||||
|
||||
- OS, Distribution & Version: [e.g. MacOS Mojave, Ubuntu 16.04, iOS 13]
|
||||
- PJSIP
|
||||
- version: ...
|
||||
- applied patch(es): [e.g: patches from issue/PR xyz]
|
||||
- `configure` script params: ...
|
||||
- `config_site.h` contents: ...
|
||||
- related third party libraries & versions: [e.g: OpenSSL 1.1.1b]
|
||||
|
||||
**Smartphone (please also complete the following information):**
|
||||
|
||||
- Device: [e.g. iPhone 6]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
4
pjproject-2.11.1/.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
4
pjproject-2.11.1/.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: PJSIP tag on Stack Overflow
|
||||
url: https://stackoverflow.com/questions/tagged/pjsip
|
20
pjproject-2.11.1/.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
20
pjproject-2.11.1/.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: 'type: enhancement'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
31
pjproject-2.11.1/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
vendored
Normal file
31
pjproject-2.11.1/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
<!--- Provide a general summary of your changes in the Title above -->
|
||||
|
||||
## Description
|
||||
<!--- Describe your changes in detail -->
|
||||
|
||||
## Motivation and Context
|
||||
<!--- Why is this change required? What problem does it solve? -->
|
||||
<!--- If it fixes an open issue, please link to the issue here. -->
|
||||
|
||||
## How Has This Been Tested?
|
||||
<!--- Please describe in detail how you tested your changes. -->
|
||||
<!--- Include details of your testing environment, and the tests you ran to -->
|
||||
<!--- see how your change affects other areas of the code, etc. -->
|
||||
|
||||
## Screenshots (if appropriate):
|
||||
|
||||
## Types of changes
|
||||
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
|
||||
- [ ] Bug fix (non-breaking change which fixes an issue)
|
||||
- [ ] New feature (non-breaking change which adds functionality)
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
|
||||
|
||||
## Checklist:
|
||||
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
|
||||
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
|
||||
- [ ] My code follows the code style of this project.
|
||||
- [ ] My change requires a change to the documentation.
|
||||
- [ ] I have updated the documentation accordingly.
|
||||
- [ ] I have read the **CONTRIBUTING** document.
|
||||
- [ ] I have added tests to cover my changes.
|
||||
- [ ] All new and existing tests passed.
|
703
pjproject-2.11.1/.github/workflows/ccpp.yml
vendored
Normal file
703
pjproject-2.11.1/.github/workflows/ccpp.yml
vendored
Normal file
|
@ -0,0 +1,703 @@
|
|||
name: C/C++ CI
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
build-ubuntu-default:
|
||||
# checking pure lib source distribution with plain configure & make
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: make
|
||||
|
||||
build-ubuntu-default-full-bundle-1:
|
||||
# full bundle: enable all codecs + AEC + DTLS
|
||||
# full bundle 1: running pjlib, pjlib-util, pjmedia, and pjsua tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y swig sip-tester libopencore-amrnb-dev
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -fPIC" CXXFLAGS="-g -fPIC" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
- name: set up Python 2.7 for pjsua test
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 2.7
|
||||
- name: unit tests
|
||||
run: make pjlib-test pjlib-util-test pjmedia-test pjsua-test
|
||||
|
||||
build-ubuntu-default-full-bundle-2:
|
||||
# full bundle 2: running pjnath test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y libopencore-amrnb-dev
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: unit tests
|
||||
run: make pjnath-test
|
||||
|
||||
build-ubuntu-default-full-bundle-3:
|
||||
# full bundle 3: running pjsip test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y libopencore-amrnb-dev
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: unit tests
|
||||
run: make pjsip-test
|
||||
|
||||
build-ubuntu-no-tls:
|
||||
# no TLS
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y swig
|
||||
- name: configure
|
||||
run: CFLAGS="-fPIC" CXXFLAGS="-fPIC" ./configure --disable-ssl
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
# build-ubuntu-openssl
|
||||
# TLS: with OpenSSL (same as build-ubuntu-default)
|
||||
|
||||
build-ubuntu-gnu-tls:
|
||||
# TLS: with GnuTLS
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get update && sudo apt-get install -y --fix-missing swig libgnutls28-dev
|
||||
- name: configure
|
||||
run: CFLAGS="-fPIC" CXXFLAGS="-fPIC" ./configure --with-gnutls=/usr/
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-ubuntu-video-openh264-1:
|
||||
# video: video enabled with vpx and openh264
|
||||
# video 1: running pjlib, pjlib-util, pjmedia, and pjsua tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y swig nasm sip-tester libvpx-dev libopencore-amrnb-dev
|
||||
- name: get openh264
|
||||
run: git clone --single-branch --branch openh264v2.1.0 https://github.com/cisco/openh264.git
|
||||
- name: build openh264
|
||||
run: cd openh264 && make && sudo make install && sudo ldconfig
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -fPIC -DHAS_VID_CODEC_TEST=0" CXXFLAGS="-g -fPIC" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
- name: set up Python 2.7 for pjsua test
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 2.7
|
||||
- name: unit tests
|
||||
run: make pjlib-test pjlib-util-test pjmedia-test pjsua-test
|
||||
|
||||
build-ubuntu-video-openh264-2:
|
||||
# video 2: running pjnath test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y nasm libvpx-dev libopencore-amrnb-dev
|
||||
- name: get openh264
|
||||
run: git clone --single-branch --branch openh264v2.1.0 https://github.com/cisco/openh264.git
|
||||
- name: build openh264
|
||||
run: cd openh264 && make && sudo make install && sudo ldconfig
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: unit tests
|
||||
run: make pjnath-test
|
||||
|
||||
build-ubuntu-video-openh264-3:
|
||||
# video: 3: running pjsip test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y nasm libvpx-dev libopencore-amrnb-dev
|
||||
- name: get openh264
|
||||
run: git clone --single-branch --branch openh264v2.1.0 https://github.com/cisco/openh264.git
|
||||
- name: build openh264
|
||||
run: cd openh264 && make && sudo make install && sudo ldconfig
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g" LDFLAGS="-rdynamic" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: unit tests
|
||||
run: make pjsip-test
|
||||
|
||||
build-ubuntu-video-ffmpeg:
|
||||
# video enabled with vpx and ffmpeg and x264
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install -y swig nasm libx264-dev libvpx-dev
|
||||
- name: get ffmpeg
|
||||
run: git clone --single-branch --branch release/4.2 https://github.com/FFmpeg/FFmpeg.git
|
||||
- name: configure ffmpeg
|
||||
run: cd FFmpeg && ./configure --enable-shared --disable-static --enable-gpl --enable-libx264
|
||||
- name: build ffmpeg
|
||||
run: cd FFmpeg && make -j10 && sudo make install
|
||||
- name: config site
|
||||
run: echo -e "#define PJMEDIA_HAS_VIDEO 1\n" > pjlib/include/pj/config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-fPIC" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-mac-default:
|
||||
# checking pure lib source distribution with plain configure & make
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: make
|
||||
|
||||
build-mac-default-full-bundle-1:
|
||||
# full bundle: enable all codecs + AEC + DTLS
|
||||
# full bundle 1: running pjlib, pjlib-util, pjmedia, and pjsua tests
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install opencore-amr swig sipp
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" CXXFLAGS="-g -fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: set up Python 2.7 for pjsua test
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 2.7
|
||||
- name: unit tests
|
||||
run: make pjlib-test pjmedia-test pjlib-util-test pjsua-test
|
||||
|
||||
build-mac-default-full-bundle-2:
|
||||
# full bundle 2: running pjnath test
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install opencore-amr
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: unit tests
|
||||
run: make pjnath-test
|
||||
|
||||
build-mac-default-full-bundle-3:
|
||||
# full bundle 3: running pjsip test
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install opencore-amr
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: unit tests
|
||||
run: make pjsip-test
|
||||
|
||||
# build-ubuntu-no-tls:
|
||||
# no TLS (same as build-mac-default)
|
||||
|
||||
build-mac-openssl:
|
||||
# TLS: with OpenSSL
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install swig
|
||||
- name: configure
|
||||
run: CFLAGS="-I/usr/local/include -I/usr/local/opt/openssl/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-mac-gnu-tls:
|
||||
# TLS: with GnuTLS
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install swig
|
||||
- name: configure
|
||||
run: CFLAGS="-fPIC" CXXFLAGS="-fPIC" ./configure --with-gnutls=/usr/local/
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-mac-video-openh264-1:
|
||||
# video: video enabled with vpx and openh264
|
||||
# video 1: running pjlib, pjlib-util, pjmedia, and pjsua tests
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install openh264 libvpx opencore-amr swig sipp
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include -DHAS_VID_CODEC_TEST=0 -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" CXXFLAGS="-g -fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: set up Python 2.7 for pjsua test
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 2.7
|
||||
- name: unit tests
|
||||
run: make pjlib-test pjmedia-test pjlib-util-test pjsua-test
|
||||
|
||||
build-mac-video-openh264-2:
|
||||
# video 2: running pjnath test
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install openh264 libvpx opencore-amr
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: unit tests
|
||||
run: make pjnath-test
|
||||
|
||||
build-mac-video-openh264-3:
|
||||
# video 3: running pjsip test
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install openh264 libvpx opencore-amr
|
||||
- name: config site
|
||||
run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-g -I/usr/local/include -I/usr/local/opt/openssl/include" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: disable firewall
|
||||
run: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
|
||||
- name: unit tests
|
||||
run: make pjsip-test
|
||||
|
||||
build-mac-video-ffmpeg:
|
||||
# video enabled with vpx and ffmpeg and x264
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install x264 libvpx nasm swig
|
||||
- name: get ffmpeg
|
||||
run: git clone --single-branch --branch release/4.2 https://github.com/FFmpeg/FFmpeg.git
|
||||
- name: configure ffmpeg
|
||||
run: cd FFmpeg && ./configure --enable-shared --disable-static --enable-gpl --enable-libx264
|
||||
- name: build ffmpeg
|
||||
run: cd FFmpeg && make -j10 && sudo make install
|
||||
- name: config site
|
||||
run: echo -e "#define PJMEDIA_HAS_VIDEO 1\n" > pjlib/include/pj/config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-I/usr/local/include -I/usr/local/opt/openssl/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-mac-video-vid-toolbox:
|
||||
# video enabled with vpx and video toolbox
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: brew install libvpx swig
|
||||
- name: config site
|
||||
run: echo -e "#define PJMEDIA_HAS_VIDEO 1\n#define PJMEDIA_HAS_VID_TOOLBOX_CODEC 1\n" > pjlib/include/pj/config_site.h
|
||||
- name: configure
|
||||
run: CFLAGS="-I/usr/local/include -I/usr/local/opt/openssl/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" CXXFLAGS="-fPIC" ./configure
|
||||
- name: make
|
||||
run: make
|
||||
- name: swig bindings
|
||||
run: cd pjsip-apps/src/swig && make
|
||||
|
||||
build-windows-default:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get swig
|
||||
run: Invoke-WebRequest -Uri "https://nchc.dl.sourceforge.net/project/swig/swigwin/swigwin-4.0.1/swigwin-4.0.1.zip" -OutFile ".\swigwin.zip"
|
||||
shell: powershell
|
||||
- name: expand swig
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\swigwin.zip -DestinationPath .\swigwin\; pwd
|
||||
cd swigwin\swigwin-4.0.1
|
||||
Add-Content ..\..\swig_path.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: config site
|
||||
run:
|
||||
type nul > pjlib/include/pj/config_site.h
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
run: |
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Debug /p:Platform=win32
|
||||
shell: cmd
|
||||
- name: build swig
|
||||
run: |
|
||||
set /P SWIG_PATH=<swig_path.txt
|
||||
set PATH=%PATH%;%SWIG_PATH%
|
||||
dir pjlib/include/pj/config_site.h
|
||||
type pjlib/include/pj/config_site.h
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%JAVA_HOME%\include;%JAVA_HOME%\include\win32
|
||||
cd pjsip-apps/build
|
||||
msbuild swig_java_pjsua2.vcxproj /p:PlatformToolset=v142 /p:Configuration=Debug /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
|
||||
build-windows-with-openssl-unit-test-1:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get openssl
|
||||
run: Invoke-WebRequest -Uri "https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1e-dev.zip" -OutFile ".\openssl.zip"
|
||||
shell: powershell
|
||||
- name: expand openssl
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .\openssl_build\;
|
||||
cd openssl_build\openssl-1.1\x86
|
||||
Add-Content ..\..\..\openssl_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check openssl folder
|
||||
run: |
|
||||
set /P OPENSSL_DIR=<openssl_dir.txt
|
||||
dir %OPENSSL_DIR%\include
|
||||
dir %OPENSSL_DIR%\lib
|
||||
shell: cmd
|
||||
- name: config site
|
||||
run:
|
||||
cd pjlib/include/pj; cp config_site_test.h config_site.h; Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1"
|
||||
shell: powershell
|
||||
- name: check VsDevCmd.bat
|
||||
run: dir "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
working-directory: .
|
||||
run: |
|
||||
set /P OPENSSL_DIR=<openssl_dir.txt
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include
|
||||
set LIB=%LIB%;%OPENSSL_DIR%\lib
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
- name: unit tests
|
||||
run: |
|
||||
$env:OPENSSL_DIR = Get-Content .\openssl_dir.txt
|
||||
$env:PATH+=";$env:OPENSSL_DIR\bin"
|
||||
cd pjlib/bin; ./pjlib-test-i386-Win32-vc14-Release.exe
|
||||
cd ../../pjlib-util/bin; ./pjlib-util-test-i386-Win32-vc14-Release.exe
|
||||
cd ../../pjmedia/bin/; ./pjmedia-test-i386-Win32-vc14-Release.exe
|
||||
shell: powershell
|
||||
|
||||
build-windows-with-openssl-unit-test-2:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get openssl
|
||||
run: Invoke-WebRequest -Uri "https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1e-dev.zip" -OutFile ".\openssl.zip"
|
||||
shell: powershell
|
||||
- name: expand openssl
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .\openssl_build\; pwd
|
||||
cd openssl_build\openssl-1.1\x86
|
||||
Add-Content ..\..\..\openssl_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check openssl folder
|
||||
run: |
|
||||
set /P OPENSSL_DIR=<openssl_dir.txt
|
||||
dir "%OPENSSL_DIR%\include"
|
||||
dir "%OPENSSL_DIR%\lib"
|
||||
shell: cmd
|
||||
- name: config site
|
||||
run:
|
||||
cd pjlib/include/pj; cp config_site_test.h config_site.h; Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1"
|
||||
shell: powershell
|
||||
- name: check VsDevCmd.bat
|
||||
run: dir "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
working-directory: .
|
||||
run: |
|
||||
set /P OPENSSL_DIR=<openssl_dir.txt
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include
|
||||
set LIB=%LIB%;%OPENSSL_DIR%\lib
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
- name: unit tests
|
||||
run: |
|
||||
$env:OPENSSL_DIR = Get-Content .\openssl_dir.txt
|
||||
$env:PATH+=";$env:OPENSSL_DIR\bin"
|
||||
cd pjsip/bin; ./pjsip-test-i386-Win32-vc14-Release.exe
|
||||
shell: powershell
|
||||
|
||||
build-windows-gnu-tls:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get gnutls
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/gnutls/releases/download/gnutls_3_6_11/libgnutls_gnutls_3_6_11_msvc14.zip" -Outfile ".\libgnutls.zip"
|
||||
shell: powershell
|
||||
- name: expand gnutls
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libgnutls.zip -DestinationPath .\libgnutls_build\; pwd
|
||||
cd libgnutls_build
|
||||
Add-Content ..\libgnutls_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check gnutls folder
|
||||
run: |
|
||||
set /P LIBGNUTLS_DIR=<libgnutls_dir.txt
|
||||
dir "%LIBGNUTLS_DIR%\include"
|
||||
dir "%LIBGNUTLS_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: config site
|
||||
run: |
|
||||
echo "" > pjlib\include\pj\config_site.h
|
||||
Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1"
|
||||
Add-Content config_site.h "#define PJ_SSL_SOCK_IMP PJ_SSL_SOCK_IMP_GNUTLS"
|
||||
shell: powershell
|
||||
- name: check VsDevCmd.bat
|
||||
run: dir "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
working-directory: .
|
||||
run: |
|
||||
set /P LIBGNUTLS_DIR=<gnutls_dir.txt
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%LIBGNUTLS_DIR%\include
|
||||
set LIB=%LIB%;%LIBGNUTLS_DIR%\lib\x86
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
|
||||
build-windows-with-video-libvpx-unit-test-1:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get openssl
|
||||
run: Invoke-WebRequest -Uri "https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1e-dev.zip" -OutFile ".\openssl.zip"
|
||||
shell: powershell
|
||||
- name: expand openssl
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .\openssl_build\; pwd
|
||||
cd openssl_build\openssl-1.1\x86
|
||||
Add-Content ..\..\..\openssl_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check openssl folder
|
||||
run: |
|
||||
set /P OPENSSL_DIR=<openssl_dir.txt
|
||||
dir "%OPENSSL_DIR%\include"
|
||||
dir "%OPENSSL_DIR%\lib"
|
||||
shell: cmd
|
||||
- name: get libvpx
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/libvpx/releases/download/v1.8.2/libvpx_v1.8.2_msvc14.zip" -Outfile "libvpx.zip"
|
||||
shell: powershell
|
||||
- name: expand libvpx
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libvpx.zip -DestinationPath .\libvpx_build\; pwd
|
||||
cd libvpx_build
|
||||
Add-Content ..\libvpx_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check libvpx folder
|
||||
run: |
|
||||
set /P LIBVPX_DIR=<libvpx_dir.txt
|
||||
dir "%LIBVPX_DIR%\include"
|
||||
dir "%LIBVPX_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: get libsdl
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/SDL/releases/download/release-2.0.9/libsdl_release-2.0.9_msvc14.zip" -Outfile ".\libsdl.zip"
|
||||
shell: powershell
|
||||
- name: expand libsdl
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libsdl.zip -DestinationPath .\libsdl_build\; pwd
|
||||
cd libsdl_build
|
||||
Add-Content ..\libsdl_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check libsdl folder
|
||||
run: |
|
||||
set /P LIBSDL_DIR=<libsdl_dir.txt
|
||||
dir "%LIBSDL_DIR%\include\SDL"
|
||||
dir "%LIBSDL_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: config site
|
||||
run: |
|
||||
cd pjlib/include/pj; cp config_site_test.h config_site.h
|
||||
Add-Content config_site.h "#define PJ_HAS_SSL_SOCK 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_HAS_VIDEO 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_HAS_LIBYUV 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_SDL 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_HAS_VPX_CODEC 1"
|
||||
shell: powershell
|
||||
- name: check VsDevCmd.bat
|
||||
run: dir "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
working-directory: .
|
||||
run: |
|
||||
set /P OPENSSL_DIR=<openssl_dir.txt
|
||||
set /P LIBVPX_DIR=<libvpx_dir.txt
|
||||
set /P LIBSDL_DIR=<libsdl_dir.txt
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%OPENSSL_DIR%\include;%LIBVPX_DIR%\include;%LIBSDL_DIR%\include\SDL
|
||||
set LIB=%LIB%;%OPENSSL_DIR%\lib;%LIBVPX_DIR%\lib\x86;%LIBSDL_DIR%\lib\x86
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
||||
- name: unit tests
|
||||
run: |
|
||||
$env:OPENSSL_DIR = Get-Content .\openssl_dir.txt
|
||||
$env:LIBVPX_DIR = Get-Content .\libvpx_dir.txt
|
||||
$env:LIBSDL_DIR = Get-Content .\libsdl_dir.txt
|
||||
$env:PATH+=";$env:OPENSSL_DIR\bin;$env:LIBVPX_DIR\bin\x86;$env:LIBSDL_DIR\bin\x86;"
|
||||
cd pjlib/bin; ./pjlib-test-i386-Win32-vc14-Release.exe
|
||||
cd ../../pjlib-util/bin; ./pjlib-util-test-i386-Win32-vc14-Release.exe
|
||||
cd ../../pjmedia/bin/; ./pjmedia-test-i386-Win32-vc14-Release.exe
|
||||
shell: powershell
|
||||
|
||||
build-windows-video-ffmpeg:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: get ffmpeg
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/FFmpeg/releases/download/4.3.r96746/libffmpeg_4.3.r96746_msvc14_x86.zip" -Outfile "libffmpeg.zip"
|
||||
shell: powershell
|
||||
- name: expand ffmpeg
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libffmpeg.zip -DestinationPath .\libffmpeg_build\; pwd
|
||||
cd libffmpeg_build
|
||||
Add-Content ..\libffmpeg_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check ffmpeg folder
|
||||
run: |
|
||||
set /P LIBFFMPEG_DIR=<libffmpeg_dir.txt
|
||||
dir "%LIBFFMPEG_DIR%\include"
|
||||
dir "%LIBFFMPEG_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: get libx264
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/x264/releases/download/0.159.r2991/libx264_0.159.r2991_msvc14.zip" -Outfile ".\libx264.zip"
|
||||
shell: powershell
|
||||
- name: expand libx264
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libx264.zip -DestinationPath .\libx264_build\; pwd
|
||||
cd libx264_build
|
||||
Add-Content ..\libx264_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check libx264 folder
|
||||
run: |
|
||||
set /P LIBX264_DIR=<libx264_dir.txt
|
||||
dir "%LIBX264_DIR%\include"
|
||||
dir "%LIBX264_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: get libsdl
|
||||
run: Invoke-WebRequest -Uri "https://github.com/ShiftMediaProject/SDL/releases/download/release-2.0.9/libsdl_release-2.0.9_msvc14.zip" -Outfile ".\libsdl.zip"
|
||||
shell: powershell
|
||||
- name: expand libsdl
|
||||
run: |
|
||||
Expand-Archive -LiteralPath .\libsdl.zip -DestinationPath .\libsdl_build\; pwd
|
||||
cd libsdl_build
|
||||
Add-Content ..\libsdl_dir.txt $pwd.Path
|
||||
shell: powershell
|
||||
- name: check libsdl folder
|
||||
run: |
|
||||
set /P LIBSDL_DIR=<libsdl_dir.txt
|
||||
dir "%LIBSDL_DIR%\include\SDL"
|
||||
dir "%LIBSDL_DIR%\lib\x86"
|
||||
shell: cmd
|
||||
- name: config site
|
||||
run: |
|
||||
echo "" > pjlib\include\pj\config_site.h
|
||||
Add-Content config_site.h "#define PJMEDIA_HAS_VIDEO 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_HAS_FFMPEG 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_HAS_FFMPEG_VID_CODEC 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_FFMPEG 1"
|
||||
Add-Content config_site.h "#define PJMEDIA_VIDEO_DEV_HAS_SDL 1"
|
||||
shell: powershell
|
||||
- name: check VsDevCmd.bat
|
||||
run: dir "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
shell: cmd
|
||||
- name: MSBuild
|
||||
working-directory: .
|
||||
run: |
|
||||
set /P LIBFFMPEG_DIR=<libffmpeg_dir.txt
|
||||
set /P LIBX264_DIR=<libx264_dir.txt
|
||||
set /P LIBSDL_DIR=<libsdl_dir.txt
|
||||
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set INCLUDE=%INCLUDE%;%LIBFFMPEG_DIR%\include;%LIBX264_DIR%\include;%LIBSDL_DIR%\include\SDL
|
||||
set LIB=%LIB%;%LIBFFMPEG_DIR%\lib\x86;%LIBX264_DIR%\lib\x86;%LIBSDL_DIR%\lib\x86
|
||||
msbuild pjproject-vs14.sln /p:PlatformToolset=v142 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true
|
||||
shell: cmd
|
66
pjproject-2.11.1/.github/workflows/codeql-analysis.yml
vendored
Normal file
66
pjproject-2.11.1/.github/workflows/codeql-analysis.yml
vendored
Normal file
|
@ -0,0 +1,66 @@
|
|||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [master]
|
||||
schedule:
|
||||
- cron: '0 22 * * 2'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Override automatic language detection by changing the below list
|
||||
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
|
||||
language: ['cpp', 'python']
|
||||
# Learn more...
|
||||
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
fetch-depth: 2
|
||||
|
||||
# If this run was triggered by a pull request event, then checkout
|
||||
# the head of the pull request instead of the merge commit.
|
||||
- run: git checkout HEAD^2
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
# - name: Autobuild
|
||||
# uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
- run: |
|
||||
./configure --disable-libyuv --disable-libwebrtc --disable-speex-codec --disable-speex-aec
|
||||
make
|
||||
mv tests/pjsua/inc_cfg.py tests/pjsua/inc_cfg.txt
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
69
pjproject-2.11.1/.gitignore
vendored
Normal file
69
pjproject-2.11.1/.gitignore
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
pjlib/include/pj/config_site.h
|
||||
lib/
|
||||
bin/
|
||||
output/
|
||||
|
||||
# VS stuff
|
||||
*.ncb
|
||||
*.suo
|
||||
*.cache
|
||||
*.resw
|
||||
.vs/
|
||||
.vscode/
|
||||
**/build/**/*.vcproj.*.user
|
||||
**/build/**/*.vcxproj.*.user
|
||||
**/build/**/*.vcproj.user
|
||||
**/build/**/*.vcxproj.user
|
||||
**/Win32/Debug
|
||||
**/x64/Debug
|
||||
**/x86/Debug
|
||||
UpgradeLog*.htm
|
||||
# VS 2015 stuff
|
||||
*.pdb
|
||||
*.db
|
||||
*.opendb
|
||||
samples.log
|
||||
|
||||
# GNU stuff
|
||||
config.log
|
||||
config.status
|
||||
build.mak
|
||||
user.mak
|
||||
cc-auto.mak
|
||||
os-auto.mak
|
||||
m_auto.h
|
||||
os_auto.h
|
||||
config_auto.h
|
||||
sip_autoconf.h
|
||||
*.depend
|
||||
|
||||
# Apple stuff
|
||||
*.DS_Store
|
||||
autom4te.cache
|
||||
xcuserdata
|
||||
pjsip-apps/src/pjsua/ios*/lib*.a
|
||||
pjsip-apps/src/pjsua/ios/ipjsua.xcodeproj/project.xcworkspace/
|
||||
pjsip-apps/src/pjsua/ios/ipjsua.xcworkspace/xcshareddata
|
||||
pjsip-apps/src/pjsua/ios-swift/Libraries/
|
||||
|
||||
# SWIG Java/Android stuff
|
||||
pjsip-apps/src/swig/java/android/app/src/main/java/org/pjsip/pjsua2/*.java
|
||||
pjsip-apps/src/swig/java/android/app/src/main/java/org/pjsip/PjCamera*.java
|
||||
pjsip-apps/src/swig/java/android/app/src/main/jniLibs/
|
||||
|
||||
# SWIG CSharp/Xamarin stuff
|
||||
pjsip-apps/src/swig/csharp/pjsua2xamarin/
|
||||
|
||||
# SWIG Python stuff
|
||||
pjsip-apps/src/swig/python/build/
|
||||
pjsip-apps/src/swig/python/pjsua2.py
|
||||
pjsip-apps/src/swig/python/pjsua2_wrap.*
|
||||
|
||||
# unit tests files
|
||||
tests/pjsua/*.pyc
|
||||
tests/pjsua/scripts-*/*.pyc
|
||||
tests/pjsua/*.log
|
||||
tests/pjsua/wavs/tmp*.wav
|
||||
tests/pjsua/tools/cmp_wav
|
||||
tests/pjsua/tools/cmp_wav.dSYM
|
||||
tests/pjsua/logs
|
339
pjproject-2.11.1/COPYING
Normal file
339
pjproject-2.11.1/COPYING
Normal file
|
@ -0,0 +1,339 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
48
pjproject-2.11.1/INSTALL.txt
Normal file
48
pjproject-2.11.1/INSTALL.txt
Normal file
|
@ -0,0 +1,48 @@
|
|||
[Last update: 2007/02/18]
|
||||
|
||||
-= INTRO=-
|
||||
|
||||
This top level projects:
|
||||
|
||||
- pjlib: portability and basic framework library
|
||||
- pjlib-util: lexical scanner, XML, STUN, MD5, DNS, etc.
|
||||
- pjmedia: media framework and codecs
|
||||
- pjsip: SIP stacks (core, UA layer, SIMPLE, etc.)
|
||||
- pjsip-apps: SIP apps (pjsua, pjsip-perf)
|
||||
|
||||
|
||||
-= COMPILING =-
|
||||
|
||||
On Windows:
|
||||
- Visual Studio 6: open pjproject.dsw
|
||||
- Visual Studio 8/2005: open pjproject-vs8.sln
|
||||
- Embedded VisualC 4: open open pjsip-apps\build\wince-evc4\wince_demos.vcw
|
||||
- Build pjsua
|
||||
|
||||
With Makefile:
|
||||
- on top level dir (e.g. ~/pjproject)
|
||||
- ./configure && make dep && make clean && make
|
||||
|
||||
Binaries will be in pjsip-apps/bin.
|
||||
|
||||
|
||||
-= PYTHON MODULE =-
|
||||
|
||||
On Windows:
|
||||
- Visual Studio 6: open pjsip-apps\build\pjsip_apps.dsw
|
||||
- Build py_pjsua module
|
||||
|
||||
With GNU and Python:
|
||||
- cd pjsip-apps/src/py_pjsua
|
||||
- python setup.py install
|
||||
|
||||
One Python sample application is provided:
|
||||
pjsip-apps/src/py_pjsua/pjsua_app.py
|
||||
|
||||
|
||||
-= PORTING =-
|
||||
|
||||
- Just need to port pjlib.
|
||||
- PJLIB doc has detailed info how to do this.
|
||||
- Must pass pjlib-test!
|
||||
|
151
pjproject-2.11.1/Makefile
Normal file
151
pjproject-2.11.1/Makefile
Normal file
|
@ -0,0 +1,151 @@
|
|||
include build.mak
|
||||
include build/host-$(HOST_NAME).mak
|
||||
-include user.mak
|
||||
include version.mak
|
||||
|
||||
LIB_DIRS = pjlib/build pjlib-util/build pjnath/build third_party/build pjmedia/build pjsip/build
|
||||
DIRS = $(LIB_DIRS) pjsip-apps/build $(EXTRA_DIRS)
|
||||
|
||||
ifdef MINSIZE
|
||||
MAKE_FLAGS := MINSIZE=1
|
||||
endif
|
||||
|
||||
all clean dep depend print:
|
||||
for dir in $(DIRS); do \
|
||||
if $(MAKE) $(MAKE_FLAGS) -C $$dir $@; then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
distclean realclean:
|
||||
for dir in $(DIRS); do \
|
||||
if $(MAKE) $(MAKE_FLAGS) -C $$dir $@; then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
done
|
||||
$(HOST_RM) config.log
|
||||
$(HOST_RM) config.status
|
||||
|
||||
lib:
|
||||
for dir in $(LIB_DIRS); do \
|
||||
if $(MAKE) $(MAKE_FLAGS) -C $$dir lib; then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
done; \
|
||||
|
||||
|
||||
.PHONY: lib doc
|
||||
|
||||
doc:
|
||||
@if test \( ! "$(WWWDIR)" == "" \) -a \( ! -d $(WWWDIR)/pjlib/docs/html \) ; then \
|
||||
echo 'Directory "$(WWWDIR)" does not look like a valid pjsip web directory'; \
|
||||
exit 1; \
|
||||
fi
|
||||
for dir in $(DIRS); do \
|
||||
if $(MAKE) $(MAKE_FLAGS) -C $$dir $@; then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
LIBS = pjlib/lib/libpj-$(TARGET_NAME).a \
|
||||
pjlib-util/lib/libpjlib-util-$(TARGET_NAME).a \
|
||||
pjnath/lib/libpjnath-$(TARGET_NAME).a \
|
||||
pjmedia/lib/libpjmedia-$(TARGET_NAME).a \
|
||||
pjmedia/lib/libpjmedia-audiodev-$(TARGET_NAME).a \
|
||||
pjmedia/lib/libpjmedia-codec-$(TARGET_NAME).a \
|
||||
pjsip/lib/libpjsip-$(TARGET_NAME).a \
|
||||
pjsip/lib/libpjsip-ua-$(TARGET_NAME).a \
|
||||
pjsip/lib/libpjsip-simple-$(TARGET_NAME).a \
|
||||
pjsip/lib/libpjsua-$(TARGET_NAME).a
|
||||
BINS = pjsip-apps/bin/pjsua-$(TARGET_NAME)$(HOST_EXE)
|
||||
|
||||
size:
|
||||
@echo -n 'Date: '
|
||||
@date
|
||||
@echo
|
||||
@for lib in $(LIBS); do \
|
||||
echo "$$lib:"; \
|
||||
size -t $$lib | awk '{print $$1 "\t" $$2 "\t" $$3 "\t" $$6}'; \
|
||||
echo; \
|
||||
done
|
||||
@echo
|
||||
@for bin in $(BINS); do \
|
||||
echo "size $$bin:"; \
|
||||
size $$bin; \
|
||||
done
|
||||
|
||||
#dos2unix:
|
||||
# for f in `find . | egrep '(mak|h|c|S|s|Makefile)$$'`; do \
|
||||
# dos2unix "$$f" > dos2unix.tmp; \
|
||||
# cp dos2unix.tmp "$$f"; \
|
||||
# done
|
||||
# rm -f dos2unix.tmp
|
||||
|
||||
xhdrid:
|
||||
for f in `find . | egrep '\.(h|c|S|s|cpp|hpp)$$'`; do \
|
||||
echo Processing $$f...; \
|
||||
cat $$f | sed 's/.*\$$Author\$$/ */' > /tmp/id; \
|
||||
cp /tmp/id $$f; \
|
||||
done
|
||||
|
||||
selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test
|
||||
|
||||
pjlib-test: pjlib/bin/pjlib-test-$(TARGET_NAME)
|
||||
cd pjlib/build && ../bin/pjlib-test-$(TARGET_NAME)
|
||||
|
||||
pjlib-util-test: pjlib-util/bin/pjlib-util-test-$(TARGET_NAME)
|
||||
cd pjlib-util/build && ../bin/pjlib-util-test-$(TARGET_NAME)
|
||||
|
||||
pjnath-test: pjnath/bin/pjnath-test-$(TARGET_NAME)
|
||||
cd pjnath/build && ../bin/pjnath-test-$(TARGET_NAME)
|
||||
|
||||
pjmedia-test: pjmedia/bin/pjmedia-test-$(TARGET_NAME)
|
||||
cd pjmedia/build && ../bin/pjmedia-test-$(TARGET_NAME)
|
||||
|
||||
pjsip-test: pjsip/bin/pjsip-test-$(TARGET_NAME)
|
||||
cd pjsip/build && ../bin/pjsip-test-$(TARGET_NAME)
|
||||
|
||||
pjsua-test: cmp_wav
|
||||
cd tests/pjsua && python runall.py
|
||||
|
||||
cmp_wav:
|
||||
cd tests/pjsua/tools && make
|
||||
|
||||
install:
|
||||
mkdir -p $(DESTDIR)$(libdir)/
|
||||
cp -af $(APP_LIB_FILES) $(DESTDIR)$(libdir)/
|
||||
if [ "$(PJ_EXCLUDE_PJSUA2)x" = "x" ] ; then \
|
||||
cp -af $(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) $(DESTDIR)$(libdir)/; \
|
||||
fi
|
||||
mkdir -p $(DESTDIR)$(includedir)/
|
||||
for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
|
||||
cp -RLf $$d/include/* $(DESTDIR)$(includedir)/; \
|
||||
done
|
||||
mkdir -p $(DESTDIR)$(libdir)/pkgconfig
|
||||
sed -e "s!@PREFIX@!$(prefix)!" libpjproject.pc.in | \
|
||||
sed -e "s!@INCLUDEDIR@!$(includedir)!" | \
|
||||
sed -e "s!@LIBDIR@!$(libdir)!" | \
|
||||
sed -e "s/@PJ_VERSION@/$(PJ_VERSION)/" | \
|
||||
sed -e "s!@PJ_INSTALL_LDFLAGS@!$(PJ_INSTALL_LDFLAGS)!" | \
|
||||
sed -e "s!@PJ_INSTALL_LDFLAGS_PRIVATE@!$(PJ_INSTALL_LDFLAGS_PRIVATE)!" | \
|
||||
sed -e "s!@PJ_INSTALL_CFLAGS@!$(PJ_INSTALL_CFLAGS)!" > $(DESTDIR)$(libdir)/pkgconfig/libpjproject.pc
|
||||
|
||||
uninstall:
|
||||
$(RM) $(DESTDIR)$(libdir)/pkgconfig/libpjproject.pc
|
||||
rmdir $(DESTDIR)$(libdir)/pkgconfig 2> /dev/null || true
|
||||
for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
|
||||
for f in $$d/include/*; do \
|
||||
$(RM) -r "$(DESTDIR)$(includedir)/`basename $$f`"; \
|
||||
done; \
|
||||
done
|
||||
rmdir $(DESTDIR)$(includedir) 2> /dev/null || true
|
||||
$(RM) $(addprefix $(DESTDIR)$(libdir)/,$(notdir $(APP_LIBXX_FILES)))
|
||||
rmdir $(DESTDIR)$(libdir) 2> /dev/null || true
|
87
pjproject-2.11.1/README-RTEMS
Normal file
87
pjproject-2.11.1/README-RTEMS
Normal file
|
@ -0,0 +1,87 @@
|
|||
|
||||
|
||||
|
||||
Build Instructions for PJLIB/PJMEDIA/PJSIP RTEMS Port
|
||||
|
||||
|
||||
|
||||
The RTEMS port uses the POSIX abstraction layer at the moment, and has been
|
||||
tested with RTEMS 4.6 on i386 target.
|
||||
|
||||
|
||||
Building RTEMS
|
||||
---------------
|
||||
I use RTEMS 4.6 on a cygwin host with i386/pc386 as target, but I think it
|
||||
should work with different RTEMS versions/hosts/targets.
|
||||
|
||||
RTEMS was built with the following commands:
|
||||
|
||||
$ /opt/src/rtems-4.6.6/configure --enable-cxx --enable-posix --enable-networking --enable-rdbg --enable-tests --enable-rtemsbsp=pc386 --target=i386-rtems
|
||||
$ make
|
||||
$ make install
|
||||
|
||||
|
||||
Supported Targets
|
||||
-----------------
|
||||
At the moment, pjlib supports i386 and mpc860 CPU target. For other targets,
|
||||
you would need to create/tweak the appropriate "m-xxx.mak" in "build" directory
|
||||
and the corresponding "m_xxx.h" header file in "pj/compat" directory.
|
||||
|
||||
Please refer to pjlib porting guide about how to port PJLIB to new CPU target.
|
||||
|
||||
|
||||
Building PJLIB/PJMEDIA/PJSIP
|
||||
----------------------------
|
||||
Use the following steps to build the libraries:
|
||||
|
||||
|
||||
1. Set RTEMS_LIBRARY_PATH environment variable to point to your BSP directory
|
||||
(which is <RTEMS INSTALLATION POINT>/<BOARD SUPPORT PACKAGE>).
|
||||
|
||||
For example (with sh):
|
||||
|
||||
$ export RTEMS_LIBRARY_PATH=/opt/rtems-4.6/i386-rtems/pc386
|
||||
|
||||
|
||||
2. Unfortunately pjproject's configure script is unable to create "build.mak"
|
||||
for cross compilation (but this may change in the future), so we need to
|
||||
create "build.mak" manually.
|
||||
|
||||
The file "README-configure" has some info about the variables in "build.mak".
|
||||
|
||||
For example, the "build.mak" for i386 target:
|
||||
|
||||
export MACHINE_NAME := i386
|
||||
export OS_NAME := rtems
|
||||
export HOST_NAME := mingw
|
||||
export CC_NAME := gcc
|
||||
export TARGET_NAME := i386-rtems
|
||||
export CROSS_COMPILE := i386-rtems-
|
||||
|
||||
|
||||
3. Put additional CFLAGS or LDFLAGS that are specific to your target in
|
||||
"user.mak".
|
||||
|
||||
For example, my "user.mak" looks like this:
|
||||
|
||||
export CFLAGS +=
|
||||
export LDFLAGS += -Wl,-Ttext,0x00100000 -Wl,--defsym -Wl,HeapSize=0x400000
|
||||
|
||||
|
||||
4. Build the libraries:
|
||||
|
||||
$ make dep && make distclean && make
|
||||
|
||||
|
||||
5. That should be it. The libraries should be in "lib" directory and
|
||||
applications in "bin" directory.
|
||||
|
||||
|
||||
|
||||
Acknowledgements
|
||||
----------------
|
||||
Many thanks for Phil Torre <ptorre at zetron dot com>, who did most of the
|
||||
initial porting and testing with pjlib etc. All credits go to him.
|
||||
|
||||
|
||||
|
968
pjproject-2.11.1/README.txt
Normal file
968
pjproject-2.11.1/README.txt
Normal file
|
@ -0,0 +1,968 @@
|
|||
Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation, either version 2 of the License, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
|
||||
Getting Started: Building and Using PJSIP and PJMEDIA
|
||||
|
||||
[Last Update: $Date: 2007-02-02 20:42:44 +0000 (Fri, 02 Feb 2007) $]
|
||||
|
||||
Print Friendly Page
|
||||
_________________________________________________________________
|
||||
|
||||
This article describes how to download, customize, build, and use the open
|
||||
source PJSIP and PJMEDIA SIP and media stack. The online (and HTML) version
|
||||
of this file can be downloaded from http://www.pjsip.org/using.htm
|
||||
|
||||
|
||||
Quick Info
|
||||
_________________________________________________________________
|
||||
|
||||
Building with GNU tools (Linux, *BSD, MacOS X, mingw, etc.)
|
||||
Generally these should be all that are needed to build the libraries,
|
||||
applications, and samples:
|
||||
|
||||
$ ./configure
|
||||
$ make dep && make clean && make
|
||||
|
||||
Building Win32 Target with Microsoft Visual Studio
|
||||
Generally we can just do these steps:
|
||||
|
||||
1. Visual Studio 6: open pjproject.dsw workspace,
|
||||
2. Visual Studio 2005: open pjproject-vs8.sln solution,
|
||||
3. Create an empty pjlib/include/pj/config_site.h, and
|
||||
4. build the pjsua application.
|
||||
|
||||
Building for Windows Mobile
|
||||
Generally these are all that are needed:
|
||||
|
||||
1. Open pjsip-apps/build/wince-evc4/wince_demos.vcw EVC4 workspace,
|
||||
2. Create an empty pjlib/include/pj/config_site.h, and
|
||||
3. build the pjsua_wince application.
|
||||
|
||||
Invoking Older Build System (e.g. for RTEMS)
|
||||
Generally these should be all that are needed to build the libraries,
|
||||
applications, and samples:
|
||||
|
||||
$ ./configure-legacy
|
||||
$ make dep && make clean && make
|
||||
|
||||
Locating Output Binaries/Libraries
|
||||
Libraries will be put in lib directory, and binaries will be put in
|
||||
bin directory, under each projects.
|
||||
|
||||
Running the Applications
|
||||
After successful build, you can try running pjsua application on
|
||||
pjsip-apps/bin directory. PJSUA manual can be found in
|
||||
http://www.pjsip.org/pjsua.htm page.
|
||||
|
||||
|
||||
Table of Contents:
|
||||
_________________________________________________________________
|
||||
|
||||
1. Getting the Source Distribution
|
||||
|
||||
1.1 Getting the Release tarball
|
||||
|
||||
1.2 Getting from Subversion trunk
|
||||
|
||||
1.3 Source Directories Layout
|
||||
|
||||
2. Build Preparation
|
||||
|
||||
2.1 config_site.h file
|
||||
|
||||
2.2 Disk Space Requirements
|
||||
|
||||
3. Building Linux, *nix, *BSD, and MacOS X Targets with GNU Build
|
||||
Systems
|
||||
|
||||
3.1 Supported Targets
|
||||
|
||||
3.2 Requirements
|
||||
|
||||
3.3 Running configure
|
||||
|
||||
3.4 Running make
|
||||
|
||||
3.5 Cross Compilation
|
||||
|
||||
3.6 Build Customizations
|
||||
|
||||
4. Building for Windows Targets with Microsoft Visual Studio
|
||||
|
||||
4.1 Requirements
|
||||
|
||||
4.2 Building the Projects
|
||||
|
||||
4.3 Debugging the Sample Application
|
||||
|
||||
5. Building for Windows Mobile Targets (Windows CE/WinCE/PDA/SmartPhone)
|
||||
|
||||
5.1 Requirements
|
||||
|
||||
5.2 Building the Projects
|
||||
|
||||
6. Older PJLIB Build System for Non-Autoconf Targets (e.g. RTEMS)
|
||||
|
||||
6.1 Supported Targets
|
||||
|
||||
6.2 Invoking the Build System
|
||||
|
||||
7. Running the Applications
|
||||
|
||||
7.1 pjsua
|
||||
|
||||
7.2 Sample Applications
|
||||
|
||||
7.3 pjlib-test
|
||||
|
||||
7.4 pjsip-test
|
||||
|
||||
8. Using PJPROJECT with Applications
|
||||
|
||||
|
||||
Appendix I: Common Problems/Frequently Asked Question (FAQ)
|
||||
|
||||
I.1 fatal error C1083: Cannot open include file: 'pj/config_site.h':
|
||||
No such file or directory
|
||||
|
||||
|
||||
1. Getting the Source Code Distribution
|
||||
_________________________________________________________________
|
||||
|
||||
All libraries (PJLIB, PJLIB-UTIL, PJSIP, PJMEDIA, and PJMEDIA-CODEC) are
|
||||
currently distributed under a single source tree, collectively named as
|
||||
PJPROJECT or just PJ libraries. These libraries can be obtained by either
|
||||
downloading the release tarball or getting them from the Subversion trunk.
|
||||
|
||||
|
||||
1.1 Getting the Release tarball
|
||||
_________________________________________________________________
|
||||
|
||||
Getting the released tarball is a convenient way to obtain stable version of
|
||||
PJPROJECT. The tarball may not contain the latest features or bug-fixes, but
|
||||
normally it is considered more stable as each will be tested more rigorously
|
||||
before released.
|
||||
|
||||
The latest released tarball can be downloaded from the
|
||||
http://www.pjsip.org/download.htm.
|
||||
|
||||
|
||||
1.2 Getting from Subversion trunk
|
||||
_________________________________________________________________
|
||||
|
||||
PJPROJECT Subversion repository will always contain the latest/most
|
||||
up-to-date version of the sources. Normally the Subversion repository is
|
||||
always kept in a "good" state. However, there's always a chance that things
|
||||
break and the tree doesn't build correctly (particularly for the
|
||||
"not-so-popular" targets), so please consult the mailing list should there
|
||||
be any problems.
|
||||
|
||||
Using Subversion also has benefits of keeping the local copy of the source
|
||||
up to date with the main PJ source tree and to easily track the changes made
|
||||
to the local copy, if any.
|
||||
|
||||
|
||||
What is Subversion
|
||||
|
||||
Subversion (SVN) is Open Source version control system similar to CVS.
|
||||
Subversion homepage is in http://subversion.tigris.org/
|
||||
|
||||
|
||||
Getting Subversion Client
|
||||
|
||||
A Subversion (SVN) client is needed to download the PJ source files from
|
||||
pjsip.org SVN tree. SVN client binaries can be downloaded from
|
||||
http://subversion.tigris.org/, and the program should be available for
|
||||
Windows, Linux, MacOS X, and many more platforms.
|
||||
|
||||
|
||||
Getting the Source for The First Time
|
||||
|
||||
Once Subversion client is installed, we can use these commands to initially
|
||||
retrieve the latest sources from the Subversion trunk:
|
||||
|
||||
|
||||
|
||||
$ svn co http://svn.pjproject.net/repos/pjproject/trunk pjproject
|
||||
$ cd pjproject
|
||||
|
||||
|
||||
Keeping The Local Copy Up-to-Date
|
||||
|
||||
Once sources have been downloaded, we can keep the local copy up to date by
|
||||
periodically synchronizing the local source with the latest revision from
|
||||
the PJ's Subversion trunk. The mailing list provides best source of
|
||||
information about the availability of new updates in the trunk.
|
||||
|
||||
To update the local copy with the latest changes in the main PJ's
|
||||
repository:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ svn update
|
||||
|
||||
|
||||
Tracking Local and Remote Changes
|
||||
|
||||
To see what files have been changed locally:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ svn status
|
||||
|
||||
The above command only compares local file against the original local copy,
|
||||
so it doesn't require Internet connection while performing the check.
|
||||
|
||||
To see both what files have been changed locally and what files have been
|
||||
updated in the PJ's Subversion repository:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ svn status -u
|
||||
|
||||
Note that this command requires active Internet connection to query the
|
||||
status of PJPROJECT's source repository.
|
||||
|
||||
|
||||
1.3 Source Directories Layout
|
||||
_________________________________________________________________
|
||||
|
||||
Top-Level Directory Layout
|
||||
|
||||
The top-level directories (denoted as $TOP here) in the source distribution
|
||||
contains the following sub-directories:
|
||||
|
||||
$TOP/build
|
||||
Contains makefiles that are common for all projects.
|
||||
|
||||
$TOP/pjlib
|
||||
Contains header and source files of PJLIB. PJLIB is the base
|
||||
portability and framework library which is used by all other
|
||||
libraries
|
||||
|
||||
$TOP/pjlib-util
|
||||
Contains PJLIB-UTIL header and source files. PJLIB-UTIL is an
|
||||
auxiliary library that contains utility functions such as scanner,
|
||||
XML, STUN, MD5 algorithm, getopt() implementation, etc.
|
||||
|
||||
$TOP/pjmedia
|
||||
Contains PJMEDIA and PJMEDIA-CODEC header and source files. The
|
||||
sources of various codecs (such as GSM, Speex, and iLBC) can be found
|
||||
under this directory.
|
||||
|
||||
$TOP/pjsip
|
||||
Contains PJSIP header and source files.
|
||||
|
||||
$TOP/pjsip-apps
|
||||
Contains source code for PJSUA and various sample applications.
|
||||
|
||||
|
||||
Individual Directory Inside Each Project
|
||||
|
||||
Each library directory further contains these sub-directories:
|
||||
|
||||
bin
|
||||
Contains binaries produced by the build process.
|
||||
|
||||
build
|
||||
Contains build scripts/makefiles, project files, project workspace,
|
||||
etc. to build the project. In particular, it contains one Makefile
|
||||
file to build the project with GNU build systems, and a *.dsw
|
||||
workspace file to build the library with Microsoft Visual Studio 6 or
|
||||
later.
|
||||
|
||||
build/output
|
||||
The build/output directory contains the object files and other files
|
||||
generated by the build process. To support building multiple targets
|
||||
with a single source tree, each build target will occupy a different
|
||||
subdirectory under this directory.
|
||||
|
||||
build/wince-evc4
|
||||
This directory contains the project/workspace files to build Windows
|
||||
CE/WinCE version of the project using Microsoft Embedded Visual C++
|
||||
4.
|
||||
|
||||
build/wince-evc4/output
|
||||
This directory contains the library, executable, and object files
|
||||
generated by Windows Mobile build process.
|
||||
|
||||
docs
|
||||
Contains Doxygen configuration file (doxygen.cfg) to generate online
|
||||
documentation from the source files. The output documentation will be
|
||||
put in this directory as well (for example, docs/html directory for
|
||||
the HTML files).
|
||||
|
||||
(to generate Doxygen documentation from the source tree, just run
|
||||
"doxygen docs/doxygen.cfg" in the individual project directory. The
|
||||
generated files will reside in docs directory).
|
||||
|
||||
include
|
||||
Contains the header files for the project.
|
||||
|
||||
lib
|
||||
Contains libraries produced by the build process.
|
||||
|
||||
src
|
||||
Contains the source files of the project.
|
||||
|
||||
|
||||
2. Build Preparation
|
||||
_________________________________________________________________
|
||||
|
||||
2.1 Create config_site.h file
|
||||
_________________________________________________________________
|
||||
|
||||
Before source files can be built, the pjlib/include/pj/config_site.h file
|
||||
must be created (it can just be an empty file).
|
||||
|
||||
Note:
|
||||
When the Makefile based build system is used, this process is taken
|
||||
care by the Makefiles. But when non-Makefile based build system (such
|
||||
as Visual Studio) is used, the config_site.h file must be created
|
||||
manually.
|
||||
|
||||
|
||||
What is config_site.h File
|
||||
|
||||
The pjlib/include/pj/config_site.h contains local customizations to the
|
||||
libraries.
|
||||
|
||||
All customizations should be put in this file instead of modifying PJ's
|
||||
files, because if PJ's files get modified, then those modified files will
|
||||
not be updated the next time the source is synchronized. Or in other case,
|
||||
the local modification may be overwritten with the fresh copy from the SVN.
|
||||
|
||||
Putting the local customization to the config_site.h solves this problem,
|
||||
because this file is not included in the version control, so it will never
|
||||
be overwritten by "svn update" command.
|
||||
|
||||
Please find list of configuration macros that can be overriden from these
|
||||
files:
|
||||
* PJLIB Configuration (the pjlib/config.h file)
|
||||
* PJLIB-UTIL Configuration (the pjlib-util/config.h file)
|
||||
* PJMEDIA Configuration (the pjmedia/config.h file)
|
||||
* PJSIP Configuration (the pjsip/sip_config.h file)
|
||||
|
||||
A sample config_site.h file is also available in
|
||||
pjlib/include/config_site_sample.h.
|
||||
|
||||
|
||||
Creating config_site.h file
|
||||
|
||||
The simplest way is just to create an empty file, to use whetever default
|
||||
values set by the libraries.
|
||||
|
||||
Another way to create the config_site.h file is to write something like the
|
||||
following:
|
||||
|
||||
|
||||
// Uncomment to get minimum footprint (suitable for 1-2 concurrent calls
|
||||
only)
|
||||
//#define PJ_CONFIG_MINIMAL_SIZE
|
||||
// Uncomment to get maximum performance
|
||||
//#define PJ_CONFIG_MAXIMUM_SPEED
|
||||
#include <pj/config_site_sample.h>
|
||||
|
||||
|
||||
2.2 Disk Space Requirements
|
||||
_________________________________________________________________
|
||||
|
||||
The building process needs:
|
||||
about 50-60 MB of disk space to store the uncompressed source files, and
|
||||
* about 30-50 MB of additional space for building each target
|
||||
|
||||
(Visual Studio Debug and Release are considered as separate targets)
|
||||
|
||||
|
||||
3. Building Linux, *nix, *BSD, and MacOS X Targets with GNU Build Systems
|
||||
_________________________________________________________________
|
||||
|
||||
3.1 Supported Targets
|
||||
_________________________________________________________________
|
||||
|
||||
The new, autoconf based GNU build system can be used to build the
|
||||
libraries/applications for the following targets:
|
||||
* Linux/uC-Linux (i386, Opteron, Itanium, MIPS, PowerPC, etc.),
|
||||
* MacOS X (PowerPC),
|
||||
* mingw (i386),
|
||||
* FreeBSD and maybe other BSD's (i386, Opteron, etc.),
|
||||
* RTEMS with cross compilation (ARM, powerpc),
|
||||
* Embox RTOS (i386, ARM including STM32),
|
||||
* etc.
|
||||
|
||||
|
||||
3.2 Requirements
|
||||
_________________________________________________________________
|
||||
|
||||
In order to use PJ's GNU build system, these typical GNU tools are needed:
|
||||
* GNU make (other make will not work),
|
||||
* GNU binutils for the target, and
|
||||
* GNU gcc for the target.
|
||||
* OpenSSL header files/libraries (optional) if TLS support is wanted.
|
||||
|
||||
In addition, the appropriate "SDK" must be installed for the particular
|
||||
target (this could just be a libc and the appropriate system abstraction
|
||||
library such as Posix).
|
||||
|
||||
The build system is known to work on the following hosts:
|
||||
* Linux, many types of distributions.
|
||||
* MacOS X 10.2
|
||||
* mingw (Win2K, XP)
|
||||
* FreeBSD (must use gmake instead of make)
|
||||
|
||||
Building Win32 applications with Cygwin is currently not supported by the
|
||||
autoconf script (there is some Windows header conflicts), but one can still
|
||||
use the old configure script by calling ./configure-legacy. More over,
|
||||
cross-compilations might also work with Cygwin.
|
||||
|
||||
|
||||
3.3 Running configure
|
||||
_________________________________________________________________
|
||||
|
||||
Using Default Settings
|
||||
|
||||
Run "./configure" without any options to let the script detect the
|
||||
appropriate settings for the host:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ ./configure
|
||||
...
|
||||
|
||||
Notes:
|
||||
The default settings build the libraries in "debug" mode
|
||||
(active assert()), with default CFLAGS set to "-O2". To change
|
||||
the default CFLAGS, we can use the usual "./configure CFLAGS='-g'"
|
||||
construct. To build in "release" mode, and deactivate assert(),
|
||||
we can use "./configure CFLAGS='-DNDEBUG'".
|
||||
|
||||
Features Customization
|
||||
|
||||
With the new autoconf based build system, most configuration/customization
|
||||
can be specified as configure arguments. The list of customizable features
|
||||
can be viewed by running "./configure --help" command:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ ./configure --help
|
||||
...
|
||||
Optional Features:
|
||||
--enable-epoll Use epoll on Linux instead of select
|
||||
--disable-floating-point Disable floating point where possible
|
||||
--disable-sound Exclude sound (i.e. use null sound)
|
||||
--disable-small-filter Exclude small filter in resampling
|
||||
--disable-large-filter Exclude large filter in resampling
|
||||
--disable-g711-plc Exclude G.711 Annex A PLC
|
||||
--disable-speex-aec Exclude Speex Acoustic Echo Canceller/AEC
|
||||
--disable-g711-codec Exclude G.711 codecs from the build
|
||||
--disable-l16-codec Exclude Linear/L16 codec family from the build
|
||||
--disable-gsm-codec Exclude GSM codec in the build
|
||||
--disable-speex-codec Exclude Speex codecs in the build
|
||||
--disable-ilbc-codec Exclude iLBC codec in the build
|
||||
--disable-tls Force excluding TLS support (default is autodetected based on
|
||||
OpenSSL availability)
|
||||
...
|
||||
|
||||
Configuring Debug Version and Other Customizations
|
||||
|
||||
The configure script accepts standard customization, which details can be
|
||||
obtained by executing ./configure --help.
|
||||
|
||||
Below is an example of specifying CFLAGS in configure:
|
||||
|
||||
|
||||
|
||||
$ ./configure CFLAGS="-O3 -DNDEBUG -msoft-float -fno-builtin"
|
||||
...
|
||||
|
||||
Configuring TLS Support
|
||||
|
||||
By default, TLS support is configured based on the availability of OpenSSL
|
||||
header files and libraries. If OpenSSL is available at the default include
|
||||
and library path locations, TLS will be enabled by the configure script.
|
||||
|
||||
You can explicitly disable TLS support by giving the configure script
|
||||
--disable-tls option.
|
||||
|
||||
|
||||
3.4 Cross Compilation
|
||||
_________________________________________________________________
|
||||
|
||||
Cross compilation should be supported, using the usual autoconf syntax:
|
||||
|
||||
|
||||
|
||||
$ ./configure --host=arm-elf-linux
|
||||
...
|
||||
|
||||
Since cross-compilation is not tested as often as the "normal" build, please
|
||||
watch for the ./configure output for incorrect settings (well ideally this
|
||||
should be done for normal build too).
|
||||
|
||||
Please refer to Porting Guide for further information about porting PJ
|
||||
software.
|
||||
|
||||
|
||||
3.5 Running make
|
||||
_________________________________________________________________
|
||||
|
||||
Once the configure script completes successfully, start the build process by
|
||||
invoking these commands:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ make dep
|
||||
$ make
|
||||
|
||||
Note:
|
||||
gmake may need to be specified instead of make for some hosts, to
|
||||
invoke GNU make instead of the native make.
|
||||
|
||||
|
||||
Description of all make targets supported by the Makefile's:
|
||||
|
||||
all
|
||||
The default (or first) target to build the libraries/binaries.
|
||||
|
||||
dep, depend
|
||||
Build dependencies rule from the source files.
|
||||
|
||||
clean
|
||||
Clean the object files for current target, but keep the output
|
||||
library/binary files intact.
|
||||
|
||||
distclean, realclean
|
||||
Remove all generated files (object, libraries, binaries, and
|
||||
dependency files) for current target.
|
||||
|
||||
|
||||
Note:
|
||||
make can be invoked either in the top-level PJ directory or in build
|
||||
directory under each project to build only the particular project.
|
||||
|
||||
|
||||
3.6 Build Customizations
|
||||
_________________________________________________________________
|
||||
|
||||
Build features can be customized by specifying the options when running
|
||||
./configure as described in Running Configure above.
|
||||
|
||||
In addition, additional CFLAGS and LDFLAGS options can be put in user.mak
|
||||
file in PJ root directory (this file may need to be created if it doesn't
|
||||
exist). Below is a sample of user.mak file contents:
|
||||
|
||||
|
||||
|
||||
export CFLAGS += -msoft-float -fno-builtin
|
||||
export LDFLAGS +=
|
||||
|
||||
|
||||
4. Building for Windows Targets with Microsoft Visual Studio
|
||||
_________________________________________________________________
|
||||
|
||||
4.1 Requirements
|
||||
_________________________________________________________________
|
||||
|
||||
The Microsoft Visual Studio based project files can be used with one of the
|
||||
following:
|
||||
|
||||
* Microsoft Visual Studio 6,
|
||||
* Microsoft Visual Studio .NET 2002,
|
||||
* Microsoft Visual Studio .NET 2003,
|
||||
* Microsoft Visual C++ 2005 (including Express edition),
|
||||
|
||||
In addition, the following SDK's are needed:
|
||||
* Platform SDK, if you're using Visual Studio 2005 Express (tested with
|
||||
Platform SDK for Windows Server 2003 SP1),
|
||||
* DirectX SDK (tested with DirectX version 8 and 9),
|
||||
* OpenSSL development kit would be needed if TLS support is wanted, or
|
||||
otherwise this is optional.
|
||||
|
||||
For the host, the following are required:
|
||||
* Windows NT, 2000, XP, 2003, or later ,
|
||||
* Windows 95/98 should work too, but this has not been tested,
|
||||
* Sufficient amount of RAM for the build process (at least 256MB).
|
||||
|
||||
|
||||
Enabling TLS Support with OpenSSL
|
||||
|
||||
If TLS support is wanted, then OpenSSL SDK must be installed in the
|
||||
development host.
|
||||
|
||||
To install OpenSSL SDK from the Win32 binary distribution:
|
||||
1. Install OpenSSL SDK to any folder (e.g. C:\OpenSSL)
|
||||
2. Add OpenSSL DLL location to the system PATH.
|
||||
3. Add OpenSSL include path to Visual Studio includes search directory.
|
||||
Make sure that OpenSSL header files can be accessed from the program
|
||||
with #include <openssl/ssl.h> construct.
|
||||
4. Add OpenSSL library path to Visual Studio library search directory. Make
|
||||
sure the following libraries are accessible:
|
||||
+ For Debug build: libeay32MTd and ssleay32MTd.
|
||||
+ For Release build: libeay32MT and ssleay32MT.
|
||||
|
||||
Then to enable TLS transport support in PJSIP, just add
|
||||
|
||||
#define PJSIP_HAS_TLS_TRANSPORT 1
|
||||
|
||||
in your pj/config_site.h. When this macro is defined, OpenSSL libraries will
|
||||
be automatically linked to the application via the #pragma construct in
|
||||
sip_transport_tls_ossl.c file.
|
||||
|
||||
|
||||
4.2 Building the Projects
|
||||
_________________________________________________________________
|
||||
|
||||
Follow the steps below to build the libraries/application using Visual
|
||||
Studio:
|
||||
1. For Visual Studio 6: open pjproject.dsw workspace file.
|
||||
2. For Visual Studio 8 (VS 2005): open pjproject-vs8.sln solution file.
|
||||
3. Set pjsua as Active Project.
|
||||
4. Select Debug or Release build as appropriate.
|
||||
5. Build the project. This will build pjsua application and all libraries
|
||||
needed by pjsua.
|
||||
6. After successful build, the pjsua application will be placed in
|
||||
pjsip-apps/bin directory, and the libraries in lib directory under each
|
||||
projects.
|
||||
|
||||
To build the samples:
|
||||
1. (Still using the same workspace)
|
||||
2. Set samples project as Active Project
|
||||
3. Select Debug or Release build as appropriate.
|
||||
4. Build the project. This will build all sample applications and all
|
||||
libraries needed.
|
||||
5. After successful build, the sample applications will be placed in
|
||||
pjsip-apps/bin/samples directory, and the libraries in lib directory
|
||||
under each projects.
|
||||
|
||||
4.3 Debugging the Sample Application
|
||||
_________________________________________________________________
|
||||
|
||||
The sample applications are build using Samples.mak makefile, therefore it
|
||||
is difficult to setup debugging session in Visual Studio for these
|
||||
applications. To solve this issue, the pjsip_apps workspace contain one
|
||||
project called sample_debug which can be used to debug the sample
|
||||
application.
|
||||
|
||||
To setup debugging using sample_debug project:
|
||||
1. (Still using pjsip_apps workspace)
|
||||
2. Set sample_debug project as Active Project
|
||||
3. Edit debug.c file inside this project.
|
||||
4. Modify the #include line to include the particular sample application to
|
||||
debug
|
||||
5. Select Debug build.
|
||||
6. Build and debug the project.
|
||||
|
||||
|
||||
5. Building for Windows Mobile Targets (Windows CE/WinCE/PDA/SmartPhone)
|
||||
_________________________________________________________________
|
||||
|
||||
PJ supports building SIP and media stacks and applications for Windows
|
||||
Mobile targets. A very simple WinCE SIP user agent (with media) application
|
||||
is provided just as proof of concept that the port works.
|
||||
|
||||
5.1 Requirements
|
||||
_________________________________________________________________
|
||||
|
||||
One of the following development tools is needed to build SIP and media
|
||||
components for Windows Mobile:
|
||||
* Microsoft Embedded Visual C++ 4 with appropriate SDKs, or
|
||||
* Microsoft Visual Studio 2005 for Windows Mobile with appropriate SDKs.
|
||||
|
||||
Note that VS2005 is not directly supported (as I don't have the tools), but
|
||||
it is reported to work (I assumed that VS2005 for Windows Mobile can import
|
||||
EVC4 workspace file).
|
||||
|
||||
5.2 Building the Projects
|
||||
_________________________________________________________________
|
||||
|
||||
The Windows Mobile port is included in the main source distribution. Please
|
||||
follow the following steps to build the WinCE libraries and sample
|
||||
application:
|
||||
1. Open pjsip-apps/build/wince-evc4/wince_demos.vcw workspace file. If
|
||||
later version of EVC4 is being used, this may cause the workspace file
|
||||
to be converted to the appropriate format.
|
||||
2. Select pjsua_wince project as the Active Project.
|
||||
3. Select the appropriate SDK (for example Pocket PC 2003 SDK or SmartPhone
|
||||
2003 SDK)
|
||||
4. Select the appropriate configuration (for example, Win32 (WCE Emulator
|
||||
Debug) to debug the program in emulator, or other configurations such as
|
||||
ARMV4, MIPS, SH3, SH4, or whatever suitable for the device)
|
||||
5. Select the appropriate device (Emulator or the actual Device).
|
||||
6. Build the project. This will build the sample WinCE application and all
|
||||
libraries (SIP, Media, etc.) needed by this application.
|
||||
|
||||
Notes
|
||||
|
||||
+ If the config_site.h includes config_site_sample.h file, then
|
||||
there are certain configuration in config_site_sample.h that get
|
||||
activated for Windows CE targets. Please make sure that these
|
||||
configurations are suitable for the application.
|
||||
+ The libraries, binaries and object files produced by the build
|
||||
process are located under build/wince-evc4/output directory of each
|
||||
projects.
|
||||
|
||||
|
||||
6. Older PJLIB Build System for Non-Autoconf Targets (e.g. RTEMS)
|
||||
_________________________________________________________________
|
||||
|
||||
The old PJLIB build system can still be used for building PJ libraries, for
|
||||
example for RTEMS target. Please see the Porting PJLIB page in PJLIB
|
||||
Reference documentation for information on how to support new target using
|
||||
this build system.
|
||||
|
||||
6.1 Supported Targets
|
||||
_________________________________________________________________
|
||||
|
||||
The older build system supports building PJ libraries for the following
|
||||
operating systems:
|
||||
* RTEMS
|
||||
* Linux
|
||||
* MacOS X
|
||||
* Cygwin and Mingw
|
||||
|
||||
And it supports the following target architectures:
|
||||
* i386, x86_64, itanium
|
||||
* ARM
|
||||
* mips
|
||||
* powerpc
|
||||
* mpc860
|
||||
* etc.
|
||||
|
||||
For other targets, specific files need to be added to the build system,
|
||||
please see the Porting PJLIB page in PJLIB Reference documentation for
|
||||
details.
|
||||
|
||||
6.2 Invoking the Build System
|
||||
_________________________________________________________________
|
||||
|
||||
To invoke the older build system, run the following:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ ./configure-legacy
|
||||
$ make dep && make clean && make
|
||||
|
||||
|
||||
|
||||
7. Running the Applications
|
||||
_________________________________________________________________
|
||||
|
||||
Upon successful build, the output libraries (PJLIB, PJLIB-UTIL, PJMEDIA,
|
||||
PJSIP, etc.) are put under ./lib sub-directory under each project directory.
|
||||
In addition, some applications may also be built, and such applications will
|
||||
be put in ./bin sub-directory under each project directory.
|
||||
|
||||
|
||||
7.1 pjsua
|
||||
_________________________________________________________________
|
||||
|
||||
pjsua is the reference implementation for both PJSIP and PJMEDIA stack, and
|
||||
is the main target of the build system. Upon successful build, pjsua
|
||||
application will be put in pjsip-apps/bin directory.
|
||||
|
||||
pjsua manual can be found in pjsua Manual Page.
|
||||
|
||||
|
||||
7.2 Sample Applications
|
||||
_________________________________________________________________
|
||||
|
||||
Sample applications will be built with the Makefile build system. For Visual
|
||||
Studio, you have to build the samples manually by selecting and building the
|
||||
Samples project inside pjsip-apps/build/pjsip_apps.dsw project workspace.
|
||||
|
||||
Upon successful build, the sample applications are put in
|
||||
pjsip-apps/bin/samples directory.
|
||||
|
||||
The sample applications are described in PJMEDIA Samples Page and
|
||||
PJSIP Samples Page in the website.
|
||||
|
||||
|
||||
7.3 pjlib-test
|
||||
_________________________________________________________________
|
||||
|
||||
pjlib-test contains comprehensive tests for testing PJLIB functionality.
|
||||
This application will only be built when the Makefile build system is used;
|
||||
with Visual Studio, one has to open pjlib.dsw project in pjlib/build
|
||||
directory to build this application.
|
||||
|
||||
If you're porting PJLIB to new target, it is recommended to run this
|
||||
application to make sure that all functionalities works as expected.
|
||||
|
||||
|
||||
7.4 pjsip-test
|
||||
_________________________________________________________________
|
||||
|
||||
pjsip-test contains codes for testing various SIP functionalities in PJSIP
|
||||
and also to benchmark static performance metrics such as message parsing per
|
||||
second.
|
||||
|
||||
|
||||
|
||||
8. Using PJPROJECT with Applications
|
||||
_________________________________________________________________
|
||||
|
||||
Regardless of the build system being used, the following tasks are normally
|
||||
needed to be done in order to build application to use PJSIP and PJMEDIA:
|
||||
1. Put these include directories in the include search path:
|
||||
+ pjlib/include
|
||||
+ pjlib-util/include
|
||||
+ pjmedia/include
|
||||
+ pjsip/include
|
||||
2. Put these library directories in the library search path:
|
||||
+ pjlib/lib
|
||||
+ pjlib-util/lib
|
||||
+ pjmedia/lib
|
||||
+ pjsip/lib
|
||||
3. Include the relevant PJ header files in the application source file. For
|
||||
example, using these would include ALL APIs exported by PJ:
|
||||
|
||||
#include <pjlib.h>
|
||||
#include <pjlib-util.h>
|
||||
#include <pjsip.h>
|
||||
#include <pjsip_ua.h>
|
||||
#include <pjsip_simple.h>
|
||||
#include <pjsua.h>
|
||||
#include <pjmedia.h>
|
||||
#include <pjmedia-codec.h>
|
||||
(Note: the documentation of the relevant libraries should say which
|
||||
header files should be included to get the declaration of the APIs).
|
||||
4. Declare the OS macros.
|
||||
+ For Windows applications built with Visual Studio, we need to
|
||||
declare PJ_WIN32=1 macro in the project settings (declaring the
|
||||
macro in the source file may not be sufficient).
|
||||
+ For Windows Mobile applications build with Visual C++, we need to
|
||||
declare PJ_WIN32_WINCE=1 macro in the project settings.
|
||||
+ For GNU build system/autoconf based build system, we need to
|
||||
declare PJ_AUTOCONF=1 macro when compiling the applications.
|
||||
(Note: the old PJ build system requires declaring the target processor
|
||||
with PJ_M_XXX=1 macro, but this has been made obsolete. The target
|
||||
processor will be detected from compiler's predefined macro by
|
||||
pjlib/config.h file).
|
||||
5. Link with the appropriate PJ libraries. The following libraries will
|
||||
need to be included in the library link specifications:
|
||||
|
||||
pjlib
|
||||
Base library used by all libraries.
|
||||
|
||||
pjlib-util
|
||||
Auxiliary library containing scanner, XML, STUN, MD5, getopt,
|
||||
etc, used by the SIP and media stack.
|
||||
|
||||
pjsip
|
||||
SIP core stack library.
|
||||
|
||||
pjsip-ua
|
||||
SIP user agent library containing INVITE session, call
|
||||
transfer, client registration, etc.
|
||||
|
||||
pjsip-simple
|
||||
SIP SIMPLE library for base event framework, presence, instant
|
||||
messaging, etc.
|
||||
|
||||
pjsua
|
||||
High level SIP UA library, combining SIP and media stack into
|
||||
high-level easy to use API.
|
||||
|
||||
pjmedia
|
||||
The media framework.
|
||||
|
||||
pjmedia-codec
|
||||
Container library for various codecs such as GSM, Speex, and
|
||||
iLBC.
|
||||
|
||||
|
||||
Note: the actual library names will be appended with the target name and the
|
||||
build configuration. For example:
|
||||
|
||||
For Visual Studio builds
|
||||
The actual library names will look like
|
||||
pjlib-i386-win32-vc6-debug.lib,
|
||||
pjlib-i386-win32-vc6-release.lib, etc., depending on whether we
|
||||
are building the Debug or Release version of the library.
|
||||
|
||||
An easier way to link with the libraries is to include PJ
|
||||
project files in the workspace, and to configure project
|
||||
dependencies so that the application depends on the PJ
|
||||
libraries. This way, we don't need to manually add each PJ
|
||||
libraries to the input library file specification, since VS
|
||||
will automatically link the dependency libraries with the
|
||||
application.
|
||||
|
||||
For Windows Mobile builds
|
||||
Unfortunately the PJ libraries built for Windows Mobile will
|
||||
not be placed in the usual lib directory, but rather under the
|
||||
output directory under build/wince-evc4 project directory.
|
||||
|
||||
An easier way to link with the libraries is to include PJ
|
||||
project files in the workspace, and to configure project
|
||||
dependencies so that the application depends on the PJ
|
||||
libraries. This way, we don't need to manually add each PJ
|
||||
libraries to the input library file specification, since VS
|
||||
will automatically link the dependency libraries with the
|
||||
application.
|
||||
|
||||
For GNU builds
|
||||
Application's Makefile can get the PJ library suffix by
|
||||
including PJ's build.mak file from the root PJ directory (the
|
||||
suffix is contained in TARGET_NAME variable). For example, to
|
||||
link with PJLIB and PJMEDIA, we can use this syntax in the
|
||||
LDFLAGS: "-lpj-$(TARGET_NAME) -lpjmedia-$(TARGET_NAME)"
|
||||
|
||||
|
||||
6. Link with system spesific libraries:
|
||||
|
||||
Windows
|
||||
Add (among other things): wsock32.lib, ws2_32.lib, ole32.lib,
|
||||
dsound.lib
|
||||
|
||||
Linux, *nix, *BSD
|
||||
Add (among other things): '-lpthread -lm' (at least).
|
||||
|
||||
MacOS X
|
||||
Add (among other things): '-framework CoreAudio -lpthread -lm'.
|
||||
|
||||
|
||||
Appendix I: Common Problems/Frequently Asked Question (FAQ)
|
||||
_________________________________________________________________
|
||||
|
||||
I.1 fatal error C1083: Cannot open include file: 'pj/config_site.h': No such
|
||||
file or directory
|
||||
|
||||
This error normally occurs when the config_site.h file has not been created.
|
||||
This file needs to be created manually (an empty file is sufficient). Please
|
||||
follow the Build Preparation instructions above to create this file.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Feedback:
|
||||
Thanks for using PJ libraries and for reading this document. Please
|
||||
send feedbacks or general comments to <bennylp at pjsip dot org>.
|
||||
|
10583
pjproject-2.11.1/aconfigure
Executable file
10583
pjproject-2.11.1/aconfigure
Executable file
File diff suppressed because it is too large
Load diff
2282
pjproject-2.11.1/aconfigure.ac
Normal file
2282
pjproject-2.11.1/aconfigure.ac
Normal file
File diff suppressed because it is too large
Load diff
44
pjproject-2.11.1/bb10-config.mak
Normal file
44
pjproject-2.11.1/bb10-config.mak
Normal file
|
@ -0,0 +1,44 @@
|
|||
#
|
||||
# This is a utility make file that is used to generate BB10 config settings
|
||||
# from current build settings. The stdout output of this make file can be
|
||||
# saved to a .pri file which then can be included in app's .pro file.
|
||||
#
|
||||
# This make file is invoked by configure-bb10 script to generate pjsip.pri
|
||||
# file.
|
||||
#
|
||||
include build.mak
|
||||
|
||||
# Generate library list (the "-lxxx" options) from list of linked libraries.
|
||||
PJ_BB_LIBS = $(filter-out -lm -lsocket, $(APP_LDLIBS))
|
||||
|
||||
# This used to generate the library path list (the "-Lxxx" options)
|
||||
# We replace the path with "$$PJ_DIR"
|
||||
PJ_BB_LDFLAGS = $(subst $(PJDIR),\$$\$$PJ_DIR,$(APP_LDFLAGS))
|
||||
|
||||
all:
|
||||
@echo PJ_DIR = $(PJDIR)
|
||||
@echo
|
||||
@echo 'DEFINES += PJ_AUTOCONF'
|
||||
@echo
|
||||
@echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjlib/include)'
|
||||
@echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjmedia/include)'
|
||||
@echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjnath/include)'
|
||||
@echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjlib-util/include)'
|
||||
@echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjsip/include)'
|
||||
@echo
|
||||
@for token in $(PJ_BB_LDFLAGS); do \
|
||||
if echo $$token | grep -- '-L' >> /dev/null; then \
|
||||
echo "PJ_LIBPATH += \$$\$$quote($$token)"; \
|
||||
fi; \
|
||||
done
|
||||
@echo
|
||||
@for token in $(PJ_BB_LIBS); do \
|
||||
echo PJ_LIBS += $$token; \
|
||||
done
|
||||
@echo
|
||||
@echo 'INCLUDEPATH += $$$$PJ_INCLUDEPATH'
|
||||
@echo 'LIBS += $$$$PJ_LIBPATH'
|
||||
@echo 'LIBS += $$$$PJ_LIBS'
|
||||
@echo 'LIBS += -lOpenAL -lalut -laudio_manager -lsocket -lasound -lbbsystem -lm'
|
||||
|
||||
|
339
pjproject-2.11.1/build.mak.in
Normal file
339
pjproject-2.11.1/build.mak.in
Normal file
|
@ -0,0 +1,339 @@
|
|||
export PJDIR := @ac_pjdir@
|
||||
include $(PJDIR)/version.mak
|
||||
export PJ_DIR := $(PJDIR)
|
||||
|
||||
# @configure_input@
|
||||
export MACHINE_NAME := auto
|
||||
export OS_NAME := auto
|
||||
export HOST_NAME := unix
|
||||
export CC_NAME := gcc
|
||||
export TARGET_ARCH := @ac_target_arch@
|
||||
export TARGET_NAME := @target@
|
||||
export CROSS_COMPILE := @ac_cross_compile@
|
||||
export LINUX_POLL := @ac_linux_poll@
|
||||
export SHLIB_SUFFIX := @ac_shlib_suffix@
|
||||
|
||||
export prefix := @prefix@
|
||||
export exec_prefix := @exec_prefix@
|
||||
export includedir := @includedir@
|
||||
export libdir := @libdir@
|
||||
|
||||
LIB_SUFFIX := $(TARGET_NAME).a
|
||||
|
||||
ifeq (@ac_shared_libraries@,1)
|
||||
export PJ_SHARED_LIBRARIES := 1
|
||||
endif
|
||||
|
||||
ifeq (@ac_no_pjsua2@,1)
|
||||
export PJ_EXCLUDE_PJSUA2 := 1
|
||||
endif
|
||||
|
||||
ifndef EXCLUDE_APP
|
||||
ifeq ($(findstring android,$(TARGET_NAME)),)
|
||||
export EXCLUDE_APP := 0
|
||||
else
|
||||
export EXCLUDE_APP := 1
|
||||
endif
|
||||
endif
|
||||
|
||||
# Determine which party libraries to use
|
||||
export APP_THIRD_PARTY_EXT :=
|
||||
export APP_THIRD_PARTY_LIBS :=
|
||||
export APP_THIRD_PARTY_LIB_FILES :=
|
||||
|
||||
ifneq (@ac_external_srtp@,0)
|
||||
# External SRTP library
|
||||
APP_THIRD_PARTY_EXT += -l@ac_external_srtp_lib@
|
||||
else
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX)
|
||||
ifeq ($(PJ_SHARED_LIBRARIES),)
|
||||
APP_THIRD_PARTY_LIBS += -lsrtp-$(TARGET_NAME)
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lsrtp
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (@ac_pjmedia_resample@,libresample)
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX)
|
||||
ifeq ($(PJ_SHARED_LIBRARIES),)
|
||||
ifeq (@ac_resample_dll@,1)
|
||||
export PJ_RESAMPLE_DLL := 1
|
||||
APP_THIRD_PARTY_LIBS += -lresample
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX)
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lresample-$(TARGET_NAME)
|
||||
endif
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lresample
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_gsm_codec@,1)
|
||||
ifeq (@ac_external_gsm@,1)
|
||||
# External GSM library
|
||||
APP_THIRD_PARTY_EXT += -lgsm
|
||||
else
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX)
|
||||
ifeq ($(PJ_SHARED_LIBRARIES),)
|
||||
APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME)
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lgsmcodec
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_speex_codec@,1)
|
||||
ifeq (@ac_external_speex@,1)
|
||||
APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp
|
||||
else
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX)
|
||||
ifeq ($(PJ_SHARED_LIBRARIES),)
|
||||
APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME)
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lspeex
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_ilbc_codec@,1)
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX)
|
||||
ifeq ($(PJ_SHARED_LIBRARIES),)
|
||||
APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME)
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lilbccodec
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_g7221_codec@,1)
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX)
|
||||
ifeq ($(PJ_SHARED_LIBRARIES),)
|
||||
APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME)
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lg7221codec
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (@ac_external_pa@,1)
|
||||
# External PA
|
||||
APP_THIRD_PARTY_EXT += -lportaudio
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_yuv@,1)
|
||||
ifeq (@ac_external_yuv@,1)
|
||||
APP_THIRD_PARTY_EXT += -lyuv
|
||||
else
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libyuv-$(LIB_SUFFIX)
|
||||
ifeq ($(PJ_SHARED_LIBRARIES),)
|
||||
APP_THIRD_PARTY_LIBS += -lyuv-$(TARGET_NAME)
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lyuv
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libyuv.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libyuv.$(SHLIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_webrtc@,1)
|
||||
ifeq (@ac_external_webrtc@,1)
|
||||
APP_THIRD_PARTY_EXT += -lwebrtc
|
||||
else
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libwebrtc-$(LIB_SUFFIX)
|
||||
ifeq ($(PJ_SHARED_LIBRARIES),)
|
||||
APP_THIRD_PARTY_LIBS += -lwebrtc-$(TARGET_NAME)
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lwebrtc
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libwebrtc.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libwebrtc.$(SHLIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
# Additional flags
|
||||
@ac_build_mak_vars@
|
||||
|
||||
#
|
||||
# Video
|
||||
# Note: there are duplicated macros in pjmedia/os-auto.mak.in (and that's not
|
||||
# good!
|
||||
|
||||
# SDL flags
|
||||
SDL_CFLAGS = @ac_sdl_cflags@
|
||||
SDL_LDFLAGS = @ac_sdl_ldflags@
|
||||
|
||||
# FFMPEG flags
|
||||
FFMPEG_CFLAGS = @ac_ffmpeg_cflags@
|
||||
FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@
|
||||
|
||||
# Video4Linux2
|
||||
V4L2_CFLAGS = @ac_v4l2_cflags@
|
||||
V4L2_LDFLAGS = @ac_v4l2_ldflags@
|
||||
|
||||
# OPENH264 flags
|
||||
OPENH264_CFLAGS = @ac_openh264_cflags@
|
||||
OPENH264_LDFLAGS = @ac_openh264_ldflags@
|
||||
|
||||
# VPX flags
|
||||
VPX_CFLAGS = @ac_vpx_cflags@
|
||||
VPX_LDFLAGS = @ac_vpx_ldflags@
|
||||
|
||||
# QT
|
||||
AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@
|
||||
# QT_CFLAGS = @ac_qt_cflags@
|
||||
|
||||
# Darwin (Mac and iOS)
|
||||
AC_PJMEDIA_VIDEO_HAS_DARWIN = @ac_pjmedia_video_has_darwin@
|
||||
AC_PJMEDIA_VIDEO_HAS_VTOOLBOX = @ac_pjmedia_video_has_vtoolbox@
|
||||
AC_PJMEDIA_VIDEO_HAS_IOS_OPENGL = @ac_pjmedia_video_has_ios_opengl@
|
||||
DARWIN_CFLAGS = @ac_darwin_cflags@
|
||||
|
||||
# mingw
|
||||
AC_PJMEDIA_VIDEO_DEV_HAS_DSHOW = @ac_pjmedia_video_dev_has_dshow@
|
||||
ifeq (@ac_pjmedia_video_dev_has_dshow@,yes)
|
||||
DSHOW_CFLAGS = @ac_dshow_cflags@
|
||||
DSHOW_LDFLAGS = @ac_dshow_ldflags@
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libbaseclasses-$(LIB_SUFFIX)
|
||||
APP_THIRD_PARTY_LIBS += -lbaseclasses-$(TARGET_NAME)
|
||||
endif
|
||||
|
||||
# Android
|
||||
ANDROID_CFLAGS = @ac_android_cflags@
|
||||
|
||||
# PJMEDIA features exclusion
|
||||
PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(DSHOW_CFLAGS) $(QT_CFLAGS) \
|
||||
$(OPENH264_CFLAGS) $(VPX_CFLAGS) $(DARWIN_CFLAGS)
|
||||
PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) $(DSHOW_LDFLAGS) \
|
||||
$(OPENH264_LDFLAGS) $(VPX_LDFLAGS)
|
||||
|
||||
# CFLAGS, LDFLAGS, and LIBS to be used by applications
|
||||
export APP_CC := @CC@
|
||||
export APP_CXX := @CXX@
|
||||
export APP_CFLAGS := -DPJ_AUTOCONF=1\
|
||||
@CFLAGS@\
|
||||
$(PJ_VIDEO_CFLAGS) \
|
||||
-I$(PJDIR)/pjlib/include\
|
||||
-I$(PJDIR)/pjlib-util/include\
|
||||
-I$(PJDIR)/pjnath/include\
|
||||
-I$(PJDIR)/pjmedia/include\
|
||||
-I$(PJDIR)/pjsip/include
|
||||
export APP_CXXFLAGS := @CXXFLAGS@ $(APP_CFLAGS)
|
||||
export APP_LDFLAGS := -L$(PJDIR)/pjlib/lib\
|
||||
-L$(PJDIR)/pjlib-util/lib\
|
||||
-L$(PJDIR)/pjnath/lib\
|
||||
-L$(PJDIR)/pjmedia/lib\
|
||||
-L$(PJDIR)/pjsip/lib\
|
||||
-L$(PJDIR)/third_party/lib\
|
||||
$(PJ_VIDEO_LDFLAGS) \
|
||||
@LDFLAGS@
|
||||
export APP_LDXXFLAGS := $(APP_LDFLAGS)
|
||||
|
||||
export APP_LIB_FILES := \
|
||||
$(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjsip/lib/libpjsip-ua-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjsip/lib/libpjsip-simple-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjsip/lib/libpjsip-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjmedia/lib/libpjmedia-codec-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjmedia/lib/libpjmedia-videodev-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjmedia/lib/libpjmedia-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjnath/lib/libpjnath-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjlib-util/lib/libpjlib-util-$(LIB_SUFFIX) \
|
||||
$(APP_THIRD_PARTY_LIB_FILES) \
|
||||
$(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX)
|
||||
export APP_LIBXX_FILES := \
|
||||
$(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) \
|
||||
$(APP_LIB_FILES)
|
||||
|
||||
ifeq ($(PJ_SHARED_LIBRARIES),)
|
||||
export PJLIB_LDLIB := -lpj-$(TARGET_NAME)
|
||||
export PJLIB_UTIL_LDLIB := -lpjlib-util-$(TARGET_NAME)
|
||||
export PJNATH_LDLIB := -lpjnath-$(TARGET_NAME)
|
||||
export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev-$(TARGET_NAME)
|
||||
export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev-$(TARGET_NAME)
|
||||
export PJMEDIA_LDLIB := -lpjmedia-$(TARGET_NAME)
|
||||
export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec-$(TARGET_NAME)
|
||||
export PJSIP_LDLIB := -lpjsip-$(TARGET_NAME)
|
||||
export PJSIP_SIMPLE_LDLIB := -lpjsip-simple-$(TARGET_NAME)
|
||||
export PJSIP_UA_LDLIB := -lpjsip-ua-$(TARGET_NAME)
|
||||
export PJSUA_LIB_LDLIB := -lpjsua-$(TARGET_NAME)
|
||||
export PJSUA2_LIB_LDLIB := -lpjsua2-$(TARGET_NAME)
|
||||
else
|
||||
export PJLIB_LDLIB := -lpj
|
||||
export PJLIB_UTIL_LDLIB := -lpjlib-util
|
||||
export PJNATH_LDLIB := -lpjnath
|
||||
export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev
|
||||
export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev
|
||||
export PJMEDIA_LDLIB := -lpjmedia
|
||||
export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec
|
||||
export PJSIP_LDLIB := -lpjsip
|
||||
export PJSIP_SIMPLE_LDLIB := -lpjsip-simple
|
||||
export PJSIP_UA_LDLIB := -lpjsip-ua
|
||||
export PJSUA_LIB_LDLIB := -lpjsua
|
||||
export PJSUA2_LIB_LDLIB := -lpjsua2
|
||||
|
||||
export ADD_LIB_FILES := $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX)
|
||||
|
||||
APP_LIB_FILES += $(ADD_LIB_FILES)
|
||||
|
||||
APP_LIBXX_FILES += $(PJ_DIR)/pjsip/lib/libpjsua2.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua2.$(SHLIB_SUFFIX) \
|
||||
$(ADD_LIB_FILES)
|
||||
endif
|
||||
|
||||
ifeq ($(PJ_EXCLUDE_PJSUA2),1)
|
||||
export PJSUA2_LIB_LDLIB :=
|
||||
endif
|
||||
|
||||
export APP_LDLIBS := $(PJSUA_LIB_LDLIB) \
|
||||
$(PJSIP_UA_LDLIB) \
|
||||
$(PJSIP_SIMPLE_LDLIB) \
|
||||
$(PJSIP_LDLIB) \
|
||||
$(PJMEDIA_CODEC_LDLIB) \
|
||||
$(PJMEDIA_LDLIB) \
|
||||
$(PJMEDIA_VIDEODEV_LDLIB) \
|
||||
$(PJMEDIA_AUDIODEV_LDLIB) \
|
||||
$(PJMEDIA_LDLIB) \
|
||||
$(PJNATH_LDLIB) \
|
||||
$(PJLIB_UTIL_LDLIB) \
|
||||
$(APP_THIRD_PARTY_LIBS)\
|
||||
$(APP_THIRD_PARTY_EXT)\
|
||||
$(PJLIB_LDLIB) \
|
||||
@LIBS@
|
||||
export APP_LDXXLIBS := $(PJSUA2_LIB_LDLIB) \
|
||||
-lstdc++ \
|
||||
$(APP_LDLIBS)
|
||||
|
||||
# Here are the variables to use if application is using the library
|
||||
# from within the source distribution
|
||||
export PJ_CC := $(APP_CC)
|
||||
export PJ_CXX := $(APP_CXX)
|
||||
export PJ_CFLAGS := $(APP_CFLAGS)
|
||||
export PJ_CXXFLAGS := $(APP_CXXFLAGS)
|
||||
export PJ_LDFLAGS := $(APP_LDFLAGS)
|
||||
export PJ_LDXXFLAGS := $(APP_LDXXFLAGS)
|
||||
export PJ_LDLIBS := $(APP_LDLIBS)
|
||||
export PJ_LDXXLIBS := $(APP_LDXXLIBS)
|
||||
export PJ_LIB_FILES := $(APP_LIB_FILES)
|
||||
export PJ_LIBXX_FILES := $(APP_LIBXX_FILES)
|
||||
|
||||
# And here are the variables to use if application is using the
|
||||
# library from the install location (i.e. --prefix)
|
||||
export PJ_INSTALL_DIR := @prefix@
|
||||
export PJ_INSTALL_INC_DIR := @includedir@
|
||||
export PJ_INSTALL_LIB_DIR := @libdir@
|
||||
export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @ac_cflags@
|
||||
export PJ_INSTALL_LDFLAGS_PRIVATE := $(APP_THIRD_PARTY_LIBS) $(APP_THIRD_PARTY_EXT) @LIBS@
|
||||
export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(filter-out $(PJ_INSTALL_LDFLAGS_PRIVATE),$(APP_LDXXLIBS))
|
7
pjproject-2.11.1/build.symbian/00.bat
Normal file
7
pjproject-2.11.1/build.symbian/00.bat
Normal file
|
@ -0,0 +1,7 @@
|
|||
@rem set MWSym2Libraries=1
|
||||
@rem set EPOCROOT=\Symbian\9.1\S60_3rd\
|
||||
@rem set EPOCROOT=\Symbian\9.1\S60_3rd_MR_2\
|
||||
@rem set EPOCROOT=\Symbian\UIQ3SDK\
|
||||
@rem set EPOCROOT=\symbian\UIQ3.1\
|
||||
@rem set EPOCROOT=\symbian\9.2\S60_3rd_FP1\
|
||||
bldmake bldfiles
|
7
pjproject-2.11.1/build.symbian/01.bat
Normal file
7
pjproject-2.11.1/build.symbian/01.bat
Normal file
|
@ -0,0 +1,7 @@
|
|||
@rem call abld build -v vs6 udeb
|
||||
@rem call abld build -v gcce urel
|
||||
@rem call abld build winscw udeb
|
||||
call abld build %1 %2 %3 %4
|
||||
|
||||
|
||||
|
35
pjproject-2.11.1/build.symbian/bld.inf
Normal file
35
pjproject-2.11.1/build.symbian/bld.inf
Normal file
|
@ -0,0 +1,35 @@
|
|||
prj_platforms
|
||||
winscw
|
||||
armv5
|
||||
gcce
|
||||
|
||||
prj_mmpfiles
|
||||
|
||||
/* Libraries */
|
||||
pjlib.mmp
|
||||
pjlib_util.mmp
|
||||
pjnath.mmp
|
||||
pjsdp.mmp
|
||||
pjmedia.mmp
|
||||
pjsip.mmp
|
||||
pjsip_simple.mmp
|
||||
pjsip_ua.mmp
|
||||
pjsua_lib.mmp
|
||||
libsrtp.mmp
|
||||
|
||||
/* Codecs */
|
||||
libgsmcodec.mmp
|
||||
libspeexcodec.mmp
|
||||
libg7221codec.mmp
|
||||
libpassthroughcodec.mmp
|
||||
|
||||
/* Resample */
|
||||
libresample.mmp
|
||||
|
||||
/* Audio device. */
|
||||
pjmedia_audiodev.mmp
|
||||
|
||||
/* Applications */
|
||||
//symsndtest.mmp
|
||||
pjlib_test.mmp
|
||||
../pjsip-apps/src/pjsua/symbian/group/pjsua.mmp
|
56
pjproject-2.11.1/build.symbian/libg7221codec.mmp
Normal file
56
pjproject-2.11.1/build.symbian/libg7221codec.mmp
Normal file
|
@ -0,0 +1,56 @@
|
|||
TARGET libg7221codec.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
//OPTION CW -lang c++
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// GSM codec third party source
|
||||
//
|
||||
|
||||
SOURCEPATH ..\third_party\g7221\common
|
||||
|
||||
SOURCE basic_op.c
|
||||
SOURCE common.c
|
||||
SOURCE huff_tab.c
|
||||
SOURCE tables.c
|
||||
|
||||
SOURCEPATH ..\third_party\g7221\decode
|
||||
|
||||
SOURCE coef2sam.c
|
||||
SOURCE dct4_s.c
|
||||
SOURCE decoder.c
|
||||
|
||||
SOURCEPATH ..\third_party\g7221\encode
|
||||
|
||||
SOURCE dct4_a.c
|
||||
SOURCE encoder.c
|
||||
SOURCE sam2coef.c
|
||||
|
||||
|
||||
//
|
||||
// GSM codec wrapper for pjmedia-codec
|
||||
//
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-codec
|
||||
SOURCE g7221.c
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\third_party
|
||||
SYSTEMINCLUDE ..\third_party\g7221\common
|
||||
SYSTEMINCLUDE ..\third_party\g7221\decode
|
||||
SYSTEMINCLUDE ..\third_party\g7221\encode
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
72
pjproject-2.11.1/build.symbian/libgsmcodec.mmp
Normal file
72
pjproject-2.11.1/build.symbian/libgsmcodec.mmp
Normal file
|
@ -0,0 +1,72 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET libgsmcodec.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA000000F
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjlib.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\libgsmcodec.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET libgsmcodec.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
//OPTION CW -lang c++
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// GSM codec third party source
|
||||
//
|
||||
|
||||
SOURCEPATH ..\third_party\gsm\src
|
||||
|
||||
SOURCE add.c
|
||||
SOURCE code.c
|
||||
SOURCE debug.c
|
||||
SOURCE decode.c
|
||||
SOURCE gsm_create.c
|
||||
SOURCE gsm_decode.c
|
||||
SOURCE gsm_destroy.c
|
||||
SOURCE gsm_encode.c
|
||||
SOURCE gsm_explode.c
|
||||
SOURCE gsm_implode.c
|
||||
SOURCE gsm_option.c
|
||||
SOURCE gsm_print.c
|
||||
SOURCE long_term.c
|
||||
SOURCE lpc.c
|
||||
SOURCE preprocess.c
|
||||
SOURCE rpe.c
|
||||
SOURCE short_term.c
|
||||
SOURCE table.c
|
||||
|
||||
|
||||
//
|
||||
// GSM codec wrapper for pjmedia-codec
|
||||
//
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-codec
|
||||
SOURCE gsm.c
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\third_party\build\gsm
|
||||
SYSTEMINCLUDE ..\third_party\gsm\inc
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
27
pjproject-2.11.1/build.symbian/libpassthroughcodec.mmp
Normal file
27
pjproject-2.11.1/build.symbian/libpassthroughcodec.mmp
Normal file
|
@ -0,0 +1,27 @@
|
|||
TARGET libpassthroughcodec.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
MACRO HAVE_CONFIG_H
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
//
|
||||
// Passthrough codecs wrapper for pjmedia-codec
|
||||
//
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-codec
|
||||
SOURCE passthrough.c
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
26
pjproject-2.11.1/build.symbian/libresample.mmp
Normal file
26
pjproject-2.11.1/build.symbian/libresample.mmp
Normal file
|
@ -0,0 +1,26 @@
|
|||
TARGET libresample.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
SOURCEPATH ..\third_party\resample\src
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
MACRO RESAMPLE_HAS_SMALL_FILTER=1
|
||||
MACRO RESAMPLE_HAS_LARGE_FILTER=0
|
||||
|
||||
SOURCE resamplesubs.c
|
||||
|
||||
SYSTEMINCLUDE ..\third_party\resample\include
|
||||
SYSTEMINCLUDE ..\third_party\build\resample
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
74
pjproject-2.11.1/build.symbian/libspeexcodec.mmp
Normal file
74
pjproject-2.11.1/build.symbian/libspeexcodec.mmp
Normal file
|
@ -0,0 +1,74 @@
|
|||
TARGET libspeexcodec.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
MACRO HAVE_CONFIG_H
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
//
|
||||
// Speex files
|
||||
//
|
||||
SOURCEPATH ..\third_party\speex\libspeex
|
||||
|
||||
SOURCE bits.c
|
||||
SOURCE cb_search.c
|
||||
SOURCE exc_5_64_table.c
|
||||
SOURCE exc_5_256_table.c
|
||||
SOURCE exc_8_128_table.c
|
||||
SOURCE exc_10_16_table.c
|
||||
SOURCE exc_10_32_table.c
|
||||
SOURCE exc_20_32_table.c
|
||||
SOURCE fftwrap.c
|
||||
SOURCE filterbank.c
|
||||
SOURCE filters.c
|
||||
SOURCE gain_table.c
|
||||
SOURCE gain_table_lbr.c
|
||||
SOURCE hexc_10_32_table.c
|
||||
SOURCE hexc_table.c
|
||||
SOURCE high_lsp_tables.c
|
||||
SOURCE kiss_fft.c
|
||||
SOURCE kiss_fftr.c
|
||||
SOURCE lpc.c
|
||||
SOURCE lsp.c
|
||||
SOURCE lsp_tables_nb.c
|
||||
SOURCE ltp.c
|
||||
SOURCE mdf.c
|
||||
SOURCE modes.c
|
||||
SOURCE modes_wb.c
|
||||
SOURCE nb_celp.c
|
||||
SOURCE preprocess.c
|
||||
SOURCE quant_lsp.c
|
||||
SOURCE sb_celp.c
|
||||
SOURCE smallft.c
|
||||
SOURCE speex.c
|
||||
SOURCE speex_callbacks.c
|
||||
SOURCE speex_header.c
|
||||
SOURCE stereo.c
|
||||
SOURCE vbr.c
|
||||
SOURCE vq.c
|
||||
SOURCE window.c
|
||||
|
||||
//
|
||||
// Speex codec wrapper for pjmedia-codec
|
||||
//
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-codec
|
||||
SOURCE speex_codec.c
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
SYSTEMINCLUDE ..\third_party\speex\include\speex
|
||||
SYSTEMINCLUDE ..\third_party\speex\include
|
||||
SYSTEMINCLUDE ..\third_party\speex\symbian
|
||||
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
60
pjproject-2.11.1/build.symbian/libsrtp.mmp
Normal file
60
pjproject-2.11.1/build.symbian/libsrtp.mmp
Normal file
|
@ -0,0 +1,60 @@
|
|||
TARGET libsrtp.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
//
|
||||
// Speex files
|
||||
//
|
||||
SOURCEPATH ..\third_party\srtp
|
||||
|
||||
SOURCE crypto\ae_xfm\xfm.c
|
||||
SOURCE crypto\cipher\aes.c
|
||||
SOURCE crypto\cipher\aes_cbc.c
|
||||
SOURCE crypto\cipher\aes_icm.c
|
||||
SOURCE crypto\cipher\cipher.c
|
||||
SOURCE crypto\cipher\null_cipher.c
|
||||
SOURCE crypto\hash\auth.c
|
||||
SOURCE crypto\hash\hmac.c
|
||||
SOURCE crypto\hash\null_auth.c
|
||||
SOURCE crypto\hash\sha1.c
|
||||
SOURCE crypto\kernel\alloc.c
|
||||
SOURCE crypto\kernel\crypto_kernel.c
|
||||
//SOURCE crypto\kernel\err.c
|
||||
SOURCE crypto\kernel\key.c
|
||||
SOURCE crypto\math\datatypes.c
|
||||
SOURCE crypto\math\gf2_8.c
|
||||
//SOURCE crypto\math\math.c
|
||||
SOURCE crypto\math\stat.c
|
||||
SOURCE crypto\replay\rdb.c
|
||||
SOURCE crypto\replay\rdbx.c
|
||||
//SOURCE crypto\replay\ut_sim.c
|
||||
SOURCE crypto\rng\ctr_prng.c
|
||||
SOURCE crypto\rng\prng.c
|
||||
//SOURCE crypto\rng\rand_linux_kernel.c
|
||||
SOURCE crypto\rng\rand_source.c
|
||||
SOURCE pjlib\srtp_err.c
|
||||
SOURCE srtp\srtp.c
|
||||
SOURCE tables\aes_tables.c
|
||||
|
||||
//SOURCEPATH ..\pjmedia\src\pjmedia
|
||||
|
||||
//SOURCE transport_srtp.c
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
SYSTEMINCLUDE ..\third_party\srtp\include
|
||||
SYSTEMINCLUDE ..\third_party\srtp\crypto\include
|
||||
SYSTEMINCLUDE ..\third_party\build\srtp
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
80
pjproject-2.11.1/build.symbian/makedef.sh
Normal file
80
pjproject-2.11.1/build.symbian/makedef.sh
Normal file
|
@ -0,0 +1,80 @@
|
|||
#!/bin/sh
|
||||
|
||||
MMP=$1
|
||||
if test "$MMP" == ""; then
|
||||
echo "Usage: makedef.sh FILE.MMP"
|
||||
echo " or makedef.sh all"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test "$MMP" == "all"; then
|
||||
. $0 pjlib.mmp
|
||||
. $0 pjlib_util.mmp
|
||||
. $0 pjnath.mmp
|
||||
. $0 pjmedia.mmp
|
||||
. $0 pjsdp.mmp
|
||||
. $0 pjsip.mmp
|
||||
. $0 pjsip_simple.mmp
|
||||
. $0 pjsip_ua.mmp
|
||||
. $0 pjsua_lib.mmp
|
||||
. $0 symbian_audio.mmp
|
||||
. $0 null_audio.mmp
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -f $MMP; then
|
||||
true
|
||||
else
|
||||
echo "Unable to open $MMP"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TARGET=`grep -w '^TARGET' $MMP | awk '{print $2}' | awk -F '.' '{print $1}' | head -1`
|
||||
DEFFILE="${TARGET}U.def"
|
||||
SOURCES=`grep -w '^SOURCE' $MMP | awk '{print $2}' | tr '\\\\' '/'`
|
||||
SOURCEPATH=`grep -w '^SOURCEPATH' $MMP | tr '\\\\' '/' | awk '{print $2}'`
|
||||
INCPATH=`grep 'INCLUDE' $MMP | awk '{print $2}' | grep pj | tr '\\\\' '/'`
|
||||
INCLUDE=""
|
||||
for INC in $INCPATH; do
|
||||
INCLUDE=`echo $INCLUDE -I$INC`
|
||||
done
|
||||
|
||||
#-- debug --
|
||||
#echo TARGET=$TARGET
|
||||
#echo SOURCES=$SOURCES
|
||||
#echo SOURCEPATH=$SOURCEPATH
|
||||
#echo INCLUDE=$INCLUDE
|
||||
#-- end --
|
||||
|
||||
echo > tmpnames.def
|
||||
|
||||
echo "${TARGET}:"
|
||||
|
||||
for file in $SOURCES; do
|
||||
#SYMBOLS=`grep PJ_DEF ${SOURCEPATH}/$file | awk -F ')' '{print $2}' | awk -F '(' '{print $1}' | awk -F '=' '{print $1}' | tr -d '[:blank:]' | sort | uniq`
|
||||
SYMBOLS=`
|
||||
cpp -DPJ_SYMBIAN=1 -DPJ_DLL -DPJ_EXPORTING=1 $INCLUDE ${SOURCEPATH}/$file 2>&1 |
|
||||
grep EXPORT_C |
|
||||
sed 's/(/;/' |
|
||||
sed 's/=/;/' |
|
||||
awk -F ';' '{print $1}' |
|
||||
awk '{print $NF}'`
|
||||
echo Processing ${SOURCEPATH}/$file..
|
||||
for SYM in $SYMBOLS; do
|
||||
echo $SYM >> tmpnames.def
|
||||
done
|
||||
done
|
||||
|
||||
echo "Writing $DEFFILE"
|
||||
echo EXPORTS > $DEFFILE
|
||||
i=0
|
||||
for SYM in `cat tmpnames.def | sort | uniq`; do
|
||||
echo " $SYM"
|
||||
i=`expr $i + 1`
|
||||
printf "\\t%-40s @ $i NONAME\\n" $SYM >> $DEFFILE
|
||||
done
|
||||
|
||||
|
||||
echo
|
||||
echo "Done. Total $i symbols exported in $DEFFILE."
|
||||
|
40
pjproject-2.11.1/build.symbian/null_audio.mmp
Normal file
40
pjproject-2.11.1/build.symbian/null_audio.mmp
Normal file
|
@ -0,0 +1,40 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET null_audio.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000000
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjlib.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\null_audio.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET null_audio.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia
|
||||
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// Platform independent source
|
||||
//
|
||||
SOURCE nullsound.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
12
pjproject-2.11.1/build.symbian/null_audioU.def
Normal file
12
pjproject-2.11.1/build.symbian/null_audioU.def
Normal file
|
@ -0,0 +1,12 @@
|
|||
EXPORTS
|
||||
pjmedia_snd_deinit @ 1 NONAME
|
||||
pjmedia_snd_get_dev_count @ 2 NONAME
|
||||
pjmedia_snd_get_dev_info @ 3 NONAME
|
||||
pjmedia_snd_init @ 4 NONAME
|
||||
pjmedia_snd_open @ 5 NONAME
|
||||
pjmedia_snd_open_player @ 6 NONAME
|
||||
pjmedia_snd_open_rec @ 7 NONAME
|
||||
pjmedia_snd_stream_close @ 8 NONAME
|
||||
pjmedia_snd_stream_get_info @ 9 NONAME
|
||||
pjmedia_snd_stream_start @ 10 NONAME
|
||||
pjmedia_snd_stream_stop @ 11 NONAME
|
122
pjproject-2.11.1/build.symbian/pjlib.mmp
Normal file
122
pjproject-2.11.1/build.symbian/pjlib.mmp
Normal file
|
@ -0,0 +1,122 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
TARGET pjlib.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000001
|
||||
|
||||
CAPABILITY NONE
|
||||
LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjlib.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjlib.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjlib\src\pj
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
//
|
||||
// Platform independent source
|
||||
//
|
||||
SOURCE activesock.c
|
||||
SOURCE array.c
|
||||
SOURCE config.c
|
||||
SOURCE ctype.c
|
||||
SOURCE errno.c
|
||||
SOURCE fifobuf.c
|
||||
SOURCE guid.c
|
||||
SOURCE hash.c
|
||||
SOURCE list.c
|
||||
SOURCE lock.c
|
||||
SOURCE string.c
|
||||
SOURCE log.c
|
||||
SOURCE os_info.c
|
||||
SOURCE os_info_symbian.cpp
|
||||
SOURCE os_time_common.c
|
||||
SOURCE pool.c
|
||||
SOURCE pool_buf.c
|
||||
SOURCE pool_caching.c
|
||||
SOURCE rand.c
|
||||
SOURCE rbtree.c
|
||||
SOURCE ssl_sock_common.c
|
||||
SOURCE ssl_sock_dump.c
|
||||
SOURCE sock_common.c
|
||||
SOURCE sock_qos_common.c
|
||||
SOURCE types.c
|
||||
|
||||
|
||||
//
|
||||
// Platform dependent source
|
||||
//
|
||||
SOURCE compat\string_compat.c
|
||||
SOURCE addr_resolv_symbian.cpp
|
||||
SOURCE exception_symbian.cpp
|
||||
SOURCE file_access_unistd.c
|
||||
SOURCE file_io_ansi.c
|
||||
SOURCE guid_simple.c
|
||||
SOURCE ioqueue_symbian.cpp
|
||||
SOURCE ip_helper_symbian.cpp
|
||||
SOURCE log_writer_symbian_console.cpp
|
||||
SOURCE os_core_symbian.cpp
|
||||
SOURCE os_error_symbian.cpp
|
||||
SOURCE os_timestamp_common.c
|
||||
SOURCE os_time_unix.c
|
||||
SOURCE os_timestamp_posix.c
|
||||
SOURCE pool_policy_new.cpp
|
||||
SOURCE ssl_sock_symbian.cpp
|
||||
SOURCE sock_symbian.cpp
|
||||
SOURCE sock_select_symbian.cpp
|
||||
SOURCE sock_qos_symbian.cpp
|
||||
SOURCE timer_symbian.cpp
|
||||
SOURCE unicode_symbian.cpp
|
||||
|
||||
//DOCUMENT os_symbian.h
|
||||
|
||||
//DOCUMENT pj\addr_resolv.h
|
||||
//DOCUMENT pj\array.h
|
||||
//DOCUMENT pj\assert.h
|
||||
//DOCUMENT pj\config.h
|
||||
//DOCUMENT pj\config_site.h
|
||||
//DOCUMENT pj\config_site_sample.h
|
||||
//DOCUMENT pj\ctype.h
|
||||
//DOCUMENT pj\errno.h
|
||||
//DOCUMENT pj\except.h
|
||||
//DOCUMENT pj\file_access.h
|
||||
//DOCUMENT pj\file_io.h
|
||||
//DOCUMENT pj\guid.h
|
||||
//DOCUMENT pj\hash.h
|
||||
//DOCUMENT pj\ioqueue.h
|
||||
//DOCUMENT pj\ip_helper.h
|
||||
//DOCUMENT pj\list.h
|
||||
//DOCUMENT pj\lock.h
|
||||
//DOCUMENT pj\log.h
|
||||
//DOCUMENT pj\os.h
|
||||
//DOCUMENT pj\\pool.h
|
||||
//DOCUMENT pj\\pool_buf.h
|
||||
//DOCUMENT pj\rand.h
|
||||
//DOCUMENT pj\rbtree.h
|
||||
//DOCUMENT pj\sock.h
|
||||
//DOCUMENT pj\sock_select.h
|
||||
//DOCUMENT pj\string.h
|
||||
//DOCUMENT pj\timer.h
|
||||
//DOCUMENT pj\types.h
|
||||
//DOCUMENT pj\unicode.h
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
326
pjproject-2.11.1/build.symbian/pjlibU.def
Normal file
326
pjproject-2.11.1/build.symbian/pjlibU.def
Normal file
|
@ -0,0 +1,326 @@
|
|||
EXPORTS
|
||||
PJ_FD_CLR @ 1 NONAME
|
||||
PJ_FD_COUNT @ 2 NONAME
|
||||
PJ_FD_ISSET @ 3 NONAME
|
||||
PJ_FD_SET @ 4 NONAME
|
||||
PJ_FD_ZERO @ 5 NONAME
|
||||
PJ_GUID_STRING_LENGTH @ 6 NONAME
|
||||
PJ_NO_MEMORY_EXCEPTION @ 7 NONAME
|
||||
PJ_VERSION @ 8 NONAME
|
||||
pj_AF_INET @ 9 NONAME
|
||||
pj_AF_INET6 @ 10 NONAME
|
||||
pj_AF_IRDA @ 11 NONAME
|
||||
pj_AF_PACKET @ 12 NONAME
|
||||
pj_AF_UNIX @ 13 NONAME
|
||||
pj_AF_UNSPEC @ 14 NONAME
|
||||
pj_GUID_STRING_LENGTH @ 15 NONAME
|
||||
pj_IPTOS_LOWDELAY @ 16 NONAME
|
||||
pj_IPTOS_MINCOST @ 17 NONAME
|
||||
pj_IPTOS_RELIABILITY @ 18 NONAME
|
||||
pj_IPTOS_THROUGHPUT @ 19 NONAME
|
||||
pj_IP_TOS @ 20 NONAME
|
||||
pj_MSG_DONTROUTE @ 21 NONAME
|
||||
pj_MSG_OOB @ 22 NONAME
|
||||
pj_MSG_PEEK @ 23 NONAME
|
||||
pj_NO_MEMORY_EXCEPTION @ 24 NONAME
|
||||
pj_SOCK_DGRAM @ 25 NONAME
|
||||
pj_SOCK_RAW @ 26 NONAME
|
||||
pj_SOCK_RDM @ 27 NONAME
|
||||
pj_SOCK_STREAM @ 28 NONAME
|
||||
pj_SOL_IP @ 29 NONAME
|
||||
pj_SOL_IPV6 @ 30 NONAME
|
||||
pj_SOL_SOCKET @ 31 NONAME
|
||||
pj_SOL_TCP @ 32 NONAME
|
||||
pj_SOL_UDP @ 33 NONAME
|
||||
pj_SO_RCVBUF @ 34 NONAME
|
||||
pj_SO_SNDBUF @ 35 NONAME
|
||||
pj_SO_TYPE @ 36 NONAME
|
||||
pj_ansi_to_unicode @ 37 NONAME
|
||||
pj_array_erase @ 38 NONAME
|
||||
pj_array_find @ 39 NONAME
|
||||
pj_array_insert @ 40 NONAME
|
||||
pj_atexit @ 41 NONAME
|
||||
pj_atomic_add @ 42 NONAME
|
||||
pj_atomic_add_and_get @ 43 NONAME
|
||||
pj_atomic_create @ 44 NONAME
|
||||
pj_atomic_dec @ 45 NONAME
|
||||
pj_atomic_dec_and_get @ 46 NONAME
|
||||
pj_atomic_destroy @ 47 NONAME
|
||||
pj_atomic_get @ 48 NONAME
|
||||
pj_atomic_inc @ 49 NONAME
|
||||
pj_atomic_inc_and_get @ 50 NONAME
|
||||
pj_atomic_set @ 51 NONAME
|
||||
pj_caching_pool_destroy @ 52 NONAME
|
||||
pj_caching_pool_init @ 53 NONAME
|
||||
pj_create_random_string @ 54 NONAME
|
||||
pj_create_unique_string @ 55 NONAME
|
||||
pj_dump_config @ 56 NONAME
|
||||
pj_elapsed_cycle @ 57 NONAME
|
||||
pj_elapsed_msec @ 58 NONAME
|
||||
pj_elapsed_nanosec @ 59 NONAME
|
||||
pj_elapsed_time @ 60 NONAME
|
||||
pj_elapsed_usec @ 61 NONAME
|
||||
pj_enter_critical_section @ 62 NONAME
|
||||
pj_enum_ip_interface @ 63 NONAME
|
||||
pj_enum_ip_route @ 64 NONAME
|
||||
pj_exception_id_alloc @ 65 NONAME
|
||||
pj_exception_id_free @ 66 NONAME
|
||||
pj_exception_id_name @ 67 NONAME
|
||||
pj_fifobuf_alloc @ 68 NONAME
|
||||
pj_fifobuf_free @ 69 NONAME
|
||||
pj_fifobuf_init @ 70 NONAME
|
||||
pj_fifobuf_max_size @ 71 NONAME
|
||||
pj_fifobuf_unalloc @ 72 NONAME
|
||||
pj_file_close @ 73 NONAME
|
||||
pj_file_delete @ 74 NONAME
|
||||
pj_file_exists @ 75 NONAME
|
||||
pj_file_flush @ 76 NONAME
|
||||
pj_file_getpos @ 77 NONAME
|
||||
pj_file_getstat @ 78 NONAME
|
||||
pj_file_move @ 79 NONAME
|
||||
pj_file_open @ 80 NONAME
|
||||
pj_file_read @ 81 NONAME
|
||||
pj_file_setpos @ 82 NONAME
|
||||
pj_file_size @ 83 NONAME
|
||||
pj_file_write @ 84 NONAME
|
||||
pj_generate_unique_string @ 85 NONAME
|
||||
pj_get_netos_error @ 86 NONAME
|
||||
pj_get_os_error @ 87 NONAME
|
||||
pj_get_timestamp @ 88 NONAME
|
||||
pj_get_timestamp_freq @ 89 NONAME
|
||||
pj_get_version @ 90 NONAME
|
||||
pj_getaddrinfo @ 91 NONAME
|
||||
pj_getdefaultipinterface @ 92 NONAME
|
||||
pj_gethostaddr @ 93 NONAME
|
||||
pj_gethostbyname @ 94 NONAME
|
||||
pj_gethostip @ 95 NONAME
|
||||
pj_gethostname @ 96 NONAME
|
||||
pj_getpid @ 97 NONAME
|
||||
pj_gettimeofday @ 98 NONAME
|
||||
pj_hash_calc @ 99 NONAME
|
||||
pj_hash_calc_tolower @ 100 NONAME
|
||||
pj_hash_count @ 101 NONAME
|
||||
pj_hash_create @ 102 NONAME
|
||||
pj_hash_first @ 103 NONAME
|
||||
pj_hash_get @ 104 NONAME
|
||||
pj_hash_next @ 105 NONAME
|
||||
pj_hash_set @ 106 NONAME
|
||||
pj_hash_set_np @ 107 NONAME
|
||||
pj_hash_this @ 108 NONAME
|
||||
pj_htonl @ 109 NONAME
|
||||
pj_htons @ 110 NONAME
|
||||
pj_inet_addr @ 111 NONAME
|
||||
pj_inet_addr2 @ 112 NONAME
|
||||
pj_inet_aton @ 113 NONAME
|
||||
pj_inet_ntoa @ 114 NONAME
|
||||
pj_inet_ntop @ 115 NONAME
|
||||
pj_inet_ntop2 @ 116 NONAME
|
||||
pj_inet_pton @ 117 NONAME
|
||||
pj_init @ 118 NONAME
|
||||
pj_ioqueue_accept @ 119 NONAME
|
||||
pj_ioqueue_connect @ 120 NONAME
|
||||
pj_ioqueue_create @ 121 NONAME
|
||||
pj_ioqueue_destroy @ 122 NONAME
|
||||
pj_ioqueue_get_user_data @ 123 NONAME
|
||||
pj_ioqueue_is_pending @ 124 NONAME
|
||||
pj_ioqueue_name @ 125 NONAME
|
||||
pj_ioqueue_op_key_init @ 126 NONAME
|
||||
pj_ioqueue_poll @ 127 NONAME
|
||||
pj_ioqueue_post_completion @ 128 NONAME
|
||||
pj_ioqueue_recv @ 129 NONAME
|
||||
pj_ioqueue_recvfrom @ 130 NONAME
|
||||
pj_ioqueue_register_sock @ 131 NONAME
|
||||
pj_ioqueue_register_sock2 @ 132 NONAME
|
||||
pj_ioqueue_send @ 133 NONAME
|
||||
pj_ioqueue_sendto @ 134 NONAME
|
||||
pj_ioqueue_set_lock @ 135 NONAME
|
||||
pj_ioqueue_set_user_data @ 136 NONAME
|
||||
pj_ioqueue_unregister @ 137 NONAME
|
||||
pj_leave_critical_section @ 138 NONAME
|
||||
pj_list_erase @ 139 NONAME
|
||||
pj_list_find_node @ 140 NONAME
|
||||
pj_list_insert_after @ 141 NONAME
|
||||
pj_list_insert_before @ 142 NONAME
|
||||
pj_list_insert_nodes_after @ 143 NONAME
|
||||
pj_list_insert_nodes_before @ 144 NONAME
|
||||
pj_list_merge_first @ 145 NONAME
|
||||
pj_list_merge_last @ 146 NONAME
|
||||
pj_list_search @ 147 NONAME
|
||||
pj_list_size @ 148 NONAME
|
||||
pj_lock_acquire @ 149 NONAME
|
||||
pj_lock_create_null_mutex @ 150 NONAME
|
||||
pj_lock_create_recursive_mutex @ 151 NONAME
|
||||
pj_lock_create_semaphore @ 152 NONAME
|
||||
pj_lock_create_simple_mutex @ 153 NONAME
|
||||
pj_lock_destroy @ 154 NONAME
|
||||
pj_lock_release @ 155 NONAME
|
||||
pj_lock_tryacquire @ 156 NONAME
|
||||
pj_log @ 157 NONAME
|
||||
pj_log_1 @ 158 NONAME
|
||||
pj_log_2 @ 159 NONAME
|
||||
pj_log_3 @ 160 NONAME
|
||||
pj_log_4 @ 161 NONAME
|
||||
pj_log_5 @ 162 NONAME
|
||||
pj_log_get_decor @ 163 NONAME
|
||||
pj_log_get_level @ 164 NONAME
|
||||
pj_log_get_log_func @ 165 NONAME
|
||||
pj_log_set_decor @ 166 NONAME
|
||||
pj_log_set_level @ 167 NONAME
|
||||
pj_log_set_log_func @ 168 NONAME
|
||||
pj_log_write @ 169 NONAME
|
||||
pj_mutex_create @ 170 NONAME
|
||||
pj_mutex_create_recursive @ 171 NONAME
|
||||
pj_mutex_create_simple @ 172 NONAME
|
||||
pj_mutex_destroy @ 173 NONAME
|
||||
pj_mutex_lock @ 174 NONAME
|
||||
pj_mutex_trylock @ 175 NONAME
|
||||
pj_mutex_unlock @ 176 NONAME
|
||||
pj_ntohl @ 177 NONAME
|
||||
pj_ntohs @ 178 NONAME
|
||||
pj_pool_alloc @ 179 NONAME
|
||||
pj_pool_alloc_from_block @ 180 NONAME
|
||||
pj_pool_allocate_find @ 181 NONAME
|
||||
pj_pool_calloc @ 182 NONAME
|
||||
pj_pool_create @ 183 NONAME
|
||||
pj_pool_create_int @ 184 NONAME
|
||||
pj_pool_create_on_buf @ 185 NONAME
|
||||
pj_pool_destroy_int @ 186 NONAME
|
||||
pj_pool_factory_default_policy @ 187 NONAME
|
||||
pj_pool_factory_get_default_policy @ 188 NONAME
|
||||
pj_pool_get_capacity @ 189 NONAME
|
||||
pj_pool_get_used_size @ 190 NONAME
|
||||
pj_pool_getobjname @ 191 NONAME
|
||||
pj_pool_init_int @ 192 NONAME
|
||||
pj_pool_release @ 193 NONAME
|
||||
pj_pool_reset @ 194 NONAME
|
||||
pj_rand @ 195 NONAME
|
||||
pj_rbtree_erase @ 196 NONAME
|
||||
pj_rbtree_find @ 197 NONAME
|
||||
pj_rbtree_first @ 198 NONAME
|
||||
pj_rbtree_init @ 199 NONAME
|
||||
pj_rbtree_insert @ 200 NONAME
|
||||
pj_rbtree_last @ 201 NONAME
|
||||
pj_rbtree_max_height @ 202 NONAME
|
||||
pj_rbtree_min_height @ 203 NONAME
|
||||
pj_rbtree_next @ 204 NONAME
|
||||
pj_rbtree_prev @ 205 NONAME
|
||||
pj_register_strerror @ 206 NONAME
|
||||
pj_rwmutex_create @ 207 NONAME
|
||||
pj_rwmutex_destroy @ 208 NONAME
|
||||
pj_rwmutex_lock_read @ 209 NONAME
|
||||
pj_rwmutex_lock_write @ 210 NONAME
|
||||
pj_rwmutex_unlock_read @ 211 NONAME
|
||||
pj_rwmutex_unlock_write @ 212 NONAME
|
||||
pj_sem_create @ 213 NONAME
|
||||
pj_sem_destroy @ 214 NONAME
|
||||
pj_sem_post @ 215 NONAME
|
||||
pj_sem_trywait @ 216 NONAME
|
||||
pj_sem_wait @ 217 NONAME
|
||||
pj_set_netos_error @ 218 NONAME
|
||||
pj_set_os_error @ 219 NONAME
|
||||
pj_shutdown @ 220 NONAME
|
||||
pj_sock_accept @ 221 NONAME
|
||||
pj_sock_bind @ 222 NONAME
|
||||
pj_sock_bind_in @ 223 NONAME
|
||||
pj_sock_close @ 224 NONAME
|
||||
pj_sock_connect @ 225 NONAME
|
||||
pj_sock_getpeername @ 226 NONAME
|
||||
pj_sock_getsockname @ 227 NONAME
|
||||
pj_sock_getsockopt @ 228 NONAME
|
||||
pj_sock_listen @ 229 NONAME
|
||||
pj_sock_recv @ 230 NONAME
|
||||
pj_sock_recvfrom @ 231 NONAME
|
||||
pj_sock_select @ 232 NONAME
|
||||
pj_sock_send @ 233 NONAME
|
||||
pj_sock_sendto @ 234 NONAME
|
||||
pj_sock_setsockopt @ 235 NONAME
|
||||
pj_sock_shutdown @ 236 NONAME
|
||||
pj_sock_socket @ 237 NONAME
|
||||
pj_sockaddr_cmp @ 238 NONAME
|
||||
pj_sockaddr_copy_addr @ 239 NONAME
|
||||
pj_sockaddr_get_addr @ 240 NONAME
|
||||
pj_sockaddr_get_addr_len @ 241 NONAME
|
||||
pj_sockaddr_get_len @ 242 NONAME
|
||||
pj_sockaddr_get_port @ 243 NONAME
|
||||
pj_sockaddr_has_addr @ 244 NONAME
|
||||
pj_sockaddr_in_get_addr @ 245 NONAME
|
||||
pj_sockaddr_in_get_port @ 246 NONAME
|
||||
pj_sockaddr_in_init @ 247 NONAME
|
||||
pj_sockaddr_in_set_addr @ 248 NONAME
|
||||
pj_sockaddr_in_set_port @ 249 NONAME
|
||||
pj_sockaddr_in_set_str_addr @ 250 NONAME
|
||||
pj_sockaddr_init @ 251 NONAME
|
||||
pj_sockaddr_print @ 252 NONAME
|
||||
pj_sockaddr_set_port @ 253 NONAME
|
||||
pj_sockaddr_set_str_addr @ 254 NONAME
|
||||
pj_srand @ 255 NONAME
|
||||
pj_str @ 256 NONAME
|
||||
pj_strassign @ 257 NONAME
|
||||
pj_strcat @ 258 NONAME
|
||||
pj_strcat2 @ 259 NONAME
|
||||
pj_strcmp @ 260 NONAME
|
||||
pj_strcmp2 @ 261 NONAME
|
||||
pj_strcpy @ 262 NONAME
|
||||
pj_strcpy2 @ 263 NONAME
|
||||
pj_strdup @ 264 NONAME
|
||||
pj_strdup2 @ 265 NONAME
|
||||
pj_strdup2_with_null @ 266 NONAME
|
||||
pj_strdup3 @ 267 NONAME
|
||||
pj_strdup_with_null @ 268 NONAME
|
||||
pj_strerror @ 269 NONAME
|
||||
pj_stricmp @ 270 NONAME
|
||||
pj_stricmp2 @ 271 NONAME
|
||||
pj_strltrim @ 272 NONAME
|
||||
pj_strncmp @ 273 NONAME
|
||||
pj_strncmp2 @ 274 NONAME
|
||||
pj_strncpy @ 275 NONAME
|
||||
pj_strncpy_with_null @ 276 NONAME
|
||||
pj_strnicmp @ 277 NONAME
|
||||
pj_strnicmp2 @ 278 NONAME
|
||||
pj_strrtrim @ 279 NONAME
|
||||
pj_strtoul @ 280 NONAME
|
||||
pj_strtoul2 @ 281 NONAME
|
||||
pj_strtrim @ 282 NONAME
|
||||
pj_symbianos_poll @ 283 NONAME
|
||||
pj_symbianos_set_params @ 284 NONAME
|
||||
pj_thread_check_stack @ 285 NONAME
|
||||
pj_thread_create @ 286 NONAME
|
||||
pj_thread_destroy @ 287 NONAME
|
||||
pj_thread_get_name @ 288 NONAME
|
||||
pj_thread_get_os_handle @ 289 NONAME
|
||||
pj_thread_get_stack_info @ 290 NONAME
|
||||
pj_thread_get_stack_max_usage @ 291 NONAME
|
||||
pj_thread_is_registered @ 292 NONAME
|
||||
pj_thread_join @ 293 NONAME
|
||||
pj_thread_local_alloc @ 294 NONAME
|
||||
pj_thread_local_free @ 295 NONAME
|
||||
pj_thread_local_get @ 296 NONAME
|
||||
pj_thread_local_set @ 297 NONAME
|
||||
pj_thread_register @ 298 NONAME
|
||||
pj_thread_resume @ 299 NONAME
|
||||
pj_thread_sleep @ 300 NONAME
|
||||
pj_thread_this @ 301 NONAME
|
||||
pj_time_decode @ 302 NONAME
|
||||
pj_time_encode @ 303 NONAME
|
||||
pj_time_gmt_to_local @ 304 NONAME
|
||||
pj_time_local_to_gmt @ 305 NONAME
|
||||
pj_time_val_normalize @ 306 NONAME
|
||||
pj_timer_entry_init @ 307 NONAME
|
||||
pj_timer_heap_cancel @ 308 NONAME
|
||||
pj_timer_heap_cancel_if_active @ 309 NONAME
|
||||
pj_timer_heap_count @ 310 NONAME
|
||||
pj_timer_heap_create @ 311 NONAME
|
||||
pj_timer_heap_destroy @ 312 NONAME
|
||||
pj_timer_heap_earliest_time @ 313 NONAME
|
||||
pj_timer_heap_mem_size @ 314 NONAME
|
||||
pj_timer_heap_poll @ 315 NONAME
|
||||
pj_timer_heap_schedule @ 316 NONAME
|
||||
pj_timer_heap_schedule_w_grp_lock @ 317 NONAME
|
||||
pj_timer_heap_set_lock @ 318 NONAME
|
||||
pj_timer_heap_set_max_timed_out_per_poll @ 319 NONAME
|
||||
pj_unicode_to_ansi @ 320 NONAME
|
||||
pj_utoa @ 321 NONAME
|
||||
pj_utoa_pad @ 322 NONAME
|
||||
platform_strerror @ 323 NONAME
|
||||
snprintf @ 324 NONAME
|
||||
vsnprintf @ 325 NONAME
|
83
pjproject-2.11.1/build.symbian/pjlib_test.mmp
Normal file
83
pjproject-2.11.1/build.symbian/pjlib_test.mmp
Normal file
|
@ -0,0 +1,83 @@
|
|||
TARGET pjlib_test.exe
|
||||
TARGETTYPE exe
|
||||
UID 0x0 0xA0000002
|
||||
|
||||
|
||||
SOURCEPATH ..\pjlib\src\pjlib-test
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
MACRO PJ_DLL
|
||||
LIBRARY pjlib.lib
|
||||
#else
|
||||
STATICLIBRARY pjlib.lib
|
||||
#endif
|
||||
|
||||
// Test files
|
||||
|
||||
SOURCE activesock.c
|
||||
SOURCE atomic.c
|
||||
SOURCE echo_clt.c
|
||||
SOURCE errno.c
|
||||
SOURCE exception_wrap.cpp
|
||||
SOURCE fifobuf.c
|
||||
SOURCE file.c
|
||||
SOURCE hash_test.c
|
||||
SOURCE ioq_perf.c
|
||||
SOURCE ioq_tcp.c
|
||||
SOURCE ioq_udp.c
|
||||
SOURCE ioq_unreg.c
|
||||
SOURCE list.c
|
||||
SOURCE mutex.c
|
||||
SOURCE os.c
|
||||
SOURCE pool_wrap.cpp
|
||||
SOURCE pool_perf.c
|
||||
SOURCE rand.c
|
||||
SOURCE rbtree.c
|
||||
SOURCE select.c
|
||||
SOURCE sleep.c
|
||||
SOURCE sock.c
|
||||
SOURCE sock_perf.c
|
||||
SOURCE ssl_sock.c
|
||||
SOURCE string.c
|
||||
SOURCE test_wrap.cpp
|
||||
SOURCE thread.c
|
||||
SOURCE timer.c
|
||||
SOURCE timestamp.c
|
||||
SOURCE udp_echo_srv_ioqueue.c
|
||||
SOURCE udp_echo_srv_sync.c
|
||||
SOURCE util.c
|
||||
|
||||
SOURCE main_symbian.cpp
|
||||
|
||||
DOCUMENT test.h
|
||||
|
||||
START RESOURCE pjlib_test_reg.rss
|
||||
TARGETPATH \private\10003a3f\apps
|
||||
END
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
LIBRARY securesocket.lib x509.lib crypto.lib x500.lib
|
||||
LIBRARY hal.lib efsrv.lib
|
||||
|
||||
#ifdef WINSCW
|
||||
STATICLIBRARY eexe.lib ecrt0.lib
|
||||
#endif
|
||||
|
||||
// Need a bit of mem for logging in the app.
|
||||
EPOCSTACKSIZE 32768
|
||||
|
||||
CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment
|
19
pjproject-2.11.1/build.symbian/pjlib_test.pkg
Normal file
19
pjproject-2.11.1/build.symbian/pjlib_test.pkg
Normal file
|
@ -0,0 +1,19 @@
|
|||
; pjlib_test.pkg
|
||||
|
||||
; Languages
|
||||
&EN
|
||||
|
||||
; Header
|
||||
;#{"pjlib_test"},(0x200235D3), 0, 1, 1
|
||||
#{"pjlib_test"},(0xA0000002), 0, 1, 1
|
||||
|
||||
; Platform compatibility
|
||||
[0x101F7961], *, *, *,{"Series60ProductID"}
|
||||
|
||||
; vendor
|
||||
%{"PJSIP"}
|
||||
:"PJSIP"
|
||||
|
||||
; Target
|
||||
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\pjlib_test.exe"-"!:\sys\bin\pjlib_test.exe"
|
||||
"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\pjlib_test_reg.rSC"-"!:\private\10003a3f\import\apps\pjlib_test_reg.rSC"
|
86
pjproject-2.11.1/build.symbian/pjlib_util.mmp
Normal file
86
pjproject-2.11.1/build.symbian/pjlib_util.mmp
Normal file
|
@ -0,0 +1,86 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
TARGET pjlib_util.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000003
|
||||
|
||||
CAPABILITY NONE
|
||||
LIBRARY pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjlib_util.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjlib_util.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjlib-util\src\pjlib-util
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
//
|
||||
// PJLIB-UTIL files
|
||||
//
|
||||
SOURCE base64.c
|
||||
SOURCE cli.c
|
||||
SOURCE cli_console.c
|
||||
SOURCE cli_telnet.c
|
||||
SOURCE crc32.c
|
||||
SOURCE dns.c
|
||||
SOURCE dns_dump.c
|
||||
SOURCE dns_server.c
|
||||
SOURCE errno.c
|
||||
SOURCE getopt.c
|
||||
SOURCE hmac_md5.c
|
||||
SOURCE hmac_sha1.c
|
||||
SOURCE http_client.c
|
||||
SOURCE md5.c
|
||||
SOURCE pcap.c
|
||||
SOURCE resolver_wrap.cpp
|
||||
SOURCE scanner.c
|
||||
SOURCE sha1.c
|
||||
SOURCE srv_resolver.c
|
||||
SOURCE string.c
|
||||
SOURCE stun_simple.c
|
||||
SOURCE stun_simple_client.c
|
||||
SOURCE xml_wrap.cpp
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
//DOCUMENT pjlib-util\\config.h
|
||||
//DOCUMENT pjlib-util\\crc32.h
|
||||
//DOCUMENT pjlib-util\\dns.h
|
||||
//DOCUMENT pjlib-util\\errno.h
|
||||
//DOCUMENT pjlib-util\\getopt.h
|
||||
//DOCUMENT pjlib-util\\hmac_md5.h
|
||||
//DOCUMENT pjlib-util\hmac_sha1.h
|
||||
//DOCUMENT pjlib-util\http_client.h
|
||||
//DOCUMENT pjlib-util\md5.h
|
||||
//DOCUMENT pjlib-util\resolver.h
|
||||
//DOCUMENT pjlib-util\scanner.h
|
||||
//DOCUMENT pjlib-util\sha1.h
|
||||
//DOCUMENT pjlib-util\srv_resolver.h
|
||||
//DOCUMENT pjlib-util\string.h
|
||||
//DOCUMENT pjlib-util\stun_simple.h
|
||||
//DOCUMENT pjlib-util\types.h
|
||||
//DOCUMENT pjlib-util\xml.h
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
92
pjproject-2.11.1/build.symbian/pjlib_utilU.def
Normal file
92
pjproject-2.11.1/build.symbian/pjlib_utilU.def
Normal file
|
@ -0,0 +1,92 @@
|
|||
EXPORTS
|
||||
pj_cis_add_alpha @ 1 NONAME
|
||||
pj_cis_add_cis @ 2 NONAME
|
||||
pj_cis_add_num @ 3 NONAME
|
||||
pj_cis_add_range @ 4 NONAME
|
||||
pj_cis_add_str @ 5 NONAME
|
||||
pj_cis_buf_init @ 6 NONAME
|
||||
pj_cis_del_range @ 7 NONAME
|
||||
pj_cis_del_str @ 8 NONAME
|
||||
pj_cis_dup @ 9 NONAME
|
||||
pj_cis_init @ 10 NONAME
|
||||
pj_cis_invert @ 11 NONAME
|
||||
pj_crc32_calc @ 12 NONAME
|
||||
pj_crc32_final @ 13 NONAME
|
||||
pj_crc32_init @ 14 NONAME
|
||||
pj_crc32_update @ 15 NONAME
|
||||
pj_dns_dump_packet @ 16 NONAME
|
||||
pj_dns_get_type_name @ 17 NONAME
|
||||
pj_dns_make_query @ 18 NONAME
|
||||
pj_dns_packet_dup @ 19 NONAME
|
||||
pj_dns_parse_a_response @ 20 NONAME
|
||||
pj_dns_parse_packet @ 21 NONAME
|
||||
pj_dns_resolver_add_entry @ 22 NONAME
|
||||
pj_dns_resolver_cancel_query @ 23 NONAME
|
||||
pj_dns_resolver_create @ 24 NONAME
|
||||
pj_dns_resolver_destroy @ 25 NONAME
|
||||
pj_dns_resolver_dump @ 26 NONAME
|
||||
pj_dns_resolver_get_cached_count @ 27 NONAME
|
||||
pj_dns_resolver_get_settings @ 28 NONAME
|
||||
pj_dns_resolver_handle_events @ 29 NONAME
|
||||
pj_dns_resolver_set_ns @ 30 NONAME
|
||||
pj_dns_resolver_set_settings @ 31 NONAME
|
||||
pj_dns_resolver_start_query @ 32 NONAME
|
||||
pj_dns_settings_default @ 33 NONAME
|
||||
pj_dns_srv_resolve @ 34 NONAME
|
||||
pj_hmac_md5 @ 35 NONAME
|
||||
pj_hmac_md5_final @ 36 NONAME
|
||||
pj_hmac_md5_init @ 37 NONAME
|
||||
pj_hmac_md5_update @ 38 NONAME
|
||||
pj_hmac_sha1 @ 39 NONAME
|
||||
pj_hmac_sha1_final @ 40 NONAME
|
||||
pj_hmac_sha1_init @ 41 NONAME
|
||||
pj_hmac_sha1_update @ 42 NONAME
|
||||
pj_md5_final @ 43 NONAME
|
||||
pj_md5_init @ 44 NONAME
|
||||
pj_md5_update @ 45 NONAME
|
||||
pj_scan_advance_n @ 46 NONAME
|
||||
pj_scan_fini @ 47 NONAME
|
||||
pj_scan_get @ 48 NONAME
|
||||
pj_scan_get_char @ 49 NONAME
|
||||
pj_scan_get_n @ 50 NONAME
|
||||
pj_scan_get_newline @ 51 NONAME
|
||||
pj_scan_get_quote @ 52 NONAME
|
||||
pj_scan_get_quotes @ 53 NONAME
|
||||
pj_scan_get_unescape @ 54 NONAME
|
||||
pj_scan_get_until @ 55 NONAME
|
||||
pj_scan_get_until_ch @ 56 NONAME
|
||||
pj_scan_get_until_chr @ 57 NONAME
|
||||
pj_scan_init @ 58 NONAME
|
||||
pj_scan_peek @ 59 NONAME
|
||||
pj_scan_peek_n @ 60 NONAME
|
||||
pj_scan_peek_until @ 61 NONAME
|
||||
pj_scan_restore_state @ 62 NONAME
|
||||
pj_scan_save_state @ 63 NONAME
|
||||
pj_scan_skip_line @ 64 NONAME
|
||||
pj_scan_skip_whitespace @ 65 NONAME
|
||||
pj_scan_strcmp @ 66 NONAME
|
||||
pj_scan_stricmp @ 67 NONAME
|
||||
pj_scan_stricmp_alnum @ 68 NONAME
|
||||
pj_sha1_final @ 69 NONAME
|
||||
pj_sha1_init @ 70 NONAME
|
||||
pj_sha1_update @ 71 NONAME
|
||||
pj_str_unescape @ 72 NONAME
|
||||
pj_strcpy_unescape @ 73 NONAME
|
||||
pj_strncpy2_escape @ 74 NONAME
|
||||
pj_strncpy_escape @ 75 NONAME
|
||||
pj_xml_add_attr @ 76 NONAME
|
||||
pj_xml_add_node @ 77 NONAME
|
||||
pj_xml_attr_new @ 78 NONAME
|
||||
pj_xml_clone @ 79 NONAME
|
||||
pj_xml_find @ 80 NONAME
|
||||
pj_xml_find_attr @ 81 NONAME
|
||||
pj_xml_find_next_node @ 82 NONAME
|
||||
pj_xml_find_node @ 83 NONAME
|
||||
pj_xml_node_new @ 84 NONAME
|
||||
pj_xml_parse @ 85 NONAME
|
||||
pj_xml_print @ 86 NONAME
|
||||
pjlib_util_init @ 87 NONAME
|
||||
pjstun_create_bind_req @ 88 NONAME
|
||||
pjstun_get_mapped_addr @ 89 NONAME
|
||||
pjstun_msg_find_attr @ 90 NONAME
|
||||
pjstun_parse_msg @ 91 NONAME
|
136
pjproject-2.11.1/build.symbian/pjmedia.mmp
Normal file
136
pjproject-2.11.1/build.symbian/pjmedia.mmp
Normal file
|
@ -0,0 +1,136 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET pjmedia.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000004
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY null_audio.lib pjsdp.lib pjnath.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjmedia.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjmedia.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
//
|
||||
// Platform independent source
|
||||
//
|
||||
|
||||
SOURCE alaw_ulaw.c
|
||||
SOURCE alaw_ulaw_table.c
|
||||
SOURCE avi_player.c
|
||||
SOURCE bidirectional.c
|
||||
SOURCE clock_thread.c
|
||||
SOURCE codec.c
|
||||
SOURCE conf_switch.c
|
||||
SOURCE conference.c
|
||||
SOURCE converter.c
|
||||
SOURCE converter_libswscale.c
|
||||
SOURCE delaybuf.c
|
||||
SOURCE echo_common.c
|
||||
SOURCE echo_port.c
|
||||
SOURCE echo_suppress.c
|
||||
SOURCE endpoint.c
|
||||
SOURCE errno.c
|
||||
SOURCE event.c
|
||||
SOURCE format.c
|
||||
SOURCE g711.c
|
||||
SOURCE jbuf.c
|
||||
SOURCE master_port.c
|
||||
SOURCE mem_capture.c
|
||||
SOURCE mem_player.c
|
||||
SOURCE null_port.c
|
||||
SOURCE plc_common.c
|
||||
SOURCE port.c
|
||||
SOURCE resample_port.c
|
||||
SOURCE resample_resample.c
|
||||
SOURCE rtcp.c
|
||||
SOURCE rtcp_xr.c
|
||||
SOURCE rtp.c
|
||||
//SDP files are in pjsdp.mmp: sdp.c, sdp_cmp.c, sdp_neg.c
|
||||
//SOURCE session.c // deprecated
|
||||
SOURCE silencedet.c
|
||||
SOURCE sound_port.c
|
||||
SOURCE splitcomb.c
|
||||
SOURCE stereo_port.c
|
||||
SOURCE stream.c
|
||||
SOURCE stream_common.c
|
||||
SOURCE stream_info.c
|
||||
SOURCE tonegen.c
|
||||
SOURCE transport_adapter_sample.c
|
||||
SOURCE transport_ice.c
|
||||
SOURCE transport_udp.c
|
||||
SOURCE transport_srtp.c
|
||||
SOURCE types.c
|
||||
SOURCE vid_codec.c
|
||||
SOURCE vid_codec_util.c
|
||||
SOURCE vid_port.c
|
||||
SOURCE vid_stream.c
|
||||
SOURCE vid_stream_info.c
|
||||
SOURCE vid_tee.c
|
||||
SOURCE wav_player.c
|
||||
SOURCE wav_playlist.c
|
||||
SOURCE wav_writer.c
|
||||
SOURCE wave.c
|
||||
SOURCE wsola.c
|
||||
|
||||
//
|
||||
// pjmedia-codec common files
|
||||
//
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-codec
|
||||
SOURCE audio_codecs.c
|
||||
SOURCE amr_sdp_match.c
|
||||
SOURCE g7221_sdp_match.c
|
||||
SOURCE h263_packetizer.c
|
||||
SOURCE h264_packetizer.c
|
||||
|
||||
|
||||
//
|
||||
// Symbian specific
|
||||
// These are on separate project
|
||||
//
|
||||
//SOURCE symbian_sound.cpp
|
||||
//SOURCE null_sound.c
|
||||
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjnath\include
|
||||
SYSTEMINCLUDE ..\third_party\srtp\include
|
||||
SYSTEMINCLUDE ..\third_party\srtp\crypto\include
|
||||
SYSTEMINCLUDE ..\third_party\build\srtp
|
||||
SYSTEMINCLUDE ..
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
//SYSTEMINCLUDE \epoc32\include\mmf\plugin
|
||||
|
||||
|
193
pjproject-2.11.1/build.symbian/pjmediaU.def
Normal file
193
pjproject-2.11.1/build.symbian/pjmediaU.def
Normal file
|
@ -0,0 +1,193 @@
|
|||
EXPORTS
|
||||
echo_supp_cancel_echo @ 1 NONAME
|
||||
echo_supp_capture @ 2 NONAME
|
||||
echo_supp_create @ 3 NONAME
|
||||
echo_supp_destroy @ 4 NONAME
|
||||
echo_supp_playback @ 5 NONAME
|
||||
pjmedia_bidirectional_port_create @ 6 NONAME
|
||||
pjmedia_calc_avg_signal @ 7 NONAME
|
||||
pjmedia_clock_create @ 8 NONAME
|
||||
pjmedia_clock_destroy @ 9 NONAME
|
||||
pjmedia_clock_start @ 10 NONAME
|
||||
pjmedia_clock_stop @ 11 NONAME
|
||||
pjmedia_clock_wait @ 12 NONAME
|
||||
pjmedia_codec_g711_deinit @ 13 NONAME
|
||||
pjmedia_codec_g711_init @ 14 NONAME
|
||||
pjmedia_codec_info_to_id @ 15 NONAME
|
||||
pjmedia_codec_mgr_alloc_codec @ 16 NONAME
|
||||
pjmedia_codec_mgr_dealloc_codec @ 17 NONAME
|
||||
pjmedia_codec_mgr_enum_codecs @ 18 NONAME
|
||||
pjmedia_codec_mgr_find_codecs_by_id @ 19 NONAME
|
||||
pjmedia_codec_mgr_get_codec_info @ 20 NONAME
|
||||
pjmedia_codec_mgr_get_default_param @ 21 NONAME
|
||||
pjmedia_codec_mgr_init @ 22 NONAME
|
||||
pjmedia_codec_mgr_register_factory @ 23 NONAME
|
||||
pjmedia_codec_mgr_set_codec_priority @ 24 NONAME
|
||||
pjmedia_codec_mgr_unregister_factory @ 25 NONAME
|
||||
pjmedia_conf_add_passive_port @ 26 NONAME
|
||||
pjmedia_conf_add_port @ 27 NONAME
|
||||
pjmedia_conf_adjust_rx_level @ 28 NONAME
|
||||
pjmedia_conf_adjust_tx_level @ 29 NONAME
|
||||
pjmedia_conf_configure_port @ 30 NONAME
|
||||
pjmedia_conf_connect_port @ 31 NONAME
|
||||
pjmedia_conf_create @ 32 NONAME
|
||||
pjmedia_conf_destroy @ 33 NONAME
|
||||
pjmedia_conf_disconnect_port @ 34 NONAME
|
||||
pjmedia_conf_enum_ports @ 35 NONAME
|
||||
pjmedia_conf_get_connect_count @ 36 NONAME
|
||||
pjmedia_conf_get_master_port @ 37 NONAME
|
||||
pjmedia_conf_get_port_count @ 38 NONAME
|
||||
pjmedia_conf_get_port_info @ 39 NONAME
|
||||
pjmedia_conf_get_ports_info @ 40 NONAME
|
||||
pjmedia_conf_get_signal_level @ 41 NONAME
|
||||
pjmedia_conf_remove_port @ 42 NONAME
|
||||
pjmedia_conf_set_port0_name @ 43 NONAME
|
||||
pjmedia_delay_buf_create @ 44 NONAME
|
||||
pjmedia_delay_buf_get @ 45 NONAME
|
||||
pjmedia_delay_buf_put @ 46 NONAME
|
||||
pjmedia_echo_cancel @ 47 NONAME
|
||||
pjmedia_echo_capture @ 48 NONAME
|
||||
pjmedia_echo_create @ 49 NONAME
|
||||
pjmedia_echo_destroy @ 50 NONAME
|
||||
pjmedia_echo_playback @ 51 NONAME
|
||||
pjmedia_echo_port_create @ 52 NONAME
|
||||
pjmedia_endpt_create @ 53 NONAME
|
||||
pjmedia_endpt_create_pool @ 54 NONAME
|
||||
pjmedia_endpt_create_sdp @ 55 NONAME
|
||||
pjmedia_endpt_destroy @ 56 NONAME
|
||||
pjmedia_endpt_dump @ 57 NONAME
|
||||
pjmedia_endpt_get_codec_mgr @ 58 NONAME
|
||||
pjmedia_endpt_get_ioqueue @ 59 NONAME
|
||||
pjmedia_endpt_get_thread @ 60 NONAME
|
||||
pjmedia_endpt_get_thread_count @ 61 NONAME
|
||||
pjmedia_ice_create @ 62 NONAME
|
||||
pjmedia_ice_destroy @ 63 NONAME
|
||||
pjmedia_ice_get_comp @ 64 NONAME
|
||||
pjmedia_ice_get_init_status @ 65 NONAME
|
||||
pjmedia_ice_init_ice @ 66 NONAME
|
||||
pjmedia_ice_modify_sdp @ 67 NONAME
|
||||
pjmedia_ice_simulate_lost @ 68 NONAME
|
||||
pjmedia_ice_start_ice @ 69 NONAME
|
||||
pjmedia_ice_start_init @ 70 NONAME
|
||||
pjmedia_ice_stop_ice @ 71 NONAME
|
||||
pjmedia_jbuf_create @ 72 NONAME
|
||||
pjmedia_jbuf_destroy @ 73 NONAME
|
||||
pjmedia_jbuf_get_frame @ 74 NONAME
|
||||
pjmedia_jbuf_get_state @ 75 NONAME
|
||||
pjmedia_jbuf_put_frame @ 76 NONAME
|
||||
pjmedia_jbuf_reset @ 77 NONAME
|
||||
pjmedia_jbuf_set_adaptive @ 78 NONAME
|
||||
pjmedia_jbuf_set_fixed @ 79 NONAME
|
||||
pjmedia_master_port_create @ 80 NONAME
|
||||
pjmedia_master_port_destroy @ 81 NONAME
|
||||
pjmedia_master_port_get_dport @ 82 NONAME
|
||||
pjmedia_master_port_get_uport @ 83 NONAME
|
||||
pjmedia_master_port_set_dport @ 84 NONAME
|
||||
pjmedia_master_port_set_uport @ 85 NONAME
|
||||
pjmedia_master_port_start @ 86 NONAME
|
||||
pjmedia_master_port_stop @ 87 NONAME
|
||||
pjmedia_mem_capture_create @ 88 NONAME
|
||||
pjmedia_mem_capture_get_size @ 89 NONAME
|
||||
pjmedia_mem_capture_set_eof_cb @ 90 NONAME
|
||||
pjmedia_mem_player_create @ 91 NONAME
|
||||
pjmedia_mem_player_set_eof_cb @ 92 NONAME
|
||||
pjmedia_null_port_create @ 93 NONAME
|
||||
pjmedia_plc_create @ 94 NONAME
|
||||
pjmedia_plc_generate @ 95 NONAME
|
||||
pjmedia_plc_save @ 96 NONAME
|
||||
pjmedia_port_destroy @ 97 NONAME
|
||||
pjmedia_port_get_frame @ 98 NONAME
|
||||
pjmedia_port_info_init @ 99 NONAME
|
||||
pjmedia_port_put_frame @ 100 NONAME
|
||||
pjmedia_resample_create @ 101 NONAME
|
||||
pjmedia_resample_destroy @ 102 NONAME
|
||||
pjmedia_resample_get_input_size @ 103 NONAME
|
||||
pjmedia_resample_port_create @ 104 NONAME
|
||||
pjmedia_resample_run @ 105 NONAME
|
||||
pjmedia_rtcp_build_rtcp @ 106 NONAME
|
||||
pjmedia_rtcp_fini @ 107 NONAME
|
||||
pjmedia_rtcp_get_ntp_time @ 108 NONAME
|
||||
pjmedia_rtcp_init @ 109 NONAME
|
||||
pjmedia_rtcp_rx_rtcp @ 110 NONAME
|
||||
pjmedia_rtcp_rx_rtp @ 111 NONAME
|
||||
pjmedia_rtcp_tx_rtp @ 112 NONAME
|
||||
pjmedia_rtp_decode_rtp @ 113 NONAME
|
||||
pjmedia_rtp_encode_rtp @ 114 NONAME
|
||||
pjmedia_rtp_session_init @ 115 NONAME
|
||||
pjmedia_rtp_session_update @ 116 NONAME
|
||||
pjmedia_session_check_dtmf @ 117 NONAME
|
||||
pjmedia_session_create @ 118 NONAME
|
||||
pjmedia_session_destroy @ 119 NONAME
|
||||
pjmedia_session_dial_dtmf @ 120 NONAME
|
||||
pjmedia_session_enum_streams @ 121 NONAME
|
||||
pjmedia_session_get_dtmf @ 122 NONAME
|
||||
pjmedia_session_get_info @ 123 NONAME
|
||||
pjmedia_session_get_port @ 124 NONAME
|
||||
pjmedia_session_get_stream_stat @ 125 NONAME
|
||||
pjmedia_session_info_from_sdp @ 126 NONAME
|
||||
pjmedia_session_pause @ 127 NONAME
|
||||
pjmedia_session_pause_stream @ 128 NONAME
|
||||
pjmedia_session_resume @ 129 NONAME
|
||||
pjmedia_session_resume_stream @ 130 NONAME
|
||||
pjmedia_session_set_dtmf_callback @ 131 NONAME
|
||||
pjmedia_silence_det_apply @ 132 NONAME
|
||||
pjmedia_silence_det_create @ 133 NONAME
|
||||
pjmedia_silence_det_detect @ 134 NONAME
|
||||
pjmedia_silence_det_disable @ 135 NONAME
|
||||
pjmedia_silence_det_set_adaptive @ 136 NONAME
|
||||
pjmedia_silence_det_set_fixed @ 137 NONAME
|
||||
pjmedia_silence_det_set_name @ 138 NONAME
|
||||
pjmedia_silence_det_set_params @ 139 NONAME
|
||||
pjmedia_snd_port_connect @ 140 NONAME
|
||||
pjmedia_snd_port_create @ 141 NONAME
|
||||
pjmedia_snd_port_create_player @ 142 NONAME
|
||||
pjmedia_snd_port_create_rec @ 143 NONAME
|
||||
pjmedia_snd_port_destroy @ 144 NONAME
|
||||
pjmedia_snd_port_disconnect @ 145 NONAME
|
||||
pjmedia_snd_port_get_ec_tail @ 146 NONAME
|
||||
pjmedia_snd_port_get_port @ 147 NONAME
|
||||
pjmedia_snd_port_get_snd_stream @ 148 NONAME
|
||||
pjmedia_snd_port_set_ec @ 149 NONAME
|
||||
pjmedia_splitcomb_create @ 150 NONAME
|
||||
pjmedia_splitcomb_create_rev_channel @ 151 NONAME
|
||||
pjmedia_splitcomb_set_channel @ 152 NONAME
|
||||
pjmedia_stream_check_dtmf @ 153 NONAME
|
||||
pjmedia_stream_create @ 154 NONAME
|
||||
pjmedia_stream_destroy @ 155 NONAME
|
||||
pjmedia_stream_dial_dtmf @ 156 NONAME
|
||||
pjmedia_stream_get_dtmf @ 157 NONAME
|
||||
pjmedia_stream_get_port @ 158 NONAME
|
||||
pjmedia_stream_get_stat @ 159 NONAME
|
||||
pjmedia_stream_get_transport @ 160 NONAME
|
||||
pjmedia_stream_info_from_sdp @ 161 NONAME
|
||||
pjmedia_stream_pause @ 162 NONAME
|
||||
pjmedia_stream_resume @ 163 NONAME
|
||||
pjmedia_stream_set_dtmf_callback @ 164 NONAME
|
||||
pjmedia_stream_start @ 165 NONAME
|
||||
pjmedia_strerror @ 166 NONAME
|
||||
pjmedia_tonegen_create @ 167 NONAME
|
||||
pjmedia_tonegen_create2 @ 168 NONAME
|
||||
pjmedia_tonegen_get_digit_map @ 169 NONAME
|
||||
pjmedia_tonegen_is_busy @ 170 NONAME
|
||||
pjmedia_tonegen_play @ 171 NONAME
|
||||
pjmedia_tonegen_play_digits @ 172 NONAME
|
||||
pjmedia_tonegen_set_digit_map @ 173 NONAME
|
||||
pjmedia_tonegen_stop @ 174 NONAME
|
||||
pjmedia_transport_udp_attach @ 175 NONAME
|
||||
pjmedia_transport_udp_close @ 176 NONAME
|
||||
pjmedia_transport_udp_create @ 177 NONAME
|
||||
pjmedia_transport_udp_create2 @ 178 NONAME
|
||||
pjmedia_transport_udp_create3 @ 179 NONAME
|
||||
pjmedia_transport_udp_get_info @ 180 NONAME
|
||||
pjmedia_transport_udp_simulate_lost @ 181 NONAME
|
||||
pjmedia_wav_player_port_create @ 182 NONAME
|
||||
pjmedia_wav_player_port_get_pos @ 183 NONAME
|
||||
pjmedia_wav_player_port_set_pos @ 184 NONAME
|
||||
pjmedia_wav_player_set_eof_cb @ 185 NONAME
|
||||
pjmedia_wav_playlist_create @ 186 NONAME
|
||||
pjmedia_wav_playlist_set_eof_cb @ 187 NONAME
|
||||
pjmedia_wav_writer_port_create @ 188 NONAME
|
||||
pjmedia_wav_writer_port_get_pos @ 189 NONAME
|
||||
pjmedia_wav_writer_port_set_cb @ 190 NONAME
|
||||
pjmedia_wave_hdr_file_to_host @ 191 NONAME
|
||||
pjmedia_wave_hdr_host_to_file @ 192 NONAME
|
33
pjproject-2.11.1/build.symbian/pjmedia_audiodev.mmp
Normal file
33
pjproject-2.11.1/build.symbian/pjmedia_audiodev.mmp
Normal file
|
@ -0,0 +1,33 @@
|
|||
TARGET pjmedia_audiodev.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-audiodev
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
//OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
SOURCE audiodev.c
|
||||
SOURCE errno.c
|
||||
SOURCE symb_aps_dev.cpp
|
||||
SOURCE symb_mda_dev.cpp
|
||||
SOURCE symb_vas_dev.cpp
|
||||
SOURCE null_dev.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\server
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\common
|
||||
SYSTEMINCLUDE \epoc32\include\mda\common
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\plugin
|
||||
|
||||
|
65
pjproject-2.11.1/build.symbian/pjnath.mmp
Normal file
65
pjproject-2.11.1/build.symbian/pjnath.mmp
Normal file
|
@ -0,0 +1,65 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
TARGET pjnath.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000005
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjnath.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjnath.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
SOURCEPATH ..\pjnath\src\pjnath
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// PJNATH files
|
||||
//
|
||||
SOURCE errno.c
|
||||
SOURCE ice_session.c
|
||||
SOURCE ice_strans.c
|
||||
SOURCE nat_detect.c
|
||||
SOURCE stun_auth.c
|
||||
SOURCE stun_msg.c
|
||||
SOURCE stun_msg_dump.c
|
||||
SOURCE stun_session.c
|
||||
SOURCE stun_sock.c
|
||||
SOURCE stun_transaction.c
|
||||
SOURCE turn_session.c
|
||||
SOURCE turn_sock.c
|
||||
|
||||
//
|
||||
// Include files
|
||||
//
|
||||
//DOCUMENT pjnath\config.h
|
||||
//DOCUMENT pjnath\\errno.h
|
||||
//DOCUMENT pjnath\\ice_session.h
|
||||
//DOCUMENT pjnath\\ice_strans.h
|
||||
//DOCUMENT pjnath\\stun_auth.h
|
||||
//DOCUMENT pjnath\\stun_config.h
|
||||
//DOCUMENT pjnath\\stun_msg.h
|
||||
//DOCUMENT pjnath\\stun_session.h
|
||||
//DOCUMENT pjnath\\stun_transaction.h
|
||||
//DOCUMENT pjnath\\types.h
|
||||
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjnath\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
88
pjproject-2.11.1/build.symbian/pjnathU.def
Normal file
88
pjproject-2.11.1/build.symbian/pjnathU.def
Normal file
|
@ -0,0 +1,88 @@
|
|||
EXPORTS
|
||||
pj_ice_calc_foundation @ 1 NONAME
|
||||
pj_ice_get_cand_type_name @ 2 NONAME
|
||||
pj_ice_sess_add_cand @ 3 NONAME
|
||||
pj_ice_sess_change_role @ 4 NONAME
|
||||
pj_ice_sess_create @ 5 NONAME
|
||||
pj_ice_sess_create_check_list @ 6 NONAME
|
||||
pj_ice_sess_destroy @ 7 NONAME
|
||||
pj_ice_sess_find_default_cand @ 8 NONAME
|
||||
pj_ice_sess_on_rx_pkt @ 9 NONAME
|
||||
pj_ice_sess_send_data @ 10 NONAME
|
||||
pj_ice_sess_set_prefs @ 11 NONAME
|
||||
pj_ice_sess_start_check @ 12 NONAME
|
||||
pj_ice_strans_add_cand @ 13 NONAME
|
||||
pj_ice_strans_create @ 14 NONAME
|
||||
pj_ice_strans_create_comp @ 15 NONAME
|
||||
pj_ice_strans_destroy @ 16 NONAME
|
||||
pj_ice_strans_enum_cands @ 17 NONAME
|
||||
pj_ice_strans_get_comps_status @ 18 NONAME
|
||||
pj_ice_strans_init_ice @ 19 NONAME
|
||||
pj_ice_strans_sendto @ 20 NONAME
|
||||
pj_ice_strans_set_stun_domain @ 21 NONAME
|
||||
pj_ice_strans_set_stun_srv @ 22 NONAME
|
||||
pj_ice_strans_start_ice @ 23 NONAME
|
||||
pj_ice_strans_stop_ice @ 24 NONAME
|
||||
pj_stun_auth_cred_dup @ 25 NONAME
|
||||
pj_stun_auth_valid_for_msg @ 26 NONAME
|
||||
pj_stun_authenticate_request @ 27 NONAME
|
||||
pj_stun_authenticate_response @ 28 NONAME
|
||||
pj_stun_binary_attr_create @ 29 NONAME
|
||||
pj_stun_client_tsx_create @ 30 NONAME
|
||||
pj_stun_client_tsx_destroy @ 31 NONAME
|
||||
pj_stun_client_tsx_get_data @ 32 NONAME
|
||||
pj_stun_client_tsx_is_complete @ 33 NONAME
|
||||
pj_stun_client_tsx_on_rx_msg @ 34 NONAME
|
||||
pj_stun_client_tsx_retransmit @ 35 NONAME
|
||||
pj_stun_client_tsx_schedule_destroy @ 36 NONAME
|
||||
pj_stun_client_tsx_send_msg @ 37 NONAME
|
||||
pj_stun_client_tsx_set_data @ 38 NONAME
|
||||
pj_stun_create_key @ 39 NONAME
|
||||
pj_stun_detect_nat_type @ 40 NONAME
|
||||
pj_stun_empty_attr_create @ 41 NONAME
|
||||
pj_stun_errcode_attr_create @ 42 NONAME
|
||||
pj_stun_get_attr_name @ 43 NONAME
|
||||
pj_stun_get_class_name @ 44 NONAME
|
||||
pj_stun_get_err_reason @ 45 NONAME
|
||||
pj_stun_get_method_name @ 46 NONAME
|
||||
pj_stun_get_nat_name @ 47 NONAME
|
||||
pj_stun_msg_add_attr @ 48 NONAME
|
||||
pj_stun_msg_add_binary_attr @ 49 NONAME
|
||||
pj_stun_msg_add_empty_attr @ 50 NONAME
|
||||
pj_stun_msg_add_errcode_attr @ 51 NONAME
|
||||
pj_stun_msg_add_msgint_attr @ 52 NONAME
|
||||
pj_stun_msg_add_sockaddr_attr @ 53 NONAME
|
||||
pj_stun_msg_add_string_attr @ 54 NONAME
|
||||
pj_stun_msg_add_uint64_attr @ 55 NONAME
|
||||
pj_stun_msg_add_uint_attr @ 56 NONAME
|
||||
pj_stun_msg_add_unknown_attr @ 57 NONAME
|
||||
pj_stun_msg_check @ 58 NONAME
|
||||
pj_stun_msg_create @ 59 NONAME
|
||||
pj_stun_msg_create_response @ 60 NONAME
|
||||
pj_stun_msg_decode @ 61 NONAME
|
||||
pj_stun_msg_destroy_tdata @ 62 NONAME
|
||||
pj_stun_msg_dump @ 63 NONAME
|
||||
pj_stun_msg_encode @ 64 NONAME
|
||||
pj_stun_msg_find_attr @ 65 NONAME
|
||||
pj_stun_msgint_attr_create @ 66 NONAME
|
||||
pj_stun_session_cancel_req @ 67 NONAME
|
||||
pj_stun_session_create @ 68 NONAME
|
||||
pj_stun_session_create_ind @ 69 NONAME
|
||||
pj_stun_session_create_req @ 70 NONAME
|
||||
pj_stun_session_create_res @ 71 NONAME
|
||||
pj_stun_session_destroy @ 72 NONAME
|
||||
pj_stun_session_get_user_data @ 73 NONAME
|
||||
pj_stun_session_on_rx_pkt @ 74 NONAME
|
||||
pj_stun_session_retransmit_req @ 75 NONAME
|
||||
pj_stun_session_send_msg @ 76 NONAME
|
||||
pj_stun_session_set_credential @ 77 NONAME
|
||||
pj_stun_session_set_server_name @ 78 NONAME
|
||||
pj_stun_session_set_user_data @ 79 NONAME
|
||||
pj_stun_set_padding_char @ 80 NONAME
|
||||
pj_stun_sockaddr_attr_create @ 81 NONAME
|
||||
pj_stun_string_attr_create @ 82 NONAME
|
||||
pj_stun_uint64_attr_create @ 83 NONAME
|
||||
pj_stun_uint_attr_create @ 84 NONAME
|
||||
pj_stun_unknown_attr_create @ 85 NONAME
|
||||
pjnath_init @ 86 NONAME
|
||||
pjnath_perror @ 87 NONAME
|
386
pjproject-2.11.1/build.symbian/pjproject.cww
Normal file
386
pjproject-2.11.1/build.symbian/pjproject.cww
Normal file
|
@ -0,0 +1,386 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<?codewarrior exportversion="1.0" ideversion="5.5" success="y" ?>
|
||||
|
||||
<!DOCTYPE MWIDEWORKSPACE [
|
||||
<!ELEMENT MWIDEWORKSPACE (WINDOW*, COMWINDOW*)>
|
||||
<!ELEMENT WINDOW (SESSION, EDOCTYPE, PATH, FRAMELOC, FRAMESIZE, DOCKINFO)>
|
||||
<!ELEMENT COMWINDOW (SESSION, CLSID, OWNERPROJECT, DATA, FRAMELOC, FRAMESIZE, DOCKINFO)>
|
||||
<!ELEMENT SESSION (#PCDATA)>
|
||||
<!ELEMENT EDOCTYPE (#PCDATA)>
|
||||
<!ELEMENT DEFAULT (#PCDATA)>
|
||||
<!ELEMENT MAXIMIZED (#PCDATA)>
|
||||
<!ELEMENT PATH (#PCDATA)>
|
||||
<!ATTLIST PATH USERELATIVEPATHS (true | false) "true">
|
||||
<!ELEMENT FRAMELOC (X, Y)>
|
||||
<!ELEMENT X (#PCDATA)>
|
||||
<!ELEMENT Y (#PCDATA)>
|
||||
<!ELEMENT FRAMESIZE (W, H)>
|
||||
<!ELEMENT W (#PCDATA)>
|
||||
<!ELEMENT H (#PCDATA)>
|
||||
<!ELEMENT DOCKINFO (STATUS, ROW, COLUMN, DOCKBARID, PCTWIDTH, HGT, GROUPID)>
|
||||
<!ELEMENT STATUS (#PCDATA)>
|
||||
<!ELEMENT ROW (#PCDATA)>
|
||||
<!ELEMENT COLUMN (#PCDATA)>
|
||||
<!ELEMENT DOCKBARID (#PCDATA)>
|
||||
<!ELEMENT PCTWIDTH (#PCDATA)>
|
||||
<!ELEMENT HGT (#PCDATA)>
|
||||
<!ELEMENT GROUPID (GIDHIGHPART, GIDLOWPART)>
|
||||
<!ELEMENT GIDHIGHPART (#PCDATA)>
|
||||
<!ELEMENT GIDLOWPART (#PCDATA)>
|
||||
<!ELEMENT CLSID (#PCDATA)>
|
||||
<!ELEMENT OWNERPROJECT (#PCDATA)>
|
||||
<!ATTLIST OWNERPROJECT USERELATIVEPATHS (true | false) "true">
|
||||
<!ELEMENT DATA (#PCDATA)>
|
||||
<!ATTLIST DATA BINARYFORMAT (true | false) "true">
|
||||
]>
|
||||
|
||||
<MWIDEWORKSPACE>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<DEFAULT>true</DEFAULT>
|
||||
<PATH USERELATIVEPATHS = "true">pjlib.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjlib_util.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjnath.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">null_audio.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjsdp.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjmedia.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjsip.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjsip_simple.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjsip_ua.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjsua_lib.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">symbian_ua.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-2147483648</SESSION>
|
||||
<EDOCTYPE>20</EDOCTYPE>
|
||||
<FRAMELOC>
|
||||
<X>4</X>
|
||||
<Y>23</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>1464</W>
|
||||
<H>3681</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>0</STATUS>
|
||||
<ROW></ROW>
|
||||
<COLUMN></COLUMN>
|
||||
<DOCKBARID></DOCKBARID>
|
||||
<PCTWIDTH></PCTWIDTH>
|
||||
<HGT></HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART></GIDHIGHPART>
|
||||
<GIDLOWPART></GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-2147483648</SESSION>
|
||||
<EDOCTYPE>36</EDOCTYPE>
|
||||
<FRAMELOC>
|
||||
<X>4</X>
|
||||
<Y>23</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>366</W>
|
||||
<H>354</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>0</STATUS>
|
||||
<ROW></ROW>
|
||||
<COLUMN></COLUMN>
|
||||
<DOCKBARID></DOCKBARID>
|
||||
<PCTWIDTH></PCTWIDTH>
|
||||
<HGT></HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART></GIDHIGHPART>
|
||||
<GIDLOWPART></GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-2147483648</SESSION>
|
||||
<EDOCTYPE>23</EDOCTYPE>
|
||||
<FRAMELOC>
|
||||
<X>6</X>
|
||||
<Y>81</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>566</W>
|
||||
<H>477</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>0</STATUS>
|
||||
<ROW></ROW>
|
||||
<COLUMN></COLUMN>
|
||||
<DOCKBARID></DOCKBARID>
|
||||
<PCTWIDTH></PCTWIDTH>
|
||||
<HGT></HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART></GIDHIGHPART>
|
||||
<GIDLOWPART></GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
</MWIDEWORKSPACE>
|
46
pjproject-2.11.1/build.symbian/pjsdp.mmp
Normal file
46
pjproject-2.11.1/build.symbian/pjsdp.mmp
Normal file
|
@ -0,0 +1,46 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
TARGET pjsdp.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000006
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjlib_util.lib pjlib.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjsdp.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjsdp.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
//
|
||||
// Platform independent source
|
||||
//
|
||||
SOURCE errno.c
|
||||
SOURCE sdp_wrap.cpp
|
||||
SOURCE sdp_cmp.c
|
||||
SOURCE sdp_neg.c
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
45
pjproject-2.11.1/build.symbian/pjsdpU.def
Normal file
45
pjproject-2.11.1/build.symbian/pjsdpU.def
Normal file
|
@ -0,0 +1,45 @@
|
|||
EXPORTS
|
||||
pjmedia_sdp_attr_add @ 1 NONAME
|
||||
pjmedia_sdp_attr_clone @ 2 NONAME
|
||||
pjmedia_sdp_attr_create @ 3 NONAME
|
||||
pjmedia_sdp_attr_find @ 4 NONAME
|
||||
pjmedia_sdp_attr_find2 @ 5 NONAME
|
||||
pjmedia_sdp_attr_get_fmtp @ 6 NONAME
|
||||
pjmedia_sdp_attr_get_rtcp @ 7 NONAME
|
||||
pjmedia_sdp_attr_get_rtpmap @ 8 NONAME
|
||||
pjmedia_sdp_attr_remove @ 9 NONAME
|
||||
pjmedia_sdp_attr_remove_all @ 10 NONAME
|
||||
pjmedia_sdp_attr_to_rtpmap @ 11 NONAME
|
||||
pjmedia_sdp_conn_clone @ 12 NONAME
|
||||
pjmedia_sdp_media_add_attr @ 13 NONAME
|
||||
pjmedia_sdp_media_clone @ 14 NONAME
|
||||
pjmedia_sdp_media_cmp @ 15 NONAME
|
||||
pjmedia_sdp_media_find_attr @ 16 NONAME
|
||||
pjmedia_sdp_media_find_attr2 @ 17 NONAME
|
||||
pjmedia_sdp_media_remove_all_attr @ 18 NONAME
|
||||
pjmedia_sdp_media_remove_attr @ 19 NONAME
|
||||
pjmedia_sdp_neg_cancel_offer @ 20 NONAME
|
||||
pjmedia_sdp_neg_create_w_local_offer @ 21 NONAME
|
||||
pjmedia_sdp_neg_create_w_remote_offer @ 22 NONAME
|
||||
pjmedia_sdp_neg_get_active_local @ 23 NONAME
|
||||
pjmedia_sdp_neg_get_active_remote @ 24 NONAME
|
||||
pjmedia_sdp_neg_get_neg_local @ 25 NONAME
|
||||
pjmedia_sdp_neg_get_neg_remote @ 26 NONAME
|
||||
pjmedia_sdp_neg_get_state @ 27 NONAME
|
||||
pjmedia_sdp_neg_has_local_answer @ 28 NONAME
|
||||
pjmedia_sdp_neg_modify_local_offer @ 29 NONAME
|
||||
pjmedia_sdp_neg_negotiate @ 30 NONAME
|
||||
pjmedia_sdp_neg_send_local_offer @ 31 NONAME
|
||||
pjmedia_sdp_neg_set_local_answer @ 32 NONAME
|
||||
pjmedia_sdp_neg_set_prefer_remote_codec_order @ 33 NONAME
|
||||
pjmedia_sdp_neg_set_remote_answer @ 34 NONAME
|
||||
pjmedia_sdp_neg_set_remote_offer @ 35 NONAME
|
||||
pjmedia_sdp_neg_state_str @ 36 NONAME
|
||||
pjmedia_sdp_neg_was_answer_remote @ 37 NONAME
|
||||
pjmedia_sdp_parse @ 38 NONAME
|
||||
pjmedia_sdp_print @ 39 NONAME
|
||||
pjmedia_sdp_rtpmap_to_attr @ 40 NONAME
|
||||
pjmedia_sdp_session_clone @ 41 NONAME
|
||||
pjmedia_sdp_session_cmp @ 42 NONAME
|
||||
pjmedia_sdp_validate @ 43 NONAME
|
||||
pjmedia_strerror @ 44 NONAME
|
69
pjproject-2.11.1/build.symbian/pjsip.mmp
Normal file
69
pjproject-2.11.1/build.symbian/pjsip.mmp
Normal file
|
@ -0,0 +1,69 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET pjsip.dll
|
||||
TARGETTYPE dll
|
||||
|
||||
UID 0x0 0xA0000007
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjsip.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjsip.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjsip\src\pjsip
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
// PJSIP-CORE files
|
||||
|
||||
//SOURCE sip_auth_aka.c
|
||||
SOURCE sip_auth_client.c
|
||||
SOURCE sip_auth_msg.c
|
||||
SOURCE sip_auth_parser_wrap.cpp
|
||||
SOURCE sip_auth_server.c
|
||||
SOURCE sip_config.c
|
||||
SOURCE sip_dialog_wrap.cpp
|
||||
SOURCE sip_endpoint_wrap.cpp
|
||||
SOURCE sip_errno.c
|
||||
SOURCE sip_msg.c
|
||||
SOURCE sip_multipart.c
|
||||
SOURCE sip_parser_wrap.cpp
|
||||
SOURCE sip_resolve.c
|
||||
SOURCE sip_tel_uri_wrap.cpp
|
||||
SOURCE sip_transaction.c
|
||||
SOURCE sip_transport_wrap.cpp
|
||||
SOURCE sip_transport_loop.c
|
||||
SOURCE sip_transport_tcp.c
|
||||
SOURCE sip_transport_udp.c
|
||||
SOURCE sip_transport_tls.c
|
||||
SOURCE sip_ua_layer.c
|
||||
SOURCE sip_uri.c
|
||||
SOURCE sip_util_wrap.cpp
|
||||
SOURCE sip_util_proxy_wrap.cpp
|
||||
SOURCE sip_util_statefull.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjsip\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
280
pjproject-2.11.1/build.symbian/pjsipU.def
Normal file
280
pjproject-2.11.1/build.symbian/pjsipU.def
Normal file
|
@ -0,0 +1,280 @@
|
|||
EXPORTS
|
||||
pjsip_accept_hdr_create @ 1 NONAME
|
||||
pjsip_accept_hdr_init @ 2 NONAME
|
||||
pjsip_ack_method @ 3 NONAME
|
||||
pjsip_allow_hdr_create @ 4 NONAME
|
||||
pjsip_allow_hdr_init @ 5 NONAME
|
||||
pjsip_auth_clt_clone @ 6 NONAME
|
||||
pjsip_auth_clt_get_prefs @ 7 NONAME
|
||||
pjsip_auth_clt_init @ 8 NONAME
|
||||
pjsip_auth_clt_init_req @ 9 NONAME
|
||||
pjsip_auth_clt_reinit_req @ 10 NONAME
|
||||
pjsip_auth_clt_set_credentials @ 11 NONAME
|
||||
pjsip_auth_clt_set_prefs @ 12 NONAME
|
||||
pjsip_auth_create_digest @ 13 NONAME
|
||||
pjsip_auth_deinit_parser @ 14 NONAME
|
||||
pjsip_auth_init_parser @ 15 NONAME
|
||||
pjsip_auth_srv_challenge @ 16 NONAME
|
||||
pjsip_auth_srv_init @ 17 NONAME
|
||||
pjsip_auth_srv_verify @ 18 NONAME
|
||||
pjsip_authorization_hdr_create @ 19 NONAME
|
||||
pjsip_bye_method @ 20 NONAME
|
||||
pjsip_calculate_branch_id @ 21 NONAME
|
||||
pjsip_cancel_method @ 22 NONAME
|
||||
pjsip_cid_hdr_create @ 23 NONAME
|
||||
pjsip_cid_hdr_init @ 24 NONAME
|
||||
pjsip_clen_hdr_create @ 25 NONAME
|
||||
pjsip_clen_hdr_init @ 26 NONAME
|
||||
pjsip_clone_text_data @ 27 NONAME
|
||||
pjsip_concat_param_imp @ 28 NONAME
|
||||
pjsip_contact_hdr_create @ 29 NONAME
|
||||
pjsip_contact_hdr_init @ 30 NONAME
|
||||
pjsip_cred_info_dup @ 31 NONAME
|
||||
pjsip_cseq_hdr_create @ 32 NONAME
|
||||
pjsip_cseq_hdr_init @ 33 NONAME
|
||||
pjsip_ctype_hdr_create @ 34 NONAME
|
||||
pjsip_ctype_hdr_init @ 35 NONAME
|
||||
pjsip_dlg_add_usage @ 36 NONAME
|
||||
pjsip_dlg_create_request @ 37 NONAME
|
||||
pjsip_dlg_create_response @ 38 NONAME
|
||||
pjsip_dlg_create_uac @ 39 NONAME
|
||||
pjsip_dlg_create_uas @ 40 NONAME
|
||||
pjsip_dlg_dec_lock @ 41 NONAME
|
||||
pjsip_dlg_dec_session @ 42 NONAME
|
||||
pjsip_dlg_fork @ 43 NONAME
|
||||
pjsip_dlg_get_mod_data @ 44 NONAME
|
||||
pjsip_dlg_inc_lock @ 45 NONAME
|
||||
pjsip_dlg_inc_session @ 46 NONAME
|
||||
pjsip_dlg_modify_response @ 47 NONAME
|
||||
pjsip_dlg_respond @ 48 NONAME
|
||||
pjsip_dlg_send_request @ 49 NONAME
|
||||
pjsip_dlg_send_response @ 50 NONAME
|
||||
pjsip_dlg_set_mod_data @ 51 NONAME
|
||||
pjsip_dlg_set_route_set @ 52 NONAME
|
||||
pjsip_dlg_set_transport @ 53 NONAME
|
||||
pjsip_dlg_terminate @ 54 NONAME
|
||||
pjsip_dlg_try_inc_lock @ 55 NONAME
|
||||
pjsip_endpt_acquire_transport @ 56 NONAME
|
||||
pjsip_endpt_add_capability @ 57 NONAME
|
||||
pjsip_endpt_cancel_timer @ 58 NONAME
|
||||
pjsip_endpt_create @ 59 NONAME
|
||||
pjsip_endpt_create_ack @ 60 NONAME
|
||||
pjsip_endpt_create_cancel @ 61 NONAME
|
||||
pjsip_endpt_create_pool @ 62 NONAME
|
||||
pjsip_endpt_create_request @ 63 NONAME
|
||||
pjsip_endpt_create_request_from_hdr @ 64 NONAME
|
||||
pjsip_endpt_create_request_fwd @ 65 NONAME
|
||||
pjsip_endpt_create_resolver @ 66 NONAME
|
||||
pjsip_endpt_create_response @ 67 NONAME
|
||||
pjsip_endpt_create_response_fwd @ 68 NONAME
|
||||
pjsip_endpt_create_tdata @ 69 NONAME
|
||||
pjsip_endpt_destroy @ 70 NONAME
|
||||
pjsip_endpt_dump @ 71 NONAME
|
||||
pjsip_endpt_get_capability @ 72 NONAME
|
||||
pjsip_endpt_get_ioqueue @ 73 NONAME
|
||||
pjsip_endpt_get_request_headers @ 74 NONAME
|
||||
pjsip_endpt_get_resolver @ 75 NONAME
|
||||
pjsip_endpt_get_timer_heap @ 76 NONAME
|
||||
pjsip_endpt_get_tpmgr @ 77 NONAME
|
||||
pjsip_endpt_handle_events @ 78 NONAME
|
||||
pjsip_endpt_handle_events2 @ 79 NONAME
|
||||
pjsip_endpt_has_capability @ 80 NONAME
|
||||
pjsip_endpt_log_error @ 81 NONAME
|
||||
pjsip_endpt_name @ 82 NONAME
|
||||
pjsip_endpt_register_module @ 83 NONAME
|
||||
pjsip_endpt_release_pool @ 84 NONAME
|
||||
pjsip_endpt_resolve @ 85 NONAME
|
||||
pjsip_endpt_respond @ 86 NONAME
|
||||
pjsip_endpt_respond_stateless @ 87 NONAME
|
||||
pjsip_endpt_schedule_timer @ 88 NONAME
|
||||
pjsip_endpt_send_raw @ 89 NONAME
|
||||
pjsip_endpt_send_raw_to_uri @ 90 NONAME
|
||||
pjsip_endpt_send_request @ 91 NONAME
|
||||
pjsip_endpt_send_request_stateless @ 92 NONAME
|
||||
pjsip_endpt_send_response @ 93 NONAME
|
||||
pjsip_endpt_send_response2 @ 94 NONAME
|
||||
pjsip_endpt_set_resolver @ 95 NONAME
|
||||
pjsip_endpt_unregister_module @ 96 NONAME
|
||||
pjsip_event_str @ 97 NONAME
|
||||
pjsip_expires_hdr_create @ 98 NONAME
|
||||
pjsip_expires_hdr_init @ 99 NONAME
|
||||
pjsip_find_msg @ 100 NONAME
|
||||
pjsip_from_hdr_create @ 101 NONAME
|
||||
pjsip_from_hdr_init @ 102 NONAME
|
||||
pjsip_fromto_hdr_set_from @ 103 NONAME
|
||||
pjsip_fromto_hdr_set_to @ 104 NONAME
|
||||
pjsip_generic_array_hdr_create @ 105 NONAME
|
||||
pjsip_generic_array_hdr_init @ 106 NONAME
|
||||
pjsip_generic_int_hdr_create @ 107 NONAME
|
||||
pjsip_generic_int_hdr_init @ 108 NONAME
|
||||
pjsip_generic_string_hdr_create @ 109 NONAME
|
||||
pjsip_generic_string_hdr_init @ 110 NONAME
|
||||
pjsip_generic_string_hdr_init2 @ 111 NONAME
|
||||
pjsip_get_ack_method @ 112 NONAME
|
||||
pjsip_get_bye_method @ 113 NONAME
|
||||
pjsip_get_cancel_method @ 114 NONAME
|
||||
pjsip_get_invite_method @ 115 NONAME
|
||||
pjsip_get_options_method @ 116 NONAME
|
||||
pjsip_get_register_method @ 117 NONAME
|
||||
pjsip_get_request_dest @ 118 NONAME
|
||||
pjsip_get_response_addr @ 119 NONAME
|
||||
pjsip_get_status_text @ 120 NONAME
|
||||
pjsip_hdr_clone @ 121 NONAME
|
||||
pjsip_hdr_print_on @ 122 NONAME
|
||||
pjsip_hdr_shallow_clone @ 123 NONAME
|
||||
pjsip_invite_method @ 124 NONAME
|
||||
pjsip_loop_set_delay @ 125 NONAME
|
||||
pjsip_loop_set_discard @ 126 NONAME
|
||||
pjsip_loop_set_failure @ 127 NONAME
|
||||
pjsip_loop_set_recv_delay @ 128 NONAME
|
||||
pjsip_loop_set_send_callback_delay @ 129 NONAME
|
||||
pjsip_loop_start @ 130 NONAME
|
||||
pjsip_max_fwd_hdr_create @ 131 NONAME
|
||||
pjsip_max_fwd_hdr_init @ 132 NONAME
|
||||
pjsip_method_cmp @ 133 NONAME
|
||||
pjsip_method_copy @ 134 NONAME
|
||||
pjsip_method_creates_dialog @ 135 NONAME
|
||||
pjsip_method_init @ 136 NONAME
|
||||
pjsip_method_init_np @ 137 NONAME
|
||||
pjsip_method_set @ 138 NONAME
|
||||
pjsip_min_expires_hdr_create @ 139 NONAME
|
||||
pjsip_min_expires_hdr_init @ 140 NONAME
|
||||
pjsip_msg_body_clone @ 141 NONAME
|
||||
pjsip_msg_body_copy @ 142 NONAME
|
||||
pjsip_msg_body_create @ 143 NONAME
|
||||
pjsip_msg_clone @ 144 NONAME
|
||||
pjsip_msg_create @ 145 NONAME
|
||||
pjsip_msg_find_hdr @ 146 NONAME
|
||||
pjsip_msg_find_hdr_by_name @ 147 NONAME
|
||||
pjsip_msg_find_remove_hdr @ 148 NONAME
|
||||
pjsip_msg_print @ 149 NONAME
|
||||
pjsip_name_addr_assign @ 150 NONAME
|
||||
pjsip_name_addr_create @ 151 NONAME
|
||||
pjsip_name_addr_init @ 152 NONAME
|
||||
pjsip_options_method @ 153 NONAME
|
||||
pjsip_param_cfind @ 154 NONAME
|
||||
pjsip_param_clone @ 155 NONAME
|
||||
pjsip_param_find @ 156 NONAME
|
||||
pjsip_param_print_on @ 157 NONAME
|
||||
pjsip_param_shallow_clone @ 158 NONAME
|
||||
pjsip_parse_end_hdr_imp @ 159 NONAME
|
||||
pjsip_parse_hdr @ 160 NONAME
|
||||
pjsip_parse_msg @ 161 NONAME
|
||||
pjsip_parse_param_imp @ 162 NONAME
|
||||
pjsip_parse_rdata @ 163 NONAME
|
||||
pjsip_parse_status_line @ 164 NONAME
|
||||
pjsip_parse_uri @ 165 NONAME
|
||||
pjsip_parse_uri_param_imp @ 166 NONAME
|
||||
pjsip_parser_const @ 167 NONAME
|
||||
pjsip_print_text_body @ 168 NONAME
|
||||
pjsip_process_route_set @ 169 NONAME
|
||||
pjsip_proxy_authenticate_hdr_create @ 170 NONAME
|
||||
pjsip_proxy_authorization_hdr_create @ 171 NONAME
|
||||
pjsip_rdata_get_dlg @ 172 NONAME
|
||||
pjsip_rdata_get_tsx @ 173 NONAME
|
||||
pjsip_register_hdr_parser @ 174 NONAME
|
||||
pjsip_register_method @ 175 NONAME
|
||||
pjsip_register_uri_parser @ 176 NONAME
|
||||
pjsip_require_hdr_create @ 177 NONAME
|
||||
pjsip_require_hdr_init @ 178 NONAME
|
||||
pjsip_resolve @ 179 NONAME
|
||||
pjsip_resolver_create @ 180 NONAME
|
||||
pjsip_resolver_destroy @ 181 NONAME
|
||||
pjsip_resolver_get_resolver @ 182 NONAME
|
||||
pjsip_resolver_set_resolver @ 183 NONAME
|
||||
pjsip_retry_after_hdr_create @ 184 NONAME
|
||||
pjsip_retry_after_hdr_init @ 185 NONAME
|
||||
pjsip_role_name @ 186 NONAME
|
||||
pjsip_route_hdr_create @ 187 NONAME
|
||||
pjsip_route_hdr_init @ 188 NONAME
|
||||
pjsip_routing_hdr_set_route @ 189 NONAME
|
||||
pjsip_routing_hdr_set_rr @ 190 NONAME
|
||||
pjsip_rr_hdr_create @ 191 NONAME
|
||||
pjsip_rr_hdr_init @ 192 NONAME
|
||||
pjsip_rx_data_get_info @ 193 NONAME
|
||||
pjsip_sip_uri_assign @ 194 NONAME
|
||||
pjsip_sip_uri_create @ 195 NONAME
|
||||
pjsip_sip_uri_init @ 196 NONAME
|
||||
pjsip_sip_uri_set_secure @ 197 NONAME
|
||||
pjsip_strerror @ 198 NONAME
|
||||
pjsip_supported_hdr_create @ 199 NONAME
|
||||
pjsip_supported_hdr_init @ 200 NONAME
|
||||
pjsip_tcp_transport_start @ 201 NONAME
|
||||
pjsip_tcp_transport_start2 @ 202 NONAME
|
||||
pjsip_tel_nb_cmp @ 203 NONAME
|
||||
pjsip_tel_uri_create @ 204 NONAME
|
||||
pjsip_to_hdr_create @ 205 NONAME
|
||||
pjsip_to_hdr_init @ 206 NONAME
|
||||
pjsip_tpmgr_acquire_transport @ 207 NONAME
|
||||
pjsip_tpmgr_create @ 208 NONAME
|
||||
pjsip_tpmgr_destroy @ 209 NONAME
|
||||
pjsip_tpmgr_dump_transports @ 210 NONAME
|
||||
pjsip_tpmgr_find_local_addr @ 211 NONAME
|
||||
pjsip_tpmgr_get_transport_count @ 212 NONAME
|
||||
pjsip_tpmgr_receive_packet @ 213 NONAME
|
||||
pjsip_tpmgr_register_tpfactory @ 214 NONAME
|
||||
pjsip_tpmgr_send_raw @ 215 NONAME
|
||||
pjsip_tpmgr_unregister_tpfactory @ 216 NONAME
|
||||
pjsip_tpselector_add_ref @ 217 NONAME
|
||||
pjsip_tpselector_dec_ref @ 218 NONAME
|
||||
pjsip_transport_add_ref @ 219 NONAME
|
||||
pjsip_transport_dec_ref @ 220 NONAME
|
||||
pjsip_transport_destroy @ 221 NONAME
|
||||
pjsip_transport_get_default_port_for_type @ 222 NONAME
|
||||
pjsip_transport_get_flag_from_type @ 223 NONAME
|
||||
pjsip_transport_get_type_desc @ 224 NONAME
|
||||
pjsip_transport_get_type_from_flag @ 225 NONAME
|
||||
pjsip_transport_get_type_from_name @ 226 NONAME
|
||||
pjsip_transport_get_type_name @ 227 NONAME
|
||||
pjsip_transport_register @ 228 NONAME
|
||||
pjsip_transport_register_type @ 229 NONAME
|
||||
pjsip_transport_send @ 230 NONAME
|
||||
pjsip_transport_shutdown @ 231 NONAME
|
||||
pjsip_transport_type_get_af @ 232 NONAME
|
||||
pjsip_tsx_create_key @ 233 NONAME
|
||||
pjsip_tsx_create_uac @ 234 NONAME
|
||||
pjsip_tsx_create_uas @ 235 NONAME
|
||||
pjsip_tsx_get_dlg @ 236 NONAME
|
||||
pjsip_tsx_layer_destroy @ 237 NONAME
|
||||
pjsip_tsx_layer_dump @ 238 NONAME
|
||||
pjsip_tsx_layer_find_tsx @ 239 NONAME
|
||||
pjsip_tsx_layer_get_tsx_count @ 240 NONAME
|
||||
pjsip_tsx_layer_init_module @ 241 NONAME
|
||||
pjsip_tsx_layer_instance @ 242 NONAME
|
||||
pjsip_tsx_recv_msg @ 243 NONAME
|
||||
pjsip_tsx_retransmit_no_state @ 244 NONAME
|
||||
pjsip_tsx_send_msg @ 245 NONAME
|
||||
pjsip_tsx_set_transport @ 246 NONAME
|
||||
pjsip_tsx_state_str @ 247 NONAME
|
||||
pjsip_tsx_stop_retransmit @ 248 NONAME
|
||||
pjsip_tsx_terminate @ 249 NONAME
|
||||
pjsip_tx_data_add_ref @ 250 NONAME
|
||||
pjsip_tx_data_create @ 251 NONAME
|
||||
pjsip_tx_data_dec_ref @ 252 NONAME
|
||||
pjsip_tx_data_get_info @ 253 NONAME
|
||||
pjsip_tx_data_invalidate_msg @ 254 NONAME
|
||||
pjsip_tx_data_is_valid @ 255 NONAME
|
||||
pjsip_tx_data_set_transport @ 256 NONAME
|
||||
pjsip_ua_destroy @ 257 NONAME
|
||||
pjsip_ua_dump @ 258 NONAME
|
||||
pjsip_ua_find_dialog @ 259 NONAME
|
||||
pjsip_ua_get_dlg_set_count @ 260 NONAME
|
||||
pjsip_ua_get_endpt @ 261 NONAME
|
||||
pjsip_ua_init_module @ 262 NONAME
|
||||
pjsip_ua_instance @ 263 NONAME
|
||||
pjsip_ua_register_dlg @ 264 NONAME
|
||||
pjsip_ua_unregister_dlg @ 265 NONAME
|
||||
pjsip_udp_transport_attach @ 266 NONAME
|
||||
pjsip_udp_transport_attach2 @ 267 NONAME
|
||||
pjsip_udp_transport_get_socket @ 268 NONAME
|
||||
pjsip_udp_transport_pause @ 269 NONAME
|
||||
pjsip_udp_transport_restart @ 270 NONAME
|
||||
pjsip_udp_transport_start @ 271 NONAME
|
||||
pjsip_udp_transport_start6 @ 272 NONAME
|
||||
pjsip_unsupported_hdr_create @ 273 NONAME
|
||||
pjsip_unsupported_hdr_init @ 274 NONAME
|
||||
pjsip_via_hdr_create @ 275 NONAME
|
||||
pjsip_via_hdr_init @ 276 NONAME
|
||||
pjsip_warning_hdr_create @ 277 NONAME
|
||||
pjsip_warning_hdr_create_from_status @ 278 NONAME
|
||||
pjsip_www_authenticate_hdr_create @ 279 NONAME
|
54
pjproject-2.11.1/build.symbian/pjsip_simple.mmp
Normal file
54
pjproject-2.11.1/build.symbian/pjsip_simple.mmp
Normal file
|
@ -0,0 +1,54 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET pjsip_simple.dll
|
||||
TARGETTYPE dll
|
||||
|
||||
UID 0x0 0xA0000008
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjsip.lib pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjsip_simple.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjsip_simple.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjsip\src\pjsip-simple
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
// PJSIP-SIMPLE files
|
||||
|
||||
SOURCE errno.c
|
||||
SOURCE evsub.c
|
||||
SOURCE evsub_msg.c
|
||||
SOURCE iscomposing.c
|
||||
SOURCE mwi.c
|
||||
SOURCE pidf.c
|
||||
SOURCE presence.c
|
||||
SOURCE presence_body.c
|
||||
SOURCE publishc.c
|
||||
SOURCE rpid.c
|
||||
SOURCE xpidf.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjsip\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
96
pjproject-2.11.1/build.symbian/pjsip_simpleU.def
Normal file
96
pjproject-2.11.1/build.symbian/pjsip_simpleU.def
Normal file
|
@ -0,0 +1,96 @@
|
|||
EXPORTS
|
||||
pjpidf_create @ 1 NONAME
|
||||
pjpidf_parse @ 2 NONAME
|
||||
pjpidf_pres_add_note @ 3 NONAME
|
||||
pjpidf_pres_add_tuple @ 4 NONAME
|
||||
pjpidf_pres_construct @ 5 NONAME
|
||||
pjpidf_pres_find_tuple @ 6 NONAME
|
||||
pjpidf_pres_get_first_note @ 7 NONAME
|
||||
pjpidf_pres_get_first_tuple @ 8 NONAME
|
||||
pjpidf_pres_get_next_note @ 9 NONAME
|
||||
pjpidf_pres_get_next_tuple @ 10 NONAME
|
||||
pjpidf_pres_remove_tuple @ 11 NONAME
|
||||
pjpidf_print @ 12 NONAME
|
||||
pjpidf_status_construct @ 13 NONAME
|
||||
pjpidf_status_is_basic_open @ 14 NONAME
|
||||
pjpidf_status_set_basic_open @ 15 NONAME
|
||||
pjpidf_tuple_add_note @ 16 NONAME
|
||||
pjpidf_tuple_construct @ 17 NONAME
|
||||
pjpidf_tuple_get_contact @ 18 NONAME
|
||||
pjpidf_tuple_get_contact_prio @ 19 NONAME
|
||||
pjpidf_tuple_get_first_note @ 20 NONAME
|
||||
pjpidf_tuple_get_id @ 21 NONAME
|
||||
pjpidf_tuple_get_next_note @ 22 NONAME
|
||||
pjpidf_tuple_get_status @ 23 NONAME
|
||||
pjpidf_tuple_get_timestamp @ 24 NONAME
|
||||
pjpidf_tuple_set_contact @ 25 NONAME
|
||||
pjpidf_tuple_set_contact_prio @ 26 NONAME
|
||||
pjpidf_tuple_set_id @ 27 NONAME
|
||||
pjpidf_tuple_set_timestamp @ 28 NONAME
|
||||
pjpidf_tuple_set_timestamp_np @ 29 NONAME
|
||||
pjrpid_add_element @ 30 NONAME
|
||||
pjrpid_element_dup @ 31 NONAME
|
||||
pjrpid_get_element @ 32 NONAME
|
||||
pjsip_allow_events_hdr_create @ 33 NONAME
|
||||
pjsip_event_hdr_create @ 34 NONAME
|
||||
pjsip_evsub_accept @ 35 NONAME
|
||||
pjsip_evsub_create_uac @ 36 NONAME
|
||||
pjsip_evsub_create_uas @ 37 NONAME
|
||||
pjsip_evsub_current_notify @ 38 NONAME
|
||||
pjsip_evsub_get_allow_events_hdr @ 39 NONAME
|
||||
pjsip_evsub_get_mod_data @ 40 NONAME
|
||||
pjsip_evsub_get_state @ 41 NONAME
|
||||
pjsip_evsub_get_state_name @ 42 NONAME
|
||||
pjsip_evsub_init_module @ 43 NONAME
|
||||
pjsip_evsub_init_parser @ 44 NONAME
|
||||
pjsip_evsub_initiate @ 45 NONAME
|
||||
pjsip_evsub_instance @ 46 NONAME
|
||||
pjsip_evsub_notify @ 47 NONAME
|
||||
pjsip_evsub_register_pkg @ 48 NONAME
|
||||
pjsip_evsub_send_request @ 49 NONAME
|
||||
pjsip_evsub_set_mod_data @ 50 NONAME
|
||||
pjsip_evsub_terminate @ 51 NONAME
|
||||
pjsip_get_notify_method @ 52 NONAME
|
||||
pjsip_get_subscribe_method @ 53 NONAME
|
||||
pjsip_iscomposing_create_body @ 54 NONAME
|
||||
pjsip_iscomposing_create_xml @ 55 NONAME
|
||||
pjsip_iscomposing_parse @ 56 NONAME
|
||||
pjsip_notify_method @ 57 NONAME
|
||||
pjsip_pres_accept @ 58 NONAME
|
||||
pjsip_pres_create_pidf @ 59 NONAME
|
||||
pjsip_pres_create_uac @ 60 NONAME
|
||||
pjsip_pres_create_uas @ 61 NONAME
|
||||
pjsip_pres_create_xpidf @ 62 NONAME
|
||||
pjsip_pres_current_notify @ 63 NONAME
|
||||
pjsip_pres_get_status @ 64 NONAME
|
||||
pjsip_pres_init_module @ 65 NONAME
|
||||
pjsip_pres_initiate @ 66 NONAME
|
||||
pjsip_pres_instance @ 67 NONAME
|
||||
pjsip_pres_notify @ 68 NONAME
|
||||
pjsip_pres_parse_pidf @ 69 NONAME
|
||||
pjsip_pres_parse_xpidf @ 70 NONAME
|
||||
pjsip_pres_send_request @ 71 NONAME
|
||||
pjsip_pres_set_status @ 72 NONAME
|
||||
pjsip_pres_terminate @ 73 NONAME
|
||||
pjsip_publishc_create @ 74 NONAME
|
||||
pjsip_publishc_destroy @ 75 NONAME
|
||||
pjsip_publishc_get_pool @ 76 NONAME
|
||||
pjsip_publishc_init @ 77 NONAME
|
||||
pjsip_publishc_init_module @ 78 NONAME
|
||||
pjsip_publishc_publish @ 79 NONAME
|
||||
pjsip_publishc_send @ 80 NONAME
|
||||
pjsip_publishc_set_credentials @ 81 NONAME
|
||||
pjsip_publishc_set_route_set @ 82 NONAME
|
||||
pjsip_publishc_unpublish @ 83 NONAME
|
||||
pjsip_publishc_update_expires @ 84 NONAME
|
||||
pjsip_sub_state_hdr_create @ 85 NONAME
|
||||
pjsip_subscribe_method @ 86 NONAME
|
||||
pjsip_tsx_get_evsub @ 87 NONAME
|
||||
pjsipsimple_strerror @ 88 NONAME
|
||||
pjxpidf_create @ 89 NONAME
|
||||
pjxpidf_get_status @ 90 NONAME
|
||||
pjxpidf_get_uri @ 91 NONAME
|
||||
pjxpidf_parse @ 92 NONAME
|
||||
pjxpidf_print @ 93 NONAME
|
||||
pjxpidf_set_status @ 94 NONAME
|
||||
pjxpidf_set_uri @ 95 NONAME
|
52
pjproject-2.11.1/build.symbian/pjsip_ua.mmp
Normal file
52
pjproject-2.11.1/build.symbian/pjsip_ua.mmp
Normal file
|
@ -0,0 +1,52 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET pjsip_ua.dll
|
||||
TARGETTYPE dll
|
||||
|
||||
UID 0x0 0xA0000009
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjsip_simple.lib pjsip.lib pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjsip_ua.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjsip_ua.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjsip\src\pjsip-ua
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
|
||||
// PJSIP-UA files
|
||||
|
||||
SOURCE sip_inv.c
|
||||
SOURCE sip_reg.c
|
||||
SOURCE sip_replaces.c
|
||||
SOURCE sip_xfer.c
|
||||
SOURCE sip_100rel.c
|
||||
SOURCE sip_timer.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjsip\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
58
pjproject-2.11.1/build.symbian/pjsip_uaU.def
Normal file
58
pjproject-2.11.1/build.symbian/pjsip_uaU.def
Normal file
|
@ -0,0 +1,58 @@
|
|||
EXPORTS
|
||||
pjsip_100rel_attach @ 1 NONAME
|
||||
pjsip_100rel_create_prack @ 2 NONAME
|
||||
pjsip_100rel_end_session @ 3 NONAME
|
||||
pjsip_100rel_init_module @ 4 NONAME
|
||||
pjsip_100rel_is_reliable @ 5 NONAME
|
||||
pjsip_100rel_on_rx_prack @ 6 NONAME
|
||||
pjsip_100rel_send_prack @ 7 NONAME
|
||||
pjsip_100rel_tx_response @ 8 NONAME
|
||||
pjsip_create_sdp_body @ 9 NONAME
|
||||
pjsip_dlg_get_inv_session @ 10 NONAME
|
||||
pjsip_get_prack_method @ 11 NONAME
|
||||
pjsip_get_refer_method @ 12 NONAME
|
||||
pjsip_inv_answer @ 13 NONAME
|
||||
pjsip_inv_create_ack @ 14 NONAME
|
||||
pjsip_inv_create_uac @ 15 NONAME
|
||||
pjsip_inv_create_uas @ 16 NONAME
|
||||
pjsip_inv_end_session @ 17 NONAME
|
||||
pjsip_inv_initial_answer @ 18 NONAME
|
||||
pjsip_inv_invite @ 19 NONAME
|
||||
pjsip_inv_reinvite @ 20 NONAME
|
||||
pjsip_inv_send_msg @ 21 NONAME
|
||||
pjsip_inv_set_sdp_answer @ 22 NONAME
|
||||
pjsip_inv_state_name @ 23 NONAME
|
||||
pjsip_inv_terminate @ 24 NONAME
|
||||
pjsip_inv_update @ 25 NONAME
|
||||
pjsip_inv_usage_init @ 26 NONAME
|
||||
pjsip_inv_usage_instance @ 27 NONAME
|
||||
pjsip_inv_verify_request @ 28 NONAME
|
||||
pjsip_prack_method @ 29 NONAME
|
||||
pjsip_refer_method @ 30 NONAME
|
||||
pjsip_regc_add_headers @ 31 NONAME
|
||||
pjsip_regc_create @ 32 NONAME
|
||||
pjsip_regc_destroy @ 33 NONAME
|
||||
pjsip_regc_get_info @ 34 NONAME
|
||||
pjsip_regc_get_pool @ 35 NONAME
|
||||
pjsip_regc_init @ 36 NONAME
|
||||
pjsip_regc_register @ 37 NONAME
|
||||
pjsip_regc_send @ 38 NONAME
|
||||
pjsip_regc_set_credentials @ 39 NONAME
|
||||
pjsip_regc_set_prefs @ 40 NONAME
|
||||
pjsip_regc_set_route_set @ 41 NONAME
|
||||
pjsip_regc_set_transport @ 42 NONAME
|
||||
pjsip_regc_unregister @ 43 NONAME
|
||||
pjsip_regc_unregister_all @ 44 NONAME
|
||||
pjsip_regc_update_contact @ 45 NONAME
|
||||
pjsip_regc_update_expires @ 46 NONAME
|
||||
pjsip_replaces_hdr_create @ 47 NONAME
|
||||
pjsip_replaces_init_module @ 48 NONAME
|
||||
pjsip_replaces_verify_request @ 49 NONAME
|
||||
pjsip_xfer_accept @ 50 NONAME
|
||||
pjsip_xfer_create_uac @ 51 NONAME
|
||||
pjsip_xfer_create_uas @ 52 NONAME
|
||||
pjsip_xfer_current_notify @ 53 NONAME
|
||||
pjsip_xfer_init_module @ 54 NONAME
|
||||
pjsip_xfer_initiate @ 55 NONAME
|
||||
pjsip_xfer_notify @ 56 NONAME
|
||||
pjsip_xfer_send_request @ 57 NONAME
|
41
pjproject-2.11.1/build.symbian/pjstun_client.mmp
Normal file
41
pjproject-2.11.1/build.symbian/pjstun_client.mmp
Normal file
|
@ -0,0 +1,41 @@
|
|||
TARGET pjstun_client.exe
|
||||
TARGETTYPE exe
|
||||
UID 0x0 0xA000000A
|
||||
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
SOURCEPATH ..\pjnath\src\pjstun-client
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// PJSTUN-CLIENT files
|
||||
|
||||
SOURCE client_main.c
|
||||
|
||||
//SOURCE main_symbian.cpp
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjnath\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
MACRO PJ_DLL
|
||||
LIBRARY pjnath.lib pjlib_util.lib pjlib.lib
|
||||
#else
|
||||
STATICLIBRARY pjnath.lib pjlib_util.lib pjlib.lib
|
||||
#endif
|
||||
|
||||
LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
|
||||
#ifdef WINSCW
|
||||
STATICLIBRARY eexe.lib ecrt0.lib
|
||||
#endif
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
|
55
pjproject-2.11.1/build.symbian/pjsua_lib.mmp
Normal file
55
pjproject-2.11.1/build.symbian/pjsua_lib.mmp
Normal file
|
@ -0,0 +1,55 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET pjsua_lib.dll
|
||||
TARGETTYPE dll
|
||||
|
||||
UID 0x0 0xA000000B
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjsip_ua.lib pjsip_simple.lib pjsip.lib pjmedia.lib null_audio.lib pjsdp.lib pjnath.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjsua_lib.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjsua_lib.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjsip\src\pjsua-lib
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
// PJLIB-UTIL files
|
||||
|
||||
SOURCE pjsua_acc.c
|
||||
SOURCE pjsua_aud.c
|
||||
SOURCE pjsua_call.c
|
||||
SOURCE pjsua_core.c
|
||||
SOURCE pjsua_dump.c
|
||||
SOURCE pjsua_im.c
|
||||
SOURCE pjsua_media.c
|
||||
SOURCE pjsua_pres.c
|
||||
SOURCE pjsua_vid.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjnath\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjsip\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
122
pjproject-2.11.1/build.symbian/pjsua_libU.def
Normal file
122
pjproject-2.11.1/build.symbian/pjsua_libU.def
Normal file
|
@ -0,0 +1,122 @@
|
|||
EXPORTS
|
||||
pjsua_acc_add @ 1 NONAME
|
||||
pjsua_acc_add_local @ 2 NONAME
|
||||
pjsua_acc_config_default @ 3 NONAME
|
||||
pjsua_acc_config_dup @ 4 NONAME
|
||||
pjsua_acc_create_request @ 5 NONAME
|
||||
pjsua_acc_create_uac_contact @ 6 NONAME
|
||||
pjsua_acc_create_uas_contact @ 7 NONAME
|
||||
pjsua_acc_del @ 8 NONAME
|
||||
pjsua_acc_enum_info @ 9 NONAME
|
||||
pjsua_acc_find_for_incoming @ 10 NONAME
|
||||
pjsua_acc_find_for_outgoing @ 11 NONAME
|
||||
pjsua_acc_get_count @ 12 NONAME
|
||||
pjsua_acc_get_default @ 13 NONAME
|
||||
pjsua_acc_get_info @ 14 NONAME
|
||||
pjsua_acc_is_valid @ 15 NONAME
|
||||
pjsua_acc_modify @ 16 NONAME
|
||||
pjsua_acc_set_default @ 17 NONAME
|
||||
pjsua_acc_set_online_status @ 18 NONAME
|
||||
pjsua_acc_set_online_status2 @ 19 NONAME
|
||||
pjsua_acc_set_registration @ 20 NONAME
|
||||
pjsua_acc_set_transport @ 21 NONAME
|
||||
pjsua_buddy_add @ 22 NONAME
|
||||
pjsua_buddy_config_default @ 23 NONAME
|
||||
pjsua_buddy_del @ 24 NONAME
|
||||
pjsua_buddy_get_info @ 25 NONAME
|
||||
pjsua_buddy_is_valid @ 26 NONAME
|
||||
pjsua_buddy_subscribe_pres @ 27 NONAME
|
||||
pjsua_buddy_update_pres @ 28 NONAME
|
||||
pjsua_call_answer @ 29 NONAME
|
||||
pjsua_call_dial_dtmf @ 30 NONAME
|
||||
pjsua_call_dump @ 31 NONAME
|
||||
pjsua_call_get_conf_port @ 32 NONAME
|
||||
pjsua_call_get_count @ 33 NONAME
|
||||
pjsua_call_get_info @ 34 NONAME
|
||||
pjsua_call_get_max_count @ 35 NONAME
|
||||
pjsua_call_get_rem_nat_type @ 36 NONAME
|
||||
pjsua_call_get_user_data @ 37 NONAME
|
||||
pjsua_call_hangup @ 38 NONAME
|
||||
pjsua_call_hangup_all @ 39 NONAME
|
||||
pjsua_call_has_media @ 40 NONAME
|
||||
pjsua_call_is_active @ 41 NONAME
|
||||
pjsua_call_make_call @ 42 NONAME
|
||||
pjsua_call_reinvite @ 43 NONAME
|
||||
pjsua_call_send_im @ 44 NONAME
|
||||
pjsua_call_send_request @ 45 NONAME
|
||||
pjsua_call_send_typing_ind @ 46 NONAME
|
||||
pjsua_call_set_hold @ 47 NONAME
|
||||
pjsua_call_set_user_data @ 48 NONAME
|
||||
pjsua_call_update @ 49 NONAME
|
||||
pjsua_call_xfer @ 50 NONAME
|
||||
pjsua_call_xfer_replaces @ 51 NONAME
|
||||
pjsua_codec_get_param @ 52 NONAME
|
||||
pjsua_codec_set_param @ 53 NONAME
|
||||
pjsua_codec_set_priority @ 54 NONAME
|
||||
pjsua_conf_add_port @ 55 NONAME
|
||||
pjsua_conf_adjust_rx_level @ 56 NONAME
|
||||
pjsua_conf_adjust_tx_level @ 57 NONAME
|
||||
pjsua_conf_connect @ 58 NONAME
|
||||
pjsua_conf_disconnect @ 59 NONAME
|
||||
pjsua_conf_get_active_ports @ 60 NONAME
|
||||
pjsua_conf_get_max_ports @ 61 NONAME
|
||||
pjsua_conf_get_port_info @ 62 NONAME
|
||||
pjsua_conf_get_signal_level @ 63 NONAME
|
||||
pjsua_conf_remove_port @ 64 NONAME
|
||||
pjsua_config_default @ 65 NONAME
|
||||
pjsua_config_dup @ 66 NONAME
|
||||
pjsua_create @ 67 NONAME
|
||||
pjsua_destroy @ 68 NONAME
|
||||
pjsua_detect_nat_type @ 69 NONAME
|
||||
pjsua_dump @ 70 NONAME
|
||||
pjsua_enum_accs @ 71 NONAME
|
||||
pjsua_enum_buddies @ 72 NONAME
|
||||
pjsua_enum_calls @ 73 NONAME
|
||||
pjsua_enum_codecs @ 74 NONAME
|
||||
pjsua_enum_conf_ports @ 75 NONAME
|
||||
pjsua_enum_snd_devs @ 76 NONAME
|
||||
pjsua_enum_transports @ 77 NONAME
|
||||
pjsua_get_buddy_count @ 78 NONAME
|
||||
pjsua_get_ec_tail @ 79 NONAME
|
||||
pjsua_get_nat_type @ 80 NONAME
|
||||
pjsua_get_pjmedia_endpt @ 81 NONAME
|
||||
pjsua_get_pjsip_endpt @ 82 NONAME
|
||||
pjsua_get_pool_factory @ 83 NONAME
|
||||
pjsua_get_snd_dev @ 84 NONAME
|
||||
pjsua_get_var @ 85 NONAME
|
||||
pjsua_handle_events @ 86 NONAME
|
||||
pjsua_im_send @ 87 NONAME
|
||||
pjsua_im_typing @ 88 NONAME
|
||||
pjsua_init @ 89 NONAME
|
||||
pjsua_logging_config_default @ 90 NONAME
|
||||
pjsua_logging_config_dup @ 91 NONAME
|
||||
pjsua_media_config_default @ 92 NONAME
|
||||
pjsua_media_transports_create @ 93 NONAME
|
||||
pjsua_msg_data_init @ 94 NONAME
|
||||
pjsua_perror @ 95 NONAME
|
||||
pjsua_player_create @ 96 NONAME
|
||||
pjsua_player_destroy @ 97 NONAME
|
||||
pjsua_player_get_conf_port @ 98 NONAME
|
||||
pjsua_player_get_port @ 99 NONAME
|
||||
pjsua_player_set_pos @ 100 NONAME
|
||||
pjsua_playlist_create @ 101 NONAME
|
||||
pjsua_pool_create @ 102 NONAME
|
||||
pjsua_pres_dump @ 103 NONAME
|
||||
pjsua_reconfigure_logging @ 104 NONAME
|
||||
pjsua_recorder_create @ 105 NONAME
|
||||
pjsua_recorder_destroy @ 106 NONAME
|
||||
pjsua_recorder_get_conf_port @ 107 NONAME
|
||||
pjsua_recorder_get_port @ 108 NONAME
|
||||
pjsua_set_ec @ 109 NONAME
|
||||
pjsua_set_no_snd_dev @ 110 NONAME
|
||||
pjsua_set_null_snd_dev @ 111 NONAME
|
||||
pjsua_set_snd_dev @ 112 NONAME
|
||||
pjsua_start @ 113 NONAME
|
||||
pjsua_transport_close @ 114 NONAME
|
||||
pjsua_transport_config_default @ 115 NONAME
|
||||
pjsua_transport_config_dup @ 116 NONAME
|
||||
pjsua_transport_create @ 117 NONAME
|
||||
pjsua_transport_get_info @ 118 NONAME
|
||||
pjsua_transport_register @ 119 NONAME
|
||||
pjsua_transport_set_enable @ 120 NONAME
|
||||
pjsua_verify_sip_url @ 121 NONAME
|
47
pjproject-2.11.1/build.symbian/symbian_audio.mmp
Normal file
47
pjproject-2.11.1/build.symbian/symbian_audio.mmp
Normal file
|
@ -0,0 +1,47 @@
|
|||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET symbian_audio.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA000000C
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjlib.lib charconv.lib euser.lib estlib.lib
|
||||
LIBRARY mediaclientaudiostream.lib
|
||||
LIBRARY mediaclientaudioinputstream.lib
|
||||
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\symbian_audio.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET symbian_audio.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia
|
||||
|
||||
OPTION CW -lang c++
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
SOURCE nullsound.c
|
||||
SOURCE symbian_sound.cpp
|
||||
SOURCE symbian_sound_aps.cpp
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\server
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\common
|
||||
SYSTEMINCLUDE \epoc32\include\mda\common
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\plugin
|
||||
|
12
pjproject-2.11.1/build.symbian/symbian_audioU.def
Normal file
12
pjproject-2.11.1/build.symbian/symbian_audioU.def
Normal file
|
@ -0,0 +1,12 @@
|
|||
EXPORTS
|
||||
pjmedia_snd_deinit @ 1 NONAME
|
||||
pjmedia_snd_get_dev_count @ 2 NONAME
|
||||
pjmedia_snd_get_dev_info @ 3 NONAME
|
||||
pjmedia_snd_init @ 4 NONAME
|
||||
pjmedia_snd_open @ 5 NONAME
|
||||
pjmedia_snd_open_player @ 6 NONAME
|
||||
pjmedia_snd_open_rec @ 7 NONAME
|
||||
pjmedia_snd_stream_close @ 8 NONAME
|
||||
pjmedia_snd_stream_get_info @ 9 NONAME
|
||||
pjmedia_snd_stream_start @ 10 NONAME
|
||||
pjmedia_snd_stream_stop @ 11 NONAME
|
51
pjproject-2.11.1/build.symbian/symsndtest.mmp
Normal file
51
pjproject-2.11.1/build.symbian/symsndtest.mmp
Normal file
|
@ -0,0 +1,51 @@
|
|||
#define SND_USE_APS 0
|
||||
#define SND_USE_VAS 0
|
||||
|
||||
TARGET symsndtest.exe
|
||||
TARGETTYPE exe
|
||||
UID 0x0 0xA000000E
|
||||
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
SOURCEPATH ..\pjsip-apps\src\symsndtest
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Test files
|
||||
|
||||
SOURCE app_main.cpp
|
||||
SOURCE main_symbian.cpp
|
||||
|
||||
START RESOURCE symsndtest_reg.rss
|
||||
TARGETPATH \private\10003a3f\apps
|
||||
END
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
LIBRARY charconv.lib euser.lib estlib.lib
|
||||
LIBRARY esock.lib insock.lib
|
||||
STATICLIBRARY pjmedia_audiodev.lib
|
||||
STATICLIBRARY pjmedia.lib
|
||||
STATICLIBRARY pjlib.lib
|
||||
STATICLIBRARY libresample.lib
|
||||
|
||||
#if SND_USE_APS
|
||||
LIBRARY APSSession2.lib
|
||||
CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
|
||||
#elif SND_USE_VAS
|
||||
LIBRARY VoIPAudioIntfc.lib
|
||||
CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
|
||||
#else
|
||||
LIBRARY mediaclientaudiostream.lib
|
||||
LIBRARY mediaclientaudioinputstream.lib
|
||||
CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment
|
||||
#endif
|
||||
|
||||
#ifdef WINSCW
|
||||
STATICLIBRARY eexe.lib ecrt0.lib
|
||||
#endif
|
19
pjproject-2.11.1/build.symbian/symsndtest.pkg
Normal file
19
pjproject-2.11.1/build.symbian/symsndtest.pkg
Normal file
|
@ -0,0 +1,19 @@
|
|||
; symsndtest.pkg
|
||||
|
||||
; Languages
|
||||
&EN
|
||||
|
||||
; Header
|
||||
#{"symsndtest"},(0xA000000E), 0, 1, 1
|
||||
|
||||
; Platform compatibility
|
||||
[0x101F7961], *, *, *, {"Series60ProductID"}
|
||||
|
||||
; vendor
|
||||
%{"PJSIP"}
|
||||
:"PJSIP"
|
||||
|
||||
; Target
|
||||
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\symsndtest.exe"-"!:\sys\bin\symsndtest.exe"
|
||||
"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\symsndtest_reg.rSC"-"!:\private\10003a3f\import\apps\symsndtest_reg.rSC"
|
||||
|
22
pjproject-2.11.1/build/cc-auto.mak.in
Normal file
22
pjproject-2.11.1/build/cc-auto.mak.in
Normal file
|
@ -0,0 +1,22 @@
|
|||
export CC = @CC@ -c
|
||||
export CXX = @CXX@ -c
|
||||
export AR = @AR@
|
||||
export AR_FLAGS = @AR_FLAGS@
|
||||
export LD = @LD@
|
||||
export LDOUT = -o
|
||||
export RANLIB = @RANLIB@
|
||||
|
||||
export OBJEXT := .@OBJEXT@
|
||||
export LIBEXT := .@LIBEXT@
|
||||
export LIBEXT2 := @LIBEXT2@
|
||||
|
||||
export CC_OUT := @CC_OUT@
|
||||
export CC_INC := @CC_INC@
|
||||
export CC_DEF := @CC_DEF@
|
||||
export CC_OPTIMIZE := @CC_OPTIMIZE@
|
||||
export CC_LIB := -l
|
||||
|
||||
export CC_SOURCES :=
|
||||
export CC_CFLAGS := @CC_CFLAGS@
|
||||
export CC_LDFLAGS :=
|
||||
|
22
pjproject-2.11.1/build/cc-gcc.mak
Normal file
22
pjproject-2.11.1/build/cc-gcc.mak
Normal file
|
@ -0,0 +1,22 @@
|
|||
export CC = $(CROSS_COMPILE)gcc -c
|
||||
export AR = $(CROSS_COMPILE)ar rv
|
||||
export LD = $(CROSS_COMPILE)gcc
|
||||
export LDOUT = -o
|
||||
export RANLIB = $(CROSS_COMPILE)ranlib
|
||||
|
||||
export OBJEXT := .o
|
||||
export LIBEXT := .a
|
||||
export LIBEXT2 :=
|
||||
|
||||
export CC_OUT := -o
|
||||
export CC_INC := -I
|
||||
export CC_DEF := -D
|
||||
export CC_OPTIMIZE := -O2
|
||||
export CC_LIB := -l
|
||||
|
||||
export CC_SOURCES :=
|
||||
export CC_CFLAGS := -Wall
|
||||
#export CC_CFLAGS += -Wdeclaration-after-statement
|
||||
#export CC_CXXFLAGS := -Wdeclaration-after-statement
|
||||
export CC_LDFLAGS :=
|
||||
|
20
pjproject-2.11.1/build/cc-vc.mak
Normal file
20
pjproject-2.11.1/build/cc-vc.mak
Normal file
|
@ -0,0 +1,20 @@
|
|||
export CC := cl /c /nologo
|
||||
export AR := lib /NOLOGO /OUT:
|
||||
export LD := cl /nologo
|
||||
export LDOUT := /Fe
|
||||
export RANLIB := echo ranlib
|
||||
|
||||
export OBJEXT := .obj
|
||||
export LIBEXT := .lib
|
||||
export LIBEXT2 := .LIB
|
||||
|
||||
export CC_OUT := /Fo
|
||||
export CC_INC := /I
|
||||
export CC_DEF := /D
|
||||
export CC_OPTIMIZE := /Ox
|
||||
export CC_LIB :=
|
||||
|
||||
export CC_SOURCES :=
|
||||
export CC_CFLAGS := /W4 /MT
|
||||
export CC_CXXFLAGS := /GX
|
||||
export CC_LDFLAGS := /MT
|
63
pjproject-2.11.1/build/common.mak
Normal file
63
pjproject-2.11.1/build/common.mak
Normal file
|
@ -0,0 +1,63 @@
|
|||
#
|
||||
# Include host/target/compiler selection.
|
||||
# This will export CC_NAME, MACHINE_NAME, OS_NAME, and HOST_NAME variables.
|
||||
#
|
||||
include $(PJDIR)/build.mak
|
||||
|
||||
#
|
||||
# Include global compiler specific definitions
|
||||
#
|
||||
include $(PJDIR)/build/cc-$(CC_NAME).mak
|
||||
|
||||
#
|
||||
# (Optionally) Include compiler specific configuration that is
|
||||
# specific to this project. This configuration file is
|
||||
# located in this directory.
|
||||
#
|
||||
-include cc-$(CC_NAME).mak
|
||||
|
||||
#
|
||||
# Include auto configured compiler specification.
|
||||
# This will override the compiler settings above.
|
||||
# Currently this is made OPTIONAL, to prevent people
|
||||
# from getting errors because they don't re-run ./configure
|
||||
# after downloading new PJSIP.
|
||||
#
|
||||
-include $(PJDIR)/build/cc-auto.mak
|
||||
|
||||
#
|
||||
# Include global machine specific definitions
|
||||
#
|
||||
include $(PJDIR)/build/m-$(MACHINE_NAME).mak
|
||||
-include m-$(MACHINE_NAME).mak
|
||||
|
||||
#
|
||||
# Include target OS specific definitions
|
||||
#
|
||||
include $(PJDIR)/build/os-$(OS_NAME).mak
|
||||
|
||||
#
|
||||
# (Optionally) Include target OS specific configuration that is
|
||||
# specific to this project. This configuration file is
|
||||
# located in this directory.
|
||||
#
|
||||
-include os-$(OS_NAME).mak
|
||||
|
||||
#
|
||||
# Include host specific definitions
|
||||
#
|
||||
include $(PJDIR)/build/host-$(HOST_NAME).mak
|
||||
|
||||
#
|
||||
# (Optionally) Include host specific configuration that is
|
||||
# specific to this project. This configuration file is
|
||||
# located in this directory.
|
||||
#
|
||||
-include host-$(HOST_NAME).mak
|
||||
|
||||
#
|
||||
# Include global user configuration, if any
|
||||
#
|
||||
-include $(PJDIR)/user.mak
|
||||
|
||||
|
13
pjproject-2.11.1/build/host-mingw.mak
Normal file
13
pjproject-2.11.1/build/host-mingw.mak
Normal file
|
@ -0,0 +1,13 @@
|
|||
export HOST_MV := mv
|
||||
export HOST_RM := rm -f @@
|
||||
export HOST_RMR := rm -rf @@
|
||||
export HOST_RMDIR := rm -rf @@
|
||||
export HOST_MKDIR := mkdir @@
|
||||
export HOST_EXE := .exe
|
||||
export HOST_PSEP := /
|
||||
|
||||
export HOST_SOURCES :=
|
||||
export HOST_CFLAGS :=
|
||||
export HOST_CXXFLAGS :=
|
||||
export HOST_LDFLAGS := $(CC_LIB)stdc++$(LIBEXT2)
|
||||
|
13
pjproject-2.11.1/build/host-unix.mak
Normal file
13
pjproject-2.11.1/build/host-unix.mak
Normal file
|
@ -0,0 +1,13 @@
|
|||
export HOST_MV := mv
|
||||
export HOST_RM := rm -f @@
|
||||
export HOST_RMR := rm -rf @@
|
||||
export HOST_RMDIR := rm -rf @@
|
||||
export HOST_MKDIR := mkdir -p @@
|
||||
export HOST_EXE := $(HOST_EXE)
|
||||
export HOST_PSEP := /
|
||||
|
||||
export HOST_SOURCES :=
|
||||
export HOST_CFLAGS :=
|
||||
export HOST_CXXFLAGS :=
|
||||
export HOST_LDFLAGS :=
|
||||
|
12
pjproject-2.11.1/build/host-win32.mak
Normal file
12
pjproject-2.11.1/build/host-win32.mak
Normal file
|
@ -0,0 +1,12 @@
|
|||
export HOST_MV := ren
|
||||
export HOST_RM := if exist @@; del /F /Q @@
|
||||
export HOST_RMR := if exist @@; del /F /Q @@
|
||||
export HOST_RMDIR := if exist @@; rmdir @@
|
||||
export HOST_MKDIR := if not exist @@; mkdir @@
|
||||
export HOST_EXE := .exe
|
||||
export HOST_PSEP := \\
|
||||
|
||||
export HOST_SOURCES :=
|
||||
export HOST_CFLAGS :=
|
||||
export HOST_CXXFLAGS :=
|
||||
export HOST_LDFLAGS :=
|
4
pjproject-2.11.1/build/m-alpha.mak
Normal file
4
pjproject-2.11.1/build/m-alpha.mak
Normal file
|
@ -0,0 +1,4 @@
|
|||
export M_CFLAGS := $(CC_DEF)PJ_M_ALPHA=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
4
pjproject-2.11.1/build/m-arm.mak
Normal file
4
pjproject-2.11.1/build/m-arm.mak
Normal file
|
@ -0,0 +1,4 @@
|
|||
export M_CFLAGS := $(CC_DEF)PJ_M_ARMV4=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
1
pjproject-2.11.1/build/m-auto.mak
Normal file
1
pjproject-2.11.1/build/m-auto.mak
Normal file
|
@ -0,0 +1 @@
|
|||
# Nothing needs to be defined here
|
4
pjproject-2.11.1/build/m-i386.mak
Normal file
4
pjproject-2.11.1/build/m-i386.mak
Normal file
|
@ -0,0 +1,4 @@
|
|||
export M_CFLAGS := $(CC_DEF)PJ_M_I386=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
4
pjproject-2.11.1/build/m-m68k.mak
Normal file
4
pjproject-2.11.1/build/m-m68k.mak
Normal file
|
@ -0,0 +1,4 @@
|
|||
export M_CFLAGS := $(CC_DEF)PJ_M_M68K=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
9
pjproject-2.11.1/build/m-mpc860.mak
Normal file
9
pjproject-2.11.1/build/m-mpc860.mak
Normal file
|
@ -0,0 +1,9 @@
|
|||
#
|
||||
# PowerPC MPC860 specific.
|
||||
# It's a PowerPC without floating point support.
|
||||
#
|
||||
export M_CFLAGS := $(CC_DEF)PJ_M_POWERPC=1 $(CC_DEF)PJ_HAS_FLOATING_POINT=0 -mcpu=860
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS := -mcpu=860
|
||||
export M_SOURCES :=
|
||||
|
4
pjproject-2.11.1/build/m-powerpc.mak
Normal file
4
pjproject-2.11.1/build/m-powerpc.mak
Normal file
|
@ -0,0 +1,4 @@
|
|||
export M_CFLAGS := $(CC_DEF)PJ_M_POWERPC=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
4
pjproject-2.11.1/build/m-sparc.mak
Normal file
4
pjproject-2.11.1/build/m-sparc.mak
Normal file
|
@ -0,0 +1,4 @@
|
|||
export M_CFLAGS := $(CC_DEF)PJ_M_SPARC=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
4
pjproject-2.11.1/build/m-x86_64.mak
Normal file
4
pjproject-2.11.1/build/m-x86_64.mak
Normal file
|
@ -0,0 +1,4 @@
|
|||
export M_CFLAGS := $(CC_DEF)PJ_M_X86_64=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
11
pjproject-2.11.1/build/os-auto.mak.in
Normal file
11
pjproject-2.11.1/build/os-auto.mak.in
Normal file
|
@ -0,0 +1,11 @@
|
|||
# @configure_input@
|
||||
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_AUTOCONF=1 @CFLAGS@
|
||||
|
||||
export OS_CXXFLAGS := $(CC_DEF)PJ_AUTOCONF=1 @CXXFLAGS@
|
||||
|
||||
export OS_LDFLAGS := @LDFLAGS@ @LIBS@
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
9
pjproject-2.11.1/build/os-darwinos.mak
Normal file
9
pjproject-2.11.1/build/os-darwinos.mak
Normal file
|
@ -0,0 +1,9 @@
|
|||
export OS_CFLAGS := $(CC_DEF)PJ_DARWINOS=1
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS := $(CC_LIB)pthread$(LIBEXT2) -framework CoreAudio -lm
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
9
pjproject-2.11.1/build/os-linux.mak
Normal file
9
pjproject-2.11.1/build/os-linux.mak
Normal file
|
@ -0,0 +1,9 @@
|
|||
export OS_CFLAGS := $(CC_DEF)PJ_LINUX=1
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS := -lportaudio-$(TARGET_NAME) -lgsmcodec-$(TARGET_NAME) -lilbccodec-$(TARGET_NAME) -lspeex-$(TARGET_NAME) -lresample-$(TARGET_NAME) $(CC_LIB)pthread$(LIBEXT2) -lm
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
32
pjproject-2.11.1/build/os-palmos.mak
Normal file
32
pjproject-2.11.1/build/os-palmos.mak
Normal file
|
@ -0,0 +1,32 @@
|
|||
#
|
||||
# make-mingw.inc: Mingw specific compilation switches.
|
||||
#
|
||||
PALM_OS_SDK_VER := 0x06000000
|
||||
PALM_OS_TARGET_HOST := TARGET_HOST_PALMOS
|
||||
PALM_OS_TARGET_PLATFORM := TARGET_PLATFORM_PALMSIM_WIN32
|
||||
PALM_OS_BUILD_TYPE := BUILD_TYPE_DEBUG
|
||||
PALM_OS_TRACE_OUTPUT := TRACE_OUTPUT_ON
|
||||
PALM_OS_CPU_TYPE := CPU_ARM
|
||||
|
||||
export CROSS_COMPILE :=
|
||||
|
||||
ifeq ($(CC_NAME),gcc)
|
||||
export CFLAGS += -mno-cygwin -fexceptions -frtti
|
||||
endif
|
||||
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_PALMOS=1 \
|
||||
$(CC_DEF)__PALMOS_KERNEL__=1 \
|
||||
$(CC_DEF)__PALMOS__=$(PALM_OS_SDK_VER) \
|
||||
$(CC_DEF)BUILD_TYPE=$(PALM_OS_BUILD_TYPE) \
|
||||
$(CC_DEF)TRACE_OUTPUT=$(PALM_OS_TRACE_OUTPUT) \
|
||||
$(CC_DEF)_SUPPORTS_NAMESPACE=0 \
|
||||
$(CC_DEF)_SUPPORTS_RTTI=0 \
|
||||
$(CC_DEF)TARGET_HOST=$(PALM_OS_TRAGET_HOST) \
|
||||
$(CC_DEF)TARGET_PLATFORM=$(PALM_OS_TARGET_PLATFORM)
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS :=
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
17
pjproject-2.11.1/build/os-rtems.mak
Normal file
17
pjproject-2.11.1/build/os-rtems.mak
Normal file
|
@ -0,0 +1,17 @@
|
|||
#
|
||||
# Global OS specific configurations for RTEMS OS.
|
||||
#
|
||||
# Thanks Zetron, Inc and Phil Torre <ptorre@zetron.com> for donating PJLIB
|
||||
# port to RTEMS.
|
||||
#
|
||||
export RTEMS_DEBUG := -ggdb3 -DRTEMS_DEBUG -DDEBUG -qrtems_debug
|
||||
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_RTEMS=1 \
|
||||
-B$(RTEMS_LIBRARY_PATH)/lib/ -specs bsp_specs -qrtems
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS := -B$(RTEMS_LIBRARY_PATH)/lib/ -specs bsp_specs -qrtems -lm
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
13
pjproject-2.11.1/build/os-sunos.mak
Normal file
13
pjproject-2.11.1/build/os-sunos.mak
Normal file
|
@ -0,0 +1,13 @@
|
|||
export OS_CFLAGS := $(CC_DEF)PJ_SUNOS=1
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS := $(CC_LIB)pthread$(LIBEXT2) \
|
||||
$(CC_LIB)socket$(LIBEXT2) \
|
||||
$(CC_LIB)rt$(LIBEXT2) \
|
||||
$(CC_LIB)nsl$(LIBEXT2) \
|
||||
$(CC_LIB)m$(LIBEXT2)
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
12
pjproject-2.11.1/build/os-win32.mak
Normal file
12
pjproject-2.11.1/build/os-win32.mak
Normal file
|
@ -0,0 +1,12 @@
|
|||
export OS_CFLAGS := $(CC_DEF)PJ_WIN32=1
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS := $(CC_LIB)wsock32$(LIBEXT2) \
|
||||
$(CC_LIB)ws2_32$(LIBEXT2)\
|
||||
$(CC_LIB)ole32$(LIBEXT2)\
|
||||
$(CC_LIB)m$(LIBEXT2)
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
249
pjproject-2.11.1/build/rules.mak
Normal file
249
pjproject-2.11.1/build/rules.mak
Normal file
|
@ -0,0 +1,249 @@
|
|||
ifeq ($(LIBDIR),)
|
||||
LIBDIR = ../lib
|
||||
endif
|
||||
ifeq ($(BINDIR),)
|
||||
BINDIR = ../bin
|
||||
endif
|
||||
|
||||
#
|
||||
# The name(s) of output lib file(s) (e.g. libapp.a).
|
||||
#
|
||||
LIB := $($(APP)_LIB)
|
||||
SHLIB = $($(APP)_SHLIB)
|
||||
SONAME = $($(APP)_SONAME)
|
||||
|
||||
ifeq ($(SHLIB_SUFFIX),so)
|
||||
SHLIB_OPT := -shared -Wl,-soname,$(SHLIB)
|
||||
else ifeq ($(SHLIB_SUFFIX),dylib)
|
||||
SHLIB_OPT := -dynamiclib -undefined dynamic_lookup -flat_namespace
|
||||
else ifeq ($(SHLIB_SUFFIX),dll)
|
||||
SHLIB_OPT := -shared -Wl,-soname,$(SHLIB)
|
||||
else
|
||||
SHLIB_OPT :=
|
||||
endif
|
||||
|
||||
#
|
||||
# The name of output executable file (e.g. app.exe).
|
||||
#
|
||||
EXE = $($(APP)_EXE)
|
||||
|
||||
#
|
||||
# Source directory
|
||||
#
|
||||
SRCDIR = $($(APP)_SRCDIR)
|
||||
|
||||
#
|
||||
# Output directory for object files (i.e. output/target)
|
||||
#
|
||||
OBJDIR = output/$(app)-$(TARGET_NAME)
|
||||
|
||||
ifeq ($(OS_NAME),linux-kernel)
|
||||
export $(APP)_CFLAGS += -DKBUILD_MODNAME=$(app) -DKBUILD_BASENAME=$(app)
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# OBJS is ./output/target/file.o
|
||||
#
|
||||
OBJS = $(foreach file, $($(APP)_OBJS), $(OBJDIR)/$(file))
|
||||
OBJDIRS := $(sort $(dir $(OBJS)))
|
||||
|
||||
#
|
||||
# FULL_SRCS is ../src/app/file1.c ../src/app/file1.S
|
||||
#
|
||||
FULL_SRCS = $(foreach file, $($(APP)_OBJS), $(SRCDIR)/$(basename $(file)).m $(SRCDIR)/$(basename $(file)).c $(SRCDIR)/$(basename $(file)).cpp $(SRCDIR)/$(basename $(file)).cc $(SRCDIR)/$(basename $(file)).S)
|
||||
|
||||
#
|
||||
# When generating dependency (gcc -MM), ideally we use only either
|
||||
# CFLAGS or CXXFLAGS (not both). But I just couldn't make if/ifeq to work.
|
||||
#
|
||||
#DEPFLAGS = $($(APP)_CXXFLAGS) $($(APP)_CFLAGS)
|
||||
DEPCFLAGS = $($(APP)_CFLAGS)
|
||||
DEPCXXFLAGS = $($(APP)_CXXFLAGS)
|
||||
|
||||
# Dependency file
|
||||
DEP_FILE := .$(app)-$(TARGET_NAME).depend
|
||||
|
||||
|
||||
print_common:
|
||||
@echo "###"
|
||||
@echo "### DUMPING MAKE VARIABLES (I WON'T DO ANYTHING ELSE):"
|
||||
@echo "###"
|
||||
@echo APP=$(APP)
|
||||
@echo OBJDIR=$(OBJDIR)
|
||||
@echo OBJDIRS=$(OBJDIRS)
|
||||
@echo OBJS=$(OBJS)
|
||||
@echo SRCDIR=$(SRCDIR)
|
||||
@echo FULL_SRCS=$(FULL_SRCS)
|
||||
@echo $(APP)_CFLAGS=$($(APP)_CFLAGS)
|
||||
@echo $(APP)_CXXFLAGS=$($(APP)_CXXFLAGS)
|
||||
@echo $(APP)_LDFLAGS=$($(APP)_LDFLAGS)
|
||||
# @echo DEPFLAGS=$(DEPFLAGS)
|
||||
@echo CC=$(CC)
|
||||
@echo AR=$(AR)
|
||||
@echo AR_FLAGS=$(AR_FLAGS)
|
||||
@echo RANLIB=$(RANLIB)
|
||||
|
||||
print_bin: print_common
|
||||
@echo EXE=$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE))
|
||||
@echo BINDIR=$(BINDIR)
|
||||
|
||||
print_lib: print_common
|
||||
ifneq ($(LIB),)
|
||||
@echo LIB=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB))
|
||||
endif
|
||||
ifneq ($(SHLIB),)
|
||||
@echo SHLIB=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB))
|
||||
endif
|
||||
ifneq ($(SONAME),)
|
||||
@echo SONAME=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME))
|
||||
endif
|
||||
@echo LIBDIR=$(LIBDIR)
|
||||
|
||||
ifneq ($(LIB),)
|
||||
$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
|
||||
if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi
|
||||
$(AR) $(AR_FLAGS) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
endif
|
||||
|
||||
ifneq ($(SHLIB),)
|
||||
$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
|
||||
if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi
|
||||
$(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS) $(SHLIB_OPT)
|
||||
endif
|
||||
|
||||
ifneq ($(SONAME),)
|
||||
$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME)): $(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB))
|
||||
ln -sf $(SHLIB) $@
|
||||
endif
|
||||
|
||||
ifneq ($(EXE),)
|
||||
$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
|
||||
if test ! -d $(BINDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)),$(HOST_MKDIR)); fi
|
||||
$(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)) \
|
||||
$(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS)
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(app).o: $(OBJDIRS) $(OBJS)
|
||||
$(CROSS_COMPILE)ld -r -o $@ $(OBJS)
|
||||
|
||||
$(OBJDIR)/$(app).ko: $(OBJDIR)/$(app).o | $(OBJDIRS)
|
||||
@echo Creating kbuild Makefile...
|
||||
@echo "# Our module name:" > $(OBJDIR)/Makefile
|
||||
@echo 'obj-m += $(app).o' >> $(OBJDIR)/Makefile
|
||||
@echo >> $(OBJDIR)/Makefile
|
||||
@echo "# Object members:" >> $(OBJDIR)/Makefile
|
||||
@echo -n '$(app)-objs += ' >> $(OBJDIR)/Makefile
|
||||
@for file in $($(APP)_OBJS); do \
|
||||
echo -n "$$file " >> $(OBJDIR)/Makefile; \
|
||||
done
|
||||
@echo >> $(OBJDIR)/Makefile
|
||||
@echo >> $(OBJDIR)/Makefile
|
||||
@echo "# Prevent .o files to be built by kbuild:" >> $(OBJDIR)/Makefile
|
||||
@for file in $($(APP)_OBJS); do \
|
||||
echo ".PHONY: `pwd`/$(OBJDIR)/$$file" >> $(OBJDIR)/Makefile; \
|
||||
done
|
||||
@echo >> $(OBJDIR)/Makefile
|
||||
@echo all: >> $(OBJDIR)/Makefile
|
||||
@echo -e "\tmake -C $(KERNEL_DIR) M=`pwd`/$(OBJDIR) modules $(KERNEL_ARCH)" >> $(OBJDIR)/Makefile
|
||||
@echo Invoking kbuild...
|
||||
make -C $(OBJDIR)
|
||||
|
||||
../lib/$(app).ko: $(LIB) $(OBJDIR)/$(app).ko
|
||||
cp $(OBJDIR)/$(app).ko ../lib
|
||||
|
||||
$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.m | $(OBJDIRS)
|
||||
$(CC) $($(APP)_CFLAGS) \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.c | $(OBJDIRS)
|
||||
$(CC) $($(APP)_CFLAGS) \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.S | $(OBJDIRS)
|
||||
$(CC) $($(APP)_CFLAGS) \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIR)/dshowclasses.o: $(SRCDIR)/dshowclasses.cpp | $(OBJDIRS)
|
||||
$(CXX) $($(APP)_CXXFLAGS) -I$(SRCDIR)/../../../third_party/BaseClasses -fpermissive \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.cpp | $(OBJDIRS)
|
||||
$(CXX) $($(APP)_CXXFLAGS) \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.cc | $(OBJDIRS)
|
||||
$(CXX) $($(APP)_CXXFLAGS) \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIRS):
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR))
|
||||
|
||||
$(LIBDIR):
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR))
|
||||
|
||||
$(BINDIR):
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR))
|
||||
|
||||
clean:
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)/*),$(HOST_RMR))
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)),$(HOST_RMDIR))
|
||||
ifeq ($(OS_NAME),linux-kernel)
|
||||
rm -f ../lib/$(app).o
|
||||
endif
|
||||
|
||||
gcov-report:
|
||||
for file in $(FULL_SRCS); do \
|
||||
gcov $$file -n -o $(OBJDIR); \
|
||||
done
|
||||
|
||||
realclean: clean
|
||||
ifneq ($(LIB),)
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB)),$(HOST_RM))
|
||||
endif
|
||||
ifneq ($(SHLIB),)
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)),$(HOST_RM))
|
||||
endif
|
||||
ifneq ($(SONAME),)
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME)),$(HOST_RM))
|
||||
endif
|
||||
ifneq ($(EXE),)
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)),$(HOST_RM))
|
||||
endif
|
||||
$(subst @@,$(DEP_FILE),$(HOST_RM))
|
||||
ifeq ($(OS_NAME),linux-kernel)
|
||||
rm -f ../lib/$(app).ko
|
||||
endif
|
||||
|
||||
depend:
|
||||
$(subst @@,$(DEP_FILE),$(HOST_RM))
|
||||
for F in $(FULL_SRCS); do \
|
||||
if test -f $$F; then \
|
||||
echo "$(OBJDIR)/" | tr -d '\n' >> $(DEP_FILE); \
|
||||
if echo $$F | grep -q .cpp$$; then \
|
||||
dep="$(CC) -M $(DEPCXXFLAGS) $$F"; \
|
||||
else \
|
||||
dep="$(CC) -M $(DEPCFLAGS) $$F"; \
|
||||
fi; \
|
||||
if eval $$dep | sed '/^#/d' >> $(DEP_FILE); then \
|
||||
true; \
|
||||
else \
|
||||
echo 'err:' >> $(DEP_FILE); \
|
||||
rm -f $(DEP_FILE); \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
done;
|
||||
|
||||
dep: depend
|
||||
|
||||
-include $(DEP_FILE)
|
||||
|
14
pjproject-2.11.1/build/vs/pjproject-vs14-api-def.props
Normal file
14
pjproject-2.11.1/build/vs/pjproject-vs14-api-def.props
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<!--
|
||||
- Set the API Family here:
|
||||
* WinDesktop (Desktop)
|
||||
* UWP (UWP)
|
||||
* WinPhone8 (Windows Phone 8)
|
||||
-->
|
||||
<API_Family>WinDesktop</API_Family>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<TargetCPU>ARMv7</TargetCPU>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineARM</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="TargetCPU">
|
||||
<Value>$(TargetCPU)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="pjproject-vs14-arm-common-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup />
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -0,0 +1,9 @@
|
|||
<!--This will define targets to override the default ones useful to skipped the target of specific project-->
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Target Name="Build">
|
||||
<Message Text="Skipped project build"></Message>
|
||||
</Target>
|
||||
<Target Name="Clean">
|
||||
<Message Text="Skipped project clean"></Message>
|
||||
</Target>
|
||||
</Project>
|
64
pjproject-2.11.1/build/vs/pjproject-vs14-common-config.props
Normal file
64
pjproject-2.11.1/build/vs/pjproject-vs14-common-config.props
Normal file
|
@ -0,0 +1,64 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="pjproject-vs14-api-def.props" />
|
||||
</ImportGroup>
|
||||
<Choose>
|
||||
<When Condition="'$(Platform)'=='ARM' ">
|
||||
<PropertyGroup>
|
||||
<API_Family Condition="'$(API_Family)'=='WinDesktop'">UWP</API_Family>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="'$(Platform)'=='Win32' Or '$(Platform)'=='x64'">
|
||||
<PropertyGroup>
|
||||
<API_Family Condition="'$(API_Family)'=='WinPhone8'">UWP</API_Family>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
</Choose>
|
||||
<PropertyGroup>
|
||||
<API_Family Condition="'$(API_Family)'==''">WinDesktop</API_Family>
|
||||
<PreprocessorDef></PreprocessorDef>
|
||||
<DefaultToolset>v140</DefaultToolset>
|
||||
</PropertyGroup>
|
||||
<Choose>
|
||||
<When Condition="'$(API_Family)'=='WinDesktop'">
|
||||
<PropertyGroup>
|
||||
<BuildToolset>v140</BuildToolset>
|
||||
<PreprocessorDef Condition="'$(Platform)'=='Win32'">WIN32;PJ_WIN32=1;PJ_M_I386=1;</PreprocessorDef>
|
||||
<PreprocessorDef Condition="'$(Platform)'=='x64'">WIN64;PJ_WIN64=1;PJ_M_X86_64=1;</PreprocessorDef>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="'$(API_Family)'=='UWP'">
|
||||
<PropertyGroup>
|
||||
<BuildToolset>v140</BuildToolset>
|
||||
<PreprocessorDef>PJ_WIN32_UWP;UNICODE;_UNICODE;</PreprocessorDef>
|
||||
<PreprocessorDef Condition="'$(Platform)'=='ARM'">$(PreprocessorDef);PJ_M_ARMV7=1;</PreprocessorDef>
|
||||
<PlatformVersion>10.0.10586.0</PlatformVersion>
|
||||
<MinPlatformVersion>10.0.10240.0</MinPlatformVersion>
|
||||
<AppTypeRev>10.0</AppTypeRev>
|
||||
|
||||
<WindowsTargetPlatformVersion>$(PlatformVersion)</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformMinVersion>$(MinPlatformVersion)</WindowsTargetPlatformMinVersion>
|
||||
<AppContainerApplication>true</AppContainerApplication>
|
||||
<ApplicationType>Windows Store</ApplicationType>
|
||||
<ApplicationTypeRevision>$(AppTypeRev)</ApplicationTypeRevision>
|
||||
|
||||
<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
|
||||
<TargetPlatformVersion>$(PlatformVersion)</TargetPlatformVersion>
|
||||
<TargetPlatformMinVersion>$(MinPlatformVersion)</TargetPlatformMinVersion>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="'$(API_Family)'=='WinPhone8'">
|
||||
<PropertyGroup>
|
||||
<BuildToolset>v110_wp80</BuildToolset>
|
||||
<PreprocessorDef>PJ_WIN32_WINPHONE8;PJ_M_ARMV7=1;UNICODE;_UNICODE;</PreprocessorDef>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
</Choose>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>$(PreprocessorDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild Condition="'$(API_Family)'=='UWP'">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<VSVer>14</VSVer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(TargetExt)'=='.lib'">..\lib\</OutDir>
|
||||
<OutDir Condition="'$(TargetExt)'=='.exe'">..\bin\</OutDir>
|
||||
<OutDir Condition="'$(TargetExt)'=='.dll'">..\lib\</OutDir>
|
||||
<TargetName>$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration)</TargetName>
|
||||
<IntDir>.\output\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<BrowseInformation>true</BrowseInformation>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<CompileAsWinRT>false</CompileAsWinRT>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
<Link>
|
||||
<OutputFile Condition="'$(TargetExt)'=='.exe'">..\bin\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<GenerateWindowsMetadata Condition="'$(TargetExt)'=='.lib'">false</GenerateWindowsMetadata>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="VSVer">
|
||||
<Value>$(VSVer)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,6 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Target Name="CheckAPI">
|
||||
<Message Condition="'$(API_Family)'!='$(PROJ_Target)'" Text="Skipped project build"></Message>
|
||||
<CallTarget Condition="'$(API_Family)'=='$(PROJ_Target)'" Targets="Build"/>
|
||||
</Target>
|
||||
</Project>
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="pjproject-vs14-common-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="pjproject-vs14-debug-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="pjproject-vs14-debug-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="pjproject-vs14-common-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="pjproject-vs14-release-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="pjproject-vs14-release-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<TargetCPU>i386</TargetCPU>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Lib>
|
||||
<AdditionalOptions>/ignore:4221</AdditionalOptions>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="TargetCPU">
|
||||
<Value>$(TargetCPU)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="pjproject-vs14-win32-common-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup />
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<TargetCPU>x86_64</TargetCPU>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<Lib>
|
||||
<AdditionalOptions>/ignore:4221</AdditionalOptions>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="TargetCPU">
|
||||
<Value>$(TargetCPU)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="pjproject-vs14-win64-common-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup />
|
||||
<ItemGroup />
|
||||
</Project>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue