[nginx] Mp4: fixed seeking to a track end.

Roman Arutyunyan arut at nginx.com
Mon Mar 31 15:54:20 UTC 2014


details:   http://hg.nginx.org/nginx/rev/c7bbc5fcf27c
branches:  
changeset: 5629:c7bbc5fcf27c
user:      Roman Arutyunyan <arut at nginx.com>
date:      Mon Mar 31 19:52:17 2014 +0400
description:
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.

diffstat:

 src/http/modules/ngx_http_mp4_module.c |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diffs (21 lines):

diff -r a24f88eff684 -r c7bbc5fcf27c src/http/modules/ngx_http_mp4_module.c
--- a/src/http/modules/ngx_http_mp4_module.c	Fri Mar 28 20:22:57 2014 +0400
+++ b/src/http/modules/ngx_http_mp4_module.c	Mon Mar 31 19:52:17 2014 +0400
@@ -1507,7 +1507,7 @@ ngx_http_mp4_read_tkhd_atom(ngx_http_mp4
 
     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,
                        "tkhd duration is less than start time");
         return NGX_DECLINED;
@@ -1668,7 +1668,7 @@ ngx_http_mp4_read_mdhd_atom(ngx_http_mp4
 
     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,
                        "mdhd duration is less than start time");
         return NGX_DECLINED;



More information about the nginx-devel mailing list