X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Futil.h;h=51770c288695fd064d9d4fc73574664fe7146fb7;hb=f188128e2577942f030374631d3cf1324a00624a;hp=c1f7a78c745318b33a173627c80f3d664128a0bc;hpb=ae15eeca8588c6928d7671894db98c2e289fa601;p=dcpomatic.git diff --git a/src/lib/util.h b/src/lib/util.h index c1f7a78c7..51770c288 100644 --- a/src/lib/util.h +++ b/src/lib/util.h @@ -42,6 +42,12 @@ extern "C" { #undef check +namespace dcp { + class PictureMXF; + class SoundMXF; + class SubtitleContent; +} + /** The maximum number of audio channels that we can have in a DCP */ #define MAX_DCP_AUDIO_CHANNELS 12 /** Message broadcast to find possible encoding servers */ @@ -74,12 +80,31 @@ extern int dcp_audio_frame_rate (int); extern int stride_round_up (int, int const *, int); extern int round_to (float n, int r); extern void* wrapped_av_malloc (size_t); -extern ContentTimePeriod subtitle_period (AVSubtitle const &); + +class FFmpegSubtitlePeriod +{ +public: + FFmpegSubtitlePeriod (ContentTime f) + : from (f) + {} + + FFmpegSubtitlePeriod (ContentTime f, ContentTime t) + : from (f) + , to (t) + {} + + ContentTime from; + boost::optional to; +}; + +extern FFmpegSubtitlePeriod subtitle_period (AVSubtitle const &); extern void set_backtrace_file (boost::filesystem::path); extern dcp::FrameInfo read_frame_info (FILE* file, int frame, Eyes eyes); extern void write_frame_info (FILE* file, int frame, Eyes eyes, dcp::FrameInfo info); -extern int64_t video_frames_to_audio_frames (VideoFrame v, float audio_sample_rate, float frames_per_second); extern std::map split_get_request (std::string url); +extern std::string video_mxf_filename (boost::shared_ptr mxf); +extern std::string audio_mxf_filename (boost::shared_ptr mxf); +extern std::string subtitle_content_filename (boost::shared_ptr content); #endif