Eric Wong
4cf5d04ca1
interface/connection malloc reductions from mpd-ke
...
This patch massively reduces the amount of heap allocations at
the interface/command layer. Most commands with minimal output
should not allocate memory from the heap at all. Things like
repeatedly polling status, currentsong, and volume changes
should be faster as a result, and more importantly, not a source
of memory fragmentation.
These changes should be safe in that there's no way for a
remote-client to corrupt memory or otherwise do bad stuff to
MPD, but an extra set of eyes to review would be good. Of
course there's never any warranty :)
No longer do we use FILE * structures in the interface, which means
we don't have to allocate any new memory for most connections.
Now, before you go on about losing the buffering that FILE *
+implies+, remember that myfprintf() never took advantage of
any of the stdio buffering features.
To reduce the diff and make bugs easier to spot in the diff,
I've kept myfprintf in places where we write to files (and not
network interfaces). Expect myfprintf to go away entirely soon
(we'll use fprintf for writing regular files).
git-svn-id: https://svn.musicpd.org/mpd/trunk@4483 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-30 03:43:38 +00:00
Avuton Olrich
29a25b9933
Add mpd-indent.sh
...
Indent the entire tree, hopefully we can keep
it indented.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4410 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20 16:02:40 +00:00
Avuton Olrich
fd2f9b8e86
Fix the undefined reference to `playerInitReal'
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4343 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:40:25 +00:00
Avuton Olrich
b4945959ab
[CLEANUP] Remove unused function
...
Remove unused functions from the header,
static where possible
Cleanup whitespace->tabs
git-svn-id: https://svn.musicpd.org/mpd/trunk@4341 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 20:34:46 +00:00
J. Alexander Treuman
2fa7125cce
Change shank's email address
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@4333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:37:45 +00:00
Avuton Olrich
a37348a74f
Huge header update, update the copyright and add
...
the GPL header where necessary
git-svn-id: https://svn.musicpd.org/mpd/trunk@4317 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 19:20:34 +00:00
Warren Dukes
ce10ba4b11
fix a big time bug in metadataChunk (off by one in an array assignment)
...
also, now we have metadata in our streams
git-svn-id: https://svn.musicpd.org/mpd/trunk@2337 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-25 20:09:03 +00:00
Warren Dukes
ae44b7dae5
potential bugfixes for handling metadata in player/decoder
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@1369 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-07 12:11:57 +00:00
Warren Dukes
b29f73c819
mechanism for updating metadata while decoding
...
vorbis comments are updated on the fly for streams
need to decode icy metadata
buffering of metadata needs to be hardened, to ensure that player has already read a particular metachunk or passed over it
git-svn-id: https://svn.musicpd.org/mpd/trunk@1358 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-06 19:41:03 +00:00
Warren Dukes
4e53282469
todo update
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@1352 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-06 16:42:14 +00:00
Warren Dukes
710ec5695b
better method for computing total time played
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@1317 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-03 12:34:25 +00:00
Warren Dukes
fe0b751c82
ogg voribs comment parsing on the fly in the decoder
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@1279 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-01 11:18:25 +00:00
Warren Dukes
1a5b04e4e8
some stream metadata fixes
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@1266 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 23:29:35 +00:00
Warren Dukes
000e053ce7
icynames are now copied to title of streams
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@1258 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 11:42:46 +00:00
Warren Dukes
fd6aa25359
mp3 and ogg plugin stuff
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@1245 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-31 01:21:17 +00:00
Warren Dukes
bf9e2afbf9
just a we bit of changes
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@1075 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-19 00:34:26 +00:00
Warren Dukes
c51ad71efa
rework stuff so that we can use mime-type of streams to detect type of file
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@1062 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-05-18 13:13:55 +00:00
Warren Dukes
5ea8e2d65b
don't stat() the db to get the modtime everytime, instead store it when we read the db
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@779 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-15 23:36:41 +00:00
Warren Dukes
7f29bb1a8d
log cycling and a few cleanups
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@772 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-15 05:07:04 +00:00
Warren Dukes
549344d38a
add vim shiznit to end of all source files
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@750 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-14 14:53:41 +00:00
Warren Dukes
acf0e147c2
when doing signal functions (like sigaction) make sure it wasn't interrupted by a signal (errno==EINTR)
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@729 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-13 16:46:11 +00:00
Warren Dukes
6bc445d00f
volatile fun-ness
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@705 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-12 18:51:16 +00:00
Warren Dukes
bbf84374a5
more volatile stuff
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@699 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-11 23:44:37 +00:00
Warren Dukes
26f72edc46
add volatile qualifiers to some shared mem buffer stuff, to enusre compiler
...
doesn't optimize out order sensitive stuff
git-svn-id: https://svn.musicpd.org/mpd/trunk@698 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-11 23:37:18 +00:00
Warren Dukes
44756f5f10
adjust scaling of software volume
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@681 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-11 11:48:04 +00:00
Warren Dukes
12ee016607
make "update" command background/non-blocking
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@665 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-11 01:53:25 +00:00
Warren Dukes
91450723b2
bunch of autotool cleanups
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@271 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-03-18 03:29:25 +00:00
Warren Dukes
8b19235b61
put decode_pid in shared mem, so if player process dies, the master
...
can still kill the decode process.
git-svn-id: https://svn.musicpd.org/mpd/trunk@107 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-27 22:25:06 +00:00
Warren Dukes
9b1c550597
add xfade and audio to status, remove crossfade no args options
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@75 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-27 01:35:23 +00:00
Warren Dukes
1e9b166574
some cleanups for utf8 in playerSeek and using strncpy for copying filenames
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@54 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-25 18:29:39 +00:00
Warren Dukes
aaf4282654
have pause take an optional arugment
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@43 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-25 00:08:48 +00:00
Warren Dukes
d35747a40c
import from SF CVS
...
git-svn-id: https://svn.musicpd.org/mpd/trunk@1 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-23 23:41:20 +00:00