Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2015-03-10 12:50:27 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
db7ddfd51021dedf502b732594e396f6092d5f67
db7ddfd5
1 parent
20fb5f3e
fix #155, #135, support osx(darwin) for mac pro. 2.0.137.
显示空白字符变更
内嵌
并排对比
正在显示
16 个修改的文件
包含
1071 行增加
和
48 行删除
README.md
trunk/3rdparty/patches/2.http.parser.patch
trunk/auto/auto_headers.sh
trunk/auto/depends.sh
trunk/auto/options.sh
trunk/configure
trunk/etc/init.d/srs
trunk/ide/srs_xcode/srs_xcode.xcodeproj/project.pbxproj
trunk/ide/srs_xcode/srs_xcode.xcodeproj/project.xcworkspace/contents.xcworkspacedata
trunk/ide/srs_xcode/srs_xcode.xcodeproj/project.xcworkspace/xcuserdata/winlin.xcuserdatad/UserInterfaceState.xcuserstate
trunk/ide/srs_xcode/srs_xcode/readme.txt
trunk/src/app/srs_app_st.cpp
trunk/src/core/srs_core.hpp
trunk/src/kernel/srs_kernel_utility.cpp
trunk/src/main/srs_main_server.cpp
trunk/src/protocol/srs_rtmp_handshake.cpp
README.md
查看文件 @
db7ddfd
...
...
@@ -25,7 +25,7 @@ flv/ts/mp3/aac streaming for user prefered.
1.
Multiple feature: transcode, forward, ingest, http hooks, dvr, hls, rtsp, http streaming,
http api, refer, log, bandwith test and srs-librtmp.
1.
Best maintainess: simple arch over state-threads(coroutine), single thread, single process
and
only linu
x platform, common server x86-64/i386/arm/mips cpus, rich comments, strictly
and
for linux/os
x platform, common server x86-64/i386/arm/mips cpus, rich comments, strictly
follows RTMP/HLS/RTSP spec.
1.
Easy to use: both English and Chinese wiki, typically config files in trunk/conf, traceable
and session based log, linux service script and install script.
...
...
@@ -37,7 +37,7 @@ Enjoy it!
SRS(SIMPLE RTMP Server) over state-threads created in 2013.10.
SRS delivers rtmp/hls/http live on x86/x64/arm/mips linux,
SRS delivers rtmp/hls/http live on x86/x64/arm/mips linux
/osx
,
supports origin/edge/vhost and transcode/ingest and dvr/forward
and http-api/http-callback/reload, introduces tracable
session-oriented log, exports client srs-librtmp,
...
...
@@ -550,6 +550,7 @@ Supported operating systems and hardware:
### SRS 2.0 history
*
v2.0, 2015-03-10, fix
[
#155
](
https://github.com/winlinvip/simple-rtmp-server/issues/155
)
, support osx(darwin) for mac pro. 2.0.137.
*
v2.0, 2015-03-08, fix
[
#316
](
https://github.com/winlinvip/simple-rtmp-server/issues/316
)
, http api provides stream/vhost/srs/server bytes, codec and count. 2.0.136.
*
v2.0, 2015-03-08, fix
[
#310
](
https://github.com/winlinvip/simple-rtmp-server/issues/310
)
, refine aac LC, support aac HE/HEv2. 2.0.134.
*
v2.0, 2015-03-06, for
[
#322
](
https://github.com/winlinvip/simple-rtmp-server/issues/322
)
, fix http-flv stream bug, support multiple streams. 2.0.133.
...
...
trunk/3rdparty/patches/2.http.parser.patch
0 → 100644
查看文件 @
db7ddfd
diff -r -c ./Makefile ../http-parser-2.1/Makefile
*** ./Makefile Tue Mar 10 10:44:19 2015
--- ../http-parser-2.1/Makefile Wed Mar 27 06:35:20 2013
***************
*** 12,22 ****
CFLAGS_FAST = $(CFLAGS) -O3 $(CFLAGS_FAST_EXTRA)
CFLAGS_LIB = $(CFLAGS_FAST) -fPIC
- # patch by winlin
- CPPFLAGS_FAST = $(CPPFLAGS_DEBUG)
- CFLAGS_FAST = $(CFLAGS_DEBUG)
- CFLAGS_LIB = $(CFLAGS_FAST) -fPIC
-
test: test_g test_fast
./test_g
./test_fast
--- 12,17 ----
...
...
trunk/auto/auto_headers.sh
查看文件 @
db7ddfd
...
...
@@ -16,8 +16,28 @@ echo "#define SRS_AUTO_BUILD_DATE \"`date \"+%Y-%m-%d %H:%M:%S\"`\"" >> $SRS_AUT
echo
"#define SRS_AUTO_UNAME
\"
`
uname -a
`
\"
"
>>
$SRS_AUTO_HEADERS_H
echo
"#define SRS_AUTO_USER_CONFIGURE
\"
${
SRS_AUTO_USER_CONFIGURE
}
\"
"
>>
$SRS_AUTO_HEADERS_H
echo
"#define SRS_AUTO_CONFIGURE
\"
${
SRS_AUTO_CONFIGURE
}
\"
"
>>
$SRS_AUTO_HEADERS_H
echo
""
>>
$SRS_AUTO_HEADERS_H
# export the preset.
if
[
$SRS_OSX
=
YES
]
;
then
echo
"#define SRS_OSX"
>>
$SRS_AUTO_HEADERS_H
fi
if
[
$SRS_X86_X64
=
YES
]
;
then
echo
"#define SRS_X86_X64"
>>
$SRS_AUTO_HEADERS_H
fi
if
[
$SRS_ARM_UBUNTU12
=
YES
]
;
then
echo
"#define SRS_ARM_UBUNTU12"
>>
$SRS_AUTO_HEADERS_H
fi
if
[
$SRS_MIPS_UBUNTU12
=
YES
]
;
then
echo
"#define SRS_MIPS_UBUNTU12"
>>
$SRS_AUTO_HEADERS_H
fi
if
[
$SRS_PI
=
YES
]
;
then
echo
"#define SRS_PI"
>>
$SRS_AUTO_HEADERS_H
fi
if
[
$SRS_CUBIE
=
YES
]
;
then
echo
"#define SRS_CUBIE"
>>
$SRS_AUTO_HEADERS_H
fi
# new empty line to auto headers file.
echo
""
>>
$SRS_AUTO_HEADERS_H
#####################################################################################
...
...
trunk/auto/depends.sh
查看文件 @
db7ddfd
...
...
@@ -42,6 +42,24 @@ function Ubuntu_prepare()
fi
fi
# for arm, install the cross build tool chain.
if
[
$SRS_ARM_UBUNTU12
=
YES
]
;
then
$SrsArmCC
--help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi"
require_sudoer
"sudo apt-get install -y --force-yes gcc-arm-linux-gnueabi g++-arm-linux-gnueabi"
sudo apt-get install -y --force-yes gcc-arm-linux-gnueabi g++-arm-linux-gnueabi;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi success"
fi
fi
# for mips, user must installed the tool chain.
if
[
$SRS_MIPS_UBUNTU12
=
YES
]
;
then
$SrsArmCC
--help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"user must install the tool chain:
$SrsArmCC
"
return
2
fi
fi
OS_IS_UBUNTU
=
YES
echo
"Ubuntu detected, install tools if needed"
...
...
@@ -110,24 +128,6 @@ function Ubuntu_prepare()
fi
fi
# for arm, install the cross build tool chain.
if
[
$SRS_ARM_UBUNTU12
=
YES
]
;
then
$SrsArmCC
--help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi"
require_sudoer
"sudo apt-get install -y --force-yes gcc-arm-linux-gnueabi g++-arm-linux-gnueabi"
sudo apt-get install -y --force-yes gcc-arm-linux-gnueabi g++-arm-linux-gnueabi;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi success"
fi
fi
# for mips, user must installed the tool chain.
if
[
$SRS_MIPS_UBUNTU12
=
YES
]
;
then
$SrsArmCC
--help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"user must install the tool chain:
$SrsArmCC
"
return
2
fi
fi
echo
"Ubuntu install tools success"
return
0
}
...
...
@@ -145,6 +145,12 @@ function Centos_prepare()
return
0;
fi
# for arm, install the cross build tool chain.
if
[
$SRS_EMBEDED_CPU
=
YES
]
;
then
echo
"embeded(arm/mips) is invalid for CentOS"
return
1
fi
OS_IS_CENTOS
=
YES
echo
"Centos detected, install tools if needed"
...
...
@@ -220,18 +226,137 @@ function Centos_prepare()
fi
fi
echo
"Centos install tools success"
return
0
}
# donot prepare tools, for srs-librtmp depends only gcc and g++.
if
[
$SRS_EXPORT_LIBRTMP_PROJECT
=
NO
]
;
then
Centos_prepare;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"CentOS prepare failed, ret=
$ret
"
;
exit
$ret
;
fi
fi
#####################################################################################
# for Centos, auto install tools by yum
#####################################################################################
OS_IS_OSX
=
NO
function
OSX_prepare
()
{
uname -s|grep Darwin >/dev/null 2>&1
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
if
[
$SRS_OSX
=
YES
]
;
then
echo
"OSX check failed, actual is
`
uname -s
`
"
exit
1;
fi
return
0;
fi
# for arm, install the cross build tool chain.
if
[
$SRS_EMBEDED_CPU
=
YES
]
;
then
echo
"embeded(arm/mips) is invalid for
CentOS
"
echo
"embeded(arm/mips) is invalid for
OSX
"
return
1
fi
echo
"Centos install tools success"
OS_IS_OSX
=
YES
echo
"OSX detected, install tools if needed"
brew --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install brew"
echo
"ruby -e
\"
$(
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install
)
\"
"
ruby -e
"
$(
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install
)
"
;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install brew success"
fi
gcc --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install gcc"
echo
"brew install gcc"
brew install gcc;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install gcc success"
fi
g++ --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install gcc-c++"
echo
"brew install gcc-c++"
brew install gcc-c++;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install gcc-c++ success"
fi
make --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install make"
echo
"brew install make"
brew install make;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install make success"
fi
patch --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install patch"
echo
"brew install patch"
brew install patch;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install patch success"
fi
unzip --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install unzip"
echo
"brew install unzip"
brew install unzip;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install unzip success"
fi
if
[
$SRS_FFMPEG_TOOL
=
YES
]
;
then
automake --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install automake"
echo
"brew install automake"
brew install automake;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install automake success"
fi
autoconf --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install autoconf"
echo
"brew install autoconf"
brew install autoconf;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install autoconf success"
fi
libtool --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install libtool"
echo
"brew install libtool"
brew install libtool;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install libtool success"
fi
if
[[
! -f /usr/include/pcre.h
]]
;
then
echo
"install pcre-devel"
echo
"brew install pcre-devel"
brew install pcre-devel;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install pcre-devel success"
fi
if
[[
! -f /usr/include/zlib.h
]]
;
then
echo
"install zlib-devel"
echo
"brew install zlib-devel"
brew install zlib-devel;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install zlib-devel success"
fi
fi
echo
"OSX install tools success"
return
0
}
# donot prepare tools, for srs-librtmp depends only gcc and g++.
if
[
$SRS_EXPORT_LIBRTMP_PROJECT
=
NO
]
;
then
Centos_prepare;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"CentOS prepare failed, ret=
$ret
"
;
exit
$ret
;
fi
OSX_prepare;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"OSX prepare failed, ret=
$ret
"
;
exit
$ret
;
fi
fi
# requires the osx when os
if
[
$OS_IS_OSX
=
YES
]
;
then
if
[
$SRS_OSX
=
NO
]
;
then
echo
"OSX detected, must specifies the --osx"
exit
1
fi
if
[
$SRS_HTTP_API
=
YES
]
;
then
echo
"OSX does not support http-api, use --without-http-api"
exit
1
fi
if
[
$SRS_STAT
=
YES
]
;
then
echo
"OSX does not support stat, use --without-stat"
exit
1
fi
fi
#####################################################################################
...
...
@@ -239,7 +364,11 @@ fi
#####################################################################################
if
[
$SRS_EXPORT_LIBRTMP_PROJECT
=
NO
]
;
then
# check the arm flag file, if flag changed, need to rebuild the st.
_ST_MAKE
=
linux-debug
_ST_MAKE
=
linux-debug
&&
_ST_EXTRA_CFLAGS
=
"-DMD_HAVE_EPOLL"
# for osx, use darwin for st, donot use epoll.
if
[
$OS_IS_OSX
=
YES
]
;
then
_ST_MAKE
=
darwin-debug
&&
_ST_EXTRA_CFLAGS
=
""
fi
# memory leak for linux-optimized
# @see: https://github.com/winlinvip/simple-rtmp-server/issues/197
if
[
$SRS_EMBEDED_CPU
=
YES
]
;
then
...
...
@@ -253,9 +382,9 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
(
rm -rf
${
SRS_OBJS
}
/st-1.9
&&
cd
${
SRS_OBJS
}
&&
unzip -q ../3rdparty/st-1.9.zip
&&
cd
st-1.9
&&
patch -p0 < ../../3rdparty/patches/1.st.arm.patch
&&
patch -p0
-R
< ../../3rdparty/patches/1.st.arm.patch
&&
make
CC
=
${
SrsArmCC
}
AR
=
${
SrsArmAR
}
LD
=
${
SrsArmLD
}
RANDLIB
=
${
SrsArmRANDLIB
}
\
EXTRA_CFLAGS
=
"-DMD_HAVE_EPOLL"
${
_ST_MAKE
}
&&
EXTRA_CFLAGS
=
${
_ST_EXTRA_CFLAGS
}
${
_ST_MAKE
}
&&
cd
..
&&
rm -rf st
&&
ln -sf st-1.9/obj st
&&
cd
..
&&
touch
${
SRS_OBJS
}
/_flag.st.arm.tmp
)
...
...
@@ -268,7 +397,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
(
rm -rf
${
SRS_OBJS
}
/st-1.9
&&
cd
${
SRS_OBJS
}
&&
unzip -q ../3rdparty/st-1.9.zip
&&
cd
st-1.9
&&
make
${
_ST_MAKE
}
EXTRA_CFLAGS
=
"-DMD_HAVE_EPOLL"
&&
make
${
_ST_MAKE
}
${
_ST_EXTRA_CFLAGS
}
&&
cd
..
&&
rm -rf st
&&
ln -sf st-1.9/obj st
&&
cd
..
&&
rm -f
${
SRS_OBJS
}
/_flag.st.arm.tmp
)
...
...
@@ -293,6 +422,7 @@ if [ $SRS_HTTP_PARSER = YES ]; then
(
rm -rf
${
SRS_OBJS
}
/http-parser-2.1
&&
cd
${
SRS_OBJS
}
&&
unzip -q ../3rdparty/http-parser-2.1.zip
&&
cd
http-parser-2.1
&&
patch -p0 -R < ../../3rdparty/patches/2.http.parser.patch
&&
sed -i
"s/CPPFLAGS_FAST +=.*
$/
CPPFLAGS_FAST =
\$\(
CPPFLAGS_DEBUG
\)
/g"
Makefile
&&
sed -i
"s/CFLAGS_FAST =.*
$/
CFLAGS_FAST =
\$\(
CFLAGS_DEBUG
\)
/g"
Makefile
&&
make
CC
=
${
SrsArmCC
}
AR
=
${
SrsArmAR
}
package
&&
...
...
@@ -309,8 +439,7 @@ if [ $SRS_HTTP_PARSER = YES ]; then
(
rm -rf
${
SRS_OBJS
}
/http-parser-2.1
&&
cd
${
SRS_OBJS
}
&&
unzip -q ../3rdparty/http-parser-2.1.zip
&&
cd
http-parser-2.1
&&
sed -i
"s/CPPFLAGS_FAST +=.*
$/
CPPFLAGS_FAST =
\$\(
CPPFLAGS_DEBUG
\)
/g"
Makefile
&&
sed -i
"s/CFLAGS_FAST =.*
$/
CFLAGS_FAST =
\$\(
CFLAGS_DEBUG
\)
/g"
Makefile
&&
patch -p0 -R < ../../3rdparty/patches/2.http.parser.patch
&&
make package
&&
cd
..
&&
rm -rf hp
&&
ln -sf http-parser-2.1 hp
&&
cd
..
&&
rm -f
${
SRS_OBJS
}
/_flag.st.hp.tmp
...
...
@@ -402,7 +531,7 @@ if [ $SRS_HTTP_CALLBACK = YES ]; then
if
[[
-f
${
SRS_OBJS
}
/CherryPy-3.2.4/setup.py
]]
;
then
echo
"CherryPy-3.2.4 is ok."
;
else
require_sudoer
"
configure --with-http-callback
"
require_sudoer
"
install CherryPy-3.2.4
"
echo
"install CherryPy-3.2.4"
;
(
sudo rm -rf
${
SRS_OBJS
}
/CherryPy-3.2.4
&&
cd
${
SRS_OBJS
}
&&
...
...
@@ -454,9 +583,11 @@ fi
#####################################################################################
# extra configure options
CONFIGURE_TOOL
=
"./config"
EXTRA_CONFIGURE
=
""
if
[
$SRS_EMBEDED_CPU
=
YES
]
;
then
CONFIGURE_TOOL
=
"./Configure"
CONFIGURE_TOOL
=
"./Configure linux-armv4"
fi
if
[
$SRS_OSX
=
YES
]
;
then
CONFIGURE_TOOL
=
"./Configure darwin64-
`
uname -m
`
-cc"
fi
# @see http://www.openssl.org/news/secadv_20140407.txt
# Affected users should upgrade to OpenSSL 1.0.1g. Users unable to immediately
...
...
@@ -475,7 +606,7 @@ if [ $SRS_SSL = YES ]; then
(
rm -rf
${
SRS_OBJS
}
/openssl-1.0.1f
&&
cd
${
SRS_OBJS
}
&&
unzip -q ../3rdparty/openssl-1.0.1f.zip
&&
cd
openssl-1.0.1f
&&
$CONFIGURE_TOOL
--prefix
=
`
pwd
`
/_release -no-shared no-asm
linux-armv4 -DOPENSSL_NO_HEARTBEATS
${
EXTRA_CONFIGURE
}
&&
$CONFIGURE_TOOL
--prefix
=
`
pwd
`
/_release -no-shared no-asm
&&
make
CC
=
${
SrsArmCC
}
GCC
=
${
SrsArmGCC
}
AR
=
"
${
SrsArmAR
}
r"
\
LD
=
${
SrsArmLD
}
LINK
=
${
SrsArmGCC
}
RANDLIB
=
${
SrsArmRANDLIB
}
&&
make install_sw
&&
...
...
@@ -492,7 +623,7 @@ if [ $SRS_SSL = YES ]; then
(
rm -rf
${
SRS_OBJS
}
/openssl-1.0.1f
&&
cd
${
SRS_OBJS
}
&&
unzip -q ../3rdparty/openssl-1.0.1f.zip
&&
cd
openssl-1.0.1f
&&
$CONFIGURE_TOOL
--prefix
=
`
pwd
`
/_release -no-shared
-DOPENSSL_NO_HEARTBEATS
${
EXTRA_CONFIGURE
}
&&
$CONFIGURE_TOOL
--prefix
=
`
pwd
`
/_release -no-shared
&&
make
&&
make install_sw
&&
cd
..
&&
rm -rf openssl
&&
ln -sf openssl-1.0.1f/_release openssl
&&
cd
..
&&
rm -f
${
SRS_OBJS
}
/_flag.ssl.arm.tmp
...
...
trunk/auto/options.sh
查看文件 @
db7ddfd
...
...
@@ -68,6 +68,8 @@ SRS_EXPORT_LIBRTMP_SINGLE=NO
# presets
# for x86/x64 pc/servers
SRS_X86_X64
=
NO
# for osx system
SRS_OSX
=
NO
# armhf(v7cpu) built on ubuntu12
SRS_ARM_UBUNTU12
=
NO
# mips built on ubuntu12
...
...
@@ -166,6 +168,7 @@ Options:
Presets:
--x86-x64 [default] for x86/x64 cpu, common pc and servers.
--osx for osx(darwin) system to build SRS.
--pi for raspberry-pi(directly build), open features hls/ssl/static.
--cubie for cubieboard(directly build), open features except ffmpeg/nginx.
--arm alias for --with-arm-ubuntu12, for ubuntu12, arm crossbuild
...
...
@@ -260,6 +263,7 @@ function parse_user_option() {
--log-trace
)
SRS_LOG_TRACE
=
YES
;;
--x86-x64
)
SRS_X86_X64
=
YES
;;
--osx
)
SRS_OSX
=
YES
;;
--arm
)
SRS_ARM_UBUNTU12
=
YES
;;
--mips
)
SRS_MIPS_UBUNTU12
=
YES
;;
--pi
)
SRS_PI
=
YES
;;
...
...
@@ -331,6 +335,7 @@ function apply_user_presets() {
if
[
$SRS_PI
=
NO
]
;
then
if
[
$SRS_CUBIE
=
NO
]
;
then
if
[
$SRS_X86_X64
=
NO
]
;
then
if
[
$SRS_OSX
=
NO
]
;
then
SRS_X86_X64
=
YES;
opt
=
"--x86-x64
$opt
"
;
fi
fi
...
...
@@ -345,6 +350,7 @@ function apply_user_presets() {
fi
fi
fi
fi
# whether embeded cpu.
if
[
$SRS_ARM_UBUNTU12
=
YES
]
;
then
...
...
@@ -551,7 +557,7 @@ function apply_user_presets() {
SRS_HTTP_CALLBACK
=
YES
SRS_HTTP_SERVER
=
YES
SRS_STREAM_CASTER
=
YES
SRS_HTTP_API
=
YES
SRS_HTTP_API
=
NO
SRS_LIBRTMP
=
YES
SRS_RESEARCH
=
NO
SRS_UTEST
=
YES
...
...
@@ -563,6 +569,32 @@ function apply_user_presets() {
SRS_STATIC
=
NO
fi
# for osx(darwin)
if
[
$SRS_OSX
=
YES
]
;
then
SRS_HLS
=
YES
SRS_DVR
=
YES
SRS_NGINX
=
NO
SRS_SSL
=
YES
SRS_FFMPEG_TOOL
=
NO
SRS_TRANSCODE
=
YES
SRS_INGEST
=
YES
SRS_STAT
=
NO
SRS_HTTP_PARSER
=
YES
SRS_HTTP_CALLBACK
=
YES
SRS_HTTP_SERVER
=
YES
SRS_STREAM_CASTER
=
YES
SRS_HTTP_API
=
NO
SRS_LIBRTMP
=
YES
SRS_RESEARCH
=
NO
SRS_UTEST
=
NO
SRS_GPERF
=
NO
SRS_GPERF_MC
=
NO
SRS_GPERF_MP
=
NO
SRS_GPERF_CP
=
NO
SRS_GPROF
=
NO
SRS_STATIC
=
NO
fi
# if dev specified, open features if possible.
if
[
$SRS_DEV
=
YES
]
;
then
SRS_HLS
=
YES
...
...
trunk/configure
查看文件 @
db7ddfd
...
...
@@ -11,10 +11,10 @@ mkdir -p ${SRS_OBJS}
#####################################################################################
# linux shell color support.
RED
=
"
\\
e[31m"
GREEN
=
"
\\
e[32m"
YELLOW
=
"
\\
e[33m"
BLACK
=
"
\\
e[0m"
RED
=
"
\\
033[31m"
GREEN
=
"
\\
033[32m"
YELLOW
=
"
\\
033[33m"
BLACK
=
"
\\
033[0m"
#####################################################################################
# parse user options, set the variables like:
...
...
trunk/etc/init.d/srs
查看文件 @
db7ddfd
...
...
@@ -21,11 +21,11 @@ DEFAULT_LOG_FILE='./objs/srs.log'
########################################################################
# utility functions
########################################################################
RED
=
"
\\
e[31m"
GREEN
=
"
\\
e[32m"
YELLOW
=
"
\\
e[33m"
BLACK
=
"
\\
e[0m"
POS
=
"
\\
e[60G"
RED
=
"
\\
033[31m"
GREEN
=
"
\\
033[32m"
YELLOW
=
"
\\
033[33m"
BLACK
=
"
\\
033[0m"
POS
=
"
\\
033[60G"
ok_msg
()
{
echo
-e
"
${
1
}${
POS
}${
BLACK
}
[
${
GREEN
}
OK
${
BLACK
}
]"
...
...
trunk/ide/srs_xcode/srs_xcode.xcodeproj/project.pbxproj
0 → 100644
查看文件 @
db7ddfd
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
3C1231F61AAE652D00CE8F6C /* srs_core_autofree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1231F01AAE652C00CE8F6C /* srs_core_autofree.cpp */; };
3C1231F71AAE652D00CE8F6C /* srs_core_performance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1231F21AAE652C00CE8F6C /* srs_core_performance.cpp */; };
3C1231F81AAE652D00CE8F6C /* srs_core.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1231F41AAE652D00CE8F6C /* srs_core.cpp */; };
3C1232061AAE812C00CE8F6C /* srs_main_server.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232051AAE812C00CE8F6C /* srs_main_server.cpp */; };
3C1232201AAE814D00CE8F6C /* srs_kernel_aac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232081AAE814D00CE8F6C /* srs_kernel_aac.cpp */; };
3C1232211AAE814D00CE8F6C /* srs_kernel_buffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12320A1AAE814D00CE8F6C /* srs_kernel_buffer.cpp */; };
3C1232221AAE814D00CE8F6C /* srs_kernel_codec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12320C1AAE814D00CE8F6C /* srs_kernel_codec.cpp */; };
3C1232231AAE814D00CE8F6C /* srs_kernel_consts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12320E1AAE814D00CE8F6C /* srs_kernel_consts.cpp */; };
3C1232241AAE814D00CE8F6C /* srs_kernel_error.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232101AAE814D00CE8F6C /* srs_kernel_error.cpp */; };
3C1232251AAE814D00CE8F6C /* srs_kernel_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232121AAE814D00CE8F6C /* srs_kernel_file.cpp */; };
3C1232261AAE814D00CE8F6C /* srs_kernel_flv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232141AAE814D00CE8F6C /* srs_kernel_flv.cpp */; };
3C1232271AAE814D00CE8F6C /* srs_kernel_log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232161AAE814D00CE8F6C /* srs_kernel_log.cpp */; };
3C1232281AAE814D00CE8F6C /* srs_kernel_mp3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232181AAE814D00CE8F6C /* srs_kernel_mp3.cpp */; };
3C1232291AAE814D00CE8F6C /* srs_kernel_stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12321A1AAE814D00CE8F6C /* srs_kernel_stream.cpp */; };
3C12322A1AAE814D00CE8F6C /* srs_kernel_ts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12321C1AAE814D00CE8F6C /* srs_kernel_ts.cpp */; };
3C12322B1AAE814D00CE8F6C /* srs_kernel_utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12321E1AAE814D00CE8F6C /* srs_kernel_utility.cpp */; };
3C1232411AAE81A400CE8F6C /* srs_raw_avc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12322D1AAE81A400CE8F6C /* srs_raw_avc.cpp */; };
3C1232421AAE81A400CE8F6C /* srs_rtmp_amf0.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12322F1AAE81A400CE8F6C /* srs_rtmp_amf0.cpp */; };
3C1232431AAE81A400CE8F6C /* srs_rtmp_buffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232311AAE81A400CE8F6C /* srs_rtmp_buffer.cpp */; };
3C1232441AAE81A400CE8F6C /* srs_rtmp_handshake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232331AAE81A400CE8F6C /* srs_rtmp_handshake.cpp */; };
3C1232451AAE81A400CE8F6C /* srs_rtmp_io.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232351AAE81A400CE8F6C /* srs_rtmp_io.cpp */; };
3C1232461AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232371AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp */; };
3C1232471AAE81A400CE8F6C /* srs_rtmp_sdk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232391AAE81A400CE8F6C /* srs_rtmp_sdk.cpp */; };
3C1232481AAE81A400CE8F6C /* srs_rtmp_stack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12323B1AAE81A400CE8F6C /* srs_rtmp_stack.cpp */; };
3C1232491AAE81A400CE8F6C /* srs_rtmp_utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12323D1AAE81A400CE8F6C /* srs_rtmp_utility.cpp */; };
3C12324A1AAE81A400CE8F6C /* srs_rtsp_stack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12323F1AAE81A400CE8F6C /* srs_rtsp_stack.cpp */; };
3C1232941AAE81D900CE8F6C /* srs_app_bandwidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12324C1AAE81D900CE8F6C /* srs_app_bandwidth.cpp */; };
3C1232951AAE81D900CE8F6C /* srs_app_config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12324E1AAE81D900CE8F6C /* srs_app_config.cpp */; };
3C1232961AAE81D900CE8F6C /* srs_app_conn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232501AAE81D900CE8F6C /* srs_app_conn.cpp */; };
3C1232971AAE81D900CE8F6C /* srs_app_dvr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232521AAE81D900CE8F6C /* srs_app_dvr.cpp */; };
3C1232981AAE81D900CE8F6C /* srs_app_edge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232541AAE81D900CE8F6C /* srs_app_edge.cpp */; };
3C1232991AAE81D900CE8F6C /* srs_app_empty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232561AAE81D900CE8F6C /* srs_app_empty.cpp */; };
3C12329A1AAE81D900CE8F6C /* srs_app_encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232581AAE81D900CE8F6C /* srs_app_encoder.cpp */; };
3C12329B1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12325A1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp */; };
3C12329C1AAE81D900CE8F6C /* srs_app_forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12325C1AAE81D900CE8F6C /* srs_app_forward.cpp */; };
3C12329D1AAE81D900CE8F6C /* srs_app_heartbeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12325E1AAE81D900CE8F6C /* srs_app_heartbeat.cpp */; };
3C12329E1AAE81D900CE8F6C /* srs_app_hls.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232601AAE81D900CE8F6C /* srs_app_hls.cpp */; };
3C12329F1AAE81D900CE8F6C /* srs_app_http_api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232621AAE81D900CE8F6C /* srs_app_http_api.cpp */; };
3C1232A01AAE81D900CE8F6C /* srs_app_http_client.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232641AAE81D900CE8F6C /* srs_app_http_client.cpp */; };
3C1232A11AAE81D900CE8F6C /* srs_app_http_conn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232661AAE81D900CE8F6C /* srs_app_http_conn.cpp */; };
3C1232A21AAE81D900CE8F6C /* srs_app_http_hooks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232681AAE81D900CE8F6C /* srs_app_http_hooks.cpp */; };
3C1232A31AAE81D900CE8F6C /* srs_app_http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12326A1AAE81D900CE8F6C /* srs_app_http.cpp */; };
3C1232A41AAE81D900CE8F6C /* srs_app_ingest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12326C1AAE81D900CE8F6C /* srs_app_ingest.cpp */; };
3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */; };
3C1232A61AAE81D900CE8F6C /* srs_app_kbps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232701AAE81D900CE8F6C /* srs_app_kbps.cpp */; };
3C1232A71AAE81D900CE8F6C /* srs_app_listener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */; };
3C1232A81AAE81D900CE8F6C /* srs_app_log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */; };
3C1232A91AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232761AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp */; };
3C1232AA1AAE81D900CE8F6C /* srs_app_pithy_print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232781AAE81D900CE8F6C /* srs_app_pithy_print.cpp */; };
3C1232AB1AAE81D900CE8F6C /* srs_app_recv_thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12327A1AAE81D900CE8F6C /* srs_app_recv_thread.cpp */; };
3C1232AC1AAE81D900CE8F6C /* srs_app_refer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12327C1AAE81D900CE8F6C /* srs_app_refer.cpp */; };
3C1232AD1AAE81D900CE8F6C /* srs_app_reload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12327E1AAE81D900CE8F6C /* srs_app_reload.cpp */; };
3C1232AE1AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232801AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp */; };
3C1232AF1AAE81D900CE8F6C /* srs_app_rtsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232821AAE81D900CE8F6C /* srs_app_rtsp.cpp */; };
3C1232B01AAE81D900CE8F6C /* srs_app_security.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232841AAE81D900CE8F6C /* srs_app_security.cpp */; };
3C1232B11AAE81D900CE8F6C /* srs_app_server.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232861AAE81D900CE8F6C /* srs_app_server.cpp */; };
3C1232B21AAE81D900CE8F6C /* srs_app_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232881AAE81D900CE8F6C /* srs_app_source.cpp */; };
3C1232B31AAE81D900CE8F6C /* srs_app_st_socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12328A1AAE81D900CE8F6C /* srs_app_st_socket.cpp */; };
3C1232B41AAE81D900CE8F6C /* srs_app_st.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12328C1AAE81D900CE8F6C /* srs_app_st.cpp */; };
3C1232B51AAE81D900CE8F6C /* srs_app_statistic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12328E1AAE81D900CE8F6C /* srs_app_statistic.cpp */; };
3C1232B61AAE81D900CE8F6C /* srs_app_thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232901AAE81D900CE8F6C /* srs_app_thread.cpp */; };
3C1232B71AAE81D900CE8F6C /* srs_app_utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232921AAE81D900CE8F6C /* srs_app_utility.cpp */; };
3C1232D31AAEA56B00CE8F6C /* libst.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232D21AAEA56B00CE8F6C /* libst.a */; };
3C1232E91AAEA5D000CE8F6C /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232E71AAEA5D000CE8F6C /* libcrypto.a */; };
3C1232EA1AAEA5D000CE8F6C /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232E81AAEA5D000CE8F6C /* libssl.a */; };
3C1232ED1AAEA70F00CE8F6C /* libhttp_parser.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232EC1AAEA70F00CE8F6C /* libhttp_parser.a */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
3C1231E31AAE64A400CE8F6C /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
3C1231E51AAE64A400CE8F6C /* srs_xcode */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; includeInIndex = 0; path = srs_xcode; sourceTree = BUILT_PRODUCTS_DIR; };
3C1231F01AAE652C00CE8F6C /* srs_core_autofree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_core_autofree.cpp; path = ../../../src/core/srs_core_autofree.cpp; sourceTree = "<group>"; };
3C1231F11AAE652C00CE8F6C /* srs_core_autofree.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_core_autofree.hpp; path = ../../../src/core/srs_core_autofree.hpp; sourceTree = "<group>"; };
3C1231F21AAE652C00CE8F6C /* srs_core_performance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_core_performance.cpp; path = ../../../src/core/srs_core_performance.cpp; sourceTree = "<group>"; };
3C1231F31AAE652C00CE8F6C /* srs_core_performance.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_core_performance.hpp; path = ../../../src/core/srs_core_performance.hpp; sourceTree = "<group>"; };
3C1231F41AAE652D00CE8F6C /* srs_core.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_core.cpp; path = ../../../src/core/srs_core.cpp; sourceTree = "<group>"; };
3C1231F51AAE652D00CE8F6C /* srs_core.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_core.hpp; path = ../../../src/core/srs_core.hpp; sourceTree = "<group>"; };
3C1231FB1AAE673100CE8F6C /* srs_auto_headers.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_auto_headers.hpp; path = ../../../objs/srs_auto_headers.hpp; sourceTree = "<group>"; };
3C1232051AAE812C00CE8F6C /* srs_main_server.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_main_server.cpp; path = ../../../src/main/srs_main_server.cpp; sourceTree = "<group>"; };
3C1232081AAE814D00CE8F6C /* srs_kernel_aac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_aac.cpp; path = ../../../src/kernel/srs_kernel_aac.cpp; sourceTree = "<group>"; };
3C1232091AAE814D00CE8F6C /* srs_kernel_aac.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_aac.hpp; path = ../../../src/kernel/srs_kernel_aac.hpp; sourceTree = "<group>"; };
3C12320A1AAE814D00CE8F6C /* srs_kernel_buffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_buffer.cpp; path = ../../../src/kernel/srs_kernel_buffer.cpp; sourceTree = "<group>"; };
3C12320B1AAE814D00CE8F6C /* srs_kernel_buffer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_buffer.hpp; path = ../../../src/kernel/srs_kernel_buffer.hpp; sourceTree = "<group>"; };
3C12320C1AAE814D00CE8F6C /* srs_kernel_codec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_codec.cpp; path = ../../../src/kernel/srs_kernel_codec.cpp; sourceTree = "<group>"; };
3C12320D1AAE814D00CE8F6C /* srs_kernel_codec.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_codec.hpp; path = ../../../src/kernel/srs_kernel_codec.hpp; sourceTree = "<group>"; };
3C12320E1AAE814D00CE8F6C /* srs_kernel_consts.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_consts.cpp; path = ../../../src/kernel/srs_kernel_consts.cpp; sourceTree = "<group>"; };
3C12320F1AAE814D00CE8F6C /* srs_kernel_consts.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_consts.hpp; path = ../../../src/kernel/srs_kernel_consts.hpp; sourceTree = "<group>"; };
3C1232101AAE814D00CE8F6C /* srs_kernel_error.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_error.cpp; path = ../../../src/kernel/srs_kernel_error.cpp; sourceTree = "<group>"; };
3C1232111AAE814D00CE8F6C /* srs_kernel_error.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_error.hpp; path = ../../../src/kernel/srs_kernel_error.hpp; sourceTree = "<group>"; };
3C1232121AAE814D00CE8F6C /* srs_kernel_file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_file.cpp; path = ../../../src/kernel/srs_kernel_file.cpp; sourceTree = "<group>"; };
3C1232131AAE814D00CE8F6C /* srs_kernel_file.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_file.hpp; path = ../../../src/kernel/srs_kernel_file.hpp; sourceTree = "<group>"; };
3C1232141AAE814D00CE8F6C /* srs_kernel_flv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_flv.cpp; path = ../../../src/kernel/srs_kernel_flv.cpp; sourceTree = "<group>"; };
3C1232151AAE814D00CE8F6C /* srs_kernel_flv.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_flv.hpp; path = ../../../src/kernel/srs_kernel_flv.hpp; sourceTree = "<group>"; };
3C1232161AAE814D00CE8F6C /* srs_kernel_log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_log.cpp; path = ../../../src/kernel/srs_kernel_log.cpp; sourceTree = "<group>"; };
3C1232171AAE814D00CE8F6C /* srs_kernel_log.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_log.hpp; path = ../../../src/kernel/srs_kernel_log.hpp; sourceTree = "<group>"; };
3C1232181AAE814D00CE8F6C /* srs_kernel_mp3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_mp3.cpp; path = ../../../src/kernel/srs_kernel_mp3.cpp; sourceTree = "<group>"; };
3C1232191AAE814D00CE8F6C /* srs_kernel_mp3.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_mp3.hpp; path = ../../../src/kernel/srs_kernel_mp3.hpp; sourceTree = "<group>"; };
3C12321A1AAE814D00CE8F6C /* srs_kernel_stream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_stream.cpp; path = ../../../src/kernel/srs_kernel_stream.cpp; sourceTree = "<group>"; };
3C12321B1AAE814D00CE8F6C /* srs_kernel_stream.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_stream.hpp; path = ../../../src/kernel/srs_kernel_stream.hpp; sourceTree = "<group>"; };
3C12321C1AAE814D00CE8F6C /* srs_kernel_ts.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_ts.cpp; path = ../../../src/kernel/srs_kernel_ts.cpp; sourceTree = "<group>"; };
3C12321D1AAE814D00CE8F6C /* srs_kernel_ts.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_ts.hpp; path = ../../../src/kernel/srs_kernel_ts.hpp; sourceTree = "<group>"; };
3C12321E1AAE814D00CE8F6C /* srs_kernel_utility.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_kernel_utility.cpp; path = ../../../src/kernel/srs_kernel_utility.cpp; sourceTree = "<group>"; };
3C12321F1AAE814D00CE8F6C /* srs_kernel_utility.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_kernel_utility.hpp; path = ../../../src/kernel/srs_kernel_utility.hpp; sourceTree = "<group>"; };
3C12322D1AAE81A400CE8F6C /* srs_raw_avc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_raw_avc.cpp; path = ../../../src/protocol/srs_raw_avc.cpp; sourceTree = "<group>"; };
3C12322E1AAE81A400CE8F6C /* srs_raw_avc.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_raw_avc.hpp; path = ../../../src/protocol/srs_raw_avc.hpp; sourceTree = "<group>"; };
3C12322F1AAE81A400CE8F6C /* srs_rtmp_amf0.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_rtmp_amf0.cpp; path = ../../../src/protocol/srs_rtmp_amf0.cpp; sourceTree = "<group>"; };
3C1232301AAE81A400CE8F6C /* srs_rtmp_amf0.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_rtmp_amf0.hpp; path = ../../../src/protocol/srs_rtmp_amf0.hpp; sourceTree = "<group>"; };
3C1232311AAE81A400CE8F6C /* srs_rtmp_buffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_rtmp_buffer.cpp; path = ../../../src/protocol/srs_rtmp_buffer.cpp; sourceTree = "<group>"; };
3C1232321AAE81A400CE8F6C /* srs_rtmp_buffer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_rtmp_buffer.hpp; path = ../../../src/protocol/srs_rtmp_buffer.hpp; sourceTree = "<group>"; };
3C1232331AAE81A400CE8F6C /* srs_rtmp_handshake.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_rtmp_handshake.cpp; path = ../../../src/protocol/srs_rtmp_handshake.cpp; sourceTree = "<group>"; };
3C1232341AAE81A400CE8F6C /* srs_rtmp_handshake.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_rtmp_handshake.hpp; path = ../../../src/protocol/srs_rtmp_handshake.hpp; sourceTree = "<group>"; };
3C1232351AAE81A400CE8F6C /* srs_rtmp_io.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_rtmp_io.cpp; path = ../../../src/protocol/srs_rtmp_io.cpp; sourceTree = "<group>"; };
3C1232361AAE81A400CE8F6C /* srs_rtmp_io.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_rtmp_io.hpp; path = ../../../src/protocol/srs_rtmp_io.hpp; sourceTree = "<group>"; };
3C1232371AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_rtmp_msg_array.cpp; path = ../../../src/protocol/srs_rtmp_msg_array.cpp; sourceTree = "<group>"; };
3C1232381AAE81A400CE8F6C /* srs_rtmp_msg_array.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_rtmp_msg_array.hpp; path = ../../../src/protocol/srs_rtmp_msg_array.hpp; sourceTree = "<group>"; };
3C1232391AAE81A400CE8F6C /* srs_rtmp_sdk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_rtmp_sdk.cpp; path = ../../../src/protocol/srs_rtmp_sdk.cpp; sourceTree = "<group>"; };
3C12323A1AAE81A400CE8F6C /* srs_rtmp_sdk.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_rtmp_sdk.hpp; path = ../../../src/protocol/srs_rtmp_sdk.hpp; sourceTree = "<group>"; };
3C12323B1AAE81A400CE8F6C /* srs_rtmp_stack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_rtmp_stack.cpp; path = ../../../src/protocol/srs_rtmp_stack.cpp; sourceTree = "<group>"; };
3C12323C1AAE81A400CE8F6C /* srs_rtmp_stack.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_rtmp_stack.hpp; path = ../../../src/protocol/srs_rtmp_stack.hpp; sourceTree = "<group>"; };
3C12323D1AAE81A400CE8F6C /* srs_rtmp_utility.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_rtmp_utility.cpp; path = ../../../src/protocol/srs_rtmp_utility.cpp; sourceTree = "<group>"; };
3C12323E1AAE81A400CE8F6C /* srs_rtmp_utility.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_rtmp_utility.hpp; path = ../../../src/protocol/srs_rtmp_utility.hpp; sourceTree = "<group>"; };
3C12323F1AAE81A400CE8F6C /* srs_rtsp_stack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_rtsp_stack.cpp; path = ../../../src/protocol/srs_rtsp_stack.cpp; sourceTree = "<group>"; };
3C1232401AAE81A400CE8F6C /* srs_rtsp_stack.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_rtsp_stack.hpp; path = ../../../src/protocol/srs_rtsp_stack.hpp; sourceTree = "<group>"; };
3C12324C1AAE81D900CE8F6C /* srs_app_bandwidth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_bandwidth.cpp; path = ../../../src/app/srs_app_bandwidth.cpp; sourceTree = "<group>"; };
3C12324D1AAE81D900CE8F6C /* srs_app_bandwidth.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_bandwidth.hpp; path = ../../../src/app/srs_app_bandwidth.hpp; sourceTree = "<group>"; };
3C12324E1AAE81D900CE8F6C /* srs_app_config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_config.cpp; path = ../../../src/app/srs_app_config.cpp; sourceTree = "<group>"; };
3C12324F1AAE81D900CE8F6C /* srs_app_config.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_config.hpp; path = ../../../src/app/srs_app_config.hpp; sourceTree = "<group>"; };
3C1232501AAE81D900CE8F6C /* srs_app_conn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_conn.cpp; path = ../../../src/app/srs_app_conn.cpp; sourceTree = "<group>"; };
3C1232511AAE81D900CE8F6C /* srs_app_conn.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_conn.hpp; path = ../../../src/app/srs_app_conn.hpp; sourceTree = "<group>"; };
3C1232521AAE81D900CE8F6C /* srs_app_dvr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_dvr.cpp; path = ../../../src/app/srs_app_dvr.cpp; sourceTree = "<group>"; };
3C1232531AAE81D900CE8F6C /* srs_app_dvr.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_dvr.hpp; path = ../../../src/app/srs_app_dvr.hpp; sourceTree = "<group>"; };
3C1232541AAE81D900CE8F6C /* srs_app_edge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_edge.cpp; path = ../../../src/app/srs_app_edge.cpp; sourceTree = "<group>"; };
3C1232551AAE81D900CE8F6C /* srs_app_edge.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_edge.hpp; path = ../../../src/app/srs_app_edge.hpp; sourceTree = "<group>"; };
3C1232561AAE81D900CE8F6C /* srs_app_empty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_empty.cpp; path = ../../../src/app/srs_app_empty.cpp; sourceTree = "<group>"; };
3C1232571AAE81D900CE8F6C /* srs_app_empty.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_empty.hpp; path = ../../../src/app/srs_app_empty.hpp; sourceTree = "<group>"; };
3C1232581AAE81D900CE8F6C /* srs_app_encoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_encoder.cpp; path = ../../../src/app/srs_app_encoder.cpp; sourceTree = "<group>"; };
3C1232591AAE81D900CE8F6C /* srs_app_encoder.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_encoder.hpp; path = ../../../src/app/srs_app_encoder.hpp; sourceTree = "<group>"; };
3C12325A1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_ffmpeg.cpp; path = ../../../src/app/srs_app_ffmpeg.cpp; sourceTree = "<group>"; };
3C12325B1AAE81D900CE8F6C /* srs_app_ffmpeg.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_ffmpeg.hpp; path = ../../../src/app/srs_app_ffmpeg.hpp; sourceTree = "<group>"; };
3C12325C1AAE81D900CE8F6C /* srs_app_forward.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_forward.cpp; path = ../../../src/app/srs_app_forward.cpp; sourceTree = "<group>"; };
3C12325D1AAE81D900CE8F6C /* srs_app_forward.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_forward.hpp; path = ../../../src/app/srs_app_forward.hpp; sourceTree = "<group>"; };
3C12325E1AAE81D900CE8F6C /* srs_app_heartbeat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_heartbeat.cpp; path = ../../../src/app/srs_app_heartbeat.cpp; sourceTree = "<group>"; };
3C12325F1AAE81D900CE8F6C /* srs_app_heartbeat.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_heartbeat.hpp; path = ../../../src/app/srs_app_heartbeat.hpp; sourceTree = "<group>"; };
3C1232601AAE81D900CE8F6C /* srs_app_hls.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_hls.cpp; path = ../../../src/app/srs_app_hls.cpp; sourceTree = "<group>"; };
3C1232611AAE81D900CE8F6C /* srs_app_hls.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_hls.hpp; path = ../../../src/app/srs_app_hls.hpp; sourceTree = "<group>"; };
3C1232621AAE81D900CE8F6C /* srs_app_http_api.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_http_api.cpp; path = ../../../src/app/srs_app_http_api.cpp; sourceTree = "<group>"; };
3C1232631AAE81D900CE8F6C /* srs_app_http_api.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_http_api.hpp; path = ../../../src/app/srs_app_http_api.hpp; sourceTree = "<group>"; };
3C1232641AAE81D900CE8F6C /* srs_app_http_client.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_http_client.cpp; path = ../../../src/app/srs_app_http_client.cpp; sourceTree = "<group>"; };
3C1232651AAE81D900CE8F6C /* srs_app_http_client.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_http_client.hpp; path = ../../../src/app/srs_app_http_client.hpp; sourceTree = "<group>"; };
3C1232661AAE81D900CE8F6C /* srs_app_http_conn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_http_conn.cpp; path = ../../../src/app/srs_app_http_conn.cpp; sourceTree = "<group>"; };
3C1232671AAE81D900CE8F6C /* srs_app_http_conn.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_http_conn.hpp; path = ../../../src/app/srs_app_http_conn.hpp; sourceTree = "<group>"; };
3C1232681AAE81D900CE8F6C /* srs_app_http_hooks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_http_hooks.cpp; path = ../../../src/app/srs_app_http_hooks.cpp; sourceTree = "<group>"; };
3C1232691AAE81D900CE8F6C /* srs_app_http_hooks.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_http_hooks.hpp; path = ../../../src/app/srs_app_http_hooks.hpp; sourceTree = "<group>"; };
3C12326A1AAE81D900CE8F6C /* srs_app_http.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_http.cpp; path = ../../../src/app/srs_app_http.cpp; sourceTree = "<group>"; };
3C12326B1AAE81D900CE8F6C /* srs_app_http.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_http.hpp; path = ../../../src/app/srs_app_http.hpp; sourceTree = "<group>"; };
3C12326C1AAE81D900CE8F6C /* srs_app_ingest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_ingest.cpp; path = ../../../src/app/srs_app_ingest.cpp; sourceTree = "<group>"; };
3C12326D1AAE81D900CE8F6C /* srs_app_ingest.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_ingest.hpp; path = ../../../src/app/srs_app_ingest.hpp; sourceTree = "<group>"; };
3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_json.cpp; path = ../../../src/app/srs_app_json.cpp; sourceTree = "<group>"; };
3C12326F1AAE81D900CE8F6C /* srs_app_json.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_json.hpp; path = ../../../src/app/srs_app_json.hpp; sourceTree = "<group>"; };
3C1232701AAE81D900CE8F6C /* srs_app_kbps.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_kbps.cpp; path = ../../../src/app/srs_app_kbps.cpp; sourceTree = "<group>"; };
3C1232711AAE81D900CE8F6C /* srs_app_kbps.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_kbps.hpp; path = ../../../src/app/srs_app_kbps.hpp; sourceTree = "<group>"; };
3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_listener.cpp; path = ../../../src/app/srs_app_listener.cpp; sourceTree = "<group>"; };
3C1232731AAE81D900CE8F6C /* srs_app_listener.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_listener.hpp; path = ../../../src/app/srs_app_listener.hpp; sourceTree = "<group>"; };
3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_log.cpp; path = ../../../src/app/srs_app_log.cpp; sourceTree = "<group>"; };
3C1232751AAE81D900CE8F6C /* srs_app_log.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_log.hpp; path = ../../../src/app/srs_app_log.hpp; sourceTree = "<group>"; };
3C1232761AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_mpegts_udp.cpp; path = ../../../src/app/srs_app_mpegts_udp.cpp; sourceTree = "<group>"; };
3C1232771AAE81D900CE8F6C /* srs_app_mpegts_udp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_mpegts_udp.hpp; path = ../../../src/app/srs_app_mpegts_udp.hpp; sourceTree = "<group>"; };
3C1232781AAE81D900CE8F6C /* srs_app_pithy_print.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_pithy_print.cpp; path = ../../../src/app/srs_app_pithy_print.cpp; sourceTree = "<group>"; };
3C1232791AAE81D900CE8F6C /* srs_app_pithy_print.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_pithy_print.hpp; path = ../../../src/app/srs_app_pithy_print.hpp; sourceTree = "<group>"; };
3C12327A1AAE81D900CE8F6C /* srs_app_recv_thread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_recv_thread.cpp; path = ../../../src/app/srs_app_recv_thread.cpp; sourceTree = "<group>"; };
3C12327B1AAE81D900CE8F6C /* srs_app_recv_thread.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_recv_thread.hpp; path = ../../../src/app/srs_app_recv_thread.hpp; sourceTree = "<group>"; };
3C12327C1AAE81D900CE8F6C /* srs_app_refer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_refer.cpp; path = ../../../src/app/srs_app_refer.cpp; sourceTree = "<group>"; };
3C12327D1AAE81D900CE8F6C /* srs_app_refer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_refer.hpp; path = ../../../src/app/srs_app_refer.hpp; sourceTree = "<group>"; };
3C12327E1AAE81D900CE8F6C /* srs_app_reload.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_reload.cpp; path = ../../../src/app/srs_app_reload.cpp; sourceTree = "<group>"; };
3C12327F1AAE81D900CE8F6C /* srs_app_reload.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_reload.hpp; path = ../../../src/app/srs_app_reload.hpp; sourceTree = "<group>"; };
3C1232801AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_rtmp_conn.cpp; path = ../../../src/app/srs_app_rtmp_conn.cpp; sourceTree = "<group>"; };
3C1232811AAE81D900CE8F6C /* srs_app_rtmp_conn.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_rtmp_conn.hpp; path = ../../../src/app/srs_app_rtmp_conn.hpp; sourceTree = "<group>"; };
3C1232821AAE81D900CE8F6C /* srs_app_rtsp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_rtsp.cpp; path = ../../../src/app/srs_app_rtsp.cpp; sourceTree = "<group>"; };
3C1232831AAE81D900CE8F6C /* srs_app_rtsp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_rtsp.hpp; path = ../../../src/app/srs_app_rtsp.hpp; sourceTree = "<group>"; };
3C1232841AAE81D900CE8F6C /* srs_app_security.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_security.cpp; path = ../../../src/app/srs_app_security.cpp; sourceTree = "<group>"; };
3C1232851AAE81D900CE8F6C /* srs_app_security.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_security.hpp; path = ../../../src/app/srs_app_security.hpp; sourceTree = "<group>"; };
3C1232861AAE81D900CE8F6C /* srs_app_server.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_server.cpp; path = ../../../src/app/srs_app_server.cpp; sourceTree = "<group>"; };
3C1232871AAE81D900CE8F6C /* srs_app_server.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_server.hpp; path = ../../../src/app/srs_app_server.hpp; sourceTree = "<group>"; };
3C1232881AAE81D900CE8F6C /* srs_app_source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_source.cpp; path = ../../../src/app/srs_app_source.cpp; sourceTree = "<group>"; };
3C1232891AAE81D900CE8F6C /* srs_app_source.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_source.hpp; path = ../../../src/app/srs_app_source.hpp; sourceTree = "<group>"; };
3C12328A1AAE81D900CE8F6C /* srs_app_st_socket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_st_socket.cpp; path = ../../../src/app/srs_app_st_socket.cpp; sourceTree = "<group>"; };
3C12328B1AAE81D900CE8F6C /* srs_app_st_socket.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_st_socket.hpp; path = ../../../src/app/srs_app_st_socket.hpp; sourceTree = "<group>"; };
3C12328C1AAE81D900CE8F6C /* srs_app_st.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_st.cpp; path = ../../../src/app/srs_app_st.cpp; sourceTree = "<group>"; };
3C12328D1AAE81D900CE8F6C /* srs_app_st.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_st.hpp; path = ../../../src/app/srs_app_st.hpp; sourceTree = "<group>"; };
3C12328E1AAE81D900CE8F6C /* srs_app_statistic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_statistic.cpp; path = ../../../src/app/srs_app_statistic.cpp; sourceTree = "<group>"; };
3C12328F1AAE81D900CE8F6C /* srs_app_statistic.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_statistic.hpp; path = ../../../src/app/srs_app_statistic.hpp; sourceTree = "<group>"; };
3C1232901AAE81D900CE8F6C /* srs_app_thread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_thread.cpp; path = ../../../src/app/srs_app_thread.cpp; sourceTree = "<group>"; };
3C1232911AAE81D900CE8F6C /* srs_app_thread.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_thread.hpp; path = ../../../src/app/srs_app_thread.hpp; sourceTree = "<group>"; };
3C1232921AAE81D900CE8F6C /* srs_app_utility.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_utility.cpp; path = ../../../src/app/srs_app_utility.cpp; sourceTree = "<group>"; };
3C1232931AAE81D900CE8F6C /* srs_app_utility.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_utility.hpp; path = ../../../src/app/srs_app_utility.hpp; sourceTree = "<group>"; };
3C1232B81AAE824500CE8F6C /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = configure; path = ../../../configure; sourceTree = "<group>"; };
3C1232BB1AAE827E00CE8F6C /* apps.sh */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; name = apps.sh; path = ../../../auto/apps.sh; sourceTree = "<group>"; };
3C1232BC1AAE827E00CE8F6C /* auto_headers.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = auto_headers.sh; path = ../../../auto/auto_headers.sh; sourceTree = "<group>"; };
3C1232BD1AAE827E00CE8F6C /* build_ffmpeg.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = build_ffmpeg.sh; path = ../../../auto/build_ffmpeg.sh; sourceTree = "<group>"; };
3C1232BE1AAE827E00CE8F6C /* depends.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = depends.sh; path = ../../../auto/depends.sh; sourceTree = "<group>"; };
3C1232BF1AAE827E00CE8F6C /* generate_header.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = generate_header.sh; path = ../../../auto/generate_header.sh; sourceTree = "<group>"; };
3C1232C01AAE827E00CE8F6C /* generate-srs-librtmp-project.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "generate-srs-librtmp-project.sh"; path = "../../../auto/generate-srs-librtmp-project.sh"; sourceTree = "<group>"; };
3C1232C11AAE827E00CE8F6C /* generate-srs-librtmp-single.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "generate-srs-librtmp-single.sh"; path = "../../../auto/generate-srs-librtmp-single.sh"; sourceTree = "<group>"; };
3C1232C21AAE827E00CE8F6C /* libs.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = libs.sh; path = ../../../auto/libs.sh; sourceTree = "<group>"; };
3C1232C31AAE827E00CE8F6C /* local_ip.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = local_ip.sh; path = ../../../auto/local_ip.sh; sourceTree = "<group>"; };
3C1232C41AAE827E00CE8F6C /* modules.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = modules.sh; path = ../../../auto/modules.sh; sourceTree = "<group>"; };
3C1232C51AAE827E00CE8F6C /* options.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = options.sh; path = ../../../auto/options.sh; sourceTree = "<group>"; };
3C1232C61AAE827E00CE8F6C /* summary.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = summary.sh; path = ../../../auto/summary.sh; sourceTree = "<group>"; };
3C1232C71AAE827E00CE8F6C /* utest.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = utest.sh; path = ../../../auto/utest.sh; sourceTree = "<group>"; };
3C1232C81AAE833300CE8F6C /* _log.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = _log.sh; path = ../../../scripts/_log.sh; sourceTree = "<group>"; };
3C1232C91AAE833300CE8F6C /* build.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = build.sh; path = ../../../scripts/build.sh; sourceTree = "<group>"; };
3C1232CA1AAE833300CE8F6C /* git.commit.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = git.commit.sh; path = ../../../scripts/git.commit.sh; sourceTree = "<group>"; };
3C1232CB1AAE833300CE8F6C /* git2unix.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = git2unix.sh; path = ../../../scripts/git2unix.sh; sourceTree = "<group>"; };
3C1232CC1AAE833300CE8F6C /* install.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = install.sh; path = ../../../scripts/install.sh; sourceTree = "<group>"; };
3C1232CD1AAE833300CE8F6C /* package.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = package.sh; path = ../../../scripts/package.sh; sourceTree = "<group>"; };
3C1232CE1AAE833300CE8F6C /* run.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = run.sh; path = ../../../scripts/run.sh; sourceTree = "<group>"; };
3C1232CF1AAE833300CE8F6C /* srs.test */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = srs.test; path = ../../../scripts/srs.test; sourceTree = "<group>"; };
3C1232D01AAE833300CE8F6C /* stop.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = stop.sh; path = ../../../scripts/stop.sh; sourceTree = "<group>"; };
3C1232D11AAE833300CE8F6C /* test_configure.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = test_configure.sh; path = ../../../scripts/test_configure.sh; sourceTree = "<group>"; };
3C1232D21AAEA56B00CE8F6C /* libst.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libst.a; path = "../../objs/st-1.9/DARWIN_14.0.0_DBG/libst.a"; sourceTree = "<group>"; };
3C1232E71AAEA5D000CE8F6C /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcrypto.a; path = "../../objs/openssl-1.0.1f/_release/lib/libcrypto.a"; sourceTree = "<group>"; };
3C1232E81AAEA5D000CE8F6C /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libssl.a; path = "../../objs/openssl-1.0.1f/_release/lib/libssl.a"; sourceTree = "<group>"; };
3C1232EC1AAEA70F00CE8F6C /* libhttp_parser.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libhttp_parser.a; path = "../../objs/http-parser-2.1/libhttp_parser.a"; sourceTree = "<group>"; };
3C1232F11AAEAC7000CE8F6C /* srs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = srs; path = ../../../etc/init.d/srs; sourceTree = "<group>"; };
3C1232F21AAEAC7000CE8F6C /* srs-api */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-api"; path = "../../../etc/init.d/srs-api"; sourceTree = "<group>"; };
3C1232F31AAEAC7000CE8F6C /* srs-demo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-demo"; path = "../../../etc/init.d/srs-demo"; sourceTree = "<group>"; };
3C1232F41AAEAC7000CE8F6C /* srs-demo-19350 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-demo-19350"; path = "../../../etc/init.d/srs-demo-19350"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
3C1231E21AAE64A400CE8F6C /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
3C1232ED1AAEA70F00CE8F6C /* libhttp_parser.a in Frameworks */,
3C1232E91AAEA5D000CE8F6C /* libcrypto.a in Frameworks */,
3C1232EA1AAEA5D000CE8F6C /* libssl.a in Frameworks */,
3C1232D31AAEA56B00CE8F6C /* libst.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
3C1231DC1AAE64A400CE8F6C = {
isa = PBXGroup;
children = (
3C1232EE1AAEA71C00CE8F6C /* links */,
3C1231E71AAE64A400CE8F6C /* srs_xcode */,
3C1231E61AAE64A400CE8F6C /* Products */,
);
sourceTree = "<group>";
};
3C1231E61AAE64A400CE8F6C /* Products */ = {
isa = PBXGroup;
children = (
3C1231E51AAE64A400CE8F6C /* srs_xcode */,
);
name = Products;
sourceTree = "<group>";
};
3C1231E71AAE64A400CE8F6C /* srs_xcode */ = {
isa = PBXGroup;
children = (
3C1232EF1AAEAC5800CE8F6C /* etc */,
3C1232B81AAE824500CE8F6C /* configure */,
3C1232BA1AAE826F00CE8F6C /* auto */,
3C1232B91AAE825100CE8F6C /* scripts */,
3C12324B1AAE81CE00CE8F6C /* app */,
3C12322C1AAE819900CE8F6C /* protocol */,
3C1232071AAE814200CE8F6C /* kernel */,
3C1232041AAE80CB00CE8F6C /* main */,
3C1231F91AAE670E00CE8F6C /* objs */,
3C1231EF1AAE651100CE8F6C /* core */,
);
path = srs_xcode;
sourceTree = "<group>";
};
3C1231EF1AAE651100CE8F6C /* core */ = {
isa = PBXGroup;
children = (
3C1231F01AAE652C00CE8F6C /* srs_core_autofree.cpp */,
3C1231F11AAE652C00CE8F6C /* srs_core_autofree.hpp */,
3C1231F21AAE652C00CE8F6C /* srs_core_performance.cpp */,
3C1231F31AAE652C00CE8F6C /* srs_core_performance.hpp */,
3C1231F41AAE652D00CE8F6C /* srs_core.cpp */,
3C1231F51AAE652D00CE8F6C /* srs_core.hpp */,
);
name = core;
sourceTree = "<group>";
};
3C1231F91AAE670E00CE8F6C /* objs */ = {
isa = PBXGroup;
children = (
3C1231FB1AAE673100CE8F6C /* srs_auto_headers.hpp */,
);
name = objs;
sourceTree = "<group>";
};
3C1232041AAE80CB00CE8F6C /* main */ = {
isa = PBXGroup;
children = (
3C1232051AAE812C00CE8F6C /* srs_main_server.cpp */,
);
name = main;
sourceTree = "<group>";
};
3C1232071AAE814200CE8F6C /* kernel */ = {
isa = PBXGroup;
children = (
3C1232081AAE814D00CE8F6C /* srs_kernel_aac.cpp */,
3C1232091AAE814D00CE8F6C /* srs_kernel_aac.hpp */,
3C12320A1AAE814D00CE8F6C /* srs_kernel_buffer.cpp */,
3C12320B1AAE814D00CE8F6C /* srs_kernel_buffer.hpp */,
3C12320C1AAE814D00CE8F6C /* srs_kernel_codec.cpp */,
3C12320D1AAE814D00CE8F6C /* srs_kernel_codec.hpp */,
3C12320E1AAE814D00CE8F6C /* srs_kernel_consts.cpp */,
3C12320F1AAE814D00CE8F6C /* srs_kernel_consts.hpp */,
3C1232101AAE814D00CE8F6C /* srs_kernel_error.cpp */,
3C1232111AAE814D00CE8F6C /* srs_kernel_error.hpp */,
3C1232121AAE814D00CE8F6C /* srs_kernel_file.cpp */,
3C1232131AAE814D00CE8F6C /* srs_kernel_file.hpp */,
3C1232141AAE814D00CE8F6C /* srs_kernel_flv.cpp */,
3C1232151AAE814D00CE8F6C /* srs_kernel_flv.hpp */,
3C1232161AAE814D00CE8F6C /* srs_kernel_log.cpp */,
3C1232171AAE814D00CE8F6C /* srs_kernel_log.hpp */,
3C1232181AAE814D00CE8F6C /* srs_kernel_mp3.cpp */,
3C1232191AAE814D00CE8F6C /* srs_kernel_mp3.hpp */,
3C12321A1AAE814D00CE8F6C /* srs_kernel_stream.cpp */,
3C12321B1AAE814D00CE8F6C /* srs_kernel_stream.hpp */,
3C12321C1AAE814D00CE8F6C /* srs_kernel_ts.cpp */,
3C12321D1AAE814D00CE8F6C /* srs_kernel_ts.hpp */,
3C12321E1AAE814D00CE8F6C /* srs_kernel_utility.cpp */,
3C12321F1AAE814D00CE8F6C /* srs_kernel_utility.hpp */,
);
name = kernel;
sourceTree = "<group>";
};
3C12322C1AAE819900CE8F6C /* protocol */ = {
isa = PBXGroup;
children = (
3C12322D1AAE81A400CE8F6C /* srs_raw_avc.cpp */,
3C12322E1AAE81A400CE8F6C /* srs_raw_avc.hpp */,
3C12322F1AAE81A400CE8F6C /* srs_rtmp_amf0.cpp */,
3C1232301AAE81A400CE8F6C /* srs_rtmp_amf0.hpp */,
3C1232311AAE81A400CE8F6C /* srs_rtmp_buffer.cpp */,
3C1232321AAE81A400CE8F6C /* srs_rtmp_buffer.hpp */,
3C1232331AAE81A400CE8F6C /* srs_rtmp_handshake.cpp */,
3C1232341AAE81A400CE8F6C /* srs_rtmp_handshake.hpp */,
3C1232351AAE81A400CE8F6C /* srs_rtmp_io.cpp */,
3C1232361AAE81A400CE8F6C /* srs_rtmp_io.hpp */,
3C1232371AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp */,
3C1232381AAE81A400CE8F6C /* srs_rtmp_msg_array.hpp */,
3C1232391AAE81A400CE8F6C /* srs_rtmp_sdk.cpp */,
3C12323A1AAE81A400CE8F6C /* srs_rtmp_sdk.hpp */,
3C12323B1AAE81A400CE8F6C /* srs_rtmp_stack.cpp */,
3C12323C1AAE81A400CE8F6C /* srs_rtmp_stack.hpp */,
3C12323D1AAE81A400CE8F6C /* srs_rtmp_utility.cpp */,
3C12323E1AAE81A400CE8F6C /* srs_rtmp_utility.hpp */,
3C12323F1AAE81A400CE8F6C /* srs_rtsp_stack.cpp */,
3C1232401AAE81A400CE8F6C /* srs_rtsp_stack.hpp */,
);
name = protocol;
sourceTree = "<group>";
};
3C12324B1AAE81CE00CE8F6C /* app */ = {
isa = PBXGroup;
children = (
3C12324C1AAE81D900CE8F6C /* srs_app_bandwidth.cpp */,
3C12324D1AAE81D900CE8F6C /* srs_app_bandwidth.hpp */,
3C12324E1AAE81D900CE8F6C /* srs_app_config.cpp */,
3C12324F1AAE81D900CE8F6C /* srs_app_config.hpp */,
3C1232501AAE81D900CE8F6C /* srs_app_conn.cpp */,
3C1232511AAE81D900CE8F6C /* srs_app_conn.hpp */,
3C1232521AAE81D900CE8F6C /* srs_app_dvr.cpp */,
3C1232531AAE81D900CE8F6C /* srs_app_dvr.hpp */,
3C1232541AAE81D900CE8F6C /* srs_app_edge.cpp */,
3C1232551AAE81D900CE8F6C /* srs_app_edge.hpp */,
3C1232561AAE81D900CE8F6C /* srs_app_empty.cpp */,
3C1232571AAE81D900CE8F6C /* srs_app_empty.hpp */,
3C1232581AAE81D900CE8F6C /* srs_app_encoder.cpp */,
3C1232591AAE81D900CE8F6C /* srs_app_encoder.hpp */,
3C12325A1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp */,
3C12325B1AAE81D900CE8F6C /* srs_app_ffmpeg.hpp */,
3C12325C1AAE81D900CE8F6C /* srs_app_forward.cpp */,
3C12325D1AAE81D900CE8F6C /* srs_app_forward.hpp */,
3C12325E1AAE81D900CE8F6C /* srs_app_heartbeat.cpp */,
3C12325F1AAE81D900CE8F6C /* srs_app_heartbeat.hpp */,
3C1232601AAE81D900CE8F6C /* srs_app_hls.cpp */,
3C1232611AAE81D900CE8F6C /* srs_app_hls.hpp */,
3C1232621AAE81D900CE8F6C /* srs_app_http_api.cpp */,
3C1232631AAE81D900CE8F6C /* srs_app_http_api.hpp */,
3C1232641AAE81D900CE8F6C /* srs_app_http_client.cpp */,
3C1232651AAE81D900CE8F6C /* srs_app_http_client.hpp */,
3C1232661AAE81D900CE8F6C /* srs_app_http_conn.cpp */,
3C1232671AAE81D900CE8F6C /* srs_app_http_conn.hpp */,
3C1232681AAE81D900CE8F6C /* srs_app_http_hooks.cpp */,
3C1232691AAE81D900CE8F6C /* srs_app_http_hooks.hpp */,
3C12326A1AAE81D900CE8F6C /* srs_app_http.cpp */,
3C12326B1AAE81D900CE8F6C /* srs_app_http.hpp */,
3C12326C1AAE81D900CE8F6C /* srs_app_ingest.cpp */,
3C12326D1AAE81D900CE8F6C /* srs_app_ingest.hpp */,
3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */,
3C12326F1AAE81D900CE8F6C /* srs_app_json.hpp */,
3C1232701AAE81D900CE8F6C /* srs_app_kbps.cpp */,
3C1232711AAE81D900CE8F6C /* srs_app_kbps.hpp */,
3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */,
3C1232731AAE81D900CE8F6C /* srs_app_listener.hpp */,
3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */,
3C1232751AAE81D900CE8F6C /* srs_app_log.hpp */,
3C1232761AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp */,
3C1232771AAE81D900CE8F6C /* srs_app_mpegts_udp.hpp */,
3C1232781AAE81D900CE8F6C /* srs_app_pithy_print.cpp */,
3C1232791AAE81D900CE8F6C /* srs_app_pithy_print.hpp */,
3C12327A1AAE81D900CE8F6C /* srs_app_recv_thread.cpp */,
3C12327B1AAE81D900CE8F6C /* srs_app_recv_thread.hpp */,
3C12327C1AAE81D900CE8F6C /* srs_app_refer.cpp */,
3C12327D1AAE81D900CE8F6C /* srs_app_refer.hpp */,
3C12327E1AAE81D900CE8F6C /* srs_app_reload.cpp */,
3C12327F1AAE81D900CE8F6C /* srs_app_reload.hpp */,
3C1232801AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp */,
3C1232811AAE81D900CE8F6C /* srs_app_rtmp_conn.hpp */,
3C1232821AAE81D900CE8F6C /* srs_app_rtsp.cpp */,
3C1232831AAE81D900CE8F6C /* srs_app_rtsp.hpp */,
3C1232841AAE81D900CE8F6C /* srs_app_security.cpp */,
3C1232851AAE81D900CE8F6C /* srs_app_security.hpp */,
3C1232861AAE81D900CE8F6C /* srs_app_server.cpp */,
3C1232871AAE81D900CE8F6C /* srs_app_server.hpp */,
3C1232881AAE81D900CE8F6C /* srs_app_source.cpp */,
3C1232891AAE81D900CE8F6C /* srs_app_source.hpp */,
3C12328A1AAE81D900CE8F6C /* srs_app_st_socket.cpp */,
3C12328B1AAE81D900CE8F6C /* srs_app_st_socket.hpp */,
3C12328C1AAE81D900CE8F6C /* srs_app_st.cpp */,
3C12328D1AAE81D900CE8F6C /* srs_app_st.hpp */,
3C12328E1AAE81D900CE8F6C /* srs_app_statistic.cpp */,
3C12328F1AAE81D900CE8F6C /* srs_app_statistic.hpp */,
3C1232901AAE81D900CE8F6C /* srs_app_thread.cpp */,
3C1232911AAE81D900CE8F6C /* srs_app_thread.hpp */,
3C1232921AAE81D900CE8F6C /* srs_app_utility.cpp */,
3C1232931AAE81D900CE8F6C /* srs_app_utility.hpp */,
);
name = app;
sourceTree = "<group>";
};
3C1232B91AAE825100CE8F6C /* scripts */ = {
isa = PBXGroup;
children = (
3C1232C81AAE833300CE8F6C /* _log.sh */,
3C1232C91AAE833300CE8F6C /* build.sh */,
3C1232CA1AAE833300CE8F6C /* git.commit.sh */,
3C1232CB1AAE833300CE8F6C /* git2unix.sh */,
3C1232CC1AAE833300CE8F6C /* install.sh */,
3C1232CD1AAE833300CE8F6C /* package.sh */,
3C1232CE1AAE833300CE8F6C /* run.sh */,
3C1232CF1AAE833300CE8F6C /* srs.test */,
3C1232D01AAE833300CE8F6C /* stop.sh */,
3C1232D11AAE833300CE8F6C /* test_configure.sh */,
);
name = scripts;
sourceTree = "<group>";
};
3C1232BA1AAE826F00CE8F6C /* auto */ = {
isa = PBXGroup;
children = (
3C1232BB1AAE827E00CE8F6C /* apps.sh */,
3C1232BC1AAE827E00CE8F6C /* auto_headers.sh */,
3C1232BD1AAE827E00CE8F6C /* build_ffmpeg.sh */,
3C1232BE1AAE827E00CE8F6C /* depends.sh */,
3C1232BF1AAE827E00CE8F6C /* generate_header.sh */,
3C1232C01AAE827E00CE8F6C /* generate-srs-librtmp-project.sh */,
3C1232C11AAE827E00CE8F6C /* generate-srs-librtmp-single.sh */,
3C1232C21AAE827E00CE8F6C /* libs.sh */,
3C1232C31AAE827E00CE8F6C /* local_ip.sh */,
3C1232C41AAE827E00CE8F6C /* modules.sh */,
3C1232C51AAE827E00CE8F6C /* options.sh */,
3C1232C61AAE827E00CE8F6C /* summary.sh */,
3C1232C71AAE827E00CE8F6C /* utest.sh */,
);
name = auto;
sourceTree = "<group>";
};
3C1232EE1AAEA71C00CE8F6C /* links */ = {
isa = PBXGroup;
children = (
3C1232EC1AAEA70F00CE8F6C /* libhttp_parser.a */,
3C1232D21AAEA56B00CE8F6C /* libst.a */,
3C1232E81AAEA5D000CE8F6C /* libssl.a */,
3C1232E71AAEA5D000CE8F6C /* libcrypto.a */,
);
name = links;
sourceTree = "<group>";
};
3C1232EF1AAEAC5800CE8F6C /* etc */ = {
isa = PBXGroup;
children = (
3C1232F01AAEAC5D00CE8F6C /* init.d */,
);
name = etc;
sourceTree = "<group>";
};
3C1232F01AAEAC5D00CE8F6C /* init.d */ = {
isa = PBXGroup;
children = (
3C1232F11AAEAC7000CE8F6C /* srs */,
3C1232F21AAEAC7000CE8F6C /* srs-api */,
3C1232F31AAEAC7000CE8F6C /* srs-demo */,
3C1232F41AAEAC7000CE8F6C /* srs-demo-19350 */,
);
name = init.d;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
3C1231E41AAE64A400CE8F6C /* srs_xcode */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3C1231EC1AAE64A400CE8F6C /* Build configuration list for PBXNativeTarget "srs_xcode" */;
buildPhases = (
3C1231E11AAE64A400CE8F6C /* Sources */,
3C1231E21AAE64A400CE8F6C /* Frameworks */,
3C1231E31AAE64A400CE8F6C /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = srs_xcode;
productName = srs_xcode;
productReference = 3C1231E51AAE64A400CE8F6C /* srs_xcode */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
3C1231DD1AAE64A400CE8F6C /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0610;
ORGANIZATIONNAME = winlin;
TargetAttributes = {
3C1231E41AAE64A400CE8F6C = {
CreatedOnToolsVersion = 6.1.1;
};
};
};
buildConfigurationList = 3C1231E01AAE64A400CE8F6C /* Build configuration list for PBXProject "srs_xcode" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 3C1231DC1AAE64A400CE8F6C;
productRefGroup = 3C1231E61AAE64A400CE8F6C /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
3C1231E41AAE64A400CE8F6C /* srs_xcode */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
3C1231E11AAE64A400CE8F6C /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
3C1232951AAE81D900CE8F6C /* srs_app_config.cpp in Sources */,
3C1232961AAE81D900CE8F6C /* srs_app_conn.cpp in Sources */,
3C12322A1AAE814D00CE8F6C /* srs_kernel_ts.cpp in Sources */,
3C12329E1AAE81D900CE8F6C /* srs_app_hls.cpp in Sources */,
3C1232971AAE81D900CE8F6C /* srs_app_dvr.cpp in Sources */,
3C1232271AAE814D00CE8F6C /* srs_kernel_log.cpp in Sources */,
3C1232A81AAE81D900CE8F6C /* srs_app_log.cpp in Sources */,
3C1232A41AAE81D900CE8F6C /* srs_app_ingest.cpp in Sources */,
3C1232B41AAE81D900CE8F6C /* srs_app_st.cpp in Sources */,
3C1232481AAE81A400CE8F6C /* srs_rtmp_stack.cpp in Sources */,
3C1232B01AAE81D900CE8F6C /* srs_app_security.cpp in Sources */,
3C12322B1AAE814D00CE8F6C /* srs_kernel_utility.cpp in Sources */,
3C12324A1AAE81A400CE8F6C /* srs_rtsp_stack.cpp in Sources */,
3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */,
3C12329F1AAE81D900CE8F6C /* srs_app_http_api.cpp in Sources */,
3C1232A11AAE81D900CE8F6C /* srs_app_http_conn.cpp in Sources */,
3C1232AC1AAE81D900CE8F6C /* srs_app_refer.cpp in Sources */,
3C1232991AAE81D900CE8F6C /* srs_app_empty.cpp in Sources */,
3C1232201AAE814D00CE8F6C /* srs_kernel_aac.cpp in Sources */,
3C1232941AAE81D900CE8F6C /* srs_app_bandwidth.cpp in Sources */,
3C1232221AAE814D00CE8F6C /* srs_kernel_codec.cpp in Sources */,
3C1232B71AAE81D900CE8F6C /* srs_app_utility.cpp in Sources */,
3C1232AB1AAE81D900CE8F6C /* srs_app_recv_thread.cpp in Sources */,
3C1231F61AAE652D00CE8F6C /* srs_core_autofree.cpp in Sources */,
3C1232411AAE81A400CE8F6C /* srs_raw_avc.cpp in Sources */,
3C1232491AAE81A400CE8F6C /* srs_rtmp_utility.cpp in Sources */,
3C1232A01AAE81D900CE8F6C /* srs_app_http_client.cpp in Sources */,
3C12329B1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp in Sources */,
3C1232421AAE81A400CE8F6C /* srs_rtmp_amf0.cpp in Sources */,
3C1232AA1AAE81D900CE8F6C /* srs_app_pithy_print.cpp in Sources */,
3C12329C1AAE81D900CE8F6C /* srs_app_forward.cpp in Sources */,
3C1232251AAE814D00CE8F6C /* srs_kernel_file.cpp in Sources */,
3C1232AD1AAE81D900CE8F6C /* srs_app_reload.cpp in Sources */,
3C1231F81AAE652D00CE8F6C /* srs_core.cpp in Sources */,
3C1232A21AAE81D900CE8F6C /* srs_app_http_hooks.cpp in Sources */,
3C1232B11AAE81D900CE8F6C /* srs_app_server.cpp in Sources */,
3C1232B31AAE81D900CE8F6C /* srs_app_st_socket.cpp in Sources */,
3C1232061AAE812C00CE8F6C /* srs_main_server.cpp in Sources */,
3C1232281AAE814D00CE8F6C /* srs_kernel_mp3.cpp in Sources */,
3C1232B21AAE81D900CE8F6C /* srs_app_source.cpp in Sources */,
3C1231F71AAE652D00CE8F6C /* srs_core_performance.cpp in Sources */,
3C1232981AAE81D900CE8F6C /* srs_app_edge.cpp in Sources */,
3C1232461AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp in Sources */,
3C1232A71AAE81D900CE8F6C /* srs_app_listener.cpp in Sources */,
3C1232261AAE814D00CE8F6C /* srs_kernel_flv.cpp in Sources */,
3C1232241AAE814D00CE8F6C /* srs_kernel_error.cpp in Sources */,
3C1232441AAE81A400CE8F6C /* srs_rtmp_handshake.cpp in Sources */,
3C1232291AAE814D00CE8F6C /* srs_kernel_stream.cpp in Sources */,
3C1232B61AAE81D900CE8F6C /* srs_app_thread.cpp in Sources */,
3C1232A91AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp in Sources */,
3C1232AE1AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp in Sources */,
3C1232B51AAE81D900CE8F6C /* srs_app_statistic.cpp in Sources */,
3C1232451AAE81A400CE8F6C /* srs_rtmp_io.cpp in Sources */,
3C1232431AAE81A400CE8F6C /* srs_rtmp_buffer.cpp in Sources */,
3C1232211AAE814D00CE8F6C /* srs_kernel_buffer.cpp in Sources */,
3C1232471AAE81A400CE8F6C /* srs_rtmp_sdk.cpp in Sources */,
3C1232A61AAE81D900CE8F6C /* srs_app_kbps.cpp in Sources */,
3C12329D1AAE81D900CE8F6C /* srs_app_heartbeat.cpp in Sources */,
3C1232231AAE814D00CE8F6C /* srs_kernel_consts.cpp in Sources */,
3C1232AF1AAE81D900CE8F6C /* srs_app_rtsp.cpp in Sources */,
3C1232A31AAE81D900CE8F6C /* srs_app_http.cpp in Sources */,
3C12329A1AAE81D900CE8F6C /* srs_app_encoder.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
3C1231EA1AAE64A400CE8F6C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
3C1231EB1AAE64A400CE8F6C /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
3C1231ED1AAE64A400CE8F6C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_CXX_LANGUAGE_STANDARD = "c++98";
CLANG_CXX_LIBRARY = "libstdc++";
LIBRARY_SEARCH_PATHS = (
"../../objs/**",
"/Users/winlin/Desktop/git/simple-rtmp-server/trunk/objs/http-parser-2.1",
);
PRODUCT_NAME = "$(TARGET_NAME)";
"USER_HEADER_SEARCH_PATHS[arch=*]" = "../../src/** ../../objs ../../objs/st ../../objs/hp ../../objs/openssl";
};
name = Debug;
};
3C1231EE1AAE64A400CE8F6C /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_CXX_LANGUAGE_STANDARD = "c++98";
CLANG_CXX_LIBRARY = "libstdc++";
LIBRARY_SEARCH_PATHS = (
"../../objs/**",
"/Users/winlin/Desktop/git/simple-rtmp-server/trunk/objs/http-parser-2.1",
);
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
3C1231E01AAE64A400CE8F6C /* Build configuration list for PBXProject "srs_xcode" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3C1231EA1AAE64A400CE8F6C /* Debug */,
3C1231EB1AAE64A400CE8F6C /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
3C1231EC1AAE64A400CE8F6C /* Build configuration list for PBXNativeTarget "srs_xcode" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3C1231ED1AAE64A400CE8F6C /* Debug */,
3C1231EE1AAE64A400CE8F6C /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 3C1231DD1AAE64A400CE8F6C /* Project object */;
}
...
...
trunk/ide/srs_xcode/srs_xcode.xcodeproj/project.xcworkspace/contents.xcworkspacedata
0 → 100644
查看文件 @
db7ddfd
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version =
"1.0"
>
<FileRef
location =
"self:srs_xcode.xcodeproj"
>
</FileRef>
</Workspace>
...
...
trunk/ide/srs_xcode/srs_xcode.xcodeproj/project.xcworkspace/xcuserdata/winlin.xcuserdatad/UserInterfaceState.xcuserstate
0 → 100644
查看文件 @
db7ddfd
不能预览此文件类型
trunk/ide/srs_xcode/srs_xcode/readme.txt
0 → 100644
查看文件 @
db7ddfd
the xcode project for osx.
...
...
trunk/src/app/srs_app_st.cpp
查看文件 @
db7ddfd
...
...
@@ -26,6 +26,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_kernel_error.hpp>
#include <srs_kernel_log.hpp>
#ifndef SRS_OSX
#include <sys/epoll.h>
bool
srs_st_epoll_is_supported
(
void
)
{
...
...
@@ -38,11 +39,13 @@ bool srs_st_epoll_is_supported(void)
return
(
errno
!=
ENOSYS
);
}
#endif
int
srs_init_st
()
{
int
ret
=
ERROR_SUCCESS
;
#ifndef SRS_OSX
// check epoll, some old linux donot support epoll.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/162
if
(
!
srs_st_epoll_is_supported
())
{
...
...
@@ -58,6 +61,7 @@ int srs_init_st()
return
ret
;
}
srs_verbose
(
"st_set_eventsys use linux epoll success"
);
#endif
if
(
st_init
()
!=
0
){
ret
=
ERROR_ST_INITIALIZE
;
...
...
trunk/src/core/srs_core.hpp
查看文件 @
db7ddfd
...
...
@@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// current release version
#define VERSION_MAJOR 2
#define VERSION_MINOR 0
#define VERSION_REVISION 13
6
#define VERSION_REVISION 13
7
// server info.
#define RTMP_SIG_SRS_KEY "SRS"
...
...
trunk/src/kernel/srs_kernel_utility.cpp
查看文件 @
db7ddfd
...
...
@@ -437,7 +437,9 @@ u_int32_t srs_crc32(const void* buf, int size)
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef UINT_MAX
#define UINT_MAX 0xffffffff
#endif
#ifndef AV_RB32
# define AV_RB32(x) \
...
...
trunk/src/main/srs_main_server.cpp
查看文件 @
db7ddfd
...
...
@@ -177,6 +177,23 @@ void show_macro_features()
void
check_macro_features
()
{
// important preset.
#ifdef SRS_OSX
srs_trace
(
"SRS for OSX"
);
#endif
#ifdef SRS_PI
srs_trace
(
"SRS for pi"
);
#endif
#ifdef SRS_CUBIE
srs_trace
(
"SRS for cubieboard"
);
#endif
#ifdef SRS_ARM_UBUNTU12
srs_trace
(
"SRS for arm(build on ubuntu)"
);
#endif
#ifdef SRS_MIPS_UBUNTU12
srs_trace
(
"SRS for mips(build on ubuntu)"
);
#endif
// for special features.
#ifndef SRS_PERF_MERGED_READ
srs_warn
(
"MR(merged-read) is disabled, hurts read performance. @see %s"
,
RTMP_SIG_SRS_ISSUES
(
241
));
...
...
@@ -252,8 +269,8 @@ int main(int argc, char** argv)
srs_trace
(
"conf: %s, limit: %d"
,
_srs_config
->
config
().
c_str
(),
_srs_config
->
get_max_connections
());
// features
show_macro_features
();
check_macro_features
();
show_macro_features
();
/**
* we do nothing in the constructor of server,
...
...
trunk/src/protocol/srs_rtmp_handshake.cpp
查看文件 @
db7ddfd
...
...
@@ -73,7 +73,7 @@ namespace _srs_internal
int
__openssl_HMACsha256
(
HMAC_CTX
*
ctx
,
const
void
*
data
,
int
data_size
,
void
*
digest
,
unsigned
int
*
digest_size
)
{
int
ret
=
ERROR_SUCCESS
;
#ifndef SRS_OSX
if
(
HMAC_Update
(
ctx
,
(
unsigned
char
*
)
data
,
data_size
)
<
0
)
{
ret
=
ERROR_OpenSslSha256Update
;
return
ret
;
...
...
@@ -83,6 +83,10 @@ namespace _srs_internal
ret
=
ERROR_OpenSslSha256Final
;
return
ret
;
}
#else
HMAC_Update
(
ctx
,
(
unsigned
char
*
)
data
,
data_size
);
HMAC_Final
(
ctx
,
(
unsigned
char
*
)
digest
,
digest_size
);
#endif
return
ret
;
}
...
...
@@ -117,10 +121,14 @@ namespace _srs_internal
// for instance, in python, hashlib.sha256(data).digest().
HMAC_CTX_init
(
&
ctx
);
#ifndef SRS_OSX
if
(
HMAC_Init_ex
(
&
ctx
,
__key
,
key_size
,
EVP_sha256
(),
NULL
)
<
0
)
{
ret
=
ERROR_OpenSslSha256Init
;
return
ret
;
}
#else
HMAC_Init_ex
(
&
ctx
,
__key
,
key_size
,
EVP_sha256
(),
NULL
);
#endif
ret
=
__openssl_HMACsha256
(
&
ctx
,
data
,
data_size
,
__digest
,
&
digest_size
);
HMAC_CTX_cleanup
(
&
ctx
);
...
...
请
注册
或
登录
后发表评论