diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-04-26 00:22:52 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-04-26 00:22:52 +0100 |
| commit | 131646786964241429888af6296e4ff089ce5900 (patch) | |
| tree | 524a4c82b72af8b6f44eab24adc3e2c3ca5e3ab0 | |
| parent | 59bf0ffd44300161bcf82f547413f1a58a7345f7 (diff) | |
Signal when streams change and rebuild player pieces when it happens.
| -rw-r--r-- | src/lib/dcp_content.cc | 17 | ||||
| -rw-r--r-- | src/lib/player.cc | 5 |
2 files changed, 10 insertions, 12 deletions
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc index 7d9766a7c..b5209e2c7 100644 --- a/src/lib/dcp_content.cc +++ b/src/lib/dcp_content.cc @@ -155,16 +155,11 @@ DCPContent::examine (shared_ptr<Job> job) video->take_from_examiner (examiner); set_default_colour_conversion (); - { - boost::mutex::scoped_lock lm (_mutex); - - AudioStreamPtr as (new AudioStream (examiner->audio_frame_rate(), examiner->audio_length(), examiner->audio_channels())); - audio->set_stream (as); - AudioMapping m = as->mapping (); - film()->make_audio_mapping_default (m); - as->set_mapping (m); - } - + AudioStreamPtr as (new AudioStream (examiner->audio_frame_rate(), examiner->audio_length(), examiner->audio_channels())); + audio->set_stream (as); + AudioMapping m = as->mapping (); + film()->make_audio_mapping_default (m); + as->set_mapping (m); signal_changed (AudioContentProperty::STREAMS); bool has_subtitles = false; @@ -202,6 +197,8 @@ DCPContent::examine (shared_ptr<Job> job) signal_changed (DCPContentProperty::NAME); } + signal_changed (AudioContentProperty::STREAMS); + video->set_frame_type (_three_d ? VIDEO_FRAME_TYPE_3D : VIDEO_FRAME_TYPE_2D); } diff --git a/src/lib/player.cc b/src/lib/player.cc index 6fcf57949..c7d7b2f44 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -206,14 +206,15 @@ Player::playlist_content_changed (weak_ptr<Content> w, int property, bool freque property == ContentProperty::TRIM_END || property == ContentProperty::PATH || property == VideoContentProperty::FRAME_TYPE || + property == VideoContentProperty::COLOUR_CONVERSION || + property == AudioContentProperty::STREAMS || property == DCPContentProperty::NEEDS_ASSETS || property == DCPContentProperty::NEEDS_KDM || property == SubtitleContentProperty::COLOUR || property == SubtitleContentProperty::EFFECT || property == SubtitleContentProperty::EFFECT_COLOUR || property == FFmpegContentProperty::SUBTITLE_STREAM || - property == FFmpegContentProperty::FILTERS || - property == VideoContentProperty::COLOUR_CONVERSION + property == FFmpegContentProperty::FILTERS ) { _have_valid_pieces = false; |
