OTHER: Fix invalid sizeof param in ruby bindings.
OTHER: Fix potential leak in visualization.

...although it really does deserve to leak.
OTHER: Make sure result of xmmsc_visualization_start is initialized.
OTHER: Remove dead assignment in command_trie.
OTHER: Initialize pos to -1 in cmd_flag_pos_get_playlist.
OTHER: Remove dead assignment in coreaudio output.
OTHER: Remove hypothetical NULL abuse in daap.
OTHER: Initialize retval in read_audio_tag_header in flv xform.
OTHER: Remove dead assignment and cleanup naming in gme init.
OTHER: Make use of xform read result in mid1 xform.
OTHER: Remove hypothetical uninitialized use in medialib_entry_to_tree.
OTHER: Remove dead assignment in medialib test.
OTHER: Fix leak in test utils xmmsv_compare.
OTHER: Untangle sample and converter
OTHER: More functions, int64 for time conversions
OTHER: Use xmms_sample_* in segment
OTHER: Let segment compensate for inaccurate seek
OTHER: int64 auxdata
OTHER: Add segment's sibling nibbler
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.