X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fdcp_decoder.h;h=6fdbd946af348dcd2f99a7d8306e5c8e6dabeff4;hp=d81b20b5c30d2d4793870aa07e286155b55daf77;hb=aeb835a18c8df347e0ed68fb24631b320abeb611;hpb=cb990adba9c57e5107ef2aa9716cf0a26c1df83d diff --git a/src/lib/dcp_decoder.h b/src/lib/dcp_decoder.h index d81b20b5c..6fdbd946a 100644 --- a/src/lib/dcp_decoder.h +++ b/src/lib/dcp_decoder.h @@ -17,6 +17,10 @@ */ +/** @file src/dcp_decoder.h + * @brief A decoder of existing DCPs. + */ + #include "video_decoder.h" #include "audio_decoder.h" #include "subtitle_decoder.h" @@ -26,21 +30,28 @@ namespace dcp { } class DCPContent; -class Log; +struct dcp_subtitle_within_dcp_test; class DCPDecoder : public VideoDecoder, public AudioDecoder, public SubtitleDecoder { public: - DCPDecoder (boost::shared_ptr, boost::shared_ptr); + DCPDecoder (boost::shared_ptr, bool fast); + + std::list > reels () const { + return _reels; + } private: - void seek (ContentTime t, bool accurate); + friend struct dcp_subtitle_within_dcp_test; + bool pass (); - std::list subtitles_during (ContentTimePeriod, bool starting) const; + void seek (ContentTime t, bool accurate); + + std::list image_subtitles_during (ContentTimePeriod, bool starting) const; + std::list text_subtitles_during (ContentTimePeriod, bool starting) const; ContentTime _next; std::list > _reels; std::list >::iterator _reel; - boost::shared_ptr _log; boost::shared_ptr _dcp_content; };