-Fix to progress dialog, speding it up
-Fix potential deadlock in stream player -Fix collada to support broken files from ColladaMaya
This commit is contained in:
@@ -67,7 +67,7 @@ bool StreamPlayer::sp_mix(int32_t *p_buffer,int p_frames) {
|
||||
|
||||
void StreamPlayer::sp_update() {
|
||||
|
||||
//_THREAD_SAFE_METHOD_
|
||||
_THREAD_SAFE_METHOD_
|
||||
if (!paused && resampler.is_ready() && playback.is_valid()) {
|
||||
|
||||
if (!playback->is_playing()) {
|
||||
@@ -143,8 +143,6 @@ void StreamPlayer::play(float p_from_offset) {
|
||||
return;
|
||||
//if (is_playing())
|
||||
stop();
|
||||
|
||||
//_THREAD_SAFE_METHOD_
|
||||
playback->play(p_from_offset);
|
||||
//feed the ringbuffer as long as no update callback is going on
|
||||
sp_update();
|
||||
@@ -162,8 +160,8 @@ void StreamPlayer::stop() {
|
||||
if (playback.is_null())
|
||||
return;
|
||||
|
||||
//_THREAD_SAFE_METHOD_
|
||||
AudioServer::get_singleton()->stream_set_active(stream_rid,false);
|
||||
_THREAD_SAFE_METHOD_
|
||||
playback->stop();
|
||||
resampler.flush();
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ class StreamPlayer : public Node {
|
||||
|
||||
OBJ_TYPE(StreamPlayer,Node);
|
||||
|
||||
//_THREAD_SAFE_CLASS_
|
||||
_THREAD_SAFE_CLASS_
|
||||
|
||||
struct InternalStream : public AudioServer::AudioStream {
|
||||
StreamPlayer *player;
|
||||
|
||||
Reference in New Issue
Block a user