aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-01-16ClientList: convert to a classMax Kellermann12-152/+72
2013-01-16ClientGlobal: move client_close_all() to ClientList.cxxMax Kellermann3-32/+13
2013-01-16Revert "ClientList: allow deleting clients in client_list_foreach() callback"Max Kellermann1-2/+2
This reverts commit f56c6a18c13f4135fa9944cb7cb568115a018955. This fix is not necessary anymore because clients are now being deleted by the timer callback.
2013-01-16Client: use TimeoutMonitor to track connection timeoutMax Kellermann6-78/+22
Don't use a global loop over the whole client list.
2013-01-16Client: move "idle" functions into the classMax Kellermann5-49/+36
2013-01-16decoder/ffmpeg: support float planar audioBrice Jaglin1-0/+5
2013-01-16zeroconf-avahi: eliminate "goto"Max Kellermann1-6/+1
2013-01-15input/Curl: break loop when remaining length becomes 0Max Kellermann1-0/+6
Fixes assertion failure (regression).
2013-01-15PlayerControl: initialise attribute "border_pause"Max Kellermann1-1/+2
2013-01-15Playlist: initialise attribute "playing"Max Kellermann1-1/+1
2013-01-15ServerSocket: use the SocketMonitor classMax Kellermann5-56/+40
2013-01-15event/SocketMonitor: add method Open()Max Kellermann2-9/+27
Allow creating a closed SocketMonitor instance.
2013-01-15ServerSocket: move more code to methodsMax Kellermann1-19/+30
2013-01-15ServerSocket, SocketUtil: use the SocketError libraryMax Kellermann2-23/+18
Use WinSock errors on Windows.
2013-01-15socket_util: convert to C++Max Kellermann3-14/+6
2013-01-15SocketError: merge duplicate FormatMessage() callsMax Kellermann1-26/+36
Make a class that contains the formatting code and the buffer.
2013-01-15server_socket: convert to C++Max Kellermann5-152/+158
2013-01-15output/httpd: convert to C++Max Kellermann8-987/+911
2013-01-15output_internal, ...: add extern "C"Max Kellermann7-0/+56
2013-01-15encoder/{Vorbis,Opus}: use new/deleteMax Kellermann2-10/+14
2013-01-15InotifySource: use the SocketMonitor classMax Kellermann3-40/+24
2013-01-15mixer/Alsa: use MultiSocketMonitorMax Kellermann1-134/+37
2013-01-15input/Curl: move code to class MultiSocketMonitorMax Kellermann3-116/+291
2013-01-15input/Curl: simpler GPollFD initialisationMax Kellermann1-5/+2
Using initializer list.
2013-01-15input/Curl: don't remove/add modified GPollFDMax Kellermann1-9/+2
Not necessary, GLib will pick up the updated GPollFD automatically.
2013-01-15Client: rebase on the new BufferedSocket classMax Kellermann10-304/+66
2013-01-15event/SocketMonitor: wrapper class for GSource + GPollFDMax Kellermann4-0/+607
2013-01-15Client: move output buffer code to new class PeakBufferMax Kellermann6-165/+244
2013-01-15util/fifo_buffer: add method _init()Max Kellermann2-0/+11
2013-01-15Client: move connection functions into the classMax Kellermann11-56/+50
2013-01-15SignalHandlers: emit GlobalEvents::SHUTDOWNMax Kellermann1-1/+1
.. instead of calling g_main_loop_quit(), which may dead-lock.
2013-01-15fifo_buffer: move to util/Max Kellermann13-12/+12
2013-01-15fifo_buffer: add extern "C"Max Kellermann4-8/+9
2013-01-15socket_error: new library for errno / WSAGetLastError()Max Kellermann1-0/+146
2013-01-15io_error: add function new_error_errno()Max Kellermann1-1/+8
2013-01-14Client*: include check.h / config.hMax Kellermann3-0/+3
2013-01-14ClientList: allow deleting clients in client_list_foreach() callbackDark Raven1-2/+2
2013-01-14Revert "ClientList.cxx: copy client list before iterating"Max Kellermann1-2/+1
This reverts commit f53dadcc6d0a29ce7419a07a51762b4b44654696, to prepare for a better solution.
2013-01-14event/TimeoutMonitor: wrapper for g_timeout_source_new()Max Kellermann8-60/+152
2013-01-14StateFile: convert to a classMax Kellermann3-75/+80
2013-01-14gcc.h: add C++11 "final" fallback macroMax Kellermann1-0/+1
2013-01-14InotifyQueue: convert to a classMax Kellermann3-41/+45
2013-01-14InotifySource: convert to a classMax Kellermann3-98/+96
2013-01-14Main, IOThread: move GMainLoop setup code to class EventLoopMax Kellermann11-76/+131
2013-01-14IOThread: use gcc.hMax Kellermann1-4/+6
2013-01-13ClientList.cxx: copy client list before iteratingDenis Krjuchkov1-1/+2
It seems that it is not safe to remove the item from std::list while it's being iterated somewhere else. This is a very simple quick fix to make things work until some better solution is implemented.
2013-01-13WakeFD.cxx: use two sockets instead of pipe on Win32Denis Krjuchkov2-5/+128
Pipes aren't really pollable on Windows. GLib emulates polling on pipes using separate reader/writer threads. This adds significant overhead and keeps a strong dependency on GLib. socketpair() function is absent on Windows as well. We implement it here in a loose way.
2013-01-13Win32Main.cxx: more clean shutdownDenis Krjuchkov1-5/+22
This change fixes two issues: 1) console_handler is called from a separate thread. Thread-safe primitive is required for correct operation. 2) If console_handler returns TRUE our process is immediately terminated. We use Sleep() to give main thread an opportunity to shutdown correctly.
2013-01-11thread/{Mutex,Cond}: new backend for WIN32Max Kellermann4-4/+135
Use CRITICAL_SECTION and CONDITION_VARIABLE. This requires Windows Vista or newer. It fixes problems with GLib threading objects that were implicitly created by static constructors before g_thread_init().
2013-01-11GlobalEvents: #undef DELETE on WindowsMax Kellermann1-0/+8
Work around a build failure due to windows.h macro.