mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
Use buflib for the allocation of voice PCM resources.
Buffers are not allocated and thread is not created until the first call where voice is required. Adds a different callback (sync_callback) to buflib so that other sorts of synchonization are possible, such as briefly locking-out the PCM callback for a buffer move. It's sort of a messy addition but it is needed so voice decoding won't have to be stopped when its buffer is moved. Change-Id: I4d4d8c35eed5dd15fb7ee7df9323af3d036e92b3
This commit is contained in:
parent
3d3a144cf6
commit
da6cebb6b0
13 changed files with 244 additions and 132 deletions
|
@ -103,6 +103,12 @@ struct buflib_callbacks {
|
|||
* at least shrinkable
|
||||
*/
|
||||
int (*shrink_callback)(int handle, unsigned hints, void* start, size_t old_size);
|
||||
/**
|
||||
* This is called when special steps must be taken for synchronization
|
||||
* both before the move_callback is called and after the data has been
|
||||
* moved.
|
||||
*/
|
||||
void (*sync_callback)(int handle, bool sync_on);
|
||||
};
|
||||
|
||||
#define BUFLIB_SHRINK_POS_MASK ((1<<0|1<<1)<<30)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue