X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fffmpeg_content.cc;fp=src%2Flib%2Fffmpeg_content.cc;h=55139ca56cd8b380265a957cb45402088d6bbabb;hp=ad7af07d864479123513384ecf93241e49176af7;hb=996b0c06e23bcb6b300d7b8799df94993692e07d;hpb=4f03da3aa12525cb8389ddefee629f5d0b2ac0aa diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc index ad7af07d8..55139ca56 100644 --- a/src/lib/ffmpeg_content.cc +++ b/src/lib/ffmpeg_content.cc @@ -25,6 +25,7 @@ #include "compose.hpp" #include "job.h" #include "util.h" +#include "filter.h" #include "log.h" #include "i18n.h" @@ -41,6 +42,7 @@ int const FFmpegContentProperty::SUBTITLE_STREAMS = 100; int const FFmpegContentProperty::SUBTITLE_STREAM = 101; int const FFmpegContentProperty::AUDIO_STREAMS = 102; int const FFmpegContentProperty::AUDIO_STREAM = 103; +int const FFmpegContentProperty::FILTERS = 104; FFmpegContent::FFmpegContent (shared_ptr f, boost::filesystem::path p) : Content (f, p) @@ -70,6 +72,11 @@ FFmpegContent::FFmpegContent (shared_ptr f, shared_ptrnode_children ("Filter"); + for (list >::iterator i = c.begin(); i != c.end(); ++i) { + _filters.push_back (Filter::from_id ((*i)->content ())); + } } FFmpegContent::FFmpegContent (FFmpegContent const & o) @@ -109,6 +116,10 @@ FFmpegContent::as_xml (xmlpp::Node* node) const } (*i)->as_xml (t); } + + for (vector::const_iterator i = _filters.begin(); i != _filters.end(); ++i) { + node->add_child("Filter")->add_child_text ((*i)->id ()); + } } void @@ -335,3 +346,14 @@ FFmpegContent::audio_mapping () const return _audio_stream->mapping; } +void +FFmpegContent::set_filters (vector const & filters) +{ + { + boost::mutex::scoped_lock lm (_mutex); + _filters = filters; + } + + signal_changed (FFmpegContentProperty::FILTERS); +} +