add chunk_alloc to playlist.c #2

dc_thread_playlist was asking for invalid indices
since previously the name buffer would have been valid
it just got whatever junk data was left over

add dc_discard_playlist_pointers for HAVE_DIRCACHE targets
this allows the dc_playlist_thread to stop its current lookup loop

Change-Id: I6f25b97b8c4e314d27c5e1e6ff0925b5a3e93f26
This commit is contained in:
William Wilgus 2023-01-12 08:09:47 -05:00 committed by William Wilgus
parent 00c7817c9c
commit 2d9cb673e5
2 changed files with 54 additions and 39 deletions

View file

@ -28,6 +28,7 @@
#include "kernel.h"
#include "metadata.h"
#include "rbpaths.h"
#include "chunk_alloc.h"
#define PLAYLIST_ATTR_QUEUED 0x01
#define PLAYLIST_ATTR_INSERTED 0x02
@ -84,10 +85,10 @@ struct playlist_info
global_settings.max_files_in_playlist */
int num_inserted_tracks; /* number of tracks inserted */
volatile unsigned long *indices; /* array of indices */
int buffer_handle; /* handle to the below buffer (-1 if non-buflib) */
volatile char *buffer;/* buffer for in-ram playlists */
int buffer_size; /* size of buffer */
int buffer_end_pos; /* last position where buffer was written */
struct chunk_alloc_header name_chunk_buffer; /* chunk buffer for
in-ram playlist */
int index; /* index of current playing track */
int first_index; /* index of first song in playlist */
int amount; /* number of tracks in the index */