winlin

Merge branch '2.0release' of github.com:winlinvip/simple-rtmp-server into 2.0release

... ... @@ -965,7 +965,7 @@ int SrsHttpServer::hls_update_m3u8(SrsRequest* r, string m3u8)
{
int ret = ERROR_SUCCESS;
std::string mount = m3u8;
std::string mount;
std::string sid = r->get_stream_url();
SrsHlsEntry* entry = NULL;
... ... @@ -980,8 +980,17 @@ int SrsHttpServer::hls_update_m3u8(SrsRequest* r, string m3u8)
SrsHlsEntry* tmpl = thls[r->vhost];
entry = new SrsHlsEntry();
entry->mount = tmpl->mount;
mount = tmpl->mount;
// replace the vhost variable
mount = srs_string_replace(mount, "[vhost]", r->vhost);
mount = srs_string_replace(mount, "[app]", r->app);
mount = srs_string_replace(mount, "[stream]", r->stream);
// remove the default vhost mount
mount = srs_string_replace(mount, SRS_CONSTS_RTMP_DEFAULT_VHOST"/", "/");
entry->mount = mount;
shls[sid] = entry;
if (entry->streams.find(mount) == entry->streams.end()) {
... ... @@ -997,6 +1006,8 @@ int SrsHttpServer::hls_update_m3u8(SrsRequest* r, string m3u8)
entry = shls[sid];
}
mount = entry->mount;
// update the m3u8 stream.
SrsHlsM3u8Stream* hms = dynamic_cast<SrsHlsM3u8Stream*>(entry->streams[mount]);
if (hms) {
... ...