- content.reset (new SndfileContent (film, node, version));
- } else if (type == "SubRip") {
- content.reset (new SubRipContent (film, node, version));
+ /* SndfileContent is now handled by the FFmpeg code rather than by
+ separate libsndfile-based code.
+ */
+ content = make_shared<FFmpegContent>(node, version, notes);
+
+ content->audio->set_stream (
+ make_shared<FFmpegAudioStream>(
+ "Stream", 0,
+ node->number_child<int> ("AudioFrameRate"),
+ node->number_child<Frame> ("AudioLength"),
+ AudioMapping(node->node_child("AudioMapping"), version),
+ 16
+ )
+ );
+
+ } else if (type == "SubRip" || type == "TextSubtitle") {
+ content = make_shared<StringTextFileContent>(node, version, notes);
+ } else if (type == "DCP") {
+ content = make_shared<DCPContent>(node, version);
+ } else if (type == "DCPSubtitle") {
+ content = make_shared<DCPSubtitleContent>(node, version);
+ } else if (type == "VideoMXF") {
+ content = make_shared<VideoMXFContent>(node, version);
+ } else if (type == "AtmosMXF") {
+ content = make_shared<AtmosMXFContent>(node, version);