diff --git a/trunk/doc/hls-m3u8-draft-pantos-http-live-streaming-12.pdf b/trunk/doc/hls-m3u8-draft-pantos-http-live-streaming-12.pdf new file mode 100644 index 000000000..f1290a891 Binary files /dev/null and b/trunk/doc/hls-m3u8-draft-pantos-http-live-streaming-12.pdf differ diff --git a/trunk/src/app/srs_app_hls.cpp b/trunk/src/app/srs_app_hls.cpp index a7e0e0836..d7efc2b05 100644 --- a/trunk/src/app/srs_app_hls.cpp +++ b/trunk/src/app/srs_app_hls.cpp @@ -564,7 +564,7 @@ int SrsHlsMuxer::_refresh_m3u8(string m3u8_file) // "#EXTINF:4294967295.208,\n" char ext_info[25]; // 14+10+1 - len = snprintf(ext_info, sizeof(ext_info), "#EXTINF:%.3f\n", segment->duration); + len = snprintf(ext_info, sizeof(ext_info), "#EXTINF:%.3f,\n", segment->duration); if ((ret = writer.write(ext_info, len, NULL)) != ERROR_SUCCESS) { srs_error("write m3u8 segment info failed. ret=%d", ret); return ret; diff --git a/trunk/src/app/srs_app_http.cpp b/trunk/src/app/srs_app_http.cpp index 6282fad46..ea3158c29 100644 --- a/trunk/src/app/srs_app_http.cpp +++ b/trunk/src/app/srs_app_http.cpp @@ -56,7 +56,7 @@ using namespace std; int srs_go_http_response_json(ISrsGoHttpResponseWriter* w, string data) { w->header()->set_content_length(data.length()); - w->header()->set_content_type("application/json;charset=utf-8"); + w->header()->set_content_type("application/json"); return w->write((char*)data.data(), data.length()); } @@ -344,17 +344,18 @@ int SrsGoHttpFileServer::serve_file(ISrsGoHttpResponseWriter* w, SrsHttpMessage* _mime[".mp3"] = "audio/mpeg"; _mime[".m4a"] = "audio/x-m4a"; _mime[".ogg"] = "audio/ogg"; - _mime[".m3u8"] = "application/x-mpegURL;charset=utf-8"; + // @see hls-m3u8-draft-pantos-http-live-streaming-12.pdf, page 5. + _mime[".m3u8"] = "application/vnd.apple.mpegurl"; // application/x-mpegURL _mime[".rss"] = "application/rss+xml"; - _mime[".json"] = "application/json;charset=utf-8"; + _mime[".json"] = "application/json"; _mime[".swf"] = "application/x-shockwave-flash"; _mime[".doc"] = "application/msword"; _mime[".zip"] = "application/zip"; _mime[".rar"] = "application/x-rar-compressed"; - _mime[".xml"] = "text/xml;charset=utf-8"; - _mime[".html"] = "text/html;charset=utf-8"; + _mime[".xml"] = "text/xml"; + _mime[".html"] = "text/html"; _mime[".js"] = "text/javascript"; - _mime[".css"] = "text/css;charset=utf-8"; + _mime[".css"] = "text/css"; _mime[".ico"] = "image/x-icon"; _mime[".png"] = "image/png"; _mime[".jpeg"] = "image/jpeg";