diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-07-27 16:14:41 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-07-27 16:14:41 +0100 |
| commit | ae4f0d9f55489ddc50b3e5f0d713621ee8f50645 (patch) | |
| tree | 05adaa258ecce8029f754a58c847ac3904239400 /src/lib/player.cc | |
| parent | 3009a585f5222a83213c786e3c564c740f450d18 (diff) | |
| parent | 3006dde72c92356165ef841910368d0dae27ddbe (diff) | |
Merge branch 'master' of ssh://git.carlh.net/home/carl/git/dcpomatic
Diffstat (limited to 'src/lib/player.cc')
| -rw-r--r-- | src/lib/player.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/player.cc b/src/lib/player.cc index f8471c752..bb0aef458 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -89,6 +89,7 @@ Player::Player (shared_ptr<const Film> film, shared_ptr<const Playlist> playlist , _playlist (playlist) , _have_valid_pieces (false) , _ignore_video (false) + , _ignore_audio (false) , _ignore_text (false) , _always_burn_open_subtitles (false) , _fast (false) @@ -126,6 +127,11 @@ Player::setup_pieces () continue; } + if (_ignore_video && _ignore_audio && i->text.empty()) { + /* We're only interested in text and this content has none */ + continue; + } + shared_ptr<Decoder> decoder = decoder_factory (i, _film->log(), _fast); FrameRateChange frc (i->active_video_frame_rate(), _film->video_frame_rate()); @@ -138,6 +144,10 @@ Player::setup_pieces () decoder->video->set_ignore (true); } + if (decoder->audio && _ignore_audio) { + decoder->audio->set_ignore (true); + } + if (_ignore_text) { BOOST_FOREACH (shared_ptr<TextDecoder> i, decoder->text) { i->set_ignore (true); @@ -444,6 +454,14 @@ Player::set_ignore_video () { boost::mutex::scoped_lock lm (_mutex); _ignore_video = true; + _have_valid_pieces = false; +} + +void +Player::set_ignore_audio () +{ + _ignore_audio = true; + _have_valid_pieces = false; } void |
