aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/crossfade.c3
-rw-r--r--src/crossfade.h5
-rw-r--r--src/pipe.c14
-rw-r--r--src/pipe.h13
-rw-r--r--src/player_thread.c8
5 files changed, 24 insertions, 19 deletions
diff --git a/src/crossfade.c b/src/crossfade.c
index b4d4695c4..95f7e8566 100644
--- a/src/crossfade.c
+++ b/src/crossfade.c
@@ -20,6 +20,7 @@
#include "crossfade.h"
#include "audio.h"
#include "pcm_utils.h"
+#include "pipe.h"
#include <assert.h>
#include <string.h>
@@ -48,7 +49,7 @@ unsigned cross_fade_calc(float duration, float total_time,
return chunks;
}
-void cross_fade_apply(ob_chunk * a, const ob_chunk * b,
+void cross_fade_apply(struct music_chunk *a, const struct music_chunk *b,
const struct audio_format *format,
unsigned int current_chunk, unsigned int num_chunks)
{
diff --git a/src/crossfade.h b/src/crossfade.h
index 5ceb37b11..34ddcb433 100644
--- a/src/crossfade.h
+++ b/src/crossfade.h
@@ -20,15 +20,14 @@
#ifndef MPD_CROSSFADE_H
#define MPD_CROSSFADE_H
-#include "pipe.h"
-
struct audio_format;
+struct music_chunk;
unsigned cross_fade_calc(float duration, float total_time,
const struct audio_format *af,
unsigned max_chunks);
-void cross_fade_apply(ob_chunk * a, const ob_chunk * b,
+void cross_fade_apply(struct music_chunk *a, const struct music_chunk *b,
const struct audio_format *format,
unsigned int current_chunk, unsigned int num_chunks);
diff --git a/src/pipe.c b/src/pipe.c
index 9b8683834..28a248030 100644
--- a/src/pipe.c
+++ b/src/pipe.c
@@ -23,7 +23,7 @@
#include <assert.h>
#include <string.h>
-struct output_buffer ob;
+struct music_pipe ob;
void
ob_init(unsigned int size, struct notify *notify)
@@ -82,7 +82,7 @@ static void output_buffer_expand(unsigned i)
void ob_flush(void)
{
- ob_chunk *chunk = ob_get_chunk(ob.end);
+ struct music_chunk *chunk = ob_get_chunk(ob.end);
if (chunk->chunkSize > 0) {
unsigned int next = successor(ob.end);
@@ -139,7 +139,8 @@ int ob_absolute(const unsigned relative)
return (int)i;
}
-ob_chunk * ob_get_chunk(const unsigned i)
+struct music_chunk *
+ob_get_chunk(const unsigned i)
{
assert(i < ob.size);
@@ -152,11 +153,12 @@ ob_chunk * ob_get_chunk(const unsigned i)
* @return the chunk which has room for more data; NULL if there is no
* room.
*/
-static ob_chunk *tail_chunk(float data_time, uint16_t bitRate)
+static struct music_chunk *
+tail_chunk(float data_time, uint16_t bitRate)
{
const size_t frame_size = audio_format_frame_size(&ob.audioFormat);
unsigned int next;
- ob_chunk *chunk;
+ struct music_chunk *chunk;
chunk = ob_get_chunk(ob.end);
assert(chunk->chunkSize <= sizeof(chunk->data));
@@ -189,7 +191,7 @@ size_t ob_append(const void *data0, size_t datalen,
const unsigned char *data = data0;
const size_t frame_size = audio_format_frame_size(&ob.audioFormat);
size_t ret = 0, dataToSend;
- ob_chunk *chunk = NULL;
+ struct music_chunk *chunk = NULL;
/* no partial frames allowed */
assert((datalen % frame_size) == 0);
diff --git a/src/pipe.h b/src/pipe.h
index 477b1e358..bc25ec820 100644
--- a/src/pipe.h
+++ b/src/pipe.h
@@ -27,19 +27,19 @@
/* pick 1020 since its devisible for 8,16,24, and 32-bit audio */
#define CHUNK_SIZE 1020
-typedef struct _OutputBufferChunk {
+struct music_chunk {
uint16_t chunkSize;
uint16_t bitRate;
float times;
char data[CHUNK_SIZE];
-} ob_chunk;
+};
/**
* A ring set of buffers where the decoder appends data after the end,
* and the player consumes data from the beginning.
*/
-struct output_buffer {
- ob_chunk *chunks;
+struct music_pipe {
+ struct music_chunk *chunks;
unsigned int size;
@@ -58,7 +58,7 @@ struct output_buffer {
struct notify *notify;
};
-extern struct output_buffer ob;
+extern struct music_pipe ob;
void
ob_init(unsigned int size, struct notify *notify);
@@ -100,7 +100,8 @@ unsigned ob_available(void);
*/
int ob_absolute(const unsigned relative);
-ob_chunk * ob_get_chunk(const unsigned i);
+struct music_chunk *
+ob_get_chunk(const unsigned i);
/**
* Append a data block to the buffer.
diff --git a/src/player_thread.c b/src/player_thread.c
index 0c2407eac..7da0269c0 100644
--- a/src/player_thread.c
+++ b/src/player_thread.c
@@ -26,6 +26,7 @@
#include "main_notify.h"
#include "crossfade.h"
#include "song.h"
+#include "pipe.h"
enum xfade_state {
XFADE_DISABLED = -1,
@@ -205,8 +206,9 @@ static void processDecodeInput(struct player *player)
}
}
-static int playChunk(ob_chunk * chunk,
- const struct audio_format *format, double sizeToTime)
+static int
+playChunk(struct music_chunk *chunk, const struct audio_format *format,
+ double sizeToTime)
{
pc.elapsedTime = chunk->times;
pc.bitRate = chunk->bitRate;
@@ -355,7 +357,7 @@ static void do_play(void)
notify_wait(&pc.notify);
else if (!ob_is_empty() &&
(int)ob.begin != player.next_song_chunk) {
- ob_chunk *beginChunk = ob_get_chunk(ob.begin);
+ struct music_chunk *beginChunk = ob_get_chunk(ob.begin);
unsigned int fadePosition;
if (player.xfade == XFADE_ENABLED &&
player.next_song_chunk >= 0 &&