Welcome! Log In Create A New Profile

Advanced

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

November 07, 2011 09:50AM
On Sat, Nov 05, 2011 at 12:50:35PM +0400, Igor Sysoev wrote:
> On Fri, Nov 04, 2011 at 11:09:02PM +0200, Андрей Василишин wrote:
> > 04.11.2011 22:35, bsyomov пишет:
> > > Аналогичная ситуация, при включённом aio
> > > одновременно с mp4 nginx 1.1.6 с http_mp4_module,
> > > проблема решается отключением aio.
> > > Кстати, ровно та же проблема
> > > наблюдалась и с nginx_mod_h264_streaming от
> > > http://h264.code-shop.com
> >
> > Посмотрел свой уже работающий конфиг, таки да, собрал нгинкс с
> > nginx_mod_h264_streaming и отключил аио.
>
> Скорее всего, используется open_file_cache. Должно помочь, если
> его выключить:
>
> location ~ \.mp4 {
> open_file_cache off;
> ...

Патч.


--
Igor Sysoev
Index: src/http/modules/ngx_http_mp4_module.c
===================================================================
--- src/http/modules/ngx_http_mp4_module.c (revision 4264)
+++ src/http/modules/ngx_http_mp4_module.c (working copy)
@@ -434,7 +434,7 @@
ngx_memzero(&of, sizeof(ngx_open_file_info_t));

of.read_ahead = clcf->read_ahead;
- of.directio = NGX_MAX_OFF_T_VALUE;
+ of.directio = clcf->directio;
of.valid = clcf->open_file_cache_valid;
of.min_uses = clcf->open_file_cache_min_uses;
of.errors = clcf->open_file_cache_errors;
@@ -554,25 +554,6 @@

log->action = "sending mp4 to client";

- if (clcf->directio <= of.size) {
-
- /*
- * DIRECTIO is set on transfer only
- * to allow kernel to cache "moov" atom
- */
-
- if (ngx_directio_on(of.fd) == NGX_FILE_ERROR) {
- ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
- ngx_directio_on_n " \"%s\" failed", path.data);
- }
-
- of.is_directio = 1;
-
- if (mp4) {
- mp4->file.directio = 1;
- }
- }
-
r->headers_out.status = NGX_HTTP_OK;
r->headers_out.last_modified_time = of.mtime;

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Андрей Василишин October 06, 2011 11:52AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

bsyomov November 04, 2011 04:35PM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Андрей Василишин November 04, 2011 05:10PM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Igor Sysoev November 05, 2011 04:52AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Igor Sysoev November 07, 2011 09:50AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Shold April 03, 2014 07:00AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Maxim Dounin April 03, 2014 07:48AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

denis April 03, 2014 08:14AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Shold April 03, 2014 08:24AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Андрей Василишин April 03, 2014 08:28AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Shold April 03, 2014 11:06AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Андрей Василишин April 03, 2014 02:50PM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

denis April 03, 2014 08:42AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Андрей Василишин April 03, 2014 08:50AM

Re: Модуль mp4: 500 Internal Server, pread() failed (22: Invalid argument),

Shold April 03, 2014 11:10AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 304
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready