summaryrefslogtreecommitdiff
path: root/src/lib/player.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-06-19 13:30:02 +0200
committerCarl Hetherington <cth@carlh.net>2020-06-19 15:07:30 +0200
commitca981c8cfa23111e92be329f1c2dfbe3a07b4247 (patch)
tree2a0ceab2864691f910c9c7d70127542868f9f8e5 /src/lib/player.h
parentcabe0934c60fb6e74bf4c3023bdcb5c68753e5d9 (diff)
Make Atmos content work more like other content. Now its MXFsv2.15.82
are re-written, meaning that they can be encrypted. This (along with the libdcp update) also fixes assorted Atmos bugs.
Diffstat (limited to 'src/lib/player.h')
-rw-r--r--src/lib/player.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/player.h b/src/lib/player.h
index bb2a0c613..ea81ae939 100644
--- a/src/lib/player.h
+++ b/src/lib/player.h
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2013-2019 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2020 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
@@ -21,11 +21,13 @@
#ifndef DCPOMATIC_PLAYER_H
#define DCPOMATIC_PLAYER_H
+#include "atmos_metadata.h"
#include "player_text.h"
#include "active_text.h"
#include "content_text.h"
#include "film.h"
#include "content.h"
+#include "content_atmos.h"
#include "position_image.h"
#include "piece.h"
#include "content_video.h"
@@ -46,6 +48,7 @@ namespace dcpomatic {
class Font;
}
+class AtmosContent;
class PlayerVideo;
class Playlist;
class AudioBuffers;
@@ -103,6 +106,7 @@ public:
* after the corresponding Video.
*/
boost::signals2::signal<void (PlayerText, TextType, boost::optional<DCPTextTrack>, dcpomatic::DCPTimePeriod)> Text;
+ boost::signals2::signal<void (boost::shared_ptr<const dcp::AtmosFrame>, dcpomatic::DCPTime, AtmosMetadata)> Atmos;
private:
friend class PlayerWrapper;
@@ -129,11 +133,14 @@ private:
dcpomatic::ContentTime dcp_to_content_time (boost::shared_ptr<const Piece> piece, dcpomatic::DCPTime t) const;
dcpomatic::DCPTime content_time_to_dcp (boost::shared_ptr<const Piece> piece, dcpomatic::ContentTime t) const;
boost::shared_ptr<PlayerVideo> black_player_video_frame (Eyes eyes) const;
+
void video (boost::weak_ptr<Piece>, ContentVideo);
void audio (boost::weak_ptr<Piece>, AudioStreamPtr, ContentAudio);
void bitmap_text_start (boost::weak_ptr<Piece>, boost::weak_ptr<const TextContent>, ContentBitmapText);
void plain_text_start (boost::weak_ptr<Piece>, boost::weak_ptr<const TextContent>, ContentStringText);
void subtitle_stop (boost::weak_ptr<Piece>, boost::weak_ptr<const TextContent>, dcpomatic::ContentTime);
+ void atmos (boost::weak_ptr<Piece>, ContentAtmos);
+
dcpomatic::DCPTime one_video_frame () const;
void fill_audio (dcpomatic::DCPTimePeriod period);
std::pair<boost::shared_ptr<AudioBuffers>, dcpomatic::DCPTime> discard_audio (