From 6abf2fdd53b14608561fcc1900507daea5b79fb7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 17 Aug 2020 15:44:58 +0200 Subject: Report better errors when the butler dies. Adapted from d23f55d8cd73adda823d0a2fcabc129b8845a81 in master. --- src/lib/butler.h | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'src/lib/butler.h') diff --git a/src/lib/butler.h b/src/lib/butler.h index 6263d6143..e13843c90 100644 --- a/src/lib/butler.h +++ b/src/lib/butler.h @@ -49,11 +49,23 @@ public: void seek (dcpomatic::DCPTime position, bool accurate); - enum Error { - NONE, - AGAIN, - DIED, - FINISHED + class Error { + public: + enum Code{ + NONE, + AGAIN, + DIED, + FINISHED + }; + + Error() + : code (NONE) + {} + + Code code; + std::string message; + + std::string summary () const; }; std::pair, dcpomatic::DCPTime> get_video (bool blocking, Error* e = 0); @@ -94,6 +106,7 @@ private: int _suspended; bool _finished; bool _died; + std::string _died_message; bool _stop_thread; AudioMapping _audio_mapping; -- cgit v1.2.3