summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_content.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-04-12 16:33:51 +0100
committerCarl Hetherington <cth@carlh.net>2016-05-18 11:50:29 +0100
commit3ef438f90729d78ad579bbeb7933b3cf4f09c10c (patch)
tree9ecb2d9657986395570b0239486dfa0efdb01f55 /src/lib/ffmpeg_content.cc
parent500a503a982e8e62884035e156e47ed61a20ef85 (diff)
Basic detach of FFmpegContent, ImageContent, DCPContent
Diffstat (limited to 'src/lib/ffmpeg_content.cc')
-rw-r--r--src/lib/ffmpeg_content.cc20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc
index 8452d65ee..8d9aa195a 100644
--- a/src/lib/ffmpeg_content.cc
+++ b/src/lib/ffmpeg_content.cc
@@ -18,6 +18,7 @@
*/
#include "ffmpeg_content.h"
+#include "video_content.h"
#include "ffmpeg_examiner.h"
#include "ffmpeg_subtitle_stream.h"
#include "ffmpeg_audio_stream.h"
@@ -60,18 +61,18 @@ int const FFmpegContentProperty::FILTERS = 102;
FFmpegContent::FFmpegContent (shared_ptr<const Film> film, boost::filesystem::path p)
: Content (film, p)
- , VideoContent (film, p)
, AudioContent (film, p)
, SubtitleContent (film, p)
+ , video (new VideoContent (film))
{
-
+ set_default_colour_conversion ();
}
FFmpegContent::FFmpegContent (shared_ptr<const Film> film, cxml::ConstNodePtr node, int version, list<string>& notes)
: Content (film, node)
- , VideoContent (film, node, version)
, AudioContent (film, node)
, SubtitleContent (film, node, version)
+ , video (new VideoContent (film, node, version))
{
list<cxml::NodePtr> c = node->node_children ("SubtitleStream");
for (list<cxml::NodePtr>::const_iterator i = c.begin(); i != c.end(); ++i) {
@@ -117,9 +118,9 @@ FFmpegContent::FFmpegContent (shared_ptr<const Film> film, cxml::ConstNodePtr no
FFmpegContent::FFmpegContent (shared_ptr<const Film> film, vector<boost::shared_ptr<Content> > c)
: Content (film, c)
- , VideoContent (film, c)
, AudioContent (film, c)
, SubtitleContent (film, c)
+ , video (new VideoContent (film, c))
{
shared_ptr<FFmpegContent> ref = dynamic_pointer_cast<FFmpegContent> (c[0]);
DCPOMATIC_ASSERT (ref);
@@ -150,7 +151,7 @@ FFmpegContent::as_xml (xmlpp::Node* node) const
{
node->add_child("Type")->add_child_text ("FFmpeg");
Content::as_xml (node);
- VideoContent::as_xml (node);
+ video->as_xml (node);
AudioContent::as_xml (node);
SubtitleContent::as_xml (node);
@@ -194,6 +195,7 @@ FFmpegContent::examine (shared_ptr<Job> job)
shared_ptr<FFmpegExaminer> examiner (new FFmpegExaminer (shared_from_this (), job));
take_from_video_examiner (examiner);
+ set_default_colour_conversion ();
{
boost::mutex::scoped_lock lm (_mutex);
@@ -252,7 +254,7 @@ FFmpegContent::technical_summary () const
string filt = Filter::ffmpeg_string (_filters);
return Content::technical_summary() + " - "
- + VideoContent::technical_summary() + " - "
+ + video->technical_summary() + " - "
+ AudioContent::technical_summary() + " - "
+ String::compose (
"ffmpeg: audio %1 subtitle %2 filters %3", as, ss, filt
@@ -305,7 +307,8 @@ FFmpegContent::identifier () const
{
SafeStringStream s;
- s << VideoContent::identifier() << "_"
+ s << Content::identifier() << "_"
+ << video->identifier() << "_"
<< SubtitleContent::identifier();
boost::mutex::scoped_lock lm (_mutex);
@@ -394,7 +397,8 @@ FFmpegContent::audio_streams () const
void
FFmpegContent::add_properties (list<UserProperty>& p) const
{
- VideoContent::add_properties (p);
+ Content::add_properties (p);
+ video->add_properties (p);
AudioContent::add_properties (p);
if (_bits_per_pixel) {