|
@@ -67,7 +67,7 @@ bool StreamPlayer::sp_mix(int32_t *p_buffer,int p_frames) {
|
|
|
|
|
|
void StreamPlayer::sp_update() {
|
|
void StreamPlayer::sp_update() {
|
|
|
|
|
|
- _THREAD_SAFE_METHOD_
|
|
|
|
|
|
+ //_THREAD_SAFE_METHOD_
|
|
if (!paused && resampler.is_ready() && playback.is_valid()) {
|
|
if (!paused && resampler.is_ready() && playback.is_valid()) {
|
|
|
|
|
|
if (!playback->is_playing()) {
|
|
if (!playback->is_playing()) {
|
|
@@ -143,6 +143,8 @@ void StreamPlayer::play(float p_from_offset) {
|
|
return;
|
|
return;
|
|
//if (is_playing())
|
|
//if (is_playing())
|
|
stop();
|
|
stop();
|
|
|
|
+
|
|
|
|
+ //_THREAD_SAFE_METHOD_
|
|
playback->play(p_from_offset);
|
|
playback->play(p_from_offset);
|
|
//feed the ringbuffer as long as no update callback is going on
|
|
//feed the ringbuffer as long as no update callback is going on
|
|
sp_update();
|
|
sp_update();
|
|
@@ -160,8 +162,8 @@ void StreamPlayer::stop() {
|
|
if (playback.is_null())
|
|
if (playback.is_null())
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
+ //_THREAD_SAFE_METHOD_
|
|
AudioServer::get_singleton()->stream_set_active(stream_rid,false);
|
|
AudioServer::get_singleton()->stream_set_active(stream_rid,false);
|
|
- _THREAD_SAFE_METHOD_
|
|
|
|
playback->stop();
|
|
playback->stop();
|
|
resampler.flush();
|
|
resampler.flush();
|
|
|
|
|