music_pipe: renamed struct output_buffer to struct music_pipe
.. and rename ob_chunk to struct music_chunk.
This commit is contained in:
parent
767b4c95bd
commit
8964c69a64
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
||||
|
14
src/pipe.c
14
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);
|
||||
|
13
src/pipe.h
13
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.
|
||||
|
@ -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 &&
|
||||
|
Loading…
Reference in New Issue
Block a user