Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Merge branch 'v0.17.x' | Max Kellermann | 2012-10-05 | 2 | -14/+62 | |
|\| | | | | | | | | | Conflicts: src/PlaylistSave.cxx | |||||
| * | playlist_song: fix potential charset bug in apply_song_metadata() | Max Kellermann | 2012-10-05 | 1 | -2/+9 | |
| | | | | | | | | The song's URI must be UTF-8, not filesystem character set. | |||||
| * | playlist_save: use temp2 instead of temp | Max Kellermann | 2012-10-05 | 1 | -1/+2 | |
| | | | | | | | | Fixes minor Windows compatibility problem. | |||||
| * | decoder/ffmpeg: support planar audio | Max Kellermann | 2012-10-05 | 1 | -0/+6 | |
| | | | | | | | | Implements Mantis feature request 3582. | |||||
| * | decoder/ffmpeg: fix playback of planar PCM data | Max Kellermann | 2012-10-05 | 1 | -8/+13 | |
| | | | | | | | | | | Interleaving was completely wrong. This code was never used, so it didn't have an effect. | |||||
| * | decoder/ffmpeg: move code to copy_interleave_frame2() | Max Kellermann | 2012-10-05 | 1 | -5/+14 | |
| | | ||||||
| * | decoder/ffmpeg: ignore negative time stamps | Max Kellermann | 2012-10-05 | 1 | -1/+1 | |
| | | | | | | | | Works around assertion failure in decoder_timestamp(). | |||||
| * | decoder/ffmpeg: show unsupported sample format name | Max Kellermann | 2012-10-05 | 1 | -2/+13 | |
| | | | | | | | | Use av_get_sample_fmt_string() to obtain a human-readable string. | |||||
| * | decoder/ffmpeg: pass AVSampleFormat to ffmpeg_sample_format() | Max Kellermann | 2012-10-05 | 1 | -4/+9 | |
| | | | | | | | | API simplification. | |||||
| * | decoder/ffmpeg: remove duplicate sample format error message | Max Kellermann | 2012-10-05 | 1 | -1/+6 | |
| | | ||||||
* | | decoder/flac: support FLAC files inside archives | Max Kellermann | 2012-10-04 | 4 | -2/+215 | |
| | | | | | | | | | | | | Implement the "scan_stream" method that can read tags from any input_stream object. This requires a FLAC__IOCallbacks implementation based on the input_stream API. | |||||
* | | decoder/flac: move flac_scan_file2() to main plugin file | Max Kellermann | 2012-10-04 | 3 | -20/+9 | |
| | | ||||||
* | | input/file: use errno_quark() | Max Kellermann | 2012-10-04 | 1 | -11/+6 | |
| | | ||||||
* | | PlaylistFile, client_file, tag_id3: don't use g_file_error_quark() | Max Kellermann | 2012-10-04 | 5 | -8/+57 | |
| | | | | | | | | | | | | | | | | | | g_file_error_quark() is meant to be used with the GFileError enum which does not correspond with errno, but must be converted with g_file_error_from_errno(). At the same time, this removes g_strerror() use for g_file_error_quark(). | |||||
* | | decoder/flac: move callbacks to class FLACInput | Max Kellermann | 2012-10-02 | 5 | -110/+242 | |
| | | ||||||
* | | decoder/flac: add ctor/dtor to struct flac_data | Max Kellermann | 2012-10-02 | 3 | -34/+17 | |
| | | ||||||
* | | decoder/flac: add method FLACMetadataChain::Scan() | Max Kellermann | 2012-10-02 | 3 | -12/+12 | |
| | | | | | | | | Merge common code. | |||||
* | | decoder/flac: don't use FLAC__Metadata_SimpleIterator | Max Kellermann | 2012-10-02 | 1 | -32/+8 | |
| | | | | | | | | Use the new FLACMetadataIterator C++ class, which is more powerful. | |||||
* | | decoder/flac: add C++ libFLAC wrappers | Max Kellermann | 2012-10-02 | 2 | -14/+71 | |
| | | | | | | | | | | Not using libFLAC++ because this library adds a lot of overhead due to virtual method calls. This new class library is zero-overhead. | |||||
* | | decoder/flac: eliminate the obsolete "track number" code | Max Kellermann | 2012-10-02 | 4 | -41/+18 | |
| | | | | | | | | This has been deprecated by the "embcue" playlist plugin. | |||||
* | | Merge branch 'v0.17.x' | Max Kellermann | 2012-10-02 | 1 | -3/+7 | |
|\| | ||||||
| * | OSX: Set mDataByteSize correctly on AudioBuffers during render. | Gregory Smith | 2012-10-02 | 1 | -3/+7 | |
| | | ||||||
* | | decoder/flac: remove unused function flac_tag_load() | Max Kellermann | 2012-10-02 | 2 | -17/+0 | |
| | | ||||||
* | | decoder/flac: use C++ compiler | Max Kellermann | 2012-10-02 | 9 | -62/+110 | |
| | | ||||||
* | | {decoder,encoder}/flac: drop support for libFLAC 1.1 | Max Kellermann | 2012-10-02 | 3 | -194/+10 | |
| | | ||||||
* | | encoder/opus: implement lookahead | Max Kellermann | 2012-10-02 | 1 | -2/+43 | |
| | | | | | | | | | | | | The "opusinfo" program complained about preskip value that was too small. This commit uses OPUS_GET_LOOKAHEAD to obtain the number of frames that shall be silence at the beginning. | |||||
* | | encoder/opus: initialize the "granulepos" packet attribute | Max Kellermann | 2012-10-02 | 1 | -1/+5 | |
| | | ||||||
* | | encoder/{vorbis,opus}: merge code to new class OggStream | Max Kellermann | 2012-10-02 | 3 | -89/+154 | |
| | | ||||||
* | | encoder/vorbis: accept floating point input samples | Max Kellermann | 2012-10-02 | 1 | -8/+9 | |
| | | | | | | | | | | | | Improves quality by not squeezing 32 bit samples down to 16 bit, and then back to 32 bit floating point. Reduces CPU usage by skipping a conversion step. | |||||
* | | pcm_channels: support floating point samples | Max Kellermann | 2012-10-02 | 3 | -62/+105 | |
| | | ||||||
* | | encoder/opus: call ogg_stream_flush() only in the last iteration | Max Kellermann | 2012-10-02 | 1 | -4/+4 | |
| | | | | | | | | If there are multiple pages, the last partial page must be flushed. | |||||
* | | encoder/opus: new encoder plugin for the Opus codec | Max Kellermann | 2012-10-02 | 3 | -0/+446 | |
| | | ||||||
* | | output/shout: move code to my_shout_configure() | Max Kellermann | 2012-10-02 | 1 | -31/+40 | |
| | | | | | | | | Eliminate the evil goto. | |||||
* | | encoder/vorbis: use C++ compiler | Max Kellermann | 2012-10-02 | 3 | -25/+53 | |
| | | ||||||
* | | Merge branch 'v0.17.x' | Max Kellermann | 2012-10-02 | 5 | -143/+119 | |
|\| | ||||||
| * | output/{recorder,shout}: call encoder_read() in a loop | Max Kellermann | 2012-10-02 | 3 | -16/+23 | |
| | | | | | | | | This is necessary for Ogg packets that span more than one page. | |||||
| * | output/recorder: move code to _write_to_file() | Max Kellermann | 2012-10-02 | 1 | -19/+31 | |
| | | ||||||
| * | output/recorder: fix write() error check | Max Kellermann | 2012-10-02 | 1 | -3/+3 | |
| | | | | | | | | We can only check for negative values if the variable is signed. | |||||
| * | output/recorder: make variables more local | Max Kellermann | 2012-10-02 | 1 | -16/+12 | |
| | | ||||||
| * | output/httpd: make variables more local | Max Kellermann | 2012-10-02 | 1 | -31/+16 | |
| | | ||||||
| * | encoder/vorbis: make variables more local | Max Kellermann | 2012-10-02 | 1 | -20/+12 | |
| | | ||||||
| * | output/recorder, test/*: invoke encoder_read() after _open() | Max Kellermann | 2012-10-02 | 2 | -0/+11 | |
| | | | | | | | | | | Make sure the file header gets written at the beginning, before _write() gets called. | |||||
| * | output/shout: eliminate struct shout_buffer | Max Kellermann | 2012-10-02 | 1 | -7/+3 | |
| | | | | | | | | Move the raw buffer to struct shout_data. | |||||
| * | output/shout: remove shout_buffer.len | Max Kellermann | 2012-10-02 | 1 | -9/+4 | |
| | | | | | | | | Make it a local variable instead. | |||||
| * | output/shout: fix memory leak in error handler | Max Kellermann | 2012-10-02 | 1 | -2/+7 | |
| | | ||||||
| * | output/shout: make variables more local | Max Kellermann | 2012-10-02 | 1 | -49/+26 | |
| | | ||||||
* | | main: use C++ compiler | Max Kellermann | 2012-09-28 | 19 | -35/+36 | |
| | | ||||||
* | | PlaylistFile: use std::list instead of GPtrArray | Max Kellermann | 2012-09-28 | 6 | -159/+114 | |
| | | ||||||
* | | stored_playlist, playlist_save: use C++ compiler | Max Kellermann | 2012-09-28 | 12 | -32/+49 | |
| | | ||||||
* | | stored_playlist: make variables more local | Max Kellermann | 2012-09-28 | 1 | -46/+25 | |
| | |