input_stream: non-blocking I/O
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins.
This commit is contained in:
@@ -62,7 +62,7 @@ static GByteArray *mod_loadfile(struct decoder *decoder, struct input_stream *is
|
||||
while (true) {
|
||||
ret = decoder_read(decoder, is, data, MODPLUG_READ_BLOCK);
|
||||
if (ret == 0) {
|
||||
if (input_stream_eof(is))
|
||||
if (input_stream_lock_eof(is))
|
||||
/* end of file */
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user