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

refine the http remux for http flv stream.

This commit is contained in:
winlin 2015-05-03 23:34:59 +08:00
parent f0c24eeacc
commit 022b6aa561
12 changed files with 133 additions and 31 deletions

View file

@ -106,6 +106,8 @@ std::string srs_listener_type2string(SrsListenerType type)
return "MPEG-TS over UDP";
case SrsListenerRtsp:
return "RTSP";
case SrsListenerFlv:
return "HTTP-FLV";
default:
return "UNKONWN";
}
@ -238,8 +240,8 @@ SrsHttpFlvListener::SrsHttpFlvListener(SrsServer* server, SrsListenerType type,
// the caller already ensure the type is ok,
// we just assert here for unknown stream caster.
srs_assert(_type == SrsListenerRtsp);
if (_type == SrsListenerRtsp) {
srs_assert(_type == SrsListenerFlv);
if (_type == SrsListenerFlv) {
caster = new SrsAppCasterFlv(c);
}
}
@ -256,11 +258,15 @@ int SrsHttpFlvListener::listen(string ip, int port)
// the caller already ensure the type is ok,
// we just assert here for unknown stream caster.
srs_assert(_type == SrsListenerRtsp);
srs_assert(_type == SrsListenerFlv);
_ip = ip;
_port = port;
if ((ret = caster->initialize()) != ERROR_SUCCESS) {
return ret;
}
srs_freep(listener);
listener = new SrsTcpListener(this, ip, port);
@ -1157,7 +1163,7 @@ int SrsServer::accept_client(SrsListenerType type, st_netfd_t client_stfd)
#endif
} else if (type == SrsListenerHttpStream) {
#ifdef SRS_AUTO_HTTP_SERVER
conn = new SrsHttpConn(this, client_stfd, http_stream_mux);
conn = new SrsHttpConn(this, client_stfd, &http_stream_mux->mux);
#else
srs_warn("close http client for server not support http-server");
srs_close_stfd(client_stfd);