正在显示
16 个修改的文件
包含
1072 行增加
和
49 行删除
| @@ -25,7 +25,7 @@ flv/ts/mp3/aac streaming for user prefered. | @@ -25,7 +25,7 @@ flv/ts/mp3/aac streaming for user prefered. | ||
| 25 | 1. Multiple feature: transcode, forward, ingest, http hooks, dvr, hls, rtsp, http streaming, | 25 | 1. Multiple feature: transcode, forward, ingest, http hooks, dvr, hls, rtsp, http streaming, |
| 26 | http api, refer, log, bandwith test and srs-librtmp. | 26 | http api, refer, log, bandwith test and srs-librtmp. |
| 27 | 1. Best maintainess: simple arch over state-threads(coroutine), single thread, single process | 27 | 1. Best maintainess: simple arch over state-threads(coroutine), single thread, single process |
| 28 | -and only linux platform, common server x86-64/i386/arm/mips cpus, rich comments, strictly | 28 | +and for linux/osx platform, common server x86-64/i386/arm/mips cpus, rich comments, strictly |
| 29 | follows RTMP/HLS/RTSP spec. | 29 | follows RTMP/HLS/RTSP spec. |
| 30 | 1. Easy to use: both English and Chinese wiki, typically config files in trunk/conf, traceable | 30 | 1. Easy to use: both English and Chinese wiki, typically config files in trunk/conf, traceable |
| 31 | and session based log, linux service script and install script. | 31 | and session based log, linux service script and install script. |
| @@ -37,7 +37,7 @@ Enjoy it! | @@ -37,7 +37,7 @@ Enjoy it! | ||
| 37 | 37 | ||
| 38 | SRS(SIMPLE RTMP Server) over state-threads created in 2013.10. | 38 | SRS(SIMPLE RTMP Server) over state-threads created in 2013.10. |
| 39 | 39 | ||
| 40 | -SRS delivers rtmp/hls/http live on x86/x64/arm/mips linux, | 40 | +SRS delivers rtmp/hls/http live on x86/x64/arm/mips linux/osx, |
| 41 | supports origin/edge/vhost and transcode/ingest and dvr/forward | 41 | supports origin/edge/vhost and transcode/ingest and dvr/forward |
| 42 | and http-api/http-callback/reload, introduces tracable | 42 | and http-api/http-callback/reload, introduces tracable |
| 43 | session-oriented log, exports client srs-librtmp, | 43 | session-oriented log, exports client srs-librtmp, |
| @@ -550,6 +550,7 @@ Supported operating systems and hardware: | @@ -550,6 +550,7 @@ Supported operating systems and hardware: | ||
| 550 | 550 | ||
| 551 | ### SRS 2.0 history | 551 | ### SRS 2.0 history |
| 552 | 552 | ||
| 553 | +* 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. | ||
| 553 | * 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. | 554 | * 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. |
| 554 | * 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. | 555 | * 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. |
| 555 | * 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. | 556 | * 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
| 1 | +diff -r -c ./Makefile ../http-parser-2.1/Makefile | ||
| 2 | +*** ./Makefile Tue Mar 10 10:44:19 2015 | ||
| 3 | +--- ../http-parser-2.1/Makefile Wed Mar 27 06:35:20 2013 | ||
| 4 | +*************** | ||
| 5 | +*** 12,22 **** | ||
| 6 | + CFLAGS_FAST = $(CFLAGS) -O3 $(CFLAGS_FAST_EXTRA) | ||
| 7 | + CFLAGS_LIB = $(CFLAGS_FAST) -fPIC | ||
| 8 | + | ||
| 9 | +- # patch by winlin | ||
| 10 | +- CPPFLAGS_FAST = $(CPPFLAGS_DEBUG) | ||
| 11 | +- CFLAGS_FAST = $(CFLAGS_DEBUG) | ||
| 12 | +- CFLAGS_LIB = $(CFLAGS_FAST) -fPIC | ||
| 13 | +- | ||
| 14 | + test: test_g test_fast | ||
| 15 | + ./test_g | ||
| 16 | + ./test_fast | ||
| 17 | +--- 12,17 ---- |
| @@ -16,8 +16,28 @@ echo "#define SRS_AUTO_BUILD_DATE \"`date \"+%Y-%m-%d %H:%M:%S\"`\"" >> $SRS_AUT | @@ -16,8 +16,28 @@ echo "#define SRS_AUTO_BUILD_DATE \"`date \"+%Y-%m-%d %H:%M:%S\"`\"" >> $SRS_AUT | ||
| 16 | echo "#define SRS_AUTO_UNAME \"`uname -a`\"" >> $SRS_AUTO_HEADERS_H | 16 | echo "#define SRS_AUTO_UNAME \"`uname -a`\"" >> $SRS_AUTO_HEADERS_H |
| 17 | echo "#define SRS_AUTO_USER_CONFIGURE \"${SRS_AUTO_USER_CONFIGURE}\"" >> $SRS_AUTO_HEADERS_H | 17 | echo "#define SRS_AUTO_USER_CONFIGURE \"${SRS_AUTO_USER_CONFIGURE}\"" >> $SRS_AUTO_HEADERS_H |
| 18 | echo "#define SRS_AUTO_CONFIGURE \"${SRS_AUTO_CONFIGURE}\"" >> $SRS_AUTO_HEADERS_H | 18 | echo "#define SRS_AUTO_CONFIGURE \"${SRS_AUTO_CONFIGURE}\"" >> $SRS_AUTO_HEADERS_H |
| 19 | +echo "" >> $SRS_AUTO_HEADERS_H | ||
| 20 | + | ||
| 21 | +# export the preset. | ||
| 22 | +if [ $SRS_OSX = YES ]; then | ||
| 23 | + echo "#define SRS_OSX" >> $SRS_AUTO_HEADERS_H | ||
| 24 | +fi | ||
| 25 | +if [ $SRS_X86_X64 = YES ]; then | ||
| 26 | + echo "#define SRS_X86_X64" >> $SRS_AUTO_HEADERS_H | ||
| 27 | +fi | ||
| 28 | +if [ $SRS_ARM_UBUNTU12 = YES ]; then | ||
| 29 | + echo "#define SRS_ARM_UBUNTU12" >> $SRS_AUTO_HEADERS_H | ||
| 30 | +fi | ||
| 31 | +if [ $SRS_MIPS_UBUNTU12 = YES ]; then | ||
| 32 | + echo "#define SRS_MIPS_UBUNTU12" >> $SRS_AUTO_HEADERS_H | ||
| 33 | +fi | ||
| 34 | +if [ $SRS_PI = YES ]; then | ||
| 35 | + echo "#define SRS_PI" >> $SRS_AUTO_HEADERS_H | ||
| 36 | +fi | ||
| 37 | +if [ $SRS_CUBIE = YES ]; then | ||
| 38 | + echo "#define SRS_CUBIE" >> $SRS_AUTO_HEADERS_H | ||
| 39 | +fi | ||
| 19 | 40 | ||
| 20 | -# new empty line to auto headers file. | ||
| 21 | echo "" >> $SRS_AUTO_HEADERS_H | 41 | echo "" >> $SRS_AUTO_HEADERS_H |
| 22 | 42 | ||
| 23 | ##################################################################################### | 43 | ##################################################################################### |
| @@ -41,6 +41,24 @@ function Ubuntu_prepare() | @@ -41,6 +41,24 @@ function Ubuntu_prepare() | ||
| 41 | return 0; | 41 | return 0; |
| 42 | fi | 42 | fi |
| 43 | fi | 43 | fi |
| 44 | + | ||
| 45 | + # for arm, install the cross build tool chain. | ||
| 46 | + if [ $SRS_ARM_UBUNTU12 = YES ]; then | ||
| 47 | + $SrsArmCC --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 48 | + echo "install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi" | ||
| 49 | + require_sudoer "sudo apt-get install -y --force-yes gcc-arm-linux-gnueabi g++-arm-linux-gnueabi" | ||
| 50 | + sudo apt-get install -y --force-yes gcc-arm-linux-gnueabi g++-arm-linux-gnueabi; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 51 | + echo "install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi success" | ||
| 52 | + fi | ||
| 53 | + fi | ||
| 54 | + | ||
| 55 | + # for mips, user must installed the tool chain. | ||
| 56 | + if [ $SRS_MIPS_UBUNTU12 = YES ]; then | ||
| 57 | + $SrsArmCC --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 58 | + echo "user must install the tool chain: $SrsArmCC" | ||
| 59 | + return 2 | ||
| 60 | + fi | ||
| 61 | + fi | ||
| 44 | 62 | ||
| 45 | OS_IS_UBUNTU=YES | 63 | OS_IS_UBUNTU=YES |
| 46 | echo "Ubuntu detected, install tools if needed" | 64 | echo "Ubuntu detected, install tools if needed" |
| @@ -110,24 +128,6 @@ function Ubuntu_prepare() | @@ -110,24 +128,6 @@ function Ubuntu_prepare() | ||
| 110 | fi | 128 | fi |
| 111 | fi | 129 | fi |
| 112 | 130 | ||
| 113 | - # for arm, install the cross build tool chain. | ||
| 114 | - if [ $SRS_ARM_UBUNTU12 = YES ]; then | ||
| 115 | - $SrsArmCC --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 116 | - echo "install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi" | ||
| 117 | - require_sudoer "sudo apt-get install -y --force-yes gcc-arm-linux-gnueabi g++-arm-linux-gnueabi" | ||
| 118 | - sudo apt-get install -y --force-yes gcc-arm-linux-gnueabi g++-arm-linux-gnueabi; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 119 | - echo "install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi success" | ||
| 120 | - fi | ||
| 121 | - fi | ||
| 122 | - | ||
| 123 | - # for mips, user must installed the tool chain. | ||
| 124 | - if [ $SRS_MIPS_UBUNTU12 = YES ]; then | ||
| 125 | - $SrsArmCC --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 126 | - echo "user must install the tool chain: $SrsArmCC" | ||
| 127 | - return 2 | ||
| 128 | - fi | ||
| 129 | - fi | ||
| 130 | - | ||
| 131 | echo "Ubuntu install tools success" | 131 | echo "Ubuntu install tools success" |
| 132 | return 0 | 132 | return 0 |
| 133 | } | 133 | } |
| @@ -144,6 +144,12 @@ function Centos_prepare() | @@ -144,6 +144,12 @@ function Centos_prepare() | ||
| 144 | if [[ ! -f /etc/redhat-release ]]; then | 144 | if [[ ! -f /etc/redhat-release ]]; then |
| 145 | return 0; | 145 | return 0; |
| 146 | fi | 146 | fi |
| 147 | + | ||
| 148 | + # for arm, install the cross build tool chain. | ||
| 149 | + if [ $SRS_EMBEDED_CPU = YES ]; then | ||
| 150 | + echo "embeded(arm/mips) is invalid for CentOS" | ||
| 151 | + return 1 | ||
| 152 | + fi | ||
| 147 | 153 | ||
| 148 | OS_IS_CENTOS=YES | 154 | OS_IS_CENTOS=YES |
| 149 | echo "Centos detected, install tools if needed" | 155 | echo "Centos detected, install tools if needed" |
| @@ -220,18 +226,137 @@ function Centos_prepare() | @@ -220,18 +226,137 @@ function Centos_prepare() | ||
| 220 | fi | 226 | fi |
| 221 | fi | 227 | fi |
| 222 | 228 | ||
| 229 | + echo "Centos install tools success" | ||
| 230 | + return 0 | ||
| 231 | +} | ||
| 232 | +# donot prepare tools, for srs-librtmp depends only gcc and g++. | ||
| 233 | +if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
| 234 | + Centos_prepare; ret=$?; if [[ 0 -ne $ret ]]; then echo "CentOS prepare failed, ret=$ret"; exit $ret; fi | ||
| 235 | +fi | ||
| 236 | +##################################################################################### | ||
| 237 | +# for Centos, auto install tools by yum | ||
| 238 | +##################################################################################### | ||
| 239 | +OS_IS_OSX=NO | ||
| 240 | +function OSX_prepare() | ||
| 241 | +{ | ||
| 242 | + uname -s|grep Darwin >/dev/null 2>&1 | ||
| 243 | + ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 244 | + if [ $SRS_OSX = YES ]; then | ||
| 245 | + echo "OSX check failed, actual is `uname -s`" | ||
| 246 | + exit 1; | ||
| 247 | + fi | ||
| 248 | + return 0; | ||
| 249 | + fi | ||
| 250 | + | ||
| 223 | # for arm, install the cross build tool chain. | 251 | # for arm, install the cross build tool chain. |
| 224 | if [ $SRS_EMBEDED_CPU = YES ]; then | 252 | if [ $SRS_EMBEDED_CPU = YES ]; then |
| 225 | - echo "embeded(arm/mips) is invalid for CentOS" | 253 | + echo "embeded(arm/mips) is invalid for OSX" |
| 226 | return 1 | 254 | return 1 |
| 227 | fi | 255 | fi |
| 256 | + | ||
| 257 | + OS_IS_OSX=YES | ||
| 258 | + echo "OSX detected, install tools if needed" | ||
| 228 | 259 | ||
| 229 | - echo "Centos install tools success" | 260 | + brew --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then |
| 261 | + echo "install brew" | ||
| 262 | + echo "ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"" | ||
| 263 | + ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 264 | + echo "install brew success" | ||
| 265 | + fi | ||
| 266 | + | ||
| 267 | + gcc --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 268 | + echo "install gcc" | ||
| 269 | + echo "brew install gcc" | ||
| 270 | + brew install gcc; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 271 | + echo "install gcc success" | ||
| 272 | + fi | ||
| 273 | + | ||
| 274 | + g++ --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 275 | + echo "install gcc-c++" | ||
| 276 | + echo "brew install gcc-c++" | ||
| 277 | + brew install gcc-c++; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 278 | + echo "install gcc-c++ success" | ||
| 279 | + fi | ||
| 280 | + | ||
| 281 | + make --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 282 | + echo "install make" | ||
| 283 | + echo "brew install make" | ||
| 284 | + brew install make; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 285 | + echo "install make success" | ||
| 286 | + fi | ||
| 287 | + | ||
| 288 | + patch --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 289 | + echo "install patch" | ||
| 290 | + echo "brew install patch" | ||
| 291 | + brew install patch; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 292 | + echo "install patch success" | ||
| 293 | + fi | ||
| 294 | + | ||
| 295 | + unzip --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 296 | + echo "install unzip" | ||
| 297 | + echo "brew install unzip" | ||
| 298 | + brew install unzip; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 299 | + echo "install unzip success" | ||
| 300 | + fi | ||
| 301 | + | ||
| 302 | + if [ $SRS_FFMPEG_TOOL = YES ]; then | ||
| 303 | + automake --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 304 | + echo "install automake" | ||
| 305 | + echo "brew install automake" | ||
| 306 | + brew install automake; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 307 | + echo "install automake success" | ||
| 308 | + fi | ||
| 309 | + | ||
| 310 | + autoconf --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 311 | + echo "install autoconf" | ||
| 312 | + echo "brew install autoconf" | ||
| 313 | + brew install autoconf; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 314 | + echo "install autoconf success" | ||
| 315 | + fi | ||
| 316 | + | ||
| 317 | + libtool --help >/dev/null 2>&1; ret=$?; if [[ 0 -ne $ret ]]; then | ||
| 318 | + echo "install libtool" | ||
| 319 | + echo "brew install libtool" | ||
| 320 | + brew install libtool; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 321 | + echo "install libtool success" | ||
| 322 | + fi | ||
| 323 | + | ||
| 324 | + if [[ ! -f /usr/include/pcre.h ]]; then | ||
| 325 | + echo "install pcre-devel" | ||
| 326 | + echo "brew install pcre-devel" | ||
| 327 | + brew install pcre-devel; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 328 | + echo "install pcre-devel success" | ||
| 329 | + fi | ||
| 330 | + | ||
| 331 | + if [[ ! -f /usr/include/zlib.h ]]; then | ||
| 332 | + echo "install zlib-devel" | ||
| 333 | + echo "brew install zlib-devel" | ||
| 334 | + brew install zlib-devel; ret=$?; if [[ 0 -ne $ret ]]; then return $ret; fi | ||
| 335 | + echo "install zlib-devel success" | ||
| 336 | + fi | ||
| 337 | + fi | ||
| 338 | + | ||
| 339 | + echo "OSX install tools success" | ||
| 230 | return 0 | 340 | return 0 |
| 231 | } | 341 | } |
| 232 | # donot prepare tools, for srs-librtmp depends only gcc and g++. | 342 | # donot prepare tools, for srs-librtmp depends only gcc and g++. |
| 233 | if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | 343 | if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then |
| 234 | - Centos_prepare; ret=$?; if [[ 0 -ne $ret ]]; then echo "CentOS prepare failed, ret=$ret"; exit $ret; fi | 344 | + OSX_prepare; ret=$?; if [[ 0 -ne $ret ]]; then echo "OSX prepare failed, ret=$ret"; exit $ret; fi |
| 345 | +fi | ||
| 346 | +# requires the osx when os | ||
| 347 | +if [ $OS_IS_OSX = YES ]; then | ||
| 348 | + if [ $SRS_OSX = NO ]; then | ||
| 349 | + echo "OSX detected, must specifies the --osx" | ||
| 350 | + exit 1 | ||
| 351 | + fi | ||
| 352 | + if [ $SRS_HTTP_API = YES ]; then | ||
| 353 | + echo "OSX does not support http-api, use --without-http-api" | ||
| 354 | + exit 1 | ||
| 355 | + fi | ||
| 356 | + if [ $SRS_STAT = YES ]; then | ||
| 357 | + echo "OSX does not support stat, use --without-stat" | ||
| 358 | + exit 1 | ||
| 359 | + fi | ||
| 235 | fi | 360 | fi |
| 236 | 361 | ||
| 237 | ##################################################################################### | 362 | ##################################################################################### |
| @@ -239,7 +364,11 @@ fi | @@ -239,7 +364,11 @@ fi | ||
| 239 | ##################################################################################### | 364 | ##################################################################################### |
| 240 | if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | 365 | if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then |
| 241 | # check the arm flag file, if flag changed, need to rebuild the st. | 366 | # check the arm flag file, if flag changed, need to rebuild the st. |
| 242 | - _ST_MAKE=linux-debug | 367 | + _ST_MAKE=linux-debug && _ST_EXTRA_CFLAGS="-DMD_HAVE_EPOLL" |
| 368 | + # for osx, use darwin for st, donot use epoll. | ||
| 369 | + if [ $OS_IS_OSX = YES ]; then | ||
| 370 | + _ST_MAKE=darwin-debug && _ST_EXTRA_CFLAGS="" | ||
| 371 | + fi | ||
| 243 | # memory leak for linux-optimized | 372 | # memory leak for linux-optimized |
| 244 | # @see: https://github.com/winlinvip/simple-rtmp-server/issues/197 | 373 | # @see: https://github.com/winlinvip/simple-rtmp-server/issues/197 |
| 245 | if [ $SRS_EMBEDED_CPU = YES ]; then | 374 | if [ $SRS_EMBEDED_CPU = YES ]; then |
| @@ -253,9 +382,9 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | @@ -253,9 +382,9 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
| 253 | ( | 382 | ( |
| 254 | rm -rf ${SRS_OBJS}/st-1.9 && cd ${SRS_OBJS} && | 383 | rm -rf ${SRS_OBJS}/st-1.9 && cd ${SRS_OBJS} && |
| 255 | unzip -q ../3rdparty/st-1.9.zip && cd st-1.9 && | 384 | unzip -q ../3rdparty/st-1.9.zip && cd st-1.9 && |
| 256 | - patch -p0 < ../../3rdparty/patches/1.st.arm.patch && | 385 | + patch -p0 -R < ../../3rdparty/patches/1.st.arm.patch && |
| 257 | make CC=${SrsArmCC} AR=${SrsArmAR} LD=${SrsArmLD} RANDLIB=${SrsArmRANDLIB} \ | 386 | make CC=${SrsArmCC} AR=${SrsArmAR} LD=${SrsArmLD} RANDLIB=${SrsArmRANDLIB} \ |
| 258 | - EXTRA_CFLAGS="-DMD_HAVE_EPOLL" ${_ST_MAKE} && | 387 | + EXTRA_CFLAGS=${_ST_EXTRA_CFLAGS} ${_ST_MAKE} && |
| 259 | cd .. && rm -rf st && ln -sf st-1.9/obj st && | 388 | cd .. && rm -rf st && ln -sf st-1.9/obj st && |
| 260 | cd .. && touch ${SRS_OBJS}/_flag.st.arm.tmp | 389 | cd .. && touch ${SRS_OBJS}/_flag.st.arm.tmp |
| 261 | ) | 390 | ) |
| @@ -268,7 +397,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | @@ -268,7 +397,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
| 268 | ( | 397 | ( |
| 269 | rm -rf ${SRS_OBJS}/st-1.9 && cd ${SRS_OBJS} && | 398 | rm -rf ${SRS_OBJS}/st-1.9 && cd ${SRS_OBJS} && |
| 270 | unzip -q ../3rdparty/st-1.9.zip && cd st-1.9 && | 399 | unzip -q ../3rdparty/st-1.9.zip && cd st-1.9 && |
| 271 | - make ${_ST_MAKE} EXTRA_CFLAGS="-DMD_HAVE_EPOLL" && | 400 | + make ${_ST_MAKE} ${_ST_EXTRA_CFLAGS} && |
| 272 | cd .. && rm -rf st && ln -sf st-1.9/obj st && | 401 | cd .. && rm -rf st && ln -sf st-1.9/obj st && |
| 273 | cd .. && rm -f ${SRS_OBJS}/_flag.st.arm.tmp | 402 | cd .. && rm -f ${SRS_OBJS}/_flag.st.arm.tmp |
| 274 | ) | 403 | ) |
| @@ -293,6 +422,7 @@ if [ $SRS_HTTP_PARSER = YES ]; then | @@ -293,6 +422,7 @@ if [ $SRS_HTTP_PARSER = YES ]; then | ||
| 293 | ( | 422 | ( |
| 294 | rm -rf ${SRS_OBJS}/http-parser-2.1 && cd ${SRS_OBJS} && unzip -q ../3rdparty/http-parser-2.1.zip && | 423 | rm -rf ${SRS_OBJS}/http-parser-2.1 && cd ${SRS_OBJS} && unzip -q ../3rdparty/http-parser-2.1.zip && |
| 295 | cd http-parser-2.1 && | 424 | cd http-parser-2.1 && |
| 425 | + patch -p0 -R < ../../3rdparty/patches/2.http.parser.patch && | ||
| 296 | sed -i "s/CPPFLAGS_FAST +=.*$/CPPFLAGS_FAST = \$\(CPPFLAGS_DEBUG\)/g" Makefile && | 426 | sed -i "s/CPPFLAGS_FAST +=.*$/CPPFLAGS_FAST = \$\(CPPFLAGS_DEBUG\)/g" Makefile && |
| 297 | sed -i "s/CFLAGS_FAST =.*$/CFLAGS_FAST = \$\(CFLAGS_DEBUG\)/g" Makefile && | 427 | sed -i "s/CFLAGS_FAST =.*$/CFLAGS_FAST = \$\(CFLAGS_DEBUG\)/g" Makefile && |
| 298 | make CC=${SrsArmCC} AR=${SrsArmAR} package && | 428 | make CC=${SrsArmCC} AR=${SrsArmAR} package && |
| @@ -309,8 +439,7 @@ if [ $SRS_HTTP_PARSER = YES ]; then | @@ -309,8 +439,7 @@ if [ $SRS_HTTP_PARSER = YES ]; then | ||
| 309 | ( | 439 | ( |
| 310 | rm -rf ${SRS_OBJS}/http-parser-2.1 && cd ${SRS_OBJS} && unzip -q ../3rdparty/http-parser-2.1.zip && | 440 | rm -rf ${SRS_OBJS}/http-parser-2.1 && cd ${SRS_OBJS} && unzip -q ../3rdparty/http-parser-2.1.zip && |
| 311 | cd http-parser-2.1 && | 441 | cd http-parser-2.1 && |
| 312 | - sed -i "s/CPPFLAGS_FAST +=.*$/CPPFLAGS_FAST = \$\(CPPFLAGS_DEBUG\)/g" Makefile && | ||
| 313 | - sed -i "s/CFLAGS_FAST =.*$/CFLAGS_FAST = \$\(CFLAGS_DEBUG\)/g" Makefile && | 442 | + patch -p0 -R < ../../3rdparty/patches/2.http.parser.patch && |
| 314 | make package && | 443 | make package && |
| 315 | cd .. && rm -rf hp && ln -sf http-parser-2.1 hp && | 444 | cd .. && rm -rf hp && ln -sf http-parser-2.1 hp && |
| 316 | cd .. && rm -f ${SRS_OBJS}/_flag.st.hp.tmp | 445 | cd .. && rm -f ${SRS_OBJS}/_flag.st.hp.tmp |
| @@ -402,7 +531,7 @@ if [ $SRS_HTTP_CALLBACK = YES ]; then | @@ -402,7 +531,7 @@ if [ $SRS_HTTP_CALLBACK = YES ]; then | ||
| 402 | if [[ -f ${SRS_OBJS}/CherryPy-3.2.4/setup.py ]]; then | 531 | if [[ -f ${SRS_OBJS}/CherryPy-3.2.4/setup.py ]]; then |
| 403 | echo "CherryPy-3.2.4 is ok."; | 532 | echo "CherryPy-3.2.4 is ok."; |
| 404 | else | 533 | else |
| 405 | - require_sudoer "configure --with-http-callback" | 534 | + require_sudoer "install CherryPy-3.2.4" |
| 406 | echo "install CherryPy-3.2.4"; | 535 | echo "install CherryPy-3.2.4"; |
| 407 | ( | 536 | ( |
| 408 | sudo rm -rf ${SRS_OBJS}/CherryPy-3.2.4 && cd ${SRS_OBJS} && | 537 | sudo rm -rf ${SRS_OBJS}/CherryPy-3.2.4 && cd ${SRS_OBJS} && |
| @@ -454,9 +583,11 @@ fi | @@ -454,9 +583,11 @@ fi | ||
| 454 | ##################################################################################### | 583 | ##################################################################################### |
| 455 | # extra configure options | 584 | # extra configure options |
| 456 | CONFIGURE_TOOL="./config" | 585 | CONFIGURE_TOOL="./config" |
| 457 | -EXTRA_CONFIGURE="" | ||
| 458 | if [ $SRS_EMBEDED_CPU = YES ]; then | 586 | if [ $SRS_EMBEDED_CPU = YES ]; then |
| 459 | - CONFIGURE_TOOL="./Configure" | 587 | + CONFIGURE_TOOL="./Configure linux-armv4" |
| 588 | +fi | ||
| 589 | +if [ $SRS_OSX = YES ]; then | ||
| 590 | + CONFIGURE_TOOL="./Configure darwin64-`uname -m`-cc" | ||
| 460 | fi | 591 | fi |
| 461 | # @see http://www.openssl.org/news/secadv_20140407.txt | 592 | # @see http://www.openssl.org/news/secadv_20140407.txt |
| 462 | # Affected users should upgrade to OpenSSL 1.0.1g. Users unable to immediately | 593 | # Affected users should upgrade to OpenSSL 1.0.1g. Users unable to immediately |
| @@ -475,7 +606,7 @@ if [ $SRS_SSL = YES ]; then | @@ -475,7 +606,7 @@ if [ $SRS_SSL = YES ]; then | ||
| 475 | ( | 606 | ( |
| 476 | rm -rf ${SRS_OBJS}/openssl-1.0.1f && cd ${SRS_OBJS} && | 607 | rm -rf ${SRS_OBJS}/openssl-1.0.1f && cd ${SRS_OBJS} && |
| 477 | unzip -q ../3rdparty/openssl-1.0.1f.zip && cd openssl-1.0.1f && | 608 | unzip -q ../3rdparty/openssl-1.0.1f.zip && cd openssl-1.0.1f && |
| 478 | - $CONFIGURE_TOOL --prefix=`pwd`/_release -no-shared no-asm linux-armv4 -DOPENSSL_NO_HEARTBEATS ${EXTRA_CONFIGURE} && | 609 | + $CONFIGURE_TOOL --prefix=`pwd`/_release -no-shared no-asm && |
| 479 | make CC=${SrsArmCC} GCC=${SrsArmGCC} AR="${SrsArmAR} r" \ | 610 | make CC=${SrsArmCC} GCC=${SrsArmGCC} AR="${SrsArmAR} r" \ |
| 480 | LD=${SrsArmLD} LINK=${SrsArmGCC} RANDLIB=${SrsArmRANDLIB} && | 611 | LD=${SrsArmLD} LINK=${SrsArmGCC} RANDLIB=${SrsArmRANDLIB} && |
| 481 | make install_sw && | 612 | make install_sw && |
| @@ -492,7 +623,7 @@ if [ $SRS_SSL = YES ]; then | @@ -492,7 +623,7 @@ if [ $SRS_SSL = YES ]; then | ||
| 492 | ( | 623 | ( |
| 493 | rm -rf ${SRS_OBJS}/openssl-1.0.1f && cd ${SRS_OBJS} && | 624 | rm -rf ${SRS_OBJS}/openssl-1.0.1f && cd ${SRS_OBJS} && |
| 494 | unzip -q ../3rdparty/openssl-1.0.1f.zip && cd openssl-1.0.1f && | 625 | unzip -q ../3rdparty/openssl-1.0.1f.zip && cd openssl-1.0.1f && |
| 495 | - $CONFIGURE_TOOL --prefix=`pwd`/_release -no-shared -DOPENSSL_NO_HEARTBEATS ${EXTRA_CONFIGURE} && | 626 | + $CONFIGURE_TOOL --prefix=`pwd`/_release -no-shared && |
| 496 | make && make install_sw && | 627 | make && make install_sw && |
| 497 | cd .. && rm -rf openssl && ln -sf openssl-1.0.1f/_release openssl && | 628 | cd .. && rm -rf openssl && ln -sf openssl-1.0.1f/_release openssl && |
| 498 | cd .. && rm -f ${SRS_OBJS}/_flag.ssl.arm.tmp | 629 | cd .. && rm -f ${SRS_OBJS}/_flag.ssl.arm.tmp |
| @@ -68,6 +68,8 @@ SRS_EXPORT_LIBRTMP_SINGLE=NO | @@ -68,6 +68,8 @@ SRS_EXPORT_LIBRTMP_SINGLE=NO | ||
| 68 | # presets | 68 | # presets |
| 69 | # for x86/x64 pc/servers | 69 | # for x86/x64 pc/servers |
| 70 | SRS_X86_X64=NO | 70 | SRS_X86_X64=NO |
| 71 | +# for osx system | ||
| 72 | +SRS_OSX=NO | ||
| 71 | # armhf(v7cpu) built on ubuntu12 | 73 | # armhf(v7cpu) built on ubuntu12 |
| 72 | SRS_ARM_UBUNTU12=NO | 74 | SRS_ARM_UBUNTU12=NO |
| 73 | # mips built on ubuntu12 | 75 | # mips built on ubuntu12 |
| @@ -166,6 +168,7 @@ Options: | @@ -166,6 +168,7 @@ Options: | ||
| 166 | 168 | ||
| 167 | Presets: | 169 | Presets: |
| 168 | --x86-x64 [default] for x86/x64 cpu, common pc and servers. | 170 | --x86-x64 [default] for x86/x64 cpu, common pc and servers. |
| 171 | + --osx for osx(darwin) system to build SRS. | ||
| 169 | --pi for raspberry-pi(directly build), open features hls/ssl/static. | 172 | --pi for raspberry-pi(directly build), open features hls/ssl/static. |
| 170 | --cubie for cubieboard(directly build), open features except ffmpeg/nginx. | 173 | --cubie for cubieboard(directly build), open features except ffmpeg/nginx. |
| 171 | --arm alias for --with-arm-ubuntu12, for ubuntu12, arm crossbuild | 174 | --arm alias for --with-arm-ubuntu12, for ubuntu12, arm crossbuild |
| @@ -260,6 +263,7 @@ function parse_user_option() { | @@ -260,6 +263,7 @@ function parse_user_option() { | ||
| 260 | --log-trace) SRS_LOG_TRACE=YES ;; | 263 | --log-trace) SRS_LOG_TRACE=YES ;; |
| 261 | 264 | ||
| 262 | --x86-x64) SRS_X86_X64=YES ;; | 265 | --x86-x64) SRS_X86_X64=YES ;; |
| 266 | + --osx) SRS_OSX=YES ;; | ||
| 263 | --arm) SRS_ARM_UBUNTU12=YES ;; | 267 | --arm) SRS_ARM_UBUNTU12=YES ;; |
| 264 | --mips) SRS_MIPS_UBUNTU12=YES ;; | 268 | --mips) SRS_MIPS_UBUNTU12=YES ;; |
| 265 | --pi) SRS_PI=YES ;; | 269 | --pi) SRS_PI=YES ;; |
| @@ -331,7 +335,9 @@ function apply_user_presets() { | @@ -331,7 +335,9 @@ function apply_user_presets() { | ||
| 331 | if [ $SRS_PI = NO ]; then | 335 | if [ $SRS_PI = NO ]; then |
| 332 | if [ $SRS_CUBIE = NO ]; then | 336 | if [ $SRS_CUBIE = NO ]; then |
| 333 | if [ $SRS_X86_X64 = NO ]; then | 337 | if [ $SRS_X86_X64 = NO ]; then |
| 334 | - SRS_X86_X64=YES; opt="--x86-x64 $opt"; | 338 | + if [ $SRS_OSX = NO ]; then |
| 339 | + SRS_X86_X64=YES; opt="--x86-x64 $opt"; | ||
| 340 | + fi | ||
| 335 | fi | 341 | fi |
| 336 | fi | 342 | fi |
| 337 | fi | 343 | fi |
| @@ -551,7 +557,7 @@ function apply_user_presets() { | @@ -551,7 +557,7 @@ function apply_user_presets() { | ||
| 551 | SRS_HTTP_CALLBACK=YES | 557 | SRS_HTTP_CALLBACK=YES |
| 552 | SRS_HTTP_SERVER=YES | 558 | SRS_HTTP_SERVER=YES |
| 553 | SRS_STREAM_CASTER=YES | 559 | SRS_STREAM_CASTER=YES |
| 554 | - SRS_HTTP_API=YES | 560 | + SRS_HTTP_API=NO |
| 555 | SRS_LIBRTMP=YES | 561 | SRS_LIBRTMP=YES |
| 556 | SRS_RESEARCH=NO | 562 | SRS_RESEARCH=NO |
| 557 | SRS_UTEST=YES | 563 | SRS_UTEST=YES |
| @@ -563,6 +569,32 @@ function apply_user_presets() { | @@ -563,6 +569,32 @@ function apply_user_presets() { | ||
| 563 | SRS_STATIC=NO | 569 | SRS_STATIC=NO |
| 564 | fi | 570 | fi |
| 565 | 571 | ||
| 572 | + # for osx(darwin) | ||
| 573 | + if [ $SRS_OSX = YES ]; then | ||
| 574 | + SRS_HLS=YES | ||
| 575 | + SRS_DVR=YES | ||
| 576 | + SRS_NGINX=NO | ||
| 577 | + SRS_SSL=YES | ||
| 578 | + SRS_FFMPEG_TOOL=NO | ||
| 579 | + SRS_TRANSCODE=YES | ||
| 580 | + SRS_INGEST=YES | ||
| 581 | + SRS_STAT=NO | ||
| 582 | + SRS_HTTP_PARSER=YES | ||
| 583 | + SRS_HTTP_CALLBACK=YES | ||
| 584 | + SRS_HTTP_SERVER=YES | ||
| 585 | + SRS_STREAM_CASTER=YES | ||
| 586 | + SRS_HTTP_API=NO | ||
| 587 | + SRS_LIBRTMP=YES | ||
| 588 | + SRS_RESEARCH=NO | ||
| 589 | + SRS_UTEST=NO | ||
| 590 | + SRS_GPERF=NO | ||
| 591 | + SRS_GPERF_MC=NO | ||
| 592 | + SRS_GPERF_MP=NO | ||
| 593 | + SRS_GPERF_CP=NO | ||
| 594 | + SRS_GPROF=NO | ||
| 595 | + SRS_STATIC=NO | ||
| 596 | + fi | ||
| 597 | + | ||
| 566 | # if dev specified, open features if possible. | 598 | # if dev specified, open features if possible. |
| 567 | if [ $SRS_DEV = YES ]; then | 599 | if [ $SRS_DEV = YES ]; then |
| 568 | SRS_HLS=YES | 600 | SRS_HLS=YES |
| @@ -11,10 +11,10 @@ mkdir -p ${SRS_OBJS} | @@ -11,10 +11,10 @@ mkdir -p ${SRS_OBJS} | ||
| 11 | 11 | ||
| 12 | ##################################################################################### | 12 | ##################################################################################### |
| 13 | # linux shell color support. | 13 | # linux shell color support. |
| 14 | -RED="\\e[31m" | ||
| 15 | -GREEN="\\e[32m" | ||
| 16 | -YELLOW="\\e[33m" | ||
| 17 | -BLACK="\\e[0m" | 14 | +RED="\\033[31m" |
| 15 | +GREEN="\\033[32m" | ||
| 16 | +YELLOW="\\033[33m" | ||
| 17 | +BLACK="\\033[0m" | ||
| 18 | 18 | ||
| 19 | ##################################################################################### | 19 | ##################################################################################### |
| 20 | # parse user options, set the variables like: | 20 | # parse user options, set the variables like: |
| @@ -21,11 +21,11 @@ DEFAULT_LOG_FILE='./objs/srs.log' | @@ -21,11 +21,11 @@ DEFAULT_LOG_FILE='./objs/srs.log' | ||
| 21 | ######################################################################## | 21 | ######################################################################## |
| 22 | # utility functions | 22 | # utility functions |
| 23 | ######################################################################## | 23 | ######################################################################## |
| 24 | -RED="\\e[31m" | ||
| 25 | -GREEN="\\e[32m" | ||
| 26 | -YELLOW="\\e[33m" | ||
| 27 | -BLACK="\\e[0m" | ||
| 28 | -POS="\\e[60G" | 24 | +RED="\\033[31m" |
| 25 | +GREEN="\\033[32m" | ||
| 26 | +YELLOW="\\033[33m" | ||
| 27 | +BLACK="\\033[0m" | ||
| 28 | +POS="\\033[60G" | ||
| 29 | 29 | ||
| 30 | ok_msg() { | 30 | ok_msg() { |
| 31 | echo -e "${1}${POS}${BLACK}[${GREEN} OK ${BLACK}]" | 31 | echo -e "${1}${POS}${BLACK}[${GREEN} OK ${BLACK}]" |
| 1 | +// !$*UTF8*$! | ||
| 2 | +{ | ||
| 3 | + archiveVersion = 1; | ||
| 4 | + classes = { | ||
| 5 | + }; | ||
| 6 | + objectVersion = 46; | ||
| 7 | + objects = { | ||
| 8 | + | ||
| 9 | +/* Begin PBXBuildFile section */ | ||
| 10 | + 3C1231F61AAE652D00CE8F6C /* srs_core_autofree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1231F01AAE652C00CE8F6C /* srs_core_autofree.cpp */; }; | ||
| 11 | + 3C1231F71AAE652D00CE8F6C /* srs_core_performance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1231F21AAE652C00CE8F6C /* srs_core_performance.cpp */; }; | ||
| 12 | + 3C1231F81AAE652D00CE8F6C /* srs_core.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1231F41AAE652D00CE8F6C /* srs_core.cpp */; }; | ||
| 13 | + 3C1232061AAE812C00CE8F6C /* srs_main_server.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232051AAE812C00CE8F6C /* srs_main_server.cpp */; }; | ||
| 14 | + 3C1232201AAE814D00CE8F6C /* srs_kernel_aac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232081AAE814D00CE8F6C /* srs_kernel_aac.cpp */; }; | ||
| 15 | + 3C1232211AAE814D00CE8F6C /* srs_kernel_buffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12320A1AAE814D00CE8F6C /* srs_kernel_buffer.cpp */; }; | ||
| 16 | + 3C1232221AAE814D00CE8F6C /* srs_kernel_codec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12320C1AAE814D00CE8F6C /* srs_kernel_codec.cpp */; }; | ||
| 17 | + 3C1232231AAE814D00CE8F6C /* srs_kernel_consts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12320E1AAE814D00CE8F6C /* srs_kernel_consts.cpp */; }; | ||
| 18 | + 3C1232241AAE814D00CE8F6C /* srs_kernel_error.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232101AAE814D00CE8F6C /* srs_kernel_error.cpp */; }; | ||
| 19 | + 3C1232251AAE814D00CE8F6C /* srs_kernel_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232121AAE814D00CE8F6C /* srs_kernel_file.cpp */; }; | ||
| 20 | + 3C1232261AAE814D00CE8F6C /* srs_kernel_flv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232141AAE814D00CE8F6C /* srs_kernel_flv.cpp */; }; | ||
| 21 | + 3C1232271AAE814D00CE8F6C /* srs_kernel_log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232161AAE814D00CE8F6C /* srs_kernel_log.cpp */; }; | ||
| 22 | + 3C1232281AAE814D00CE8F6C /* srs_kernel_mp3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232181AAE814D00CE8F6C /* srs_kernel_mp3.cpp */; }; | ||
| 23 | + 3C1232291AAE814D00CE8F6C /* srs_kernel_stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12321A1AAE814D00CE8F6C /* srs_kernel_stream.cpp */; }; | ||
| 24 | + 3C12322A1AAE814D00CE8F6C /* srs_kernel_ts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12321C1AAE814D00CE8F6C /* srs_kernel_ts.cpp */; }; | ||
| 25 | + 3C12322B1AAE814D00CE8F6C /* srs_kernel_utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12321E1AAE814D00CE8F6C /* srs_kernel_utility.cpp */; }; | ||
| 26 | + 3C1232411AAE81A400CE8F6C /* srs_raw_avc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12322D1AAE81A400CE8F6C /* srs_raw_avc.cpp */; }; | ||
| 27 | + 3C1232421AAE81A400CE8F6C /* srs_rtmp_amf0.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12322F1AAE81A400CE8F6C /* srs_rtmp_amf0.cpp */; }; | ||
| 28 | + 3C1232431AAE81A400CE8F6C /* srs_rtmp_buffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232311AAE81A400CE8F6C /* srs_rtmp_buffer.cpp */; }; | ||
| 29 | + 3C1232441AAE81A400CE8F6C /* srs_rtmp_handshake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232331AAE81A400CE8F6C /* srs_rtmp_handshake.cpp */; }; | ||
| 30 | + 3C1232451AAE81A400CE8F6C /* srs_rtmp_io.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232351AAE81A400CE8F6C /* srs_rtmp_io.cpp */; }; | ||
| 31 | + 3C1232461AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232371AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp */; }; | ||
| 32 | + 3C1232471AAE81A400CE8F6C /* srs_rtmp_sdk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232391AAE81A400CE8F6C /* srs_rtmp_sdk.cpp */; }; | ||
| 33 | + 3C1232481AAE81A400CE8F6C /* srs_rtmp_stack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12323B1AAE81A400CE8F6C /* srs_rtmp_stack.cpp */; }; | ||
| 34 | + 3C1232491AAE81A400CE8F6C /* srs_rtmp_utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12323D1AAE81A400CE8F6C /* srs_rtmp_utility.cpp */; }; | ||
| 35 | + 3C12324A1AAE81A400CE8F6C /* srs_rtsp_stack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12323F1AAE81A400CE8F6C /* srs_rtsp_stack.cpp */; }; | ||
| 36 | + 3C1232941AAE81D900CE8F6C /* srs_app_bandwidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12324C1AAE81D900CE8F6C /* srs_app_bandwidth.cpp */; }; | ||
| 37 | + 3C1232951AAE81D900CE8F6C /* srs_app_config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12324E1AAE81D900CE8F6C /* srs_app_config.cpp */; }; | ||
| 38 | + 3C1232961AAE81D900CE8F6C /* srs_app_conn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232501AAE81D900CE8F6C /* srs_app_conn.cpp */; }; | ||
| 39 | + 3C1232971AAE81D900CE8F6C /* srs_app_dvr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232521AAE81D900CE8F6C /* srs_app_dvr.cpp */; }; | ||
| 40 | + 3C1232981AAE81D900CE8F6C /* srs_app_edge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232541AAE81D900CE8F6C /* srs_app_edge.cpp */; }; | ||
| 41 | + 3C1232991AAE81D900CE8F6C /* srs_app_empty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232561AAE81D900CE8F6C /* srs_app_empty.cpp */; }; | ||
| 42 | + 3C12329A1AAE81D900CE8F6C /* srs_app_encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232581AAE81D900CE8F6C /* srs_app_encoder.cpp */; }; | ||
| 43 | + 3C12329B1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12325A1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp */; }; | ||
| 44 | + 3C12329C1AAE81D900CE8F6C /* srs_app_forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12325C1AAE81D900CE8F6C /* srs_app_forward.cpp */; }; | ||
| 45 | + 3C12329D1AAE81D900CE8F6C /* srs_app_heartbeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12325E1AAE81D900CE8F6C /* srs_app_heartbeat.cpp */; }; | ||
| 46 | + 3C12329E1AAE81D900CE8F6C /* srs_app_hls.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232601AAE81D900CE8F6C /* srs_app_hls.cpp */; }; | ||
| 47 | + 3C12329F1AAE81D900CE8F6C /* srs_app_http_api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232621AAE81D900CE8F6C /* srs_app_http_api.cpp */; }; | ||
| 48 | + 3C1232A01AAE81D900CE8F6C /* srs_app_http_client.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232641AAE81D900CE8F6C /* srs_app_http_client.cpp */; }; | ||
| 49 | + 3C1232A11AAE81D900CE8F6C /* srs_app_http_conn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232661AAE81D900CE8F6C /* srs_app_http_conn.cpp */; }; | ||
| 50 | + 3C1232A21AAE81D900CE8F6C /* srs_app_http_hooks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232681AAE81D900CE8F6C /* srs_app_http_hooks.cpp */; }; | ||
| 51 | + 3C1232A31AAE81D900CE8F6C /* srs_app_http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12326A1AAE81D900CE8F6C /* srs_app_http.cpp */; }; | ||
| 52 | + 3C1232A41AAE81D900CE8F6C /* srs_app_ingest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12326C1AAE81D900CE8F6C /* srs_app_ingest.cpp */; }; | ||
| 53 | + 3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */; }; | ||
| 54 | + 3C1232A61AAE81D900CE8F6C /* srs_app_kbps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232701AAE81D900CE8F6C /* srs_app_kbps.cpp */; }; | ||
| 55 | + 3C1232A71AAE81D900CE8F6C /* srs_app_listener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */; }; | ||
| 56 | + 3C1232A81AAE81D900CE8F6C /* srs_app_log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */; }; | ||
| 57 | + 3C1232A91AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232761AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp */; }; | ||
| 58 | + 3C1232AA1AAE81D900CE8F6C /* srs_app_pithy_print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232781AAE81D900CE8F6C /* srs_app_pithy_print.cpp */; }; | ||
| 59 | + 3C1232AB1AAE81D900CE8F6C /* srs_app_recv_thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12327A1AAE81D900CE8F6C /* srs_app_recv_thread.cpp */; }; | ||
| 60 | + 3C1232AC1AAE81D900CE8F6C /* srs_app_refer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12327C1AAE81D900CE8F6C /* srs_app_refer.cpp */; }; | ||
| 61 | + 3C1232AD1AAE81D900CE8F6C /* srs_app_reload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12327E1AAE81D900CE8F6C /* srs_app_reload.cpp */; }; | ||
| 62 | + 3C1232AE1AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232801AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp */; }; | ||
| 63 | + 3C1232AF1AAE81D900CE8F6C /* srs_app_rtsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232821AAE81D900CE8F6C /* srs_app_rtsp.cpp */; }; | ||
| 64 | + 3C1232B01AAE81D900CE8F6C /* srs_app_security.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232841AAE81D900CE8F6C /* srs_app_security.cpp */; }; | ||
| 65 | + 3C1232B11AAE81D900CE8F6C /* srs_app_server.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232861AAE81D900CE8F6C /* srs_app_server.cpp */; }; | ||
| 66 | + 3C1232B21AAE81D900CE8F6C /* srs_app_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232881AAE81D900CE8F6C /* srs_app_source.cpp */; }; | ||
| 67 | + 3C1232B31AAE81D900CE8F6C /* srs_app_st_socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12328A1AAE81D900CE8F6C /* srs_app_st_socket.cpp */; }; | ||
| 68 | + 3C1232B41AAE81D900CE8F6C /* srs_app_st.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12328C1AAE81D900CE8F6C /* srs_app_st.cpp */; }; | ||
| 69 | + 3C1232B51AAE81D900CE8F6C /* srs_app_statistic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12328E1AAE81D900CE8F6C /* srs_app_statistic.cpp */; }; | ||
| 70 | + 3C1232B61AAE81D900CE8F6C /* srs_app_thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232901AAE81D900CE8F6C /* srs_app_thread.cpp */; }; | ||
| 71 | + 3C1232B71AAE81D900CE8F6C /* srs_app_utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232921AAE81D900CE8F6C /* srs_app_utility.cpp */; }; | ||
| 72 | + 3C1232D31AAEA56B00CE8F6C /* libst.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232D21AAEA56B00CE8F6C /* libst.a */; }; | ||
| 73 | + 3C1232E91AAEA5D000CE8F6C /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232E71AAEA5D000CE8F6C /* libcrypto.a */; }; | ||
| 74 | + 3C1232EA1AAEA5D000CE8F6C /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232E81AAEA5D000CE8F6C /* libssl.a */; }; | ||
| 75 | + 3C1232ED1AAEA70F00CE8F6C /* libhttp_parser.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232EC1AAEA70F00CE8F6C /* libhttp_parser.a */; }; | ||
| 76 | +/* End PBXBuildFile section */ | ||
| 77 | + | ||
| 78 | +/* Begin PBXCopyFilesBuildPhase section */ | ||
| 79 | + 3C1231E31AAE64A400CE8F6C /* CopyFiles */ = { | ||
| 80 | + isa = PBXCopyFilesBuildPhase; | ||
| 81 | + buildActionMask = 2147483647; | ||
| 82 | + dstPath = /usr/share/man/man1/; | ||
| 83 | + dstSubfolderSpec = 0; | ||
| 84 | + files = ( | ||
| 85 | + ); | ||
| 86 | + runOnlyForDeploymentPostprocessing = 1; | ||
| 87 | + }; | ||
| 88 | +/* End PBXCopyFilesBuildPhase section */ | ||
| 89 | + | ||
| 90 | +/* Begin PBXFileReference section */ | ||
| 91 | + 3C1231E51AAE64A400CE8F6C /* srs_xcode */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; includeInIndex = 0; path = srs_xcode; sourceTree = BUILT_PRODUCTS_DIR; }; | ||
| 92 | + 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>"; }; | ||
| 93 | + 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>"; }; | ||
| 94 | + 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>"; }; | ||
| 95 | + 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>"; }; | ||
| 96 | + 3C1231F41AAE652D00CE8F6C /* srs_core.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_core.cpp; path = ../../../src/core/srs_core.cpp; sourceTree = "<group>"; }; | ||
| 97 | + 3C1231F51AAE652D00CE8F6C /* srs_core.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_core.hpp; path = ../../../src/core/srs_core.hpp; sourceTree = "<group>"; }; | ||
| 98 | + 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>"; }; | ||
| 99 | + 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>"; }; | ||
| 100 | + 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>"; }; | ||
| 101 | + 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>"; }; | ||
| 102 | + 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>"; }; | ||
| 103 | + 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>"; }; | ||
| 104 | + 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>"; }; | ||
| 105 | + 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>"; }; | ||
| 106 | + 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>"; }; | ||
| 107 | + 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>"; }; | ||
| 108 | + 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>"; }; | ||
| 109 | + 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>"; }; | ||
| 110 | + 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>"; }; | ||
| 111 | + 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>"; }; | ||
| 112 | + 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>"; }; | ||
| 113 | + 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>"; }; | ||
| 114 | + 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>"; }; | ||
| 115 | + 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>"; }; | ||
| 116 | + 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>"; }; | ||
| 117 | + 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>"; }; | ||
| 118 | + 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>"; }; | ||
| 119 | + 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>"; }; | ||
| 120 | + 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>"; }; | ||
| 121 | + 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>"; }; | ||
| 122 | + 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>"; }; | ||
| 123 | + 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>"; }; | ||
| 124 | + 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>"; }; | ||
| 125 | + 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>"; }; | ||
| 126 | + 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>"; }; | ||
| 127 | + 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>"; }; | ||
| 128 | + 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>"; }; | ||
| 129 | + 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>"; }; | ||
| 130 | + 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>"; }; | ||
| 131 | + 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>"; }; | ||
| 132 | + 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>"; }; | ||
| 133 | + 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>"; }; | ||
| 134 | + 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>"; }; | ||
| 135 | + 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>"; }; | ||
| 136 | + 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>"; }; | ||
| 137 | + 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>"; }; | ||
| 138 | + 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>"; }; | ||
| 139 | + 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>"; }; | ||
| 140 | + 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>"; }; | ||
| 141 | + 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>"; }; | ||
| 142 | + 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>"; }; | ||
| 143 | + 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>"; }; | ||
| 144 | + 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>"; }; | ||
| 145 | + 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>"; }; | ||
| 146 | + 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>"; }; | ||
| 147 | + 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>"; }; | ||
| 148 | + 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>"; }; | ||
| 149 | + 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>"; }; | ||
| 150 | + 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>"; }; | ||
| 151 | + 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>"; }; | ||
| 152 | + 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>"; }; | ||
| 153 | + 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>"; }; | ||
| 154 | + 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>"; }; | ||
| 155 | + 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>"; }; | ||
| 156 | + 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>"; }; | ||
| 157 | + 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>"; }; | ||
| 158 | + 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>"; }; | ||
| 159 | + 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>"; }; | ||
| 160 | + 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>"; }; | ||
| 161 | + 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>"; }; | ||
| 162 | + 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>"; }; | ||
| 163 | + 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>"; }; | ||
| 164 | + 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>"; }; | ||
| 165 | + 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>"; }; | ||
| 166 | + 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>"; }; | ||
| 167 | + 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>"; }; | ||
| 168 | + 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>"; }; | ||
| 169 | + 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>"; }; | ||
| 170 | + 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>"; }; | ||
| 171 | + 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>"; }; | ||
| 172 | + 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>"; }; | ||
| 173 | + 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>"; }; | ||
| 174 | + 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>"; }; | ||
| 175 | + 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>"; }; | ||
| 176 | + 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>"; }; | ||
| 177 | + 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>"; }; | ||
| 178 | + 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>"; }; | ||
| 179 | + 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>"; }; | ||
| 180 | + 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>"; }; | ||
| 181 | + 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>"; }; | ||
| 182 | + 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>"; }; | ||
| 183 | + 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>"; }; | ||
| 184 | + 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>"; }; | ||
| 185 | + 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>"; }; | ||
| 186 | + 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>"; }; | ||
| 187 | + 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>"; }; | ||
| 188 | + 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>"; }; | ||
| 189 | + 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>"; }; | ||
| 190 | + 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>"; }; | ||
| 191 | + 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>"; }; | ||
| 192 | + 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>"; }; | ||
| 193 | + 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>"; }; | ||
| 194 | + 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>"; }; | ||
| 195 | + 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>"; }; | ||
| 196 | + 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>"; }; | ||
| 197 | + 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>"; }; | ||
| 198 | + 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>"; }; | ||
| 199 | + 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>"; }; | ||
| 200 | + 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>"; }; | ||
| 201 | + 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>"; }; | ||
| 202 | + 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>"; }; | ||
| 203 | + 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>"; }; | ||
| 204 | + 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>"; }; | ||
| 205 | + 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>"; }; | ||
| 206 | + 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>"; }; | ||
| 207 | + 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>"; }; | ||
| 208 | + 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>"; }; | ||
| 209 | + 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>"; }; | ||
| 210 | + 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>"; }; | ||
| 211 | + 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>"; }; | ||
| 212 | + 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>"; }; | ||
| 213 | + 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>"; }; | ||
| 214 | + 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>"; }; | ||
| 215 | + 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>"; }; | ||
| 216 | + 3C1232B81AAE824500CE8F6C /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = configure; path = ../../../configure; sourceTree = "<group>"; }; | ||
| 217 | + 3C1232BB1AAE827E00CE8F6C /* apps.sh */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; name = apps.sh; path = ../../../auto/apps.sh; sourceTree = "<group>"; }; | ||
| 218 | + 3C1232BC1AAE827E00CE8F6C /* auto_headers.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = auto_headers.sh; path = ../../../auto/auto_headers.sh; sourceTree = "<group>"; }; | ||
| 219 | + 3C1232BD1AAE827E00CE8F6C /* build_ffmpeg.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = build_ffmpeg.sh; path = ../../../auto/build_ffmpeg.sh; sourceTree = "<group>"; }; | ||
| 220 | + 3C1232BE1AAE827E00CE8F6C /* depends.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = depends.sh; path = ../../../auto/depends.sh; sourceTree = "<group>"; }; | ||
| 221 | + 3C1232BF1AAE827E00CE8F6C /* generate_header.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = generate_header.sh; path = ../../../auto/generate_header.sh; sourceTree = "<group>"; }; | ||
| 222 | + 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>"; }; | ||
| 223 | + 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>"; }; | ||
| 224 | + 3C1232C21AAE827E00CE8F6C /* libs.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = libs.sh; path = ../../../auto/libs.sh; sourceTree = "<group>"; }; | ||
| 225 | + 3C1232C31AAE827E00CE8F6C /* local_ip.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = local_ip.sh; path = ../../../auto/local_ip.sh; sourceTree = "<group>"; }; | ||
| 226 | + 3C1232C41AAE827E00CE8F6C /* modules.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = modules.sh; path = ../../../auto/modules.sh; sourceTree = "<group>"; }; | ||
| 227 | + 3C1232C51AAE827E00CE8F6C /* options.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = options.sh; path = ../../../auto/options.sh; sourceTree = "<group>"; }; | ||
| 228 | + 3C1232C61AAE827E00CE8F6C /* summary.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = summary.sh; path = ../../../auto/summary.sh; sourceTree = "<group>"; }; | ||
| 229 | + 3C1232C71AAE827E00CE8F6C /* utest.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = utest.sh; path = ../../../auto/utest.sh; sourceTree = "<group>"; }; | ||
| 230 | + 3C1232C81AAE833300CE8F6C /* _log.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = _log.sh; path = ../../../scripts/_log.sh; sourceTree = "<group>"; }; | ||
| 231 | + 3C1232C91AAE833300CE8F6C /* build.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = build.sh; path = ../../../scripts/build.sh; sourceTree = "<group>"; }; | ||
| 232 | + 3C1232CA1AAE833300CE8F6C /* git.commit.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = git.commit.sh; path = ../../../scripts/git.commit.sh; sourceTree = "<group>"; }; | ||
| 233 | + 3C1232CB1AAE833300CE8F6C /* git2unix.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = git2unix.sh; path = ../../../scripts/git2unix.sh; sourceTree = "<group>"; }; | ||
| 234 | + 3C1232CC1AAE833300CE8F6C /* install.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = install.sh; path = ../../../scripts/install.sh; sourceTree = "<group>"; }; | ||
| 235 | + 3C1232CD1AAE833300CE8F6C /* package.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = package.sh; path = ../../../scripts/package.sh; sourceTree = "<group>"; }; | ||
| 236 | + 3C1232CE1AAE833300CE8F6C /* run.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = run.sh; path = ../../../scripts/run.sh; sourceTree = "<group>"; }; | ||
| 237 | + 3C1232CF1AAE833300CE8F6C /* srs.test */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = srs.test; path = ../../../scripts/srs.test; sourceTree = "<group>"; }; | ||
| 238 | + 3C1232D01AAE833300CE8F6C /* stop.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = stop.sh; path = ../../../scripts/stop.sh; sourceTree = "<group>"; }; | ||
| 239 | + 3C1232D11AAE833300CE8F6C /* test_configure.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = test_configure.sh; path = ../../../scripts/test_configure.sh; sourceTree = "<group>"; }; | ||
| 240 | + 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>"; }; | ||
| 241 | + 3C1232E71AAEA5D000CE8F6C /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcrypto.a; path = "../../objs/openssl-1.0.1f/_release/lib/libcrypto.a"; sourceTree = "<group>"; }; | ||
| 242 | + 3C1232E81AAEA5D000CE8F6C /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libssl.a; path = "../../objs/openssl-1.0.1f/_release/lib/libssl.a"; sourceTree = "<group>"; }; | ||
| 243 | + 3C1232EC1AAEA70F00CE8F6C /* libhttp_parser.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libhttp_parser.a; path = "../../objs/http-parser-2.1/libhttp_parser.a"; sourceTree = "<group>"; }; | ||
| 244 | + 3C1232F11AAEAC7000CE8F6C /* srs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = srs; path = ../../../etc/init.d/srs; sourceTree = "<group>"; }; | ||
| 245 | + 3C1232F21AAEAC7000CE8F6C /* srs-api */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-api"; path = "../../../etc/init.d/srs-api"; sourceTree = "<group>"; }; | ||
| 246 | + 3C1232F31AAEAC7000CE8F6C /* srs-demo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-demo"; path = "../../../etc/init.d/srs-demo"; sourceTree = "<group>"; }; | ||
| 247 | + 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>"; }; | ||
| 248 | +/* End PBXFileReference section */ | ||
| 249 | + | ||
| 250 | +/* Begin PBXFrameworksBuildPhase section */ | ||
| 251 | + 3C1231E21AAE64A400CE8F6C /* Frameworks */ = { | ||
| 252 | + isa = PBXFrameworksBuildPhase; | ||
| 253 | + buildActionMask = 2147483647; | ||
| 254 | + files = ( | ||
| 255 | + 3C1232ED1AAEA70F00CE8F6C /* libhttp_parser.a in Frameworks */, | ||
| 256 | + 3C1232E91AAEA5D000CE8F6C /* libcrypto.a in Frameworks */, | ||
| 257 | + 3C1232EA1AAEA5D000CE8F6C /* libssl.a in Frameworks */, | ||
| 258 | + 3C1232D31AAEA56B00CE8F6C /* libst.a in Frameworks */, | ||
| 259 | + ); | ||
| 260 | + runOnlyForDeploymentPostprocessing = 0; | ||
| 261 | + }; | ||
| 262 | +/* End PBXFrameworksBuildPhase section */ | ||
| 263 | + | ||
| 264 | +/* Begin PBXGroup section */ | ||
| 265 | + 3C1231DC1AAE64A400CE8F6C = { | ||
| 266 | + isa = PBXGroup; | ||
| 267 | + children = ( | ||
| 268 | + 3C1232EE1AAEA71C00CE8F6C /* links */, | ||
| 269 | + 3C1231E71AAE64A400CE8F6C /* srs_xcode */, | ||
| 270 | + 3C1231E61AAE64A400CE8F6C /* Products */, | ||
| 271 | + ); | ||
| 272 | + sourceTree = "<group>"; | ||
| 273 | + }; | ||
| 274 | + 3C1231E61AAE64A400CE8F6C /* Products */ = { | ||
| 275 | + isa = PBXGroup; | ||
| 276 | + children = ( | ||
| 277 | + 3C1231E51AAE64A400CE8F6C /* srs_xcode */, | ||
| 278 | + ); | ||
| 279 | + name = Products; | ||
| 280 | + sourceTree = "<group>"; | ||
| 281 | + }; | ||
| 282 | + 3C1231E71AAE64A400CE8F6C /* srs_xcode */ = { | ||
| 283 | + isa = PBXGroup; | ||
| 284 | + children = ( | ||
| 285 | + 3C1232EF1AAEAC5800CE8F6C /* etc */, | ||
| 286 | + 3C1232B81AAE824500CE8F6C /* configure */, | ||
| 287 | + 3C1232BA1AAE826F00CE8F6C /* auto */, | ||
| 288 | + 3C1232B91AAE825100CE8F6C /* scripts */, | ||
| 289 | + 3C12324B1AAE81CE00CE8F6C /* app */, | ||
| 290 | + 3C12322C1AAE819900CE8F6C /* protocol */, | ||
| 291 | + 3C1232071AAE814200CE8F6C /* kernel */, | ||
| 292 | + 3C1232041AAE80CB00CE8F6C /* main */, | ||
| 293 | + 3C1231F91AAE670E00CE8F6C /* objs */, | ||
| 294 | + 3C1231EF1AAE651100CE8F6C /* core */, | ||
| 295 | + ); | ||
| 296 | + path = srs_xcode; | ||
| 297 | + sourceTree = "<group>"; | ||
| 298 | + }; | ||
| 299 | + 3C1231EF1AAE651100CE8F6C /* core */ = { | ||
| 300 | + isa = PBXGroup; | ||
| 301 | + children = ( | ||
| 302 | + 3C1231F01AAE652C00CE8F6C /* srs_core_autofree.cpp */, | ||
| 303 | + 3C1231F11AAE652C00CE8F6C /* srs_core_autofree.hpp */, | ||
| 304 | + 3C1231F21AAE652C00CE8F6C /* srs_core_performance.cpp */, | ||
| 305 | + 3C1231F31AAE652C00CE8F6C /* srs_core_performance.hpp */, | ||
| 306 | + 3C1231F41AAE652D00CE8F6C /* srs_core.cpp */, | ||
| 307 | + 3C1231F51AAE652D00CE8F6C /* srs_core.hpp */, | ||
| 308 | + ); | ||
| 309 | + name = core; | ||
| 310 | + sourceTree = "<group>"; | ||
| 311 | + }; | ||
| 312 | + 3C1231F91AAE670E00CE8F6C /* objs */ = { | ||
| 313 | + isa = PBXGroup; | ||
| 314 | + children = ( | ||
| 315 | + 3C1231FB1AAE673100CE8F6C /* srs_auto_headers.hpp */, | ||
| 316 | + ); | ||
| 317 | + name = objs; | ||
| 318 | + sourceTree = "<group>"; | ||
| 319 | + }; | ||
| 320 | + 3C1232041AAE80CB00CE8F6C /* main */ = { | ||
| 321 | + isa = PBXGroup; | ||
| 322 | + children = ( | ||
| 323 | + 3C1232051AAE812C00CE8F6C /* srs_main_server.cpp */, | ||
| 324 | + ); | ||
| 325 | + name = main; | ||
| 326 | + sourceTree = "<group>"; | ||
| 327 | + }; | ||
| 328 | + 3C1232071AAE814200CE8F6C /* kernel */ = { | ||
| 329 | + isa = PBXGroup; | ||
| 330 | + children = ( | ||
| 331 | + 3C1232081AAE814D00CE8F6C /* srs_kernel_aac.cpp */, | ||
| 332 | + 3C1232091AAE814D00CE8F6C /* srs_kernel_aac.hpp */, | ||
| 333 | + 3C12320A1AAE814D00CE8F6C /* srs_kernel_buffer.cpp */, | ||
| 334 | + 3C12320B1AAE814D00CE8F6C /* srs_kernel_buffer.hpp */, | ||
| 335 | + 3C12320C1AAE814D00CE8F6C /* srs_kernel_codec.cpp */, | ||
| 336 | + 3C12320D1AAE814D00CE8F6C /* srs_kernel_codec.hpp */, | ||
| 337 | + 3C12320E1AAE814D00CE8F6C /* srs_kernel_consts.cpp */, | ||
| 338 | + 3C12320F1AAE814D00CE8F6C /* srs_kernel_consts.hpp */, | ||
| 339 | + 3C1232101AAE814D00CE8F6C /* srs_kernel_error.cpp */, | ||
| 340 | + 3C1232111AAE814D00CE8F6C /* srs_kernel_error.hpp */, | ||
| 341 | + 3C1232121AAE814D00CE8F6C /* srs_kernel_file.cpp */, | ||
| 342 | + 3C1232131AAE814D00CE8F6C /* srs_kernel_file.hpp */, | ||
| 343 | + 3C1232141AAE814D00CE8F6C /* srs_kernel_flv.cpp */, | ||
| 344 | + 3C1232151AAE814D00CE8F6C /* srs_kernel_flv.hpp */, | ||
| 345 | + 3C1232161AAE814D00CE8F6C /* srs_kernel_log.cpp */, | ||
| 346 | + 3C1232171AAE814D00CE8F6C /* srs_kernel_log.hpp */, | ||
| 347 | + 3C1232181AAE814D00CE8F6C /* srs_kernel_mp3.cpp */, | ||
| 348 | + 3C1232191AAE814D00CE8F6C /* srs_kernel_mp3.hpp */, | ||
| 349 | + 3C12321A1AAE814D00CE8F6C /* srs_kernel_stream.cpp */, | ||
| 350 | + 3C12321B1AAE814D00CE8F6C /* srs_kernel_stream.hpp */, | ||
| 351 | + 3C12321C1AAE814D00CE8F6C /* srs_kernel_ts.cpp */, | ||
| 352 | + 3C12321D1AAE814D00CE8F6C /* srs_kernel_ts.hpp */, | ||
| 353 | + 3C12321E1AAE814D00CE8F6C /* srs_kernel_utility.cpp */, | ||
| 354 | + 3C12321F1AAE814D00CE8F6C /* srs_kernel_utility.hpp */, | ||
| 355 | + ); | ||
| 356 | + name = kernel; | ||
| 357 | + sourceTree = "<group>"; | ||
| 358 | + }; | ||
| 359 | + 3C12322C1AAE819900CE8F6C /* protocol */ = { | ||
| 360 | + isa = PBXGroup; | ||
| 361 | + children = ( | ||
| 362 | + 3C12322D1AAE81A400CE8F6C /* srs_raw_avc.cpp */, | ||
| 363 | + 3C12322E1AAE81A400CE8F6C /* srs_raw_avc.hpp */, | ||
| 364 | + 3C12322F1AAE81A400CE8F6C /* srs_rtmp_amf0.cpp */, | ||
| 365 | + 3C1232301AAE81A400CE8F6C /* srs_rtmp_amf0.hpp */, | ||
| 366 | + 3C1232311AAE81A400CE8F6C /* srs_rtmp_buffer.cpp */, | ||
| 367 | + 3C1232321AAE81A400CE8F6C /* srs_rtmp_buffer.hpp */, | ||
| 368 | + 3C1232331AAE81A400CE8F6C /* srs_rtmp_handshake.cpp */, | ||
| 369 | + 3C1232341AAE81A400CE8F6C /* srs_rtmp_handshake.hpp */, | ||
| 370 | + 3C1232351AAE81A400CE8F6C /* srs_rtmp_io.cpp */, | ||
| 371 | + 3C1232361AAE81A400CE8F6C /* srs_rtmp_io.hpp */, | ||
| 372 | + 3C1232371AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp */, | ||
| 373 | + 3C1232381AAE81A400CE8F6C /* srs_rtmp_msg_array.hpp */, | ||
| 374 | + 3C1232391AAE81A400CE8F6C /* srs_rtmp_sdk.cpp */, | ||
| 375 | + 3C12323A1AAE81A400CE8F6C /* srs_rtmp_sdk.hpp */, | ||
| 376 | + 3C12323B1AAE81A400CE8F6C /* srs_rtmp_stack.cpp */, | ||
| 377 | + 3C12323C1AAE81A400CE8F6C /* srs_rtmp_stack.hpp */, | ||
| 378 | + 3C12323D1AAE81A400CE8F6C /* srs_rtmp_utility.cpp */, | ||
| 379 | + 3C12323E1AAE81A400CE8F6C /* srs_rtmp_utility.hpp */, | ||
| 380 | + 3C12323F1AAE81A400CE8F6C /* srs_rtsp_stack.cpp */, | ||
| 381 | + 3C1232401AAE81A400CE8F6C /* srs_rtsp_stack.hpp */, | ||
| 382 | + ); | ||
| 383 | + name = protocol; | ||
| 384 | + sourceTree = "<group>"; | ||
| 385 | + }; | ||
| 386 | + 3C12324B1AAE81CE00CE8F6C /* app */ = { | ||
| 387 | + isa = PBXGroup; | ||
| 388 | + children = ( | ||
| 389 | + 3C12324C1AAE81D900CE8F6C /* srs_app_bandwidth.cpp */, | ||
| 390 | + 3C12324D1AAE81D900CE8F6C /* srs_app_bandwidth.hpp */, | ||
| 391 | + 3C12324E1AAE81D900CE8F6C /* srs_app_config.cpp */, | ||
| 392 | + 3C12324F1AAE81D900CE8F6C /* srs_app_config.hpp */, | ||
| 393 | + 3C1232501AAE81D900CE8F6C /* srs_app_conn.cpp */, | ||
| 394 | + 3C1232511AAE81D900CE8F6C /* srs_app_conn.hpp */, | ||
| 395 | + 3C1232521AAE81D900CE8F6C /* srs_app_dvr.cpp */, | ||
| 396 | + 3C1232531AAE81D900CE8F6C /* srs_app_dvr.hpp */, | ||
| 397 | + 3C1232541AAE81D900CE8F6C /* srs_app_edge.cpp */, | ||
| 398 | + 3C1232551AAE81D900CE8F6C /* srs_app_edge.hpp */, | ||
| 399 | + 3C1232561AAE81D900CE8F6C /* srs_app_empty.cpp */, | ||
| 400 | + 3C1232571AAE81D900CE8F6C /* srs_app_empty.hpp */, | ||
| 401 | + 3C1232581AAE81D900CE8F6C /* srs_app_encoder.cpp */, | ||
| 402 | + 3C1232591AAE81D900CE8F6C /* srs_app_encoder.hpp */, | ||
| 403 | + 3C12325A1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp */, | ||
| 404 | + 3C12325B1AAE81D900CE8F6C /* srs_app_ffmpeg.hpp */, | ||
| 405 | + 3C12325C1AAE81D900CE8F6C /* srs_app_forward.cpp */, | ||
| 406 | + 3C12325D1AAE81D900CE8F6C /* srs_app_forward.hpp */, | ||
| 407 | + 3C12325E1AAE81D900CE8F6C /* srs_app_heartbeat.cpp */, | ||
| 408 | + 3C12325F1AAE81D900CE8F6C /* srs_app_heartbeat.hpp */, | ||
| 409 | + 3C1232601AAE81D900CE8F6C /* srs_app_hls.cpp */, | ||
| 410 | + 3C1232611AAE81D900CE8F6C /* srs_app_hls.hpp */, | ||
| 411 | + 3C1232621AAE81D900CE8F6C /* srs_app_http_api.cpp */, | ||
| 412 | + 3C1232631AAE81D900CE8F6C /* srs_app_http_api.hpp */, | ||
| 413 | + 3C1232641AAE81D900CE8F6C /* srs_app_http_client.cpp */, | ||
| 414 | + 3C1232651AAE81D900CE8F6C /* srs_app_http_client.hpp */, | ||
| 415 | + 3C1232661AAE81D900CE8F6C /* srs_app_http_conn.cpp */, | ||
| 416 | + 3C1232671AAE81D900CE8F6C /* srs_app_http_conn.hpp */, | ||
| 417 | + 3C1232681AAE81D900CE8F6C /* srs_app_http_hooks.cpp */, | ||
| 418 | + 3C1232691AAE81D900CE8F6C /* srs_app_http_hooks.hpp */, | ||
| 419 | + 3C12326A1AAE81D900CE8F6C /* srs_app_http.cpp */, | ||
| 420 | + 3C12326B1AAE81D900CE8F6C /* srs_app_http.hpp */, | ||
| 421 | + 3C12326C1AAE81D900CE8F6C /* srs_app_ingest.cpp */, | ||
| 422 | + 3C12326D1AAE81D900CE8F6C /* srs_app_ingest.hpp */, | ||
| 423 | + 3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */, | ||
| 424 | + 3C12326F1AAE81D900CE8F6C /* srs_app_json.hpp */, | ||
| 425 | + 3C1232701AAE81D900CE8F6C /* srs_app_kbps.cpp */, | ||
| 426 | + 3C1232711AAE81D900CE8F6C /* srs_app_kbps.hpp */, | ||
| 427 | + 3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */, | ||
| 428 | + 3C1232731AAE81D900CE8F6C /* srs_app_listener.hpp */, | ||
| 429 | + 3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */, | ||
| 430 | + 3C1232751AAE81D900CE8F6C /* srs_app_log.hpp */, | ||
| 431 | + 3C1232761AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp */, | ||
| 432 | + 3C1232771AAE81D900CE8F6C /* srs_app_mpegts_udp.hpp */, | ||
| 433 | + 3C1232781AAE81D900CE8F6C /* srs_app_pithy_print.cpp */, | ||
| 434 | + 3C1232791AAE81D900CE8F6C /* srs_app_pithy_print.hpp */, | ||
| 435 | + 3C12327A1AAE81D900CE8F6C /* srs_app_recv_thread.cpp */, | ||
| 436 | + 3C12327B1AAE81D900CE8F6C /* srs_app_recv_thread.hpp */, | ||
| 437 | + 3C12327C1AAE81D900CE8F6C /* srs_app_refer.cpp */, | ||
| 438 | + 3C12327D1AAE81D900CE8F6C /* srs_app_refer.hpp */, | ||
| 439 | + 3C12327E1AAE81D900CE8F6C /* srs_app_reload.cpp */, | ||
| 440 | + 3C12327F1AAE81D900CE8F6C /* srs_app_reload.hpp */, | ||
| 441 | + 3C1232801AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp */, | ||
| 442 | + 3C1232811AAE81D900CE8F6C /* srs_app_rtmp_conn.hpp */, | ||
| 443 | + 3C1232821AAE81D900CE8F6C /* srs_app_rtsp.cpp */, | ||
| 444 | + 3C1232831AAE81D900CE8F6C /* srs_app_rtsp.hpp */, | ||
| 445 | + 3C1232841AAE81D900CE8F6C /* srs_app_security.cpp */, | ||
| 446 | + 3C1232851AAE81D900CE8F6C /* srs_app_security.hpp */, | ||
| 447 | + 3C1232861AAE81D900CE8F6C /* srs_app_server.cpp */, | ||
| 448 | + 3C1232871AAE81D900CE8F6C /* srs_app_server.hpp */, | ||
| 449 | + 3C1232881AAE81D900CE8F6C /* srs_app_source.cpp */, | ||
| 450 | + 3C1232891AAE81D900CE8F6C /* srs_app_source.hpp */, | ||
| 451 | + 3C12328A1AAE81D900CE8F6C /* srs_app_st_socket.cpp */, | ||
| 452 | + 3C12328B1AAE81D900CE8F6C /* srs_app_st_socket.hpp */, | ||
| 453 | + 3C12328C1AAE81D900CE8F6C /* srs_app_st.cpp */, | ||
| 454 | + 3C12328D1AAE81D900CE8F6C /* srs_app_st.hpp */, | ||
| 455 | + 3C12328E1AAE81D900CE8F6C /* srs_app_statistic.cpp */, | ||
| 456 | + 3C12328F1AAE81D900CE8F6C /* srs_app_statistic.hpp */, | ||
| 457 | + 3C1232901AAE81D900CE8F6C /* srs_app_thread.cpp */, | ||
| 458 | + 3C1232911AAE81D900CE8F6C /* srs_app_thread.hpp */, | ||
| 459 | + 3C1232921AAE81D900CE8F6C /* srs_app_utility.cpp */, | ||
| 460 | + 3C1232931AAE81D900CE8F6C /* srs_app_utility.hpp */, | ||
| 461 | + ); | ||
| 462 | + name = app; | ||
| 463 | + sourceTree = "<group>"; | ||
| 464 | + }; | ||
| 465 | + 3C1232B91AAE825100CE8F6C /* scripts */ = { | ||
| 466 | + isa = PBXGroup; | ||
| 467 | + children = ( | ||
| 468 | + 3C1232C81AAE833300CE8F6C /* _log.sh */, | ||
| 469 | + 3C1232C91AAE833300CE8F6C /* build.sh */, | ||
| 470 | + 3C1232CA1AAE833300CE8F6C /* git.commit.sh */, | ||
| 471 | + 3C1232CB1AAE833300CE8F6C /* git2unix.sh */, | ||
| 472 | + 3C1232CC1AAE833300CE8F6C /* install.sh */, | ||
| 473 | + 3C1232CD1AAE833300CE8F6C /* package.sh */, | ||
| 474 | + 3C1232CE1AAE833300CE8F6C /* run.sh */, | ||
| 475 | + 3C1232CF1AAE833300CE8F6C /* srs.test */, | ||
| 476 | + 3C1232D01AAE833300CE8F6C /* stop.sh */, | ||
| 477 | + 3C1232D11AAE833300CE8F6C /* test_configure.sh */, | ||
| 478 | + ); | ||
| 479 | + name = scripts; | ||
| 480 | + sourceTree = "<group>"; | ||
| 481 | + }; | ||
| 482 | + 3C1232BA1AAE826F00CE8F6C /* auto */ = { | ||
| 483 | + isa = PBXGroup; | ||
| 484 | + children = ( | ||
| 485 | + 3C1232BB1AAE827E00CE8F6C /* apps.sh */, | ||
| 486 | + 3C1232BC1AAE827E00CE8F6C /* auto_headers.sh */, | ||
| 487 | + 3C1232BD1AAE827E00CE8F6C /* build_ffmpeg.sh */, | ||
| 488 | + 3C1232BE1AAE827E00CE8F6C /* depends.sh */, | ||
| 489 | + 3C1232BF1AAE827E00CE8F6C /* generate_header.sh */, | ||
| 490 | + 3C1232C01AAE827E00CE8F6C /* generate-srs-librtmp-project.sh */, | ||
| 491 | + 3C1232C11AAE827E00CE8F6C /* generate-srs-librtmp-single.sh */, | ||
| 492 | + 3C1232C21AAE827E00CE8F6C /* libs.sh */, | ||
| 493 | + 3C1232C31AAE827E00CE8F6C /* local_ip.sh */, | ||
| 494 | + 3C1232C41AAE827E00CE8F6C /* modules.sh */, | ||
| 495 | + 3C1232C51AAE827E00CE8F6C /* options.sh */, | ||
| 496 | + 3C1232C61AAE827E00CE8F6C /* summary.sh */, | ||
| 497 | + 3C1232C71AAE827E00CE8F6C /* utest.sh */, | ||
| 498 | + ); | ||
| 499 | + name = auto; | ||
| 500 | + sourceTree = "<group>"; | ||
| 501 | + }; | ||
| 502 | + 3C1232EE1AAEA71C00CE8F6C /* links */ = { | ||
| 503 | + isa = PBXGroup; | ||
| 504 | + children = ( | ||
| 505 | + 3C1232EC1AAEA70F00CE8F6C /* libhttp_parser.a */, | ||
| 506 | + 3C1232D21AAEA56B00CE8F6C /* libst.a */, | ||
| 507 | + 3C1232E81AAEA5D000CE8F6C /* libssl.a */, | ||
| 508 | + 3C1232E71AAEA5D000CE8F6C /* libcrypto.a */, | ||
| 509 | + ); | ||
| 510 | + name = links; | ||
| 511 | + sourceTree = "<group>"; | ||
| 512 | + }; | ||
| 513 | + 3C1232EF1AAEAC5800CE8F6C /* etc */ = { | ||
| 514 | + isa = PBXGroup; | ||
| 515 | + children = ( | ||
| 516 | + 3C1232F01AAEAC5D00CE8F6C /* init.d */, | ||
| 517 | + ); | ||
| 518 | + name = etc; | ||
| 519 | + sourceTree = "<group>"; | ||
| 520 | + }; | ||
| 521 | + 3C1232F01AAEAC5D00CE8F6C /* init.d */ = { | ||
| 522 | + isa = PBXGroup; | ||
| 523 | + children = ( | ||
| 524 | + 3C1232F11AAEAC7000CE8F6C /* srs */, | ||
| 525 | + 3C1232F21AAEAC7000CE8F6C /* srs-api */, | ||
| 526 | + 3C1232F31AAEAC7000CE8F6C /* srs-demo */, | ||
| 527 | + 3C1232F41AAEAC7000CE8F6C /* srs-demo-19350 */, | ||
| 528 | + ); | ||
| 529 | + name = init.d; | ||
| 530 | + sourceTree = "<group>"; | ||
| 531 | + }; | ||
| 532 | +/* End PBXGroup section */ | ||
| 533 | + | ||
| 534 | +/* Begin PBXNativeTarget section */ | ||
| 535 | + 3C1231E41AAE64A400CE8F6C /* srs_xcode */ = { | ||
| 536 | + isa = PBXNativeTarget; | ||
| 537 | + buildConfigurationList = 3C1231EC1AAE64A400CE8F6C /* Build configuration list for PBXNativeTarget "srs_xcode" */; | ||
| 538 | + buildPhases = ( | ||
| 539 | + 3C1231E11AAE64A400CE8F6C /* Sources */, | ||
| 540 | + 3C1231E21AAE64A400CE8F6C /* Frameworks */, | ||
| 541 | + 3C1231E31AAE64A400CE8F6C /* CopyFiles */, | ||
| 542 | + ); | ||
| 543 | + buildRules = ( | ||
| 544 | + ); | ||
| 545 | + dependencies = ( | ||
| 546 | + ); | ||
| 547 | + name = srs_xcode; | ||
| 548 | + productName = srs_xcode; | ||
| 549 | + productReference = 3C1231E51AAE64A400CE8F6C /* srs_xcode */; | ||
| 550 | + productType = "com.apple.product-type.tool"; | ||
| 551 | + }; | ||
| 552 | +/* End PBXNativeTarget section */ | ||
| 553 | + | ||
| 554 | +/* Begin PBXProject section */ | ||
| 555 | + 3C1231DD1AAE64A400CE8F6C /* Project object */ = { | ||
| 556 | + isa = PBXProject; | ||
| 557 | + attributes = { | ||
| 558 | + LastUpgradeCheck = 0610; | ||
| 559 | + ORGANIZATIONNAME = winlin; | ||
| 560 | + TargetAttributes = { | ||
| 561 | + 3C1231E41AAE64A400CE8F6C = { | ||
| 562 | + CreatedOnToolsVersion = 6.1.1; | ||
| 563 | + }; | ||
| 564 | + }; | ||
| 565 | + }; | ||
| 566 | + buildConfigurationList = 3C1231E01AAE64A400CE8F6C /* Build configuration list for PBXProject "srs_xcode" */; | ||
| 567 | + compatibilityVersion = "Xcode 3.2"; | ||
| 568 | + developmentRegion = English; | ||
| 569 | + hasScannedForEncodings = 0; | ||
| 570 | + knownRegions = ( | ||
| 571 | + en, | ||
| 572 | + ); | ||
| 573 | + mainGroup = 3C1231DC1AAE64A400CE8F6C; | ||
| 574 | + productRefGroup = 3C1231E61AAE64A400CE8F6C /* Products */; | ||
| 575 | + projectDirPath = ""; | ||
| 576 | + projectRoot = ""; | ||
| 577 | + targets = ( | ||
| 578 | + 3C1231E41AAE64A400CE8F6C /* srs_xcode */, | ||
| 579 | + ); | ||
| 580 | + }; | ||
| 581 | +/* End PBXProject section */ | ||
| 582 | + | ||
| 583 | +/* Begin PBXSourcesBuildPhase section */ | ||
| 584 | + 3C1231E11AAE64A400CE8F6C /* Sources */ = { | ||
| 585 | + isa = PBXSourcesBuildPhase; | ||
| 586 | + buildActionMask = 2147483647; | ||
| 587 | + files = ( | ||
| 588 | + 3C1232951AAE81D900CE8F6C /* srs_app_config.cpp in Sources */, | ||
| 589 | + 3C1232961AAE81D900CE8F6C /* srs_app_conn.cpp in Sources */, | ||
| 590 | + 3C12322A1AAE814D00CE8F6C /* srs_kernel_ts.cpp in Sources */, | ||
| 591 | + 3C12329E1AAE81D900CE8F6C /* srs_app_hls.cpp in Sources */, | ||
| 592 | + 3C1232971AAE81D900CE8F6C /* srs_app_dvr.cpp in Sources */, | ||
| 593 | + 3C1232271AAE814D00CE8F6C /* srs_kernel_log.cpp in Sources */, | ||
| 594 | + 3C1232A81AAE81D900CE8F6C /* srs_app_log.cpp in Sources */, | ||
| 595 | + 3C1232A41AAE81D900CE8F6C /* srs_app_ingest.cpp in Sources */, | ||
| 596 | + 3C1232B41AAE81D900CE8F6C /* srs_app_st.cpp in Sources */, | ||
| 597 | + 3C1232481AAE81A400CE8F6C /* srs_rtmp_stack.cpp in Sources */, | ||
| 598 | + 3C1232B01AAE81D900CE8F6C /* srs_app_security.cpp in Sources */, | ||
| 599 | + 3C12322B1AAE814D00CE8F6C /* srs_kernel_utility.cpp in Sources */, | ||
| 600 | + 3C12324A1AAE81A400CE8F6C /* srs_rtsp_stack.cpp in Sources */, | ||
| 601 | + 3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */, | ||
| 602 | + 3C12329F1AAE81D900CE8F6C /* srs_app_http_api.cpp in Sources */, | ||
| 603 | + 3C1232A11AAE81D900CE8F6C /* srs_app_http_conn.cpp in Sources */, | ||
| 604 | + 3C1232AC1AAE81D900CE8F6C /* srs_app_refer.cpp in Sources */, | ||
| 605 | + 3C1232991AAE81D900CE8F6C /* srs_app_empty.cpp in Sources */, | ||
| 606 | + 3C1232201AAE814D00CE8F6C /* srs_kernel_aac.cpp in Sources */, | ||
| 607 | + 3C1232941AAE81D900CE8F6C /* srs_app_bandwidth.cpp in Sources */, | ||
| 608 | + 3C1232221AAE814D00CE8F6C /* srs_kernel_codec.cpp in Sources */, | ||
| 609 | + 3C1232B71AAE81D900CE8F6C /* srs_app_utility.cpp in Sources */, | ||
| 610 | + 3C1232AB1AAE81D900CE8F6C /* srs_app_recv_thread.cpp in Sources */, | ||
| 611 | + 3C1231F61AAE652D00CE8F6C /* srs_core_autofree.cpp in Sources */, | ||
| 612 | + 3C1232411AAE81A400CE8F6C /* srs_raw_avc.cpp in Sources */, | ||
| 613 | + 3C1232491AAE81A400CE8F6C /* srs_rtmp_utility.cpp in Sources */, | ||
| 614 | + 3C1232A01AAE81D900CE8F6C /* srs_app_http_client.cpp in Sources */, | ||
| 615 | + 3C12329B1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp in Sources */, | ||
| 616 | + 3C1232421AAE81A400CE8F6C /* srs_rtmp_amf0.cpp in Sources */, | ||
| 617 | + 3C1232AA1AAE81D900CE8F6C /* srs_app_pithy_print.cpp in Sources */, | ||
| 618 | + 3C12329C1AAE81D900CE8F6C /* srs_app_forward.cpp in Sources */, | ||
| 619 | + 3C1232251AAE814D00CE8F6C /* srs_kernel_file.cpp in Sources */, | ||
| 620 | + 3C1232AD1AAE81D900CE8F6C /* srs_app_reload.cpp in Sources */, | ||
| 621 | + 3C1231F81AAE652D00CE8F6C /* srs_core.cpp in Sources */, | ||
| 622 | + 3C1232A21AAE81D900CE8F6C /* srs_app_http_hooks.cpp in Sources */, | ||
| 623 | + 3C1232B11AAE81D900CE8F6C /* srs_app_server.cpp in Sources */, | ||
| 624 | + 3C1232B31AAE81D900CE8F6C /* srs_app_st_socket.cpp in Sources */, | ||
| 625 | + 3C1232061AAE812C00CE8F6C /* srs_main_server.cpp in Sources */, | ||
| 626 | + 3C1232281AAE814D00CE8F6C /* srs_kernel_mp3.cpp in Sources */, | ||
| 627 | + 3C1232B21AAE81D900CE8F6C /* srs_app_source.cpp in Sources */, | ||
| 628 | + 3C1231F71AAE652D00CE8F6C /* srs_core_performance.cpp in Sources */, | ||
| 629 | + 3C1232981AAE81D900CE8F6C /* srs_app_edge.cpp in Sources */, | ||
| 630 | + 3C1232461AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp in Sources */, | ||
| 631 | + 3C1232A71AAE81D900CE8F6C /* srs_app_listener.cpp in Sources */, | ||
| 632 | + 3C1232261AAE814D00CE8F6C /* srs_kernel_flv.cpp in Sources */, | ||
| 633 | + 3C1232241AAE814D00CE8F6C /* srs_kernel_error.cpp in Sources */, | ||
| 634 | + 3C1232441AAE81A400CE8F6C /* srs_rtmp_handshake.cpp in Sources */, | ||
| 635 | + 3C1232291AAE814D00CE8F6C /* srs_kernel_stream.cpp in Sources */, | ||
| 636 | + 3C1232B61AAE81D900CE8F6C /* srs_app_thread.cpp in Sources */, | ||
| 637 | + 3C1232A91AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp in Sources */, | ||
| 638 | + 3C1232AE1AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp in Sources */, | ||
| 639 | + 3C1232B51AAE81D900CE8F6C /* srs_app_statistic.cpp in Sources */, | ||
| 640 | + 3C1232451AAE81A400CE8F6C /* srs_rtmp_io.cpp in Sources */, | ||
| 641 | + 3C1232431AAE81A400CE8F6C /* srs_rtmp_buffer.cpp in Sources */, | ||
| 642 | + 3C1232211AAE814D00CE8F6C /* srs_kernel_buffer.cpp in Sources */, | ||
| 643 | + 3C1232471AAE81A400CE8F6C /* srs_rtmp_sdk.cpp in Sources */, | ||
| 644 | + 3C1232A61AAE81D900CE8F6C /* srs_app_kbps.cpp in Sources */, | ||
| 645 | + 3C12329D1AAE81D900CE8F6C /* srs_app_heartbeat.cpp in Sources */, | ||
| 646 | + 3C1232231AAE814D00CE8F6C /* srs_kernel_consts.cpp in Sources */, | ||
| 647 | + 3C1232AF1AAE81D900CE8F6C /* srs_app_rtsp.cpp in Sources */, | ||
| 648 | + 3C1232A31AAE81D900CE8F6C /* srs_app_http.cpp in Sources */, | ||
| 649 | + 3C12329A1AAE81D900CE8F6C /* srs_app_encoder.cpp in Sources */, | ||
| 650 | + ); | ||
| 651 | + runOnlyForDeploymentPostprocessing = 0; | ||
| 652 | + }; | ||
| 653 | +/* End PBXSourcesBuildPhase section */ | ||
| 654 | + | ||
| 655 | +/* Begin XCBuildConfiguration section */ | ||
| 656 | + 3C1231EA1AAE64A400CE8F6C /* Debug */ = { | ||
| 657 | + isa = XCBuildConfiguration; | ||
| 658 | + buildSettings = { | ||
| 659 | + ALWAYS_SEARCH_USER_PATHS = NO; | ||
| 660 | + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | ||
| 661 | + CLANG_CXX_LIBRARY = "libc++"; | ||
| 662 | + CLANG_ENABLE_MODULES = YES; | ||
| 663 | + CLANG_ENABLE_OBJC_ARC = YES; | ||
| 664 | + CLANG_WARN_BOOL_CONVERSION = YES; | ||
| 665 | + CLANG_WARN_CONSTANT_CONVERSION = YES; | ||
| 666 | + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | ||
| 667 | + CLANG_WARN_EMPTY_BODY = YES; | ||
| 668 | + CLANG_WARN_ENUM_CONVERSION = YES; | ||
| 669 | + CLANG_WARN_INT_CONVERSION = YES; | ||
| 670 | + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | ||
| 671 | + CLANG_WARN_UNREACHABLE_CODE = YES; | ||
| 672 | + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||
| 673 | + COPY_PHASE_STRIP = NO; | ||
| 674 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | ||
| 675 | + GCC_C_LANGUAGE_STANDARD = gnu99; | ||
| 676 | + GCC_DYNAMIC_NO_PIC = NO; | ||
| 677 | + GCC_OPTIMIZATION_LEVEL = 0; | ||
| 678 | + GCC_PREPROCESSOR_DEFINITIONS = ( | ||
| 679 | + "DEBUG=1", | ||
| 680 | + "$(inherited)", | ||
| 681 | + ); | ||
| 682 | + GCC_SYMBOLS_PRIVATE_EXTERN = NO; | ||
| 683 | + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||
| 684 | + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | ||
| 685 | + GCC_WARN_UNDECLARED_SELECTOR = YES; | ||
| 686 | + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | ||
| 687 | + GCC_WARN_UNUSED_FUNCTION = YES; | ||
| 688 | + GCC_WARN_UNUSED_VARIABLE = YES; | ||
| 689 | + MACOSX_DEPLOYMENT_TARGET = 10.10; | ||
| 690 | + MTL_ENABLE_DEBUG_INFO = YES; | ||
| 691 | + ONLY_ACTIVE_ARCH = YES; | ||
| 692 | + SDKROOT = macosx; | ||
| 693 | + }; | ||
| 694 | + name = Debug; | ||
| 695 | + }; | ||
| 696 | + 3C1231EB1AAE64A400CE8F6C /* Release */ = { | ||
| 697 | + isa = XCBuildConfiguration; | ||
| 698 | + buildSettings = { | ||
| 699 | + ALWAYS_SEARCH_USER_PATHS = NO; | ||
| 700 | + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | ||
| 701 | + CLANG_CXX_LIBRARY = "libc++"; | ||
| 702 | + CLANG_ENABLE_MODULES = YES; | ||
| 703 | + CLANG_ENABLE_OBJC_ARC = YES; | ||
| 704 | + CLANG_WARN_BOOL_CONVERSION = YES; | ||
| 705 | + CLANG_WARN_CONSTANT_CONVERSION = YES; | ||
| 706 | + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | ||
| 707 | + CLANG_WARN_EMPTY_BODY = YES; | ||
| 708 | + CLANG_WARN_ENUM_CONVERSION = YES; | ||
| 709 | + CLANG_WARN_INT_CONVERSION = YES; | ||
| 710 | + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | ||
| 711 | + CLANG_WARN_UNREACHABLE_CODE = YES; | ||
| 712 | + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||
| 713 | + COPY_PHASE_STRIP = YES; | ||
| 714 | + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | ||
| 715 | + ENABLE_NS_ASSERTIONS = NO; | ||
| 716 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | ||
| 717 | + GCC_C_LANGUAGE_STANDARD = gnu99; | ||
| 718 | + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||
| 719 | + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | ||
| 720 | + GCC_WARN_UNDECLARED_SELECTOR = YES; | ||
| 721 | + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | ||
| 722 | + GCC_WARN_UNUSED_FUNCTION = YES; | ||
| 723 | + GCC_WARN_UNUSED_VARIABLE = YES; | ||
| 724 | + MACOSX_DEPLOYMENT_TARGET = 10.10; | ||
| 725 | + MTL_ENABLE_DEBUG_INFO = NO; | ||
| 726 | + SDKROOT = macosx; | ||
| 727 | + }; | ||
| 728 | + name = Release; | ||
| 729 | + }; | ||
| 730 | + 3C1231ED1AAE64A400CE8F6C /* Debug */ = { | ||
| 731 | + isa = XCBuildConfiguration; | ||
| 732 | + buildSettings = { | ||
| 733 | + ALWAYS_SEARCH_USER_PATHS = YES; | ||
| 734 | + CLANG_CXX_LANGUAGE_STANDARD = "c++98"; | ||
| 735 | + CLANG_CXX_LIBRARY = "libstdc++"; | ||
| 736 | + LIBRARY_SEARCH_PATHS = ( | ||
| 737 | + "../../objs/**", | ||
| 738 | + "/Users/winlin/Desktop/git/simple-rtmp-server/trunk/objs/http-parser-2.1", | ||
| 739 | + ); | ||
| 740 | + PRODUCT_NAME = "$(TARGET_NAME)"; | ||
| 741 | + "USER_HEADER_SEARCH_PATHS[arch=*]" = "../../src/** ../../objs ../../objs/st ../../objs/hp ../../objs/openssl"; | ||
| 742 | + }; | ||
| 743 | + name = Debug; | ||
| 744 | + }; | ||
| 745 | + 3C1231EE1AAE64A400CE8F6C /* Release */ = { | ||
| 746 | + isa = XCBuildConfiguration; | ||
| 747 | + buildSettings = { | ||
| 748 | + ALWAYS_SEARCH_USER_PATHS = YES; | ||
| 749 | + CLANG_CXX_LANGUAGE_STANDARD = "c++98"; | ||
| 750 | + CLANG_CXX_LIBRARY = "libstdc++"; | ||
| 751 | + LIBRARY_SEARCH_PATHS = ( | ||
| 752 | + "../../objs/**", | ||
| 753 | + "/Users/winlin/Desktop/git/simple-rtmp-server/trunk/objs/http-parser-2.1", | ||
| 754 | + ); | ||
| 755 | + PRODUCT_NAME = "$(TARGET_NAME)"; | ||
| 756 | + }; | ||
| 757 | + name = Release; | ||
| 758 | + }; | ||
| 759 | +/* End XCBuildConfiguration section */ | ||
| 760 | + | ||
| 761 | +/* Begin XCConfigurationList section */ | ||
| 762 | + 3C1231E01AAE64A400CE8F6C /* Build configuration list for PBXProject "srs_xcode" */ = { | ||
| 763 | + isa = XCConfigurationList; | ||
| 764 | + buildConfigurations = ( | ||
| 765 | + 3C1231EA1AAE64A400CE8F6C /* Debug */, | ||
| 766 | + 3C1231EB1AAE64A400CE8F6C /* Release */, | ||
| 767 | + ); | ||
| 768 | + defaultConfigurationIsVisible = 0; | ||
| 769 | + defaultConfigurationName = Release; | ||
| 770 | + }; | ||
| 771 | + 3C1231EC1AAE64A400CE8F6C /* Build configuration list for PBXNativeTarget "srs_xcode" */ = { | ||
| 772 | + isa = XCConfigurationList; | ||
| 773 | + buildConfigurations = ( | ||
| 774 | + 3C1231ED1AAE64A400CE8F6C /* Debug */, | ||
| 775 | + 3C1231EE1AAE64A400CE8F6C /* Release */, | ||
| 776 | + ); | ||
| 777 | + defaultConfigurationIsVisible = 0; | ||
| 778 | + defaultConfigurationName = Release; | ||
| 779 | + }; | ||
| 780 | +/* End XCConfigurationList section */ | ||
| 781 | + }; | ||
| 782 | + rootObject = 3C1231DD1AAE64A400CE8F6C /* Project object */; | ||
| 783 | +} |
不能预览此文件类型
trunk/ide/srs_xcode/srs_xcode/readme.txt
0 → 100644
| 1 | +the xcode project for osx. |
| @@ -26,6 +26,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -26,6 +26,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 26 | #include <srs_kernel_error.hpp> | 26 | #include <srs_kernel_error.hpp> |
| 27 | #include <srs_kernel_log.hpp> | 27 | #include <srs_kernel_log.hpp> |
| 28 | 28 | ||
| 29 | +#ifndef SRS_OSX | ||
| 29 | #include <sys/epoll.h> | 30 | #include <sys/epoll.h> |
| 30 | bool srs_st_epoll_is_supported(void) | 31 | bool srs_st_epoll_is_supported(void) |
| 31 | { | 32 | { |
| @@ -38,11 +39,13 @@ bool srs_st_epoll_is_supported(void) | @@ -38,11 +39,13 @@ bool srs_st_epoll_is_supported(void) | ||
| 38 | 39 | ||
| 39 | return (errno != ENOSYS); | 40 | return (errno != ENOSYS); |
| 40 | } | 41 | } |
| 42 | +#endif | ||
| 41 | 43 | ||
| 42 | int srs_init_st() | 44 | int srs_init_st() |
| 43 | { | 45 | { |
| 44 | int ret = ERROR_SUCCESS; | 46 | int ret = ERROR_SUCCESS; |
| 45 | 47 | ||
| 48 | +#ifndef SRS_OSX | ||
| 46 | // check epoll, some old linux donot support epoll. | 49 | // check epoll, some old linux donot support epoll. |
| 47 | // @see https://github.com/winlinvip/simple-rtmp-server/issues/162 | 50 | // @see https://github.com/winlinvip/simple-rtmp-server/issues/162 |
| 48 | if (!srs_st_epoll_is_supported()) { | 51 | if (!srs_st_epoll_is_supported()) { |
| @@ -58,6 +61,7 @@ int srs_init_st() | @@ -58,6 +61,7 @@ int srs_init_st() | ||
| 58 | return ret; | 61 | return ret; |
| 59 | } | 62 | } |
| 60 | srs_verbose("st_set_eventsys use linux epoll success"); | 63 | srs_verbose("st_set_eventsys use linux epoll success"); |
| 64 | +#endif | ||
| 61 | 65 | ||
| 62 | if(st_init() != 0){ | 66 | if(st_init() != 0){ |
| 63 | ret = ERROR_ST_INITIALIZE; | 67 | ret = ERROR_ST_INITIALIZE; |
| @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 31 | // current release version | 31 | // current release version |
| 32 | #define VERSION_MAJOR 2 | 32 | #define VERSION_MAJOR 2 |
| 33 | #define VERSION_MINOR 0 | 33 | #define VERSION_MINOR 0 |
| 34 | -#define VERSION_REVISION 136 | 34 | +#define VERSION_REVISION 137 |
| 35 | 35 | ||
| 36 | // server info. | 36 | // server info. |
| 37 | #define RTMP_SIG_SRS_KEY "SRS" | 37 | #define RTMP_SIG_SRS_KEY "SRS" |
| @@ -437,7 +437,9 @@ u_int32_t srs_crc32(const void* buf, int size) | @@ -437,7 +437,9 @@ u_int32_t srs_crc32(const void* buf, int size) | ||
| 437 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 437 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| 438 | */ | 438 | */ |
| 439 | 439 | ||
| 440 | +#ifndef UINT_MAX | ||
| 440 | #define UINT_MAX 0xffffffff | 441 | #define UINT_MAX 0xffffffff |
| 442 | +#endif | ||
| 441 | 443 | ||
| 442 | #ifndef AV_RB32 | 444 | #ifndef AV_RB32 |
| 443 | # define AV_RB32(x) \ | 445 | # define AV_RB32(x) \ |
| @@ -177,6 +177,23 @@ void show_macro_features() | @@ -177,6 +177,23 @@ void show_macro_features() | ||
| 177 | 177 | ||
| 178 | void check_macro_features() | 178 | void check_macro_features() |
| 179 | { | 179 | { |
| 180 | + // important preset. | ||
| 181 | +#ifdef SRS_OSX | ||
| 182 | + srs_trace("SRS for OSX"); | ||
| 183 | +#endif | ||
| 184 | +#ifdef SRS_PI | ||
| 185 | + srs_trace("SRS for pi"); | ||
| 186 | +#endif | ||
| 187 | +#ifdef SRS_CUBIE | ||
| 188 | + srs_trace("SRS for cubieboard"); | ||
| 189 | +#endif | ||
| 190 | +#ifdef SRS_ARM_UBUNTU12 | ||
| 191 | + srs_trace("SRS for arm(build on ubuntu)"); | ||
| 192 | +#endif | ||
| 193 | +#ifdef SRS_MIPS_UBUNTU12 | ||
| 194 | + srs_trace("SRS for mips(build on ubuntu)"); | ||
| 195 | +#endif | ||
| 196 | + | ||
| 180 | // for special features. | 197 | // for special features. |
| 181 | #ifndef SRS_PERF_MERGED_READ | 198 | #ifndef SRS_PERF_MERGED_READ |
| 182 | srs_warn("MR(merged-read) is disabled, hurts read performance. @see %s", RTMP_SIG_SRS_ISSUES(241)); | 199 | 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) | @@ -252,8 +269,8 @@ int main(int argc, char** argv) | ||
| 252 | srs_trace("conf: %s, limit: %d", _srs_config->config().c_str(), _srs_config->get_max_connections()); | 269 | srs_trace("conf: %s, limit: %d", _srs_config->config().c_str(), _srs_config->get_max_connections()); |
| 253 | 270 | ||
| 254 | // features | 271 | // features |
| 255 | - show_macro_features(); | ||
| 256 | check_macro_features(); | 272 | check_macro_features(); |
| 273 | + show_macro_features(); | ||
| 257 | 274 | ||
| 258 | /** | 275 | /** |
| 259 | * we do nothing in the constructor of server, | 276 | * we do nothing in the constructor of server, |
| @@ -73,7 +73,7 @@ namespace _srs_internal | @@ -73,7 +73,7 @@ namespace _srs_internal | ||
| 73 | int __openssl_HMACsha256(HMAC_CTX* ctx, const void* data, int data_size, void* digest, unsigned int* digest_size) | 73 | int __openssl_HMACsha256(HMAC_CTX* ctx, const void* data, int data_size, void* digest, unsigned int* digest_size) |
| 74 | { | 74 | { |
| 75 | int ret = ERROR_SUCCESS; | 75 | int ret = ERROR_SUCCESS; |
| 76 | - | 76 | +#ifndef SRS_OSX |
| 77 | if (HMAC_Update(ctx, (unsigned char *) data, data_size) < 0) { | 77 | if (HMAC_Update(ctx, (unsigned char *) data, data_size) < 0) { |
| 78 | ret = ERROR_OpenSslSha256Update; | 78 | ret = ERROR_OpenSslSha256Update; |
| 79 | return ret; | 79 | return ret; |
| @@ -83,6 +83,10 @@ namespace _srs_internal | @@ -83,6 +83,10 @@ namespace _srs_internal | ||
| 83 | ret = ERROR_OpenSslSha256Final; | 83 | ret = ERROR_OpenSslSha256Final; |
| 84 | return ret; | 84 | return ret; |
| 85 | } | 85 | } |
| 86 | +#else | ||
| 87 | + HMAC_Update(ctx, (unsigned char *) data, data_size); | ||
| 88 | + HMAC_Final(ctx, (unsigned char *) digest, digest_size); | ||
| 89 | +#endif | ||
| 86 | 90 | ||
| 87 | return ret; | 91 | return ret; |
| 88 | } | 92 | } |
| @@ -117,10 +121,14 @@ namespace _srs_internal | @@ -117,10 +121,14 @@ namespace _srs_internal | ||
| 117 | // for instance, in python, hashlib.sha256(data).digest(). | 121 | // for instance, in python, hashlib.sha256(data).digest(). |
| 118 | HMAC_CTX_init(&ctx); | 122 | HMAC_CTX_init(&ctx); |
| 119 | 123 | ||
| 124 | +#ifndef SRS_OSX | ||
| 120 | if (HMAC_Init_ex(&ctx, __key, key_size, EVP_sha256(), NULL) < 0) { | 125 | if (HMAC_Init_ex(&ctx, __key, key_size, EVP_sha256(), NULL) < 0) { |
| 121 | ret = ERROR_OpenSslSha256Init; | 126 | ret = ERROR_OpenSslSha256Init; |
| 122 | return ret; | 127 | return ret; |
| 123 | } | 128 | } |
| 129 | +#else | ||
| 130 | + HMAC_Init_ex(&ctx, __key, key_size, EVP_sha256(), NULL); | ||
| 131 | +#endif | ||
| 124 | 132 | ||
| 125 | ret = __openssl_HMACsha256(&ctx, data, data_size, __digest, &digest_size); | 133 | ret = __openssl_HMACsha256(&ctx, data, data_size, __digest, &digest_size); |
| 126 | HMAC_CTX_cleanup(&ctx); | 134 | HMAC_CTX_cleanup(&ctx); |
-
请 注册 或 登录 后发表评论