mirror of
https://github.com/xiph/opus.git
synced 2025-06-07 07:50:51 +00:00
Add fwrite() error handling in repacketizer_demo.
This commit is contained in:
parent
f7ceaa609a
commit
4f0c07f640
1 changed files with 31 additions and 14 deletions
|
@ -69,7 +69,7 @@ int main(int argc, char *argv[])
|
||||||
if (argc < 3)
|
if (argc < 3)
|
||||||
{
|
{
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
return 1;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
for (i=1;i<argc-2;i++)
|
for (i=1;i<argc-2;i++)
|
||||||
{
|
{
|
||||||
|
@ -79,7 +79,7 @@ int main(int argc, char *argv[])
|
||||||
if(merge<1)
|
if(merge<1)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "-merge parameter must be at least 1.\n");
|
fprintf(stderr, "-merge parameter must be at least 1.\n");
|
||||||
return 1;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
} else if (strcmp(argv[i], "-split")==0)
|
} else if (strcmp(argv[i], "-split")==0)
|
||||||
|
@ -88,21 +88,21 @@ int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Unknown option: %s\n", argv[i]);
|
fprintf(stderr, "Unknown option: %s\n", argv[i]);
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
return 1;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fin = fopen(argv[argc-2], "r");
|
fin = fopen(argv[argc-2], "r");
|
||||||
if(fin==NULL)
|
if(fin==NULL)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Error opening input file: %s\n", argv[argc-2]);
|
fprintf(stderr, "Error opening input file: %s\n", argv[argc-2]);
|
||||||
return 1;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
fout = fopen(argv[argc-1], "w");
|
fout = fopen(argv[argc-1], "w");
|
||||||
if(fout==NULL)
|
if(fout==NULL)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Error opening output file: %s\n", argv[argc-1]);
|
fprintf(stderr, "Error opening output file: %s\n", argv[argc-1]);
|
||||||
fclose(fin);
|
fclose(fin);
|
||||||
return 1;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
rp = opus_repacketizer_create();
|
rp = opus_repacketizer_create();
|
||||||
|
@ -126,7 +126,7 @@ int main(int argc, char *argv[])
|
||||||
fprintf(stderr, "Invalid payload length\n");
|
fprintf(stderr, "Invalid payload length\n");
|
||||||
fclose(fin);
|
fclose(fin);
|
||||||
fclose(fout);
|
fclose(fout);
|
||||||
return 1;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -156,10 +156,19 @@ int main(int argc, char *argv[])
|
||||||
if (err>0) {
|
if (err>0) {
|
||||||
unsigned char int_field[4];
|
unsigned char int_field[4];
|
||||||
int_to_char(err, int_field);
|
int_to_char(err, int_field);
|
||||||
fwrite(int_field, 1, 4, fout);
|
if(fwrite(int_field, 1, 4, fout)!=4){
|
||||||
|
fprintf(stderr, "Error writing.\n");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
int_to_char(rng[nb_packets-1], int_field);
|
int_to_char(rng[nb_packets-1], int_field);
|
||||||
fwrite(int_field, 1, 4, fout);
|
if (fwrite(int_field, 1, 4, fout)!=4) {
|
||||||
fwrite(output_packet, 1, err, fout);
|
fprintf(stderr, "Error writing.\n");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
if (fwrite(output_packet, 1, err, fout)!=(unsigned)err) {
|
||||||
|
fprintf(stderr, "Error writing.\n");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
/*fprintf(stderr, "out len = %d\n", err);*/
|
/*fprintf(stderr, "out len = %d\n", err);*/
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "opus_repacketizer_out() failed: %s\n", opus_strerror(err));
|
fprintf(stderr, "opus_repacketizer_out() failed: %s\n", opus_strerror(err));
|
||||||
|
@ -172,13 +181,22 @@ int main(int argc, char *argv[])
|
||||||
if (err>0) {
|
if (err>0) {
|
||||||
unsigned char int_field[4];
|
unsigned char int_field[4];
|
||||||
int_to_char(err, int_field);
|
int_to_char(err, int_field);
|
||||||
fwrite(int_field, 1, 4, fout);
|
if (fwrite(int_field, 1, 4, fout)!=4) {
|
||||||
|
fprintf(stderr, "Error writing.\n");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
if (i==nb_frames-1)
|
if (i==nb_frames-1)
|
||||||
int_to_char(rng[nb_packets-1], int_field);
|
int_to_char(rng[nb_packets-1], int_field);
|
||||||
else
|
else
|
||||||
int_to_char(0, int_field);
|
int_to_char(0, int_field);
|
||||||
fwrite(int_field, 1, 4, fout);
|
if (fwrite(int_field, 1, 4, fout)!=4) {
|
||||||
fwrite(output_packet, 1, err, fout);
|
fprintf(stderr, "Error writing.\n");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
if (fwrite(output_packet, 1, err, fout)!=(unsigned)err) {
|
||||||
|
fprintf(stderr, "Error writing.\n");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
/*fprintf(stderr, "out len = %d\n", err);*/
|
/*fprintf(stderr, "out len = %d\n", err);*/
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "opus_repacketizer_out() failed: %s\n", opus_strerror(err));
|
fprintf(stderr, "opus_repacketizer_out() failed: %s\n", opus_strerror(err));
|
||||||
|
@ -186,10 +204,9 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(fin);
|
fclose(fin);
|
||||||
fclose(fout);
|
fclose(fout);
|
||||||
return 0;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue