diff options
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/codecs/mp3_enc.c | 3 | ||||
| -rw-r--r-- | apps/codecs/wav_enc.c | 8 | ||||
| -rw-r--r-- | apps/codecs/wavpack_enc.c | 3 |
3 files changed, 11 insertions, 3 deletions
diff --git a/apps/codecs/mp3_enc.c b/apps/codecs/mp3_enc.c index 2dc9bcb..26cc1dd 100644 --- a/apps/codecs/mp3_enc.c +++ b/apps/codecs/mp3_enc.c @@ -2329,6 +2329,9 @@ static bool on_start_file(struct enc_file_event_data *data) static bool on_end_file(struct enc_file_event_data *data) { + if (data->rec_file < 0) + return false; /* file already closed, nothing more we can do */ + /* always _try_ to write the file header, even on error */ if (ci->close(data->rec_file) != 0) return false; diff --git a/apps/codecs/wav_enc.c b/apps/codecs/wav_enc.c index 25d2838..5932fd3 100644 --- a/apps/codecs/wav_enc.c +++ b/apps/codecs/wav_enc.c @@ -144,10 +144,12 @@ static bool on_end_file(struct enc_file_event_data *data) struct riff_header hdr; uint32_t data_size; - /* always _try_ to write the file header, even on error */ + if (data->rec_file < 0) + return false; /* file already closed, nothing more we can do */ - if (ci->lseek(data->rec_file, 0, SEEK_SET) != 0 || - ci->read(data->rec_file, &hdr, sizeof (hdr)) != sizeof (hdr)) + /* always _try_ to write the file header, even on error */ + if ((ci->lseek(data->rec_file, 0, SEEK_SET)) || + (ci->read(data->rec_file, &hdr, sizeof (hdr)) != sizeof (hdr))) { return false; } diff --git a/apps/codecs/wavpack_enc.c b/apps/codecs/wavpack_enc.c index 70261e7..670a518 100644 --- a/apps/codecs/wavpack_enc.c +++ b/apps/codecs/wavpack_enc.c @@ -257,6 +257,9 @@ static bool on_end_file(struct enc_file_event_data *data) uint32_t data_size; + if (data->rec_file < 0) + return false; /* file already closed, nothing more we can do */ + /* always _try_ to write the file header, even on error */ /* read template headers at start */ |