From patchwork Tue Feb 25 19:49:46 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Erik Ackermann X-Patchwork-Id: 3721421 X-Patchwork-Delegate: tiwai@suse.de Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 0BF57BF13A for ; Wed, 26 Feb 2014 07:11:14 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 9DEAC201F0 for ; Wed, 26 Feb 2014 07:11:12 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id DB99A20170 for ; Wed, 26 Feb 2014 07:11:10 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 8DB4D265704; Wed, 26 Feb 2014 08:11:08 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, NO_DNS_FOR_FROM, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=no version=3.3.1 Received: from alsa0.perex.cz (localhost [IPv6:::1]) by alsa0.perex.cz (Postfix) with ESMTP id 9CB96265466; Wed, 26 Feb 2014 08:10:37 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 91E1C265649; Tue, 25 Feb 2014 20:50:35 +0100 (CET) Received: from mail-yh0-f47.google.com (mail-yh0-f47.google.com [209.85.213.47]) by alsa0.perex.cz (Postfix) with ESMTP id 917E1265644 for ; Tue, 25 Feb 2014 20:50:28 +0100 (CET) Received: by mail-yh0-f47.google.com with SMTP id c41so7605424yho.34 for ; Tue, 25 Feb 2014 11:50:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=qNeCIEwC4axdO9i/BhpvV5EnlVbHg+nB5L8CP4YNXRY=; b=VUc6+6vbd5sjVr3NkH/p4p/GKHVAuPOnJOapXfLXMSWNngEnAG0yNyMW6thiCdE8Hw rtv5oPQO1J4P164cM3F62/Jhl4MC3pFXoCcV4DB6KBfB2J9VPEJ0h+nqLR7byP4dhz43 7eu+yldcMijZW9hveCWjadD9+fIQCaPXKp6K4uElLeeWW4blBJRCKybwjpUM/mhmuvvX oe6/65uUnAEeUd3wX3NIVr1V4H/Wfv40pkzQU76LMKERfb0sop6I4UMAADjnMe95sx1M 4QMZ3YpgUx6an+T+nK1lo3g6qg7ZXkSfdsMO/YwYT4ftfFeOwwy6yloaxMBiWghqw6nh 3BCA== X-Received: by 10.236.207.73 with SMTP id m49mr2233543yho.5.1393357826991; Tue, 25 Feb 2014 11:50:26 -0800 (PST) MIME-Version: 1.0 Received: by 10.170.36.77 with HTTP; Tue, 25 Feb 2014 11:49:46 -0800 (PST) In-Reply-To: References: From: Erik Ackermann Date: Tue, 25 Feb 2014 11:49:46 -0800 Message-ID: To: Takashi Iwai X-Mailman-Approved-At: Wed, 26 Feb 2014 08:10:35 +0100 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: alsa-devel@alsa-project.org Subject: Re: [alsa-devel] [PATCH - speaker-test 1/1] speaker-test: add --force-frequency option to allow hz outside range X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP Updated the english po and de/fr/ja translations courtesy of Google translate. Is there any sign-off required beyond the header git format-patch adds? Thanks, Erik On Mon, Feb 24, 2014 at 7:15 AM, Takashi Iwai wrote: > At Mon, 24 Feb 2014 07:04:27 -0800, > Will R wrote: > > > > What is the reasoning behind the limit, protecting speaker hardware, > > hearing? > > I guess so. > > > I think common speakers have frequency response up to 15 or 16kHz > > or so, so maybe a bit higher default limit of 8kHz would be okay. > > Agreed. > > > I was doing some tests around 20kHz - 22kHz (to test my hearing and freq > > response of my 25kHz rated headphones), so still see the merit in a force > > option for people who are certain they want to test that high. > > > > New patch: Added min of 1.0Hz for force option, changed default max to > > 8kHz, fixed typo in flag name: > > The changes look good to me. > > But could you update the man page, and give your sign-off, too? > > > thanks, > > Takashi > > > > > > diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c > > index 261f399..61396f2 100644 > > --- a/speaker-test/speaker-test.c > > +++ b/speaker-test/speaker-test.c > > @@ -106,6 +106,7 @@ static snd_pcm_uframes_t period_size; > > static const char *given_test_wav_file = NULL; > > static char *wav_file_dir = SOUNDSDIR; > > static int debug = 0; > > +static int force_frequency = 0; > > static int in_aborting = 0; > > static snd_pcm_t *pcm_handle = NULL; > > > > @@ -1015,6 +1016,7 @@ static void help(void) > > "-w,--wavfile Use the given WAV file as a test sound\n" > > "-W,--wavdir Specify the directory containing WAV files\n" > > "-m,--chmap Specify the channel map to override\n" > > + "-X,--force-frequency force frequencies outside the 30-8000hz > range\n" > > "\n")); > > printf(_("Recognized sample formats are:")); > > for (fmt = supported_formats; *fmt >= 0; fmt++) { > > @@ -1057,6 +1059,7 @@ int main(int argc, char *argv[]) { > > {"wavfile", 1, NULL, 'w'}, > > {"wavdir", 1, NULL, 'W'}, > > {"debug", 0, NULL, 'd'}, > > + {"force-frequency", 0, NULL, 'X'}, > > #ifdef CONFIG_SUPPORT_CHMAP > > {"chmap", 1, NULL, 'm'}, > > #endif > > @@ -1078,7 +1081,7 @@ int main(int argc, char *argv[]) { > > while (1) { > > int c; > > > > - if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d" > > + if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d:X" > > #ifdef CONFIG_SUPPORT_CHMAP > > "m:" > > #endif > > @@ -1114,8 +1117,6 @@ int main(int argc, char *argv[]) { > > break; > > case 'f': > > freq = atof(optarg); > > - freq = freq < 30.0 ? 30.0 : freq; > > - freq = freq > 5000.0 ? 5000.0 : freq; > > break; > > case 'b': > > buffer_time = atoi(optarg); > > @@ -1173,6 +1174,9 @@ int main(int argc, char *argv[]) { > > case 'd': > > debug = 1; > > break; > > + case 'X': > > + force_frequency = 1; > > + break; > > #ifdef CONFIG_SUPPORT_CHMAP > > case 'm': > > chmap = optarg; > > @@ -1190,6 +1194,13 @@ int main(int argc, char *argv[]) { > > exit(EXIT_SUCCESS); > > } > > > > + if (!force_frequency) { > > + freq = freq < 30.0 ? 30.0 : freq; > > + freq = freq > 8000.0 ? 8000.0 : freq; > > + } else { > > + freq = freq < 1.0 ? 1.0 : freq; > > + } > > + > > if (test_type == TEST_WAV) > > format = SND_PCM_FORMAT_S16_LE; /* fixed format */ > > > > -- > > 1.8.3.2 > > > > > > On Mon, Feb 24, 2014 at 1:59 AM, Takashi Iwai wrote: > > > > > At Sat, 22 Feb 2014 16:09:57 -0800, > > > erik@caspar.alsa-project.org wrote: > > > > > > > > From: Erik Ackermann > > > > > > > > Signed-off-by: Erik Ackermann > > > > > > But still it should have some sanity checks like freq <= 0, as freq is > > > used as a divisor. > > > > > > Or, we may simply relax the frequency range. What value do you want > > > to take in your use case? > > > > > > > > > Takashi > > > > > > > > > > > diff --git a/speaker-test/speaker-test.c > b/speaker-test/speaker-test.c > > > > index 261f399..22927f2 100644 > > > > --- a/speaker-test/speaker-test.c > > > > +++ b/speaker-test/speaker-test.c > > > > @@ -106,6 +106,7 @@ static snd_pcm_uframes_t period_size; > > > > static const char *given_test_wav_file = NULL; > > > > static char *wav_file_dir = SOUNDSDIR; > > > > static int debug = 0; > > > > +static int force_frequency = 0; > > > > static int in_aborting = 0; > > > > static snd_pcm_t *pcm_handle = NULL; > > > > > > > > @@ -1015,6 +1016,7 @@ static void help(void) > > > > "-w,--wavfile Use the given WAV file as a test > sound\n" > > > > "-W,--wavdir Specify the directory containing WAV files\n" > > > > "-m,--chmap Specify the channel map to override\n" > > > > + "-X,--force-frequency force frequencies outside the > > > 30-5000hz range\n" > > > > "\n")); > > > > printf(_("Recognized sample formats are:")); > > > > for (fmt = supported_formats; *fmt >= 0; fmt++) { > > > > @@ -1057,6 +1059,7 @@ int main(int argc, char *argv[]) { > > > > {"wavfile", 1, NULL, 'w'}, > > > > {"wavdir", 1, NULL, 'W'}, > > > > {"debug", 0, NULL, 'd'}, > > > > + {"force-frequncy", 1, NULL, 'X'}, > > > > #ifdef CONFIG_SUPPORT_CHMAP > > > > {"chmap", 1, NULL, 'm'}, > > > > #endif > > > > @@ -1078,7 +1081,7 @@ int main(int argc, char *argv[]) { > > > > while (1) { > > > > int c; > > > > > > > > - if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d" > > > > + if ((c = getopt_long(argc, argv, > "hD:r:c:f:F:b:p:P:t:l:s:w:W:d:X" > > > > #ifdef CONFIG_SUPPORT_CHMAP > > > > "m:" > > > > #endif > > > > @@ -1114,8 +1117,6 @@ int main(int argc, char *argv[]) { > > > > break; > > > > case 'f': > > > > freq = atof(optarg); > > > > - freq = freq < 30.0 ? 30.0 : freq; > > > > - freq = freq > 5000.0 ? 5000.0 : freq; > > > > break; > > > > case 'b': > > > > buffer_time = atoi(optarg); > > > > @@ -1173,6 +1174,9 @@ int main(int argc, char *argv[]) { > > > > case 'd': > > > > debug = 1; > > > > break; > > > > + case 'X': > > > > + force_frequency = 1; > > > > + break; > > > > #ifdef CONFIG_SUPPORT_CHMAP > > > > case 'm': > > > > chmap = optarg; > > > > @@ -1190,6 +1194,11 @@ int main(int argc, char *argv[]) { > > > > exit(EXIT_SUCCESS); > > > > } > > > > > > > > + if (!force_frequency) { > > > > + freq = freq < 30.0 ? 30.0 : freq; > > > > + freq = freq > 5000.0 ? 5000.0 : freq; > > > > + } > > > > + > > > > if (test_type == TEST_WAV) > > > > format = SND_PCM_FORMAT_S16_LE; /* fixed format */ > > > > > > > > -- > > > > 1.8.3.2 > > > > > > > > > [1.2 ] > > > > From 3d9ceb42e1205618b29479077b0bd3f2d71c64db Mon Sep 17 00:00:00 2001 > > From: Erik Ackermann > > Date: Mon, 24 Feb 2014 06:53:08 -0800 > > Subject: [PATCH - speaker-test 1/1] speaker-test: add --force-frequency > option > > to allow hz outside range > > > > Signed-off-by: Erik Ackermann > > > > diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c > > index 261f399..61396f2 100644 > > --- a/speaker-test/speaker-test.c > > +++ b/speaker-test/speaker-test.c > > @@ -106,6 +106,7 @@ static snd_pcm_uframes_t period_size; > > static const char *given_test_wav_file = NULL; > > static char *wav_file_dir = SOUNDSDIR; > > static int debug = 0; > > +static int force_frequency = 0; > > static int in_aborting = 0; > > static snd_pcm_t *pcm_handle = NULL; > > > > @@ -1015,6 +1016,7 @@ static void help(void) > > "-w,--wavfile Use the given WAV file as a test sound\n" > > "-W,--wavdir Specify the directory containing WAV files\n" > > "-m,--chmap Specify the channel map to override\n" > > + "-X,--force-frequency force frequencies outside the > 30-8000hz range\n" > > "\n")); > > printf(_("Recognized sample formats are:")); > > for (fmt = supported_formats; *fmt >= 0; fmt++) { > > @@ -1057,6 +1059,7 @@ int main(int argc, char *argv[]) { > > {"wavfile", 1, NULL, 'w'}, > > {"wavdir", 1, NULL, 'W'}, > > {"debug", 0, NULL, 'd'}, > > + {"force-frequency", 0, NULL, 'X'}, > > #ifdef CONFIG_SUPPORT_CHMAP > > {"chmap", 1, NULL, 'm'}, > > #endif > > @@ -1078,7 +1081,7 @@ int main(int argc, char *argv[]) { > > while (1) { > > int c; > > > > - if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d" > > + if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d:X" > > #ifdef CONFIG_SUPPORT_CHMAP > > "m:" > > #endif > > @@ -1114,8 +1117,6 @@ int main(int argc, char *argv[]) { > > break; > > case 'f': > > freq = atof(optarg); > > - freq = freq < 30.0 ? 30.0 : freq; > > - freq = freq > 5000.0 ? 5000.0 : freq; > > break; > > case 'b': > > buffer_time = atoi(optarg); > > @@ -1173,6 +1174,9 @@ int main(int argc, char *argv[]) { > > case 'd': > > debug = 1; > > break; > > + case 'X': > > + force_frequency = 1; > > + break; > > #ifdef CONFIG_SUPPORT_CHMAP > > case 'm': > > chmap = optarg; > > @@ -1190,6 +1194,13 @@ int main(int argc, char *argv[]) { > > exit(EXIT_SUCCESS); > > } > > > > + if (!force_frequency) { > > + freq = freq < 30.0 ? 30.0 : freq; > > + freq = freq > 8000.0 ? 8000.0 : freq; > > + } else { > > + freq = freq < 1.0 ? 1.0 : freq; > > + } > > + > > if (test_type == TEST_WAV) > > format = SND_PCM_FORMAT_S16_LE; /* fixed format */ > > > > -- > > 1.8.3.2 > > > From 198c7dc70afe04a6072059ddc997417c3ceca3e2 Mon Sep 17 00:00:00 2001 From: Erik Ackermann Date: Tue, 25 Feb 2014 11:45:24 -0800 Subject: [PATCH - speaker-test 1/1] speaker-test: add --force-frequency option to allow hz outside range Signed-off-by: Erik Ackermann diff --git a/po/de.po b/po/de.po index 0c47c65..586bde2 100644 --- a/po/de.po +++ b/po/de.po @@ -1487,6 +1487,7 @@ msgid "" "-s,--speaker\tsingle speaker test. Values 1=Left, 2=right, etc\n" "-w,--wavfile\tUse the given WAV file as a test sound\n" "-W,--wavdir\tSpecify the directory containing WAV files\n" +"-X,--force-frequency\tforce frequencies outside the 30-8000hz range\n" "\n" msgstr "" "Verwendung: speaker-test [Option]...\n" @@ -1504,6 +1505,7 @@ msgstr "" "-s,--speaker teste einen einzelnen Lautsprecher; 1=links, 2=rechts, usw.\n" "-w,--wavfile benutze WAV-Datei als Testton\n" "-W,--wavdir benutze Verzeichnis mit darin enthaltenen WAV-Dateien\n" +"-X,--force-frequency\termöglichen Frequenzen außerhalb der 30-8000Hz Bereich\n" "\n" #: speaker-test/speaker-test.c:921 diff --git a/po/fr.po b/po/fr.po index a6028a4..876c9a3 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1474,6 +1474,7 @@ msgid "" "-s,--speaker\tsingle speaker test. Values 1=Left, 2=right, etc\n" "-w,--wavfile\tUse the given WAV file as a test sound\n" "-W,--wavdir\tSpecify the directory containing WAV files\n" +"-X,--force-frequency\tforce frequencies outside the 30-8000hz range\n" "\n" msgstr "" "Utilisation: speaker-test [OPTION]...\n" @@ -1492,6 +1493,7 @@ msgstr "" "\t\tValeurs 1=Gauche, 2=Droite, et c.\n" "-w,--wavfile\tUtiliser le fichier WAV spécifié pour le test\n" "-w,--wavdir\tSpécifier le répertoire contenant les fichiers WAV\n" +"-X,--force-frequency\tpermettre fréquences en dehors de la gamme 30-8000Hz\n" "\n" #: ../speaker-test/speaker-test.c:852 diff --git a/po/ja.po b/po/ja.po index 2c234f4..d8ef706 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1429,6 +1429,7 @@ msgid "" "-s,--speaker\tsingle speaker test. Values 1=Left, 2=right, etc\n" "-w,--wavfile\tUse the given WAV file as a test sound\n" "-W,--wavdir\tSpecify the directory containing WAV files\n" +"-X,--force-frequency\tforce frequencies outside the 30-8000hz range\n" "\n" msgstr "" "???: speaker-test [?????]...\n" @@ -1447,6 +1448,7 @@ msgstr "" "-s,--speaker ?????????? 1=? ??? 2=?\n" "-w,--wavfile ???WAV???????????????\n" "-W,--wavdir WAV????????????????\n" +"-X,--force-frequency\t30-8000Hz?????\n" "\n" #: speaker-test/speaker-test.c:835 diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c index 261f399..61396f2 100644 --- a/speaker-test/speaker-test.c +++ b/speaker-test/speaker-test.c @@ -106,6 +106,7 @@ static snd_pcm_uframes_t period_size; static const char *given_test_wav_file = NULL; static char *wav_file_dir = SOUNDSDIR; static int debug = 0; +static int force_frequency = 0; static int in_aborting = 0; static snd_pcm_t *pcm_handle = NULL; @@ -1015,6 +1016,7 @@ static void help(void) "-w,--wavfile Use the given WAV file as a test sound\n" "-W,--wavdir Specify the directory containing WAV files\n" "-m,--chmap Specify the channel map to override\n" + "-X,--force-frequency force frequencies outside the 30-8000hz range\n" "\n")); printf(_("Recognized sample formats are:")); for (fmt = supported_formats; *fmt >= 0; fmt++) { @@ -1057,6 +1059,7 @@ int main(int argc, char *argv[]) { {"wavfile", 1, NULL, 'w'}, {"wavdir", 1, NULL, 'W'}, {"debug", 0, NULL, 'd'}, + {"force-frequency", 0, NULL, 'X'}, #ifdef CONFIG_SUPPORT_CHMAP {"chmap", 1, NULL, 'm'}, #endif @@ -1078,7 +1081,7 @@ int main(int argc, char *argv[]) { while (1) { int c; - if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d" + if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d:X" #ifdef CONFIG_SUPPORT_CHMAP "m:" #endif @@ -1114,8 +1117,6 @@ int main(int argc, char *argv[]) { break; case 'f': freq = atof(optarg); - freq = freq < 30.0 ? 30.0 : freq; - freq = freq > 5000.0 ? 5000.0 : freq; break; case 'b': buffer_time = atoi(optarg); @@ -1173,6 +1174,9 @@ int main(int argc, char *argv[]) { case 'd': debug = 1; break; + case 'X': + force_frequency = 1; + break; #ifdef CONFIG_SUPPORT_CHMAP case 'm': chmap = optarg; @@ -1190,6 +1194,13 @@ int main(int argc, char *argv[]) { exit(EXIT_SUCCESS); } + if (!force_frequency) { + freq = freq < 30.0 ? 30.0 : freq; + freq = freq > 8000.0 ? 8000.0 : freq; + } else { + freq = freq < 1.0 ? 1.0 : freq; + } + if (test_type == TEST_WAV) format = SND_PCM_FORMAT_S16_LE; /* fixed format */ -- 1.8.3.2