fix bug where plugin would crash if decoder hits unexpected end of file
This commit is contained in:
parent
afd2e2d001
commit
9e37d05a80
@ -276,8 +276,11 @@ DWORD WINAPI __stdcall DecodeThread(void *b)
|
||||
done = 1;
|
||||
break;
|
||||
}
|
||||
else if(!FLAC__file_decoder_process_one_frame(decoder_))
|
||||
else if(!FLAC__file_decoder_process_one_frame(decoder_)) {
|
||||
MessageBox(mod_.hMainWindow, FLAC__FileDecoderStateString[FLAC__file_decoder_get_state(decoder_)], "READ ERROR processing frame", 0);
|
||||
done = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (samples_in_reservoir_ == 0) {
|
||||
|
@ -152,8 +152,11 @@ int FlacPcm::processData(MediaInfo *infos, ChunkList *chunk_list, bool *killswit
|
||||
eof = true;
|
||||
break;
|
||||
}
|
||||
else if(!FLAC__seekable_stream_decoder_process_one_frame(decoder))
|
||||
else if(!FLAC__seekable_stream_decoder_process_one_frame(decoder)) {
|
||||
//@@@ how to do this? MessageBox(mod_.hMainWindow, FLAC__FileDecoderStateString[FLAC__file_decoder_get_state(decoder_)], "READ ERROR processing frame", 0);
|
||||
eof = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(samples_in_reservoir == 0) {
|
||||
|
@ -307,8 +307,12 @@ void *play_loop_(void *arg)
|
||||
file_info_.eof = true;
|
||||
break;
|
||||
}
|
||||
else if(!FLAC__file_decoder_process_one_frame(decoder_))
|
||||
else if(!FLAC__file_decoder_process_one_frame(decoder_)) {
|
||||
/*@@@ this should probably be a dialog */
|
||||
fprintf(stderr, "libxmms-flac: READ ERROR processing frame\n");
|
||||
file_info_.eof = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(reservoir_samples_ > 0) {
|
||||
const unsigned channels = file_info_.channels;
|
||||
|
Loading…
x
Reference in New Issue
Block a user