Files
haikuports/media-libs/libdvbpsi/patches/libdvbpsi-1.2.0.patchset

3468 lines
132 KiB
Plaintext

From b421e7d24f52770fcc1d742b1214e28e89d4711b Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Tue, 9 Sep 2014 16:24:20 +0000
Subject: Haiku patch
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 87e5918..e3555d3 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -34,7 +34,7 @@ if HAVE_SYS_SOCKET_H
decode_mpeg_SOURCES += connect.c connect.h
endif
decode_mpeg_CPPFLAGS = -D_FILE_OFFSET_BITS=64 -DDVBPSI_DIST
-decode_mpeg_LDFLAGS = -L../src -ldvbpsi -lm
+decode_mpeg_LDFLAGS = -L../src -ldvbpsi -lnetwork
decode_bat_SOURCES = decode_bat.c
decode_bat_CPPFLAGS = -DDVBPSI_DIST
diff --git a/examples/decode_mpeg.c b/examples/decode_mpeg.c
index 3583f61..93143d6 100644
--- a/examples/decode_mpeg.c
+++ b/examples/decode_mpeg.c
@@ -31,6 +31,7 @@
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
+#include <strings.h>
#include <errno.h>
#include <sys/types.h>
#ifdef HAVE_SYS_TIME_H
diff --git a/examples/dvbinfo/Makefile.am b/examples/dvbinfo/Makefile.am
index b878676..0a2e76c 100644
--- a/examples/dvbinfo/Makefile.am
+++ b/examples/dvbinfo/Makefile.am
@@ -7,5 +7,5 @@ if HAVE_SYS_SOCKET_H
dvbinfo_SOURCES += tcp.c tcp.h udp.c udp.h
endif
dvbinfo_CPPFLAGS = -D_FILE_OFFSET_BITS=64 -DDVBPSI_DIST
-dvbinfo_LDFLAGS = -L../../src -ldvbpsi -pthread -lm
+dvbinfo_LDFLAGS = -L../../src -ldvbpsi -lnetwork -lbsd
--
2.7.0
From 423146367a8d732cbc8275a141ed8789a86ca67c Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Fri, 12 Sep 2014 11:04:58 +0200
Subject: gcc2 fixes.
diff --git a/configure.ac b/configure.ac
index 2a97e5b..96ec091 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ dnl store CFLAGS from user
CFLAGS_save="${CFLAGS}"
dnl add features to CFLAGS
-CFLAGS_dist="-Wall -Werror --std=gnu99 -D_GNU_SOURCE"
+CFLAGS_dist="-Wall --std=gnu9x -D_GNU_SOURCE"
CFLAGS_dist="${CFLAGS_dist} -Wpointer-arith -Wcast-align -Wcast-qual -Wstrict-prototypes -Wshadow -Waggregate-return -Wmissing-prototypes -Wnested-externs -Wsign-compare"
dnl check the operating system
diff --git a/examples/check_cc_pid.c b/examples/check_cc_pid.c
index cdf3181..935eb4b 100644
--- a/examples/check_cc_pid.c
+++ b/examples/check_cc_pid.c
@@ -33,35 +33,39 @@ static inline uint32_t ts_getpid(uint8_t *packet)
int main(int argc, char *argv[])
{
+ char* fname;
+ uint32_t tpid;
+ int file;
+ int32_t s = 188; /* COULD ALSO BE 192 */
+ uint8_t p[188] = { 0 };
+ int64_t n = 0;
+ size_t len = 0;
+ uint32_t tcc = 0;
if (argc != 3) {
printf("Usage: check_cc_pid <filename> <pid>\n");
return -1;
}
/* Get arguments */
- char *fname = argv[1];
- uint32_t tpid = atoi(argv[2]); /* PID to track */
+ fname = argv[1];
+ tpid = atoi(argv[2]); /* PID to track */
- int file = open(fname, O_RDONLY | O_NONBLOCK);
+ file = open(fname, O_RDONLY | O_NONBLOCK);
if (file < 0) {
perror(argv[1]);
printf("error opening %s\n", argv[1]);
return -1;
}
- int32_t s = 188; /* COULD ALSO BE 192 */
- uint8_t p[188] = { 0 };
- int64_t n = 0;
- size_t len = 0;
- uint32_t tcc = 0;
for (;;) {
+ uint32_t pid,cc;
/* slow read */
len = read(file, &p[0], s);
if (len == 0)
break;
- uint32_t pid = ts_getpid(&p[0]);
- uint32_t cc = ts_getcc(&p[0]);
+ pid = ts_getpid(&p[0]);
+ cc = ts_getcc(&p[0]);
n++;
tcc = cc;
if (pid == tpid)
diff --git a/examples/decode_mpeg.c b/examples/decode_mpeg.c
index 93143d6..8ff5416 100644
--- a/examples/decode_mpeg.c
+++ b/examples/decode_mpeg.c
@@ -252,14 +252,14 @@ static void report_PCRPacketTiming( int i_cc, ts_pid_t *ts_pid,
#endif
{
mtime_t i_delta = 0;
+ mtime_t time_current;
+ mtime_t tv_delta;
+ struct timeval tv;
/* sequence number and program_id */
printf( "%.2d %d ", i_cc, ts_pid->i_pid );
#ifdef HAVE_GETTIMEOFDAY
- mtime_t time_current;
- mtime_t tv_delta;
- struct timeval tv;
/* arrival time of packet */
gettimeofday( &tv, NULL );
diff --git a/examples/dump_pids.c b/examples/dump_pids.c
index e23598d..743e58c 100644
--- a/examples/dump_pids.c
+++ b/examples/dump_pids.c
@@ -34,24 +34,25 @@ static inline uint32_t ts_getpid(uint8_t *packet)
int main(int argc, char *argv[])
{
int file = open(argv[1], O_RDONLY | O_NONBLOCK);
+ int32_t s = 188; /* COULD ALSO BE 192 */
+ uint8_t p[188] = { 0 };
+ int64_t n = 0;
+ size_t len = 0;
if (file < 0) {
perror(argv[1]);
printf("error opening %s\n", argv[1]);
return -1;
}
- int32_t s = 188; /* COULD ALSO BE 192 */
- uint8_t p[188] = { 0 };
- int64_t n = 0;
- size_t len = 0;
for (;;) {
+ uint32_t pid,cc;
/* slow read */
len = read(file, &p[0], s);
if (len == 0)
break;
- uint32_t pid = ts_getpid(&p[0]);
- uint32_t cc = ts_getcc(&p[0]);
+ pid = ts_getpid(&p[0]);
+ cc = ts_getcc(&p[0]);
n++;
printf("packet %"PRId64", pid %u (0x%x), cc %d\n", n, pid, pid, cc );
}
diff --git a/examples/dvbinfo/buffer.c b/examples/dvbinfo/buffer.c
index 3d4b9c0..92acdff 100644
--- a/examples/dvbinfo/buffer.c
+++ b/examples/dvbinfo/buffer.c
@@ -86,11 +86,12 @@ fifo_t *fifo_new(void)
void fifo_free(fifo_t *fifo)
{
+ buffer_t* p;
if (fifo == NULL)
return;
pthread_mutex_lock(&fifo->lock);
- buffer_t *p = fifo->p_first;
+ p = fifo->p_first;
if (p != NULL)
{
fifo->i_count = 0;
@@ -126,16 +127,18 @@ void fifo_wake(fifo_t *fifo)
ssize_t fifo_count(fifo_t *fifo)
{
+ ssize_t count;
pthread_mutex_lock(&fifo->lock);
- ssize_t count = fifo->i_count;
+ count = fifo->i_count;
pthread_mutex_unlock(&fifo->lock);
return count;
}
size_t fifo_size(fifo_t *fifo)
{
+ size_t size;
pthread_mutex_lock(&fifo->lock);
- size_t size = fifo->i_size;
+ size = fifo->i_size;
pthread_mutex_unlock(&fifo->lock);
return size;
}
diff --git a/examples/dvbinfo/dvbinfo.c b/examples/dvbinfo/dvbinfo.c
index 0db5b4a..5153f05 100644
--- a/examples/dvbinfo/dvbinfo.c
+++ b/examples/dvbinfo/dvbinfo.c
@@ -154,6 +154,7 @@ static void libdvbpsi_log(void *data, const int level, const char *format, ...)
int err = 0;
char *msg = NULL;
va_list ap;
+ params_t *param = (params_t *)data;
/* Get arguments and construct final message */
va_start(ap, format);
@@ -169,7 +170,6 @@ static void libdvbpsi_log(void *data, const int level, const char *format, ...)
return;
/* Print message */
- params_t *param = (params_t *)data;
if (!param)
{
free(msg);
@@ -286,6 +286,7 @@ static void *dvbinfo_capture(void *data)
while (capture->b_alive && !b_eof)
{
buffer_t *buffer;
+ size_t size;
if (fifo_count(capture->empty) == 0)
buffer = buffer_new(capture->size);
@@ -295,7 +296,7 @@ static void *dvbinfo_capture(void *data)
if (buffer == NULL) /* out of memory */
break;
- ssize_t size = param->pf_read(param->fd_in, buffer->p_data, buffer->i_size);
+ size = param->pf_read(param->fd_in, buffer->p_data, buffer->i_size);
if (size < 0) /* short read ? */
{
fifo_push(capture->empty, buffer);
@@ -353,6 +354,7 @@ static int dvbinfo_process(dvbinfo_capture_t *capture)
char *psz_temp = NULL;
mtime_t deadline = 0;
+ ts_stream_t *stream;
if (param->b_summary)
{
if (asprintf(&psz_temp, "%s.part", param->summary.file) < 0)
@@ -364,7 +366,7 @@ static int dvbinfo_process(dvbinfo_capture_t *capture)
deadline = mdate() + param->summary.period;
}
- ts_stream_t *stream = libdvbpsi_init(param->debug, &libdvbpsi_log, (void *)param);
+ stream = libdvbpsi_init(param->debug, &libdvbpsi_log, (void *)param);
if (!stream)
goto out;
@@ -407,11 +409,12 @@ static int dvbinfo_process(dvbinfo_capture_t *capture)
FILE *fd = fopen(psz_temp, "w+");
if (fd)
{
+ int ret;
libdvbpsi_summary(fd, stream, param->summary.mode);
fflush(fd);
fclose(fd);
unlink(param->summary.file);
- int ret = rename(psz_temp, param->summary.file);
+ ret = rename(psz_temp, param->summary.file);
if (ret < 0)
{
libdvbpsi_log(param, DVBINFO_LOG_ERROR,
@@ -464,26 +467,8 @@ int main(int argc, char **pp_argv)
dvbinfo_capture_t capture;
params_t *param = NULL;
char c;
-
- printf("dvbinfo: Copyright (C) 2011-2012 M2X BV\n");
- printf("License: LGPL v2.1\n");
-
- if (argc == 1)
- usage();
-
- param = params_init();
- if (param == NULL)
- {
- printf("dvbinfo: out of memory\n");
- exit(EXIT_FAILURE);
- }
- capture.params = param;
- capture.fifo = fifo_new();
- capture.empty = fifo_new();
- capture.b_fifo_full = false;
- pthread_mutex_init(&capture.lock, NULL);
- pthread_cond_init(&capture.fifo_full, NULL);
-
+ pthread_t handle;
+ int err;
static const struct option long_options[] =
{
{ "debug", required_argument, NULL, 'd' },
@@ -506,6 +491,26 @@ int main(int argc, char **pp_argv)
#endif
{ NULL, 0, NULL, 0 }
};
+
+ printf("dvbinfo: Copyright (C) 2011-2012 M2X BV\n");
+ printf("License: LGPL v2.1\n");
+
+ if (argc == 1)
+ usage();
+
+ param = params_init();
+ if (param == NULL)
+ {
+ printf("dvbinfo: out of memory\n");
+ exit(EXIT_FAILURE);
+ }
+ capture.params = param;
+ capture.fifo = fifo_new();
+ capture.empty = fifo_new();
+ capture.b_fifo_full = false;
+ pthread_mutex_init(&capture.lock, NULL);
+ pthread_cond_init(&capture.fifo_full, NULL);
+
#ifdef HAVE_SYS_SOCKET_H
while ((c = getopt_long(argc, pp_argv, "a:d:f:i:j:ho:p:ms:tu", long_options, NULL)) != -1)
#else
@@ -605,8 +610,8 @@ int main(int argc, char **pp_argv)
{
if (optarg)
{
- ssize_t size = ARRAY_SIZE(psz_summary_mode);
- for (ssize_t i = 0; i < size; i++)
+ ssize_t size = ARRAY_SIZE(psz_summary_mode), i;
+ for (i = 0; i < size; i++)
{
printf("summary mode %s\n", psz_summary_mode[i]);
if (strncmp(optarg, psz_summary_mode[i], strlen(psz_summary_mode[i])) == 0)
@@ -716,7 +721,6 @@ int main(int argc, char **pp_argv)
/* Capture thread */
dvbinfo_open(param);
- pthread_t handle;
capture.b_alive = true;
if (pthread_create(&handle, NULL, dvbinfo_capture, (void *)&capture) < 0)
{
@@ -729,7 +733,7 @@ int main(int argc, char **pp_argv)
params_free(param);
exit(EXIT_FAILURE);
}
- int err = dvbinfo_process(&capture);
+ err = dvbinfo_process(&capture);
capture.b_alive = false; /* stop thread */
if (pthread_join(handle, NULL) < 0)
libdvbpsi_log(param, DVBINFO_LOG_ERROR, "error joining capture thread\n");
diff --git a/examples/dvbinfo/libdvbpsi.c b/examples/dvbinfo/libdvbpsi.c
index b31a920..599654f 100644
--- a/examples/dvbinfo/libdvbpsi.c
+++ b/examples/dvbinfo/libdvbpsi.c
@@ -331,6 +331,7 @@ static void dvbpsi_message(dvbpsi_t *p_dvbpsi, const dvbpsi_msg_level_t level, c
/* See dvbinfo.h for the definition of these log levels.*/
int code = 0;
const char *psz_level;
+ ts_stream_t *stream;
switch(level)
{
@@ -341,7 +342,7 @@ static void dvbpsi_message(dvbpsi_t *p_dvbpsi, const dvbpsi_msg_level_t level, c
return;
}
- ts_stream_t *stream = (ts_stream_t *)p_dvbpsi->p_sys;
+ stream = (ts_stream_t *)p_dvbpsi->p_sys;
if (stream && stream->pf_log)
{
stream->pf_log(stream->cb_data, code, msg);
@@ -480,12 +481,14 @@ static void summary(FILE *fd, ts_stream_t *stream)
uint64_t i_packets = 0;
mtime_t i_first_pcr = 0, i_last_pcr = 0;
mtime_t start = 0, end = 0;
+ int i_pid;
+ double total_bitrate;
fprintf(fd, "\n---------------------------------------------------------\n");
fprintf(fd, "\nSummary: Bandwidth\n");
/* Find PCR PID and get pcr timestamps */
- for (int i_pid = 0; i_pid < 8192; i_pid++)
+ for (i_pid = 0; i_pid < 8192; i_pid++)
{
if (stream->pid[i_pid].b_pcr)
{
@@ -499,14 +502,14 @@ static void summary(FILE *fd, ts_stream_t *stream)
}
}
- for (int i_pid = 0; i_pid < 8192; i_pid++)
+ for (i_pid = 0; i_pid < 8192; i_pid++)
{
if (stream->pid[i_pid].b_seen)
{
+ double bitrate = 0;
fprintf(fd, "Found PID: %4d (0x%4x), DRM: %s,", i_pid, i_pid,
(stream->pid[i_pid].i_transport_scrambling_control != 0x00) ? "yes" : " no" );
- double bitrate = 0;
if ((end - start) > 0)
{
bitrate = (double) (stream->pid[i_pid].i_packets * 188 * 8) /
@@ -525,7 +528,7 @@ static void summary(FILE *fd, ts_stream_t *stream)
i_last_pcr = (i_last_pcr > end) ? i_last_pcr : end;
}
}
- double total_bitrate = (double)(((i_packets*188) + stream->i_lost_bytes) * 8)/((double)(i_last_pcr - i_first_pcr)/1000.0);
+ total_bitrate = (double)(((i_packets*188) + stream->i_lost_bytes) * 8)/((double)(i_last_pcr - i_first_pcr)/1000.0);
fprintf(fd, "\nTotal bitrate %0.4f kbits/s\n", total_bitrate);
fprintf(fd, "Number of packets: %"PRId64", stuffing %"PRId64" packets, lost %"PRId64" bytes\n",
@@ -537,6 +540,7 @@ static void summary(FILE *fd, ts_stream_t *stream)
static void summary_table(FILE *fd, ts_stream_t *stream)
{
+ ts_pmt_t *p_pmt;
fprintf(fd, "\n---------------------------------------------------------\n");
fprintf(fd, "\nSummary: Table\n");
@@ -544,7 +548,7 @@ static void summary_table(FILE *fd, ts_stream_t *stream)
if (stream->pat.handle)
ts_header_dump(fd, stream->pat.pid);
fprintf(fd, "\nTable: PMT\n");
- ts_pmt_t *p_pmt = stream->pmt;
+ p_pmt = stream->pmt;
while (p_pmt)
{
if (p_pmt->handle)
@@ -569,11 +573,12 @@ static void summary_table(FILE *fd, ts_stream_t *stream)
static void summary_packet(FILE *fd, ts_stream_t *stream)
{
+ int i_pid;
fprintf(fd, "\n---------------------------------------------------------\n");
fprintf(fd, "\nSummary: Packet\n");
/* Find PCR PID and get pcr timestamps */
- for (int i_pid = 0; i_pid < 8192; i_pid++)
+ for (i_pid = 0; i_pid < 8192; i_pid++)
{
ts_pid_t *ts = &stream->pid[i_pid];
ts_header_dump(fd, ts);
@@ -974,8 +979,9 @@ static void DumpStreamIdentifierDescriptor(dvbpsi_stream_identifier_dr_t* p_si_d
*****************************************************************************/
static void DumpCAIdentifierDescriptor(dvbpsi_ca_identifier_dr_t *p_ca_descriptor)
{
+ int i;
printf("CA system id\n");
- for(int i = 0; i < p_ca_descriptor->i_number; i++ )
+ for(i = 0; i < p_ca_descriptor->i_number; i++ )
printf("\t%d: %d\n", i, p_ca_descriptor->p_system[i].i_ca_system_id);
}
@@ -989,6 +995,7 @@ typedef struct {
static const char *GetContentSubCategory( const int i_type )
{
+ unsigned int i;
dr_content_category_t content_subcategory[] = {
/* Movie/Drama */
{ DVBPSI_CONTENT_MOVIE_GENERAL, "General" },
@@ -1098,7 +1105,7 @@ static const char *GetContentSubCategory( const int i_type )
{ DVBPSI_CONTENT_SPECIAL_USERDEFINED4, "User Defined 4" }
};
- for (unsigned int i = 0; i < ARRAY_SIZE(content_subcategory); i++)
+ for (i = 0; i < ARRAY_SIZE(content_subcategory); i++)
{
if (i_type == content_subcategory[i].i_category)
return content_subcategory[i].p_category;
@@ -1108,6 +1115,7 @@ static const char *GetContentSubCategory( const int i_type )
static void DumpContentDescriptor(dvbpsi_content_dr_t *p_content_descriptor)
{
+ int i;
dr_content_category_t content_category[] = {
{ DVBPSI_CONTENT_CAT_UNDEFINED, "Undefined" },
{ DVBPSI_CONTENT_CAT_MOVIE, "Movie" },
@@ -1129,7 +1137,7 @@ static void DumpContentDescriptor(dvbpsi_content_dr_t *p_content_descriptor)
};
printf("Content\n");
- for(int i = 0; i < p_content_descriptor->i_contents_number; i++)
+ for(i = 0; i < p_content_descriptor->i_contents_number; i++)
{
int i_type = p_content_descriptor->p_content[i].i_type;
int i_category = DVBPSI_GetContentCategoryFromType(i_type);
@@ -1354,9 +1362,10 @@ static void DumpCUEIDescriptor(dvbpsi_cuei_dr_t* p_cuei_descriptor)
*****************************************************************************/
static void DumpSISSegmentationDescriptor(dvbpsi_descriptor_t* p_descriptor)
{
+ int i;
/* FIXME: decode segmentation descriptor */
printf("\"");
- for (int i = 4; i < p_descriptor->i_length; i++)
+ for (i = 4; i < p_descriptor->i_length; i++)
printf("%c", p_descriptor->p_data[i]);
printf("\" (%s)\n", "segmentation descriptor");
}
@@ -1368,8 +1377,9 @@ static void DumpSISDescriptors(const char* str, dvbpsi_descriptor_t* p_descripto
{
while (p_descriptor)
{
+ uint32_t i_identifier;
assert(p_descriptor->i_length >= 4);
- uint32_t i_identifier = ((uint32_t)p_descriptor->p_data[0] << 24) |
+ i_identifier = ((uint32_t)p_descriptor->p_data[0] << 24) |
((uint32_t)p_descriptor->p_data[1] << 16) |
((uint32_t)p_descriptor->p_data[2] << 8) |
((uint32_t)p_descriptor->p_data[3]);
@@ -1384,9 +1394,10 @@ static void DumpSISDescriptors(const char* str, dvbpsi_descriptor_t* p_descripto
{
case 0x00: /* avail_descriptor */
{
+ uint32_t id;
assert(p_descriptor->i_length >= 8);
- uint32_t id = ((uint32_t)p_descriptor->p_data[4] << 24) |
+ id = ((uint32_t)p_descriptor->p_data[4] << 24) |
((uint32_t)p_descriptor->p_data[5] << 16) |
((uint32_t)p_descriptor->p_data[6] << 8) |
((uint32_t)p_descriptor->p_data[7]);
@@ -1396,11 +1407,14 @@ static void DumpSISDescriptors(const char* str, dvbpsi_descriptor_t* p_descripto
}
case 0x01: /* DTMF_descriptor */
{
+ double i_preroll;
+ uint8_t i_dtmf_count;
+ int i;
assert(p_descriptor->i_length >= 6);
- double i_preroll = p_descriptor->p_data[4] * 0.1;
- uint8_t i_dtmf_count = (p_descriptor->p_data[5] & 0xE0);
+ i_preroll = p_descriptor->p_data[4] * 0.1;
+ i_dtmf_count = (p_descriptor->p_data[5] & 0xE0);
printf("\"");
- for (int i = 0; i < i_dtmf_count; i++)
+ for (i = 0; i < i_dtmf_count; i++)
printf("%c", p_descriptor->p_data[6 + i]);
printf("\" preroll %.2f sec. (%s)\n", i_preroll, "DTMF descriptor");
break;
@@ -1410,11 +1424,14 @@ static void DumpSISDescriptors(const char* str, dvbpsi_descriptor_t* p_descripto
break;
/* 0x03 - 0xFF : Reserved for future SCTE splice_descriptors */
default:
+ {
+ int i;
printf("\"");
- for (int i = 4; i < p_descriptor->i_length; i++)
+ for (i = 4; i < p_descriptor->i_length; i++)
printf("%c", p_descriptor->p_data[i]);
printf("\" (%s)\n", GetDescriptorName(p_descriptor->i_tag));
break;
+ }
}
p_descriptor = p_descriptor->p_next;
}
@@ -1468,6 +1485,7 @@ static void DumpDescriptors(const char* str, dvbpsi_descriptor_t* p_descriptor)
{
while (p_descriptor)
{
+ int i;
printf("%s 0x%02x : ", str, p_descriptor->i_tag);
switch (p_descriptor->i_tag)
{
@@ -1476,7 +1494,7 @@ static void DumpDescriptors(const char* str, dvbpsi_descriptor_t* p_descriptor)
or ISO/IEC 14496-2 visual streams */
case 0x28:
printf("\"");
- for(int i = 0; i < p_descriptor->i_length; i++)
+ for(i = 0; i < p_descriptor->i_length; i++)
{
switch(p_descriptor->p_data[i])
{
@@ -1527,7 +1545,7 @@ static void DumpDescriptors(const char* str, dvbpsi_descriptor_t* p_descriptor)
break;
default:
printf("\"");
- for (int i = 0; i < p_descriptor->i_length; i++)
+ for (i = 0; i < p_descriptor->i_length; i++)
printf("%c", p_descriptor->p_data[i]);
printf("\" (%s)\n", GetDescriptorName(p_descriptor->i_tag));
break;
@@ -1614,10 +1632,11 @@ static void handle_EIT(void* p_data, dvbpsi_eit_t* p_eit)
static void handle_TOT(void* p_data, dvbpsi_tot_t* p_tot)
{
+ uint8_t table_id;
//ts_stream_t* p_stream = (ts_stream_t*) p_data;
printf("\n");
- uint8_t table_id = (p_tot->p_first_descriptor != NULL) ? 0x73 : 0x70;
+ table_id = (p_tot->p_first_descriptor != NULL) ? 0x73 : 0x70;
if (table_id == 0x70) /* TDT */
printf(" TDT: Time and Date Table\n");
else if (table_id == 0x73) /* TOT */
@@ -1670,6 +1689,7 @@ static const char *GetATSCTableType(const int i_type)
static void handle_atsc_MGT(void *p_data, dvbpsi_atsc_mgt_t *p_mgt)
{
ts_stream_t* p_stream = (ts_stream_t*) p_data;
+ dvbpsi_atsc_mgt_table_t *p_table = p_mgt->p_first_table;
printf("\n");
printf(" ATSC MGT: Master Guide Table\n");
@@ -1679,7 +1699,6 @@ static void handle_atsc_MGT(void *p_data, dvbpsi_atsc_mgt_t *p_mgt)
printf("\tTable ID extension: %d\n", p_mgt->i_table_id_ext);
printf("\tProtocol version: %d\n", p_mgt->i_protocol); /* PSIP protocol version */
- dvbpsi_atsc_mgt_table_t *p_table = p_mgt->p_first_table;
while (p_table)
{
/* Attach new ATSC EIT decoder */
@@ -1869,6 +1888,11 @@ static void handle_atsc_ETT(void* p_data, dvbpsi_atsc_ett_t* p_ett)
static void handle_atsc_STT(void* p_data, dvbpsi_atsc_stt_t *p_stt)
{
//ts_stream_t* p_stream = (ts_stream_t*) p_data;
+ /* decode daylight savings */
+ bool b_status = (p_stt->i_daylight_savings & 0x01);
+ uint8_t i_day_of_month = ((p_stt->i_daylight_savings & 0x00F8) >> 3);
+ uint8_t i_hour = (p_stt->i_daylight_savings >> 8);
+
printf("\n");
printf(" ATSC STT: System Time Table\n");
@@ -1879,11 +1903,6 @@ static void handle_atsc_STT(void* p_data, dvbpsi_atsc_stt_t *p_stt)
printf("\tSystem time (GPS): %d seconds\n", p_stt->i_system_time);
printf("\tGPS-UTC Offset : %d seconds\n", p_stt->i_gps_utc_offset);
- /* decode daylight savings */
- bool b_status = (p_stt->i_daylight_savings & 0x01);
- uint8_t i_day_of_month = ((p_stt->i_daylight_savings & 0x00F8) >> 3);
- uint8_t i_hour = (p_stt->i_daylight_savings >> 8);
-
printf("\tDaylight savings : %s\n", b_status ? "on" : "off" );
printf("\t\tDay of month: %d\n", i_day_of_month);
printf("\t\tHour of day : %d\n", i_hour);
@@ -2193,13 +2212,16 @@ error:
void libdvbpsi_exit(ts_stream_t *stream)
{
+ ts_pmt_t *p_pmt = stream->pmt;
+ ts_pmt_t *p_prev = NULL;
+ ts_atsc_eit_t *p_atsc_eit;
+ ts_atsc_eit_t *p_atsc_prev;
+
summary(stdout, stream);
if (dvbpsi_decoder_present(stream->pat.handle))
dvbpsi_pat_detach(stream->pat.handle);
- ts_pmt_t *p_pmt = stream->pmt;
- ts_pmt_t *p_prev = NULL;
while (p_pmt)
{
dvbpsi_t *handle = p_pmt->handle;
@@ -2216,8 +2238,8 @@ void libdvbpsi_exit(ts_stream_t *stream)
free(p_prev);
}
- ts_atsc_eit_t *p_atsc_eit = stream->atsc_eit;
- ts_atsc_eit_t *p_atsc_prev = NULL;
+ p_atsc_eit = stream->atsc_eit;
+ p_atsc_prev = NULL;
while (p_atsc_eit)
{
dvbpsi_t *handle = p_atsc_eit->handle;
@@ -2286,11 +2308,17 @@ bool libdvbpsi_process(ts_stream_t *stream, uint8_t *buf, ssize_t length, mtime_
{
mtime_t i_prev_pcr = 0; /* 33 bits */
int i_old_cc = -1;
+ ssize_t i;
- for (ssize_t i = 0; i < length; i += 188)
+ for (i = 0; i < length; i += 188)
{
/* check sync */
ssize_t i_lost = check_sync_word(buf+i, length - i);
+ uint8_t* p_tmp;
+ uint16_t i_pid;
+ int i_cc;
+ bool b_discontinuity_seen;
+
if (i_lost > 0)
{
stream->i_lost_bytes += i_lost;
@@ -2305,10 +2333,10 @@ bool libdvbpsi_process(ts_stream_t *stream, uint8_t *buf, ssize_t length, mtime_
assert(buf[i] == 0x47);
/* parse packet */
- uint8_t *p_tmp = &buf[i];
- uint16_t i_pid = ((uint16_t)(p_tmp[1] & 0x1f) << 8) + p_tmp[2];
- int i_cc = (p_tmp[3] & 0x0f);
- bool b_discontinuity_seen = false;
+ p_tmp = &buf[i];
+ i_pid = ((uint16_t)(p_tmp[1] & 0x1f) << 8) + p_tmp[2];
+ i_cc = (p_tmp[3] & 0x0f);
+ b_discontinuity_seen = false;
/* keep track nr of packets for this ES */
stream->pid[i_pid].i_packets++;
@@ -2346,6 +2374,7 @@ bool libdvbpsi_process(ts_stream_t *stream, uint8_t *buf, ssize_t length, mtime_
else
{
ts_pmt_t *p = stream->pmt;
+ ts_atsc_eit_t *p_atsc_eit;
while(p)
{
if (p->pid_pmt->i_pid == i_pid)
@@ -2353,7 +2382,7 @@ bool libdvbpsi_process(ts_stream_t *stream, uint8_t *buf, ssize_t length, mtime_
p = p->p_next;
}
- ts_atsc_eit_t *p_atsc_eit = stream->atsc_eit;
+ p_atsc_eit = stream->atsc_eit;
while (p_atsc_eit)
{
if (p_atsc_eit->pid->i_pid == i_pid)
@@ -2403,6 +2432,7 @@ bool libdvbpsi_process(ts_stream_t *stream, uint8_t *buf, ssize_t length, mtime_
{
bool b_pcr = (p_tmp[5]&0x10) == 0x10; /* PCR flag */
bool b_opcr = (p_tmp[5]&0x08) == 0x08; /* OPCR flag */
+ uint32_t i_ext = 5;
stream->pid[i_pid].b_discontinuity_indicator = (p_tmp[5]&0x80) == 0x80;
stream->pid[i_pid].b_random_access_indicator = (p_tmp[5]&0x40) == 0x40;
@@ -2411,7 +2441,6 @@ bool libdvbpsi_process(ts_stream_t *stream, uint8_t *buf, ssize_t length, mtime_
stream->pid[i_pid].b_transport_private_data = (p_tmp[5]&0x02) == 0x02;
stream->pid[i_pid].b_adaptation_field_extension = (p_tmp[5]&0x01) == 0x01;
- uint32_t i_ext = 5;
if (b_pcr) i_ext += 6;
@@ -2473,10 +2502,12 @@ bool libdvbpsi_process(ts_stream_t *stream, uint8_t *buf, ssize_t length, mtime_
if (stream->pid[i_pid].b_adaptation_field_extension)
{
+ uint8_t *p_ext;
+ uint32_t i_seamless_splice;
/* i_ext is start of adaptation_extension field */
i_ext++;
- uint8_t *p_ext = &p_tmp[i_ext];
- uint32_t i_seamless_splice = i_ext;
+ p_ext = &p_tmp[i_ext];
+ i_seamless_splice = i_ext;
stream->pid[i_pid].i_adaptation_field_extension_length = p_ext[0];
diff --git a/examples/dvbinfo/tcp.c b/examples/dvbinfo/tcp.c
index 3a2726e..7f75d28 100644
--- a/examples/dvbinfo/tcp.c
+++ b/examples/dvbinfo/tcp.c
@@ -90,12 +90,13 @@ int tcp_open(const char *ipaddress, int port)
{
int s_ctl = -1;
int result = -1;
+ struct addrinfo hints, *addr;
+ char *psz_service;
+ struct addrinfo* ptr;
if (!ipaddress) return -1;
/* only support ipv4 */
- struct addrinfo hints, *addr;
- char *psz_service;
if ((port > 65535) || (port < 0))
{
@@ -119,9 +120,10 @@ int tcp_open(const char *ipaddress, int port)
return -1;
}
- for (struct addrinfo *ptr = addr; ptr != NULL; ptr = ptr->ai_next )
+ for (ptr = addr; ptr != NULL; ptr = ptr->ai_next )
{
int sflags = 0;
+ int k = 1;
#ifdef SOCK_CLOEXEC
sflags = SOCK_CLOEXEC;
#endif
@@ -141,7 +143,7 @@ int tcp_open(const char *ipaddress, int port)
}
#endif
- if (setsockopt (s_ctl, SOL_SOCKET, SO_REUSEADDR, &(int){ 1 }, sizeof (int)) < 0)
+ if (setsockopt (s_ctl, SOL_SOCKET, SO_REUSEADDR, &k, sizeof (int)) < 0)
perror("tcp setsockopt error");
result = connect( s_ctl, ptr->ai_addr, ptr->ai_addrlen );
diff --git a/examples/dvbinfo/udp.c b/examples/dvbinfo/udp.c
index 030add3..dc6b875 100644
--- a/examples/dvbinfo/udp.c
+++ b/examples/dvbinfo/udp.c
@@ -211,12 +211,13 @@ int udp_open(const char *interface, const char *ipaddress, int port)
{
int s_ctl = -1;
int result = -1;
+ struct addrinfo hints, *addr;
+ char *psz_service;
+ struct addrinfo* ptr;
if (!ipaddress) return -1;
/* only support ipv4 */
- struct addrinfo hints, *addr;
- char *psz_service;
if ((port > 65535) || (port < 0))
{
@@ -240,9 +241,11 @@ int udp_open(const char *interface, const char *ipaddress, int port)
return -1;
}
- for (struct addrinfo *ptr = addr; ptr != NULL; ptr = ptr->ai_next )
+ for (ptr = addr; ptr != NULL; ptr = ptr->ai_next )
{
int sflags = 0;
+ int k = 0x80000;
+ const struct sockaddr_storage *saddr;
#ifdef SOCK_CLOEXEC
sflags = SOCK_CLOEXEC;
#endif
@@ -265,14 +268,15 @@ int udp_open(const char *interface, const char *ipaddress, int port)
/* Increase the receive buffer size to 1/2MB (8Mb/s during 1/2s)
* to avoid packet loss caused in case of scheduling hiccups */
if (setsockopt (s_ctl, SOL_SOCKET, SO_RCVBUF,
- (void *)&(int){ 0x80000 }, sizeof (int)) < 0)
+ (void *)&k, sizeof (int)) < 0)
perror("udp setsockopt error");
if (setsockopt (s_ctl, SOL_SOCKET, SO_SNDBUF,
- (void *)&(int){ 0x80000 }, sizeof (int)) < 0)
+ (void *)&k, sizeof (int)) < 0)
perror("udp setsockopt error");
- if (setsockopt (s_ctl, SOL_SOCKET, SO_REUSEADDR, &(int){ 1 }, sizeof (int)) < 0)
+ k = 1;
+ if (setsockopt (s_ctl, SOL_SOCKET, SO_REUSEADDR, &k, sizeof (int)) < 0)
perror("udp setsockopt error");
result = bind(s_ctl, ptr->ai_addr, ptr->ai_addrlen);
@@ -284,7 +288,7 @@ int udp_open(const char *interface, const char *ipaddress, int port)
continue;
}
- const struct sockaddr_storage *saddr = (const struct sockaddr_storage *)&ptr->ai_addr;
+ saddr = (const struct sockaddr_storage *)&ptr->ai_addr;
if (is_multicast(saddr, ptr->ai_addrlen) &&
mcast_connect(s_ctl, NULL, saddr, ptr->ai_addrlen))
{
diff --git a/examples/get_pcr_pid.c b/examples/get_pcr_pid.c
index 322bb72..1d71962 100644
--- a/examples/get_pcr_pid.c
+++ b/examples/get_pcr_pid.c
@@ -184,7 +184,7 @@ static void TSHandle( uint8_t *p_ts )
int main( int i_argc, char **pp_argv )
{
uint8_t *p_buffer;
- int result = EXIT_FAILURE;
+ int result = EXIT_FAILURE, i;
if ( i_argc < 2 || i_argc > 3 || !strcmp( pp_argv[1], "-" ) )
{
@@ -215,7 +215,6 @@ int main( int i_argc, char **pp_argv )
for ( ; ; )
{
- int i;
ssize_t i_ret;
if ( (i_ret = read( i_fd, p_buffer, TS_SIZE * READ_ONCE )) < 0 )
@@ -237,7 +236,7 @@ int main( int i_argc, char **pp_argv )
}
free( p_buffer );
- for( int i = 0; i < MAX_PROGRAMS; i++)
+ for(i = 0; i < MAX_PROGRAMS; i++)
{
if (p_pmt_dvbpsi_fds[i])
{
diff --git a/src/demux.c b/src/demux.c
index adbf1e1..f74f58c 100644
--- a/src/demux.c
+++ b/src/demux.c
@@ -53,10 +53,11 @@ bool dvbpsi_AttachDemux(dvbpsi_t * p_dvbpsi,
dvbpsi_demux_new_cb_t pf_new_cb,
void * p_new_cb_data)
{
+ dvbpsi_demux_t *p_demux;
+
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder == NULL);
- dvbpsi_demux_t *p_demux;
p_demux = (dvbpsi_demux_t*) dvbpsi_decoder_new(&dvbpsi_Demux, 4096, true,
sizeof(dvbpsi_demux_t));
if (p_demux == NULL)
@@ -101,11 +102,13 @@ dvbpsi_demux_subdec_t * dvbpsi_demuxGetSubDec(dvbpsi_demux_t * p_demux,
*****************************************************************************/
void dvbpsi_Demux(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section)
{
+ dvbpsi_demux_t * p_demux;
+ dvbpsi_demux_subdec_t * p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t * p_demux = (dvbpsi_demux_t *)p_dvbpsi->p_decoder;
- dvbpsi_demux_subdec_t * p_subdec = dvbpsi_demuxGetSubDec(p_demux, p_section->i_table_id,
+ p_demux = (dvbpsi_demux_t *)p_dvbpsi->p_decoder;
+ p_subdec = dvbpsi_demuxGetSubDec(p_demux, p_section->i_table_id,
p_section->i_extension);
if (p_subdec == NULL)
{
@@ -132,11 +135,14 @@ void dvbpsi_Demux(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section)
*****************************************************************************/
void dvbpsi_DetachDemux(dvbpsi_t *p_dvbpsi)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_demux_subdec_t* p_subdec;
+
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *)p_dvbpsi->p_decoder;
- dvbpsi_demux_subdec_t* p_subdec = p_demux->p_first_subdec;
+ p_demux = (dvbpsi_demux_t *)p_dvbpsi->p_decoder;
+ p_subdec = p_demux->p_first_subdec;
while (p_subdec)
{
@@ -164,14 +170,16 @@ dvbpsi_demux_subdec_t *dvbpsi_NewDemuxSubDecoder(const uint8_t i_table_id,
dvbpsi_demux_gather_cb_t pf_gather,
dvbpsi_decoder_t *p_decoder)
{
+ dvbpsi_demux_subdec_t *p_subdec = calloc(1, sizeof(dvbpsi_demux_subdec_t));
+ uint32_t i_id;
+
assert(pf_gather);
assert(pf_detach);
- dvbpsi_demux_subdec_t *p_subdec = calloc(1, sizeof(dvbpsi_demux_subdec_t));
if (p_subdec == NULL)
return NULL;
- uint32_t i_id = (uint32_t)i_table_id << 16 | (uint32_t)i_extension;
+ i_id = (uint32_t)i_table_id << 16 | (uint32_t)i_extension;
/* subtable decoder configuration */
p_subdec->i_id = i_id;
@@ -219,6 +227,8 @@ void dvbpsi_AttachDemuxSubDecoder(dvbpsi_demux_t *p_demux, dvbpsi_demux_subdec_t
*****************************************************************************/
void dvbpsi_DetachDemuxSubDecoder(dvbpsi_demux_t *p_demux, dvbpsi_demux_subdec_t *p_subdec)
{
+ dvbpsi_demux_subdec_t** pp_prev_subdec;
+
assert(p_demux);
assert(p_demux->p_first_subdec);
@@ -227,7 +237,6 @@ void dvbpsi_DetachDemuxSubDecoder(dvbpsi_demux_t *p_demux, dvbpsi_demux_subdec_t
if (!p_demux || !p_subdec)
abort();
- dvbpsi_demux_subdec_t** pp_prev_subdec;
pp_prev_subdec = &p_demux->p_first_subdec;
while(*pp_prev_subdec != p_subdec)
pp_prev_subdec = &(*pp_prev_subdec)->p_next;
diff --git a/src/descriptor.c b/src/descriptor.c
index 4506ea2..36f3cb1 100644
--- a/src/descriptor.c
+++ b/src/descriptor.c
@@ -161,10 +161,11 @@ void dvbpsi_DeleteDescriptors(dvbpsi_descriptor_t* p_descriptor)
*****************************************************************************/
void *dvbpsi_DuplicateDecodedDescriptor(void *p_decoded, ssize_t i_size)
{
+ void* p_duplicate;
if (!p_decoded)
return NULL;
- void *p_duplicate = calloc(1, i_size);
+ p_duplicate = calloc(1, i_size);
if (p_duplicate)
memcpy(p_duplicate, p_decoded, i_size);
return p_duplicate;
diff --git a/src/descriptors/dr_05.c b/src/descriptors/dr_05.c
index cf9487e..e19ee67 100644
--- a/src/descriptors/dr_05.c
+++ b/src/descriptors/dr_05.c
@@ -94,11 +94,12 @@ dvbpsi_registration_dr_t * dvbpsi_DecodeRegistrationDr(
dvbpsi_descriptor_t * dvbpsi_GenRegistrationDr(dvbpsi_registration_dr_t *p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
if (p_decoded->i_additional_length > 251)
p_decoded->i_additional_length = 251;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x05, p_decoded->i_additional_length + 4, NULL);
if (!p_descriptor)
diff --git a/src/descriptors/dr_09.c b/src/descriptors/dr_09.c
index c07053f..0d40c1c 100644
--- a/src/descriptors/dr_09.c
+++ b/src/descriptors/dr_09.c
@@ -88,11 +88,12 @@ dvbpsi_ca_dr_t * dvbpsi_DecodeCADr(dvbpsi_descriptor_t * p_descriptor)
dvbpsi_descriptor_t * dvbpsi_GenCADr(dvbpsi_ca_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
if (p_decoded->i_private_length > 251)
p_decoded->i_private_length = 251;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x09, p_decoded->i_private_length + 4, NULL);
if (!p_descriptor)
return NULL;
diff --git a/src/descriptors/dr_0a.c b/src/descriptors/dr_0a.c
index 1c88263..803bcbb 100644
--- a/src/descriptors/dr_0a.c
+++ b/src/descriptors/dr_0a.c
@@ -47,6 +47,7 @@
dvbpsi_iso639_dr_t * dvbpsi_DecodeISO639Dr(dvbpsi_descriptor_t * p_descriptor)
{
dvbpsi_iso639_dr_t * p_decoded;
+ int i = 0;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x0a))
@@ -69,7 +70,6 @@ dvbpsi_iso639_dr_t * dvbpsi_DecodeISO639Dr(dvbpsi_descriptor_t * p_descriptor)
if (p_decoded->i_code_count > 64)
p_decoded->i_code_count = 64;
- int i = 0;
while( i < p_decoded->i_code_count )
{
p_decoded->code[i].iso_639_code[0] = p_descriptor->p_data[i*4];
@@ -90,17 +90,18 @@ dvbpsi_iso639_dr_t * dvbpsi_DecodeISO639Dr(dvbpsi_descriptor_t * p_descriptor)
dvbpsi_descriptor_t * dvbpsi_GenISO639Dr(dvbpsi_iso639_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
+ int i = 0;
if (p_decoded->i_code_count > 64)
p_decoded->i_code_count = 64;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x0a, p_decoded->i_code_count * 4, NULL);
if (!p_descriptor)
return NULL;
/* Encode data */
- int i = 0;
while( i < p_decoded->i_code_count )
{
p_descriptor->p_data[i*4] = p_decoded->code[i].iso_639_code[0];
diff --git a/src/descriptors/dr_0d.c b/src/descriptors/dr_0d.c
index bd8ee30..7aed4a8 100644
--- a/src/descriptors/dr_0d.c
+++ b/src/descriptors/dr_0d.c
@@ -92,11 +92,12 @@ dvbpsi_copyright_dr_t * dvbpsi_DecodeCopyrightDr(
dvbpsi_descriptor_t * dvbpsi_GenCopyrightDr(dvbpsi_copyright_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
if (p_decoded->i_additional_length > 251)
p_decoded->i_additional_length = 251;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x0d, p_decoded->i_additional_length + 4, NULL);
if (!p_descriptor)
return NULL;
diff --git a/src/descriptors/dr_14.c b/src/descriptors/dr_14.c
index da5fc20..ba92933 100644
--- a/src/descriptors/dr_14.c
+++ b/src/descriptors/dr_14.c
@@ -42,11 +42,12 @@ Decode Assocation Tag Descriptor.
static dvbpsi_association_tag_dr_t *NewAssociationTagDr(const size_t i_selector, const size_t i_private)
{
dvbpsi_association_tag_dr_t *p_tag;
+ size_t i_size;
if ((i_selector <= 0) || (i_private <= 0))
return NULL;
- size_t i_size = sizeof(dvbpsi_association_tag_dr_t) + i_selector + i_private;
+ i_size = sizeof(dvbpsi_association_tag_dr_t) + i_selector + i_private;
p_tag = (dvbpsi_association_tag_dr_t*) calloc(1, i_size);
if (p_tag)
{
diff --git a/src/descriptors/dr_41.c b/src/descriptors/dr_41.c
index db4ac3e..fd628cc 100644
--- a/src/descriptors/dr_41.c
+++ b/src/descriptors/dr_41.c
@@ -46,6 +46,8 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr(
dvbpsi_descriptor_t * p_descriptor)
{
dvbpsi_service_list_dr_t * p_decoded;
+ unsigned int service_count = p_descriptor->i_length / 3;
+ uint8_t i;
/* Check the tag */
if (p_descriptor->i_tag != 0x41)
@@ -56,7 +58,6 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr(
return p_descriptor->p_decoded;
/* Check the length */
- unsigned int service_count = p_descriptor->i_length / 3;
if ((p_descriptor->i_length < 1) ||
(p_descriptor->i_length % 3 != 0) ||
(service_count>63))
@@ -70,7 +71,7 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr(
/* Decode data */
p_decoded->i_service_count = service_count;
- for (uint8_t i = 0; i < p_decoded->i_service_count; i++ )
+ for (i = 0; i < p_decoded->i_service_count; i++ )
{
p_decoded->i_service[i].i_service_id = ((uint16_t)(p_descriptor->p_data[i*3]) << 8)
| p_descriptor->p_data[i*3+1];
@@ -90,18 +91,20 @@ dvbpsi_descriptor_t * dvbpsi_GenServiceListDr(
dvbpsi_service_list_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
+ uint8_t i;
/* Check the length */
if (p_decoded->i_service_count > 63)
return NULL;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x83, p_decoded->i_service_count*3, NULL);
if (!p_descriptor)
return NULL;
/* Encode data */
- for (uint8_t i = 0; i < p_decoded->i_service_count; i++)
+ for (i = 0; i < p_decoded->i_service_count; i++)
{
p_descriptor->p_data[i*3] = p_decoded->i_service[i].i_service_id >> 8;
p_descriptor->p_data[i*3+1] = p_decoded->i_service[i].i_service_id;
diff --git a/src/descriptors/dr_45.c b/src/descriptors/dr_45.c
index 7cf8b53..2132447 100644
--- a/src/descriptors/dr_45.c
+++ b/src/descriptors/dr_45.c
@@ -46,6 +46,9 @@
dvbpsi_vbi_dr_t * dvbpsi_DecodeVBIDataDr(
dvbpsi_descriptor_t * p_descriptor)
{
+ dvbpsi_vbi_dr_t * p_decoded;
+ uint8_t i_services_number;
+ uint8_t i;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x45))
return NULL;
@@ -61,8 +64,7 @@ dvbpsi_vbi_dr_t * dvbpsi_DecodeVBIDataDr(
return NULL;
/* */
- dvbpsi_vbi_dr_t * p_decoded;
- uint8_t i_services_number = p_descriptor->i_length / 2;
+ i_services_number = p_descriptor->i_length / 2;
if (i_services_number > DVBPSI_VBI_DR_MAX)
i_services_number = DVBPSI_VBI_DR_MAX;
@@ -73,9 +75,9 @@ dvbpsi_vbi_dr_t * dvbpsi_DecodeVBIDataDr(
p_decoded->i_services_number = i_services_number;
- for (uint8_t i = 0; i < i_services_number; i++)
+ for (i = 0; i < i_services_number; i++)
{
- uint8_t i_lines = 0, i_data_service_id;
+ uint8_t i_lines = 0, i_data_service_id, n;
i_data_service_id = ((uint8_t)(p_descriptor->p_data[3 * i + 2 + i_lines]));
p_decoded->p_services[i].i_data_service_id = i_data_service_id;
@@ -83,7 +85,7 @@ dvbpsi_vbi_dr_t * dvbpsi_DecodeVBIDataDr(
i_lines = ((uint8_t)(p_descriptor->p_data[3 * i + 3]));
p_decoded->p_services[i].i_lines = i_lines;
- for (uint8_t n = 0; n < i_lines; n++)
+ for (n = 0; n < i_lines; n++)
{
if( (i_data_service_id >= 0x01) && (i_data_service_id <= 0x07) )
{
@@ -106,23 +108,26 @@ dvbpsi_vbi_dr_t * dvbpsi_DecodeVBIDataDr(
dvbpsi_descriptor_t * dvbpsi_GenVBIDataDr(dvbpsi_vbi_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
+ uint8_t i;
if (p_decoded->i_services_number > DVBPSI_VBI_DR_MAX)
p_decoded->i_services_number = DVBPSI_VBI_DR_MAX;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x45, p_decoded->i_services_number * 5 , NULL);
if (!p_descriptor)
return NULL;
/* Encode data */
- for (uint8_t i = 0; i < p_decoded->i_services_number; i++)
+ for (i = 0; i < p_decoded->i_services_number; i++)
{
+ uint8_t n;
p_descriptor->p_data[5 * i + 3] =
( (uint8_t) p_decoded->p_services[i].i_data_service_id );
p_descriptor->p_data[5 * i + 4] = p_decoded->p_services[i].i_lines;
- for (uint8_t n=0; n < p_decoded->p_services[i].i_lines; n++ )
+ for (n=0; n < p_decoded->p_services[i].i_lines; n++ )
{
if( (p_decoded->p_services[i].i_data_service_id >= 0x01) &&
(p_decoded->p_services[i].i_data_service_id <= 0x07) )
diff --git a/src/descriptors/dr_48.c b/src/descriptors/dr_48.c
index a348dc7..0cbc417 100644
--- a/src/descriptors/dr_48.c
+++ b/src/descriptors/dr_48.c
@@ -48,6 +48,7 @@
dvbpsi_service_dr_t * dvbpsi_DecodeServiceDr(
dvbpsi_descriptor_t * p_descriptor)
{
+ dvbpsi_service_dr_t * p_decoded;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x48))
return NULL;
@@ -60,7 +61,6 @@ dvbpsi_service_dr_t * dvbpsi_DecodeServiceDr(
return NULL;
/* Allocate memory */
- dvbpsi_service_dr_t * p_decoded;
p_decoded = (dvbpsi_service_dr_t*)calloc(1, sizeof(dvbpsi_service_dr_t));
if (!p_decoded)
return NULL;
@@ -111,13 +111,14 @@ dvbpsi_service_dr_t * dvbpsi_DecodeServiceDr(
dvbpsi_descriptor_t * dvbpsi_GenServiceDr(dvbpsi_service_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
if (p_decoded->i_service_provider_name_length > 252)
p_decoded->i_service_provider_name_length = 252;
if (p_decoded->i_service_name_length > 252)
p_decoded->i_service_name_length = 252;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x48, 3 + p_decoded->i_service_name_length +
p_decoded->i_service_provider_name_length, NULL);
if (!p_descriptor)
diff --git a/src/descriptors/dr_49.c b/src/descriptors/dr_49.c
index ba897e3..296ae4d 100644
--- a/src/descriptors/dr_49.c
+++ b/src/descriptors/dr_49.c
@@ -46,6 +46,8 @@ dvbpsi_country_availability_dr_t* dvbpsi_DecodeCountryAvailability(
dvbpsi_descriptor_t * p_descriptor)
{
dvbpsi_country_availability_dr_t * p_decoded;
+ unsigned int code_count;
+ uint8_t i;
/* Check the tag */
if (p_descriptor->i_tag != 0x49)
@@ -56,7 +58,7 @@ dvbpsi_country_availability_dr_t* dvbpsi_DecodeCountryAvailability(
return p_descriptor->p_decoded;
/* Check the length */
- unsigned int code_count = (p_descriptor->i_length-1) / 3;
+ code_count = (p_descriptor->i_length-1) / 3;
if ((p_descriptor->i_length < 1) ||
((p_descriptor->i_length-1) % 3 != 0) ||
(code_count > 83))
@@ -71,7 +73,7 @@ dvbpsi_country_availability_dr_t* dvbpsi_DecodeCountryAvailability(
p_decoded->i_code_count = code_count;
p_decoded->b_country_availability_flag = p_descriptor->p_data[0] & 0x80;
- for (uint8_t i = 0; i < p_decoded->i_code_count; i++)
+ for (i = 0; i < p_decoded->i_code_count; i++)
{
p_decoded->code[i].iso_639_code[0] = p_descriptor->p_data[1+i*3];
p_decoded->code[i].iso_639_code[1] = p_descriptor->p_data[2+i*3];
@@ -91,12 +93,14 @@ dvbpsi_descriptor_t * dvbpsi_GenCountryAvailabilityDr(
dvbpsi_country_availability_dr_t * p_decoded,
bool b_duplicate)
{
- /* Check the length */
+ dvbpsi_descriptor_t * p_descriptor;
+ uint8_t i;
+ /* Check the length */
if (p_decoded->i_code_count > 83)
return NULL;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x83, 1+p_decoded->i_code_count*3, NULL);
if (!p_descriptor)
return NULL;
@@ -104,7 +108,7 @@ dvbpsi_descriptor_t * dvbpsi_GenCountryAvailabilityDr(
/* Encode data */
p_descriptor->p_data[0] = (p_decoded->b_country_availability_flag) ? 0x80: 0x00;
- for (uint8_t i = 0; i < p_decoded->i_code_count; i++)
+ for (i = 0; i < p_decoded->i_code_count; i++)
{
p_descriptor->p_data[1+i*3] = p_decoded->code[i].iso_639_code[0];
p_descriptor->p_data[2+i*3] = p_decoded->code[i].iso_639_code[1];
diff --git a/src/descriptors/dr_4a.c b/src/descriptors/dr_4a.c
index 590a122..340d62b 100644
--- a/src/descriptors/dr_4a.c
+++ b/src/descriptors/dr_4a.c
@@ -44,6 +44,9 @@
*****************************************************************************/
dvbpsi_linkage_dr_t* dvbpsi_DecodeLinkageDr(dvbpsi_descriptor_t * p_descriptor)
{
+ int handover_type = 0, origin_type = 0;
+ dvbpsi_linkage_dr_t * p_decoded;
+ int i = 7;
/* Check the tag */
if (p_descriptor->i_tag != 0x4A)
return NULL;
@@ -53,7 +56,6 @@ dvbpsi_linkage_dr_t* dvbpsi_DecodeLinkageDr(dvbpsi_descriptor_t * p_descriptor)
return p_descriptor->p_decoded;
/* Check the length */
- int handover_type = 0, origin_type = 0;
if (p_descriptor->p_data[6] == 0x08)
{
handover_type = p_descriptor->p_data[7] & 0xF0 >> 4;
@@ -73,13 +75,11 @@ dvbpsi_linkage_dr_t* dvbpsi_DecodeLinkageDr(dvbpsi_descriptor_t * p_descriptor)
return NULL;
/* Allocate memory */
- dvbpsi_linkage_dr_t * p_decoded;
p_decoded = (dvbpsi_linkage_dr_t*)calloc(1, sizeof(dvbpsi_linkage_dr_t));
if (!p_decoded)
return NULL;
/* Decode data */
- int i = 7;
p_decoded->i_transport_stream_id = p_descriptor->p_data[0] << 8
| p_descriptor->p_data[1];
p_decoded->i_original_network_id = p_descriptor->p_data[2] << 8
@@ -141,6 +141,7 @@ dvbpsi_descriptor_t * dvbpsi_GenLinkageDr(dvbpsi_linkage_dr_t * p_decoded,
/* Check the length */
int last_pos;
int length = 7;
+ dvbpsi_descriptor_t * p_descriptor;
if (p_decoded->i_linkage_type == 0x08)
{
@@ -159,7 +160,7 @@ dvbpsi_descriptor_t * dvbpsi_GenLinkageDr(dvbpsi_linkage_dr_t * p_decoded,
return NULL;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x4a, p_decoded->i_private_data_length+length, NULL);
if (!p_descriptor)
return NULL;
diff --git a/src/descriptors/dr_4b.c b/src/descriptors/dr_4b.c
index dd75bb7..c19a3c3 100644
--- a/src/descriptors/dr_4b.c
+++ b/src/descriptors/dr_4b.c
@@ -44,6 +44,8 @@
*****************************************************************************/
dvbpsi_nvod_ref_dr_t* dvbpsi_DecodeNVODReferenceDr(dvbpsi_descriptor_t * p_descriptor)
{
+ dvbpsi_nvod_ref_dr_t * p_decoded;
+ int i;
/* Check the tag */
if (p_descriptor->i_tag != 0x4B)
return NULL;
@@ -59,7 +61,6 @@ dvbpsi_nvod_ref_dr_t* dvbpsi_DecodeNVODReferenceDr(dvbpsi_descriptor_t * p_descr
return NULL;
/* Allocate memory */
- dvbpsi_nvod_ref_dr_t * p_decoded;
p_decoded = (dvbpsi_nvod_ref_dr_t*)calloc(1, sizeof(dvbpsi_nvod_ref_dr_t));
if (!p_decoded)
return NULL;
@@ -69,7 +70,7 @@ dvbpsi_nvod_ref_dr_t* dvbpsi_DecodeNVODReferenceDr(dvbpsi_descriptor_t * p_descr
if (p_decoded->i_references > 43)
p_decoded->i_references = 43;
- for (int i = 0; i < p_decoded->i_references; i++)
+ for (i = 0; i < p_decoded->i_references; i++)
{
int pos = i*6;
p_decoded->p_nvod_refs[i].i_transport_stream_id = p_descriptor->p_data[pos] << 8
@@ -91,6 +92,7 @@ dvbpsi_nvod_ref_dr_t* dvbpsi_DecodeNVODReferenceDr(dvbpsi_descriptor_t * p_descr
dvbpsi_descriptor_t * dvbpsi_GenNVODReferenceDr(dvbpsi_nvod_ref_dr_t * p_decoded,
bool b_duplicate)
{
+ int pos = 0, i;
/* Create the descriptor */
dvbpsi_descriptor_t * p_descriptor =
dvbpsi_NewDescriptor(0x4b, p_decoded->i_references * 6, NULL);
@@ -101,8 +103,7 @@ dvbpsi_descriptor_t * dvbpsi_GenNVODReferenceDr(dvbpsi_nvod_ref_dr_t * p_decoded
p_decoded->i_references = 43;
/* Encode data */
- int pos = 0;
- for (int i = 0; i < p_decoded->i_references; i++ )
+ for (i = 0; i < p_decoded->i_references; i++ )
{
p_descriptor->p_data[pos++] = p_decoded->p_nvod_refs[i].i_transport_stream_id >> 8;
p_descriptor->p_data[pos++] = p_decoded->p_nvod_refs[i].i_transport_stream_id;
diff --git a/src/descriptors/dr_4c.c b/src/descriptors/dr_4c.c
index 48b8431..6e61c59 100644
--- a/src/descriptors/dr_4c.c
+++ b/src/descriptors/dr_4c.c
@@ -44,6 +44,7 @@
*****************************************************************************/
dvbpsi_tshifted_service_dr_t* dvbpsi_DecodeTimeShiftedServiceDr(dvbpsi_descriptor_t * p_descriptor)
{
+ dvbpsi_tshifted_service_dr_t *p_decoded;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x4c))
return NULL;
@@ -56,7 +57,6 @@ dvbpsi_tshifted_service_dr_t* dvbpsi_DecodeTimeShiftedServiceDr(dvbpsi_descripto
return NULL;
/* Allocate memory */
- dvbpsi_tshifted_service_dr_t *p_decoded;
p_decoded = (dvbpsi_tshifted_service_dr_t*)calloc(1, sizeof(dvbpsi_tshifted_service_dr_t));
if (!p_decoded)
return NULL;
diff --git a/src/descriptors/dr_4e.c b/src/descriptors/dr_4e.c
index 5fcb880..98a0d10 100644
--- a/src/descriptors/dr_4e.c
+++ b/src/descriptors/dr_4e.c
@@ -110,10 +110,12 @@ dvbpsi_descriptor_t * dvbpsi_GenExtendedEventDr(dvbpsi_extended_event_dr_t * p_d
{
int i_len;
int i_len2;
+ int i;
+ uint8_t* p;
dvbpsi_descriptor_t * p_descriptor;
i_len2 = 0;
- for (int i = 0; i < p_decoded->i_entry_count; i++)
+ for (i = 0; i < p_decoded->i_entry_count; i++)
i_len2 += 2 + p_decoded->i_item_description_length[i] + p_decoded->i_item_length[i];
i_len = 1 + 3 + 1 + i_len2 + 1 + p_decoded->i_text_length;
@@ -122,7 +124,7 @@ dvbpsi_descriptor_t * dvbpsi_GenExtendedEventDr(dvbpsi_extended_event_dr_t * p_d
if (!p_descriptor)
return NULL;
- uint8_t *p = &p_descriptor->p_data[0];
+ p = &p_descriptor->p_data[0];
/* Encode data */
p[0] = (p_decoded->i_descriptor_number << 4 ) |
@@ -132,7 +134,7 @@ dvbpsi_descriptor_t * dvbpsi_GenExtendedEventDr(dvbpsi_extended_event_dr_t * p_d
p += 4;
- for (int i = 0; i < p_decoded->i_entry_count; i++)
+ for (i = 0; i < p_decoded->i_entry_count; i++)
{
p[0] = p_decoded->i_item_description_length[i];
memcpy( &p[1], p_decoded->i_item_description[i], p[0] );
diff --git a/src/descriptors/dr_4f.c b/src/descriptors/dr_4f.c
index ba70790..2e8b8b0 100644
--- a/src/descriptors/dr_4f.c
+++ b/src/descriptors/dr_4f.c
@@ -43,6 +43,7 @@
* dvbpsi_DecodeTimeShiftedEventDr
*****************************************************************************/
dvbpsi_tshifted_ev_dr_t* dvbpsi_DecodeTimeShiftedEventDr(dvbpsi_descriptor_t * p_descriptor) {
+ dvbpsi_tshifted_ev_dr_t * p_decoded;
/* Check the tag */
if (p_descriptor->i_tag != 0x4F)
return NULL;
@@ -56,7 +57,6 @@ dvbpsi_tshifted_ev_dr_t* dvbpsi_DecodeTimeShiftedEventDr(dvbpsi_descriptor_t * p
return NULL;
/* Allocate memory */
- dvbpsi_tshifted_ev_dr_t * p_decoded;
p_decoded = (dvbpsi_tshifted_ev_dr_t*)calloc(1, sizeof(dvbpsi_tshifted_ev_dr_t));
if (!p_decoded)
return NULL;
diff --git a/src/descriptors/dr_50.c b/src/descriptors/dr_50.c
index a2e491c..a5b7b6b 100644
--- a/src/descriptors/dr_50.c
+++ b/src/descriptors/dr_50.c
@@ -44,6 +44,7 @@
*****************************************************************************/
dvbpsi_component_dr_t* dvbpsi_DecodeComponentDr(dvbpsi_descriptor_t * p_descriptor)
{
+ dvbpsi_component_dr_t * p_decoded;
/* Check the tag */
if (p_descriptor->i_tag != 0x50)
return NULL;
@@ -57,7 +58,6 @@ dvbpsi_component_dr_t* dvbpsi_DecodeComponentDr(dvbpsi_descriptor_t * p_descript
return NULL;
/* Allocate memory */
- dvbpsi_component_dr_t * p_decoded;
p_decoded = (dvbpsi_component_dr_t*)calloc(1, sizeof(dvbpsi_component_dr_t));
if (!p_decoded)
return NULL;
diff --git a/src/descriptors/dr_53.c b/src/descriptors/dr_53.c
index 60094da..1bfa47b 100644
--- a/src/descriptors/dr_53.c
+++ b/src/descriptors/dr_53.c
@@ -45,6 +45,7 @@
dvbpsi_ca_identifier_dr_t * dvbpsi_DecodeCAIdentifierDr(dvbpsi_descriptor_t *p_descriptor)
{
dvbpsi_ca_identifier_dr_t * p_decoded;
+ int i_number, i;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x53))
@@ -62,12 +63,12 @@ dvbpsi_ca_identifier_dr_t * dvbpsi_DecodeCAIdentifierDr(dvbpsi_descriptor_t *p_d
if (!p_decoded)
return NULL;
- int i_number = p_descriptor->i_length / 2;
+ i_number = p_descriptor->i_length / 2;
if (i_number > DVBPSI_CA_SYSTEM_ID_DR_MAX)
i_number = DVBPSI_CA_SYSTEM_ID_DR_MAX;
p_decoded->i_number = i_number;
- for (int i = 0; i < i_number; i++)
+ for (i = 0; i < i_number; i++)
{
/* TODO: decode CA system identifier values */
p_decoded->p_system[i].i_ca_system_id = p_descriptor->p_data[2 * i];
@@ -85,16 +86,18 @@ dvbpsi_ca_identifier_dr_t * dvbpsi_DecodeCAIdentifierDr(dvbpsi_descriptor_t *p_d
dvbpsi_descriptor_t * dvbpsi_GenCAIdentifierDr(dvbpsi_ca_identifier_dr_t *p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t* p_descriptor;
+ int i;
if (p_decoded->i_number > DVBPSI_CA_SYSTEM_ID_DR_MAX)
p_decoded->i_number = DVBPSI_CA_SYSTEM_ID_DR_MAX;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor = dvbpsi_NewDescriptor(0x53, p_decoded->i_number * 2, NULL);
+ p_descriptor = dvbpsi_NewDescriptor(0x53, p_decoded->i_number * 2, NULL);
if (!p_descriptor)
return NULL;
/* Encode data */
- for (int i = 0; i < p_decoded->i_number; i++ )
+ for (i = 0; i < p_decoded->i_number; i++ )
{
p_descriptor->p_data[2 * i] = p_decoded->p_system[i].i_ca_system_id >> 8;
p_descriptor->p_data[2 * i + 1] = p_decoded->p_system[i].i_ca_system_id;
diff --git a/src/descriptors/dr_54.c b/src/descriptors/dr_54.c
index b385561..6fbeb2f 100644
--- a/src/descriptors/dr_54.c
+++ b/src/descriptors/dr_54.c
@@ -45,6 +45,8 @@
dvbpsi_content_dr_t * dvbpsi_DecodeContentDr(
dvbpsi_descriptor_t * p_descriptor)
{
+ dvbpsi_content_dr_t * p_decoded;
+ int i_contents_number, i;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x54))
return NULL;
@@ -58,17 +60,16 @@ dvbpsi_content_dr_t * dvbpsi_DecodeContentDr(
return NULL;
/* Allocate memory */
- dvbpsi_content_dr_t * p_decoded;
p_decoded = (dvbpsi_content_dr_t*)malloc(sizeof(dvbpsi_content_dr_t));
if (!p_decoded)
return NULL;
- int i_contents_number = p_descriptor->i_length / 2;
+ i_contents_number = p_descriptor->i_length / 2;
if (i_contents_number > DVBPSI_CONTENT_DR_MAX)
i_contents_number = DVBPSI_CONTENT_DR_MAX;
p_decoded->i_contents_number = i_contents_number;
- for (int i = 0; i < i_contents_number; i++)
+ for (i = 0; i < i_contents_number; i++)
{
p_decoded->p_content[i].i_type = p_descriptor->p_data[2 * i];
p_decoded->p_content[i].i_user_byte = p_descriptor->p_data[2 * i + 1];
@@ -87,18 +88,20 @@ dvbpsi_descriptor_t * dvbpsi_GenContentDr(
dvbpsi_content_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
+ int i;
if (p_decoded->i_contents_number > DVBPSI_CONTENT_DR_MAX)
p_decoded->i_contents_number = DVBPSI_CONTENT_DR_MAX;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x54, p_decoded->i_contents_number * 2 , NULL);
if (!p_descriptor)
return NULL;
/* Encode data */
- for (int i = 0; i < p_decoded->i_contents_number; i++ )
+ for (i = 0; i < p_decoded->i_contents_number; i++ )
{
p_descriptor->p_data[8 * i] = p_decoded->p_content[i].i_type;
p_descriptor->p_data[8 * i + 1] = p_decoded->p_content[i].i_user_byte;
diff --git a/src/descriptors/dr_55.c b/src/descriptors/dr_55.c
index 3089cdd..9b35768 100644
--- a/src/descriptors/dr_55.c
+++ b/src/descriptors/dr_55.c
@@ -47,6 +47,8 @@
dvbpsi_parental_rating_dr_t * dvbpsi_DecodeParentalRatingDr(
dvbpsi_descriptor_t * p_descriptor)
{
+ dvbpsi_parental_rating_dr_t * p_decoded;
+ int i_ratings_number, i;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x55))
return NULL;
@@ -60,17 +62,16 @@ dvbpsi_parental_rating_dr_t * dvbpsi_DecodeParentalRatingDr(
return NULL;
/* Allocate memory */
- dvbpsi_parental_rating_dr_t * p_decoded;
p_decoded = (dvbpsi_parental_rating_dr_t*)malloc(sizeof(dvbpsi_parental_rating_dr_t));
if (!p_decoded)
return NULL;
- int i_ratings_number = p_descriptor->i_length / 4;
+ i_ratings_number = p_descriptor->i_length / 4;
if (i_ratings_number > DVBPSI_PARENTAL_RATING_DR_MAX)
i_ratings_number = DVBPSI_PARENTAL_RATING_DR_MAX;
p_decoded->i_ratings_number = i_ratings_number;
- for (int i = 0; i < i_ratings_number; i++)
+ for (i = 0; i < i_ratings_number; i++)
{
p_decoded->p_parental_rating[i].i_country_code =
((uint32_t)p_descriptor->p_data[4 * i] << 16)
@@ -93,18 +94,20 @@ dvbpsi_descriptor_t * dvbpsi_GenParentalRatingDr(
dvbpsi_parental_rating_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
+ int i;
if (p_decoded->i_ratings_number > DVBPSI_PARENTAL_RATING_DR_MAX)
p_decoded->i_ratings_number = DVBPSI_PARENTAL_RATING_DR_MAX;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x55, p_decoded->i_ratings_number * 4 , NULL);
if (!p_descriptor)
return NULL;
/* Encode data */
- for (int i = 0; i < p_decoded->i_ratings_number; i++ )
+ for (i = 0; i < p_decoded->i_ratings_number; i++ )
{
p_descriptor->p_data[8 * i] =
p_decoded->p_parental_rating[i].i_country_code >> 16;
diff --git a/src/descriptors/dr_56.c b/src/descriptors/dr_56.c
index a0edb1f..c42e778 100644
--- a/src/descriptors/dr_56.c
+++ b/src/descriptors/dr_56.c
@@ -46,6 +46,8 @@
dvbpsi_teletext_dr_t * dvbpsi_DecodeTeletextDr(
dvbpsi_descriptor_t * p_descriptor)
{
+ dvbpsi_teletext_dr_t * p_decoded;
+ int i_pages_number, i;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x56) &&
!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x46))
@@ -63,18 +65,16 @@ dvbpsi_teletext_dr_t * dvbpsi_DecodeTeletextDr(
return NULL;
/* Allocate memory */
- dvbpsi_teletext_dr_t * p_decoded;
p_decoded = (dvbpsi_teletext_dr_t*)malloc(sizeof(dvbpsi_teletext_dr_t));
if (!p_decoded)
return NULL;
- int i_pages_number;
i_pages_number = p_descriptor->i_length / 5;
if (i_pages_number > DVBPSI_TELETEXT_DR_MAX)
i_pages_number = DVBPSI_TELETEXT_DR_MAX;
p_decoded->i_pages_number = i_pages_number;
- for (int i = 0; i < i_pages_number; i++)
+ for (i = 0; i < i_pages_number; i++)
{
memcpy(p_decoded->p_pages[i].i_iso6392_language_code,
p_descriptor->p_data + 5 * i, 3);
@@ -100,17 +100,19 @@ dvbpsi_teletext_dr_t * dvbpsi_DecodeTeletextDr(
dvbpsi_descriptor_t * dvbpsi_GenTeletextDr(dvbpsi_teletext_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
+ int i;
if (p_decoded->i_pages_number > DVBPSI_TELETEXT_DR_MAX)
p_decoded->i_pages_number = DVBPSI_TELETEXT_DR_MAX;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x56, p_decoded->i_pages_number * 8 , NULL);
if (!p_descriptor)
return NULL;
/* Encode data */
- for (int i = 0; i < p_decoded->i_pages_number; i++ )
+ for (i = 0; i < p_decoded->i_pages_number; i++ )
{
memcpy( p_descriptor->p_data + 8 * i,
p_decoded->p_pages[i].i_iso6392_language_code,
diff --git a/src/descriptors/dr_58.c b/src/descriptors/dr_58.c
index cc52630..cb1fc46 100644
--- a/src/descriptors/dr_58.c
+++ b/src/descriptors/dr_58.c
@@ -106,23 +106,25 @@ dvbpsi_descriptor_t * dvbpsi_GenLocalTimeOffsetDr(
dvbpsi_local_time_offset_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
+ uint8_t i_num;
+ dvbpsi_local_time_offset_t * p_current;
+ uint8_t * p_data;
+
if (p_decoded->i_local_time_offsets_number > DVBPSI_LOCAL_TIME_OFFSET_DR_MAX)
p_decoded->i_local_time_offsets_number = DVBPSI_LOCAL_TIME_OFFSET_DR_MAX;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x58, p_decoded->i_local_time_offsets_number * 13, NULL);
if (!p_descriptor)
return NULL;
/* Encode data */
- dvbpsi_local_time_offset_t * p_current;
- uint8_t * p_data;
-
p_current = p_decoded->p_local_time_offset;
p_data = p_descriptor->p_data;
- for (uint8_t i_num = 0; i_num < p_decoded->i_local_time_offsets_number; i_num++)
+ for (i_num = 0; i_num < p_decoded->i_local_time_offsets_number; i_num++)
{
memcpy(p_data, p_current->i_country_code, 3);
p_data[3] = ((p_current->i_country_region_id & 0x3f) << 2)
diff --git a/src/descriptors/dr_59.c b/src/descriptors/dr_59.c
index 9261db8..952077f 100644
--- a/src/descriptors/dr_59.c
+++ b/src/descriptors/dr_59.c
@@ -48,7 +48,7 @@
dvbpsi_subtitling_dr_t * dvbpsi_DecodeSubtitlingDr(
dvbpsi_descriptor_t * p_descriptor)
{
- int i_subtitles_number;
+ int i_subtitles_number, i;
dvbpsi_subtitling_dr_t * p_decoded;
/* Check the tag */
@@ -76,7 +76,7 @@ dvbpsi_subtitling_dr_t * dvbpsi_DecodeSubtitlingDr(
i_subtitles_number = DVBPSI_SUBTITLING_DR_MAX;
p_decoded->i_subtitles_number = i_subtitles_number;
- for (int i = 0; i < i_subtitles_number; i++)
+ for (i = 0; i < i_subtitles_number; i++)
{
memcpy(p_decoded->p_subtitle[i].i_iso6392_language_code,
p_descriptor->p_data + 8 * i, 3);
@@ -106,17 +106,19 @@ dvbpsi_descriptor_t * dvbpsi_GenSubtitlingDr(
dvbpsi_subtitling_dr_t * p_decoded,
bool b_duplicate)
{
+ dvbpsi_descriptor_t * p_descriptor;
+ int i;
if (p_decoded->i_subtitles_number > DVBPSI_SUBTITLING_DR_MAX)
p_decoded->i_subtitles_number = DVBPSI_SUBTITLING_DR_MAX;
/* Create the descriptor */
- dvbpsi_descriptor_t * p_descriptor =
+ p_descriptor =
dvbpsi_NewDescriptor(0x59, p_decoded->i_subtitles_number * 8 , NULL);
if (!p_descriptor)
return NULL;
/* Encode data */
- for (int i = 0; i < p_decoded->i_subtitles_number; i++ )
+ for (i = 0; i < p_decoded->i_subtitles_number; i++ )
{
memcpy( p_descriptor->p_data + 8 * i,
p_decoded->p_subtitle[i].i_iso6392_language_code,
diff --git a/src/descriptors/dr_5a.c b/src/descriptors/dr_5a.c
index cbd3016..87038ff 100644
--- a/src/descriptors/dr_5a.c
+++ b/src/descriptors/dr_5a.c
@@ -47,6 +47,7 @@
dvbpsi_terr_deliv_sys_dr_t * dvbpsi_DecodeTerrDelivSysDr(
dvbpsi_descriptor_t * p_descriptor)
{
+ dvbpsi_terr_deliv_sys_dr_t * p_decoded;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x5a))
return NULL;
@@ -56,7 +57,6 @@ dvbpsi_terr_deliv_sys_dr_t * dvbpsi_DecodeTerrDelivSysDr(
return p_descriptor->p_decoded;
/* Allocate memory */
- dvbpsi_terr_deliv_sys_dr_t * p_decoded;
p_decoded = (dvbpsi_terr_deliv_sys_dr_t*)malloc(sizeof(dvbpsi_terr_deliv_sys_dr_t));
if (!p_decoded)
return NULL;
diff --git a/src/descriptors/dr_76.c b/src/descriptors/dr_76.c
index b32ee31..7cec2ba 100644
--- a/src/descriptors/dr_76.c
+++ b/src/descriptors/dr_76.c
@@ -77,10 +77,10 @@ dvbpsi_content_id_dr_t *dvbpsi_DecodeContentIdDr(dvbpsi_descriptor_t *p_descript
if (entry->i_location == CRID_LOCATION_DESCRIPTOR)
{
uint8_t len = p_descriptor->p_data[byte];
+ unsigned int i, last;
if (len > 253)
len = 253;
- unsigned int i;
byte ++;
for (i = 0; i < len; i ++)
{
@@ -88,7 +88,7 @@ dvbpsi_content_id_dr_t *dvbpsi_DecodeContentIdDr(dvbpsi_descriptor_t *p_descript
}
byte += len;
/* Properly terminate the string */
- unsigned int last = (i < len) ? i : len - 1U;
+ last = (i < len) ? i : len - 1U;
entry->value.path[last] = 0;
}
else if (entry->i_location == CRID_LOCATION_CIT)
diff --git a/src/descriptors/dr_7c.c b/src/descriptors/dr_7c.c
index f51acb4..5f2de82 100644
--- a/src/descriptors/dr_7c.c
+++ b/src/descriptors/dr_7c.c
@@ -109,8 +109,9 @@ static struct dvbpsi_aac_profile_and_level_table_s aac_profile_and_level_table[]
static dvbpsi_aac_profile_and_level_t dvbpsi_aac_profile_and_level_lookup(const uint8_t value)
{
dvbpsi_aac_profile_and_level_t profile_and_level = DVBPSI_AAC_PROFILE_RESERVED;
+ unsigned int i;
- for (unsigned int i = 0; i < ARRAY_SIZE(aac_profile_and_level_table); i++)
+ for (i = 0; i < ARRAY_SIZE(aac_profile_and_level_table); i++)
{
if (aac_profile_and_level_table[i].hex == value)
profile_and_level = aac_profile_and_level_table[i].profile_and_level;
@@ -127,7 +128,8 @@ static uint8_t dvbpsi_aac_profile_and_level_to_hex(const dvbpsi_aac_profile_and_
value = 0x56; /* FIXME: levels 0x56..0x57 and 0x5C..0xFF are mapped onto 0x56 here */
else
{
- for (unsigned int i = 0; i < ARRAY_SIZE(aac_profile_and_level_table); i++)
+ unsigned int i;
+ for (i = 0; i < ARRAY_SIZE(aac_profile_and_level_table); i++)
{
if (aac_profile_and_level_table[i].profile_and_level == profile_and_level)
value = aac_profile_and_level_table[i].hex;
@@ -179,7 +181,8 @@ static dvbpsi_aac_type_t dvbpsi_aac_type_lookup(const uint8_t value)
type = DVBPSI_AAC_RESERVED5;
else
{
- for (unsigned int i = 0; i < ARRAY_SIZE(aac_type_table); i++)
+ unsigned int i;
+ for (i = 0; i < ARRAY_SIZE(aac_type_table); i++)
{
if (aac_type_table[i].hex == value)
type = aac_type_table[i].type;
@@ -191,6 +194,7 @@ static dvbpsi_aac_type_t dvbpsi_aac_type_lookup(const uint8_t value)
static uint8_t dvbpsi_aac_type_to_hex(const dvbpsi_aac_type_t type)
{
uint8_t value = 0;
+ unsigned int i;
if (type == DVBPSI_AAC_RESERVED3)
value = 0x06; /* FIXME: 0x06..0x3F */
@@ -202,7 +206,7 @@ static uint8_t dvbpsi_aac_type_to_hex(const dvbpsi_aac_type_t type)
value = 0xFF;
else
{
- for (unsigned int i = 0; i < ARRAY_SIZE(aac_type_table); i++)
+ for (i = 0; i < ARRAY_SIZE(aac_type_table); i++)
{
if (aac_type_table[i].type == type)
value = aac_type_table[i].hex;
@@ -216,6 +220,7 @@ static uint8_t dvbpsi_aac_type_to_hex(const dvbpsi_aac_type_t type)
*****************************************************************************/
dvbpsi_aac_dr_t *dvbpsi_DecodeAACDr(dvbpsi_descriptor_t *p_descriptor)
{
+ dvbpsi_aac_dr_t *p_decoded;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x7c))
return NULL;
@@ -228,7 +233,6 @@ dvbpsi_aac_dr_t *dvbpsi_DecodeAACDr(dvbpsi_descriptor_t *p_descriptor)
return NULL;
/* Allocate memory */
- dvbpsi_aac_dr_t *p_decoded;
p_decoded = (dvbpsi_aac_dr_t*)calloc(1, sizeof(dvbpsi_aac_dr_t));
if (!p_decoded)
return NULL;
@@ -247,6 +251,8 @@ dvbpsi_aac_dr_t *dvbpsi_DecodeAACDr(dvbpsi_descriptor_t *p_descriptor)
{
uint8_t i_info_length = p_descriptor->i_length - (p_decoded->b_type ? 3 : 2);
dvbpsi_aac_dr_t *p_tmp = realloc(p_decoded, sizeof(dvbpsi_aac_dr_t) + i_info_length);
+ uint8_t i_data;
+ uint8_t *p;
if (!p_tmp)
{
free(p_decoded);
@@ -255,8 +261,8 @@ dvbpsi_aac_dr_t *dvbpsi_DecodeAACDr(dvbpsi_descriptor_t *p_descriptor)
p_decoded->p_additional_info = ((uint8_t*)p_tmp + sizeof(dvbpsi_aac_dr_t));
p_decoded->i_additional_info_length = i_info_length;
- uint8_t i_data = p_decoded->b_type ? 3 : 2;
- uint8_t *p = &p_descriptor->p_data[i_data];
+ i_data = p_decoded->b_type ? 3 : 2;
+ p = &p_descriptor->p_data[i_data];
memcpy(&p_decoded->p_additional_info, p, i_info_length);
}
diff --git a/src/descriptors/dr_86.c b/src/descriptors/dr_86.c
index 117d58a..9ddb3cf 100644
--- a/src/descriptors/dr_86.c
+++ b/src/descriptors/dr_86.c
@@ -46,6 +46,7 @@ dvbpsi_caption_service_dr_t *dvbpsi_DecodeCaptionServiceDr(dvbpsi_descriptor_t *
{
dvbpsi_caption_service_dr_t *p_decoded;
uint8_t * buf = p_descriptor->p_data;
+ int i;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x86))
@@ -68,7 +69,7 @@ dvbpsi_caption_service_dr_t *dvbpsi_DecodeCaptionServiceDr(dvbpsi_descriptor_t *
p_decoded->i_number_of_services = 0x1f & buf[0];
buf++;
- for (int i = 0; i < p_decoded->i_number_of_services; i++)
+ for (i = 0; i < p_decoded->i_number_of_services; i++)
{
dvbpsi_caption_service_t * p_service = &p_decoded->services[i];
diff --git a/src/descriptors/dr_8a.c b/src/descriptors/dr_8a.c
index 899640e..7e059af 100644
--- a/src/descriptors/dr_8a.c
+++ b/src/descriptors/dr_8a.c
@@ -45,6 +45,7 @@
*****************************************************************************/
dvbpsi_cuei_dr_t * dvbpsi_DecodeCUEIDr(dvbpsi_descriptor_t * p_descriptor)
{
+ dvbpsi_cuei_dr_t *p_decoded;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0x8a))
return NULL;
@@ -57,7 +58,6 @@ dvbpsi_cuei_dr_t * dvbpsi_DecodeCUEIDr(dvbpsi_descriptor_t * p_descriptor)
return NULL;
/* Allocate memory */
- dvbpsi_cuei_dr_t *p_decoded;
p_decoded = (dvbpsi_cuei_dr_t*)malloc(sizeof(dvbpsi_cuei_dr_t));
if (!p_decoded)
return NULL;
diff --git a/src/descriptors/dr_a1.c b/src/descriptors/dr_a1.c
index faeb8a2..a737480 100644
--- a/src/descriptors/dr_a1.c
+++ b/src/descriptors/dr_a1.c
@@ -49,6 +49,7 @@ dvbpsi_DecodeServiceLocationDr (dvbpsi_descriptor_t * p_descriptor)
{
dvbpsi_service_location_dr_t *p_decoded;
uint8_t *buf = p_descriptor->p_data;
+ int i;
/* Check the tag */
if (!dvbpsi_CanDecodeAsDescriptor(p_descriptor, 0xa1))
@@ -77,7 +78,7 @@ dvbpsi_DecodeServiceLocationDr (dvbpsi_descriptor_t * p_descriptor)
buf += 3;
- for (int i = 0; i < p_decoded->i_number_elements; i++)
+ for (i = 0; i < p_decoded->i_number_elements; i++)
{
dvbpsi_service_location_element_t *p_element = &p_decoded->elements[i];
diff --git a/src/dvbpsi.c b/src/dvbpsi.c
index 89d4932..6c0c903 100644
--- a/src/dvbpsi.c
+++ b/src/dvbpsi.c
@@ -79,9 +79,10 @@ void dvbpsi_delete(dvbpsi_t *p_dvbpsi)
void *dvbpsi_decoder_new(dvbpsi_callback_gather_t pf_gather,
const int i_section_max_size, const bool b_discontinuity, const size_t psi_size)
{
+ dvbpsi_decoder_t* p_decoder;
assert(psi_size >= sizeof(dvbpsi_decoder_t));
- dvbpsi_decoder_t *p_decoder = (dvbpsi_decoder_t *) calloc(1, psi_size);
+ p_decoder = (dvbpsi_decoder_t *) calloc(1, psi_size);
if (p_decoder == NULL)
return NULL;
@@ -122,12 +123,14 @@ void dvbpsi_decoder_reset(dvbpsi_decoder_t* p_decoder, const bool b_force)
*****************************************************************************/
bool dvbpsi_decoder_psi_sections_completed(dvbpsi_decoder_t* p_decoder)
{
- assert(p_decoder);
bool b_complete = false;
- dvbpsi_psi_section_t *p = p_decoder->p_sections;
+ dvbpsi_psi_section_t *p;
unsigned int prev_nr = 0;
+
+ assert(p_decoder);
+ p = p_decoder->p_sections;
while (p)
{
assert(prev_nr < 256);
@@ -147,6 +150,10 @@ bool dvbpsi_decoder_psi_sections_completed(dvbpsi_decoder_t* p_decoder)
*****************************************************************************/
bool dvbpsi_decoder_psi_section_add(dvbpsi_decoder_t *p_decoder, dvbpsi_psi_section_t *p_section)
{
+ dvbpsi_psi_section_t *p_prev = NULL;
+ bool b_overwrite = false;
+ dvbpsi_psi_section_t *p;
+
assert(p_decoder);
assert(p_section);
assert(p_section->p_next == NULL);
@@ -160,9 +167,7 @@ bool dvbpsi_decoder_psi_section_add(dvbpsi_decoder_t *p_decoder, dvbpsi_psi_sect
}
/* Insert in right place */
- dvbpsi_psi_section_t *p = p_decoder->p_sections;
- dvbpsi_psi_section_t *p_prev = NULL;
- bool b_overwrite = false;
+ p = p_decoder->p_sections;
while (p)
{
@@ -262,6 +267,7 @@ bool dvbpsi_packet_push(dvbpsi_t *p_dvbpsi, uint8_t* p_data)
section is handled */
int i_available; /* Byte count available in the
packet */
+ bool b_first;
dvbpsi_decoder_t *p_decoder = p_dvbpsi->p_decoder;
assert(p_decoder);
@@ -274,7 +280,7 @@ bool dvbpsi_packet_push(dvbpsi_t *p_dvbpsi, uint8_t* p_data)
}
/* Continuity check */
- bool b_first = (p_decoder->i_continuity_counter == DVBPSI_INVALID_CC);
+ b_first = (p_decoder->i_continuity_counter == DVBPSI_INVALID_CC);
if (b_first)
p_decoder->i_continuity_counter = p_data[3] & 0xf;
else
@@ -521,10 +527,11 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char
(level <= dvbpsi->i_msg_level))
{
va_list ap;
- va_start(ap, fmt);
char *msg = NULL;
+ int err;
+ va_start(ap, fmt);
#if defined(_GNU_SOURCE)
- int err = vasprintf(&msg, fmt, ap);
+ err = vasprintf(&msg, fmt, ap);
#else
msg = malloc(DVBPSI_MSG_SIZE);
if (msg == NULL) {
@@ -536,7 +543,7 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char
free(msg);
return;
}
- int err = vsnprintf(&msg, DVBPSI_MSG_SIZE, fmt, ap);
+ err = vsnprintf(&msg, DVBPSI_MSG_SIZE, fmt, ap);
#endif
va_end(ap);
if (err > DVBPSI_MSG_NONE) {
@@ -553,14 +560,15 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char
# define DVBPSI_MSG_COMMON(level) \
do { \
va_list ap; \
- va_start(ap, fmt); \
char *tmp = NULL; \
- int err = vasprintf(&tmp, fmt, ap); \
+ int err; \
+ char *msg = NULL; \
+ va_start(ap, fmt); \
+ err = vasprintf(&tmp, fmt, ap); \
if (err < 0) { \
va_end(ap); \
return; \
} \
- char *msg = NULL; \
if (asprintf(&msg, DVBPSI_MSG_FORMAT, src, tmp) < 0) { \
va_end(ap); \
free(tmp); \
@@ -578,8 +586,9 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char
# define DVBPSI_MSG_COMMON \
do { \
va_list ap; \
- va_start(ap, fmt); \
char *msg = malloc(DVBPSI_MSG_SIZE); \
+ int err; \
+ va_start(ap, fmt); \
if (msg == NULL) { \
va_end(ap); \
return; \
@@ -588,7 +597,7 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char
va_end(ap); \
return; \
} \
- int err = vsnprintf(&msg, DVBPSI_MSG_SIZE, fmt, ap); \
+ err = vsnprintf(&msg, DVBPSI_MSG_SIZE, fmt, ap); \
va_end(ap); \
if (err > 0) { \
if (dvbpsi->pf_message) \
diff --git a/src/tables/atsc_eit.c b/src/tables/atsc_eit.c
index b276fd1..eae50bb 100644
--- a/src/tables/atsc_eit.c
+++ b/src/tables/atsc_eit.c
@@ -83,10 +83,13 @@ static void dvbpsi_atsc_DecodeEITSections(dvbpsi_atsc_eit_t* p_eit,
bool dvbpsi_atsc_AttachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_atsc_eit_callback pf_callback, void* p_cb_data)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_atsc_eit_decoder_t* p_eit_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t* p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
if (dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension))
{
@@ -96,13 +99,11 @@ bool dvbpsi_atsc_AttachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
return false;
}
- dvbpsi_atsc_eit_decoder_t* p_eit_decoder;
p_eit_decoder = (dvbpsi_atsc_eit_decoder_t*) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_atsc_eit_decoder_t));
if (p_eit_decoder == NULL)
return false;
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_atsc_DetachEIT,
dvbpsi_atsc_GatherEITSections, DVBPSI_DECODER(p_eit_decoder));
if (p_subdec == NULL)
@@ -129,11 +130,13 @@ bool dvbpsi_atsc_AttachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
*****************************************************************************/
void dvbpsi_atsc_DetachEIT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_demux_subdec_t* p_subdec;
+ dvbpsi_atsc_eit_decoder_t* p_eit_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_demux_subdec_t* p_subdec;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
if (p_subdec == NULL)
{
@@ -144,7 +147,6 @@ void dvbpsi_atsc_DetachEIT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_e
return;
}
- dvbpsi_atsc_eit_decoder_t* p_eit_decoder;
p_eit_decoder = (dvbpsi_atsc_eit_decoder_t*)p_subdec->p_decoder;
if (!p_eit_decoder)
return;
@@ -383,6 +385,8 @@ static void dvbpsi_atsc_GatherEITSections(dvbpsi_t * p_dvbpsi,
dvbpsi_decoder_t *p_decoder,
dvbpsi_psi_section_t * p_section)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_atsc_eit_decoder_t *p_eit_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
@@ -393,8 +397,8 @@ static void dvbpsi_atsc_GatherEITSections(dvbpsi_t * p_dvbpsi,
}
/* We have a valid EIT section */
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_atsc_eit_decoder_t *p_eit_decoder = (dvbpsi_atsc_eit_decoder_t*)p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_eit_decoder = (dvbpsi_atsc_eit_decoder_t*)p_decoder;
if (!p_eit_decoder)
{
dvbpsi_error(p_dvbpsi, "ATSC EIT decoder", "No decoder specified");
diff --git a/src/tables/atsc_ett.c b/src/tables/atsc_ett.c
index 9b4358b..d27619e 100644
--- a/src/tables/atsc_ett.c
+++ b/src/tables/atsc_ett.c
@@ -86,10 +86,13 @@ static void dvbpsi_atsc_DecodeETTSections(dvbpsi_atsc_ett_t* p_ett,
bool dvbpsi_atsc_AttachETT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_atsc_ett_callback pf_callback, void* p_cb_data)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_atsc_ett_decoder_t* p_ett_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t* p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
if (dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension))
{
@@ -99,14 +102,12 @@ bool dvbpsi_atsc_AttachETT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_e
return false;
}
- dvbpsi_atsc_ett_decoder_t* p_ett_decoder;
p_ett_decoder = (dvbpsi_atsc_ett_decoder_t*) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_atsc_ett_decoder_t));
if (p_ett_decoder == NULL)
return false;
/* PSI decoder configuration */
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_atsc_DetachETT,
dvbpsi_atsc_GatherETTSections, DVBPSI_DECODER(p_ett_decoder));
if (p_subdec == NULL)
@@ -133,12 +134,14 @@ bool dvbpsi_atsc_AttachETT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_e
*****************************************************************************/
void dvbpsi_atsc_DetachETT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_demux_subdec_t* p_subdec;
+ dvbpsi_atsc_ett_decoder_t* p_ett_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
if (p_subdec == NULL)
{
@@ -149,7 +152,6 @@ void dvbpsi_atsc_DetachETT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
return;
}
- dvbpsi_atsc_ett_decoder_t* p_ett_decoder;
p_ett_decoder = (dvbpsi_atsc_ett_decoder_t*)p_subdec->p_decoder;
if (!p_ett_decoder)
return;
@@ -321,6 +323,8 @@ static void dvbpsi_atsc_GatherETTSections(dvbpsi_t* p_dvbpsi,
dvbpsi_decoder_t *p_decoder,
dvbpsi_psi_section_t* p_section)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_atsc_ett_decoder_t* p_ett_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
@@ -331,8 +335,8 @@ static void dvbpsi_atsc_GatherETTSections(dvbpsi_t* p_dvbpsi,
}
/* We have a valid ETT section */
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_atsc_ett_decoder_t* p_ett_decoder = (dvbpsi_atsc_ett_decoder_t*)p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_ett_decoder = (dvbpsi_atsc_ett_decoder_t*)p_decoder;
if (!p_ett_decoder)
{
dvbpsi_error(p_dvbpsi, "ATSC ETT decoder", "No decoder specified");
diff --git a/src/tables/atsc_mgt.c b/src/tables/atsc_mgt.c
index 3537274..2f6f613 100644
--- a/src/tables/atsc_mgt.c
+++ b/src/tables/atsc_mgt.c
@@ -87,10 +87,13 @@ static void dvbpsi_atsc_DecodeMGTSections(dvbpsi_atsc_mgt_t* p_mgt,
bool dvbpsi_atsc_AttachMGT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_atsc_mgt_callback pf_callback, void* p_cb_data)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_atsc_mgt_decoder_t* p_mgt_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
if (dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension))
{
@@ -100,13 +103,11 @@ bool dvbpsi_atsc_AttachMGT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
return false;
}
- dvbpsi_atsc_mgt_decoder_t* p_mgt_decoder;
p_mgt_decoder = (dvbpsi_atsc_mgt_decoder_t*) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_atsc_mgt_decoder_t));
if(p_mgt_decoder == NULL)
return false;
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_atsc_DetachMGT,
dvbpsi_atsc_GatherMGTSections, DVBPSI_DECODER(p_mgt_decoder));
if (p_subdec == NULL)
@@ -133,12 +134,14 @@ bool dvbpsi_atsc_AttachMGT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
*****************************************************************************/
void dvbpsi_atsc_DetachMGT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_demux_subdec_t* p_subdec;
+ dvbpsi_atsc_mgt_decoder_t* p_mgt_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
if (p_subdec == NULL)
{
@@ -149,7 +152,6 @@ void dvbpsi_atsc_DetachMGT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
return;
}
- dvbpsi_atsc_mgt_decoder_t* p_mgt_decoder;
p_mgt_decoder = (dvbpsi_atsc_mgt_decoder_t*)p_subdec->p_decoder;
if (!p_mgt_decoder)
return;
@@ -406,6 +408,8 @@ static void dvbpsi_atsc_GatherMGTSections(dvbpsi_t * p_dvbpsi,
dvbpsi_decoder_t *p_decoder,
dvbpsi_psi_section_t * p_section)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_atsc_mgt_decoder_t * p_mgt_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
@@ -416,8 +420,8 @@ static void dvbpsi_atsc_GatherMGTSections(dvbpsi_t * p_dvbpsi,
}
/* We have a valid MGT section */
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_atsc_mgt_decoder_t * p_mgt_decoder = (dvbpsi_atsc_mgt_decoder_t*)p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_mgt_decoder = (dvbpsi_atsc_mgt_decoder_t*)p_decoder;
if (!p_mgt_decoder)
{
dvbpsi_error(p_dvbpsi, "ATSC MGT decoder", "No decoder specified");
diff --git a/src/tables/atsc_stt.c b/src/tables/atsc_stt.c
index 88340ae..f2b9719 100644
--- a/src/tables/atsc_stt.c
+++ b/src/tables/atsc_stt.c
@@ -73,10 +73,13 @@ static void dvbpsi_atsc_DecodeSTTSections(dvbpsi_atsc_stt_t* p_stt,
bool dvbpsi_atsc_AttachSTT(dvbpsi_t* p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_atsc_stt_callback pf_stt_callback, void* p_cb_data)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_atsc_stt_decoder_t* p_stt_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t* p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
if (dvbpsi_demuxGetSubDec(p_demux, i_table_id, 0))
{
dvbpsi_error(p_dvbpsi, "ATSC STT decoder",
@@ -85,14 +88,12 @@ bool dvbpsi_atsc_AttachSTT(dvbpsi_t* p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
return false;
}
- dvbpsi_atsc_stt_decoder_t* p_stt_decoder;
p_stt_decoder = (dvbpsi_atsc_stt_decoder_t*) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_atsc_stt_decoder_t));
if (p_stt_decoder == NULL)
return false;
/* subtable decoder configuration */
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_atsc_DetachSTT,
dvbpsi_atsc_GatherSTTSections, DVBPSI_DECODER(p_stt_decoder));
if (p_subdec == NULL)
@@ -119,13 +120,15 @@ bool dvbpsi_atsc_AttachSTT(dvbpsi_t* p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
*****************************************************************************/
void dvbpsi_atsc_DetachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_demux_subdec_t* p_subdec;
+ dvbpsi_atsc_stt_decoder_t* p_stt_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
i_extension = 0;
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
if (p_subdec == NULL)
{
@@ -136,7 +139,6 @@ void dvbpsi_atsc_DetachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
return;
}
- dvbpsi_atsc_stt_decoder_t* p_stt_decoder;
p_stt_decoder = (dvbpsi_atsc_stt_decoder_t*)p_subdec->p_decoder;
if(!p_stt_decoder)
return;
@@ -311,6 +313,8 @@ static void dvbpsi_atsc_GatherSTTSections(dvbpsi_t *p_dvbpsi,
dvbpsi_decoder_t *p_decoder,
dvbpsi_psi_section_t * p_section)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_atsc_stt_decoder_t *p_stt_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
@@ -321,8 +325,8 @@ static void dvbpsi_atsc_GatherSTTSections(dvbpsi_t *p_dvbpsi,
}
/* */
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_atsc_stt_decoder_t *p_stt_decoder = (dvbpsi_atsc_stt_decoder_t*)p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_stt_decoder = (dvbpsi_atsc_stt_decoder_t*)p_decoder;
if (!p_stt_decoder)
{
dvbpsi_error(p_dvbpsi, "ATSC STT decoder", "No decoder specified");
diff --git a/src/tables/atsc_vct.c b/src/tables/atsc_vct.c
index 7a4ccf4..c1b515e 100644
--- a/src/tables/atsc_vct.c
+++ b/src/tables/atsc_vct.c
@@ -95,10 +95,13 @@ static void dvbpsi_atsc_DecodeVCTSections(dvbpsi_atsc_vct_t* p_vct,
bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_atsc_vct_callback pf_vct_callback, void* p_cb_data)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_atsc_vct_decoder_t* p_vct_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t* p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
if (dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension))
{
@@ -109,14 +112,12 @@ bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
return false;
}
- dvbpsi_atsc_vct_decoder_t* p_vct_decoder;
p_vct_decoder = (dvbpsi_atsc_vct_decoder_t*) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_atsc_vct_decoder_t));
if (p_vct_decoder == NULL)
return false;
/* subtable decoder configuration */
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_atsc_DetachVCT,
dvbpsi_atsc_GatherVCTSections, DVBPSI_DECODER(p_vct_decoder));
if (p_subdec == NULL)
@@ -143,12 +144,14 @@ bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
*****************************************************************************/
void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_demux_subdec_t* p_subdec;
+ dvbpsi_atsc_vct_decoder_t* p_vct_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
if(p_subdec == NULL)
{
@@ -159,7 +162,6 @@ void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
return;
}
- dvbpsi_atsc_vct_decoder_t* p_vct_decoder;
p_vct_decoder = (dvbpsi_atsc_vct_decoder_t*)p_subdec->p_decoder;
if (!p_vct_decoder)
return;
@@ -446,13 +448,15 @@ static void dvbpsi_atsc_GatherVCTSections(dvbpsi_t *p_dvbpsi,
dvbpsi_decoder_t *p_decoder,
dvbpsi_psi_section_t *p_section)
{
- assert(p_dvbpsi);
- assert(p_dvbpsi->p_decoder);
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_atsc_vct_decoder_t *p_vct_decoder;
- const uint8_t i_table_id = (p_section->i_table_id == 0xC8 ||
+ const uint8_t i_table_id = (p_section->i_table_id == 0xC8 ||
p_section->i_table_id == 0xC9) ?
p_section->i_table_id : 0xC8;
+ assert(p_dvbpsi);
+ assert(p_dvbpsi->p_decoder);
if (!dvbpsi_CheckPSISection(p_dvbpsi, p_section, i_table_id, "ATSC VCT decoder"))
{
dvbpsi_DeletePSISections(p_section);
@@ -460,8 +464,8 @@ static void dvbpsi_atsc_GatherVCTSections(dvbpsi_t *p_dvbpsi,
}
/* */
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_atsc_vct_decoder_t *p_vct_decoder = (dvbpsi_atsc_vct_decoder_t*)p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_vct_decoder = (dvbpsi_atsc_vct_decoder_t*)p_decoder;
/* TS discontinuity check */
if (p_demux->b_discontinuity)
diff --git a/src/tables/bat.c b/src/tables/bat.c
index f4171f8..e55b3ba 100644
--- a/src/tables/bat.c
+++ b/src/tables/bat.c
@@ -58,10 +58,13 @@
bool dvbpsi_bat_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
uint16_t i_extension, dvbpsi_bat_callback pf_callback, void* p_cb_data)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_bat_decoder_t* p_bat_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t* p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
if (dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension))
{
dvbpsi_error(p_dvbpsi, "BAT decoder",
@@ -71,14 +74,12 @@ bool dvbpsi_bat_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
return false;
}
- dvbpsi_bat_decoder_t* p_bat_decoder;
p_bat_decoder = (dvbpsi_bat_decoder_t*) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_bat_decoder_t));
if (p_bat_decoder == NULL)
return false;
/* subtable decoder configuration */
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_bat_detach,
dvbpsi_bat_sections_gather, DVBPSI_DECODER(p_bat_decoder));
if (p_subdec == NULL)
@@ -105,12 +106,14 @@ bool dvbpsi_bat_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
*****************************************************************************/
void dvbpsi_bat_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_bat_decoder_t* p_bat_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
if (p_subdec == NULL)
{
@@ -121,7 +124,6 @@ void dvbpsi_bat_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
return;
}
- dvbpsi_bat_decoder_t* p_bat_decoder;
p_bat_decoder = (dvbpsi_bat_decoder_t*)p_subdec->p_decoder;
if (p_bat_decoder->p_building_bat)
dvbpsi_bat_delete(p_bat_decoder->p_building_bat);
diff --git a/src/tables/cat.c b/src/tables/cat.c
index 385c50d..1539ffc 100644
--- a/src/tables/cat.c
+++ b/src/tables/cat.c
@@ -57,10 +57,10 @@
bool dvbpsi_cat_attach(dvbpsi_t *p_dvbpsi, dvbpsi_cat_callback pf_callback,
void* p_cb_data)
{
+ dvbpsi_cat_decoder_t* p_cat_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder == NULL);
- dvbpsi_cat_decoder_t* p_cat_decoder;
p_cat_decoder = (dvbpsi_cat_decoder_t*) dvbpsi_decoder_new(&dvbpsi_cat_sections_gather,
1024, true, sizeof(dvbpsi_cat_decoder_t));
if (p_cat_decoder == NULL)
@@ -82,11 +82,11 @@ bool dvbpsi_cat_attach(dvbpsi_t *p_dvbpsi, dvbpsi_cat_callback pf_callback,
*****************************************************************************/
void dvbpsi_cat_detach(dvbpsi_t *p_dvbpsi)
{
+ dvbpsi_cat_decoder_t* p_cat_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_cat_decoder_t* p_cat_decoder
- = (dvbpsi_cat_decoder_t*)p_dvbpsi->p_decoder;
+ p_cat_decoder = (dvbpsi_cat_decoder_t*)p_dvbpsi->p_decoder;
if (p_cat_decoder->p_building_cat)
dvbpsi_cat_delete(p_cat_decoder->p_building_cat);
p_cat_decoder->p_building_cat = NULL;
@@ -188,9 +188,9 @@ static void dvbpsi_ReInitCAT(dvbpsi_cat_decoder_t* p_decoder, const bool b_force
static bool dvbpsi_CheckCAT(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section)
{
bool b_reinit = false;
+ dvbpsi_cat_decoder_t* p_cat_decoder;
assert(p_dvbpsi->p_decoder);
- dvbpsi_cat_decoder_t* p_cat_decoder;
p_cat_decoder = (dvbpsi_cat_decoder_t *)p_dvbpsi->p_decoder;
/* Perform a few sanity checks */
@@ -259,6 +259,7 @@ static bool dvbpsi_AddSectionCAT(dvbpsi_t *p_dvbpsi, dvbpsi_cat_decoder_t *p_dec
void dvbpsi_cat_sections_gather(dvbpsi_t *p_dvbpsi,
dvbpsi_psi_section_t* p_section)
{
+ dvbpsi_cat_decoder_t* p_cat_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
@@ -269,8 +270,7 @@ void dvbpsi_cat_sections_gather(dvbpsi_t *p_dvbpsi,
}
/* */
- dvbpsi_cat_decoder_t* p_cat_decoder
- = (dvbpsi_cat_decoder_t*)p_dvbpsi->p_decoder;
+ p_cat_decoder = (dvbpsi_cat_decoder_t*)p_dvbpsi->p_decoder;
/* TS discontinuity check */
if (p_cat_decoder->b_discontinuity)
diff --git a/src/tables/eit.c b/src/tables/eit.c
index 6e359a2..c8314f7 100644
--- a/src/tables/eit.c
+++ b/src/tables/eit.c
@@ -57,10 +57,13 @@
bool dvbpsi_eit_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_eit_callback pf_callback, void* p_cb_data)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_eit_decoder_t* p_eit_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t* p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
if (dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension) != NULL)
{
@@ -71,14 +74,12 @@ bool dvbpsi_eit_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
return false;
}
- dvbpsi_eit_decoder_t* p_eit_decoder;
p_eit_decoder = (dvbpsi_eit_decoder_t*) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_eit_decoder_t));
if (p_eit_decoder == NULL)
return false;
/* subtable decoder configuration */
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_eit_detach,
dvbpsi_eit_sections_gather, DVBPSI_DECODER(p_eit_decoder));
if (p_subdec == NULL)
@@ -106,12 +107,14 @@ bool dvbpsi_eit_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
void dvbpsi_eit_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
uint16_t i_extension)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_eit_decoder_t* p_eit_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
if (p_subdec == NULL)
{
@@ -122,7 +125,6 @@ void dvbpsi_eit_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
return;
}
- dvbpsi_eit_decoder_t* p_eit_decoder;
p_eit_decoder = (dvbpsi_eit_decoder_t*)p_subdec->p_decoder;
if (p_eit_decoder->p_building_eit)
dvbpsi_eit_delete(p_eit_decoder->p_building_eit);
@@ -328,10 +330,10 @@ static bool dvbpsi_CheckEIT(dvbpsi_t *p_dvbpsi, dvbpsi_eit_decoder_t *p_eit_deco
static bool dvbpsi_IsCompleteEIT(dvbpsi_eit_decoder_t* p_eit_decoder, dvbpsi_psi_section_t* p_section)
{
- assert(p_eit_decoder);
-
bool b_complete = false;
+ assert(p_eit_decoder);
+
/* As there may be gaps in the section_number fields (see below), we
* have to wait until we have received a section_number twice or
* until we have a received a section_number which is
@@ -424,13 +426,15 @@ static bool dvbpsi_AddSectionEIT(dvbpsi_t *p_dvbpsi, dvbpsi_eit_decoder_t *p_eit
void dvbpsi_eit_sections_gather(dvbpsi_t *p_dvbpsi, dvbpsi_decoder_t *p_private_decoder,
dvbpsi_psi_section_t *p_section)
{
- assert(p_dvbpsi);
- assert(p_dvbpsi->p_decoder);
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_eit_decoder_t* p_eit_decoder;
- const uint8_t i_table_id = (p_section->i_table_id >= 0x4e &&
+ const uint8_t i_table_id = (p_section->i_table_id >= 0x4e &&
p_section->i_table_id <= 0x6f) ?
p_section->i_table_id : 0x4e;
+ assert(p_dvbpsi);
+ assert(p_dvbpsi->p_decoder);
if (!dvbpsi_CheckPSISection(p_dvbpsi, p_section, i_table_id, "EIT decoder"))
{
dvbpsi_DeletePSISections(p_section);
@@ -438,9 +442,8 @@ void dvbpsi_eit_sections_gather(dvbpsi_t *p_dvbpsi, dvbpsi_decoder_t *p_private_
}
/* We have a valid EIT section */
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_eit_decoder_t* p_eit_decoder
- = (dvbpsi_eit_decoder_t*)p_private_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_eit_decoder = (dvbpsi_eit_decoder_t*)p_private_decoder;
/* TS discontinuity check */
if (p_demux->b_discontinuity)
@@ -541,12 +544,13 @@ void dvbpsi_eit_sections_decode(dvbpsi_eit_t* p_eit,
dvbpsi_eit_event_t *p_event = dvbpsi_eit_event_add(p_eit,
i_event_id, i_start_time, i_duration,
i_running_status, b_free_ca, i_ev_length);
+ uint8_t* p_ev_end;
if (!p_event)
break;
/* Event Descriptors */
p_byte += 12;
- uint8_t *p_ev_end = p_byte + i_ev_length;
+ p_ev_end = p_byte + i_ev_length;
if (p_ev_end > p_section->p_payload_end)
p_ev_end = p_section->p_payload_end;
while (p_byte < p_ev_end)
diff --git a/src/tables/nit.c b/src/tables/nit.c
index c4bca0b..8c57ada 100644
--- a/src/tables/nit.c
+++ b/src/tables/nit.c
@@ -59,10 +59,13 @@ bool dvbpsi_nit_attach(dvbpsi_t* p_dvbpsi, uint8_t i_table_id,
uint16_t i_extension, dvbpsi_nit_callback pf_callback,
void* p_cb_data)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_nit_decoder_t* p_nit_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t* p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
if (dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension))
{
@@ -73,14 +76,12 @@ bool dvbpsi_nit_attach(dvbpsi_t* p_dvbpsi, uint8_t i_table_id,
return false;
}
- dvbpsi_nit_decoder_t* p_nit_decoder;
p_nit_decoder = (dvbpsi_nit_decoder_t*) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_nit_decoder_t));
if (p_nit_decoder == NULL)
return false;
/* subtable decoder configuration */
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_nit_detach,
dvbpsi_nit_sections_gather, DVBPSI_DECODER(p_nit_decoder));
if (p_subdec == NULL)
@@ -111,6 +112,7 @@ void dvbpsi_nit_detach(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_exten
dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
dvbpsi_demux_subdec_t* p_subdec;
+ dvbpsi_nit_decoder_t* p_nit_decoder;
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
if (p_subdec == NULL)
{
@@ -121,7 +123,6 @@ void dvbpsi_nit_detach(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_exten
return;
}
- dvbpsi_nit_decoder_t* p_nit_decoder;
p_nit_decoder = (dvbpsi_nit_decoder_t*)p_subdec->p_decoder;
if (p_nit_decoder->p_building_nit)
dvbpsi_nit_delete(p_nit_decoder->p_building_nit);
@@ -299,11 +300,11 @@ static void dvbpsi_ReInitNIT(dvbpsi_nit_decoder_t* p_decoder, const bool b_force
static bool dvbpsi_CheckNIT(dvbpsi_t *p_dvbpsi, dvbpsi_nit_decoder_t *p_nit_decoder,
dvbpsi_psi_section_t *p_section)
{
+ bool b_reinit = false;
+
assert(p_dvbpsi);
assert(p_nit_decoder);
- bool b_reinit = false;
-
if (p_nit_decoder->p_building_nit->i_version != p_section->i_version)
{
/* version_number */
@@ -360,12 +361,13 @@ void dvbpsi_nit_sections_gather(dvbpsi_t *p_dvbpsi,
dvbpsi_decoder_t *p_private_decoder,
dvbpsi_psi_section_t *p_section)
{
- assert(p_dvbpsi);
+ dvbpsi_nit_decoder_t* p_nit_decoder;
- const uint8_t i_table_id = ((p_section->i_table_id == 0x40) ||
+ const uint8_t i_table_id = ((p_section->i_table_id == 0x40) ||
(p_section->i_table_id == 0x41)) ?
p_section->i_table_id : 0x40;
+ assert(p_dvbpsi);
if (!dvbpsi_CheckPSISection(p_dvbpsi, p_section, i_table_id, "NIT decoder"))
{
dvbpsi_DeletePSISections(p_section);
@@ -373,8 +375,7 @@ void dvbpsi_nit_sections_gather(dvbpsi_t *p_dvbpsi,
}
/* */
- dvbpsi_nit_decoder_t* p_nit_decoder
- = (dvbpsi_nit_decoder_t*)p_private_decoder;
+ p_nit_decoder = (dvbpsi_nit_decoder_t*)p_private_decoder;
/* We have a valid NIT section */
if (p_nit_decoder->i_network_id != p_section->i_extension)
diff --git a/src/tables/pat.c b/src/tables/pat.c
index 0ad625c..4dcf3ad 100644
--- a/src/tables/pat.c
+++ b/src/tables/pat.c
@@ -53,11 +53,11 @@
bool dvbpsi_pat_attach(dvbpsi_t *p_dvbpsi, dvbpsi_pat_callback pf_callback,
void* p_cb_data)
{
+ dvbpsi_pat_decoder_t *p_pat_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder == NULL);
/* PSI decoder configuration and initial state */
- dvbpsi_pat_decoder_t *p_pat_decoder;
p_pat_decoder = (dvbpsi_pat_decoder_t*) dvbpsi_decoder_new(&dvbpsi_pat_sections_gather,
1024, true, sizeof(dvbpsi_pat_decoder_t));
if (p_pat_decoder == NULL)
@@ -79,10 +79,11 @@ bool dvbpsi_pat_attach(dvbpsi_t *p_dvbpsi, dvbpsi_pat_callback pf_callback,
*****************************************************************************/
void dvbpsi_pat_detach(dvbpsi_t *p_dvbpsi)
{
+ dvbpsi_pat_decoder_t* p_pat_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_pat_decoder_t* p_pat_decoder = (dvbpsi_pat_decoder_t*)p_dvbpsi->p_decoder;
+ p_pat_decoder = (dvbpsi_pat_decoder_t*)p_dvbpsi->p_decoder;
if (p_pat_decoder->p_building_pat)
dvbpsi_pat_delete(p_pat_decoder->p_building_pat);
p_pat_decoder->p_building_pat = NULL;
@@ -207,9 +208,10 @@ static void dvbpsi_ReInitPAT(dvbpsi_pat_decoder_t* p_decoder, const bool b_force
static bool dvbpsi_CheckPAT(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section)
{
bool b_reinit = false;
+ dvbpsi_pat_decoder_t* p_pat_decoder;
+
assert(p_dvbpsi->p_decoder);
- dvbpsi_pat_decoder_t* p_pat_decoder;
p_pat_decoder = (dvbpsi_pat_decoder_t *)p_dvbpsi->p_decoder;
/* Perform a few sanity checks */
@@ -361,7 +363,8 @@ bool dvbpsi_pat_sections_decode(dvbpsi_pat_t* p_pat, dvbpsi_psi_section_t* p_sec
bool b_valid = false;
while (p_section)
{
- for (uint8_t *p_byte = p_section->p_payload_start;
+ uint8_t* p_byte;
+ for (p_byte = p_section->p_payload_start;
p_byte < p_section->p_payload_end;
p_byte += 4)
{
diff --git a/src/tables/pmt.c b/src/tables/pmt.c
index 9a89f93..5ed80ba 100644
--- a/src/tables/pmt.c
+++ b/src/tables/pmt.c
@@ -55,10 +55,11 @@
bool dvbpsi_pmt_attach(dvbpsi_t *p_dvbpsi, uint16_t i_program_number,
dvbpsi_pmt_callback pf_callback, void* p_cb_data)
{
+ dvbpsi_pmt_decoder_t* p_pmt_decoder;
+
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder == NULL);
- dvbpsi_pmt_decoder_t* p_pmt_decoder;
p_pmt_decoder = (dvbpsi_pmt_decoder_t*) dvbpsi_decoder_new(&dvbpsi_pmt_sections_gather,
1024, true, sizeof(dvbpsi_pmt_decoder_t));
if (p_pmt_decoder == NULL)
@@ -82,10 +83,10 @@ bool dvbpsi_pmt_attach(dvbpsi_t *p_dvbpsi, uint16_t i_program_number,
*****************************************************************************/
void dvbpsi_pmt_detach(dvbpsi_t *p_dvbpsi)
{
+ dvbpsi_pmt_decoder_t* p_pmt_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_pmt_decoder_t* p_pmt_decoder;
p_pmt_decoder = (dvbpsi_pmt_decoder_t*)p_dvbpsi->p_decoder;
if (p_pmt_decoder->p_building_pmt)
dvbpsi_pmt_delete(p_pmt_decoder->p_building_pmt);
@@ -261,9 +262,10 @@ static void dvbpsi_ReInitPMT(dvbpsi_pmt_decoder_t* p_decoder, const bool b_force
static bool dvbpsi_CheckPMT(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section)
{
bool b_reinit = false;
+ dvbpsi_pmt_decoder_t* p_pmt_decoder;
+
assert(p_dvbpsi->p_decoder);
- dvbpsi_pmt_decoder_t* p_pmt_decoder;
p_pmt_decoder = (dvbpsi_pmt_decoder_t *)p_dvbpsi->p_decoder;
if (p_pmt_decoder->p_building_pmt->i_version != p_section->i_version)
@@ -321,6 +323,7 @@ static bool dvbpsi_AddSectionPMT(dvbpsi_t *p_dvbpsi, dvbpsi_pmt_decoder_t *p_pmt
*****************************************************************************/
void dvbpsi_pmt_sections_gather(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t* p_section)
{
+ dvbpsi_pmt_decoder_t* p_pmt_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
@@ -331,7 +334,7 @@ void dvbpsi_pmt_sections_gather(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t* p_sect
}
/* */
- dvbpsi_pmt_decoder_t* p_pmt_decoder = (dvbpsi_pmt_decoder_t*)p_dvbpsi->p_decoder;
+ p_pmt_decoder = (dvbpsi_pmt_decoder_t*)p_dvbpsi->p_decoder;
assert(p_pmt_decoder);
/* We have a valid PMT section */
diff --git a/src/tables/rst.c b/src/tables/rst.c
index 2198c61..8816809 100644
--- a/src/tables/rst.c
+++ b/src/tables/rst.c
@@ -56,10 +56,10 @@
bool dvbpsi_rst_attach(dvbpsi_t *p_dvbpsi, dvbpsi_rst_callback pf_callback,
void* p_cb_data)
{
+ dvbpsi_rst_decoder_t* p_rst_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder == NULL);
- dvbpsi_rst_decoder_t* p_rst_decoder;
p_rst_decoder = (dvbpsi_rst_decoder_t*) dvbpsi_decoder_new(&dvbpsi_rst_sections_gather,
1024, true, sizeof(dvbpsi_rst_decoder_t));
if (p_rst_decoder == NULL)
@@ -81,11 +81,11 @@ bool dvbpsi_rst_attach(dvbpsi_t *p_dvbpsi, dvbpsi_rst_callback pf_callback,
*****************************************************************************/
void dvbpsi_rst_detach(dvbpsi_t *p_dvbpsi)
{
+ dvbpsi_rst_decoder_t* p_rst_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_rst_decoder_t* p_rst_decoder
- = (dvbpsi_rst_decoder_t*)p_dvbpsi->p_decoder;
+ p_rst_decoder = (dvbpsi_rst_decoder_t*)p_dvbpsi->p_decoder;
if (p_rst_decoder->p_building_rst)
dvbpsi_rst_delete(p_rst_decoder->p_building_rst);
p_rst_decoder->p_building_rst = NULL;
@@ -346,6 +346,7 @@ error:
void dvbpsi_rst_sections_gather(dvbpsi_t *p_dvbpsi,
dvbpsi_psi_section_t* p_section)
{
+ dvbpsi_rst_decoder_t* p_rst_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
@@ -356,8 +357,7 @@ void dvbpsi_rst_sections_gather(dvbpsi_t *p_dvbpsi,
}
/* */
- dvbpsi_rst_decoder_t* p_rst_decoder
- = (dvbpsi_rst_decoder_t*)p_dvbpsi->p_decoder;
+ p_rst_decoder = (dvbpsi_rst_decoder_t*)p_dvbpsi->p_decoder;
/* TS discontinuity check */
if (p_rst_decoder->b_discontinuity)
diff --git a/src/tables/sdt.c b/src/tables/sdt.c
index a159773..bd3b19f 100644
--- a/src/tables/sdt.c
+++ b/src/tables/sdt.c
@@ -56,10 +56,13 @@
bool dvbpsi_sdt_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_sdt_callback pf_callback, void* p_cb_data)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_sdt_decoder_t* p_sdt_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t* p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
if (dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension))
{
@@ -70,14 +73,12 @@ bool dvbpsi_sdt_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
return false;
}
- dvbpsi_sdt_decoder_t* p_sdt_decoder;
p_sdt_decoder = (dvbpsi_sdt_decoder_t*) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_sdt_decoder_t));
if (p_sdt_decoder == NULL)
return false;
/* subtable decoder configuration */
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_sdt_detach,
dvbpsi_sdt_sections_gather, DVBPSI_DECODER(p_sdt_decoder));
if (p_subdec == NULL)
@@ -104,12 +105,14 @@ bool dvbpsi_sdt_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
*****************************************************************************/
void dvbpsi_sdt_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
{
+ dvbpsi_demux_subdec_t* p_subdec;
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_sdt_decoder_t* p_sdt_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
if (p_subdec == NULL)
{
@@ -122,7 +125,6 @@ void dvbpsi_sdt_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
assert(p_subdec->p_decoder);
- dvbpsi_sdt_decoder_t* p_sdt_decoder;
p_sdt_decoder = (dvbpsi_sdt_decoder_t*)p_subdec->p_decoder;
if (p_sdt_decoder->p_building_sdt)
dvbpsi_sdt_delete(p_sdt_decoder->p_building_sdt);
@@ -350,13 +352,15 @@ void dvbpsi_sdt_sections_gather(dvbpsi_t *p_dvbpsi,
dvbpsi_decoder_t *p_private_decoder,
dvbpsi_psi_section_t * p_section)
{
- assert(p_dvbpsi);
- assert(p_dvbpsi->p_decoder);
-
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_sdt_decoder_t *p_sdt_decoder;
const uint8_t i_table_id = (p_section->i_table_id == 0x42 ||
p_section->i_table_id == 0x46) ?
p_section->i_table_id : 0x42;
+ assert(p_dvbpsi);
+ assert(p_dvbpsi->p_decoder);
+
if (!dvbpsi_CheckPSISection(p_dvbpsi, p_section, i_table_id, "SDT decoder"))
{
dvbpsi_DeletePSISections(p_section);
@@ -364,9 +368,8 @@ void dvbpsi_sdt_sections_gather(dvbpsi_t *p_dvbpsi,
}
/* We have a valid SDT section */
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *)p_dvbpsi->p_decoder;
- dvbpsi_sdt_decoder_t *p_sdt_decoder
- = (dvbpsi_sdt_decoder_t*)p_private_decoder;
+ p_demux = (dvbpsi_demux_t *)p_dvbpsi->p_decoder;
+ p_sdt_decoder = (dvbpsi_sdt_decoder_t*)p_private_decoder;
/* TS discontinuity check */
if (p_demux->b_discontinuity)
diff --git a/src/tables/sis.c b/src/tables/sis.c
index bbd82b8..a82dc63 100644
--- a/src/tables/sis.c
+++ b/src/tables/sis.c
@@ -56,10 +56,13 @@
bool dvbpsi_sis_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_sis_callback pf_callback, void* p_cb_data)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_sis_decoder_t* p_sis_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t* p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
i_extension = 0;
@@ -72,14 +75,12 @@ bool dvbpsi_sis_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
return false;
}
- dvbpsi_sis_decoder_t* p_sis_decoder;
p_sis_decoder = (dvbpsi_sis_decoder_t*) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_sis_decoder_t));
if (p_sis_decoder == NULL)
return false;
/* subtable decoder configuration */
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_sis_detach,
dvbpsi_sis_sections_gather, DVBPSI_DECODER(p_sis_decoder));
if (p_subdec == NULL)
@@ -106,13 +107,15 @@ bool dvbpsi_sis_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
*****************************************************************************/
void dvbpsi_sis_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_sis_decoder_t* p_sis_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
i_extension = 0;
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
if (p_subdec == NULL)
{
@@ -125,7 +128,6 @@ void dvbpsi_sis_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
assert(p_subdec->p_decoder);
- dvbpsi_sis_decoder_t* p_sis_decoder;
p_sis_decoder = (dvbpsi_sis_decoder_t*)p_subdec->p_decoder;
if (p_sis_decoder->p_building_sis)
dvbpsi_sis_delete(p_sis_decoder->p_building_sis);
@@ -332,6 +334,8 @@ void dvbpsi_sis_sections_gather(dvbpsi_t *p_dvbpsi,
dvbpsi_decoder_t *p_decoder,
dvbpsi_psi_section_t * p_section)
{
+ dvbpsi_demux_t *p_demux;
+ dvbpsi_sis_decoder_t * p_sis_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
@@ -342,8 +346,8 @@ void dvbpsi_sis_sections_gather(dvbpsi_t *p_dvbpsi,
}
/* */
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
- dvbpsi_sis_decoder_t * p_sis_decoder = (dvbpsi_sis_decoder_t*)p_decoder;
+ p_demux = (dvbpsi_demux_t *) p_dvbpsi->p_decoder;
+ p_sis_decoder = (dvbpsi_sis_decoder_t*)p_decoder;
if (p_section->b_private_indicator)
{
@@ -429,6 +433,8 @@ void dvbpsi_sis_sections_decode(dvbpsi_t* p_dvbpsi, dvbpsi_sis_t* p_sis,
for (p_byte = p_section->p_payload_start + 3;
p_byte < p_section->p_payload_end; )
{
+ uint32_t i_splice_command_length;
+ uint8_t* p_desc;
p_sis->i_protocol_version = p_byte[3];
p_sis->b_encrypted_packet = ((p_byte[4] & 0x80)>>8);
/* NOTE: cannot handle encrypted packet */
@@ -443,7 +449,7 @@ void dvbpsi_sis_sections_decode(dvbpsi_t* p_dvbpsi, dvbpsi_sis_t* p_sis,
p_sis->i_splice_command_length = ((p_byte[11] & 0x0F) << 8) | p_byte[12];
p_sis->i_splice_command_type = p_byte[13];
- uint32_t i_splice_command_length = p_sis->i_splice_command_length;
+ i_splice_command_length = p_sis->i_splice_command_length;
if (p_sis->i_splice_command_length == 0xfff)
{
/* FIXME: size 0xfff of splice_command_section is undefined */
@@ -465,7 +471,7 @@ void dvbpsi_sis_sections_decode(dvbpsi_t* p_dvbpsi, dvbpsi_sis_t* p_sis,
}
/* Service descriptors */
- uint8_t *p_desc = p_byte + 13 + i_splice_command_length;
+ p_desc = p_byte + 13 + i_splice_command_length;
p_sis->i_descriptors_length = (p_desc[0] << 8) | p_desc[1];
p_desc += 1;
@@ -509,6 +515,9 @@ void dvbpsi_sis_sections_decode(dvbpsi_t* p_dvbpsi, dvbpsi_sis_t* p_sis,
dvbpsi_psi_section_t *dvbpsi_sis_sections_generate(dvbpsi_t *p_dvbpsi, dvbpsi_sis_t* p_sis)
{
dvbpsi_psi_section_t * p_current = dvbpsi_NewPSISection(1024);
+ uint32_t i_desc_start;
+ uint32_t i_desc_length = 0;
+ dvbpsi_descriptor_t * p_descriptor;
p_current->i_table_id = 0xFC;
p_current->b_syntax_indicator = false;
@@ -537,7 +546,7 @@ dvbpsi_psi_section_t *dvbpsi_sis_sections_generate(dvbpsi_t *p_dvbpsi, dvbpsi_si
p_current->p_data[12] = (uint8_t) (p_sis->i_splice_command_length & 0xFF);
p_current->p_data[13] = p_sis->i_splice_command_type;
- uint32_t i_desc_start = 13 + p_sis->i_splice_command_length;
+ i_desc_start = 13 + p_sis->i_splice_command_length;
if (p_sis->i_splice_command_length == 0xfff)
{
/* FIXME: size 0xfff of splice_command_section is undefined */
@@ -552,9 +561,7 @@ dvbpsi_psi_section_t *dvbpsi_sis_sections_generate(dvbpsi_t *p_dvbpsi, dvbpsi_si
p_current->p_payload_end += (i_desc_start + 1);
- uint32_t i_desc_length = 0;
-
- dvbpsi_descriptor_t * p_descriptor = p_sis->p_first_descriptor;
+ p_descriptor = p_sis->p_first_descriptor;
while ((p_descriptor != NULL) && (p_current->i_length <= 1018))
{
i_desc_length += p_descriptor->i_length + 2;
diff --git a/src/tables/tot.c b/src/tables/tot.c
index 18b2ba7..f0aca2b 100644
--- a/src/tables/tot.c
+++ b/src/tables/tot.c
@@ -58,10 +58,13 @@
bool dvbpsi_tot_attach(dvbpsi_t* p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_tot_callback pf_callback, void* p_cb_data)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_tot_decoder_t *p_tot_decoder;
+ dvbpsi_demux_subdec_t* p_subdec;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t* p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
+ p_demux = (dvbpsi_demux_t*)p_dvbpsi->p_decoder;
i_extension = 0; /* NOTE: force to 0 when handling TDT/TOT */
if (dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension))
@@ -73,14 +76,12 @@ bool dvbpsi_tot_attach(dvbpsi_t* p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
return false;
}
- dvbpsi_tot_decoder_t *p_tot_decoder;
p_tot_decoder = (dvbpsi_tot_decoder_t *) dvbpsi_decoder_new(NULL,
0, true, sizeof(dvbpsi_tot_decoder_t));
if (p_tot_decoder == NULL)
return false;
/* subtable decoder configuration */
- dvbpsi_demux_subdec_t* p_subdec;
p_subdec = dvbpsi_NewDemuxSubDecoder(i_table_id, i_extension, dvbpsi_tot_detach,
dvbpsi_tot_sections_gather, DVBPSI_DECODER(p_tot_decoder));
if (p_subdec == NULL)
@@ -108,11 +109,13 @@ bool dvbpsi_tot_attach(dvbpsi_t* p_dvbpsi, uint8_t i_table_id, uint16_t i_extens
void dvbpsi_tot_detach(dvbpsi_t* p_dvbpsi, uint8_t i_table_id,
uint16_t i_extension)
{
+ dvbpsi_demux_t* p_demux;
+ dvbpsi_demux_subdec_t* p_subdec;
+ dvbpsi_tot_decoder_t* p_tot_decoder;
assert(p_dvbpsi);
assert(p_dvbpsi->p_decoder);
- dvbpsi_demux_t *p_demux = (dvbpsi_demux_t *)p_dvbpsi->p_decoder;
- dvbpsi_demux_subdec_t* p_subdec;
+ p_demux = (dvbpsi_demux_t *)p_dvbpsi->p_decoder;
i_extension = 0; /* NOTE: force to 0 when handling TDT/TOT */
p_subdec = dvbpsi_demuxGetSubDec(p_demux, i_table_id, i_extension);
@@ -127,7 +130,6 @@ void dvbpsi_tot_detach(dvbpsi_t* p_dvbpsi, uint8_t i_table_id,
assert(p_subdec->p_decoder);
- dvbpsi_tot_decoder_t* p_tot_decoder;
p_tot_decoder = (dvbpsi_tot_decoder_t*)p_subdec->p_decoder;
if (p_tot_decoder->p_building_tot)
dvbpsi_tot_delete(p_tot_decoder->p_building_tot);
@@ -310,12 +312,13 @@ void dvbpsi_tot_sections_gather(dvbpsi_t* p_dvbpsi,
dvbpsi_decoder_t* p_decoder,
dvbpsi_psi_section_t* p_section)
{
- assert(p_dvbpsi);
- assert(p_dvbpsi->p_decoder);
-
const uint8_t i_table_id = ((p_section->i_table_id == 0x70 || /* TDT */
p_section->i_table_id == 0x73)) ? /* TOT */
p_section->i_table_id : 0x70;
+ dvbpsi_tot_decoder_t* p_tot_decoder;
+
+ assert(p_dvbpsi);
+ assert(p_dvbpsi->p_decoder);
if (!dvbpsi_CheckPSISection(p_dvbpsi, p_section, i_table_id, "TDT/TOT decoder"))
{
@@ -324,7 +327,7 @@ void dvbpsi_tot_sections_gather(dvbpsi_t* p_dvbpsi,
}
/* Valid TDT/TOT section */
- dvbpsi_tot_decoder_t* p_tot_decoder = (dvbpsi_tot_decoder_t*)p_decoder;
+ p_tot_decoder = (dvbpsi_tot_decoder_t*)p_decoder;
/* TS discontinuity check */
if (p_tot_decoder->b_discontinuity)
--
2.7.0
From 6421cd3d938c20a0ffc65f354eef8188db020981 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Fri, 12 Sep 2014 12:00:43 +0200
Subject: Fix headers for gcc2
* They use "bool", so stdbool.h must be included.
diff --git a/src/descriptor.h b/src/descriptor.h
index f344a73..e8c4f7f 100644
--- a/src/descriptor.h
+++ b/src/descriptor.h
@@ -35,6 +35,8 @@
#ifndef _DVBPSI_DESCRIPTOR_H_
#define _DVBPSI_DESCRIPTOR_H_
+#include <stdbool.h>
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/src/descriptors/dr.h b/src/descriptors/dr.h
index 778b2f0..dbe4798 100644
--- a/src/descriptors/dr.h
+++ b/src/descriptors/dr.h
@@ -31,6 +31,8 @@
#ifndef _DVBPSI_DR_H_
#define _DVBPSI_DR_H_
+#include <stdbool.h>
+
#include "dr_02.h"
#include "dr_03.h"
#include "dr_04.h"
diff --git a/src/dvbpsi.h b/src/dvbpsi.h
index 1a5f859..d8489f1 100644
--- a/src/dvbpsi.h
+++ b/src/dvbpsi.h
@@ -35,6 +35,8 @@
#ifndef _DVBPSI_DVBPSI_H_
#define _DVBPSI_DVBPSI_H_
+#include <stdbool.h>
+
#define DVBPSI_VERSION 1.2.0 /*!< Human readible DVBPSI version*/
#define DVBPSI_VERSION_INT ((1<<16)+(2<<8)+0) /*!< Machine readible DVBPSI version */
diff --git a/src/tables/pat.h b/src/tables/pat.h
index fe1a6ed..284a0fa 100644
--- a/src/tables/pat.h
+++ b/src/tables/pat.h
@@ -33,6 +33,8 @@
#ifndef _DVBPSI_PAT_H_
#define _DVBPSI_PAT_H_
+#include <stdbool.h>
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/src/tables/pmt.h b/src/tables/pmt.h
index f0f4fa3..c1e3117 100644
--- a/src/tables/pmt.h
+++ b/src/tables/pmt.h
@@ -34,6 +34,8 @@
#ifndef _DVBPSI_PMT_H_
#define _DVBPSI_PMT_H_
+#include <stdbool.h>
+
#ifdef __cplusplus
extern "C" {
#endif
--
2.7.0
From 5ebe9e2fd39420dbf5d197011d98f2aaf57269bd Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Fri, 19 Sep 2014 11:30:08 +0200
Subject: Add missing includes for size_t.
diff --git a/src/descriptor.h b/src/descriptor.h
index e8c4f7f..a45d907 100644
--- a/src/descriptor.h
+++ b/src/descriptor.h
@@ -36,6 +36,7 @@
#define _DVBPSI_DESCRIPTOR_H_
#include <stdbool.h>
+#include <stddef.h>
#ifdef __cplusplus
extern "C" {
diff --git a/src/dvbpsi.h b/src/dvbpsi.h
index d8489f1..8f24c8b 100644
--- a/src/dvbpsi.h
+++ b/src/dvbpsi.h
@@ -36,6 +36,7 @@
#define _DVBPSI_DVBPSI_H_
#include <stdbool.h>
+#include <stddef.h>
#define DVBPSI_VERSION 1.2.0 /*!< Human readible DVBPSI version*/
#define DVBPSI_VERSION_INT ((1<<16)+(2<<8)+0) /*!< Machine readible DVBPSI version */
--
2.7.0