You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2023/07/16 08:40:39 UTC
[nuttx] branch master updated: driver/audio: remove unnecessary switch in switch
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 6a1abbcf56 driver/audio: remove unnecessary switch in switch
6a1abbcf56 is described below
commit 6a1abbcf563d44914d1fe58d9ecc1caa4edf9e7d
Author: Manish Kumar Sharma <ma...@gmail.com>
AuthorDate: Sun Jul 16 00:44:32 2023 +0530
driver/audio: remove unnecessary switch in switch
- There is unnecessary switch inside switch which is making code not too readable
Signed-off-by: Manish Kumar Sharma <ma...@gmail.com>
---
drivers/audio/audio_dma.c | 33 +++++++++------------------------
drivers/audio/audio_i2s.c | 31 +++++++------------------------
include/nuttx/audio/audio.h | 6 ++++++
3 files changed, 22 insertions(+), 48 deletions(-)
diff --git a/drivers/audio/audio_dma.c b/drivers/audio/audio_dma.c
index 700a393a8c..10b5c753ec 100644
--- a/drivers/audio/audio_dma.c
+++ b/drivers/audio/audio_dma.c
@@ -156,10 +156,8 @@ static int audio_dma_getcaps(struct audio_lowerhalf_s *dev, int type,
caps->ac_channels = 2; /* Stereo output */
- switch (caps->ac_subtype)
+ if (caps->ac_subtype == AUDIO_TYPE_QUERY)
{
- case AUDIO_TYPE_QUERY:
-
/* We don't decode any formats! Only something above us in
* the audio stream can perform decoding on our behalf.
*/
@@ -167,17 +165,18 @@ static int audio_dma_getcaps(struct audio_lowerhalf_s *dev, int type,
/* The types of audio units we implement */
if (audio_dma->playback)
+ {
caps->ac_controls.b[0] = AUDIO_TYPE_OUTPUT;
+ }
else
+ {
caps->ac_controls.b[0] = AUDIO_TYPE_INPUT;
- caps->ac_format.hw = 1 << (AUDIO_FMT_PCM - 1);
- break;
+ }
- default:
- caps->ac_controls.b[0] = AUDIO_SUBFMT_END;
- break;
+ caps->ac_format.hw = 1 << (AUDIO_FMT_PCM - 1);
}
+ caps->ac_controls.b[0] = AUDIO_SUBFMT_END;
break;
/* Provide capabilities of our OUTPUT unit */
@@ -187,25 +186,11 @@ static int audio_dma_getcaps(struct audio_lowerhalf_s *dev, int type,
caps->ac_channels = 2;
- switch (caps->ac_subtype)
+ if (caps->ac_subtype == AUDIO_TYPE_QUERY)
{
- case AUDIO_TYPE_QUERY:
-
/* Report the Sample rates we support */
- caps->ac_controls.hw[0] = AUDIO_SAMP_RATE_8K |
- AUDIO_SAMP_RATE_11K |
- AUDIO_SAMP_RATE_16K |
- AUDIO_SAMP_RATE_22K |
- AUDIO_SAMP_RATE_32K |
- AUDIO_SAMP_RATE_44K |
- AUDIO_SAMP_RATE_48K |
- AUDIO_SAMP_RATE_96K |
- AUDIO_SAMP_RATE_128K |
- AUDIO_SAMP_RATE_160K |
- AUDIO_SAMP_RATE_172K |
- AUDIO_SAMP_RATE_192K;
- break;
+ caps->ac_controls.hw[0] = AUDIO_SAMP_RATE_DEF_ALL;
}
break;
diff --git a/drivers/audio/audio_i2s.c b/drivers/audio/audio_i2s.c
index 4967f403ef..536a8d599b 100644
--- a/drivers/audio/audio_i2s.c
+++ b/drivers/audio/audio_i2s.c
@@ -151,10 +151,8 @@ static int audio_i2s_getcaps(FAR struct audio_lowerhalf_s *dev, int type,
* must then call us back for specific info for each capability.
*/
- switch (caps->ac_subtype)
+ if (caps->ac_subtype == AUDIO_TYPE_QUERY)
{
- case AUDIO_TYPE_QUERY:
-
/* We don't decode any formats! Only something above us in
* the audio stream can perform decoding on our behalf.
*/
@@ -172,43 +170,28 @@ static int audio_i2s_getcaps(FAR struct audio_lowerhalf_s *dev, int type,
caps->ac_format.hw = 1 << (AUDIO_FMT_PCM - 1);
break;
-
- default:
- caps->ac_controls.b[0] = AUDIO_SUBFMT_END;
- break;
}
- break;
+
+ caps->ac_controls.b[0] = AUDIO_SUBFMT_END;
+ break;
/* Provide capabilities of our OUTPUT unit */
case AUDIO_TYPE_OUTPUT:
case AUDIO_TYPE_INPUT:
- switch (caps->ac_subtype)
+ if (caps->ac_subtype == AUDIO_TYPE_QUERY)
{
- case AUDIO_TYPE_QUERY:
-
/* Report the Sample rates we support */
- caps->ac_controls.hw[0] =
- AUDIO_SAMP_RATE_8K | AUDIO_SAMP_RATE_11K |
- AUDIO_SAMP_RATE_16K | AUDIO_SAMP_RATE_22K |
- AUDIO_SAMP_RATE_32K | AUDIO_SAMP_RATE_44K |
- AUDIO_SAMP_RATE_48K | AUDIO_SAMP_RATE_96K |
- AUDIO_SAMP_RATE_128K | AUDIO_SAMP_RATE_160K |
- AUDIO_SAMP_RATE_172K | AUDIO_SAMP_RATE_192K;
- break;
-
- default:
- I2S_IOCTL(i2s, AUDIOIOC_GETCAPS, (unsigned long)caps);
+ caps->ac_controls.hw[0] = AUDIO_SAMP_RATE_DEF_ALL;
break;
}
- break;
default:
I2S_IOCTL(i2s, AUDIOIOC_GETCAPS, (unsigned long)caps);
break;
- }
+ }
return caps->ac_len;
}
diff --git a/include/nuttx/audio/audio.h b/include/nuttx/audio/audio.h
index 2d567a911e..b0b02dceed 100644
--- a/include/nuttx/audio/audio.h
+++ b/include/nuttx/audio/audio.h
@@ -213,6 +213,12 @@
#define AUDIO_SAMP_RATE_160K 0x0400
#define AUDIO_SAMP_RATE_172K 0x0800
#define AUDIO_SAMP_RATE_192K 0x1000
+#define AUDIO_SAMP_RATE_DEF_ALL (AUDIO_SAMP_RATE_8K | AUDIO_SAMP_RATE_11K | \
+ AUDIO_SAMP_RATE_16K | AUDIO_SAMP_RATE_22K | \
+ AUDIO_SAMP_RATE_32K | AUDIO_SAMP_RATE_44K | \
+ AUDIO_SAMP_RATE_88K | AUDIO_SAMP_RATE_96K | \
+ AUDIO_SAMP_RATE_128K | AUDIO_SAMP_RATE_160K | \
+ AUDIO_SAMP_RATE_172K | AUDIO_SAMP_RATE_192K )
/* Audio Sub-sampling Ratios ***********************************************/