aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/vorbis_plugin.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-12-26decoder_api: added function decoder_timestamp()Max Kellermann1-1/+0
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-15input_stream: return errors with GErrorMax Kellermann1-2/+2
2009-12-02audio_format: changed "bits" to "enum sample_format"Max Kellermann1-1/+2
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-14decoder: use audio_format_init_checked()Max Kellermann1-7/+6
Let the audio_check library verify the audio format in all (relevant, i.e. non-hardcoded) plugins.
2009-11-12include config.h in all sourcesMax Kellermann1-4/+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-12decoder/vorbis: fixed gcc "signed" warningMax Kellermann1-2/+2
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.
2009-11-11decoder/vorbis: fix typo in commentMax Kellermann1-1/+1
2009-11-11decoder/vorbis: removed redundant "bits" initializationMax Kellermann1-1/+0
This is done by audio_format_init().
2009-11-11decoder/{flac,vorbis}: include config.h for LFSMax Kellermann1-0/+1
Allow those plugins to open large files on 32 bit platforms.
2009-10-18decoder/vorbis: avoid unused symbol warnings from vorbisfile.hSerge Ziryukin1-0/+1
svn r13289 of libvorbis introduced static callbacks (like OV_CALLBACKS_DEFAULT) defined in "vorbisfile.h" header. First released version with this change is libvorbis-1.2.2. In libversion-1.2.3 OV_EXCLUDE_STATIC_CALLBACKS define was added to avoid warnings about unused static callbacks. Information on the OV_EXCLUDE_STATIC_CALLBACKS can be found in http://svn.xiph.org/trunk/vorbis/CHANGES.
2009-10-13tag: removed the "_ITEM_" suffix from the enum namesMax Kellermann1-3/+3
2009-09-10decoder/vorbis: revert "faster tag scanning with ov_test_callback()"Max Kellermann1-1/+1
This patch made ov_time_total() unusable, and MPD did not know the duration of songs.
2009-08-25decoder/vorbis: open file in "binary" modeGunnar Roth1-1/+1
fopen change for win32 in tag dup of vorbis win32 adaption for head changes
2009-08-24decoder/vorbis: faster tag scanning with ov_test_callback()Rasmus Steinke1-1/+1
using ov_test_callback with function CALLBACKS_STREAMONLY will cause scanning to stop after the comment field. ov_open (and ov_test) default to CALLBACKS_DEFAULT which scans the file structure causing a huge slowdown. The speed improvement is huge: It scanned my files around 10x faster This procedure has been recommended by monthy (main vorbis developer) and was said to be safe for scanning files.
2009-07-19Add audio_format_init() functionDavid Woodhouse1-2/+1
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.
2009-04-02vorbis: move #define out of function to top of sourcesAvuton Olrich1-1/+1
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-1/+1
Renamed numOfItems to num_items.
2009-02-25ls: moved generic URI utilities to uri.cMax Kellermann1-1/+1
"ls" is a bad name for a library which parses URIs. We'll move the rest of the "ls" library later.
2009-02-17decoders: added and fixed GLib log domainsMax Kellermann1-0/+3
Fixed the log domains of the renamed decoders. Added G_LOG_DOMAIN macros in decoders which don't have one already.
2009-02-16renamed decoder plugin "oggvorbis" to "vorbis"Max Kellermann1-1/+1
This plugin uses libvorbis.
2009-01-17oggvorbis: disable seeking on remote songsMax Kellermann1-5/+27
When libvorbis knows that a song is seekable, it seeks around like crazy in the file before starting to decode it. This is very expensive on remote HTTP resources, and delays MPD for 10 or 20 seconds. This patch disables seeking on remote songs, because the advantages of quickly playing a song seem to weigh more than the theoretical ability of seeking for most MPD users. If users feel this feature is needed, we will make a configuration option for that.
2009-01-15oggvorbis: map "Album Artist" to "AlbumArtist"Rasmus Steinke1-1/+3
This patch allows mpd to recognise the albumartist tag in the way foobar2000 and others write it to files.
2009-01-14oggvorbis: use g_ascii_strncasecmp() instead of strncasecmp()Max Kellermann1-3/+3
Don't depend on the daemon's locale settings. Comment names are ASCII.
2009-01-14oggvorbis: moved tag look into vorbis_parse_comment()Max Kellermann1-23/+13
vorbis_parse_comment() should be a function which converts one comment to a tag item. It should do everything required to do the conversion, including looping over all possible tag types.
2009-01-14oggvorbis: moved code to vorbis_copy_comment()Max Kellermann1-9/+21
2009-01-14oggvorbis: use vorbis_comment_value() in vorbis_parse_comment()Max Kellermann1-5/+4
Eliminate some duplicate code.
2009-01-14oggvorbis: always allocate a tag objectMax Kellermann1-8/+14
Always allocate a new tag object before parsing the vorbis comments; free it when it turns out to be empty. This simplifies the code a bit.
2009-01-14oggvorbis: no CamelCaseMax Kellermann1-59/+63
Renamed functions and variables.
2009-01-14oggvorbis: use boolMax Kellermann1-5/+5
Make ogg_parseCommentAddToTag() return bool instead of unsigned int.
2009-01-08added missing explicit config.h includesMax Kellermann1-0/+1
2009-01-05fix G_BYTE_ORDER checkMax Kellermann1-1/+1
"#ifdef G_BYTE_ORDER == G_BIG_ENDIAN" cannot work, of course.
2009-01-05use GLib byte order macrosMax Kellermann1-1/+1
2009-01-01decoder plugins: don't include gcc.hMax Kellermann1-1/+1
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
2008-11-24flac, mpc, ogg, wavpack: include unistd.h for SEEK_SETMax Kellermann1-0/+1
SEEK_SET is defined by unistd.h. Explicitly include it.
2008-11-21decoder: check audio_format_valid() in all decodersMax Kellermann1-0/+9
Refuse to play audio formats which are not supported by MPD.
2008-11-20ogg: moved the "errorStr" variable into the error handlerMax Kellermann1-1/+2
2008-11-20ogg: check the ov_read() return value before the vorbis_info evaluationMax Kellermann1-7/+6
The ov_info() return value may be corrupt when ov_read() did not return a positive value. First check for success, then check ov_info().
2008-11-12ogg: revert "use ogg_fopen() instead of ogg_open()"Max Kellermann1-6/+9
Unfortunately, ov_fopen() is not supported by libvorbis versions older than 1.2.
2008-11-11ogg: removed stray "}"Max Kellermann1-1/+0
Due to an unnoticed merge error, there was a superfluous "}". Remove it.
2008-11-11ogg: use ogg_fopen() instead of ogg_open()Max Kellermann1-8/+6
Move the reponsibility for freeing the file handle to libvorbis.
2008-11-11ogg: use GLib instead of utils.h/log.hMax Kellermann1-6/+8
2008-11-11ogg: get decoder command from decoder_data()Max Kellermann1-9/+8
Eliminate two decoder_get_command() invocations from the main loop.
2008-11-11ogg: flush buffer after every ov_read() callMax Kellermann1-25/+10
Don't let the buffer grow until it is full, flush it whenever there is data available.
2008-11-11decoder: return void from decode() methodsMax Kellermann1-5/+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.
2008-11-11replay_gain: converted struct replay_gain_info elements to an arrayMax Kellermann1-4/+4
Having an array instead of individual variables allows the use of the replay_gain_mode enum as an array index.
2008-11-11ogg: ogg_getReplayGainInfo() returns replay_gain_info pointerMax Kellermann1-13/+20
Some code simplification. Avoid pointers to pointers.