Merge branch 'bug-120'
authorCarl Hetherington <cth@carlh.net>
Mon, 22 Apr 2013 23:05:16 +0000 (00:05 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 22 Apr 2013 23:05:16 +0000 (00:05 +0100)
builds/control-12.04-32
builds/control-12.04-64
builds/control-12.10-32
builds/control-12.10-64
cscript
debian/rules
src/lib/transcoder.cc

index 8cb5aceb3b461e59831601c4a95b28926e575a0c..0f52d03ae4e984ba4297f2b5c0e765c92df10851 100644 (file)
@@ -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.
+
index cdb15a87b78a1256ca43721fe3c0a4c3633409e2..5e40207487c54a2c4eb6cab6f799776f3e27e138 100644 (file)
@@ -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.
+
index 1dc91b7018cdeed82ba66176ee05674605f5808e..57a814d1753642fd755d8d577569098b06c730b5 100644 (file)
@@ -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.
+
index ed0b36b2ef060f2bed36db893baac7eb37460ce7..b694a3a71150deceac261a53eb449a3edb01349a 100644 (file)
@@ -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 d985838fc876cd742cdc3c5e87e87eed3cbde346..0111e9638db266ecdab5499b620497fa95a241f5 100644 (file)
--- 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')
index a2bf70bd87a595913382c4de942d07f3016e6767..f2b2219beb7c56829e770256c1810a3a68db03a7 100755 (executable)
@@ -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
index 23fb5b7880731789fdb82976fa7cc35c40e0f3bb..e00b2f1e090ff09f55caab5e3c58a0edcf445c17 100644 (file)
@@ -55,21 +55,33 @@ Transcoder::Transcoder (shared_ptr<Film> f, DecodeOptions o, Job* j, shared_ptr<
        assert (_encoder);
 
        shared_ptr<AudioStream> 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 ();
 }