mirror of
https://github.com/nginx/nginx.git
synced 2024-12-12 02:09:04 +08:00
Mp4: fixed seeking to a track end.
When "start" value is equal to a track duration the request fails with "time is out mp4 stts" like it did before track duration check was added. Now such tracks are considered short and skipped.
This commit is contained in:
parent
ac5a3cbeee
commit
70e98eac3e
@ -1507,7 +1507,7 @@ ngx_http_mp4_read_tkhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size)
|
|||||||
|
|
||||||
start_time = (uint64_t) mp4->start * mp4->timescale / 1000;
|
start_time = (uint64_t) mp4->start * mp4->timescale / 1000;
|
||||||
|
|
||||||
if (duration < start_time) {
|
if (duration <= start_time) {
|
||||||
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0,
|
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0,
|
||||||
"tkhd duration is less than start time");
|
"tkhd duration is less than start time");
|
||||||
return NGX_DECLINED;
|
return NGX_DECLINED;
|
||||||
@ -1668,7 +1668,7 @@ ngx_http_mp4_read_mdhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size)
|
|||||||
|
|
||||||
start_time = (uint64_t) mp4->start * timescale / 1000;
|
start_time = (uint64_t) mp4->start * timescale / 1000;
|
||||||
|
|
||||||
if (duration < start_time) {
|
if (duration <= start_time) {
|
||||||
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0,
|
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0,
|
||||||
"mdhd duration is less than start time");
|
"mdhd duration is less than start time");
|
||||||
return NGX_DECLINED;
|
return NGX_DECLINED;
|
||||||
|
Loading…
Reference in New Issue
Block a user