1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

srs-librtmp define interfaces

This commit is contained in:
winlin 2014-03-02 00:05:59 +08:00
parent 44375b9e6b
commit fc9e3fd890
13 changed files with 153 additions and 25 deletions

View file

@ -32,7 +32,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_core_st.hpp>
#include <srs_core_conn.hpp>
#include <srs_kernel_reload.hpp>
#include <srs_core_reload.hpp>
class SrsRtmp;
class SrsRequest;

View file

@ -32,7 +32,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <vector>
#include <string>
#include <srs_kernel_reload.hpp>
#include <srs_core_reload.hpp>
// default vhost for rtmp
#define RTMP_VHOST_DEFAULT "__defaultVhost__"

View file

@ -28,7 +28,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_kernel_log.hpp>
#include <srs_core_config.hpp>
#include <srs_kernel_reload.hpp>
#include <srs_core_reload.hpp>
#include <srs_kernel_error.hpp>
#define SRS_STAGE_DEFAULT_INTERVAL_MS 1200

View file

@ -21,7 +21,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#include <srs_kernel_reload.hpp>
#include <srs_core_reload.hpp>
using namespace std;

View file

@ -25,7 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define SRS_KERNEL_RELOAD_HPP
/*
#include <srs_kernel_reload.hpp>
#include <srs_core_reload.hpp>
*/
#include <srs_core.hpp>

View file

@ -33,7 +33,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <vector>
#include <srs_core_st.hpp>
#include <srs_kernel_reload.hpp>
#include <srs_core_reload.hpp>
#include <srs_core_thread.hpp>
class SrsServer;

View file

@ -35,7 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <string>
#include <srs_core_st.hpp>
#include <srs_kernel_reload.hpp>
#include <srs_core_reload.hpp>
class SrsSource;
class SrsCommonMessage;

View file

@ -25,6 +25,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <stdlib.h>
#include <string>
using namespace std;
#include <srs_kernel_error.hpp>
#include <srs_protocol_rtmp.hpp>
/**
@ -49,6 +53,7 @@ public:
*/
struct Context
{
std::string url;
SrsRtmpClient* rtmp;
SimpleSocketStream* stream;
int stream_id;
@ -68,8 +73,9 @@ struct Context
extern "C"{
#endif
srs_rtmp_t srs_rtmp_create(){
srs_rtmp_t srs_rtmp_create(const char* url){
Context* context = new Context();
context->url = url;
return context;
}
@ -79,6 +85,31 @@ void srs_rtmp_destroy(srs_rtmp_t rtmp){
srs_freep(context);
}
int srs_simple_handshake(srs_rtmp_t rtmp)
{
return ERROR_SUCCESS;
}
int srs_complex_handshake(srs_rtmp_t rtmp)
{
return ERROR_SUCCESS;
}
int srs_connect_app(srs_rtmp_t rtmp)
{
return ERROR_SUCCESS;
}
int srs_play_stream(srs_rtmp_t rtmp)
{
return ERROR_SUCCESS;
}
int srs_publish_stream(srs_rtmp_t rtmp)
{
return ERROR_SUCCESS;
}
int srs_version_major()
{
return ::atoi(VERSION_MAJOR);

View file

@ -36,15 +36,58 @@ extern "C"{
typedef void* srs_rtmp_t;
/**
* create a rtmp protocol stack.
* create/destroy a rtmp protocol stack.
* @url rtmp url, for example:
* rtmp://127.0.0.1/live/livestream
* @return a rtmp handler, or NULL if error occured.
*/
srs_rtmp_t srs_rtmp_create();
srs_rtmp_t srs_rtmp_create(const char* url);
void srs_rtmp_destroy(srs_rtmp_t rtmp);
/**
* close a rtmp protocl stack.
* handshake with server
* category: publish/play
* previous: rtmp-create
* next: connect-app
* @return 0, success; otherwise, failed.
*/
void srs_rtmp_destroy(srs_rtmp_t rtmp);
/**
* simple handshake specifies in rtmp 1.0,
* not depends on ssl.
*/
int srs_simple_handshake(srs_rtmp_t rtmp);
/**
* complex handshake is specified by adobe Flash player,
* depends on ssl, user must link libssl.a and libcrypt.a
*/
int srs_complex_handshake(srs_rtmp_t rtmp);
/**
* connect to rtmp vhost/app
* category: publish/play
* previous: handshake
* next: publish or play
* @return 0, success; otherwise, failed.
*/
int srs_connect_app(srs_rtmp_t rtmp);
/**
* play a live/vod stream.
* category: play
* previous: connect-app
* next: destroy
* @return 0, success; otherwise, failed.
*/
int srs_play_stream(srs_rtmp_t rtmp);
/**
* publish a live stream.
* category: publish
* previous: connect-app
* next: destroy
* @return 0, success; otherwise, failed.
*/
int srs_publish_stream(srs_rtmp_t rtmp);
/**
* get protocol stack version

View file

@ -19,8 +19,6 @@ file
..\kernel\srs_kernel_error.cpp,
..\kernel\srs_kernel_log.hpp,
..\kernel\srs_kernel_log.cpp,
..\kernel\srs_kernel_reload.hpp,
..\kernel\srs_kernel_reload.cpp,
..\kernel\srs_kernel_stream.hpp,
..\kernel\srs_kernel_stream.cpp,
rtmp-protocol readonly separator,
@ -59,6 +57,8 @@ file
..\app\srs_core_log.cpp,
..\app\srs_core_refer.hpp,
..\app\srs_core_refer.cpp,
..\app\srs_core_reload.hpp,
..\app\srs_core_reload.cpp,
..\app\srs_core_pithy_print.hpp,
..\app\srs_core_pithy_print.cpp,
..\app\srs_core_thread.hpp,