diff options
author | Matt Ebb <matt@mke3.net> | 2010-04-07 05:21:10 +0400 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-04-07 05:21:10 +0400 |
commit | 7efe41bc22e9fe9f9656b384cecf9dca9124f17a (patch) | |
tree | 65233f8a767b2b51760e0c89361524f75a95c59e /source | |
parent | c960dc94011638230e55d5ca4fb53c1106aa5653 (diff) |
Fix [#21257] Renders blank images when audio clip is present.
Only render sequencer when there are non-audio strips on the timeline.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index f9089e7399b..dfe61b29109 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2403,6 +2403,24 @@ static void renderresult_stampinfo(Scene *scene) RE_ReleaseResultImage(re); } +static int seq_render_active(Render *re) +{ + Editing *ed; + Sequence *seq; + + ed = re->scene->ed; + + if (!(re->r.scemode & R_DOSEQ) || !ed || !ed->seqbase.first) + return 0; + + for (seq= ed->seqbase.first; seq; seq= seq->next) { + if (seq->type != SEQ_SOUND) + return 1; + } + + return 0; +} + static void do_render_seq(Render * re) { static int recurs_depth = 0; @@ -2484,7 +2502,7 @@ static void do_render_all_options(Render *re) if(external_render_3d(re, 1)) { /* in this case external render overrides all */ } - else if((re->r.scemode & R_DOSEQ) && re->scene->ed && re->scene->ed->seqbase.first) { + else if(seq_render_active(re)) { /* note: do_render_seq() frees rect32 when sequencer returns float images */ if(!re->test_break(re->tbh)) do_render_seq(re); |