ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mp4 module



On Wed, Sep 28, 2011 at 05:46:40AM -0400, arty777 wrote:
> Пришлось откатиться обратно .... а так
> хочется нативный модуль под высокой
> нагрузкой поюзать :) 
> 
> в общем бы хотелось получить
> адекватную реакцию на 
> http://fs1.uakino.net/video/10607.mp4?start=3774.2915999998888888888888888888

А какие плееры настолько неадекватны ?
Прилагаемый патч увеличивает число цифр после запятой до 4.


-- 
Игорь Сысоев
http://sysoev.ru
Index: src/http/modules/ngx_http_mp4_module.c
===================================================================
--- src/http/modules/ngx_http_mp4_module.c      (revision 4155)
+++ src/http/modules/ngx_http_mp4_module.c      (working copy)
@@ -499,7 +499,7 @@
 
         if (ngx_http_arg(r, (u_char *) "start", 5, &value) == NGX_OK) {
 
-            start = ngx_atofp(value.data, value.len, 3);
+            start = ngx_atofp(value.data, value.len, 4);
 
             if (start != NGX_ERROR) {
                 r->allow_ranges = 0;
@@ -1168,7 +1168,7 @@
                    "mvhd timescale:%uD, duration:%uL, time:%.3fs",
                    timescale, duration, (double) duration / timescale);
 
-    duration -= (uint64_t) mp4->start * timescale / 1000;
+    duration -= (uint64_t) mp4->start * timescale / 10000;
 
     ngx_log_debug2(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0,
                    "mvhd new duration:%uL, time:%.3fs",
@@ -1341,7 +1341,7 @@
                    "tkhd duration:%uL, time:%.3fs",
                    duration, (double) duration / mp4->timescale);
 
-    duration -= (uint64_t) mp4->start * mp4->timescale / 1000;
+    duration -= (uint64_t) mp4->start * mp4->timescale / 10000;
 
     ngx_log_debug2(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0,
                    "tkhd new duration:%uL, time:%.3fs",
@@ -1472,7 +1472,7 @@
                    "mdhd timescale:%uD, duration:%uL, time:%.3fs",
                    timescale, duration, (double) duration / timescale);
 
-    duration -= (uint64_t) mp4->start * timescale / 1000;
+    duration -= (uint64_t) mp4->start * timescale / 10000;
 
     ngx_log_debug2(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0,
                    "mdhd new duration:%uL, time:%.3fs",
@@ -1875,7 +1875,7 @@
     }
 
     entries = trak->time_to_sample_entries;
-    start_time = mp4->start * trak->timescale / 1000;
+    start_time = mp4->start * trak->timescale / 10000;
 
     ngx_log_debug1(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0,
                    "time-to-sample start_time:%uL", start_time);
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.