diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-04-11 00:10:30 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-04-11 20:50:08 +0200 |
| commit | 1a284b7c409567b6ecb223adece779487f70ac92 (patch) | |
| tree | f36367b4444037e09b0224da3ea76dfcb248c241 /src/cpl.cc | |
| parent | 093525165f6397ba9eaffd19833dc978bcb32d55 (diff) | |
Extract some parts of ReelEncryptableAsset into ReelFileAsset
Diffstat (limited to 'src/cpl.cc')
| -rw-r--r-- | src/cpl.cc | 51 |
1 files changed, 47 insertions, 4 deletions
@@ -515,23 +515,66 @@ add_file_assets (vector<shared_ptr<T>>& assets, vector<shared_ptr<Reel>> reels) } -vector<shared_ptr<ReelEncryptableAsset>> +vector<shared_ptr<ReelFileAsset>> CPL::reel_file_assets () { - vector<shared_ptr<ReelEncryptableAsset>> c; + vector<shared_ptr<ReelFileAsset>> c; add_file_assets (c, _reels); return c; } -vector<shared_ptr<const ReelEncryptableAsset>> + +vector<shared_ptr<const ReelFileAsset>> CPL::reel_file_assets () const { - vector<shared_ptr<const ReelEncryptableAsset>> c; + vector<shared_ptr<const ReelFileAsset>> c; add_file_assets (c, _reels); return c; } +template <class T> +void +add_encryptable_assets (vector<shared_ptr<T>>& assets, vector<shared_ptr<Reel>> reels) +{ + for (auto i: reels) { + if (i->main_picture ()) { + assets.push_back (i->main_picture()); + } + if (i->main_sound ()) { + assets.push_back (i->main_sound()); + } + if (i->main_subtitle ()) { + assets.push_back (i->main_subtitle()); + } + for (auto j: i->closed_captions()) { + assets.push_back (j); + } + if (i->atmos ()) { + assets.push_back (i->atmos()); + } + } +} + + +vector<shared_ptr<ReelEncryptableAsset>> +CPL::reel_encryptable_assets () +{ + vector<shared_ptr<ReelEncryptableAsset>> c; + add_encryptable_assets (c, _reels); + return c; +} + + +vector<shared_ptr<const ReelEncryptableAsset>> +CPL::reel_encryptable_assets () const +{ + vector<shared_ptr<const ReelEncryptableAsset>> c; + add_encryptable_assets (c, _reels); + return c; +} + + bool CPL::equals (shared_ptr<const Asset> other, EqualityOptions opt, NoteHandler note) const { |
