From 131646786964241429888af6296e4ff089ce5900 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 26 Apr 2018 00:22:52 +0100 Subject: Signal when streams change and rebuild player pieces when it happens. --- src/lib/dcp_content.cc | 17 +++++++---------- src/lib/player.cc | 5 +++-- 2 files changed, 10 insertions(+), 12 deletions(-) (limited to 'src/lib') 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) 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) 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 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; -- cgit v1.2.3