Make getentry() macro warning-free under Clang

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Update ffmpeg.c to work with newer versions of FFmpeg

Since ffmpeg 2.0, the macro AVCODEC_MAX_AUDIO_FRAME_SIZE is deprecated
and removed. This commit simply defines the macro if it's not defined
previously, using the same value it used to be in old versions of
libavcodec.

Actually, as my branch has been using swr_convert, where caller specifies
the size of output buffer, even if the current size of 192000 proved to
be not enough in the future, we can simply let swr_convert deal with the
insufficient size by a small modification.

Currently the parameters to swr_convert() still assumes that the size of
192000 samples is always enough for the output buffer.

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
comment.c: fix duplicates detection logic in comments_add()

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
id3: allow 3-character frame IDs

This is sometimes encountered in the wild.

Bump cache version to force tags re-reading.

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
ReplayGain: default to peak of 1

Following spec:
http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_specification#Clipping_prevention

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
ReplayGain: default to pre-amp gain of 0

Following spec:
http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_specification#Pre-amplification

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
ape: read APE tags at the end of file but before ID3v1 one in fast mode

Otherwise, we ignore valid APE tags in MP3 files which might contain e.g. ReplayGain data.

Bump cache version to force tags re-reading.

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Fix a typo
Fix '1078414 Copy-paste error'

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Document '1078404 1078405 Missing break in switch'

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Document '1078403 Missing break in switch'

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Fix '1078390 Resource leak'

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Fix '1078389 Resource leak'

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Fix '1078387 Resource leak'

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Fix '1078402 Data race condition'

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Fix '1078397 Dereference null return value'

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
vorbis: recognize .oga and .ogx file extensions

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Add Travis-CI configuration file

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
travis-ci: add libavformat-dev and libopus-dev

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
travis-ci: remove libopus-dev, since Travis' Ubuntu does not yet have it

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>