system: nxrecorder: Refactor nxrecorder.c

NOTE: Remove redundant code regarding audio buffer configuration

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
This commit is contained in:
Masayuki Ishikawa 2020-06-17 10:22:37 +09:00 committed by Xiang Xiao
parent 4f044a4342
commit fed7a53ef5

View File

@ -64,14 +64,6 @@
#define NXRECORDER_STATE_RECORDING 1 #define NXRECORDER_STATE_RECORDING 1
#define NXRECORDER_STATE_PAUSED 2 #define NXRECORDER_STATE_PAUSED 2
#ifndef CONFIG_AUDIO_NUM_BUFFERS
# define CONFIG_AUDIO_NUM_BUFFERS 2
#endif
#ifndef CONFIG_AUDIO_BUFFER_NUMBYTES
# define CONFIG_AUDIO_BUFFER_NUMBYTES 8192
#endif
#ifndef CONFIG_NXRECORDER_MSG_PRIO #ifndef CONFIG_NXRECORDER_MSG_PRIO
# define CONFIG_NXRECORDER_MSG_PRIO 1 # define CONFIG_NXRECORDER_MSG_PRIO 1
#endif #endif
@ -253,12 +245,8 @@ static void *nxrecorder_recordthread(pthread_addr_t pvarg)
bool running = true; bool running = true;
bool streaming = true; bool streaming = true;
bool failed = false; bool failed = false;
#ifdef CONFIG_AUDIO_DRIVER_SPECIFIC_BUFFERS
struct ap_buffer_info_s buf_info; struct ap_buffer_info_s buf_info;
FAR struct ap_buffer_s **pbuffers; FAR struct ap_buffer_s **pbuffers;
#else
FAR struct ap_buffer_s *pbuffers[CONFIG_AUDIO_NUM_BUFFERS];
#endif
unsigned int prio; unsigned int prio;
#ifdef CONFIG_DEBUG_FEATURES #ifdef CONFIG_DEBUG_FEATURES
int outstanding = 0; int outstanding = 0;
@ -270,7 +258,6 @@ static void *nxrecorder_recordthread(pthread_addr_t pvarg)
/* Query the audio device for it's preferred buffer size / qty */ /* Query the audio device for it's preferred buffer size / qty */
#ifdef CONFIG_AUDIO_DRIVER_SPECIFIC_BUFFERS
if ((ret = ioctl(precorder->dev_fd, AUDIOIOC_GETBUFFERINFO, if ((ret = ioctl(precorder->dev_fd, AUDIOIOC_GETBUFFERINFO,
(unsigned long) &buf_info)) != OK) (unsigned long) &buf_info)) != OK)
{ {
@ -301,26 +288,14 @@ static void *nxrecorder_recordthread(pthread_addr_t pvarg)
} }
for (x = 0; x < buf_info.nbuffers; x++) for (x = 0; x < buf_info.nbuffers; x++)
#else /* CONFIG_AUDIO_DRIVER_SPECIFIC_BUFFER */
for (x = 0; x < CONFIG_AUDIO_NUM_BUFFERS; x++)
{
pbuffers[x] = NULL;
}
for (x = 0; x < CONFIG_AUDIO_NUM_BUFFERS; x++)
#endif /* CONFIG_AUDIO_DRIVER_SPECIFIC_BUFFER */
{ {
/* Fill in the buffer descriptor struct to issue an alloc request */ /* Fill in the buffer descriptor struct to issue an alloc request */
#ifdef CONFIG_AUDIO_MULTI_SESSION #ifdef CONFIG_AUDIO_MULTI_SESSION
buf_desc.session = precorder->session; buf_desc.session = precorder->session;
#endif #endif
#ifdef CONFIG_AUDIO_DRIVER_SPECIFIC_BUFFERS
buf_desc.numbytes = buf_info.buffer_size; buf_desc.numbytes = buf_info.buffer_size;
#else
buf_desc.numbytes = CONFIG_AUDIO_BUFFER_NUMBYTES;
#endif
buf_desc.u.pbuffer = &pbuffers[x]; buf_desc.u.pbuffer = &pbuffers[x];
ret = ioctl(precorder->dev_fd, AUDIOIOC_ALLOCBUFFER, ret = ioctl(precorder->dev_fd, AUDIOIOC_ALLOCBUFFER,
@ -337,11 +312,7 @@ static void *nxrecorder_recordthread(pthread_addr_t pvarg)
/* Fill up the pipeline with enqueued buffers */ /* Fill up the pipeline with enqueued buffers */
#ifdef CONFIG_AUDIO_DRIVER_SPECIFIC_BUFFERS
for (x = 0; x < buf_info.nbuffers; x++) for (x = 0; x < buf_info.nbuffers; x++)
#else
for (x = 0; x < CONFIG_AUDIO_NUM_BUFFERS; x++)
#endif
{ {
/* Write the next buffer of data */ /* Write the next buffer of data */
@ -563,7 +534,6 @@ static void *nxrecorder_recordthread(pthread_addr_t pvarg)
err_out: err_out:
audinfo("Clean-up and exit\n"); audinfo("Clean-up and exit\n");
#ifdef CONFIG_AUDIO_DRIVER_SPECIFIC_BUFFERS
if (pbuffers != NULL) if (pbuffers != NULL)
{ {
audinfo("Freeing buffers\n"); audinfo("Freeing buffers\n");
@ -587,24 +557,6 @@ err_out:
free(pbuffers); free(pbuffers);
} }
#else
audinfo("Freeing buffers\n");
for (x = 0; x < CONFIG_AUDIO_NUM_BUFFERS; x++)
{
/* Fill in the buffer descriptor struct to issue a free request */
if (pbuffers[x] != NULL)
{
#ifdef CONFIG_AUDIO_MULTI_SESSION
buf_desc.session = pplayer->session;
#endif
buf_desc.u.pbuffer = pbuffers[x];
ioctl(precorder->dev_fd,
AUDIOIOC_FREEBUFFER,
(unsigned long) &buf_desc);
}
}
#endif
/* Unregister the message queue and release the session */ /* Unregister the message queue and release the session */