#ifndef TRANSCODE_INPUT_MEDIA_FILE #define TRANSCODE_INPUT_MEDIA_FILE #include #include #include #include #include "cover/CoverArt.hpp" #include "Stream.hpp" namespace Transcode { class InputMediaFile { public: enum StreamType { StreamAudio, StreamVideo, StreamSubtitle, }; InputMediaFile(const boost::filesystem::path& p); // Accessors boost::filesystem::path getPath(void) const {return _path;} boost::posix_time::time_duration getDuration(void) const {return _duration;} // Pictures const std::vector< CoverArt::CoverArt >& getCovers(void) const { return _covers; } // Stream handling std::vector getStreams(Stream::Type type) const; const std::map& getBestStreams(void) const {return _bestStreams;} private: boost::filesystem::path _path; boost::posix_time::time_duration _duration; std::vector _streams; std::map _bestStreams; std::vector< CoverArt::CoverArt > _covers; }; } // namespace Transcode #endif // TRANSCODE_INPUT_MEDIA_FILE