aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/wavpack_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* input_stream: return errors with GErrorMax Kellermann2009-12-151-3/+3
|
* Merge branch 'v0.15.x'Max Kellermann2009-12-141-1/+1
|\ | | | | | | | | Conflicts: src/decoder/ffmpeg_plugin.c
| * decoder/wavpack: don't use the nonstandard "uchar" typeMax Kellermann2009-12-111-1/+1
| | | | | | | | Use the signed C99 type int8_t instead.
* | audio_format: changed "bits" to "enum sample_format"Max Kellermann2009-12-021-12/+35
| | | | | | | | | | | | This patch prepares support for floating point samples (and probably other formats). It changes the meaning of the "bits" attribute from a bit count to a symbolic value.
* | decoder: use audio_format_init_checked()Max Kellermann2009-11-141-12/+13
| | | | | | | | | | | | Let the audio_check library verify the audio format in all (relevant, i.e. non-hardcoded) plugins.
* | include config.h in all sourcesMax Kellermann2009-11-121-3/+4
| | | | | | | | | | | | 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.
* | decoder/wavpack: allow more than 2 channelsMax Kellermann2009-11-111-3/+3
| | | | | | | | | | Remove the OPEN_2CH_MAX option. MPD's support for surround sound is still clunky, but we're working on it.
* | decoder/wavpack: activate 32 bit supportMax Kellermann2009-11-111-13/+7
| | | | | | | | | | | | | | | | | | | | MPD has been supporting 32 bit samples since version 0.15. This patch changes one check, and removes the 32->24 conversion code. Note that WavPack floating point samples have 32 bits, and MPD doesn't have a special check for floating point - therefore, this WavPack plugin still returns 24 bit integer samples as before (until we have float support in the MPD core).
* | tag: removed the "_ITEM_" suffix from the enum namesMax Kellermann2009-10-131-11/+11
| |
* | Add audio_format_init() functionDavid Woodhouse2009-07-191-3/+3
|/ | | | | It makes no difference right now, but we're about to add an endianness flag and will want to make sure it's correctly initialised every time.
* decoder: Rename all main decoder plugins functions to *decoder_plugin.Avuton Olrich2009-04-021-1/+1
|
* all: Update copyright header.Avuton Olrich2009-03-131-8/+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.
* wavpack: added GLib log domainMax Kellermann2009-02-171-0/+3
|
* wavpack: pass NULL if the .wvc file fails to openMax Kellermann2009-01-301-1/+3
| | | | | | The wavpack library seems to use the .wvc stream even if the OPEN_WVC flag is not set. In this case, pass NULL to be sure libwavpack won't use it.
* song: allocate the result of song_get_url()Max Kellermann2009-01-041-3/+4
|
* utils: removed unused functionsMax Kellermann2009-01-031-0/+2
| | | | | Removed all allocation functions, xwrite(), xread(), ARRAY_SIZE(). Those have been superseded by GLib.
* decoder plugins: don't include gcc.hMax Kellermann2009-01-011-1/+1
| | | | Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
* removed os_compat.hMax Kellermann2008-12-291-0/+2
| | | | | Only include headers which are really needed. os_compat.h aimed to make MPD easily portable, but was never actually made portable.
* flac, mpc, ogg, wavpack: include unistd.h for SEEK_SETMax Kellermann2008-11-241-0/+1
| | | | SEEK_SET is defined by unistd.h. Explicitly include it.
* wavpack: use assert_static()Laszlo Ashin2008-11-221-4/+5
|
* decoder: check audio_format_valid() in all decodersMax Kellermann2008-11-211-0/+8
| | | | Refuse to play audio formats which are not supported by MPD.
* wavpack: redo using audio_format_frame_size()Laszlo Ashin2008-11-191-6/+1
| | | | Somehow we lost 600e1322 after renaming some variables in ed6f6046.
* input_stream: size==-1 means unknown sizeMax Kellermann2008-11-161-0/+3
| | | | | | Define the special value "-1" as "unknown size". Previously, there was no indicator for streams with unknown size, which might confuse some decoders.
* wavpack: be more robust if the underlying stream is not seekableLászló Áshin2008-11-141-1/+5
| | | | | | | | The wavpack open function gives us an option called OPEN_STREAMING. This provides more robust and error tolerant playback, but it automatically disables seeking. (More exactly the wavpack lib will not return the length information.) So, if the stream is already not seekable we can use this option safely.
* wavpack: tolerate less decoded data than requestedLászló Áshin2008-11-141-1/+1
| | | | | Wavpack plugin doesn't stop decoding if a block couldn't be fully decoded, rather it tries to go on.
* wavpack: renamed variables and modified coding style slightlyLászló Áshin2008-11-141-80/+113
|
* wavpack: remove commented debug messagesMax Kellermann2008-11-121-6/+1
|
* wavpack: calculate outsamplesize with audio_format_frame_size()Max Kellermann2008-11-121-5/+1
|
* decoder: return void from decode() methodsMax Kellermann2008-11-111-8/+4
| | | | | | | | The stream_decode() and file_decode() methods returned a boolean, indicating whether they were able to decode the song. This is redundant, since we already know that: if decoder_initialized() has been called (and dc.state==DECODE), the plugin succeeded. Change both methods to return void.
* replay_gain: converted struct replay_gain_info elements to an arrayMax Kellermann2008-11-111-4/+4
| | | | | Having an array instead of individual variables allows the use of the replay_gain_mode enum as an array index.
* wavpack: added wavpack_tag_float()Max Kellermann2008-11-111-41/+25
| | | | | | The function simplifies wavpack_replaygain(), because it already contains the float parser, and it works with a fixed buffer instead of doing expensive heap allocations.
* wavpack: make the "key" argument to wavpack_tag() constMax Kellermann2008-11-111-9/+5
| | | | This allows us to remove the "static char[]" hack.
* replay_gain: no CamelCaseMax Kellermann2008-11-111-11/+11
| | | | Renamed functions and variables.
* wavpack: removed try_decode() methodMax Kellermann2008-11-091-23/+0
| | | | | | Wavpack's try_decode() implementation does nothing useful, it only duplicates code already in stream_decode() / file_decode(), and slows down MPD.
* wavpack: make 24-bit samples available for mpdLaszlo Ashin2008-11-081-47/+46
| | | | | | | | | This patch makes 24-bit samples available for mpd. I tested with the WavPack Test Suite found on wavpack.com: http://www.rarewares.org/wavpack/test_suite.zip Every test file worked fine.
* wavpack: check last_byte in push_back_byte() methodLaszlo Ashin2008-11-081-2/+6
| | | | | | | | | At this moment the wavpack lib doesn't use the return value of the push_back function, which has an equivalent meaning of the return value of ungetc(). This is a lucky situation, because so far it simply returned with 1 as a hard coded value. From now on the function will return EOF on error. (This function makes exactly one byte pushable back.)
* wavpack: wrapper for converting void* to struct wavpack_input*Laszlo Ashin2008-11-081-13/+20
| | | | | A new function has been added to do a cast and a little check in the wavpack-mpd input stream wrapper.
* wavpack: put braces around one line code blocksLaszlo Ashin2008-11-081-15/+27
| | | | | I think this makes the code more easily modifiable and prevents some annoying mistakes.
* wavpack: added prefix to local function namesLaszlo Ashin2008-11-081-14/+14
| | | | | | There are some functions in the wavpack-mpd input streams wrapper which had too commonly used names (especially can_seek). I prefixed these with "wavpack_input_".
* wavpack: unified code styleLaszlo Ashin2008-11-081-16/+28
| | | | | Not every function header has its return type in a distinct line. This patch corrects that. This way there is more space for the arguments.
* wavpack: check wvc seekabilityLaszlo Ashin2008-11-061-2/+5
| | | | | Using wvc streams the seekableness depends on the seekability of the wvc stream as well.
* wavpack: close wvc stream on errorLaszlo Ashin2008-11-061-1/+3
| | | | | The input stream opened for wvc is not closed in an if branch. A close call has been added.
* wavpack: enable seekingLaszlo Ashin2008-11-061-1/+1
| | | | | Somehow seeking is disabled on all kinds of wavpack playbacks now in the git version. This patch corrects that.
* wavpack: read_bytes() should not return after partial readsMax Kellermann2008-11-051-1/+16
| | | | | | | libwavpack expects the read_bytes() stream method to fill the whole buffer, and fails badly when we return a partial read (i.e. not enough data available yet). This caused wavpack streams to break. Re-implement the buffer filling loop.
* wavpack: don't close the streamMax Kellermann2008-11-051-1/+0
| | | | The input_stream object is opened and closed by the caller.
* decoder: removed stream_typesMax Kellermann2008-11-041-1/+0
| | | | | Instead of checking the stream_types bit set, we can simply check whether the methods stream_decode() and file_decode() are implemented.
* wavpack: removed NULL element from tagtypesMax Kellermann2008-11-041-3/+2
| | | | | The number of tag types is known at compile time. Use the GLib macro G_N_ELEMENTS instead of having a NULL element at the end.
* wavpack: use enum tag_typeMax Kellermann2008-11-041-1/+1
| | | | Don't store tag type values in a plain integer, use the proper enum.
* wavpack: use GLib instead of utils.h / log.hMax Kellermann2008-11-041-28/+12
| | | | Replace deprecated code with GLib.
* wavpack: read first byte from wvc streamMax Kellermann2008-11-041-25/+13
| | | | | | | | | Instead of manually waiting for the input stream to become ready (to catch server errors), just read the first byte. Since the wavpack_input has the capability to push back one byte, we can simply re-feed it. Advantage is: decoder_read() handles everything for us, i.e. waiting for the stream, polling for decoder commands and error handling.