aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/shout_plugin.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-07-19output/shout: fix a memory leakJonathan Neuschäfer1-1/+1
2011-07-18output/shout: fix a memory leakJonathan Neuschäfer1-12/+16
2011-02-09output/shout: add possibility to set urlThomas Jansen1-0/+7
Added a new optional parameter for the shout plugin called "url".
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-11-08output/shout: artist comes first in stream titleMax Kellermann1-1/+1
After popular demand, I've switched the order of "artist" and "title" in the stream title. There is no standard, and there is no reliable way to parse those from the stream title.
2010-11-05output/shout: implement delay()Max Kellermann1-8/+13
This makes the plugin more responsive to control commands, because it will listen to control events while waiting.
2010-09-25eliminate g_error() usageThomas Jansen1-2/+3
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header file 'mpd_error.h'. This macro uses g_critical() to print the error message and then exits gracefully in contrast to g_error() which would internally call abort() to produce a core dump. The macro name is distinctive and allows to find all places with dubious error handling. The long-term goal is to get rid of MPD_ERROR() altogether. To facilitate the eventual removal of this macro it was added in a new header file rather than to an existing header file. This fixes #2995 and #3007.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-11-12include config.h in all sourcesMax Kellermann1-0/+1
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-10-21audio_format: wildcards allowed in audio_format configurationMax Kellermann1-2/+7
An asterisk means that this attribute should not be enforced, and stays whatever it used to be. This way, some configuration values work like masks.
2009-10-13tag: removed the "_ITEM_" suffix from the enum namesMax Kellermann1-2/+2
2009-08-14output/shout: minimize the unpause latencyMax Kellermann1-0/+7
During the pause loop, manually sleep for 500ms if shout_delay() returns a value greater than that. Don't exhaust libshout's buffer.
2009-06-03conf: eliminated CamelCaseMax Kellermann1-1/+1
Renamed all remaining CamelCase functions.
2009-03-13all: Update copyright header.Avuton Olrich1-6/+7
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-02-27tag: no CamelCaseMax Kellermann1-2/+1
Renamed numOfItems to num_items.
2009-02-26output_plugin: report errors with GErrorMax Kellermann1-77/+96
Use GLib's GError library for reporting output device failures. Note that some init() methods don't clean up properly after a failure, but that's ok for now, because the MPD core will abort anyway.
2009-02-26shout: use config_get_block_unsigned()Max Kellermann1-6/+3
Eliminated manual integer parsing.
2009-02-25output_plugin: don't pass audio_output object to method init()Max Kellermann1-6/+3
audio_output_get_name() has been removed, which was the only function left in output_api.h. The output plugin doesn't need the audio_output object at all, remove the parameter from the init() method.
2009-02-23output: pass the music chunk pointer as void*, not char*Max Kellermann1-1/+1
The meaning of the chunk depends on the audio format; don't suggest a specific format by declaring the pointer as "char*", pass "void*" instead.
2009-02-23output_api: play() returns a lengthMax Kellermann1-2/+5
The old API required an output plugin to not return until all data passed to the play() method is consumed. Some output plugins have to loop to fulfill that requirement, and may block during that. Simplify these, by letting them consume only part of the buffer: make play() return the length of the consumed data.
2009-02-22shout: removed shout_plugin.hMax Kellermann1-1/+28
There are no plugins left which require shout_plugin.h. Moved the struct declaration to shout_plugin.c.
2009-02-22shout: removed shout_encoder_pluginsMax Kellermann1-11/+0
This array is empty, and is not used anymore.
2009-02-22shout: use the new encoder APIMax Kellermann1-33/+101
Removed shout's encoder plugin API in favor of the new generic encoder plugin API.
2009-02-22shout: merged open_shout_conn() into my_shout_open_device()Max Kellermann1-10/+2
The method implementation my_shout_open_device() consists of only one line, the call to open_shout_conn(). Merge both functions into one.
2009-02-22shout: bool return values instead of intMax Kellermann1-27/+28
Return true/false instead of 0/-1.
2009-02-09shout: clear buffer before calling the encoderMax Kellermann1-2/+7
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.
2009-02-09shout: don't postpone metadataMax Kellermann1-32/+12
Don't duplicate the tag received by the send_metadata() method - send it to the shout server directly.
2009-02-09shout: use libshout's synchronizationMax Kellermann1-21/+4
Removed the manual timer synchronization from the shout plugin. libshout's shout_sync() function does it for us.
2009-02-09shout: switch to blocking modeMax Kellermann1-73/+7
The non-blocking mode of libshout is sparsely documented, and MPD's implementation had several bugs. Also removed connect throttling code, that is done by the MPD core since 0.14.
2009-02-09shout: removed shout_data.tag_to_sendMax Kellermann1-8/+6
When shout_data.tag!=NULL, there is a "tag to send". The tag_to_send flag is redundant.
2009-02-09shout: removed shout_data.shout_errorMax Kellermann1-3/+0
That variable is set in handle_shout_error(), but is never read.
2009-01-30output_api: moved the command check out of method pause()Max Kellermann1-10/+3
Move the "while" loop which checks for commands to the caller ao_pause(). This simplifies the pause() method, and lets us remove audio_output_is_pending().
2009-01-25use g_free() instead of free()Max Kellermann1-1/+1
On some platforms, g_free() must be used for memory allocated by GLib. This patch intends to correct a lot of occurrences, but is probably not complete.
2009-01-25conf: const pointers in block get functionsMax Kellermann1-1/+1
All config_get_block_*() functions should accept constant config_param pointers.
2009-01-18conf: added config_get_block_unsigned()Max Kellermann1-8/+2
Eliminate some more getBlockParam() invocations.
2009-01-18conf: added config_get_block_string()Max Kellermann1-53/+29
This replaces lots of getBlockParam() invocations.
2009-01-17conf: replaced getBoolBlockParam() with config_get_block_bool()Max Kellermann1-3/+1
No "force" parameter, pass a default value instead.
2009-01-17conf: no CamelCase, part IMax Kellermann1-2/+2
Renamed functions, types, variables.
2009-01-08added missing explicit config.h includesMax Kellermann1-0/+1
2008-12-23shout: fixed bad error message printoutViliam Mateicka1-2/+2
2008-12-23shout: fixed bad error message printoutViliam Mateicka1-3/+3
2008-11-25shout: use GLib instead of utils.h/log.hMax Kellermann1-59/+59
2008-11-25shout: don't check HAVE_SHOUTMax Kellermann1-7/+0
If the shout plugin is disabled, shout_plugin.c isn't compiled at all, no need to check the macro definition.
2008-10-31removed unneed check for protocol in shout plugin, will assume icecast2 ↵Alam Arias1-2/+0
protocol if not exist in config
2008-10-29output: close device on play errorMax Kellermann1-7/+2
When an output plugin fails to play a chunk, close it. This replaces various manual close() calls in nearly all plugins.
2008-10-29output: use bool for return values and flagsMax Kellermann1-12/+12
Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
2008-10-26renamed src/audioOutputs/ to src/output/Max Kellermann1-1/+1
Again, no CamelCase in the directory name.
2008-10-12shout: make the protocol configurableAaron McEwan1-2/+25
Added configuration parameter "protocol" which lets the user choose from 3 shout protocols. This adds support for real shoutcast servers.
2008-10-12shout: use strcmp() instead of strncasecmp()Max Kellermann1-2/+2
Case insensitivity isn't helpful, and comparing only the first 3 bytes of a configured value may encourage users to supply wrong or misleading values.
2008-10-10audio_format: renamed sampleRate to sample_rateMax Kellermann1-1/+1
The last bit of CamelCase in audio_format.h. Additionally, rename a bunch of local variables.