diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-01-26 12:21:47 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-01-26 12:21:47 +0300 |
commit | 3ffd662586e017668f6c0a1c2f1c754f4db0bf4e (patch) | |
tree | 35cb9af1c2656d39be3a3b5db16edcf2bf37df02 /source/blender/sequencer/intern/sound.c | |
parent | be4f593758c5913705b43fa092ee0294b4e1bb0a (diff) | |
parent | 0cb5eae9d0617abedf745753c23061ddfcfd1416 (diff) |
Merge branch 'master' into tmp-workbench-shader-create-infostmp-workbench-shader-create-infos
Diffstat (limited to 'source/blender/sequencer/intern/sound.c')
-rw-r--r-- | source/blender/sequencer/intern/sound.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/sequencer/intern/sound.c b/source/blender/sequencer/intern/sound.c index 86a37aca4a9..0788003fb12 100644 --- a/source/blender/sequencer/intern/sound.c +++ b/source/blender/sequencer/intern/sound.c @@ -31,6 +31,7 @@ #include "DNA_sound_types.h" #include "BLI_listbase.h" +#include "BLI_utildefines.h" #include "BKE_main.h" #include "BKE_scene.h" @@ -56,11 +57,15 @@ static bool sequencer_refresh_sound_length_recursive(Main *bmain, Scene *scene, } } else if (seq->type == SEQ_TYPE_SOUND_RAM && seq->sound) { - const float length = BKE_sound_get_length(bmain, seq->sound); + SoundInfo info; + if (!BKE_sound_info_get(bmain, seq->sound, &info)) { + continue; + } + int old = seq->len; float fac; - seq->len = (int)ceil((double)length * FPS); + seq->len = MAX2(1, round((info.length - seq->sound->offset_time) * FPS)); fac = (float)seq->len / (float)old; old = seq->startofs; seq->startofs *= fac; |