diff options
Diffstat (limited to 'apps/playback.c')
-rwxr-xr-x[-rw-r--r--] | apps/playback.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/apps/playback.c b/apps/playback.c index 31aed2abe1..5419888c27 100644..100755 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -1689,7 +1689,7 @@ static bool audio_load_cuesheet(struct track_info *infop, | |||
1689 | 1689 | ||
1690 | #ifdef HAVE_ALBUMART | 1690 | #ifdef HAVE_ALBUMART |
1691 | /* Load any album art for the file - returns false if the buffer is full */ | 1691 | /* Load any album art for the file - returns false if the buffer is full */ |
1692 | static bool audio_load_albumart(struct track_info *infop, | 1692 | static int audio_load_albumart(struct track_info *infop, |
1693 | struct mp3entry *track_id3) | 1693 | struct mp3entry *track_id3) |
1694 | { | 1694 | { |
1695 | FOREACH_ALBUMART(i) | 1695 | FOREACH_ALBUMART(i) |
@@ -1730,7 +1730,11 @@ static bool audio_load_albumart(struct track_info *infop, | |||
1730 | if (hid == ERR_BUFFER_FULL) | 1730 | if (hid == ERR_BUFFER_FULL) |
1731 | { | 1731 | { |
1732 | logf("buffer is full for now (%s)", __func__); | 1732 | logf("buffer is full for now (%s)", __func__); |
1733 | return false; | 1733 | return ERR_BUFFER_FULL; |
1734 | } | ||
1735 | else if (hid == ERR_BITMAP_TOO_LARGE){ | ||
1736 | logf("image is too large to fit in buffer (%s)", __func__); | ||
1737 | return ERR_BITMAP_TOO_LARGE; | ||
1734 | } | 1738 | } |
1735 | else | 1739 | else |
1736 | { | 1740 | { |
@@ -1981,7 +1985,12 @@ static int audio_finish_load_track(struct track_info *infop) | |||
1981 | 1985 | ||
1982 | #ifdef HAVE_ALBUMART | 1986 | #ifdef HAVE_ALBUMART |
1983 | /* Try to load album art for the track */ | 1987 | /* Try to load album art for the track */ |
1984 | if (!audio_load_albumart(infop, track_id3)) | 1988 | int retval = audio_load_albumart(infop, track_id3); |
1989 | if (retval == ERR_BITMAP_TOO_LARGE) | ||
1990 | { | ||
1991 | /* No space for album art on buffer because the file is larger than the buffer. | ||
1992 | Ignore the file and keep buffering */ | ||
1993 | } else if (retval == ERR_BUFFER_FULL) | ||
1985 | { | 1994 | { |
1986 | /* No space for album art on buffer, not an error */ | 1995 | /* No space for album art on buffer, not an error */ |
1987 | filling = STATE_FULL; | 1996 | filling = STATE_FULL; |