summaryrefslogtreecommitdiffstats
path: root/usr.sbin/nginx/src/http/modules/ngx_http_mp4_module.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/nginx/src/http/modules/ngx_http_mp4_module.c')
-rw-r--r--usr.sbin/nginx/src/http/modules/ngx_http_mp4_module.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/usr.sbin/nginx/src/http/modules/ngx_http_mp4_module.c b/usr.sbin/nginx/src/http/modules/ngx_http_mp4_module.c
index 3c9f88cfc57..816cc4c83ff 100644
--- a/usr.sbin/nginx/src/http/modules/ngx_http_mp4_module.c
+++ b/usr.sbin/nginx/src/http/modules/ngx_http_mp4_module.c
@@ -1,6 +1,7 @@
/*
* Copyright (C) Igor Sysoev
+ * Copyright (C) Nginx, Inc.
*/
#include <ngx_config.h>
@@ -165,10 +166,10 @@ typedef struct {
((u_char *) (p))[7] = n4
#define ngx_mp4_get_32value(p) \
- ( (((u_char *) (p))[0] << 24) \
- + (((u_char *) (p))[1] << 16) \
- + (((u_char *) (p))[2] << 8) \
- + (((u_char *) (p))[3]) )
+ ( ((uint32_t) ((u_char *) (p))[0] << 24) \
+ + ( ((u_char *) (p))[1] << 16) \
+ + ( ((u_char *) (p))[2] << 8) \
+ + ( ((u_char *) (p))[3]) )
#define ngx_mp4_set_32value(p, n) \
((u_char *) (p))[0] = (u_char) ((n) >> 24); \
@@ -2382,6 +2383,8 @@ found:
data->pos = (u_char *) entry;
atom_size = sizeof(ngx_mp4_stsc_atom_t) + (data->last - data->pos);
+ ngx_mp4_set_32value(entry->chunk, 1);
+
if (trak->chunk_samples) {
first = &trak->stsc_chunk_entry;