decoder/mikmod: Add loop configuration parameter
This patch allows the user to configure the mikmod decoder plugin to loop modules. It adds a configuration parameter to the mikmod decoder called "loop" which can be "no" (the old behaviour, default) or "yes" to allow modules to use backward loops.
This commit is contained in:
parent
5e103b5fb7
commit
b6ac249c3c
1
NEWS
1
NEWS
|
@ -17,6 +17,7 @@ ver 0.18 (2012/??/??)
|
|||
- flac: support FLAC files inside archives
|
||||
- opus: new decoder plugin for the Opus codec
|
||||
- vorbis: skip 16 bit quantisation, provide float samples
|
||||
- mikmod: add "loop" configuration parameter
|
||||
- mp4ff: obsolete plugin removed
|
||||
* encoder:
|
||||
- opus: new encoder plugin for the Opus codec
|
||||
|
|
10
doc/user.xml
10
doc/user.xml
|
@ -976,6 +976,16 @@ systemctl start mpd.socket</programlisting>
|
|||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>
|
||||
<varname>loop</varname>
|
||||
<parameter>yes|no</parameter>
|
||||
</entry>
|
||||
<entry>
|
||||
Allow backward loops in modules. Default is
|
||||
<parameter>no</parameter>.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<varname>sample_rate</varname>
|
||||
|
|
|
@ -104,6 +104,7 @@ static MDRIVER drv_mpd = {
|
|||
VC_VoiceRealVolume
|
||||
};
|
||||
|
||||
static bool mikmod_loop;
|
||||
static unsigned mikmod_sample_rate;
|
||||
|
||||
static bool
|
||||
|
@ -111,6 +112,7 @@ mikmod_decoder_init(const config_param ¶m)
|
|||
{
|
||||
static char params[] = "";
|
||||
|
||||
mikmod_loop = param.GetBlockValue("loop", false);
|
||||
mikmod_sample_rate = param.GetBlockValue("sample_rate", 44100u);
|
||||
if (!audio_valid_sample_rate(mikmod_sample_rate))
|
||||
FormatFatalError("Invalid sample rate in line %d: %u",
|
||||
|
@ -161,8 +163,7 @@ mikmod_decoder_file_decode(struct decoder *decoder, const char *path_fs)
|
|||
return;
|
||||
}
|
||||
|
||||
/* Prevent module from looping forever */
|
||||
handle->loop = 0;
|
||||
handle->loop = mikmod_loop;
|
||||
|
||||
const AudioFormat audio_format(mikmod_sample_rate, SampleFormat::S16, 2);
|
||||
assert(audio_format.IsValid());
|
||||
|
|
Loading…
Reference in New Issue