mp4 module
Igor Sysoev
igor на sysoev.ru
Чт Сен 29 13:21:30 UTC 2011
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
-------------- next part --------------
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