summaryrefslogtreecommitdiff
path: root/libs/ardour/export_formats.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-11-19 05:21:17 +0100
committerRobin Gareus <robin@gareus.org>2018-11-19 05:21:17 +0100
commitdf72e1ba4f7e7dc0d67ea6c0fbdf157ee3777275 (patch)
tree035abd922b71e595eca6e466bc65a68578603b9b /libs/ardour/export_formats.cc
parente4cbd5115e34ff99aa8c85b70870e6ca00ea14d6 (diff)
Initial backend support for external export encoder
This adds an experimental pipe to ffmpeg to encode mp3. Currently quality is hardcoded and various aspects remain to be implemented. However, it is sufficient for initial testing.
Diffstat (limited to 'libs/ardour/export_formats.cc')
-rw-r--r--libs/ardour/export_formats.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/libs/ardour/export_formats.cc b/libs/ardour/export_formats.cc
index 7fa30c6b51..0ab02046c3 100644
--- a/libs/ardour/export_formats.cc
+++ b/libs/ardour/export_formats.cc
@@ -365,4 +365,37 @@ ExportFormatBWF::set_compatibility_state (ExportFormatCompatibility const & comp
return compatible;
}
+
+/*** FFMPEG Pipe ***/
+
+ExportFormatFFMPEG::ExportFormatFFMPEG (std::string const& name, std::string const& ext)
+{
+ set_name (name);
+ set_format_id (F_FFMPEG);
+ sample_formats.insert (SF_Float);
+
+ add_sample_rate (SR_22_05);
+ add_sample_rate (SR_44_1);
+ add_sample_rate (SR_48);
+ add_sample_rate (SR_88_2);
+ add_sample_rate (SR_96);
+ add_sample_rate (SR_176_4);
+ add_sample_rate (SR_192);
+ add_sample_rate (SR_Session);
+
+ add_endianness (E_Little);
+
+ set_extension (ext);
+ set_quality (Q_LossyCompression);
+}
+
+bool
+ExportFormatFFMPEG::set_compatibility_state (ExportFormatCompatibility const & compatibility)
+{
+ bool compatible = compatibility.has_format (F_FFMPEG);
+ set_compatible (compatible);
+ return compatible;
+}
+
+
}; // namespace ARDOUR