mirror of
https://github.com/nginx/nginx.git
synced 2024-12-11 17:59:00 +08:00
Mp4: skipped empty stss atom table in output.
The atom may have no data entries after cropping. This fixes "zero size buf in output" alerts.
This commit is contained in:
parent
effbf466aa
commit
2070abf516
@ -2273,16 +2273,21 @@ ngx_http_mp4_update_stss_atom(ngx_http_mp4_file_t *mp4,
|
|||||||
ngx_http_mp4_crop_stss_data(mp4, trak, 1);
|
ngx_http_mp4_crop_stss_data(mp4, trak, 1);
|
||||||
ngx_http_mp4_crop_stss_data(mp4, trak, 0);
|
ngx_http_mp4_crop_stss_data(mp4, trak, 0);
|
||||||
|
|
||||||
entry = (uint32_t *) data->pos;
|
if (trak->sync_samples_entries) {
|
||||||
end = (uint32_t *) data->last;
|
entry = (uint32_t *) data->pos;
|
||||||
|
end = (uint32_t *) data->last;
|
||||||
|
|
||||||
start_sample = trak->start_sample;
|
start_sample = trak->start_sample;
|
||||||
|
|
||||||
while (entry < end) {
|
while (entry < end) {
|
||||||
sample = ngx_mp4_get_32value(entry);
|
sample = ngx_mp4_get_32value(entry);
|
||||||
sample -= start_sample;
|
sample -= start_sample;
|
||||||
ngx_mp4_set_32value(entry, sample);
|
ngx_mp4_set_32value(entry, sample);
|
||||||
entry++;
|
entry++;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
trak->out[NGX_HTTP_MP4_STSS_DATA].buf = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
atom_size = sizeof(ngx_http_mp4_stss_atom_t) + (data->last - data->pos);
|
atom_size = sizeof(ngx_http_mp4_stss_atom_t) + (data->last - data->pos);
|
||||||
|
Loading…
Reference in New Issue
Block a user