diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-10-15 15:26:04 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-10-15 15:26:04 +0100 |
| commit | 45f9912aa850546e319e32a4052517d67f4e3d8f (patch) | |
| tree | f92b43f73e82cd09bf6a3bea29147aafa9c59d79 /src/lib/player.cc | |
| parent | 708dacb8247c73c02b6192464325738203ca001a (diff) | |
Allow no-stretch scaling of video content.
Diffstat (limited to 'src/lib/player.cc')
| -rw-r--r-- | src/lib/player.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/player.cc b/src/lib/player.cc index 70d6fa877..03c5dc322 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -103,7 +103,7 @@ Player::Player (shared_ptr<const Film> f, shared_ptr<const Playlist> p) _playlist_changed_connection = _playlist->Changed.connect (bind (&Player::playlist_changed, this)); _playlist_content_changed_connection = _playlist->ContentChanged.connect (bind (&Player::content_changed, this, _1, _2, _3)); _film_changed_connection = _film->Changed.connect (bind (&Player::film_changed, this, _1)); - set_video_container_size (_film->container()->size (_film->full_frame ())); + set_video_container_size (fit_ratio_within (_film->container()->ratio (), _film->full_frame ())); } void @@ -256,7 +256,8 @@ Player::process_video (weak_ptr<Piece> weak_piece, shared_ptr<const Image> image work_image = work_image->crop (content->crop(), true); - libdcp::Size const image_size = content->ratio()->size (_video_container_size); + float const ratio = content->ratio() ? content->ratio()->ratio() : content->video_size_after_crop().ratio(); + libdcp::Size image_size = fit_ratio_within (ratio, _video_container_size); work_image = work_image->scale (image_size, _film->scaler(), PIX_FMT_RGB24, true); |
