summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-09-14 01:36:38 +0200
committerCarl Hetherington <cth@carlh.net>2021-09-27 13:41:46 +0200
commit6cac49dc50dae6b173135df101d532f20031ca70 (patch)
treefe5a4fb85f89795d9501426dd6d06bada3859b6d /src
parentc46bfb445ba467b3b262cab4e0aa808d6b4cb6a8 (diff)
Setup Butler::_prepare_only_proxy on construction.
Diffstat (limited to 'src')
-rw-r--r--src/lib/butler.cc4
-rw-r--r--src/lib/butler.h6
-rw-r--r--src/lib/ffmpeg_encoder.cc2
-rw-r--r--src/wx/film_viewer.cc7
4 files changed, 8 insertions, 11 deletions
diff --git a/src/lib/butler.cc b/src/lib/butler.cc
index cbd5ba15d..ca0887a4c 100644
--- a/src/lib/butler.cc
+++ b/src/lib/butler.cc
@@ -68,7 +68,8 @@ Butler::Butler (
function<AVPixelFormat (AVPixelFormat)> pixel_format,
VideoRange video_range,
bool aligned,
- bool fast
+ bool fast,
+ bool prepare_only_proxy
)
: _film (film)
, _player (player)
@@ -85,6 +86,7 @@ Butler::Butler (
, _video_range (video_range)
, _aligned (aligned)
, _fast (fast)
+ , _prepare_only_proxy (prepare_only_proxy)
{
_player_video_connection = _player->Video.connect (bind (&Butler::video, this, _1, _2));
_player_audio_connection = _player->Audio.connect (bind (&Butler::audio, this, _1, _2, _3));
diff --git a/src/lib/butler.h b/src/lib/butler.h
index d31442f6c..320e56bf9 100644
--- a/src/lib/butler.h
+++ b/src/lib/butler.h
@@ -46,7 +46,8 @@ public:
std::function<AVPixelFormat (AVPixelFormat)> pixel_format,
VideoRange video_range,
bool aligned,
- bool fast
+ bool fast,
+ bool prepare_only_proxy
);
~Butler ();
@@ -80,9 +81,6 @@ public:
boost::optional<TextRingBuffers::Data> get_closed_caption ();
void disable_audio ();
- void set_prepare_only_proxy (bool p) {
- _prepare_only_proxy = p;
- }
std::pair<size_t, std::string> memory_used () const;
diff --git a/src/lib/ffmpeg_encoder.cc b/src/lib/ffmpeg_encoder.cc
index 61ca1ae00..77f27d519 100644
--- a/src/lib/ffmpeg_encoder.cc
+++ b/src/lib/ffmpeg_encoder.cc
@@ -108,7 +108,7 @@ FFmpegEncoder::FFmpegEncoder (
}
_butler = std::make_shared<Butler>(
- _film, _player, map, _output_audio_channels, bind(&PlayerVideo::force, _1, FFmpegFileEncoder::pixel_format(format)), VideoRange::VIDEO, true, false
+ _film, _player, map, _output_audio_channels, bind(&PlayerVideo::force, _1, FFmpegFileEncoder::pixel_format(format)), VideoRange::VIDEO, true, false, false
);
}
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc
index 749e4ceb7..98948b1f2 100644
--- a/src/wx/film_viewer.cc
+++ b/src/wx/film_viewer.cc
@@ -222,17 +222,14 @@ FilmViewer::recreate_butler ()
bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24),
VideoRange::FULL,
false,
- true
+ true,
+ dynamic_pointer_cast<GLVideoView>(_video_view) && _optimise_for_j2k
);
if (!Config::instance()->sound() && !_audio.isStreamOpen()) {
_butler->disable_audio ();
}
- if (dynamic_pointer_cast<GLVideoView>(_video_view) && _optimise_for_j2k) {
- _butler->set_prepare_only_proxy (true);
- }
-
_closed_captions_dialog->set_butler (_butler);
resume ();