summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-12-15 01:01:12 +0000
committerCarl Hetherington <cth@carlh.net>2012-12-15 01:01:12 +0000
commit0b781dd65a90e617866810ecb3dee27267449f1f (patch)
treeab79f468e93e6093d45c4e9e49c9e3dccad0e6ed /src
parent2247247a5294af70890cf68f3f9be930f3729d95 (diff)
parent83afdbcfe5d36a64d945843396ddadd22ea4691b (diff)
Merge branch 'master' into speed-up
Diffstat (limited to 'src')
-rw-r--r--src/lib/external_audio_decoder.cc1
-rw-r--r--src/lib/ffmpeg_decoder.cc18
-rw-r--r--src/lib/job.cc6
-rw-r--r--src/lib/make_dcp_job.cc4
-rw-r--r--src/tools/dvdomatic.cc8
5 files changed, 28 insertions, 9 deletions
diff --git a/src/lib/external_audio_decoder.cc b/src/lib/external_audio_decoder.cc
index 136e00fb2..9b121235a 100644
--- a/src/lib/external_audio_decoder.cc
+++ b/src/lib/external_audio_decoder.cc
@@ -17,6 +17,7 @@
*/
+#include <iostream>
#include <sndfile.h>
#include "external_audio_decoder.h"
#include "film.h"
diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc
index fd522a5ac..acaf149f4 100644
--- a/src/lib/ffmpeg_decoder.cc
+++ b/src/lib/ffmpeg_decoder.cc
@@ -120,11 +120,21 @@ FFmpegDecoder::setup_general ()
if (s->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
_video_stream = i;
} else if (s->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
+
+ /* This is a hack; sometimes it seems that _audio_codec_context->channel_layout isn't set up,
+ so bodge it here. No idea why we should have to do this.
+ */
+
+ if (s->codec->channel_layout == 0) {
+ s->codec->channel_layout = av_get_default_channel_layout (s->codec->channels);
+ }
+
_audio_streams.push_back (
shared_ptr<AudioStream> (
new FFmpegAudioStream (stream_name (s), i, s->codec->sample_rate, s->codec->channel_layout)
)
);
+
} else if (s->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) {
_subtitle_streams.push_back (
shared_ptr<SubtitleStream> (
@@ -179,14 +189,6 @@ FFmpegDecoder::setup_audio ()
if (avcodec_open2 (_audio_codec_context, _audio_codec, 0) < 0) {
throw DecodeError ("could not open audio decoder");
}
-
- /* This is a hack; sometimes it seems that _audio_codec_context->channel_layout isn't set up,
- so bodge it here. No idea why we should have to do this.
- */
-
- if (_audio_codec_context->channel_layout == 0) {
- _audio_codec_context->channel_layout = av_get_default_channel_layout (ffa->channels());
- }
}
void
diff --git a/src/lib/job.cc b/src/lib/job.cc
index 201397f08..896862d14 100644
--- a/src/lib/job.cc
+++ b/src/lib/job.cc
@@ -75,6 +75,12 @@ Job::run_wrapper ()
set_state (FINISHED_ERROR);
set_error (e.what ());
+ } catch (...) {
+
+ set_progress (1);
+ set_state (FINISHED_ERROR);
+ set_error ("unknown exception");
+
}
}
diff --git a/src/lib/make_dcp_job.cc b/src/lib/make_dcp_job.cc
index 026724806..65cd272e7 100644
--- a/src/lib/make_dcp_job.cc
+++ b/src/lib/make_dcp_job.cc
@@ -103,7 +103,7 @@ MakeDCPJob::run ()
dcp.add_cpl (cpl);
- descend (0.9);
+ descend (0.8);
shared_ptr<libdcp::MonoPictureAsset> pa (
new libdcp::MonoPictureAsset (
boost::bind (&MakeDCPJob::j2c_path, this, _1),
@@ -137,8 +137,10 @@ MakeDCPJob::run ()
ascend ();
}
+ descend (0.1);
cpl->add_reel (shared_ptr<libdcp::Reel> (new libdcp::Reel (pa, sa, shared_ptr<libdcp::SubtitleAsset> ())));
dcp.write_xml ();
+ ascend ();
set_progress (1);
set_state (FINISHED_OK);
diff --git a/src/tools/dvdomatic.cc b/src/tools/dvdomatic.cc
index 88c03d753..993c41563 100644
--- a/src/tools/dvdomatic.cc
+++ b/src/tools/dvdomatic.cc
@@ -361,11 +361,19 @@ public:
}
};
+#if wxMINOR_VERSION == 9
+static const wxCmdLineEntryDesc command_line_description[] = {
+ { wxCMD_LINE_OPTION, "l", "log", "set log level (silent, verbose or timing)", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
+ { wxCMD_LINE_PARAM, 0, 0, "film to load", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE | wxCMD_LINE_PARAM_OPTIONAL },
+ { wxCMD_LINE_NONE }
+};
+#else
static const wxCmdLineEntryDesc command_line_description[] = {
{ wxCMD_LINE_OPTION, wxT("l"), wxT("log"), wxT("set log level (silent, verbose or timing)"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
{ wxCMD_LINE_PARAM, 0, 0, wxT("film to load"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE | wxCMD_LINE_PARAM_OPTIONAL },
{ wxCMD_LINE_NONE }
};
+#endif
class App : public wxApp
{