aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-09-15decoder/ffmpeg: higher precision timestampsMax Kellermann1-1/+2
2011-09-15decoder/ffmpeg: move formula to time_from_ffmpeg()Max Kellermann1-2/+10
2011-09-15decoder/ffmpeg: add local variable "av_stream"Max Kellermann1-3/+4
Code simplification.
2011-09-15input/rewind: copy the MIME type only onceMax Kellermann1-1/+3
Reduce heap usage by reducing the number of malloc() / free() calls.
2011-09-08pcm_format: fix 32-to-24 bit conversion (the "silence" bug)Max Kellermann1-2/+2
D'oh, we were reading 16 bit integers instead of 32 bit integers! That caused silence when trying to play a 32 bit input file on a 24 bit sound card (e.g. USB sound chips with 24 bit packed samples).
2011-09-01output/osx: don't drain the buffer when closingMax Kellermann1-6/+0
Eliminate an unnecessary source of deadlocks.
2011-09-01output/osx: signal the GCond while mutex is lockedMax Kellermann1-1/+1
2011-09-01output_all: move _lock_signal() to output_control.cMax Kellermann3-21/+23
Better name, better documentation.
2011-09-01output_thread: reimplement CANCEL synchronizationMax Kellermann6-14/+34
The output thread could hang indefinitely after finishing CANCEL, because it could have missed the signal while the output was not unlocked in ao_command_finished(). This patch removes the wait() call after CANCEL, and adds the flag "allow_play" instead. While this flag is set, playback is skipped. With this flag, there will not be any excess wait() call after the pipe has been cleared. This patch fixes a bug that causes mpd to discontinue playback after seeking, due to the race condition described above.
2011-08-31output/pulse: reset callbacks before closing stream/contextMax Kellermann1-0/+10
Fixes assertion failure when a stream callback is invoked too late after a format change.
2011-08-31output/pulse: add function _delete_stream()Max Kellermann1-5/+16
Merge common code.
2011-08-31output/pulse: use _delete_context()Max Kellermann1-16/+15
Eliminate duplicate code.
2011-08-26input/curl: implement a hard-coded timeout of 10 secondsMax Kellermann1-0/+3
Be sure to stop the operation at some point when the server isn't responding.
2011-08-23output/pulse: fix deadlock when the stream was suspendedMax Kellermann1-0/+31
Check if the stream is suspended; wake up the main loop when it becomes suspended.
2011-08-23output/pulse: add assertionsMax Kellermann1-0/+30
2011-08-23output/pulse: return 0 on errorMax Kellermann1-1/+1
Not a bool.
2011-08-23pulse/output: fix deadlock when resuming the streamMax Kellermann1-1/+3
Unlock the mainloop in all code paths.
2011-08-23input/curl: limit the receive buffer sizeMax Kellermann1-0/+30
2011-08-23output/httpd: add assertionsMax Kellermann1-1/+17
2011-08-23output/httpd: don't warn on client disconnectMax Kellermann1-1/+8
This warning should only be logged when we really received something. When the client disconnects, G_IO_IN is triggered, and the read returns G_IO_STATUS_EOF.
2011-08-23decoder/mpcdec: fix gcc warningMax Kellermann1-2/+2
Move the variable "vbr_update_acc" into the #ifdef block.
2011-07-20encoder_plugin: add method pre_tag()Max Kellermann4-2/+37
In the "vorbis" plugin, this is a copy of the old flush() method, while flush() gets a lot of code remove, it just sets the "flush" flag and nothing else. It doesn't start a new stream now, which should fix a few problems in some players.
2011-07-20output/httpd: explicitly convert size_t to bool in pause()Max Kellermann1-1/+2
2011-07-20pipe: lock the mutex in music_pipe_size()Max Kellermann1-1/+4
2011-07-20pipe: make read-only functions "pure"Max Kellermann1-0/+5
Enable gcc optimizations.
2011-07-20output_thread: unlock the mutex while calling cancel()Max Kellermann1-1/+6
The method may take longer, and we shouldn't be holding the lock.
2011-07-20player_thread: lock the player while setting the bite_rateMax Kellermann1-0/+2
2011-07-20update_walk: apply follow_inside_symlinks to absolute symlinksMax Kellermann1-2/+8
2011-07-20wavpack: obey all decoder commands, stop at CUE track borderMax Kellermann1-9/+6
It used to ignore the decoder_data() return value.
2011-07-20decoder/wavpack: use the correct integer typesMax Kellermann1-10/+5
libwavpack provides int32_t samples, and wants uin32_t for sample counts.
2011-07-20decoder/wavpack: simplify the WavpackUnpackSamples()==0 checkMax Kellermann1-17/+14
.. and remove one indent level.
2011-07-20playlist_control: don't resume playback when seeking to another song while ↵Max Kellermann1-3/+5
paused Use a shortcut in playlist_seek_song(), don't call playlist_play_order() because that would reset the "paused" state.
2011-07-20output/alsa: fix SIGFPE when alsa announces a period size of 0Max Kellermann1-0/+8
2011-07-18decoder/ffmpeg: use avformat_open_input() if availableMax Kellermann1-4/+35
av_open_input_stream() has been deprecated.
2011-07-18decoder: use AVDictionary instead of AVMetadataMax Kellermann1-1/+14
AVMetadata has been deprecated.
2011-07-18database: require X_OK on parent directory, not R_OKMax Kellermann1-1/+1
For accessing the child of a directory, one needs X_OK on the directory.
2011-07-18output/shout: fix a memory leakJonathan Neuschäfer1-12/+16
2011-07-18output/recorder: fix a memory leakJonathan Neuschäfer1-3/+7
2011-07-18output/httpd: add missing g_free in error pathJonathan Neuschäfer1-0/+1
2011-07-18output/ao: add missing g_free in error pathJonathan Neuschäfer1-0/+3
2011-07-18conf: add missing fclose in error pathJonathan Neuschäfer1-1/+10
This patch seems a bit ugly, maybe it would be a bit cleaner with gotos.
2011-07-18sticker: fix a memory leakJonathan Neuschäfer1-1/+3
2011-07-18ape: add missing g_free in error pathJonathan Neuschäfer1-1/+3
2011-07-03decoder/flac: validate the sample rate when scanning the tagMax Kellermann2-1/+5
Don't calculate the song duration when the sample rate is 0 (division by zero crash).
2011-07-03ffmpeg: workaround for semantic API change in recent ffmpeg versionsoblique1-2/+2
2011-05-09directory: allow directories with just playlistsMax Kellermann2-1/+8
Keep those when scanning for empty directories. The check in playlist_vector_is_empty() was missing.
2011-05-09playlist_song: fix playlist files in base music directoryMax Kellermann1-0/+7
g_path_get_dirname() returns "." when there is no directory name in the given path. This patch adds a workaround for that.
2011-05-09playlist_song: fix NULL pointer dereferenceMax Kellermann1-1/+1
2011-05-09decoder/ffmpeg: use avcodec_decode_audio3() if availableMax Kellermann1-1/+22
avcodec_decode_audio3() has been added in libavformat 52.25.0, and the predecessor avcodec_decode_audio2() has been deprecated.
2011-05-09decoder/ffmpeg: make variables more localMax Kellermann1-27/+16