for #340, #343, add wiki and use srs string function, support hls_entry_prefix(h…
…ls base url). 2.0.142
正在显示
5 个修改的文件
包含
12 行增加
和
20 行删除
| @@ -532,7 +532,7 @@ vhost with-hls.srs.com { | @@ -532,7 +532,7 @@ vhost with-hls.srs.com { | ||
| 532 | # http://your-server/live/livestream-1.ts | 532 | # http://your-server/live/livestream-1.ts |
| 533 | # ... | 533 | # ... |
| 534 | # optional, default to empty string. | 534 | # optional, default to empty string. |
| 535 | - hls_entry_prefix http://your-server/; | 535 | + hls_entry_prefix http://your-server; |
| 536 | # the hls mount for hls_storage ram, | 536 | # the hls mount for hls_storage ram, |
| 537 | # which use srs embeded http server to delivery HLS, | 537 | # which use srs embeded http server to delivery HLS, |
| 538 | # where the mount specifies the HTTP url to mount. | 538 | # where the mount specifies the HTTP url to mount. |
| @@ -3152,17 +3152,7 @@ string SrsConfig::get_hls_entry_prefix(string vhost) | @@ -3152,17 +3152,7 @@ string SrsConfig::get_hls_entry_prefix(string vhost) | ||
| 3152 | return ""; | 3152 | return ""; |
| 3153 | } | 3153 | } |
| 3154 | 3154 | ||
| 3155 | - std::string prefix = conf->arg0(); | ||
| 3156 | - if (prefix.empty()) { | ||
| 3157 | - return ""; | ||
| 3158 | - } | ||
| 3159 | - | ||
| 3160 | - const char last = prefix[prefix.length() - 1]; | ||
| 3161 | - if (last != '/') { | ||
| 3162 | - return prefix.append("/"); | ||
| 3163 | - } | ||
| 3164 | - | ||
| 3165 | - return prefix; | 3155 | + return conf->arg0(); |
| 3166 | } | 3156 | } |
| 3167 | 3157 | ||
| 3168 | string SrsConfig::get_hls_path(string vhost) | 3158 | string SrsConfig::get_hls_path(string vhost) |
| @@ -203,14 +203,14 @@ int SrsHlsMuxer::sequence_no() | @@ -203,14 +203,14 @@ int SrsHlsMuxer::sequence_no() | ||
| 203 | return _sequence_no; | 203 | return _sequence_no; |
| 204 | } | 204 | } |
| 205 | 205 | ||
| 206 | -int SrsHlsMuxer::update_config(SrsRequest* r, string hls_entry_prefix, string path, int fragment, int window) | 206 | +int SrsHlsMuxer::update_config(SrsRequest* r, string entry_prefix, string path, int fragment, int window) |
| 207 | { | 207 | { |
| 208 | int ret = ERROR_SUCCESS; | 208 | int ret = ERROR_SUCCESS; |
| 209 | 209 | ||
| 210 | srs_freep(req); | 210 | srs_freep(req); |
| 211 | req = r->copy(); | 211 | req = r->copy(); |
| 212 | 212 | ||
| 213 | - entry_prefix = hls_entry_prefix; | 213 | + hls_entry_prefix = entry_prefix; |
| 214 | hls_path = path; | 214 | hls_path = path; |
| 215 | hls_fragment = fragment; | 215 | hls_fragment = fragment; |
| 216 | hls_window = window; | 216 | hls_window = window; |
| @@ -301,8 +301,10 @@ int SrsHlsMuxer::segment_open(int64_t segment_start_dts) | @@ -301,8 +301,10 @@ int SrsHlsMuxer::segment_open(int64_t segment_start_dts) | ||
| 301 | current->full_path += "/"; | 301 | current->full_path += "/"; |
| 302 | current->full_path += filename; | 302 | current->full_path += filename; |
| 303 | 303 | ||
| 304 | - // TODO: support base url, and so on. | ||
| 305 | - current->uri += entry_prefix; | 304 | + current->uri += hls_entry_prefix; |
| 305 | + if (!hls_entry_prefix.empty() && !srs_string_ends_with(hls_entry_prefix, "/")) { | ||
| 306 | + current->uri += "/"; | ||
| 307 | + } | ||
| 306 | current->uri += filename; | 308 | current->uri += filename; |
| 307 | 309 | ||
| 308 | std::string tmp_file = current->full_path + ".tmp"; | 310 | std::string tmp_file = current->full_path + ".tmp"; |
| @@ -167,7 +167,7 @@ class SrsHlsMuxer | @@ -167,7 +167,7 @@ class SrsHlsMuxer | ||
| 167 | private: | 167 | private: |
| 168 | SrsRequest* req; | 168 | SrsRequest* req; |
| 169 | private: | 169 | private: |
| 170 | - std::string entry_prefix; | 170 | + std::string hls_entry_prefix; |
| 171 | std::string hls_path; | 171 | std::string hls_path; |
| 172 | int hls_fragment; | 172 | int hls_fragment; |
| 173 | int hls_window; | 173 | int hls_window; |
| @@ -208,7 +208,7 @@ public: | @@ -208,7 +208,7 @@ public: | ||
| 208 | /** | 208 | /** |
| 209 | * when publish, update the config for muxer. | 209 | * when publish, update the config for muxer. |
| 210 | */ | 210 | */ |
| 211 | - virtual int update_config(SrsRequest* r, std::string hls_entry_prefix, std::string path, int fragment, int window); | 211 | + virtual int update_config(SrsRequest* r, std::string entry_prefix, std::string path, int fragment, int window); |
| 212 | /** | 212 | /** |
| 213 | * open a new segment(a new ts file), | 213 | * open a new segment(a new ts file), |
| 214 | * @param segment_start_dts use to calc the segment duration, | 214 | * @param segment_start_dts use to calc the segment duration, |
| @@ -29,9 +29,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -29,9 +29,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | // current release version | 31 | // current release version |
| 32 | -#define VERSION_MAJOR 3 | 32 | +#define VERSION_MAJOR 2 |
| 33 | #define VERSION_MINOR 0 | 33 | #define VERSION_MINOR 0 |
| 34 | -#define VERSION_REVISION 0 | 34 | +#define VERSION_REVISION 142 |
| 35 | 35 | ||
| 36 | // server info. | 36 | // server info. |
| 37 | #define RTMP_SIG_SRS_KEY "SRS" | 37 | #define RTMP_SIG_SRS_KEY "SRS" |
-
请 注册 或 登录 后发表评论