Max Kellermann
0273cd44b0
input_stream: forward-declare the struct
...
Hide the definition from C code, to prepare the transition to C++.
2013-01-26 01:24:01 +01:00
Max Kellermann
3203a7dd8c
tag_file: convert to C++
2013-01-26 01:23:02 +01:00
Max Kellermann
86b0adc82c
playlist/*: convert to C++
2013-01-26 01:17:43 +01:00
Max Kellermann
ba49f20f68
decoder/ffmpeg: convert to C++
2013-01-26 01:17:43 +01:00
Denis Krjuchkov
a3ee26da64
Mapper: improve usage of Path class
2013-01-26 01:14:13 +01:00
Max Kellermann
a9b62a2ece
PlayerControl: add second Cond object
...
This fixes a deadlock bug introduced by 18076ac9
. After all, the
second Cond was necessary.
The problem: two threads can wait for a signal at the same time. The
player thread waits for the output thread to finish playback. The
main thread waits for the player thread to complete a command. The
output thread finishes playback, and sends a signal, which
unfortunately does not wake up the player thread, but the main
thread. The main thread sees that the command is still not finished,
and waits again. The signal is lost forever, and MPD is deadlocked.
2013-01-25 23:53:43 +01:00
Max Kellermann
49567f1f3e
input_{internal,plugin}: convert to C++
2013-01-25 22:43:01 +01:00
Max Kellermann
94fffb332b
archive/*: convert to C++
2013-01-24 19:18:58 +01:00
Max Kellermann
dc2e64c92b
DecoderControl: fix typo in assertion check
2013-01-23 18:02:40 +01:00
Denis Krjuchkov
06fb7c671b
Makefile.am: introduce libfs
2013-01-22 01:31:29 +06:00
Denis Krjuchkov
ef93cdf4a8
Path: move to fs subdirectory
2013-01-22 01:24:53 +06:00
Denis Krjuchkov
4ad90e2d52
FileSystem: extract DirectoryReader, improve the rest
...
- DirectoryReader is extracted to separate header
- FileSystem.cxx/FileSystem.hxx/DirectoryReader.hxx moved to fs/ subdir
- Functions return true on success, instead of 0 (where applicable)
- ReadLink return result instead of out parameter
- UnlinkFile is renamed to RemoveFile
- CheckExists/CheckIsRegular/CheckIsDirectory are renamed
to PathExists/FileExists/DirectoryExists
2013-01-22 01:05:30 +06:00
Max Kellermann
7c0e4dfb56
input/archive: fix memory leak in error handler
2013-01-21 19:08:35 +01:00
Max Kellermann
9ec069104f
input,playlist/despotify: convert to C++
2013-01-21 19:01:10 +01:00
Max Kellermann
7d21d60dba
despotify_utils: fix indent
2013-01-21 19:00:50 +01:00
Max Kellermann
ed8562c300
despotify_utils: include cleanup
2013-01-21 19:00:01 +01:00
Max Kellermann
22ec1c3498
despotify_utils: add missing copyright header
2013-01-21 18:59:37 +01:00
Max Kellermann
9cc90b1fbe
input/cdio_paranoia: convert to C++
2013-01-21 17:58:30 +01:00
Max Kellermann
0c9f22507f
input/ffmpeg: convert to C++
2013-01-21 17:50:43 +01:00
Max Kellermann
9c870e4276
input/rewind: convert to C++
2013-01-21 17:36:19 +01:00
Max Kellermann
5cffe693b0
input/file,mms: convert to C++
2013-01-21 10:52:40 +01:00
Max Kellermann
e01615fd1e
input_internal.h: add extern "C"
2013-01-21 10:52:19 +01:00
Max Kellermann
c1daa857a5
test/run_tcp_connect: delete obsolete source file
2013-01-21 10:47:38 +01:00
Max Kellermann
3928c4e9ae
UpdateRemove: Mutex/Cond instead of GMutex/GCond
2013-01-21 10:42:47 +01:00
Max Kellermann
32799fef5c
DecoderControl: move functions into the class
2013-01-21 10:13:29 +01:00
Max Kellermann
e1b03b4a71
PlayerControl: move functions into the class
2013-01-20 17:48:23 +01:00
Denis Krjuchkov
e6ed592b8a
FileSystem: new library for Path-friendly file system routines
2013-01-20 19:08:36 +06:00
Denis Krjuchkov
6f4560184c
dummy.cxx: remove unused file
...
This file was used previously to force C++ linkage.
It's no longer required because most of the code is C++ anyway.
2013-01-19 12:45:50 +06:00
Max Kellermann
e5039c478a
Path: new class "Path" wraps filesystem path strings
2013-01-18 15:34:01 +01:00
Max Kellermann
8901514506
Playlist, Song: clarify parameter encoding
2013-01-18 15:34:01 +01:00
Max Kellermann
21fe376d1d
path: convert to C++
2013-01-17 00:43:27 +01:00
Max Kellermann
e22ef6c481
output/roar: convert to C++
2013-01-16 23:29:56 +01:00
Max Kellermann
2bb01093c0
Idle: don't wake up event loop on duplicate event
2013-01-16 23:27:17 +01:00
Max Kellermann
36c814d26e
Idle: use std::atomic instead of GMutex
2013-01-16 23:23:47 +01:00
Max Kellermann
d769b74d61
Main: fix comment typo
2013-01-16 23:23:47 +01:00
Max Kellermann
601495fa0f
ClientList: convert to a class
2013-01-16 23:00:13 +01:00
Max Kellermann
1998633739
ClientGlobal: move client_close_all() to ClientList.cxx
2013-01-16 22:56:52 +01:00
Max Kellermann
0194217f9d
Revert "ClientList: allow deleting clients in client_list_foreach() callback"
...
This reverts commit f56c6a18c1
. This
fix is not necessary anymore because clients are now being deleted by
the timer callback.
2013-01-16 22:49:51 +01:00
Max Kellermann
b0bbb8b693
Client: use TimeoutMonitor to track connection timeout
...
Don't use a global loop over the whole client list.
2013-01-16 21:51:08 +01:00
Max Kellermann
cab84af72e
Client: move "idle" functions into the class
2013-01-16 21:46:13 +01:00
Max Kellermann
74500eacca
Merge branch 'v0.17.x'
2013-01-16 20:05:26 +01:00
Brice Jaglin
1105e61f29
decoder/ffmpeg: support float planar audio
2013-01-16 19:54:54 +01:00
Max Kellermann
b7cf279d6d
zeroconf-avahi: eliminate "goto"
2013-01-16 00:23:00 +01:00
Max Kellermann
c614e550d9
valgrind.suppressions: more GLib suppressions
2013-01-15 23:44:21 +01:00
Max Kellermann
452a30d7af
input/Curl: break loop when remaining length becomes 0
...
Fixes assertion failure (regression).
2013-01-15 23:39:32 +01:00
Max Kellermann
49e79620fd
PlayerControl: initialise attribute "border_pause"
2013-01-15 23:21:14 +01:00
Max Kellermann
ae5a721df9
Playlist: initialise attribute "playing"
2013-01-15 23:09:18 +01:00
Max Kellermann
0dd5f2915a
ServerSocket: use the SocketMonitor class
2013-01-15 22:56:06 +01:00
Max Kellermann
a0ebd444ad
event/SocketMonitor: add method Open()
...
Allow creating a closed SocketMonitor instance.
2013-01-15 22:56:06 +01:00
Max Kellermann
0c6072c4e4
ServerSocket: move more code to methods
2013-01-15 22:53:14 +01:00