- _da = decoder_factory (_fs_a, o, j, _log);
- _db = decoder_factory (_fs_b, o, j, _log);
-
- _da->Video.connect (sigc::bind (sigc::mem_fun (*this, &ABTranscoder::process_video), 0));
- _db->Video.connect (sigc::bind (sigc::mem_fun (*this, &ABTranscoder::process_video), 1));
- _da->Audio.connect (sigc::mem_fun (*e, &Encoder::process_audio));
-}
+ _da = decoder_factory (_film_a, o, j);
+ _db = decoder_factory (_film_b, o, j);
+
+ if (_film_a->audio_stream()) {
+ shared_ptr<AudioStream> st = _film_a->audio_stream();
+ _matcher.reset (new Matcher (_film_a->log(), st->sample_rate(), _film_a->frames_per_second()));
+ _delay_line.reset (new DelayLine (_film_a->log(), st->channels(), _film_a->audio_delay() * st->sample_rate() / 1000));
+ _gain.reset (new Gain (_film_a->log(), _film_a->audio_gain()));
+ }