X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdecoder_factory.h;h=902cf9f0b73f98737ac26eaf3a5ca13ca41e79dd;hb=1a721b82d4094c00ee89574e17c58c23c0de8cdd;hp=88f719ba230307d3932c7136e132fad2dc06f8df;hpb=9c58fcdb6fd8131c17456dd71c5c277a6b0ae053;p=dcpomatic.git diff --git a/src/lib/decoder_factory.h b/src/lib/decoder_factory.h index 88f719ba2..902cf9f0b 100644 --- a/src/lib/decoder_factory.h +++ b/src/lib/decoder_factory.h @@ -1,49 +1,31 @@ /* - Copyright (C) 2012 Carl Hetherington + Copyright (C) 2016-2021 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ -#ifndef DVDOMATIC_DECODER_FACTORY_H -#define DVDOMATIC_DECODER_FACTORY_H - -/** @file src/decoder_factory.h - * @brief A method to create appropriate decoders for some content. - */ - -class Film; -class Options; -class Job; -class VideoDecoder; -class AudioDecoder; - -struct Decoders { - Decoders () {} - - Decoders (boost::shared_ptr v, boost::shared_ptr a) - : video (v) - , audio (a) - {} - - boost::shared_ptr video; - boost::shared_ptr audio; -}; - -extern Decoders decoder_factory ( - boost::shared_ptr, boost::shared_ptr, Job * - ); -#endif +class Decoder; + + +extern std::shared_ptr decoder_factory ( + std::shared_ptr film, + std::shared_ptr content, + bool fast, + bool tolerant, + std::shared_ptr old_decoder + );