[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27621] trunk/blender: Fix for [#21639] Playback with AV-sync and None sound system.
Joerg Mueller
nexyon at gmail.com
Sat Mar 20 12:50:27 CET 2010
Revision: 27621
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27621
Author: nexyon
Date: 2010-03-20 12:50:27 +0100 (Sat, 20 Mar 2010)
Log Message:
-----------
Fix for [#21639] Playback with AV-sync and None sound system.
Modified Paths:
--------------
trunk/blender/intern/audaspace/intern/AUD_NULLDevice.cpp
trunk/blender/source/blender/editors/screen/screen_ops.c
Modified: trunk/blender/intern/audaspace/intern/AUD_NULLDevice.cpp
===================================================================
--- trunk/blender/intern/audaspace/intern/AUD_NULLDevice.cpp 2010-03-20 11:15:16 UTC (rev 27620)
+++ trunk/blender/intern/audaspace/intern/AUD_NULLDevice.cpp 2010-03-20 11:50:27 UTC (rev 27621)
@@ -23,6 +23,8 @@
* ***** END LGPL LICENSE BLOCK *****
*/
+#include <cmath>
+
#include "AUD_NULLDevice.h"
#include "AUD_IReader.h"
#include "AUD_IFactory.h"
@@ -76,7 +78,7 @@
float AUD_NULLDevice::getPosition(AUD_Handle* handle)
{
- return 0.0f;
+ return NAN;
}
AUD_Status AUD_NULLDevice::getStatus(AUD_Handle* handle)
Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c 2010-03-20 11:15:16 UTC (rev 27620)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c 2010-03-20 11:50:27 UTC (rev 27621)
@@ -2401,16 +2401,18 @@
ScreenAnimData *sad= wt->customdata;
ScrArea *sa;
int sync;
-
+ float time = NAN;
+
/* sync, don't sync, or follow scene setting */
if(sad->flag & ANIMPLAY_FLAG_SYNC) sync= 1;
else if(sad->flag & ANIMPLAY_FLAG_NO_SYNC) sync= 0;
else sync= (scene->flag & SCE_FRAME_DROP);
if((scene->audio.flag & AUDIO_SYNC) && !(sad->flag & ANIMPLAY_FLAG_REVERSE))
- {
- scene->r.cfra = floor(sound_sync_scene(scene) * FPS);
- }
+ time = sound_sync_scene(scene);
+
+ if(isfinite(time))
+ scene->r.cfra = floor(time * FPS);
else
{
if(sync) {
More information about the Bf-blender-cvs
mailing list