Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
abaabe92
Commit
abaabe92
authored
Apr 17, 2013
by
Max Kellermann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
decoder_buffer: convert to C++
parent
257b42b8
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
38 additions
and
42 deletions
+38
-42
Makefile.am
Makefile.am
+1
-2
DecoderBuffer.cxx
src/DecoderBuffer.cxx
+17
-17
DecoderBuffer.hxx
src/DecoderBuffer.hxx
+12
-13
FaadDecoderPlugin.cxx
src/decoder/FaadDecoderPlugin.cxx
+8
-10
No files found.
Makefile.am
View file @
abaabe92
...
...
@@ -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)
\
...
...
src/
decoder_buffer.c
→
src/
DecoderBuffer.cxx
View file @
abaabe92
/*
* Copyright (C) 2003-201
1
The Music Player Daemon Project
* Copyright (C) 2003-201
3
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_b
uffer
{
struct
DecoderB
uffer
{
struct
decoder
*
decoder
;
struct
input_stream
*
is
;
...
...
@@ -43,14 +43,14 @@ struct decoder_buffer {
unsigned
char
data
[
sizeof
(
size_t
)];
};
struct
decoder_b
uffer
*
DecoderB
uffer
*
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_b
uffer
*
buffer
)
decoder_buffer_free
(
DecoderB
uffer
*
buffer
)
{
assert
(
buffer
!=
NULL
);
assert
(
buffer
!=
nullptr
);
g_free
(
buffer
);
}
bool
decoder_buffer_is_empty
(
const
struct
decoder_b
uffer
*
buffer
)
decoder_buffer_is_empty
(
const
DecoderB
uffer
*
buffer
)
{
return
buffer
->
consumed
==
buffer
->
length
;
}
bool
decoder_buffer_is_full
(
const
struct
decoder_b
uffer
*
buffer
)
decoder_buffer_is_full
(
const
DecoderB
uffer
*
buffer
)
{
return
buffer
->
consumed
==
0
&&
buffer
->
length
==
buffer
->
size
;
}
static
void
decoder_buffer_shift
(
struct
decoder_b
uffer
*
buffer
)
decoder_buffer_shift
(
DecoderB
uffer
*
buffer
)
{
assert
(
buffer
->
consumed
>
0
);
...
...
@@ -93,7 +93,7 @@ decoder_buffer_shift(struct decoder_buffer *buffer)
}
bool
decoder_buffer_fill
(
struct
decoder_b
uffer
*
buffer
)
decoder_buffer_fill
(
DecoderB
uffer
*
buffer
)
{
size_t
nbytes
;
...
...
@@ -119,18 +119,18 @@ decoder_buffer_fill(struct decoder_buffer *buffer)
}
const
void
*
decoder_buffer_read
(
const
struct
decoder_b
uffer
*
buffer
,
size_t
*
length_r
)
decoder_buffer_read
(
const
DecoderB
uffer
*
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_b
uffer
*
buffer
,
size_t
nbytes
)
decoder_buffer_consume
(
DecoderB
uffer
*
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_b
uffer
*
buffer
,
size_t
nbytes
)
decoder_buffer_skip
(
DecoderB
uffer
*
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
);
...
...
src/
decoder_buffer.h
→
src/
DecoderBuffer.hxx
View file @
abaabe92
/*
* Copyright (C) 2003-201
1
The Music Player Daemon Project
* Copyright (C) 2003-201
3
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_H
XX
#define MPD_DECODER_BUFFER_H
XX
#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_b
uffer
;
struct
DecoderB
uffer
;
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_b
uffer
*
DecoderB
uffer
*
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_b
uffer
*
buffer
);
decoder_buffer_free
(
DecoderB
uffer
*
buffer
);
bool
decoder_buffer_is_empty
(
const
struct
decoder_b
uffer
*
buffer
);
decoder_buffer_is_empty
(
const
DecoderB
uffer
*
buffer
);
bool
decoder_buffer_is_full
(
const
struct
decoder_b
uffer
*
buffer
);
decoder_buffer_is_full
(
const
DecoderB
uffer
*
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_b
uffer
*
buffer
);
decoder_buffer_fill
(
DecoderB
uffer
*
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_b
uffer
*
buffer
,
size_t
*
length_r
);
decoder_buffer_read
(
const
DecoderB
uffer
*
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_b
uffer
*
buffer
,
size_t
nbytes
);
decoder_buffer_consume
(
DecoderB
uffer
*
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_b
uffer
*
buffer
,
size_t
nbytes
);
decoder_buffer_skip
(
DecoderB
uffer
*
buffer
,
size_t
nbytes
);
#endif
src/decoder/FaadDecoderPlugin.cxx
View file @
abaabe92
...
...
@@ -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_b
uffer
*
buffer
)
adts_find_frame
(
DecoderB
uffer
*
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_b
uffer
*
buffer
)
adts_song_duration
(
DecoderB
uffer
*
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_b
uffer
*
buffer
,
struct
input_stream
*
is
)
faad_song_duration
(
DecoderB
uffer
*
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_b
uffer
*
buffer
,
faad_decoder_init
(
NeAACDecHandle
decoder
,
DecoderB
uffer
*
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_b
uffer
*
buffer
,
faad_decoder_decode
(
NeAACDecHandle
decoder
,
DecoderB
uffer
*
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_b
uffer
*
buffer
;
DecoderB
uffer
*
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_b
uffer
*
buffer
;
DecoderB
uffer
*
buffer
;
enum
decoder_command
cmd
;
buffer
=
decoder_buffer_new
(
mpd_decoder
,
is
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment