Frame packing (now it compiles)
This commit is contained in:
parent
265b40c258
commit
682d2900f6
1 changed files with 17 additions and 6 deletions
|
@ -71,15 +71,18 @@ int count_frames(unsigned char *packet, int len)
|
||||||
return count;
|
return count;
|
||||||
else
|
else
|
||||||
return -1;
|
return -1;
|
||||||
} else if (sz == 6)
|
} else /* if (sz == 6 || sz == 7) */
|
||||||
{
|
{
|
||||||
/* Many packets, different sizes */
|
/* Many packets, different sizes */
|
||||||
int count = 0;
|
int count = 0;
|
||||||
int pos = 1;
|
int pos = 1;
|
||||||
int bytes = 1;
|
int bytes = 1;
|
||||||
|
int extra = 0;
|
||||||
|
if (sz==7)
|
||||||
|
extra = 1;
|
||||||
while (bytes < len)
|
while (bytes < len)
|
||||||
{
|
{
|
||||||
int tmp=1;
|
int tmp=extra+1;
|
||||||
int flen = decode_length(packet+pos, len-bytes);
|
int flen = decode_length(packet+pos, len-bytes);
|
||||||
if (flen==-1)
|
if (flen==-1)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -93,16 +96,24 @@ int count_frames(unsigned char *packet, int len)
|
||||||
return -1;
|
return -1;
|
||||||
else
|
else
|
||||||
return count;
|
return count;
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MAX_FRAMES 256
|
#define MAX_FRAMES 256
|
||||||
int hybrid_merge_packets(unsigned char **packets, int *len, unsigned *output, int maxlen)
|
int hybrid_merge_packets(unsigned char **packets, int *plen, int nb_packets,
|
||||||
|
unsigned *output, int maxlen)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
unsigned char cfg[MAX_FRAMES];
|
unsigned char cfg[MAX_FRAMES];
|
||||||
unsigned char len[MAX_FRAMES];
|
unsigned char flen[MAX_FRAMES];
|
||||||
int nb_frames=0;
|
int nb_frames=0;
|
||||||
|
|
||||||
|
for (i=0;i<nb_packets;i++)
|
||||||
|
{
|
||||||
|
int tmp = count_frames(packets[i], plen[i]);
|
||||||
|
if (tmp<=0)
|
||||||
|
return -1;
|
||||||
|
nb_frames += tmp;
|
||||||
|
}
|
||||||
|
return nb_frames;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue