aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (unfollow)
Commit message (Collapse)AuthorFilesLines
2010-01-16audio_format: support packed 24 bit samplesMax Kellermann1-0/+1
2010-01-06decoder/flac: support streams without STREAMINFO blockMax Kellermann2-1/+52
2010-01-06decoder/flac: pass bits_per_sample to flac_sample_format()Max Kellermann1-3/+3
Easier to reuse the function.
2010-01-06decoder/flac: moved decoder initialization to _flac_common.cMax Kellermann4-51/+23
Invoke decoder_initialized() in the libFLAC metadata callback. This merges code from the FLAC and the OggFLAC decoder plugin into the common library.
2010-01-06decoder/flac: remember audio_format, not stream_infoMax Kellermann4-25/+47
2010-01-06decoder/flac: removed CUE sheet supportMax Kellermann3-359/+1
This feature has been moved to the "flac" playlist plugin.
2010-01-06decoder/flac: moved flac_tag_load() to flac_metadata.cMax Kellermann3-53/+56
Make this code is reusable.
2010-01-04renamed decoder plugin sourcesMax Kellermann15-0/+0
Make it X_decoder_plugin.c.
2010-01-04decoder/mad: fix build error without libid3tagMax Kellermann1-1/+0
2010-01-04replay_gain: moved code to replay_gain_info.cMax Kellermann1-1/+1
2010-01-04decoder_api: added function decoder_replay_gain()Max Kellermann17-87/+63
This function replaces the replay_gain_info parameter for decoder_data(). This allows the decoder to announce replay gain changes, instead of having to pass the same object over and over.
2010-01-01input_stream: return allocated input_stream objectsMax Kellermann1-14/+13
Major API redesign: don't let the caller allocate the input_stream object. Let each input plugin allocate its own (derived/extended) input_stream pointer. The "data" attribute can now be removed, and all input plugins simply cast the input_stream pointer to their own structure (with an "struct input_stream base" as the first attribute).
2009-12-31Update copyright notices.Avuton Olrich26-26/+26
2009-12-31decoder: switch a bunch of plugins to stream_tag()Max Kellermann7-110/+45
This patch changes the following decoder plugins to implement stream_tag() instead of tag_dup(): faad, ffmpeg, mad, modplug, mp4ff, mpcdec, oggflac This simplifies their code, because they do not need to take care of opening/closing the stream.
2009-12-31decoder_plugin: added method stream_tag()Max Kellermann1-0/+1
This is like tag_dup(), but works with an input_stream object instead of a file path.
2009-12-29decoder/{ffmpeg,flac,vorbis}: added more flac/vorbis MIME typesMax Kellermann4-4/+22
Support deprecated MIME types such as "audio/x-ogg". Support new types such as "audio/flac".
2009-12-26decoder_api: added function decoder_timestamp()Max Kellermann16-77/+24
Remove the data_time parameter from decoder_data(). This patch eliminates the timestamp counting in most decoder plugins, because the MPD core will do it automatically by default.
2009-12-26decoder/wavpack: allow fine-grained seekingMax Kellermann1-3/+2
First multiply the floating point return value of decoder_seek_where(), then cast to integer.
2009-12-16updated mp4ff decoder about input_stream_seekAlam Arias1-2/+2
2009-12-15input_stream: return errors with GErrorMax Kellermann11-26/+48
2009-12-14decoder/mikmod: fixed gcc uninitialized warningMax Kellermann1-2/+1
Removed local variable "sample_rate".
2009-12-11decoder/wavpack: don't use the nonstandard "uchar" typeMax Kellermann1-1/+1
Use the signed C99 type int8_t instead.
2009-12-02audio_format: changed "bits" to "enum sample_format"Max Kellermann19-43/+138
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.
2009-11-30ffmpeg: don't try to force stereoMax Kellermann1-4/+0
The plugin code tried to force libavcodec to supply stereo samples. That however has never actually worked. By removing this code, we are able to play surround files for the first time.
2009-11-25decoder/mpcdec: set 24 bit sample formatMax Kellermann1-1/+1
This fixes a regression due to a typo caused by "decoder: use audio_format_init_checked()".
2009-11-19decoder/flac: fixed compiler warningMax Kellermann1-3/+1
Removed the "vtrack" local variable (which triggered a gcc warning because it was after the newly introduced NULL check), and run strtol() on the original parameter.
2009-11-18decoder/flac: fixed NULL pointer dereference in CUE codeMax Kellermann1-0/+2
The function flac_vtrack_tnum() was missing a strrchr()==NULL check.
2009-11-15decoder/ffmpeg: align the output bufferMax Kellermann1-5/+24
On some platforms, libavcodec wants the output buffer aligned to 16 bytes (because it uses SSE/Altivec internally). It will segfault when you don't obey this rule.
2009-11-14decoder/audio: eliminate the "bits" variableMax Kellermann1-4/+1
Pass the audiofile_setup_sample_format() result to audio_format_init_checked().
2009-11-14decoder/audiofile: moved code to audiofile_setup_sample_format()Max Kellermann1-10/+20
2009-11-14decoder/modplug: count frame positionMax Kellermann1-13/+11
Don't maintain the current time stamp in a floating point variable, because this is subject to rounding errors.
2009-11-14decoder/modplug: floating point division for song durationMax Kellermann1-3/+1
More exact total time.
2009-11-14decoder/modplug: check ModPlug_Read() < 0Max Kellermann1-3/+1
Negative return values are not documented here, but since the function prototype is signed, let's be sure.
2009-11-14decoder/mikmod: count frame positionMax Kellermann1-8/+6
Don't maintain the current time stamp in a floating point variable, because this is subject to rounding errors.
2009-11-14decoder/mikmod: sample rate is configurableMax Kellermann1-3/+12
The new option "sample_rate" sets the sample rate for libmikmod.
2009-11-14decoder/mikmod: set drv_name and drv_version from PACKAGE/VERSIONMax Kellermann1-3/+3
2009-11-14decoder/mikmod: no CamelCaseMax Kellermann1-28/+34
2009-11-14decoder/mikmod: removed the struct mod_DataMax Kellermann1-14/+9
2009-11-14decoder/mikmod: merged open()/close() into decode()Max Kellermann1-31/+12
These functions are trivial, we don't need them separate.
2009-11-14decoder/mikmod: static mod_Data objectMax Kellermann1-11/+9
Don't allocate this object, put it on the stack.
2009-11-14decoder: use audio_format_init_checked()Max Kellermann14-85/+122
Let the audio_check library verify the audio format in all (relevant, i.e. non-hardcoded) plugins.
2009-11-14decoder/sidplay: correctly calculate floating point timeMax Kellermann1-8/+11
Internally, use only the integer time. When needed, convert it to a floating point seconds value.
2009-11-12added .#* to .gitignoreMax Kellermann1-1/+0
Temporary editor files.
2009-11-12include config.h in all sourcesMax Kellermann20-23/+33
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-12decoder/vorbis: fixed gcc "signed" warningMax Kellermann1-2/+2
2009-11-11decoder/wavpack: allow more than 2 channelsMax Kellermann1-3/+3
Remove the OPEN_2CH_MAX option. MPD's support for surround sound is still clunky, but we're working on it.
2009-11-11decoder/wavpack: activate 32 bit supportMax Kellermann1-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).
2009-11-11decoder/vorbis: initialize before entering the loopMax Kellermann1-21/+37
Call decoder_initialize() before entering the loop. We don't need to call ov_read() before ov_info(). When the stream number changes, check if the audio format is still the same.
2009-11-11decoder/vorbis: moved error strings to vorbis_strerror()Max Kellermann1-24/+26
2009-11-11decoder/vorbis: removed the OggCallbackData typedefMax Kellermann1-6/+7
Use the struct name instead.