diff options
| -rw-r--r-- | ChangeLog | 17 | ||||
| -rw-r--r-- | src/lib/decoder.cc | 10 | ||||
| -rw-r--r-- | src/lib/film_state.cc | 7 | ||||
| -rw-r--r-- | wscript | 2 |
4 files changed, 31 insertions, 5 deletions
@@ -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; } @@ -3,7 +3,7 @@ import os import sys APPNAME = 'dvdomatic' -VERSION = '0.53pre' +VERSION = '0.54pre' def options(opt): opt.load('compiler_cxx') |
