diff options
author | Juan Linietsky <reduzio@gmail.com> | 2014-03-13 22:57:24 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2014-03-13 22:57:24 -0300 |
commit | 31ce3c5fd0300aac1e86bced1efc5f9ec94bdb6b (patch) | |
tree | b6d3a290333c72940b49ed4c930ff6858a59515e /drivers/vorbis | |
parent | a65edb4caabec21654c56552e11aacf0fd9291de (diff) |
-fix bug in cache for atlas import/export
-fix some menus
-fixed bug in out transition curves
-detect and remove file:/// in collada
-remove multiscript for now
-remove dependencies on mouse in OS, moved to Input
-avoid fscache from screwing up (fix might make it slower, but it works)
-funcref was missing, it's there now
Diffstat (limited to 'drivers/vorbis')
-rw-r--r-- | drivers/vorbis/audio_stream_ogg_vorbis.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/vorbis/audio_stream_ogg_vorbis.cpp b/drivers/vorbis/audio_stream_ogg_vorbis.cpp index 0964a22c94..d9b7b1d161 100644 --- a/drivers/vorbis/audio_stream_ogg_vorbis.cpp +++ b/drivers/vorbis/audio_stream_ogg_vorbis.cpp @@ -97,7 +97,7 @@ long AudioStreamOGGVorbis::_ov_tell_func(void *_f) { bool AudioStreamOGGVorbis::_can_mix() const { - return playing && !paused; + return /*playing &&*/ !paused; } @@ -125,6 +125,8 @@ void AudioStreamOGGVorbis::update() { if (ret<0) { playing = false; + setting_up=false; + ERR_EXPLAIN("Error reading OGG Vorbis File: "+file); ERR_BREAK(ret<0); } else if (ret==0) { // end of song, reload? @@ -135,7 +137,8 @@ void AudioStreamOGGVorbis::update() { if (!has_loop()) { - playing=false; + playing=false; + setting_up=false; repeats=1; return; } @@ -145,6 +148,7 @@ void AudioStreamOGGVorbis::update() { int errv = ov_open_callbacks(f,&vf,NULL,0,_ov_callbacks); if (errv!=0) { playing=false; + setting_up=false; return; // :( } @@ -179,6 +183,8 @@ void AudioStreamOGGVorbis::play() { playing=false; setting_up=true; update(); + if (!setting_up) + return; setting_up=false; playing=true; } |