From e8859c11a407ac167045fbb3b9a9296de688ca7a Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 21 Oct 2014 20:00:29 +0100 Subject: Fix thinko in ExceptionStore; nothing happens after rethrow_exception..! (backport from 2.0). --- src/lib/exceptions.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib/exceptions.h b/src/lib/exceptions.h index 3423a5754..2820ce4a1 100644 --- a/src/lib/exceptions.h +++ b/src/lib/exceptions.h @@ -252,8 +252,9 @@ public: void rethrow () { boost::mutex::scoped_lock lm (_mutex); if (_exception) { - boost::rethrow_exception (_exception); + boost::exception_ptr tmp = _exception; _exception = boost::exception_ptr (); + boost::rethrow_exception (tmp); } } -- cgit v1.2.3 From f8607d7950013d26b33be022bd4d06acb5807cd0 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 21 Oct 2014 20:00:56 +0100 Subject: Nicer exception when we fail to listen for remote encode servers because some other DCP-o-matic is already at it (backport from 2.0). --- src/lib/server_finder.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/lib/server_finder.cc b/src/lib/server_finder.cc index a082f3bab..f034f46f6 100644 --- a/src/lib/server_finder.cc +++ b/src/lib/server_finder.cc @@ -26,6 +26,8 @@ #include "cross.h" #include "ui_signaller.h" +#include "i18n.h" + using std::string; using std::list; using std::vector; @@ -105,11 +107,16 @@ try using namespace boost::asio::ip; boost::asio::io_service io_service; - tcp::acceptor acceptor (io_service, tcp::endpoint (tcp::v4(), Config::instance()->server_port_base() + 1)); + boost::scoped_ptr acceptor; + try { + acceptor.reset (new tcp::acceptor (io_service, tcp::endpoint (tcp::v4(), Config::instance()->server_port_base() + 1))); + } catch (...) { + boost::throw_exception (NetworkError (_("Could not listen for remote encode servers. Perhaps another instance of DCP-o-matic is running."))); + } while (true) { tcp::socket socket (io_service); - acceptor.accept (socket); + acceptor->accept (socket); /* XXX: these reads should have timeouts, otherwise we will stop finding servers if one dies during this conversation -- cgit v1.2.3 From 176e5b4c4dd7d2a3ff3e106c50157543f646dda6 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 22 Oct 2014 09:29:38 +0100 Subject: Ignore video streams with zero avg_frame_rate in their AVStream (e.g. from iTunes). --- ChangeLog | 5 +++++ src/lib/ffmpeg.cc | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/ChangeLog b/ChangeLog index 5bb0711b4..69af59f2c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-10-22 Carl Hetherington + + * Fix bug where some files from iTunes would + be read as being at 90,000fps. + 2014-10-20 Carl Hetherington * Version 1.76.2 released. diff --git a/src/lib/ffmpeg.cc b/src/lib/ffmpeg.cc index ebe62b51f..53eed97e2 100644 --- a/src/lib/ffmpeg.cc +++ b/src/lib/ffmpeg.cc @@ -109,7 +109,10 @@ FFmpeg::setup_general () for (uint32_t i = 0; i < _format_context->nb_streams; ++i) { AVStream* s = _format_context->streams[i]; - if (s->codec->codec_type == AVMEDIA_TYPE_VIDEO) { + /* Files from iTunes sometimes have two video streams, one with the avg_frame_rate.num and .den set + to zero. Ignore these streams. + */ + if (s->codec->codec_type == AVMEDIA_TYPE_VIDEO && s->avg_frame_rate.num > 0 && s->avg_frame_rate.den > 0) { _video_stream = i; } } -- cgit v1.2.3 From 9b39f9bec764e6b3e7692a295bcf309d549ec1c2 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 22 Oct 2014 09:30:39 +0100 Subject: Supporter. --- src/wx/about_dialog.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/wx/about_dialog.cc b/src/wx/about_dialog.cc index 49e245318..d245d65a4 100644 --- a/src/wx/about_dialog.cc +++ b/src/wx/about_dialog.cc @@ -147,6 +147,7 @@ AboutDialog::AboutDialog (wxWindow* parent) supported_by.Add (wxT ("Aldo Midali")); supported_by.Add (wxT ("Sylvain Mielle")); supported_by.Add (wxT ("Lindsay Morris")); + supported_by.Add (wxT ("David Nedrow")); supported_by.Add (wxT ("Tim O'Brien")); supported_by.Add (wxT ("Ivan Pullman")); supported_by.Add (wxT ("Mark Rolfe")); -- cgit v1.2.3