X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fplayer.cc;h=c6803b0549383393274acf080cf452057d2d02dd;hp=0ff2c4032c0a2c7de5da3bdd381284e4a808feb9;hb=53613ae56de4ee785d943c0cb91205c59d91f8f4;hpb=d83a98096b8675905d78c6fd4e6af1091c2f663e diff --git a/src/lib/player.cc b/src/lib/player.cc index 0ff2c4032..c6803b054 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -344,9 +344,11 @@ Player::set_video_container_size (dcp::Size s) _video_container_size = s; - auto black = make_shared(AV_PIX_FMT_RGB24, _video_container_size, Image::Alignment::PADDED); - black->make_black (); - std::atomic_store(&_black_image, black); + { + boost::mutex::scoped_lock lm(_black_image_mutex); + _black_image = make_shared(AV_PIX_FMT_RGB24, _video_container_size, Image::Alignment::PADDED); + _black_image->make_black (); + } Change (ChangeType::DONE, PlayerProperty::VIDEO_CONTAINER_SIZE, false); } @@ -397,10 +399,10 @@ Player::film_change (ChangeType type, Film::Property p) shared_ptr Player::black_player_video_frame (Eyes eyes) const { - auto black = std::atomic_load(&_black_image); + boost::mutex::scoped_lock lm(_black_image_mutex); return std::make_shared ( - std::make_shared(black), + std::make_shared(_black_image), Crop(), optional(), _video_container_size,