comparison src/http/modules/ngx_http_mp4_module.c @ 4282:71cdac0b9ea6

Fix of "Content-Length" header of MP4 response if start argument was used. Patch by Piotr Sikora.
author Igor Sysoev <igor@sysoev.ru>
date Mon, 14 Nov 2011 14:42:48 +0000
parents a12c558503f0
children 05f3174483de
comparison
equal deleted inserted replaced
4281:3a3a2d767ecd 4282:71cdac0b9ea6
1064 uint64_t atom_size; 1064 uint64_t atom_size;
1065 ngx_buf_t *atom; 1065 ngx_buf_t *atom;
1066 1066
1067 atom_data_size = mp4->mdat_data.buf->file_last - start_offset; 1067 atom_data_size = mp4->mdat_data.buf->file_last - start_offset;
1068 mp4->mdat_data.buf->file_pos = start_offset; 1068 mp4->mdat_data.buf->file_pos = start_offset;
1069 mp4->content_length += atom_data_size;
1070 1069
1071 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0, 1070 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0,
1072 "mdat new offset @%O:%O", start_offset, atom_data_size); 1071 "mdat new offset @%O:%O", start_offset, atom_data_size);
1073 1072
1074 atom_header = mp4->mdat_atom_header; 1073 atom_header = mp4->mdat_atom_header;
1080 sizeof(ngx_mp4_atom_header64_t) + atom_data_size); 1079 sizeof(ngx_mp4_atom_header64_t) + atom_data_size);
1081 } else { 1080 } else {
1082 atom_size = sizeof(ngx_mp4_atom_header_t) + atom_data_size; 1081 atom_size = sizeof(ngx_mp4_atom_header_t) + atom_data_size;
1083 atom_header_size = sizeof(ngx_mp4_atom_header_t); 1082 atom_header_size = sizeof(ngx_mp4_atom_header_t);
1084 } 1083 }
1084
1085 mp4->content_length += atom_header_size + atom_data_size;
1085 1086
1086 ngx_mp4_set_32value(atom_header, atom_size); 1087 ngx_mp4_set_32value(atom_header, atom_size);
1087 ngx_mp4_set_atom_name(atom_header, 'm', 'd', 'a', 't'); 1088 ngx_mp4_set_atom_name(atom_header, 'm', 'd', 'a', 't');
1088 1089
1089 atom = &mp4->mdat_atom_buf; 1090 atom = &mp4->mdat_atom_buf;