#include "butler.h"
-#include "player.h"
-#include "util.h"
-#include "log.h"
-#include "dcpomatic_log.h"
-#include "cross.h"
#include "compose.hpp"
+#include "cross.h"
+#include "dcpomatic_log.h"
#include "exceptions.h"
+#include "log.h"
+#include "player.h"
+#include "util.h"
#include "video_content.h"
using std::cout;
-using std::pair;
+using std::function;
using std::make_pair;
+using std::pair;
+using std::shared_ptr;
using std::string;
using std::weak_ptr;
-using std::shared_ptr;
using boost::bind;
using boost::optional;
-using std::function;
using namespace dcpomatic;
#if BOOST_VERSION >= 106100
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.
*/
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,
- bool prepare_only_proxy
+ bool prepare_only_proxy,
+ Audio audio
)
: _film (film)
, _player (player)
, _stop_thread (false)
, _audio_mapping (audio_mapping)
, _audio_channels (audio_channels)
- , _disable_audio (false)
+ , _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)
/* 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());
}
}
}
-void
-Butler::disable_audio ()
-{
- boost::mutex::scoped_lock lm (_mutex);
- _disable_audio = true;
-}
-
-
pair<size_t, string>
Butler::memory_used () const
{
if (type == ChangeType::DONE) {
auto film = _film.lock();
if (film) {
- _video.reset_metadata (film, _player->video_container_size());
+ _video.reset_metadata(film);
}
}
return;