mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
refine hijack io for srslibrtmp
This commit is contained in:
parent
e8c48ac8f8
commit
7acc3aca16
6 changed files with 14 additions and 13 deletions
|
@ -21,8 +21,8 @@
|
|||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef SRS_KERNEL_AAC_HPP
|
||||
#define SRS_KERNEL_AAC_HPP
|
||||
#ifndef SRS_KERNEL_BALANCE_HPP
|
||||
#define SRS_KERNEL_BALANCE_HPP
|
||||
|
||||
/*
|
||||
#include <srs_kernel_balance.hpp>
|
||||
|
|
|
@ -102,7 +102,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
SrsBlockSyncSocket* skt = (SrsBlockSyncSocket*)ctx;
|
||||
srs_freep(skt);
|
||||
}
|
||||
int srs_hijack_io_create_socket(srs_hijack_io_t ctx)
|
||||
int srs_hijack_io_create_socket(srs_hijack_io_t ctx, srs_rtmp_t owner)
|
||||
{
|
||||
SrsBlockSyncSocket* skt = (SrsBlockSyncSocket*)ctx;
|
||||
|
||||
|
@ -329,10 +329,10 @@ srs_hijack_io_t SimpleSocketStream::hijack_io()
|
|||
return io;
|
||||
}
|
||||
|
||||
int SimpleSocketStream::create_socket()
|
||||
int SimpleSocketStream::create_socket(srs_rtmp_t owner)
|
||||
{
|
||||
srs_assert(io);
|
||||
return srs_hijack_io_create_socket(io);
|
||||
return srs_hijack_io_create_socket(io, owner);
|
||||
}
|
||||
|
||||
int SimpleSocketStream::connect(const char* server_ip, int port)
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
virtual ~SimpleSocketStream();
|
||||
public:
|
||||
virtual srs_hijack_io_t hijack_io();
|
||||
virtual int create_socket();
|
||||
virtual int create_socket(srs_rtmp_t owner);
|
||||
virtual int connect(const char* server, int port);
|
||||
// ISrsBufferReader
|
||||
public:
|
||||
|
|
|
@ -539,7 +539,7 @@ srs_rtmp_t srs_rtmp_create(const char* url)
|
|||
srs_freep(context->skt);
|
||||
context->skt = new SimpleSocketStream();
|
||||
|
||||
if (context->skt->create_socket() != ERROR_SUCCESS) {
|
||||
if (context->skt->create_socket(context) != ERROR_SUCCESS) {
|
||||
// free the context and return NULL
|
||||
srs_freep(context);
|
||||
return NULL;
|
||||
|
@ -561,7 +561,7 @@ srs_rtmp_t srs_rtmp_create2(const char* url)
|
|||
srs_freep(context->skt);
|
||||
context->skt = new SimpleSocketStream();
|
||||
|
||||
if (context->skt->create_socket() != ERROR_SUCCESS) {
|
||||
if (context->skt->create_socket(context) != ERROR_SUCCESS) {
|
||||
// free the context and return NULL
|
||||
srs_freep(context);
|
||||
return NULL;
|
||||
|
|
|
@ -992,7 +992,7 @@ typedef void* srs_hijack_io_t;
|
|||
extern srs_hijack_io_t srs_hijack_io_get(srs_rtmp_t rtmp);
|
||||
#endif
|
||||
// define the following macro and functions in your module to hijack the io.
|
||||
// the example @see https://github.com/winlinvip/st-load
|
||||
// the example @see https://github.com/ossrs/srs-bench
|
||||
// which use librtmp but use its own io(use st also).
|
||||
#ifdef SRS_HIJACK_IO
|
||||
/**
|
||||
|
@ -1006,9 +1006,10 @@ typedef void* srs_hijack_io_t;
|
|||
extern void srs_hijack_io_destroy(srs_hijack_io_t ctx);
|
||||
/**
|
||||
* create socket, not connect yet.
|
||||
* @param owner, the rtmp context which create this socket.
|
||||
* @return 0, success; otherswise, failed.
|
||||
*/
|
||||
extern int srs_hijack_io_create_socket(srs_hijack_io_t ctx);
|
||||
extern int srs_hijack_io_create_socket(srs_hijack_io_t ctx, srs_rtmp_t owner);
|
||||
/**
|
||||
* connect socket at server_ip:port.
|
||||
* @return 0, success; otherswise, failed.
|
||||
|
|
|
@ -29,6 +29,9 @@
|
|||
*/
|
||||
#include <srs_core.hpp>
|
||||
|
||||
// default http listen port.
|
||||
#define SRS_DEFAULT_HTTP_PORT 80
|
||||
|
||||
#if !defined(SRS_EXPORT_LIBRTMP)
|
||||
|
||||
#include <map>
|
||||
|
@ -68,9 +71,6 @@ class ISrsHttpResponseWriter;
|
|||
// for ead all of http body, read each time.
|
||||
#define SRS_HTTP_READ_CACHE_BYTES 4096
|
||||
|
||||
// default http listen port.
|
||||
#define SRS_DEFAULT_HTTP_PORT 80
|
||||
|
||||
// for http parser macros
|
||||
#define SRS_CONSTS_HTTP_OPTIONS HTTP_OPTIONS
|
||||
#define SRS_CONSTS_HTTP_GET HTTP_GET
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue