OTHER: Add function attribute "format"
OTHER: Add asprintf
OTHER: Add glib-style logging functions
OTHER: Use log functions for xmmsclient's logging
OTHER: Use log domains

Not in s4-submodule yet, as that is annoying when merging
OTHER: Allow switching log handler
OTHER: Implement log handler that forwards to glib
OTHER: Forward xmmsclient log to glib in daemon
OTHER: update old copyright in avcodec_compat.h
OTHER: update old copyright in nycli
OTHER: minor changes to update_copyright_year.sh

Use -l to grep instead of cut.
Accept a single year in the original notice.
Allow only digits in second year.
OTHER: Fix copyright format in src/plugins/id3v2/id3.c
OTHER: Update copyright notices for 2014.
BUG(2575,784): Ignore stts/ctts from mp4 in faad

We should instead support more modern gapless solutions. For instance data from
iTunSMPB in the tags. As a intermediate solution we might clip the frames to the
duration from stts, where we let the end of the frame remain at the start of the
song and the start of the frame at the end of the song. Here "at the start of
the song" is until any sound is output. This is what faad2 does in its frontend.

The ctts data from mp4 (offset in mp4ff) really doesn't make sense for audio.
The stts data from mp4 (duration in mp4ff) might be useful for formats where
frames don't have a duration of their own, but is otherwise just documentation:

"Help, no! ctts and stts are there to document the frames, not to cause
trimming. The timestamp of a frame (access unit) is determined by summing the
durations of preceding frames, that's it. The ctts table is used in video when
the presentation timestamp of a frame differs from its decoding timestamp
(decoding order), which happens when you have frames with forward dependencies
(classic B frames).

Writing a file with a non-0 ctts for the first frame makes no sense. You're
saying "decode this at time 0 but play it at time N", and this is especially
problematic if N+the natural duration of the sample (1024 audio samples in AAC,
for example) overlaps the start-time of the next or subsequent frames." [1]

The Nero/faad2 programmer Menno Bakker <mbakker@nero.com> is said to agree:

"I talked about this with Menno once.

QUOTE
    Leviathan: http://www.hydrogenaudio.org/forums/index....ndpost&p=254841
    Leviathan: So?
    m&no: yeah yeah
    m&no: he's right
    Leviathan: And are you guys considering changing the way gapless info is stored?
    m&no: can't really comment on that

So, yeah, I guess Ahead's way of doing gapless needs to be revised." [2]

[1] user daithesong on http://www.hydrogenaudio.org/forums/index.php?showtopic=16846&st=0&p=254841&#entry254841
[2] user rjamorim (a Rarewares admin) on the same page.
BUG(784): Get some gapless data in mp4

Using iTunSMPB and legacy ctts/stts
OTHER: Read first sample in mp4
BUG(784): Handle decoder delay in faad.

This introduces a gap when we don't know the frame size.
OTHER: make some globals static
OTHER: fix nycli's server property

Mostly implementing source preference. As an extra allow more options.

Direct cause was a patch from Kristin ann <mistresskris@i2pmail.org> on the
mailing list. Reading the code around it, it was found that the behavior was
not as documented.
OTHER: Fix typo in error message