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
f2a8d4d2
Commit
f2a8d4d2
authored
Jan 30, 2013
by
Max Kellermann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
filter/convert: convert to C++
parent
9ee52d85
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
75 additions
and
71 deletions
+75
-71
Makefile.am
Makefile.am
+4
-4
OutputInit.cxx
src/OutputInit.cxx
+1
-1
OutputThread.cxx
src/OutputThread.cxx
+1
-1
AutoConvertFilterPlugin.cxx
src/filter/AutoConvertFilterPlugin.cxx
+40
-38
AutoConvertFilterPlugin.hxx
src/filter/AutoConvertFilterPlugin.hxx
+3
-3
ConvertFilterPlugin.cxx
src/filter/ConvertFilterPlugin.cxx
+22
-20
ConvertFilterPlugin.hxx
src/filter/ConvertFilterPlugin.hxx
+4
-4
No files found.
Makefile.am
View file @
f2a8d4d2
...
...
@@ -59,9 +59,7 @@ mpd_headers = \
src/filter_internal.h
\
src/filter_plugin.h
\
src/filter_registry.h
\
src/filter/autoconvert_filter_plugin.h
\
src/filter/chain_filter_plugin.h
\
src/filter/convert_filter_plugin.h
\
src/filter/volume_filter_plugin.h
\
src/command.h
\
src/conf.h
\
...
...
@@ -972,8 +970,10 @@ endif
libfilter_plugins_a_SOURCES
=
\
src/filter/null_filter_plugin.c
\
src/filter/chain_filter_plugin.c
\
src/filter/autoconvert_filter_plugin.c
\
src/filter/convert_filter_plugin.c
\
src/filter/AutoConvertFilterPlugin.cxx
\
src/filter/AutoConvertFilterPlugin.hxx
\
src/filter/ConvertFilterPlugin.cxx
\
src/filter/ConvertFilterPlugin.hxx
\
src/filter/route_filter_plugin.c
\
src/filter/normalize_filter_plugin.c
\
src/filter/ReplayGainFilterPlugin.cxx
\
...
...
src/OutputInit.cxx
View file @
f2a8d4d2
...
...
@@ -34,9 +34,9 @@ extern "C" {
#include "filter_plugin.h"
#include "filter_registry.h"
#include "filter/chain_filter_plugin.h"
#include "filter/autoconvert_filter_plugin.h"
}
#include "filter/AutoConvertFilterPlugin.hxx"
#include "filter/ReplayGainFilterPlugin.hxx"
#include <glib.h>
...
...
src/OutputThread.cxx
View file @
f2a8d4d2
...
...
@@ -25,10 +25,10 @@ extern "C" {
#include "output_internal.h"
#include "pcm_mix.h"
#include "filter_plugin.h"
#include "filter/convert_filter_plugin.h"
}
#include "notify.hxx"
#include "filter/ConvertFilterPlugin.hxx"
#include "filter/ReplayGainFilterPlugin.hxx"
#include "PlayerControl.hxx"
#include "MusicPipe.hxx"
...
...
src/filter/
autoconvert_filter_plugin.c
→
src/filter/
AutoConvertFilterPlugin.cxx
View file @
f2a8d4d2
...
...
@@ -18,18 +18,16 @@
*/
#include "config.h"
#include "
filter/autoconvert_filter_plugin.h
"
#include "
filter/convert_filter_plugin.h
"
#include "
AutoConvertFilterPlugin.hxx
"
#include "
ConvertFilterPlugin.hxx
"
#include "filter_plugin.h"
#include "filter_internal.h"
#include "filter_registry.h"
#include "audio_format.h"
#include <glib.h>
#include <assert.h>
struct
autoconvert_f
ilter
{
struct
AutoConvertF
ilter
{
struct
filter
base
;
/**
...
...
@@ -45,20 +43,27 @@ struct autoconvert_filter {
struct
filter
*
filter
;
/**
* A convert_filter, just in case conversion is needed.
NULL
* A convert_filter, just in case conversion is needed.
nullptr
* if unused.
*/
struct
filter
*
convert
;
AutoConvertFilter
(
const
filter_plugin
&
plugin
,
struct
filter
*
_filter
)
:
filter
(
_filter
)
{
filter_init
(
&
base
,
&
plugin
);
}
~
AutoConvertFilter
()
{
filter_free
(
filter
);
}
};
static
void
autoconvert_filter_finish
(
struct
filter
*
_filter
)
{
struct
autoconvert_filter
*
filter
=
(
struct
autoconvert_filter
*
)
_filter
;
AutoConvertFilter
*
filter
=
(
AutoConvertFilter
*
)
_filter
;
filter_free
(
filter
->
filter
);
g_free
(
filter
);
delete
filter
;
}
static
const
struct
audio_format
*
...
...
@@ -66,8 +71,7 @@ autoconvert_filter_open(struct filter *_filter,
struct
audio_format
*
in_audio_format
,
GError
**
error_r
)
{
struct
autoconvert_filter
*
filter
=
(
struct
autoconvert_filter
*
)
_filter
;
AutoConvertFilter
*
filter
=
(
AutoConvertFilter
*
)
_filter
;
const
struct
audio_format
*
out_audio_format
;
assert
(
audio_format_valid
(
in_audio_format
));
...
...
@@ -78,8 +82,8 @@ autoconvert_filter_open(struct filter *_filter,
out_audio_format
=
filter_open
(
filter
->
filter
,
&
filter
->
in_audio_format
,
error_r
);
if
(
out_audio_format
==
NULL
)
return
NULL
;
if
(
out_audio_format
==
nullptr
)
return
nullptr
;
/* need to convert? */
...
...
@@ -88,19 +92,19 @@ autoconvert_filter_open(struct filter *_filter,
struct
audio_format
audio_format2
=
*
in_audio_format
;
const
struct
audio_format
*
audio_format3
;
filter
->
convert
=
filter_new
(
&
convert_filter_plugin
,
NULL
,
filter
->
convert
=
filter_new
(
&
convert_filter_plugin
,
nullptr
,
error_r
);
if
(
filter
->
convert
==
NULL
)
{
if
(
filter
->
convert
==
nullptr
)
{
filter_close
(
filter
->
filter
);
return
NULL
;
return
nullptr
;
}
audio_format3
=
filter_open
(
filter
->
convert
,
&
audio_format2
,
error_r
);
if
(
audio_format3
==
NULL
)
{
if
(
audio_format3
==
nullptr
)
{
filter_free
(
filter
->
convert
);
filter_close
(
filter
->
filter
);
return
NULL
;
return
nullptr
;
}
assert
(
audio_format_equals
(
&
audio_format2
,
in_audio_format
));
...
...
@@ -108,7 +112,7 @@ autoconvert_filter_open(struct filter *_filter,
convert_filter_set
(
filter
->
convert
,
&
filter
->
in_audio_format
);
}
else
/* no */
filter
->
convert
=
NULL
;
filter
->
convert
=
nullptr
;
return
out_audio_format
;
}
...
...
@@ -116,10 +120,10 @@ autoconvert_filter_open(struct filter *_filter,
static
void
autoconvert_filter_close
(
struct
filter
*
_filter
)
{
struct
autoconvert_f
ilter
*
filter
=
(
struct
autoconvert_f
ilter
*
)
_filter
;
AutoConvertF
ilter
*
filter
=
(
AutoConvertF
ilter
*
)
_filter
;
if
(
filter
->
convert
!=
NULL
)
{
if
(
filter
->
convert
!=
nullptr
)
{
filter_close
(
filter
->
convert
);
filter_free
(
filter
->
convert
);
}
...
...
@@ -132,14 +136,13 @@ autoconvert_filter_filter(struct filter *_filter, const void *src,
size_t
src_size
,
size_t
*
dest_size_r
,
GError
**
error_r
)
{
struct
autoconvert_filter
*
filter
=
(
struct
autoconvert_filter
*
)
_filter
;
AutoConvertFilter
*
filter
=
(
AutoConvertFilter
*
)
_filter
;
if
(
filter
->
convert
!=
NULL
)
{
if
(
filter
->
convert
!=
nullptr
)
{
src
=
filter_filter
(
filter
->
convert
,
src
,
src_size
,
&
src_size
,
error_r
);
if
(
src
==
NULL
)
return
NULL
;
if
(
src
==
nullptr
)
return
nullptr
;
}
return
filter_filter
(
filter
->
filter
,
src
,
src_size
,
dest_size_r
,
...
...
@@ -147,21 +150,20 @@ autoconvert_filter_filter(struct filter *_filter, const void *src,
}
static
const
struct
filter_plugin
autoconvert_filter_plugin
=
{
.
name
=
"convert"
,
.
finish
=
autoconvert_filter_finish
,
.
open
=
autoconvert_filter_open
,
.
close
=
autoconvert_filter_close
,
.
filter
=
autoconvert_filter_filter
,
"convert"
,
nullptr
,
autoconvert_filter_finish
,
autoconvert_filter_open
,
autoconvert_filter_close
,
autoconvert_filter_filter
,
};
struct
filter
*
autoconvert_filter_new
(
struct
filter
*
_filter
)
{
struct
autoconvert_filter
*
filter
=
g_new
(
struct
autoconvert_filter
,
1
);
filter_init
(
&
filter
->
base
,
&
autoconvert_filter_plugin
);
filter
->
filter
=
_filter
;
AutoConvertFilter
*
filter
=
new
AutoConvertFilter
(
autoconvert_filter_plugin
,
_filter
);
return
&
filter
->
base
;
}
src/filter/
autoconvert_filter_plugin.h
→
src/filter/
AutoConvertFilterPlugin.hxx
View file @
f2a8d4d2
/*
* 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,8 +17,8 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef
AUTOCONVERT_FILTER_PLUGIN_H
#define
AUTOCONVERT_FILTER_PLUGIN_H
#ifndef
MPD_AUTOCONVERT_FILTER_PLUGIN_HXX
#define
MPD_AUTOCONVERT_FILTER_PLUGIN_HXX
struct
filter
;
...
...
src/filter/
convert_filter_plugin.c
→
src/filter/
ConvertFilterPlugin.cxx
View file @
f2a8d4d2
/*
* 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,7 +18,7 @@
*/
#include "config.h"
#include "
filter/convert_filter_plugin.h
"
#include "
ConvertFilterPlugin.hxx
"
#include "filter_plugin.h"
#include "filter_internal.h"
#include "filter_registry.h"
...
...
@@ -30,7 +30,7 @@
#include <assert.h>
#include <string.h>
struct
convert_f
ilter
{
struct
ConvertF
ilter
{
struct
filter
base
;
/**
...
...
@@ -52,29 +52,31 @@ struct convert_filter {
struct
audio_format
out_audio_format
;
struct
pcm_convert_state
state
;
ConvertFilter
()
{
filter_init
(
&
base
,
&
convert_filter_plugin
);
}
};
static
struct
filter
*
convert_filter_init
(
G_GNUC_UNUSED
const
struct
config_param
*
param
,
G_GNUC_UNUSED
GError
**
error_r
)
convert_filter_init
(
gcc_unused
const
struct
config_param
*
param
,
gcc_unused
GError
**
error_r
)
{
struct
convert_filter
*
filter
=
g_new
(
struct
convert_filter
,
1
);
filter_init
(
&
filter
->
base
,
&
convert_filter_plugin
);
ConvertFilter
*
filter
=
new
ConvertFilter
();
return
&
filter
->
base
;
}
static
void
convert_filter_finish
(
struct
filter
*
filter
)
{
g_free
(
filter
)
;
delete
filter
;
}
static
const
struct
audio_format
*
convert_filter_open
(
struct
filter
*
_filter
,
struct
audio_format
*
audio_format
,
G_GNUC_UNUSED
GError
**
error_r
)
gcc_unused
GError
**
error_r
)
{
struct
convert_filter
*
filter
=
(
struct
convert_f
ilter
*
)
_filter
;
ConvertFilter
*
filter
=
(
ConvertF
ilter
*
)
_filter
;
assert
(
audio_format_valid
(
audio_format
));
...
...
@@ -87,7 +89,7 @@ convert_filter_open(struct filter *_filter, struct audio_format *audio_format,
static
void
convert_filter_close
(
struct
filter
*
_filter
)
{
struct
convert_filter
*
filter
=
(
struct
convert_f
ilter
*
)
_filter
;
ConvertFilter
*
filter
=
(
ConvertF
ilter
*
)
_filter
;
pcm_convert_deinit
(
&
filter
->
state
);
...
...
@@ -101,7 +103,7 @@ static const void *
convert_filter_filter
(
struct
filter
*
_filter
,
const
void
*
src
,
size_t
src_size
,
size_t
*
dest_size_r
,
GError
**
error_r
)
{
struct
convert_filter
*
filter
=
(
struct
convert_f
ilter
*
)
_filter
;
ConvertFilter
*
filter
=
(
ConvertF
ilter
*
)
_filter
;
const
void
*
dest
;
if
(
audio_format_equals
(
&
filter
->
in_audio_format
,
...
...
@@ -122,19 +124,19 @@ convert_filter_filter(struct filter *_filter, const void *src, size_t src_size,
}
const
struct
filter_plugin
convert_filter_plugin
=
{
.
name
=
"convert"
,
.
init
=
convert_filter_init
,
.
finish
=
convert_filter_finish
,
.
open
=
convert_filter_open
,
.
close
=
convert_filter_close
,
.
filter
=
convert_filter_filter
,
"convert"
,
convert_filter_init
,
convert_filter_finish
,
convert_filter_open
,
convert_filter_close
,
convert_filter_filter
,
};
void
convert_filter_set
(
struct
filter
*
_filter
,
const
struct
audio_format
*
out_audio_format
)
{
struct
convert_filter
*
filter
=
(
struct
convert_f
ilter
*
)
_filter
;
ConvertFilter
*
filter
=
(
ConvertF
ilter
*
)
_filter
;
assert
(
filter
!=
NULL
);
assert
(
audio_format_valid
(
&
filter
->
in_audio_format
));
...
...
src/filter/
convert_filter_plugin.h
→
src/filter/
ConvertFilterPlugin.hxx
View file @
f2a8d4d2
/*
* 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,8 +17,8 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef
CONVERT_FILTER_PLUGIN_H
#define
CONVERT_FILTER_PLUGIN_H
#ifndef
MPD_CONVERT_FILTER_PLUGIN_HXX
#define
MPD_CONVERT_FILTER_PLUGIN_HXX
struct
filter
;
struct
audio_format
;
...
...
@@ -31,6 +31,6 @@ struct audio_format;
*/
void
convert_filter_set
(
struct
filter
*
filter
,
const
struct
audio_format
*
out_audio_format
);
const
audio_format
*
out_audio_format
);
#endif
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