From: Carl Hetherington Date: Mon, 22 Apr 2013 23:05:16 +0000 (+0100) Subject: Merge branch 'bug-120' X-Git-Tag: v2.0.48~1337^2~347^2~27 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=ed34be5011aafe4ebdf42d4f6426c788d39dc5e1;hp=979f68288ffe879a46a51a0f45175c7feb624a62;p=dcpomatic.git Merge branch 'bug-120' --- diff --git a/builds/control-12.04-32 b/builds/control-12.04-32 index 8cb5aceb3..0f52d03ae 100644 --- a/builds/control-12.04-32 +++ b/builds/control-12.04-32 @@ -13,3 +13,12 @@ Description: Generator of Digital Cinema Packages (DCPs) DVD-o-matic generates Digital Cinema Packages (DCPs) from video and audio files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant digital projectors. + +Package: dvdomatic-dbg +Architecture: i386 +Section: debug +Priority: extra +Depends: ${dvdomatic:Depends}, ${misc:Depends} +Description: debugging symbols for dvdomatic + This package contains the debugging symbols for dvdomatic. + diff --git a/builds/control-12.04-64 b/builds/control-12.04-64 index cdb15a87b..5e4020748 100644 --- a/builds/control-12.04-64 +++ b/builds/control-12.04-64 @@ -13,3 +13,12 @@ Description: Generator of Digital Cinema Packages (DCPs) DVD-o-matic generates Digital Cinema Packages (DCPs) from video and audio files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant digital projectors. + +Package: dvdomatic-dbg +Architecture: amd64 +Section: debug +Priority: extra +Depends: dvdomatic = (${binary:Version}), ${misc:Depends} +Description: debugging symbols for dvdomatic + This package contains the debugging symbols for dvdomatic. + diff --git a/builds/control-12.10-32 b/builds/control-12.10-32 index 1dc91b701..57a814d17 100644 --- a/builds/control-12.10-32 +++ b/builds/control-12.10-32 @@ -13,3 +13,12 @@ Description: Generator of Digital Cinema Packages (DCPs) DVD-o-matic generates Digital Cinema Packages (DCPs) from video and audio files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant digital projectors. + +Package: dvdomatic-dbg +Architecture: i386 +Section: debug +Priority: extra +Depends: dvdomatic = (${binary:Version}), ${misc:Depends} +Description: debugging symbols for dvdomatic + This package contains the debugging symbols for dvdomatic. + diff --git a/builds/control-12.10-64 b/builds/control-12.10-64 index ed0b36b2e..b694a3a71 100644 --- a/builds/control-12.10-64 +++ b/builds/control-12.10-64 @@ -13,3 +13,12 @@ Description: Generator of Digital Cinema Packages (DCPs) DVD-o-matic generates Digital Cinema Packages (DCPs) from video and audio files (such as those from DVDs or Blu-Rays) for presentation on DCI-compliant digital projectors. + +Package: dvdomatic-dbg +Architecture: amd64 +Section: debug +Priority: extra +Depends: dvdomatic = (${binary:Version}), ${misc:Depends} +Description: debugging symbols for dvdomatic + This package contains the debugging symbols for dvdomatic. + diff --git a/cscript b/cscript index d985838fc..0111e9638 100644 --- a/cscript +++ b/cscript @@ -55,7 +55,12 @@ def package(env, target, version): env.set('CDIST_CXXFLAGS', env.get('CXXFLAGS')) env.set('CDIST_PKG_CONFIG_PATH', env.get('PKG_CONFIG_PATH')) env.command('dpkg-buildpackage') - return os.path.abspath(glob.glob('../*.deb')[0]) + + debs = [] + for p in glob.glob('../*.deb'): + debs.append(os.path.abspath(p)) + + return debs def make_pot(env): env.command('./waf pot') diff --git a/debian/rules b/debian/rules index a2bf70bd8..f2b2219be 100755 --- a/debian/rules +++ b/debian/rules @@ -14,7 +14,7 @@ override_dh_auto_configure: LINKFLAGS=$(CDIST_LINKFLAGS) CXXFLAGS="$(CXXFLAGS) $(CDIST_CXXFLAGS)" PKG_CONFIG_PATH=$(CDIST_PKG_CONFIG_PATH) \ - ./waf --nocache configure --prefix=/usr --static + ./waf --nocache configure --prefix=/usr --static --enable-debug override_dh_auto_build: ./waf --nocache build @@ -22,3 +22,6 @@ override_dh_auto_build: override_dh_auto_install: ./waf --nocache install --destdir=debian/dvdomatic +.PHONY: override_dh_strip +override_dh_strip: + dh_strip --dbg-package=dvdomatic-dbg diff --git a/src/lib/transcoder.cc b/src/lib/transcoder.cc index 23fb5b788..e00b2f1e0 100644 --- a/src/lib/transcoder.cc +++ b/src/lib/transcoder.cc @@ -55,21 +55,33 @@ Transcoder::Transcoder (shared_ptr f, DecodeOptions o, Job* j, shared_ptr< assert (_encoder); shared_ptr st = f->audio_stream(); - _matcher.reset (new Matcher (f->log(), st->sample_rate(), f->source_frame_rate())); + if (st) { + _matcher.reset (new Matcher (f->log(), st->sample_rate(), f->source_frame_rate())); + } _delay_line.reset (new DelayLine (f->log(), f->audio_delay() / 1000.0f)); _gain.reset (new Gain (f->log(), f->audio_gain())); /* Set up the decoder to use the film's set streams */ _decoders.video->set_subtitle_stream (f->subtitle_stream ()); - _decoders.audio->set_audio_stream (f->audio_stream ()); + if (f->audio_stream ()) { + _decoders.audio->set_audio_stream (f->audio_stream ()); + } _decoders.video->connect_video (_delay_line); - _delay_line->connect_video (_matcher); - _matcher->connect_video (_encoder); + if (_matcher) { + _delay_line->connect_video (_matcher); + _matcher->connect_video (_encoder); + } else { + _delay_line->Video.connect (bind (&Encoder::process_video, _encoder, _1, _2, _3)); + } _decoders.audio->connect_audio (_delay_line); - _delay_line->connect_audio (_matcher); - _matcher->connect_audio (_gain); + if (_matcher) { + _delay_line->connect_audio (_matcher); + _matcher->connect_audio (_gain); + } else { + _delay_line->Audio.connect (bind (&Encoder::process_audio, _encoder, _1)); + } _gain->connect_audio (_encoder); } @@ -108,7 +120,9 @@ Transcoder::go () } _delay_line->process_end (); - _matcher->process_end (); + if (_matcher) { + _matcher->process_end (); + } _gain->process_end (); _encoder->process_end (); }