Add 24kHz as export rate, and limit opus to 8,24,48 per spec
This commit is contained in:
parent
c8b39094ca
commit
d2212cbfb9
@ -104,6 +104,7 @@ class LIBARDOUR_API ExportFormatBase {
|
||||
SR_Session = 1,
|
||||
SR_8 = 8000,
|
||||
SR_22_05 = 22050,
|
||||
SR_24 = 24000,
|
||||
SR_44_1 = 44100,
|
||||
SR_48 = 48000,
|
||||
SR_88_2 = 88200,
|
||||
|
@ -673,6 +673,7 @@ setup_enum_writer ()
|
||||
REGISTER_CLASS_ENUM (ExportFormatBase, SR_Session);
|
||||
REGISTER_CLASS_ENUM (ExportFormatBase, SR_8);
|
||||
REGISTER_CLASS_ENUM (ExportFormatBase, SR_22_05);
|
||||
REGISTER_CLASS_ENUM (ExportFormatBase, SR_24);
|
||||
REGISTER_CLASS_ENUM (ExportFormatBase, SR_44_1);
|
||||
REGISTER_CLASS_ENUM (ExportFormatBase, SR_48);
|
||||
REGISTER_CLASS_ENUM (ExportFormatBase, SR_88_2);
|
||||
|
@ -192,6 +192,7 @@ ExportFormatBase::nearest_sample_rate (samplecnt_t sample_rate)
|
||||
|
||||
DO_SR_COMPARISON(SR_8);
|
||||
DO_SR_COMPARISON(SR_22_05);
|
||||
DO_SR_COMPARISON(SR_24);
|
||||
DO_SR_COMPARISON(SR_44_1);
|
||||
DO_SR_COMPARISON(SR_48);
|
||||
DO_SR_COMPARISON(SR_88_2);
|
||||
|
@ -237,6 +237,7 @@ ExportFormatManager::init_sample_rates ()
|
||||
add_sample_rate (SampleRatePtr (new SampleRateState (ExportFormatBase::SR_Session, _("Session rate"))));
|
||||
add_sample_rate (SampleRatePtr (new SampleRateState (ExportFormatBase::SR_8, string_compose ("%1%2%3 kHz", std::fixed, std::setprecision(0), 8))));
|
||||
add_sample_rate (SampleRatePtr (new SampleRateState (ExportFormatBase::SR_22_05, string_compose ("%1%2%3 kHz", std::fixed, std::setprecision(2), 22.05))));
|
||||
add_sample_rate (SampleRatePtr (new SampleRateState (ExportFormatBase::SR_24, string_compose ("%1%2%3 kHz", std::fixed, std::setprecision(0), 24))));
|
||||
add_sample_rate (SampleRatePtr (new SampleRateState (ExportFormatBase::SR_44_1, string_compose ("%1%2%3 kHz", std::fixed, std::setprecision(1), 44.1))));
|
||||
add_sample_rate (SampleRatePtr (new SampleRateState (ExportFormatBase::SR_48, string_compose ("%1%2%3 kHz", std::fixed, std::setprecision(0), 48))));
|
||||
add_sample_rate (SampleRatePtr (new SampleRateState (ExportFormatBase::SR_88_2, string_compose ("%1%2%3 kHz", std::fixed, std::setprecision(1), 88.2))));
|
||||
|
@ -667,6 +667,9 @@ ExportFormatSpecification::description (bool include_name)
|
||||
case SR_22_05:
|
||||
components.push_back ("22,5 kHz");
|
||||
break;
|
||||
case SR_24:
|
||||
components.push_back ("24 kHz");
|
||||
break;
|
||||
case SR_44_1:
|
||||
components.push_back ("44,1 kHz");
|
||||
break;
|
||||
|
@ -200,6 +200,7 @@ ExportFormatLinear::ExportFormatLinear (string name, FormatId format_id) :
|
||||
|
||||
add_sample_rate (SR_8);
|
||||
add_sample_rate (SR_22_05);
|
||||
add_sample_rate (SR_24);
|
||||
add_sample_rate (SR_44_1);
|
||||
add_sample_rate (SR_48);
|
||||
add_sample_rate (SR_88_2);
|
||||
@ -272,6 +273,7 @@ ExportFormatOggVorbis::ExportFormatOggVorbis ()
|
||||
sample_formats.insert (SF_Vorbis);
|
||||
|
||||
add_sample_rate (SR_22_05);
|
||||
add_sample_rate (SR_24);
|
||||
add_sample_rate (SR_44_1);
|
||||
add_sample_rate (SR_48);
|
||||
add_sample_rate (SR_88_2);
|
||||
@ -319,6 +321,7 @@ ExportFormatFLAC::ExportFormatFLAC () :
|
||||
set_format_id (F_FLAC);
|
||||
|
||||
add_sample_rate (SR_22_05);
|
||||
add_sample_rate (SR_24);
|
||||
add_sample_rate (SR_44_1);
|
||||
add_sample_rate (SR_48);
|
||||
add_sample_rate (SR_88_2);
|
||||
@ -354,6 +357,7 @@ ExportFormatBWF::ExportFormatBWF () :
|
||||
set_format_id (F_WAV);
|
||||
|
||||
add_sample_rate (SR_22_05);
|
||||
add_sample_rate (SR_24);
|
||||
add_sample_rate (SR_44_1);
|
||||
add_sample_rate (SR_48);
|
||||
add_sample_rate (SR_88_2);
|
||||
@ -390,7 +394,7 @@ ExportFormatOggOpus::ExportFormatOggOpus ()
|
||||
{
|
||||
SF_INFO sf_info;
|
||||
sf_info.channels = 2;
|
||||
sf_info.samplerate = SR_44_1;
|
||||
sf_info.samplerate = SR_48;
|
||||
sf_info.format = F_Ogg | SF_Opus;
|
||||
if (sf_format_check (&sf_info) != SF_TRUE) {
|
||||
throw ExportFormatIncompatible();
|
||||
@ -400,6 +404,10 @@ ExportFormatOggOpus::ExportFormatOggOpus ()
|
||||
set_format_id (F_Ogg);
|
||||
sample_formats.insert (SF_Opus);
|
||||
|
||||
add_sample_rate (SR_8);
|
||||
add_sample_rate (SR_24);
|
||||
add_sample_rate (SR_48);
|
||||
|
||||
/* libsndfile doesn't expose direct quality control,
|
||||
* bitrate = (((1.0 - quality) * (250000.0)) + 6000.0)
|
||||
*/
|
||||
@ -472,6 +480,7 @@ ExportFormatFFMPEG::ExportFormatFFMPEG (std::string const& name, std::string con
|
||||
|
||||
add_sample_rate (SR_8);
|
||||
add_sample_rate (SR_22_05);
|
||||
add_sample_rate (SR_24);
|
||||
add_sample_rate (SR_44_1);
|
||||
add_sample_rate (SR_48);
|
||||
add_sample_rate (SR_Session);
|
||||
|
Loading…
Reference in New Issue
Block a user