diff options
author | Joerg Mueller <nexyon@gmail.com> | 2010-03-20 14:50:27 +0300 |
---|---|---|
committer | Joerg Mueller <nexyon@gmail.com> | 2010-03-20 14:50:27 +0300 |
commit | ca3736c123aff2bb01f3231687a807952cdca4af (patch) | |
tree | bf769160a78e3b8323a7cf9050b119df905bfe98 /source/blender | |
parent | 1e2be7a8c6e32589be706da407f75cddf879c077 (diff) |
Fix for [#21639] Playback with AV-sync and None sound system.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/screen/screen_ops.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index ff6e63f911b..969b88efc35 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -2401,16 +2401,18 @@ static int screen_animation_step(bContext *C, wmOperator *op, wmEvent *event) 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) { |