Fix T91012: Scene strip doesn't play audio
Issue was caused by adding `seq->sound` check in ded68fb102
in
function `BKE_sound_scene_add_scene_sound` as `offset_time` field was
introduced to resolve sub-frame a/v misalignment.
Scene strips don't have `bSound` allocated but also don't suffer from
a/v misalignment.
Remove `seq->sound` check and don't apply any offset for scene strips.
Reviewed By: zeddb, sergey
Differential Revision: https://developer.blender.org/D12819
This commit is contained in:
parent
5c6418b077
commit
42ab4b60bd
Notes:
blender-bot
2023-02-14 08:45:09 +01:00
Referenced by issue #88449: Blender LTS: Maintenance Task 2.93 Referenced by issue #88449, Blender LTS: Maintenance Task 2.93 Referenced by issue #91012, VSE: Scene strip doesn't play audio
|
@ -703,13 +703,13 @@ void *BKE_sound_scene_add_scene_sound(
|
|||
Scene *scene, Sequence *sequence, int startframe, int endframe, int frameskip)
|
||||
{
|
||||
sound_verify_evaluated_id(&scene->id);
|
||||
if (sequence->scene && scene != sequence->scene && sequence->sound) {
|
||||
if (sequence->scene && scene != sequence->scene) {
|
||||
const double fps = FPS;
|
||||
return AUD_Sequence_add(scene->sound_scene,
|
||||
sequence->scene->sound_scene,
|
||||
startframe / fps,
|
||||
endframe / fps,
|
||||
frameskip / fps + sequence->sound->offset_time);
|
||||
frameskip / fps);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -775,13 +775,13 @@ void BKE_sound_move_scene_sound(
|
|||
void BKE_sound_move_scene_sound_defaults(Scene *scene, Sequence *sequence)
|
||||
{
|
||||
sound_verify_evaluated_id(&scene->id);
|
||||
if (sequence->scene_sound && sequence->sound) {
|
||||
if (sequence->scene_sound) {
|
||||
BKE_sound_move_scene_sound(scene,
|
||||
sequence->scene_sound,
|
||||
sequence->startdisp,
|
||||
sequence->enddisp,
|
||||
sequence->startofs + sequence->anim_startofs,
|
||||
sequence->sound->offset_time);
|
||||
0.0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -111,12 +111,8 @@ void SEQ_sound_update_bounds(Scene *scene, Sequence *seq)
|
|||
/* We have to take into account start frame of the sequence's scene! */
|
||||
int startofs = seq->startofs + seq->anim_startofs + seq->scene->r.sfra;
|
||||
|
||||
BKE_sound_move_scene_sound(scene,
|
||||
seq->scene_sound,
|
||||
seq->startdisp,
|
||||
seq->enddisp,
|
||||
startofs,
|
||||
seq->sound->offset_time);
|
||||
BKE_sound_move_scene_sound(
|
||||
scene, seq->scene_sound, seq->startdisp, seq->enddisp, startofs, 0.0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Reference in New Issue