| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Removed shout's encoder plugin API in favor of the new generic encoder
plugin API.
|
|
|
|
|
| |
Use audio_format_frame_size() instead of
channels*audio_format_sample_size().
|
|
|
|
|
|
| |
Pass the music chunk as a "const void *" to the encoder, instead of a
"const char *". Actually, both encoders currently expect 16 bit
samples, passing a 8-bit character is rather pointless.
|
|
|
|
|
|
|
| |
Always assume the buffer is empty before calling the encoder. Always
flush the buffer immediately after there has been added something.
This reduces the risk of buffer overruns, because there will never be
a "rest" in the current buffer.
|
|
|
|
|
| |
Don't duplicate the tag received by the send_metadata() method - send
it to the shout server directly.
|
|
|
|
|
|
|
|
|
|
| |
The shout_mp3 encoder had two bugs: when no song was ever played, MPD
segfaulted during cleanup. Second bug: memory leak, each time the
shout device was opened, lame_init() was called again, and
lame_close() is only called once during shutdown.
Fix this by shutting down LAME each time the clear_encoder() method is
called.
|
|
|
|
|
| |
Make valgrind a little bit happier: free the global lame_data struct
in the finish() method.
|
|
|
|
|
|
|
|
|
|
| |
"float (*lamebuf)[2] = g_malloc()" does NOT allocate two float*
buffers. The formula is even wrong: it should be applied to LAME's
output buffer, not its input buffer.
Converted "lamebuf" to the two variables "left" and "right", and
allocate them independently with the exact buffer size. Set
right=left if mono output is configured.
|
|
|
|
| |
It's easier to work with an int16_t* pointer here.
|
| |
|
|
|
|
| |
Don't compile the sources of disabled output plugins at all.
|
|
Again, no CamelCase in the directory name.
|