Mercurial > hg > nginx
comparison src/http/modules/ngx_http_mp4_module.c @ 5097:37671d0042b7
Mp4: fixed handling of too small mdat atoms (ticket #266).
Patch by Gernot Vormayr (with minor changes).
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 04 Mar 2013 15:39:03 +0000 |
parents | 49d65c9364fc |
children | 322434f13bd8 |
comparison
equal
deleted
inserted
replaced
5096:63014d919fec | 5097:37671d0042b7 |
---|---|
752 ngx_mp4_set_atom_name(mp4->moov_atom_header, 'm', 'o', 'o', 'v'); | 752 ngx_mp4_set_atom_name(mp4->moov_atom_header, 'm', 'o', 'o', 'v'); |
753 mp4->content_length += mp4->moov_size; | 753 mp4->content_length += mp4->moov_size; |
754 | 754 |
755 *prev = &mp4->mdat_atom; | 755 *prev = &mp4->mdat_atom; |
756 | 756 |
757 if (start_offset > mp4->mdat_data.buf->file_last) { | |
758 ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, | |
759 "start time is out mp4 mdat atom in \"%s\"", | |
760 mp4->file.name.data); | |
761 return NGX_ERROR; | |
762 } | |
763 | |
757 adjustment = mp4->ftyp_size + mp4->moov_size | 764 adjustment = mp4->ftyp_size + mp4->moov_size |
758 + ngx_http_mp4_update_mdat_atom(mp4, start_offset) | 765 + ngx_http_mp4_update_mdat_atom(mp4, start_offset) |
759 - start_offset; | 766 - start_offset; |
760 | 767 |
761 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0, | 768 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0, |