aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/oggflac_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright notices.Avuton Olrich2009-12-311-1/+1
|
* decoder: switch a bunch of plugins to stream_tag()Max Kellermann2009-12-311-19/+5
| | | | | | | | | | 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.
* Merge vorbis+icy fixes from branch 'v0.15.x'Max Kellermann2009-12-301-1/+3
|\ | | | | | | | | | | | | | | | | Conflicts: Makefile.am NEWS configure.ac src/input/curl_input_plugin.c src/input_stream.c
| * decoder/{ffmpeg,flac,vorbis}: added more flac/vorbis MIME typesMax Kellermann2009-12-291-1/+3
| | | | | | | | | | Support deprecated MIME types such as "audio/x-ogg". Support new types such as "audio/flac".
* | input_stream: return errors with GErrorMax Kellermann2009-12-151-4/+12
| |
* | decoder/flac: moved code to flac_data_get_audio_format()Max Kellermann2009-11-111-12/+3
| | | | | | | | | | | | Remove the audio_format attribute, add "frame_size" instead. The audio_format initialization and check is moved both to flac_data_get_audio_format().
* | decoder/flac: use stream_info instead of audio_formatMax Kellermann2009-11-111-2/+2
| | | | | | | | | | Use the sample rate stored in the stream_info struct instead of the audio_format struct.
* | decoder/oggflac: moved stream_info check to oggflac_decode()Max Kellermann2009-11-111-6/+5
| |
* | decoder/flac: calculate time stamp from current frameMax Kellermann2009-11-111-7/+0
| | | | | | | | | | | | | | | | | | Don't update a float timestamp, this will make imprecisions add up after a while. We already have the number of the current frame, let's just calculate the float timestamp from that for every decoder_data() command. For this, we need to add the attribute "first_frame", for CUE sheet songs.
* | decoder/flac: calculate bit rate in flac_common_write()Max Kellermann2009-11-111-1/+1
| | | | | | | | | | | | Removed the "bit_rate" attribute from the flac_data struct. Pass the number of bytes since the last call to flac_common_write(), and let it calculate the bit rate.
* | decoder/flac: store the whole stream info object, not durationMax Kellermann2009-11-111-1/+9
| | | | | | | | | | | | | | We don't want to work with floating point values if possible. Get the integer number of frames from the FLAC__StreamMetadata_StreamInfo object, and convert it into a float duration on demand. This patch adds a check if the STREAMINFO packet has been received yet.
* | decoder/{flac,vorbis}: include config.h for LFSMax Kellermann2009-11-111-0/+1
| | | | | | | | Allow those plugins to open large files on 32 bit platforms.
* | decoder/flac: keep track of current frame numberMax Kellermann2009-11-111-0/+1
| | | | | | | | We need this for more exact end-of-subsong detection for CUE files.
* | Merge remote branch 'origin/v0.15.x'Max Kellermann2009-11-111-0/+8
|\|
| * oggflac: rewind stream after FLAC detectionMax Kellermann2009-11-111-0/+8
| | | | | | | | | | The oggflac plugin has been completely broken for quite a while and nobody has noticed - maybe we should remove it?
* | decoder/flac: moved code to flac_metadata.cMax Kellermann2009-11-111-0/+1
| |
* | decoder/flac: merged some code into flac_tag_apply_metadata()Max Kellermann2009-11-111-10/+1
| |
* | decoder/oggflac: initialize the "tag" variableMax Kellermann2009-11-101-1/+2
| |
* | decoder/flac: don't use float to calculate song durationMax Kellermann2009-11-101-3/+1
| | | | | | | | | | Simple (up-rounding) integer division is good enough. We're casting the result back to an integer anyway.
* | decoder/flac: pass VorbisComment to comments_to_tag()Max Kellermann2009-11-101-1/+2
| |
* | decoder/flac: added function flac_data_deinit()Max Kellermann2009-11-101-9/+10
|/ | | | Clean up tag and replay_gain_info there.
* flac: get CUE track titles from additional FLAC commentsMario Lenz2009-03-161-1/+1
| | | | | | | | The cue sheet embedded in a flac file doen't contain any information about track titles and similar. There are three possibilities: Use an external cue sheet that includes these information, use a tag CUESHEET with a cue sheet including these information or use tags. I think the latter is the best option and is already used by other projects.
* all: Update copyright header.Avuton Olrich2009-03-131-9/+11
| | | | | | | | 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.
* flac: always allocate tag objectMax Kellermann2009-01-151-3/+11
| | | | | Free the tag object when it turns out to be empty. This simplifies several functions and APIs.
* flac: no CamelCaseMax Kellermann2009-01-151-53/+53
| | | | Renamed types, functions, variables.
* oggflac: don't use gcc.hMax Kellermann2009-01-021-9/+10
| | | | | Use G_GNUC_UNUSED instead of mpd_unused (which has already been removed).
* 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.
* decoder: check audio_format_valid() in all decodersMax Kellermann2008-11-211-0/+8
| | | | Refuse to play audio formats which are not supported by MPD.
* flac, oggflac: use GLib instead of utils.h/log.hMax Kellermann2008-11-211-13/+10
|
* 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.
* oggflac: removed the obsolete try_decode() methodMax Kellermann2008-11-111-6/+3
|
* decoder: return void from decode() methodsMax Kellermann2008-11-111-5/+1
| | | | | | | | 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: no CamelCaseMax Kellermann2008-11-111-1/+1
| | | | Renamed functions and variables.
* 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.
* ogg, ffmpeg: try to decode, even when the stream is not seekableMax Kellermann2008-11-021-5/+0
| | | | | | | Ogg and ffmpeg detection was disabled when the stream was not seekable, because the detection was too expensive. Since the curl input stream can now rewind the stream cheaply, we can re-enable detection on streams.
* decoder_api: pass "seekable" flag to decoder_initialized()Max Kellermann2008-11-021-1/+2
| | | | | | Don't pass the "seekable" flag with every decoder_data() invocation. Since that flag won't change within the file, it is enough to pass it to decoder_initialized() once per file.
* decoder: make the suffixes and mime_types arrays really constMax Kellermann2008-11-011-5/+7
| | | | | The strings were constant, but the pointers weren't. C syntax is somewhat tricky..
* decoder: make all decoder_plugin structs constMax Kellermann2008-11-011-1/+1
| | | | | All decoder_plugin structs are initialized at compile time, and must never change.
* decoder_api: pass constant path pointersMax Kellermann2008-10-311-1/+1
|
* oggflac: adapt to new APIMax Kellermann2008-10-311-6/+6
| | | | | Again, I forgot to adapt oggflac to the new API (struct input_stream, bool return values).
* decoder: use bool for return values and flagsMax Kellermann2008-10-301-1/+1
| | | | | Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
* input_stream: use "bool" instead of "int"Max Kellermann2008-10-261-3/+2
| | | | | For boolean values and success flags, use bool instead of integer (1/0 for true/false, 0/-1 for success/failure).
* input_stream: no CamelCaseMax Kellermann2008-10-261-6/+6
| | | | Renamed all functions and variables.
* renamed src/inputPlugins/ to src/decoder/Max Kellermann2008-10-261-0/+355
These plugins are not input plugins, they are decoder plugins. No CamelCase in the directory name.