aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/FifoOutputPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-17fs/Path: rename to AllocatedPathMax Kellermann1-3/+4
The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object.
2013-10-02Log: new logging library APIMax Kellermann1-10/+9
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-09-04util/Error: new error passing libraryMax Kellermann1-51/+39
Replaces GLib's GError.
2013-08-07ConfigPath: return a Path objectMax Kellermann1-27/+29
Migrate all callers to use Path directly, instead of doing the conversion in each caller.
2013-08-07Makefile.am: move sources to libsystem.aMax Kellermann1-1/+1
2013-08-04*: use gcc.h macros instead of GLibMax Kellermann1-1/+1
2013-08-04OutputPlugin: pass config_param referenceMax Kellermann1-3/+3
2013-08-03audio_format: convert to C++Max Kellermann1-2/+2
2013-07-30output_api: convert to C++Max Kellermann1-1/+1
2013-05-12timer: convert to classDenis Krjuchkov1-10/+10
2013-04-17output/fifo: convert to C++Max Kellermann1-98/+110
2013-01-10Log, ...: include cleanupMax Kellermann1-1/+0
2012-03-06use g_strerror() instead of strerror()Max Kellermann1-6/+6
Make sure we get a UTF-8 encoded string.
2011-12-13output/fifo: implement output_plugin method delay()Max Kellermann1-3/+11
2011-09-19output_plugin: the plugin allocates the audio_output objectMax Kellermann1-15/+23
Pass audio_output objects around instead of void pointers. This will give some more control to the plugin, and prepares for non-blocking audio outputs.
2011-09-17output: per-plugin headerMax Kellermann1-0/+1
Move the "extern" declarations from output_list.c, for more type safety.
2011-09-09conf: add config_dup_block_path()Max Kellermann1-14/+9
2011-09-09utils: parsePath() returns GError on failureMax Kellermann1-3/+3
Better error messages.
2011-08-27rename 'Timer' to 'struct timer'Jonathan Neuschäfer1-1/+1
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-05-20input/file, output/{fifo,recorder}: add O_BINARY to open() flagsMax Kellermann1-3/+3
Windows compatibility.
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-11-10fd_util: removed creat_cloexec()Max Kellermann1-2/+2
Add a "mode" argument to open_cloexec() instead.
2009-11-07set the close-on-exec flag on all file descriptorsMax Kellermann1-2/+3
Added the "fd_util" library, which attempts to use the new thread-safe Linux system calls pipe2(), accept4() and the options O_CLOEXEC, SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is not thread safe. This is particularly important for the "pipe" output plugin (and others, such as JACK/PulseAudio), because we were heavily leaking file descriptors to child processes.
2009-10-22output/fifo: renamed source to fifo_output_plugin.cMax Kellermann1-3/+3
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-26output_plugin: report errors with GErrorMax Kellermann1-26/+47
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-25fifo: return bool valuesMax Kellermann1-12/+12
Return true/false for success/failure instead of returning 0/-1.
2009-02-25fifo: no CamelCaseMax Kellermann1-43/+50
Renamed types, functions and variables.
2009-02-25fifo: removed timer!=NULL checksMax Kellermann1-12/+1
The MPD core guarantees that the audio_output object is always consistent, and our timer!=NULL checks are superfluous.
2009-02-25output_plugin: don't pass audio_output object to method init()Max Kellermann1-3/+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-2/+2
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-10/+7
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-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_string()Max Kellermann1-7/+6
This replaces lots of getBlockParam() invocations.
2009-01-17conf: no CamelCase, part IMax Kellermann1-2/+2
Renamed functions, types, variables.
2009-01-03null, fifo: use GLib instead of utils.hMax Kellermann1-5/+7
2009-01-01output plugins: don't include gcc.hMax Kellermann1-2/+4
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
2008-12-29fifo: use GLib loggingMax Kellermann1-21/+24
2008-10-29output: close device on play errorMax Kellermann1-1/+0
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-26output: don't compile plugins which are disabledMax Kellermann1-9/+0
Don't compile the sources of disabled output plugins at all.
2008-10-26renamed src/audioOutputs/ to src/output/Max Kellermann1-0/+0
Again, no CamelCase in the directory name.
2008-10-08don't include os_compat.hMax Kellermann1-0/+4
When there are standardized headers, use these instead of the bloated os_compat.h.
2008-09-29use C99 struct initializersMax Kellermann1-9/+7
The old struct initializers are error prone and don't allow moving elements around. Since we are going to overhaul some of the APIs soon, it's easier to have all implementations use C99 initializers.
2008-09-24output: make "struct audio_output" opaque for output pluginsMax Kellermann1-18/+17
We have eliminated direct accesses to the audio_output struct from the all output plugins. Make it opaque for them, and move its real declaration to output_internal.h, similar to decoder_internal.h. Pass the opaque structure to plugin.init() only, which will return the plugin's data pointer on success, and NULL on failure. This data pointer will be passed to all other methods instead of the audio_output struct.
2008-09-24output: set audio_output->open=1 in audio_output_task()Max Kellermann1-4/+0
Since the output plugin returns a value indicating success or error, we can have the output core code assign the "open" flag.
2008-09-24output: pass audio_format to plugin.init() and plugin.open()Max Kellermann1-2/+4
Pass the globally configured audio_format as a const pointer to plugin.init(). plugin.open() gets a writable pointer which contains the audio_format requested by the plugin. Its initial value is either the configured audio_format or the input file's audio_format.
2008-09-08output: const plugin structuresMax Kellermann1-1/+1
Since the plugin struct is never modified, we should store it in constant locations.