libdcp
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | Friends | List of all members
dcp::SoundAsset Class Reference

Representation of a sound asset. More...

#include <sound_asset.h>

Inheritance diagram for dcp::SoundAsset:
dcp::Asset dcp::MXF dcp::Object

Public Types

enum class  AtmosSync { ENABLED , DISABLED }
 
enum class  MCASubDescriptors { ENABLED , DISABLED }
 

Public Member Functions

 SoundAsset (boost::filesystem::path file)
 
 SoundAsset (Fraction edit_rate, int sampling_rate, int channels, LanguageTag language, Standard standard)
 
std::shared_ptr< SoundAssetWriterstart_write (boost::filesystem::path file, std::vector< dcp::Channel > extra_active_channels, AtmosSync atmos_sync, MCASubDescriptors mca_subdescriptors)
 
std::shared_ptr< SoundAssetReaderstart_read () const
 
bool equals (std::shared_ptr< const Asset > other, EqualityOptions const &opt, NoteHandler note) const override
 
int channels () const
 
int active_channels () const
 
int sampling_rate () const
 
int bit_depth () const
 
Fraction edit_rate () const
 
int64_t intrinsic_duration () const
 
boost::optional< std::string > language () const
 
- Public Member Functions inherited from dcp::Asset
 Asset ()
 
 Asset (boost::filesystem::path file)
 
 Asset (std::string id, boost::filesystem::path file)
 
virtual void add_to_assetmap (AssetMap &asset_map, boost::filesystem::path root) const
 
virtual void add_to_pkl (std::shared_ptr< PKL > pkl, boost::filesystem::path root) const
 
boost::optional< boost::filesystem::path > file () const
 
void set_file (boost::filesystem::path file) const
 
void set_file_preserving_hash (boost::filesystem::path file) const
 
void rename_file (boost::filesystem::path file)
 
std::string hash (boost::function< void(int64_t, int64_t)> progress={}) const
 
void set_hash (std::string hash)
 
void unset_hash ()
 
- Public Member Functions inherited from dcp::Object
 Object ()
 
 Object (std::string id)
 
 Object (Object const &other)
 
Objectoperator= (Object const &other)
 
std::string id () const
 
- Public Member Functions inherited from dcp::MXF
 MXF (Standard standard)
 
bool encrypted () const
 
void set_key_id (std::string i)
 
boost::optional< std::string > key_id () const
 
virtual void set_key (Key)
 
boost::optional< Keykey () const
 
void set_context_id (std::string id)
 
std::string context_id () const
 
void set_metadata (MXFMetadata m)
 
MXFMetadata metadata () const
 
Standard standard () const
 

Static Public Member Functions

static bool valid_mxf (boost::filesystem::path)
 
static std::string static_pkl_type (Standard standard)
 

Private Attributes

Fraction _edit_rate
 
int64_t _intrinsic_duration = 0
 
int _channels = 0
 number of channels in the MXF
 
boost::optional< int > _active_channels
 estimate of the number of active channels
 
int _sampling_rate = 0
 sampling rate in Hz
 
int _bit_depth = 24
 
boost::optional< std::string > _language
 

Friends

class SoundAssetWriter
 

Additional Inherited Members

- Protected Member Functions inherited from dcp::MXF
std::string read_writer_info (ASDCP::WriterInfo const &)
 
void fill_writer_info (ASDCP::WriterInfo *w, std::string id) const
 
- Static Protected Member Functions inherited from dcp::Asset
static void add_file_to_assetmap (AssetMap &asset_map, boost::filesystem::path root, boost::filesystem::path file, std::string id)
 
- Protected Attributes inherited from dcp::Asset
boost::optional< boost::filesystem::path > _file
 
- Protected Attributes inherited from dcp::Object
std::string _id
 
- Protected Attributes inherited from dcp::MXF
boost::optional< std::string > _key_id
 
boost::optional< Key_key
 
std::string _context_id
 
MXFMetadata _metadata
 
boost::optional< Standard > _standard
 

Detailed Description

Representation of a sound asset.

Definition at line 71 of file sound_asset.h.

Member Function Documentation

◆ active_channels()

int SoundAsset::active_channels ( ) const
Returns
An estimate of the number of channels that are actually in use

Definition at line 292 of file sound_asset.cc.

◆ bit_depth()

int dcp::SoundAsset::bit_depth ( ) const
inline
Returns
Bit depth of samples. This should always be 24, but we return it so the verification code can check

Definition at line 121 of file sound_asset.h.

◆ channels()

int dcp::SoundAsset::channels ( ) const
inline
Returns
number of channels in the MXF

Definition at line 106 of file sound_asset.h.

◆ sampling_rate()

int dcp::SoundAsset::sampling_rate ( ) const
inline
Returns
sampling rate in Hz

Definition at line 114 of file sound_asset.h.

◆ start_write()

shared_ptr< SoundAssetWriter > SoundAsset::start_write ( boost::filesystem::path  file,
std::vector< dcp::Channel extra_active_channels,
AtmosSync  atmos_sync,
MCASubDescriptors  mca_subdescriptors 
)
Parameters
extra_active_channelslist of channels that are active in the asset, other than the basic 5.1 which are assumed always to be active.

Definition at line 243 of file sound_asset.cc.

Member Data Documentation

◆ _intrinsic_duration

int64_t dcp::SoundAsset::_intrinsic_duration = 0
private

The total length of this content in video frames. The amount of content presented may be less than this.

Definition at line 154 of file sound_asset.h.


The documentation for this class was generated from the following files: