decoder_buffer: convert to C++
This commit is contained in:
parent
257b42b87f
commit
abaabe92d6
@ -60,7 +60,6 @@ mpd_headers = \
|
||||
src/conf.h \
|
||||
src/decoder_plugin.h \
|
||||
src/decoder_command.h \
|
||||
src/decoder_buffer.h \
|
||||
src/decoder_api.h \
|
||||
src/decoder_plugin.h \
|
||||
src/encoder_plugin.h \
|
||||
@ -455,7 +454,7 @@ libdecoder_plugins_a_SOURCES = \
|
||||
src/decoder/dsf_decoder_plugin.h \
|
||||
src/decoder/dsdlib.c \
|
||||
src/decoder/dsdlib.h \
|
||||
src/decoder_buffer.c \
|
||||
src/DecoderBuffer.cxx src/DecoderBuffer.hxx \
|
||||
src/DecoderPlugin.cxx \
|
||||
src/DecoderList.cxx src/DecoderList.hxx
|
||||
libdecoder_plugins_a_CPPFLAGS = $(AM_CPPFLAGS) \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2003-2011 The Music Player Daemon Project
|
||||
* Copyright (C) 2003-2013 The Music Player Daemon Project
|
||||
* http://www.musicpd.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -18,14 +18,14 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "decoder_buffer.h"
|
||||
#include "DecoderBuffer.hxx"
|
||||
#include "decoder_api.h"
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
struct decoder_buffer {
|
||||
struct DecoderBuffer {
|
||||
struct decoder *decoder;
|
||||
struct input_stream *is;
|
||||
|
||||
@ -43,14 +43,14 @@ struct decoder_buffer {
|
||||
unsigned char data[sizeof(size_t)];
|
||||
};
|
||||
|
||||
struct decoder_buffer *
|
||||
DecoderBuffer *
|
||||
decoder_buffer_new(struct decoder *decoder, struct input_stream *is,
|
||||
size_t size)
|
||||
{
|
||||
struct decoder_buffer *buffer =
|
||||
DecoderBuffer *buffer = (DecoderBuffer *)
|
||||
g_malloc(sizeof(*buffer) - sizeof(buffer->data) + size);
|
||||
|
||||
assert(is != NULL);
|
||||
assert(is != nullptr);
|
||||
assert(size > 0);
|
||||
|
||||
buffer->decoder = decoder;
|
||||
@ -63,27 +63,27 @@ decoder_buffer_new(struct decoder *decoder, struct input_stream *is,
|
||||
}
|
||||
|
||||
void
|
||||
decoder_buffer_free(struct decoder_buffer *buffer)
|
||||
decoder_buffer_free(DecoderBuffer *buffer)
|
||||
{
|
||||
assert(buffer != NULL);
|
||||
assert(buffer != nullptr);
|
||||
|
||||
g_free(buffer);
|
||||
}
|
||||
|
||||
bool
|
||||
decoder_buffer_is_empty(const struct decoder_buffer *buffer)
|
||||
decoder_buffer_is_empty(const DecoderBuffer *buffer)
|
||||
{
|
||||
return buffer->consumed == buffer->length;
|
||||
}
|
||||
|
||||
bool
|
||||
decoder_buffer_is_full(const struct decoder_buffer *buffer)
|
||||
decoder_buffer_is_full(const DecoderBuffer *buffer)
|
||||
{
|
||||
return buffer->consumed == 0 && buffer->length == buffer->size;
|
||||
}
|
||||
|
||||
static void
|
||||
decoder_buffer_shift(struct decoder_buffer *buffer)
|
||||
decoder_buffer_shift(DecoderBuffer *buffer)
|
||||
{
|
||||
assert(buffer->consumed > 0);
|
||||
|
||||
@ -93,7 +93,7 @@ decoder_buffer_shift(struct decoder_buffer *buffer)
|
||||
}
|
||||
|
||||
bool
|
||||
decoder_buffer_fill(struct decoder_buffer *buffer)
|
||||
decoder_buffer_fill(DecoderBuffer *buffer)
|
||||
{
|
||||
size_t nbytes;
|
||||
|
||||
@ -119,18 +119,18 @@ decoder_buffer_fill(struct decoder_buffer *buffer)
|
||||
}
|
||||
|
||||
const void *
|
||||
decoder_buffer_read(const struct decoder_buffer *buffer, size_t *length_r)
|
||||
decoder_buffer_read(const DecoderBuffer *buffer, size_t *length_r)
|
||||
{
|
||||
if (buffer->consumed >= buffer->length)
|
||||
/* buffer is empty */
|
||||
return NULL;
|
||||
return nullptr;
|
||||
|
||||
*length_r = buffer->length - buffer->consumed;
|
||||
return buffer->data + buffer->consumed;
|
||||
}
|
||||
|
||||
void
|
||||
decoder_buffer_consume(struct decoder_buffer *buffer, size_t nbytes)
|
||||
decoder_buffer_consume(DecoderBuffer *buffer, size_t nbytes)
|
||||
{
|
||||
/* just move the "consumed" pointer - decoder_buffer_shift()
|
||||
will do the real work later (called by
|
||||
@ -141,7 +141,7 @@ decoder_buffer_consume(struct decoder_buffer *buffer, size_t nbytes)
|
||||
}
|
||||
|
||||
bool
|
||||
decoder_buffer_skip(struct decoder_buffer *buffer, size_t nbytes)
|
||||
decoder_buffer_skip(DecoderBuffer *buffer, size_t nbytes)
|
||||
{
|
||||
size_t length;
|
||||
const void *data;
|
||||
@ -151,7 +151,7 @@ decoder_buffer_skip(struct decoder_buffer *buffer, size_t nbytes)
|
||||
|
||||
while (true) {
|
||||
data = decoder_buffer_read(buffer, &length);
|
||||
if (data != NULL) {
|
||||
if (data != nullptr) {
|
||||
if (length > nbytes)
|
||||
length = nbytes;
|
||||
decoder_buffer_consume(buffer, length);
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2003-2011 The Music Player Daemon Project
|
||||
* Copyright (C) 2003-2013 The Music Player Daemon Project
|
||||
* http://www.musicpd.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -17,10 +17,9 @@
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifndef MPD_DECODER_BUFFER_H
|
||||
#define MPD_DECODER_BUFFER_H
|
||||
#ifndef MPD_DECODER_BUFFER_HXX
|
||||
#define MPD_DECODER_BUFFER_HXX
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
|
||||
/**
|
||||
@ -28,7 +27,7 @@
|
||||
* create a buffer object, and use its high-level methods to fill and
|
||||
* read it. It will automatically handle shifting the buffer.
|
||||
*/
|
||||
struct decoder_buffer;
|
||||
struct DecoderBuffer;
|
||||
|
||||
struct decoder;
|
||||
struct input_stream;
|
||||
@ -41,7 +40,7 @@ struct input_stream;
|
||||
* @param size the maximum size of the buffer
|
||||
* @return the new decoder_buffer object
|
||||
*/
|
||||
struct decoder_buffer *
|
||||
DecoderBuffer *
|
||||
decoder_buffer_new(struct decoder *decoder, struct input_stream *is,
|
||||
size_t size);
|
||||
|
||||
@ -49,13 +48,13 @@ decoder_buffer_new(struct decoder *decoder, struct input_stream *is,
|
||||
* Frees resources used by the decoder_buffer object.
|
||||
*/
|
||||
void
|
||||
decoder_buffer_free(struct decoder_buffer *buffer);
|
||||
decoder_buffer_free(DecoderBuffer *buffer);
|
||||
|
||||
bool
|
||||
decoder_buffer_is_empty(const struct decoder_buffer *buffer);
|
||||
decoder_buffer_is_empty(const DecoderBuffer *buffer);
|
||||
|
||||
bool
|
||||
decoder_buffer_is_full(const struct decoder_buffer *buffer);
|
||||
decoder_buffer_is_full(const DecoderBuffer *buffer);
|
||||
|
||||
/**
|
||||
* Read data from the input_stream and append it to the buffer.
|
||||
@ -65,7 +64,7 @@ decoder_buffer_is_full(const struct decoder_buffer *buffer);
|
||||
* received
|
||||
*/
|
||||
bool
|
||||
decoder_buffer_fill(struct decoder_buffer *buffer);
|
||||
decoder_buffer_fill(DecoderBuffer *buffer);
|
||||
|
||||
/**
|
||||
* Reads data from the buffer. This data is not yet consumed, you
|
||||
@ -80,7 +79,7 @@ decoder_buffer_fill(struct decoder_buffer *buffer);
|
||||
* available
|
||||
*/
|
||||
const void *
|
||||
decoder_buffer_read(const struct decoder_buffer *buffer, size_t *length_r);
|
||||
decoder_buffer_read(const DecoderBuffer *buffer, size_t *length_r);
|
||||
|
||||
/**
|
||||
* Consume (delete, invalidate) a part of the buffer. The "nbytes"
|
||||
@ -91,7 +90,7 @@ decoder_buffer_read(const struct decoder_buffer *buffer, size_t *length_r);
|
||||
* @param nbytes the number of bytes to consume
|
||||
*/
|
||||
void
|
||||
decoder_buffer_consume(struct decoder_buffer *buffer, size_t nbytes);
|
||||
decoder_buffer_consume(DecoderBuffer *buffer, size_t nbytes);
|
||||
|
||||
/**
|
||||
* Skips the specified number of bytes, discarding its data.
|
||||
@ -101,6 +100,6 @@ decoder_buffer_consume(struct decoder_buffer *buffer, size_t nbytes);
|
||||
* @return true on success, false on error
|
||||
*/
|
||||
bool
|
||||
decoder_buffer_skip(struct decoder_buffer *buffer, size_t nbytes);
|
||||
decoder_buffer_skip(DecoderBuffer *buffer, size_t nbytes);
|
||||
|
||||
#endif
|
@ -20,9 +20,7 @@
|
||||
#include "config.h"
|
||||
#include "FaadDecoderPlugin.hxx"
|
||||
#include "decoder_api.h"
|
||||
extern "C" {
|
||||
#include "decoder_buffer.h"
|
||||
}
|
||||
#include "DecoderBuffer.hxx"
|
||||
#include "audio_check.h"
|
||||
#include "tag_handler.h"
|
||||
|
||||
@ -73,7 +71,7 @@ adts_check_frame(const unsigned char *data)
|
||||
* found or if not enough data is available.
|
||||
*/
|
||||
static size_t
|
||||
adts_find_frame(struct decoder_buffer *buffer)
|
||||
adts_find_frame(DecoderBuffer *buffer)
|
||||
{
|
||||
size_t length, frame_length;
|
||||
bool ret;
|
||||
@ -138,7 +136,7 @@ adts_find_frame(struct decoder_buffer *buffer)
|
||||
}
|
||||
|
||||
static float
|
||||
adts_song_duration(struct decoder_buffer *buffer)
|
||||
adts_song_duration(DecoderBuffer *buffer)
|
||||
{
|
||||
unsigned int frames, frame_length;
|
||||
unsigned sample_rate = 0;
|
||||
@ -172,7 +170,7 @@ adts_song_duration(struct decoder_buffer *buffer)
|
||||
}
|
||||
|
||||
static float
|
||||
faad_song_duration(struct decoder_buffer *buffer, struct input_stream *is)
|
||||
faad_song_duration(DecoderBuffer *buffer, struct input_stream *is)
|
||||
{
|
||||
size_t fileread;
|
||||
size_t tagsize;
|
||||
@ -248,7 +246,7 @@ faad_song_duration(struct decoder_buffer *buffer, struct input_stream *is)
|
||||
* inconsistencies in libfaad.
|
||||
*/
|
||||
static bool
|
||||
faad_decoder_init(NeAACDecHandle decoder, struct decoder_buffer *buffer,
|
||||
faad_decoder_init(NeAACDecHandle decoder, DecoderBuffer *buffer,
|
||||
struct audio_format *audio_format, GError **error_r)
|
||||
{
|
||||
int32_t nbytes;
|
||||
@ -294,7 +292,7 @@ faad_decoder_init(NeAACDecHandle decoder, struct decoder_buffer *buffer,
|
||||
* inconsistencies in libfaad.
|
||||
*/
|
||||
static const void *
|
||||
faad_decoder_decode(NeAACDecHandle decoder, struct decoder_buffer *buffer,
|
||||
faad_decoder_decode(NeAACDecHandle decoder, DecoderBuffer *buffer,
|
||||
NeAACDecFrameInfo *frame_info)
|
||||
{
|
||||
size_t length;
|
||||
@ -317,7 +315,7 @@ faad_decoder_decode(NeAACDecHandle decoder, struct decoder_buffer *buffer,
|
||||
static float
|
||||
faad_get_file_time_float(struct input_stream *is)
|
||||
{
|
||||
struct decoder_buffer *buffer;
|
||||
DecoderBuffer *buffer;
|
||||
float length;
|
||||
|
||||
buffer = decoder_buffer_new(nullptr, is,
|
||||
@ -374,7 +372,7 @@ faad_stream_decode(struct decoder *mpd_decoder, struct input_stream *is)
|
||||
struct audio_format audio_format;
|
||||
bool ret;
|
||||
uint16_t bit_rate = 0;
|
||||
struct decoder_buffer *buffer;
|
||||
DecoderBuffer *buffer;
|
||||
enum decoder_command cmd;
|
||||
|
||||
buffer = decoder_buffer_new(mpd_decoder, is,
|
||||
|
Loading…
x
Reference in New Issue
Block a user