diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-04-26 00:21:52 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-04-26 00:21:52 +0100 |
| commit | 384e364f02b9a598044aff6073ea0f61c87c62b0 (patch) | |
| tree | 2de365ccee374150198e50b5431158b339018966 /src/lib/playlist.h | |
| parent | b6580da280e138743c2a90cfb37ec4f415daa6cb (diff) | |
Try to clean up some aspects of video/audio/video-audio content; fixes crash with audio analysis due to no audio being analysed for FFmpeg-only content.
Diffstat (limited to 'src/lib/playlist.h')
| -rw-r--r-- | src/lib/playlist.h | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/lib/playlist.h b/src/lib/playlist.h index d1f766d55..9a2627b1d 100644 --- a/src/lib/playlist.h +++ b/src/lib/playlist.h @@ -37,6 +37,16 @@ class SndfileDecoder; class Job; class Film; +/** @class Playlist + * @brief A set of content files (video and audio), with knowledge of how they should be arranged into + * a DCP. + * + * This class holds Content objects, and it knows how they should be arranged. At the moment + * the ordering is implicit; video content is placed sequentially, and audio content is taken + * from the video unless any sound-only files are present. If sound-only files exist, they + * are played simultaneously (i.e. they can be split up into multiple files for different channels) + */ + class Playlist { public: @@ -68,8 +78,8 @@ public: return _video; } - std::list<boost::shared_ptr<const SndfileContent> > sndfile () const { - return _sndfile; + std::list<boost::shared_ptr<const AudioContent> > audio () const { + return _audio; } std::string audio_digest () const; @@ -80,12 +90,16 @@ public: private: void content_changed (boost::weak_ptr<Content>, int); - boost::shared_ptr<const FFmpegContent> first_ffmpeg () const; - + + /** where we should get our audio from */ AudioFrom _audio_from; + /** all our content which contains video */ std::list<boost::shared_ptr<const VideoContent> > _video; - std::list<boost::shared_ptr<const SndfileContent> > _sndfile; + /** all our content which contains audio. This may contain the same objects + * as _video for FFmpegContent. + */ + std::list<boost::shared_ptr<const AudioContent> > _audio; std::list<boost::signals2::connection> _content_connections; }; |
