mvp: check for reopen errors

When the MVP device has been closed in the cancel() method, and the
play() method attempts to reopen it, check for errors.
This commit is contained in:
Max Kellermann 2009-02-25 21:57:02 +01:00
parent 883e31d55b
commit d3409a65b5
2 changed files with 8 additions and 2 deletions

1
NEWS
View File

@ -19,6 +19,7 @@ ver 0.15 - (200?/??/??)
- null: allow disabling synchronization
- mvp: fall back to stereo
- mvp: fall back to 16 bit audio samples
- mvp: check for reopen errors
* commands:
- "playlistinfo" supports a range now
- added "sticker database", command "sticker", which allows clients

View File

@ -272,8 +272,13 @@ mvp_output_play(void *data, const void *chunk, size_t size)
ssize_t ret;
/* reopen the device since it was closed by dropBufferedAudio */
if (md->fd < 0)
mvp_output_open(md, &md->audio_format);
if (md->fd < 0) {
bool success;
success = mvp_output_open(md, &md->audio_format);
if (!success)
return 0;
}
while (true) {
ret = write(md->fd, chunk, size);