summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2012-03-04 08:52:50 -0500
committerMichael Sevakis <jethead71@rockbox.org>2012-03-04 08:52:50 -0500
commitcd8e11b463bf57f832bf44d350238057db3e2d6d (patch)
tree91b7511ec5a6fa47c99d84518608cd3b90f4d680 /firmware
parentf6e17e86fed65cb503199691d69973e83c45ddbf (diff)
Tweak some PCM drivers for less typecasting with the data pointer.
Yeah, sizeof (void) here with GCC is 1. If something has a problem with that, we'll set it straight. Change-Id: I9ad3eee75dd440f6404a04a501d1533c8bc18ba9
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/arm/s5l8700/pcm-s5l8700.c10
-rw-r--r--firmware/target/arm/s5l8702/pcm-s5l8702.c7
-rw-r--r--firmware/target/hosted/android/pcm-android.c8
-rw-r--r--firmware/target/hosted/maemo/pcm-gstreamer.c9
-rw-r--r--firmware/target/hosted/pcm-alsa.c6
-rw-r--r--firmware/target/hosted/sdl/pcm-sdl.c6
6 files changed, 22 insertions, 24 deletions
diff --git a/firmware/target/arm/s5l8700/pcm-s5l8700.c b/firmware/target/arm/s5l8700/pcm-s5l8700.c
index c5a5bcf74f..d8387c2aa5 100644
--- a/firmware/target/arm/s5l8700/pcm-s5l8700.c
+++ b/firmware/target/arm/s5l8700/pcm-s5l8700.c
@@ -43,9 +43,9 @@
static volatile int locked = 0;
static const int zerosample = 0;
static unsigned char dblbuf[1024] IBSS_ATTR;
-static const unsigned char* queuedbuf;
+static const void* queuedbuf;
static size_t queuedsize;
-static const unsigned char* nextbuf;
+static const void* nextbuf;
static size_t nextsize;
static const struct div_entry {
@@ -116,8 +116,8 @@ void INT_DMA(void)
{
if (!nextsize)
{
- new_buffer = pcm_play_dma_complete_callback(PCM_DMAST_OK,
- (const void**)&nextbuf, &nextsize);
+ new_buffer = pcm_play_dma_complete_callback(
+ PCM_DMAST_OK, &nextbuf, &nextsize);
if (!new_buffer)
break;
}
@@ -144,7 +144,7 @@ void INT_DMA(void)
void pcm_play_dma_start(const void* addr, size_t size)
{
/* DMA channel on */
- nextbuf = (const unsigned char*)addr;
+ nextbuf = addr;
nextsize = size;
queuedsize = 0;
DMABASE0 = (unsigned int)(&zerosample);
diff --git a/firmware/target/arm/s5l8702/pcm-s5l8702.c b/firmware/target/arm/s5l8702/pcm-s5l8702.c
index ef404ddd9c..1974c47d51 100644
--- a/firmware/target/arm/s5l8702/pcm-s5l8702.c
+++ b/firmware/target/arm/s5l8702/pcm-s5l8702.c
@@ -38,7 +38,7 @@ static unsigned char dblbuf[2][PCM_WATERMARK * 4];
static int active_dblbuf;
struct dma_lli pcm_lli[PCM_LLICOUNT] __attribute__((aligned(16)));
static struct dma_lli* lastlli;
-static const unsigned char* dataptr;
+static const void* dataptr;
size_t pcm_remaining;
size_t pcm_chunksize;
@@ -65,8 +65,7 @@ void INT_DMAC0C0(void)
DMAC0INTTCCLR = 1;
if (!pcm_remaining)
{
- pcm_play_dma_complete_callback(PCM_DMAST_OK, (const void**)&dataptr,
- &pcm_remaining);
+ pcm_play_dma_complete_callback(PCM_DMAST_OK, &dataptr, &pcm_remaining);
pcm_chunksize = pcm_remaining;
}
if (!pcm_remaining)
@@ -121,7 +120,7 @@ void INT_DMAC0C0(void)
void pcm_play_dma_start(const void* addr, size_t size)
{
- dataptr = (const unsigned char*)addr;
+ dataptr = addr;
pcm_remaining = size;
I2STXCOM = 0xe;
INT_DMAC0C0();
diff --git a/firmware/target/hosted/android/pcm-android.c b/firmware/target/hosted/android/pcm-android.c
index 7a0f28634e..0428e5f541 100644
--- a/firmware/target/hosted/android/pcm-android.c
+++ b/firmware/target/hosted/android/pcm-android.c
@@ -31,8 +31,8 @@
extern JNIEnv *env_ptr;
/* infos about our pcm chunks */
+static const void *pcm_data_start;
static size_t pcm_data_size;
-static char *pcm_data_start;
static int audio_locked = 0;
static pthread_mutex_t audio_lock_mutex = PTHREAD_MUTEX_INITIALIZER;
@@ -81,7 +81,7 @@ Java_org_rockbox_RockboxPCM_nativeWrite(JNIEnv *env, jobject this,
if (!pcm_data_size) /* get some initial data */
{
new_buffer = pcm_play_dma_complete_callback(PCM_DMAST_OK,
- (const void**)&pcm_data_start, &pcm_data_size);
+ &pcm_data_start, &pcm_data_size);
}
while(left > 0 && pcm_data_size)
@@ -115,7 +115,7 @@ Java_org_rockbox_RockboxPCM_nativeWrite(JNIEnv *env, jobject this,
if (pcm_data_size == 0) /* need new data */
{
new_buffer = pcm_play_dma_complete_callback(PCM_DMAST_OK,
- (const void**)&pcm_data_start, &pcm_data_size);
+ &pcm_data_start, &pcm_data_size);
}
else /* increment data pointer and feed more */
pcm_data_start += transfer_size;
@@ -146,7 +146,7 @@ void pcm_dma_apply_settings(void)
void pcm_play_dma_start(const void *addr, size_t size)
{
- pcm_data_start = (char*)addr;
+ pcm_data_start = addr;
pcm_data_size = size;
pcm_play_dma_pause(false);
diff --git a/firmware/target/hosted/maemo/pcm-gstreamer.c b/firmware/target/hosted/maemo/pcm-gstreamer.c
index 61f33cbadd..10a9d77880 100644
--- a/firmware/target/hosted/maemo/pcm-gstreamer.c
+++ b/firmware/target/hosted/maemo/pcm-gstreamer.c
@@ -90,7 +90,7 @@ GstBus *gst_bus = NULL;
static int bus_watch_id = 0;
GMainLoop *pcm_loop = NULL;
-static __u8* pcm_data = NULL;
+static const void* pcm_data = NULL;
static size_t pcm_data_size = 0;
static int audio_locked = 0;
@@ -128,7 +128,7 @@ void pcm_dma_apply_settings(void)
void pcm_play_dma_start(const void *addr, size_t size)
{
- pcm_data = (__u8 *) addr;
+ pcm_data = addr;
pcm_data_size = size;
if (playback_granted)
@@ -189,13 +189,12 @@ static void feed_data(GstElement * appsrc, guint size_hint, void *unused)
from inside gstreamer's stream thread as it will deadlock */
inside_feed_data = 1;
- if (pcm_play_dma_complete_callback(PCM_DMAST_OK, (const void **)&pcm_data,
- &pcm_data_size))
+ if (pcm_play_dma_complete_callback(PCM_DMAST_OK, &pcm_data, &pcm_data_size))
{
GstBuffer *buffer = gst_buffer_new ();
GstFlowReturn ret;
- GST_BUFFER_DATA (buffer) = pcm_data;
+ GST_BUFFER_DATA (buffer) = (__u8 *)pcm_data;
GST_BUFFER_SIZE (buffer) = pcm_data_size;
g_signal_emit_by_name (appsrc, "push-buffer", buffer, &ret);
diff --git a/firmware/target/hosted/pcm-alsa.c b/firmware/target/hosted/pcm-alsa.c
index 1385f75b34..715af58fd9 100644
--- a/firmware/target/hosted/pcm-alsa.c
+++ b/firmware/target/hosted/pcm-alsa.c
@@ -75,7 +75,7 @@ static snd_pcm_sframes_t buffer_size = MIX_FRAME_SAMPLES * 32; /* ~16k */
static snd_pcm_sframes_t period_size = MIX_FRAME_SAMPLES * 4; /* ~4k */
static short *frames;
-static const char *pcm_data = 0;
+static const void *pcm_data = 0;
static size_t pcm_size = 0;
#ifdef USE_ASYNC_CALLBACK
@@ -223,8 +223,8 @@ static bool fill_frames(void)
if (!pcm_size)
{
new_buffer = true;
- if (!pcm_play_dma_complete_callback(PCM_DMAST_OK,
- (const void **)&pcm_data, &pcm_size))
+ if (!pcm_play_dma_complete_callback(PCM_DMAST_OK, &pcm_data,
+ &pcm_size))
{
return false;
}
diff --git a/firmware/target/hosted/sdl/pcm-sdl.c b/firmware/target/hosted/sdl/pcm-sdl.c
index 2c535b2dc5..bd56189f02 100644
--- a/firmware/target/hosted/sdl/pcm-sdl.c
+++ b/firmware/target/hosted/sdl/pcm-sdl.c
@@ -56,7 +56,7 @@ static int sim_volume = 0;
#if CONFIG_CODEC == SWCODEC
static int cvt_status = -1;
-static const Uint8* pcm_data;
+static const void *pcm_data;
static size_t pcm_data_size;
static size_t pcm_sample_bytes;
static size_t pcm_channel_bytes;
@@ -245,8 +245,8 @@ static void sdl_audio_callback(struct pcm_udata *udata, Uint8 *stream, int len)
/* Audio card wants more? Get some more then. */
while (len > 0) {
- new_buffer = pcm_play_dma_complete_callback(PCM_DMAST_OK,
- (const void **)&pcm_data, &pcm_data_size);
+ new_buffer = pcm_play_dma_complete_callback(PCM_DMAST_OK, &pcm_data,
+ &pcm_data_size);
if (!new_buffer) {
DEBUGF("sdl_audio_callback: No Data.\n");