|
|
|
@ -42,7 +42,7 @@ class SrsFlvDecoder;
|
|
|
|
|
class SrsTcpClient;
|
|
|
|
|
class SrsSimpleRtmpClient;
|
|
|
|
|
|
|
|
|
|
#include <srs_app_st.hpp>
|
|
|
|
|
#include <srs_app_thread.hpp>
|
|
|
|
|
#include <srs_app_listener.hpp>
|
|
|
|
|
#include <srs_app_conn.hpp>
|
|
|
|
|
#include <srs_app_http_conn.hpp>
|
|
|
|
@ -52,24 +52,25 @@ class SrsSimpleRtmpClient;
|
|
|
|
|
* the stream caster for flv stream over HTTP POST.
|
|
|
|
|
*/
|
|
|
|
|
class SrsAppCasterFlv : virtual public ISrsTcpHandler
|
|
|
|
|
, virtual public IConnectionManager, virtual public ISrsHttpHandler
|
|
|
|
|
, virtual public IConnectionManager, virtual public ISrsHttpHandler
|
|
|
|
|
{
|
|
|
|
|
private:
|
|
|
|
|
std::string output;
|
|
|
|
|
SrsHttpServeMux* http_mux;
|
|
|
|
|
std::vector<SrsHttpConn*> conns;
|
|
|
|
|
SrsCoroutineManager* manager;
|
|
|
|
|
public:
|
|
|
|
|
SrsAppCasterFlv(SrsConfDirective* c);
|
|
|
|
|
virtual ~SrsAppCasterFlv();
|
|
|
|
|
public:
|
|
|
|
|
virtual int initialize();
|
|
|
|
|
// ISrsTcpHandler
|
|
|
|
|
// ISrsTcpHandler
|
|
|
|
|
public:
|
|
|
|
|
virtual int on_tcp_client(st_netfd_t stfd);
|
|
|
|
|
// IConnectionManager
|
|
|
|
|
// IConnectionManager
|
|
|
|
|
public:
|
|
|
|
|
virtual void remove(ISrsConnection* c);
|
|
|
|
|
// ISrsHttpHandler
|
|
|
|
|
// ISrsHttpHandler
|
|
|
|
|
public:
|
|
|
|
|
virtual int serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r);
|
|
|
|
|
};
|
|
|
|
|