X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Freel_mono_picture_asset.h;h=13c6545e82707416dbc3cc83b4a181d4447ed07a;hb=066471f69400fc72e9c126ab36f5427329f30220;hp=a25550a4132e957b0cf47f5823332f4307342c03;hpb=ac265d3d008328b9bdaf00c39ebcd86f263605c7;p=libdcp.git diff --git a/src/reel_mono_picture_asset.h b/src/reel_mono_picture_asset.h index a25550a4..13c6545e 100644 --- a/src/reel_mono_picture_asset.h +++ b/src/reel_mono_picture_asset.h @@ -1,49 +1,92 @@ /* - Copyright (C) 2014 Carl Hetherington + Copyright (C) 2014-2021 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of libdcp. + + libdcp is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + libdcp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with libdcp. If not, see . + + In addition, as a special exception, the copyright holders give + permission to link the code of portions of this program with the + OpenSSL library under certain conditions as described in each + individual source file, and distribute linked combinations + including the two. + You must obey the GNU General Public License in all respects + for all of the code used other than OpenSSL. If you modify + file(s) with this exception, you may extend this exception to your + version of the file(s), but you are not obligated to do so. If you + do not wish to do so, delete this exception statement from your + version. If you delete this exception statement from all source + files in the program, then also delete it here. */ + /** @file src/reel_mono_picture_asset.h - * @brief ReelMonoPictureAsset class. + * @brief ReelMonoPictureAsset class */ + #ifndef LIBDCP_REEL_MONO_PICTURE_ASSET_H #define LIBDCP_REEL_MONO_PICTURE_ASSET_H + #include "reel_picture_asset.h" +#include "mono_j2k_picture_asset.h" +#include "mono_mpeg2_picture_asset.h" + namespace dcp { -class MonoPictureMXF; + +class MonoJ2KPictureAsset; + /** @class ReelMonoPictureAsset - * @brief Part of a Reel's description which refers to a monoscopic picture MXF. + * @brief Part of a Reel's description which refers to a monoscopic picture asset */ class ReelMonoPictureAsset : public ReelPictureAsset { public: - ReelMonoPictureAsset (); - ReelMonoPictureAsset (boost::shared_ptr content, int64_t entry_point); - ReelMonoPictureAsset (boost::shared_ptr); + ReelMonoPictureAsset(std::shared_ptr asset, int64_t entry_point); + explicit ReelMonoPictureAsset (std::shared_ptr); + + /** @return the MonoJ2KPictureAsset that this object refers to, if applicable */ + std::shared_ptr mono_j2k_asset() const { + return asset_of_type(); + } + + /** @return the MonoJ2KPictureAsset that this object refers to */ + std::shared_ptr mono_j2k_asset() { + return asset_of_type(); + } + + /** @return the MonoMPEG2PictureAsset that this object refers to, if applicable */ + std::shared_ptr mono_mpeg2_asset() const { + return asset_of_type(); + } + + /** @return the MonoMPEG2PictureAsset that this object refers to */ + std::shared_ptr mono_mpeg2_asset() { + return asset_of_type(); + } private: - std::string cpl_node_name () const; + std::string cpl_node_name (Standard standard) const override; }; + } + #endif