[IDE] Support CLion and cmake to build and debug SRS. 4.0.141

1. Remove all except JetBrains clion by cmake
2. Add .run/srs.run.xml for debugging for CLion.
3. Auto configure SRS when load CMakeLists.txt
pull/2486/head
winlin 4 years ago
parent 3182dee1c5
commit c209e547a8

@ -0,0 +1,7 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="srs" type="CMakeRunConfiguration" factoryName="Application" PROGRAM_PARAMS="-c conf/clion.conf" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" WORKING_DIR="file://$CMakeCurrentBuildDir$/../../../" PASS_PARENT_ENVS_2="true" PROJECT_NAME="srs" TARGET_NAME="srs" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="srs" RUN_TARGET_NAME="srs">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
</component>

@ -6,6 +6,7 @@ The changelog for SRS.
## SRS 4.0 Changelog
* v4.0, 2021-07-16, Support [CLion and cmake](https://github.com/ossrs/srs/wiki/v4_CN_IDE#clion) to build and debug SRS. 4.0.141
* v4.0, 2021-07-08, For [#2403](https://github.com/ossrs/srs/issues/2403), fix padding packets for RTMP2RTC. 4.0.140
* v4.0, 2021-07-04, For [#2424](https://github.com/ossrs/srs/issues/2424), use srandom/random to generate. 4.0.139
* v4.0, 2021-07-01, Merge [#2452](https://github.com/ossrs/srs/pull/2452), fix FFmpeg bug by updating channel_layout. 4.0.138

1
trunk/.gitignore vendored

@ -49,4 +49,5 @@ bug
/research/thread-model/thread-local
*.gcp
*.svg
cmake-build-debug

@ -0,0 +1,41 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
# Listen at udp://8000
listen 8000;
#
# The $CANDIDATE means fetch from env, if not configed, use * as default.
#
# The * means retrieving server IP automatically, from all network interfaces,
# @see https://github.com/ossrs/srs/wiki/v4_CN_RTCWiki#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}

@ -1,5 +0,0 @@
提供了各种ide。
1. UPP添加Assembly时路径指向ide即可譬如\\dev\winlin\srs\ide
2015.3 winlin

@ -1,6 +1,34 @@
cmake_minimum_required(VERSION 2.6.4)
cmake_minimum_required(VERSION 2.8.12)
project(srs CXX)
###########################################################
# Start to configure SRS with jobs of number of CPUs.
include(ProcessorCount)
ProcessorCount(JOBS)
set(DEPS_LIBS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a
${PROJECT_SOURCE_DIR}/../../objs/openssl/lib/libssl.a
${PROJECT_SOURCE_DIR}/../../objs/openssl/lib/libcrypto.a
${PROJECT_SOURCE_DIR}/../../objs/srtp2/lib/libsrtp2.a
${PROJECT_SOURCE_DIR}/../../objs/opus/lib/libopus.a
${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libavutil.a
${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libavcodec.a
${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libswresample.a)
foreach(DEPS_LIB ${DEPS_LIBS})
IF (NOT EXISTS ${DEPS_LIB})
MESSAGE("${DEPS_LIB} not found")
IF (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
EXEC_PROGRAM("cd ../../.. && ./configure --osx --jobs=${JOBS}")
ELSE ()
EXEC_PROGRAM("cd ../../.. && ./configure --jobs=${JOBS}")
ENDIF ()
ELSE ()
MESSAGE("${DEPS_LIB} is ok")
ENDIF ()
endforeach()
###########################################################
# Setup SRS project
INCLUDE_DIRECTORIES(../../objs
../../objs/st
../../objs/hp
@ -19,31 +47,13 @@ AUX_SOURCE_DIRECTORY(../../src/core SOURCE_FILES)
AUX_SOURCE_DIRECTORY(../../src/kernel SOURCE_FILES)
AUX_SOURCE_DIRECTORY(../../src/protocol SOURCE_FILES)
AUX_SOURCE_DIRECTORY(../../src/app SOURCE_FILES)
AUX_SOURCE_DIRECTORY(../../src/service SOURCE_FILES)
ADD_DEFINITIONS("-g -O0")
ADD_EXECUTABLE(srs ${SOURCE_FILES})
TARGET_LINK_LIBRARIES(srs dl)
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/openssl/lib/libssl.a)
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/openssl/lib/libcrypto.a)
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/srtp2/lib/libsrtp2.a)
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/opus/lib/libopus.a)
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libavutil.a)
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libavcodec.a)
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libswresample.a)
TARGET_LINK_LIBRARIES(srs ${DEPS_LIBS})
TARGET_LINK_LIBRARIES(srs -ldl)
IF (NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
MESSAGE("srs_libs not found")
EXEC_PROGRAM("cd .. && ./configure")
ELSE (NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
MESSAGE("srs_libs is ok")
ENDIF (NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/ossrs/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/ossrs/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/ossrs/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "use ./configure && make, @see https://github.com/ossrs/srs#usage")
MESSAGE(STATUS "@see https://github.com/ossrs/srs/wiki/v4_CN_IDE")

@ -1,35 +0,0 @@
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
HEADERS += \
../../src/core/*.hpp \
../../src/kernel/*.hpp \
../../src/app/*.hpp \
../../src/protocol/*.hpp
SOURCES += \
../../src/core/*.cpp \
../../src/kernel/*.cpp \
../../src/app/*.cpp \
../../src/protocol/*.cpp \
../../src/main/*.cpp
INCLUDEPATH += \
../../src/core \
../../src/kernel \
../../src/app \
../../src/protocol \
../../objs \
../../objs/st \
../../objs/hp \
../../objs/openssl/include
LIBS += \
../../objs/st/libst.a \
../../objs/hp/libhttp_parser.a \
../../objs/openssl/lib/libssl.a \
../../objs/openssl/lib/libcrypto.a \
-ldl

@ -1,263 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.1.1, 2015-03-05T20:44:44. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{fdda5a74-8ef6-4e67-b28c-c5be6c667578}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/winlin/git/ossrs/trunk/ide/build-srs-qt-Desktop-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/winlin/git/ossrs/trunk/ide/build-srs-qt-Desktop-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">srs-qt</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/winlin/git/ossrs/trunk/ide/srs_qt/srs-qt.pro</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">srs-qt.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">true</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
<value type="QByteArray">{67c55164-ec8b-40af-90ff-d8b0b02de43a}</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">15</value>
</data>
</qtcreator>

@ -1,3 +0,0 @@
#ifndef _ide_srs_upp_icpp_init_stub
#define _ide_srs_upp_icpp_init_stub
#endif

@ -1,163 +0,0 @@
file
main readonly separator,
../../src/main/srs_main_server.cpp,
../../src/main/srs_main_ingest_hls.cpp,
auto readonly separator,
../../objs/srs_auto_headers.hpp,
core readonly separator,
../../src/core/srs_core.hpp,
../../src/core/srs_core.cpp,
../../src/core/srs_core_autofree.hpp,
../../src/core/srs_core_autofree.cpp,
../../src/core/srs_core_performance.hpp,
../../src/core/srs_core_performance.cpp,
kernel readonly separator,
../../src/kernel/srs_kernel_aac.hpp,
../../src/kernel/srs_kernel_aac.cpp,
../../src/kernel/srs_kernel_balance.hpp,
../../src/kernel/srs_kernel_balance.cpp,
../../src/kernel/srs_kernel_stream.hpp,
../../src/kernel/srs_kernel_stream.cpp,
../../src/kernel/srs_kernel_codec.hpp,
../../src/kernel/srs_kernel_codec.cpp,
../../src/kernel/srs_kernel_consts.hpp,
../../src/kernel/srs_kernel_consts.cpp,
../../src/kernel/srs_kernel_error.hpp,
../../src/kernel/srs_kernel_error.cpp,
../../src/kernel/srs_kernel_file.hpp,
../../src/kernel/srs_kernel_file.cpp,
../../src/kernel/srs_kernel_flv.hpp,
../../src/kernel/srs_kernel_flv.cpp,
../../src/kernel/srs_kernel_log.hpp,
../../src/kernel/srs_kernel_log.cpp,
../../src/kernel/srs_kernel_mp3.hpp,
../../src/kernel/srs_kernel_mp3.cpp,
../../src/kernel/srs_rtsp_stack.hpp,
../../src/kernel/srs_rtsp_stack.cpp,
../../src/kernel/srs_kernel_buffer.hpp,
../../src/kernel/srs_kernel_buffer.cpp,
../../src/kernel/srs_kernel_ts.cpp,
../../src/kernel/srs_kernel_ts.hpp,
../../src/kernel/srs_kernel_utility.hpp,
../../src/kernel/srs_kernel_utility.cpp,
protocol readonly separator,
../../src/protocol/srs_http_stack.hpp,
../../src/protocol/srs_http_stack.cpp,
../../src/protocol/srs_kafka_stack.hpp,
../../src/protocol/srs_kafka_stack.cpp,
../../src/protocol/srs_protocol_kbps.hpp,
../../src/protocol/srs_protocol_kbps.cpp,
../../src/protocol/srs_raw_avc.hpp,
../../src/protocol/srs_raw_avc.cpp,
../../src/protocol/srs_protocol_amf0.hpp,
../../src/protocol/srs_protocol_amf0.cpp,
../../src/protocol/srs_protocol_stream.hpp,
../../src/protocol/srs_protocol_stream.cpp,
../../src/protocol/srs_protocol_json.hpp,
../../src/protocol/srs_protocol_json.cpp,
../../src/protocol/srs_rtmp_handshake.hpp,
../../src/protocol/srs_rtmp_handshake.cpp,
../../src/protocol/srs_protocol_io.hpp,
../../src/protocol/srs_protocol_io.cpp,
../../src/protocol/srs_rtmp_msg_array.hpp,
../../src/protocol/srs_rtmp_msg_array.cpp,
../../src/protocol/srs_rtmp_stack.hpp,
../../src/protocol/srs_rtmp_stack.cpp,
../../src/protocol/srs_protocol_utility.hpp,
../../src/protocol/srs_protocol_utility.cpp,
app readonly separator,
../../src/app/srs_app_async_call.hpp,
../../src/app/srs_app_async_call.cpp,
../../src/app/srs_app_bandwidth.hpp,
../../src/app/srs_app_bandwidth.cpp,
../../src/app/srs_app_caster_flv.hpp,
../../src/app/srs_app_caster_flv.cpp,
../../src/app/srs_app_conn.hpp,
../../src/app/srs_app_conn.cpp,
../../src/app/srs_app_config.hpp,
../../src/app/srs_app_config.cpp,
../../src/app/srs_app_dvr.hpp,
../../src/app/srs_app_dvr.cpp,
../../src/app/srs_app_edge.hpp,
../../src/app/srs_app_edge.cpp,
../../src/app/srs_app_empty.hpp,
../../src/app/srs_app_empty.cpp,
../../src/app/srs_app_encoder.hpp,
../../src/app/srs_app_encoder.cpp,
../../src/app/srs_app_ffmpeg.hpp,
../../src/app/srs_app_ffmpeg.cpp,
../../src/app/srs_app_forward.hpp,
../../src/app/srs_app_forward.cpp,
../../src/app/srs_app_heartbeat.hpp,
../../src/app/srs_app_heartbeat.cpp,
../../src/app/srs_app_hls.hpp,
../../src/app/srs_app_hls.cpp,
../../src/app/srs_app_http_api.hpp,
../../src/app/srs_app_http_api.cpp,
../../src/app/srs_app_http_client.hpp,
../../src/app/srs_app_http_client.cpp,
../../src/app/srs_app_http_conn.hpp,
../../src/app/srs_app_http_conn.cpp,
../../src/app/srs_app_http_hooks.hpp,
../../src/app/srs_app_http_hooks.cpp,
../../src/app/srs_app_http_stream.hpp,
../../src/app/srs_app_http_stream.cpp,
../../src/app/srs_app_http_static.hpp,
../../src/app/srs_app_http_static.cpp,
../../src/app/srs_app_ingest.hpp,
../../src/app/srs_app_ingest.cpp,
../../src/app/srs_app_kafka.hpp,
../../src/app/srs_app_kafka.cpp,
../../src/app/srs_app_listener.hpp,
../../src/app/srs_app_listener.cpp,
../../src/app/srs_app_log.hpp,
../../src/app/srs_app_log.cpp,
../../src/app/srs_app_mpegts_udp.hpp,
../../src/app/srs_app_mpegts_udp.cpp,
../../src/app/srs_app_ng_exec.hpp,
../../src/app/srs_app_ng_exec.cpp,
../../src/app/srs_app_process.hpp,
../../src/app/srs_app_process.cpp,
../../src/app/srs_app_recv_thread.hpp,
../../src/app/srs_app_recv_thread.cpp,
../../src/app/srs_app_refer.hpp,
../../src/app/srs_app_refer.cpp,
../../src/app/srs_app_reload.hpp,
../../src/app/srs_app_reload.cpp,
../../src/app/srs_app_rtmp_conn.hpp,
../../src/app/srs_app_rtmp_conn.cpp,
../../src/app/srs_app_rtsp.hpp,
../../src/app/srs_app_rtsp.cpp,
../../src/app/srs_app_pithy_print.hpp,
../../src/app/srs_app_pithy_print.cpp,
../../src/app/srs_app_security.hpp,
../../src/app/srs_app_security.cpp,
../../src/app/srs_app_server.hpp,
../../src/app/srs_app_server.cpp,
../../src/app/srs_app_st.hpp,
../../src/app/srs_app_st.cpp,
../../src/app/srs_app_statistic.hpp,
../../src/app/srs_app_statistic.cpp,
../../src/app/srs_app_source.hpp,
../../src/app/srs_app_source.cpp,
../../src/app/srs_app_utility.hpp,
../../src/app/srs_app_utility.cpp,
utest readonly separator,
../../src/utest/srs_utest.hpp,
../../src/utest/srs_utest.cpp,
../../src/utest/srs_utest_amf0.hpp,
../../src/utest/srs_utest_amf0.cpp,
../../src/utest/srs_utest_config.hpp,
../../src/utest/srs_utest_config.cpp,
../../src/utest/srs_utest_core.hpp,
../../src/utest/srs_utest_core.cpp,
../../src/utest/srs_utest_kernel.hpp,
../../src/utest/srs_utest_kernel.cpp,
../../src/utest/srs_utest_protocol.hpp,
../../src/utest/srs_utest_protocol.cpp,
../../src/utest/srs_utest_reload.hpp,
../../src/utest/srs_utest_reload.cpp;
mainconfig
"" = "MAIN";

@ -1,18 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "srs", "srs.vcxproj", "{74591348-C63A-4E00-B85E-62A9D8544F6F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{74591348-C63A-4E00-B85E-62A9D8544F6F}.Debug|Win32.ActiveCfg = Debug|Win32
{74591348-C63A-4E00-B85E-62A9D8544F6F}.Release|Win32.ActiveCfg = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

@ -1,199 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{74591348-C63A-4E00-B85E-62A9D8544F6F}</ProjectGuid>
<RootNamespace>srs</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IncludePath>$(ProjectDir)/../../src/core;$(ProjectDir)/../../src/kernel;$(ProjectDir)/../../src/protocol;$(ProjectDir)/../../src/app;$(ProjectDir)/../../src/libs;$(ProjectDir)/../../objs;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\objs\srs_auto_headers.hpp" />
<ClInclude Include="..\..\src\app\srs_app_bandwidth.hpp" />
<ClInclude Include="..\..\src\app\srs_app_config.hpp" />
<ClInclude Include="..\..\src\app\srs_app_conn.hpp" />
<ClInclude Include="..\..\src\app\srs_app_dvr.hpp" />
<ClInclude Include="..\..\src\app\srs_app_edge.hpp" />
<ClInclude Include="..\..\src\app\srs_app_empty.hpp" />
<ClInclude Include="..\..\src\app\srs_app_encoder.hpp" />
<ClInclude Include="..\..\src\app\srs_app_ffmpeg.hpp" />
<ClInclude Include="..\..\src\app\srs_app_forward.hpp" />
<ClInclude Include="..\..\src\app\srs_app_heartbeat.hpp" />
<ClInclude Include="..\..\src\app\srs_app_hls.hpp" />
<ClInclude Include="..\..\src\app\srs_app_http_api.hpp" />
<ClInclude Include="..\..\src\app\srs_app_http_client.hpp" />
<ClInclude Include="..\..\src\app\srs_app_http_conn.hpp" />
<ClInclude Include="..\..\src\app\srs_app_http_static.hpp" />
<ClInclude Include="..\..\src\app\srs_app_http_stream.hpp" />
<ClInclude Include="..\..\src\app\srs_app_http_hooks.hpp" />
<ClInclude Include="..\..\src\app\srs_app_ingest.hpp" />
<ClInclude Include="..\..\src\app\srs_app_json.hpp" />
<ClInclude Include="..\..\src\app\srs_app_listener.hpp" />
<ClInclude Include="..\..\src\app\srs_app_log.hpp" />
<ClInclude Include="..\..\src\app\srs_app_mpegts_udp.hpp" />
<ClInclude Include="..\..\src\app\srs_app_caster_flv.hpp" />
<ClInclude Include="..\..\src\app\srs_app_pithy_print.hpp" />
<ClInclude Include="..\..\src\app\srs_app_recv_thread.hpp" />
<ClInclude Include="..\..\src\app\srs_app_refer.hpp" />
<ClInclude Include="..\..\src\app\srs_app_reload.hpp" />
<ClInclude Include="..\..\src\app\srs_app_rtmp_conn.hpp" />
<ClInclude Include="..\..\src\app\srs_app_rtsp.hpp" />
<ClInclude Include="..\..\src\app\srs_app_security.hpp" />
<ClInclude Include="..\..\src\app\srs_app_server.hpp" />
<ClInclude Include="..\..\src\app\srs_app_source.hpp" />
<ClInclude Include="..\..\src\app\srs_app_st.hpp" />
<ClInclude Include="..\..\src\app\srs_app_statistic.hpp" />
<ClInclude Include="..\..\src\app\srs_app_thread.hpp" />
<ClInclude Include="..\..\src\app\srs_app_utility.hpp" />
<ClInclude Include="..\..\src\core\srs_core.hpp" />
<ClInclude Include="..\..\src\core\srs_core_autofree.hpp" />
<ClInclude Include="..\..\src\core\srs_core_performance.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_aac.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_avc.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_stream.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_codec.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_consts.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_error.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_file.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_flv.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_log.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_mp3.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_buffer.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_ts.hpp" />
<ClInclude Include="..\..\src\kernel\srs_kernel_utility.hpp" />
<ClInclude Include="..\..\src\protocol\srs_http_stack.hpp" />
<ClInclude Include="..\..\src\protocol\srs_raw_avc.hpp" />
<ClInclude Include="..\..\src\protocol\srs_protocol_amf0.hpp" />
<ClInclude Include="..\..\src\protocol\srs_protocol_stream.hpp" />
<ClInclude Include="..\..\src\protocol\srs_rtmp_handshake.hpp" />
<ClInclude Include="..\..\src\protocol\srs_protocol_io.hpp" />
<ClInclude Include="..\..\src\protocol\srs_rtmp_msg_array.hpp" />
<ClInclude Include="..\..\src\protocol\srs_rtmp_stack.hpp" />
<ClInclude Include="..\..\src\protocol\srs_protocol_utility.hpp" />
<ClInclude Include="..\..\src\protocol\srs_rtsp_stack.hpp" />
<ClInclude Include="..\..\src\protocol\srs_protocol_kbps.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\app\srs_app_bandwidth.cpp" />
<ClCompile Include="..\..\src\app\srs_app_config.cpp" />
<ClCompile Include="..\..\src\app\srs_app_conn.cpp" />
<ClCompile Include="..\..\src\app\srs_app_dvr.cpp" />
<ClCompile Include="..\..\src\app\srs_app_edge.cpp" />
<ClCompile Include="..\..\src\app\srs_app_empty.cpp" />
<ClCompile Include="..\..\src\app\srs_app_encoder.cpp" />
<ClCompile Include="..\..\src\app\srs_app_ffmpeg.cpp" />
<ClCompile Include="..\..\src\app\srs_app_forward.cpp" />
<ClCompile Include="..\..\src\app\srs_app_heartbeat.cpp" />
<ClCompile Include="..\..\src\app\srs_app_hls.cpp" />
<ClCompile Include="..\..\src\app\srs_app_http_api.cpp" />
<ClCompile Include="..\..\src\app\srs_app_http_client.cpp" />
<ClCompile Include="..\..\src\app\srs_app_http_conn.cpp" />
<ClCompile Include="..\..\src\app\srs_app_http_static.cpp" />
<ClCompile Include="..\..\src\app\srs_app_http_stream.cpp" />
<ClCompile Include="..\..\src\app\srs_app_http_hooks.cpp" />
<ClCompile Include="..\..\src\app\srs_app_ingest.cpp" />
<ClCompile Include="..\..\src\app\srs_app_json.cpp" />
<ClCompile Include="..\..\src\app\srs_app_listener.cpp" />
<ClCompile Include="..\..\src\app\srs_app_log.cpp" />
<ClCompile Include="..\..\src\app\srs_app_mpegts_udp.cpp" />
<ClCompile Include="..\..\src\app\srs_app_caster_flv.cpp" />
<ClCompile Include="..\..\src\app\srs_app_pithy_print.cpp" />
<ClCompile Include="..\..\src\app\srs_app_recv_thread.cpp" />
<ClCompile Include="..\..\src\app\srs_app_refer.cpp" />
<ClCompile Include="..\..\src\app\srs_app_reload.cpp" />
<ClCompile Include="..\..\src\app\srs_app_rtmp_conn.cpp" />
<ClCompile Include="..\..\src\app\srs_app_rtsp.cpp" />
<ClCompile Include="..\..\src\app\srs_app_security.cpp" />
<ClCompile Include="..\..\src\app\srs_app_server.cpp" />
<ClCompile Include="..\..\src\app\srs_app_source.cpp" />
<ClCompile Include="..\..\src\app\srs_app_st.cpp" />
<ClCompile Include="..\..\src\app\srs_app_statistic.cpp" />
<ClCompile Include="..\..\src\app\srs_app_thread.cpp" />
<ClCompile Include="..\..\src\app\srs_app_utility.cpp" />
<ClCompile Include="..\..\src\core\srs_core.cpp" />
<ClCompile Include="..\..\src\core\srs_core_autofree.cpp" />
<ClCompile Include="..\..\src\core\srs_core_performance.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_aac.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_avc.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_stream.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_codec.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_consts.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_error.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_file.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_flv.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_log.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_mp3.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_buffer.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_ts.cpp" />
<ClCompile Include="..\..\src\kernel\srs_kernel_utility.cpp" />
<ClCompile Include="..\..\src\main\srs_main_server.cpp" />
<ClCompile Include="..\..\src\protocol\srs_http_stack.cpp" />
<ClCompile Include="..\..\src\protocol\srs_raw_avc.cpp" />
<ClCompile Include="..\..\src\protocol\srs_protocol_amf0.cpp" />
<ClCompile Include="..\..\src\protocol\srs_protocol_stream.cpp" />
<ClCompile Include="..\..\src\protocol\srs_rtmp_handshake.cpp" />
<ClCompile Include="..\..\src\protocol\srs_protocol_io.cpp" />
<ClCompile Include="..\..\src\protocol\srs_rtmp_msg_array.cpp" />
<ClCompile Include="..\..\src\protocol\srs_rtmp_stack.cpp" />
<ClCompile Include="..\..\src\protocol\srs_protocol_utility.cpp" />
<ClCompile Include="..\..\src\protocol\srs_rtsp_stack.cpp" />
<ClCompile Include="..\..\src\protocol\srs_protocol_kbps.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

@ -1,384 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\..\src\app\srs_app_http.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_bandwidth.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_config.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_conn.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_dvr.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_edge.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_empty.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_encoder.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_ffmpeg.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_forward.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_heartbeat.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_hls.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_pithy_print.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_http_api.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_http_client.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_http_conn.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_http_static.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_http_stream.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_http_hooks.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_ingest.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_json.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_kbps.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_log.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_recv_thread.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_refer.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_reload.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_rtmp_conn.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_security.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_server.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_source.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_st.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_statistic.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_thread.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_utility.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\core\srs_core.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\core\srs_core_autofree.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\core\srs_core_performance.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_aac.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\main\srs_main_server.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_codec.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_consts.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_error.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_file.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_flv.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_log.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_mp3.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_buffer.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_utility.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_ts.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_avc.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kernel\srs_kernel_stream.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\protocol\srs_protocol_amf0.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\protocol\srs_rtmp_buffer.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\protocol\srs_rtmp_handshake.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\protocol\srs_protocol_io.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\protocol\srs_rtmp_msg_array.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\protocol\srs_rtmp_stack.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\protocol\srs_protocol_utility.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_mpegts_udp.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\protocol\srs_raw_avc.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_rtsp.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\protocol\srs_rtsp_stack.cpp">
<Filter>srs</Filter>
</ClCompile>
<ClCompile Include="..\..\src\app\srs_app_listener.cpp">
<Filter>srs</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\app\srs_app_bandwidth.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_config.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_conn.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_dvr.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_edge.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_empty.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_encoder.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_ffmpeg.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_forward.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_heartbeat.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_hls.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_http.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_http_api.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_http_client.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_http_conn.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_http_hooks.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_ingest.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_json.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_kbps.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_log.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_pithy_print.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\core\srs_core_performance.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_recv_thread.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_refer.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_reload.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_rtmp_conn.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_security.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_server.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_source.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_st.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_statistic.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_thread.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_utility.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\objs\srs_auto_headers.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\core\srs_core.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\core\srs_core_autofree.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_aac.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_codec.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_consts.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_error.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_file.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_flv.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_log.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_mp3.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_buffer.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_utility.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_ts.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_avc.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kernel\srs_kernel_stream.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\protocol\srs_protocol_amf0.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\protocol\srs_rtmp_buffer.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\protocol\srs_rtmp_handshake.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\protocol\srs_protocol_io.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\protocol\srs_rtmp_msg_array.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\protocol\srs_rtmp_stack.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\protocol\srs_protocol_utility.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_mpegts_udp.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\protocol\srs_raw_avc.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_rtsp.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\protocol\srs_rtsp_stack.hpp">
<Filter>srs</Filter>
</ClInclude>
<ClInclude Include="..\..\src\app\srs_app_listener.hpp">
<Filter>srs</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="srs">
<UniqueIdentifier>{0919b792-be75-49ed-b15a-2dc521e8394f}</UniqueIdentifier>
</Filter>
</ItemGroup>
</Project>

File diff suppressed because it is too large Load Diff

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:srs_xcode.xcodeproj">
</FileRef>
</Workspace>

@ -1 +0,0 @@
the xcode project for osx.

@ -9,6 +9,6 @@
#define VERSION_MAJOR 4
#define VERSION_MINOR 0
#define VERSION_REVISION 140
#define VERSION_REVISION 141
#endif

Loading…
Cancel
Save