From 9389670657e36ee4871fa69d7b10d8a1c4aeadf1 Mon Sep 17 00:00:00 2001 From: Roman Arutyunyan Date: Tue, 11 Jun 2013 22:07:58 +0400 Subject: [PATCH] added type casts to hls --- hls/ngx_rtmp_hls_module.c | 14 ++++++++------ hls/ngx_rtmp_mpegts.c | 40 +++++++++++++++++++-------------------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/hls/ngx_rtmp_hls_module.c b/hls/ngx_rtmp_hls_module.c index 52f1f79..afd244f 100644 --- a/hls/ngx_rtmp_hls_module.c +++ b/hls/ngx_rtmp_hls_module.c @@ -378,7 +378,7 @@ retry: for (i = 0; i < ctx->nfrags; i++) { f = ngx_rtmp_hls_get_frag(s, i); if (f->duration > max_frag) { - max_frag = f->duration + .5; + max_frag = (ngx_uint_t) (f->duration + .5); } } @@ -812,7 +812,8 @@ ngx_rtmp_hls_restore_stream(ngx_rtmp_session_t *s) if (ngx_memcmp(p, NGX_RTMP_MSEQ, NGX_RTMP_MSEQ_LEN) == 0) { - ctx->frag = strtod((const char *) &p[NGX_RTMP_MSEQ_LEN], NULL); + ctx->frag = (uint64_t) strtod((const char *) + &p[NGX_RTMP_MSEQ_LEN], NULL); ngx_log_debug1(NGX_LOG_DEBUG_RTMP, s->connection->log, 0, "hls: restore sequence frag=%uL", ctx->frag); @@ -1328,10 +1329,11 @@ ngx_rtmp_hls_audio(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h, p[0] = 0xff; p[1] = 0xf1; - p[2] = ((objtype - 1) << 6) | (srindex << 2) | ((chconf & 0x04) >> 2); - p[3] = ((chconf & 0x03) << 6) | ((size >> 11) & 0x03); - p[4] = (size >> 3); - p[5] = (size << 5) | 0x1f; + p[2] = (u_char) (((objtype - 1) << 6) | (srindex << 2) | + ((chconf & 0x04) >> 2)); + p[3] = (u_char) (((chconf & 0x03) << 6) | ((size >> 11) & 0x03)); + p[4] = (u_char) (size >> 3); + p[5] = (u_char) ((size << 5) | 0x1f); p[6] = 0xfc; if (p != b->start) { diff --git a/hls/ngx_rtmp_mpegts.c b/hls/ngx_rtmp_mpegts.c index af2f4e8..a2106fc 100644 --- a/hls/ngx_rtmp_mpegts.c +++ b/hls/ngx_rtmp_mpegts.c @@ -89,11 +89,11 @@ ngx_rtmp_mpegts_write_header(ngx_file_t *file) static u_char * ngx_rtmp_mpegts_write_pcr(u_char *p, uint64_t pcr) { - *p++ = pcr >> 25; - *p++ = pcr >> 17; - *p++ = pcr >> 9; - *p++ = pcr >> 1; - *p++ = pcr << 7 | 0x7e; + *p++ = (u_char) (pcr >> 25); + *p++ = (u_char) (pcr >> 17); + *p++ = (u_char) (pcr >> 9); + *p++ = (u_char) (pcr >> 1); + *p++ = (u_char) (pcr << 7 | 0x7e); *p++ = 0; return p; @@ -106,15 +106,15 @@ ngx_rtmp_mpegts_write_pts(u_char *p, ngx_uint_t fb, uint64_t pts) ngx_uint_t val; val = fb << 4 | (((pts >> 30) & 0x07) << 1) | 1; - *p++ = val; - + *p++ = (u_char) val; + val = (((pts >> 15) & 0x7fff) << 1) | 1; - *p++ = val >> 8; - *p++ = val; + *p++ = (u_char) (val >> 8); + *p++ = (u_char) val; val = (((pts) & 0x7fff) << 1) | 1; - *p++ = val >> 8; - *p++ = val; + *p++ = (u_char) (val >> 8); + *p++ = (u_char) val; return p; } @@ -142,13 +142,13 @@ ngx_rtmp_mpegts_write_frame(ngx_file_t *file, ngx_rtmp_mpegts_frame_t *f, f->cc++; *p++ = 0x47; - *p++ = (f->pid >> 8); + *p++ = (u_char) (f->pid >> 8); if (first) { p[-1] |= 0x40; } - *p++ = f->pid; + *p++ = (u_char) f->pid; *p++ = 0x10 | (f->cc & 0x0f); /* payload */ if (first) { @@ -167,7 +167,7 @@ ngx_rtmp_mpegts_write_frame(ngx_file_t *file, ngx_rtmp_mpegts_frame_t *f, *p++ = 0x00; *p++ = 0x00; *p++ = 0x01; - *p++ = f->sid; + *p++ = (u_char) f->sid; header_size = 5; flags = 0x80; /* PTS */ @@ -182,11 +182,11 @@ ngx_rtmp_mpegts_write_frame(ngx_file_t *file, ngx_rtmp_mpegts_frame_t *f, pes_size = 0; } - *p++ = (pes_size >> 8); - *p++ = pes_size; + *p++ = (u_char) (pes_size >> 8); + *p++ = (u_char) pes_size; *p++ = 0x80; /* H222 */ - *p++ = flags; - *p++ = header_size; + *p++ = (u_char) flags; + *p++ = (u_char) header_size; p = ngx_rtmp_mpegts_write_pts(p, flags >> 6, f->pts + NGX_RTMP_HLS_DELAY); @@ -216,7 +216,7 @@ ngx_rtmp_mpegts_write_frame(ngx_file_t *file, ngx_rtmp_mpegts_frame_t *f, base = &packet[5] + packet[4]; p = ngx_movemem(base + stuff_size, base, p - base); ngx_memset(base, 0xff, stuff_size); - packet[4] += stuff_size; + packet[4] += (u_char) stuff_size; } else { @@ -226,7 +226,7 @@ ngx_rtmp_mpegts_write_frame(ngx_file_t *file, ngx_rtmp_mpegts_frame_t *f, p = ngx_movemem(&packet[4] + stuff_size, &packet[4], p - &packet[4]); - packet[4] = stuff_size - 1; + packet[4] = (u_char) (stuff_size - 1); if (stuff_size >= 2) { packet[5] = 0; ngx_memset(&packet[6], 0xff, stuff_size - 2);