summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog17
-rw-r--r--src/lib/decoder.cc10
-rw-r--r--src/lib/film_state.cc7
-rw-r--r--wscript2
4 files changed, 31 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 1aaed3818..b260b8745 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2012-09-28 Carl Hetherington <cth@carlh.net>
+
+ * Fix crash bug which seems to have been
+ exposed by recent changes to ffmpeg.
+
+2012-09-27 Carl Hetherington <cth@carlh.net>
+
+ * Version 0.53 released.
+
+2012-09-27 Carl Hetherington <cth@carlh.net>
+
+ * Fix unrecognised capital letters on
+ still-image file extensions.
+
+ * Write hashes of frames to disk and
+ check them before making the final DCP.
+
2012-09-24 Carl Hetherington <cth@carlh.net>
* Fix problems with overflow on long films.
diff --git a/src/lib/decoder.cc b/src/lib/decoder.cc
index 2f02147e3..973582ca4 100644
--- a/src/lib/decoder.cc
+++ b/src/lib/decoder.cc
@@ -464,12 +464,18 @@ Decoder::setup_video_filters ()
<< sample_aspect_ratio_denominator();
int r;
+
if ((r = avfilter_graph_create_filter (&_buffer_src_context, buffer_src, "in", a.str().c_str(), 0, graph)) < 0) {
throw DecodeError ("could not create buffer source");
}
- enum PixelFormat pixel_formats[] = { pixel_format(), PIX_FMT_NONE };
- if (avfilter_graph_create_filter (&_buffer_sink_context, buffer_sink, "out", 0, pixel_formats, graph) < 0) {
+ AVBufferSinkParams* sink_params = av_buffersink_params_alloc ();
+ PixelFormat* pixel_fmts = new PixelFormat[2];
+ pixel_fmts[0] = pixel_format ();
+ pixel_fmts[1] = PIX_FMT_NONE;
+ sink_params->pixel_fmts = pixel_fmts;
+
+ if (avfilter_graph_create_filter (&_buffer_sink_context, buffer_sink, "out", 0, sink_params, graph) < 0) {
throw DecodeError ("could not create buffer sink.");
}
diff --git a/src/lib/film_state.cc b/src/lib/film_state.cc
index 739eeac3c..e472434ce 100644
--- a/src/lib/film_state.cc
+++ b/src/lib/film_state.cc
@@ -251,10 +251,13 @@ ContentType
FilmState::content_type () const
{
#if BOOST_FILESYSTEM_VERSION == 3
- string const ext = filesystem::path(content).extension().string();
+ string ext = filesystem::path(content).extension().string();
#else
- string const ext = filesystem::path(content).extension();
+ string ext = filesystem::path(content).extension();
#endif
+
+ transform (ext.begin(), ext.end(), ext.begin(), ::tolower);
+
if (ext == ".tif" || ext == ".tiff" || ext == ".jpg" || ext == ".jpeg" || ext == ".png") {
return STILL;
}
diff --git a/wscript b/wscript
index 69d68a35c..7f6c3722f 100644
--- a/wscript
+++ b/wscript
@@ -3,7 +3,7 @@ import os
import sys
APPNAME = 'dvdomatic'
-VERSION = '0.53pre'
+VERSION = '0.54pre'
def options(opt):
opt.load('compiler_cxx')