diff options
Diffstat (limited to 'apps/buffering.c')
-rw-r--r-- | apps/buffering.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/apps/buffering.c b/apps/buffering.c index bf41544c56..b9f30fc6df 100644 --- a/apps/buffering.c +++ b/apps/buffering.c | |||
@@ -652,11 +652,9 @@ static bool buffer_handle(int handle_id, size_t to_buffer) | |||
652 | trigger_cpu_boost(); | 652 | trigger_cpu_boost(); |
653 | 653 | ||
654 | if (h->type == TYPE_ID3) { | 654 | if (h->type == TYPE_ID3) { |
655 | if (!get_metadata(ringbuf_ptr(h->data), h->fd, h->path)) { | 655 | get_metadata_ex(ringbuf_ptr(h->data), |
656 | /* metadata parsing failed: clear the buffer. */ | 656 | h->fd, h->path, METADATA_CLOSE_FD_ON_EXIT); |
657 | wipe_mp3entry(ringbuf_ptr(h->data)); | 657 | h->fd = -1; /* with above, behavior same as close_fd */ |
658 | } | ||
659 | close_fd(&h->fd); | ||
660 | h->widx = ringbuf_add(h->data, h->filesize); | 658 | h->widx = ringbuf_add(h->data, h->filesize); |
661 | h->end = h->filesize; | 659 | h->end = h->filesize; |
662 | send_event(BUFFER_EVENT_FINISHED, &handle_id); | 660 | send_event(BUFFER_EVENT_FINISHED, &handle_id); |