aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/shout_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* encoder/vorbis: generate end-of-stream packet when playback endsMax Kellermann2012-04-051-1/+1
| | | | | Add the encoder_plugin method end(). This is important for the recorder plugin.
* encoder_plugin: add method pre_tag()Max Kellermann2011-07-201-1/+1
| | | | | | | In the "vorbis" plugin, this is a copy of the old flush() method, while flush() gets a lot of code remove, it just sets the "flush" flag and nothing else. It doesn't start a new stream now, which should fix a few problems in some players.
* output/shout: fix a memory leakJonathan Neuschäfer2011-07-181-12/+16
|
* Merge release 0.15.15 from branch 'v0.15.x'Max Kellermann2010-11-081-1/+1
|\ | | | | | | | | | | Conflicts: NEWS configure.ac
| * output/shout: artist comes first in stream titleMax Kellermann2010-11-081-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.
* | output/shout: implement delay()Max Kellermann2010-11-051-8/+13
| | | | | | | | | | This makes the plugin more responsive to control commands, because it will listen to control events while waiting.
* | eliminate g_error() usageThomas Jansen2010-09-251-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.
* | Update copyright notices.Avuton Olrich2009-12-311-1/+1
| |
* | include config.h in all sourcesMax Kellermann2009-11-121-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.
* | audio_format: wildcards allowed in audio_format configurationMax Kellermann2009-10-211-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.
* | tag: removed the "_ITEM_" suffix from the enum namesMax Kellermann2009-10-131-2/+2
|/
* output/shout: minimize the unpause latencyMax Kellermann2009-08-141-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.
* conf: eliminated CamelCaseMax Kellermann2009-06-031-1/+1
| | | | Renamed all remaining CamelCase functions.
* all: Update copyright header.Avuton Olrich2009-03-131-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.
* tag: no CamelCaseMax Kellermann2009-02-271-2/+1
| | | | Renamed numOfItems to num_items.
* output_plugin: report errors with GErrorMax Kellermann2009-02-261-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.
* shout: use config_get_block_unsigned()Max Kellermann2009-02-261-6/+3
| | | | Eliminated manual integer parsing.
* output_plugin: don't pass audio_output object to method init()Max Kellermann2009-02-251-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.
* output: pass the music chunk pointer as void*, not char*Max Kellermann2009-02-231-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.
* output_api: play() returns a lengthMax Kellermann2009-02-231-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.
* shout: removed shout_plugin.hMax Kellermann2009-02-221-1/+28
| | | | | There are no plugins left which require shout_plugin.h. Moved the struct declaration to shout_plugin.c.
* shout: removed shout_encoder_pluginsMax Kellermann2009-02-221-11/+0
| | | | This array is empty, and is not used anymore.
* shout: use the new encoder APIMax Kellermann2009-02-221-33/+101
| | | | | Removed shout's encoder plugin API in favor of the new generic encoder plugin API.
* shout: merged open_shout_conn() into my_shout_open_device()Max Kellermann2009-02-221-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.
* shout: bool return values instead of intMax Kellermann2009-02-221-27/+28
| | | | Return true/false instead of 0/-1.
* shout: clear buffer before calling the encoderMax Kellermann2009-02-091-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.
* shout: don't postpone metadataMax Kellermann2009-02-091-32/+12
| | | | | Don't duplicate the tag received by the send_metadata() method - send it to the shout server directly.
* shout: use libshout's synchronizationMax Kellermann2009-02-091-21/+4
| | | | | Removed the manual timer synchronization from the shout plugin. libshout's shout_sync() function does it for us.
* shout: switch to blocking modeMax Kellermann2009-02-091-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.
* shout: removed shout_data.tag_to_sendMax Kellermann2009-02-091-8/+6
| | | | | When shout_data.tag!=NULL, there is a "tag to send". The tag_to_send flag is redundant.
* shout: removed shout_data.shout_errorMax Kellermann2009-02-091-3/+0
| | | | That variable is set in handle_shout_error(), but is never read.
* output_api: moved the command check out of method pause()Max Kellermann2009-01-301-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().
* use g_free() instead of free()Max Kellermann2009-01-251-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.
* conf: const pointers in block get functionsMax Kellermann2009-01-251-1/+1
| | | | | All config_get_block_*() functions should accept constant config_param pointers.
* conf: added config_get_block_unsigned()Max Kellermann2009-01-181-8/+2
| | | | Eliminate some more getBlockParam() invocations.
* conf: added config_get_block_string()Max Kellermann2009-01-181-53/+29
| | | | This replaces lots of getBlockParam() invocations.
* conf: replaced getBoolBlockParam() with config_get_block_bool()Max Kellermann2009-01-171-3/+1
| | | | No "force" parameter, pass a default value instead.
* conf: no CamelCase, part IMax Kellermann2009-01-171-2/+2
| | | | Renamed functions, types, variables.
* added missing explicit config.h includesMax Kellermann2009-01-081-0/+1
|
* shout: fixed bad error message printoutViliam Mateicka2008-12-231-2/+2
|
* shout: use GLib instead of utils.h/log.hMax Kellermann2008-11-251-59/+59
|
* shout: don't check HAVE_SHOUTMax Kellermann2008-11-251-7/+0
| | | | | If the shout plugin is disabled, shout_plugin.c isn't compiled at all, no need to check the macro definition.
* removed unneed check for protocol in shout plugin, will assume icecast2 ↵Alam Arias2008-10-311-2/+0
| | | | protocol if not exist in config
* output: close device on play errorMax Kellermann2008-10-291-7/+2
| | | | | When an output plugin fails to play a chunk, close it. This replaces various manual close() calls in nearly all plugins.
* output: use bool for return values and flagsMax Kellermann2008-10-291-12/+12
| | | | | Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
* renamed src/audioOutputs/ to src/output/Max Kellermann2008-10-261-0/+596
Again, no CamelCase in the directory name.