diff options
author | Stefan Pöschel <github@basicmaster.de> | 2015-12-06 17:48:32 +0100 |
---|---|---|
committer | Stefan Pöschel <github@basicmaster.de> | 2015-12-06 17:48:32 +0100 |
commit | f79f5d32ec35003b049af43624f20f781af95f2d (patch) | |
tree | 915984b014ef2de1ba5f9d98b776ec84f063f64a /src | |
parent | e74f28ac65a09ff7ddc2fe9e4aa1c2c4363ac595 (diff) | |
parent | 671ba26301303aa42f5e3eeb4f55f4617171ef63 (diff) | |
download | fdk-aac-f79f5d32ec35003b049af43624f20f781af95f2d.tar.gz fdk-aac-f79f5d32ec35003b049af43624f20f781af95f2d.tar.bz2 fdk-aac-f79f5d32ec35003b049af43624f20f781af95f2d.zip |
Merge branch 'next' of github.com:Opendigitalradio/fdk-aac-dabplus into next
Diffstat (limited to 'src')
-rw-r--r-- | src/VLCInput.cpp | 5 | ||||
-rw-r--r-- | src/VLCInput.h | 13 | ||||
-rw-r--r-- | src/dabplus-enc.cpp | 16 |
3 files changed, 29 insertions, 5 deletions
diff --git a/src/VLCInput.cpp b/src/VLCInput.cpp index 3a2e9ec..00d5fa4 100644 --- a/src/VLCInput.cpp +++ b/src/VLCInput.cpp @@ -138,7 +138,7 @@ int VLCInput::prepare() // VLC options char smem_options[512]; snprintf(smem_options, sizeof(smem_options), - "#transcode{acodec=s16l,samplerate=%d}:" + "#transcode{acodec=s16l,samplerate=%d,afilter=compressor}:" // We are using transcode because smem only support raw audio and // video formats "smem{" @@ -153,7 +153,8 @@ int VLCInput::prepare() char verb_options[512]; snprintf(verb_options, sizeof(verb_options), - "--verbose=%d", m_verbosity); + "--verbose=%d --network-caching %s --compressor-makeup-gain=%s ", + m_verbosity,(char *)m_cache.c_str(),(char *)m_gain.c_str()); const char * const vlc_args[] = { verb_options, diff --git a/src/VLCInput.h b/src/VLCInput.h index 6b0a0f4..326c6cd 100644 --- a/src/VLCInput.h +++ b/src/VLCInput.h @@ -44,11 +44,15 @@ class VLCInput VLCInput(const std::string& uri, int rate, unsigned channels, - unsigned verbosity) : + unsigned verbosity, + std::string& gain, + std::string& cache) : m_uri(uri), m_verbosity(verbosity), m_channels(channels), m_rate(rate), + m_cache(cache), + m_gain(gain), m_vlc(NULL) { } ~VLCInput() { cleanup(); } @@ -103,6 +107,13 @@ class VLCInput unsigned m_channels; int m_rate; + // Whether to enable network caching in VLC or not + std::string m_cache; + + // value for the VLC compressor filter + std::string m_gain; + + std::future<bool> icy_text_written; std::string m_nowplaying; std::string m_nowplaying_previous; diff --git a/src/dabplus-enc.cpp b/src/dabplus-enc.cpp index 76d61fc..015884c 100644 --- a/src/dabplus-enc.cpp +++ b/src/dabplus-enc.cpp @@ -98,6 +98,8 @@ void usage(const char* name) { " For the VLC input:\n" #if HAVE_VLC " -v, --vlc-uri=uri Enable VLC input and use the URI given as source\n" + " -C, --vlc-cache=ms Enable VLC network cache\n" + " -g, --vlc-gain=db Enable VLC gain control, default 0\n" " -V Increase the VLC verbosity by one (can be given \n" " multiple times)\n" " -w, --write-icy-text=filename Write the ICY Text into the file, so that mot-encoder can read it.\n" @@ -252,6 +254,8 @@ int main(int argc, char *argv[]) // For the VLC input std::string vlc_uri = ""; std::string vlc_icytext_file = ""; + std::string vlc_gain = ""; + std::string vlc_cache = ""; unsigned verbosity = 0; // For the file output @@ -318,6 +322,8 @@ int main(int argc, char *argv[]) {"sbr", no_argument, 0, 1 }, {"ps", no_argument, 0, 2 }, {"fifo-silence", no_argument, 0, 3 }, + {"vlc_gain", required_argument, 0, 'g' }, + {"vlc_cache", required_argument, 0, 'C' }, {0, 0, 0, 0}, }; @@ -341,7 +347,7 @@ int main(int argc, char *argv[]) int index; while(ch != -1) { - ch = getopt_long(argc, argv, "aAhDlVb:c:f:i:j:k:o:r:d:p:P:s:v:w:", longopts, &index); + ch = getopt_long(argc, argv, "aAhDlVb:c:f:i:j:k:o:r:d:p:P:s:v:w:g:C:", longopts, &index); switch (ch) { case 0: // AAC-LC aot = AOT_DABPLUS_AAC_LC; @@ -426,6 +432,12 @@ int main(int argc, char *argv[]) case 'w': vlc_icytext_file = optarg; break; + case 'g': + vlc_gain = optarg; + break; + case 'C': + vlc_cache = optarg; + break; #else case 'v': case 'w': @@ -597,7 +609,7 @@ int main(int argc, char *argv[]) JackInput jack_in(jack_name, channels, sample_rate, queue); #endif #if HAVE_VLC - VLCInput vlc_in(vlc_uri, sample_rate, channels, verbosity); + VLCInput vlc_in(vlc_uri, sample_rate, channels, verbosity, vlc_gain, vlc_cache); #endif if (infile) { |