diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-08-04 23:55:17 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-08-04 23:55:17 +0200 |
| commit | 7bd8eecb8ba8535978d58408dc73ce7528034c7e (patch) | |
| tree | e3019a153415a6becde846fcb6a68f0674341bc1 /src/lib/butler.cc | |
| parent | d6aeaf8dd1b3158689da7b75c7417c1838af9c95 (diff) | |
wip: got stuck... because PlayerVideo is related to the render sizeadjust-sizing
because its subtitles are prepared for the _video_container_size that
the Player knows about. I think the only way around this would be to
store the subs in PlayerVideo in some independent way and to scale/convert
to bitmap later.
Diffstat (limited to 'src/lib/butler.cc')
| -rw-r--r-- | src/lib/butler.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/butler.cc b/src/lib/butler.cc index ce35b1f39..ad3834dee 100644 --- a/src/lib/butler.cc +++ b/src/lib/butler.cc @@ -57,6 +57,8 @@ using namespace boost::placeholders; /** @param pixel_format Pixel format functor that will be used when calling ::image on PlayerVideos coming out of this * butler. This will be used (where possible) to prepare the PlayerVideos so that calling image() on them is quick. + * @param display_container Same as above for the `display_container` value. + * @param film_container Same as above for the `film_container` value. * @param alignment Same as above for the `alignment' value. * @param fast Same as above for the `fast' flag. */ @@ -66,6 +68,8 @@ Butler::Butler ( AudioMapping audio_mapping, int audio_channels, function<AVPixelFormat (AVPixelFormat)> pixel_format, + dcp::Size display_container, + dcp::Size film_container, VideoRange video_range, Image::Alignment alignment, bool fast, @@ -84,6 +88,8 @@ Butler::Butler ( , _audio_channels (audio_channels) , _disable_audio (audio == Audio::DISABLED) , _pixel_format (pixel_format) + , _display_container(display_container) + , _film_container(film_container) , _video_range (video_range) , _alignment (alignment) , _fast (fast) @@ -326,7 +332,7 @@ try /* If the weak_ptr cannot be locked the video obviously no longer requires any work */ if (video) { LOG_TIMING("start-prepare in %1", thread_id()); - video->prepare (_pixel_format, _video_range, _alignment, _fast, _prepare_only_proxy); + video->prepare(_pixel_format, _display_container, _film_container, _video_range, _alignment, _fast, _prepare_only_proxy); LOG_TIMING("finish-prepare in %1", thread_id()); } } @@ -410,7 +416,7 @@ Butler::player_change (ChangeType type, int property) if (type == ChangeType::DONE) { auto film = _film.lock(); if (film) { - _video.reset_metadata (film, _player->video_container_size()); + _video.reset_metadata(film); } } return; |
