Max Kellermann
de8f2739c2
decoder/mikmod: fix memory leak
...
The return value of Player_LoadTitle() is allocated with malloc(), and
must be freed by the caller.
2010-05-31 10:24:08 +02:00
Max Kellermann
2c1c588868
decoder/mikmod: duplicate the path only once
2010-05-31 10:22:08 +02:00
Max Kellermann
e271f69a34
decoder/mikdmod: moved local variable declarations in tag_dup()
2010-05-31 10:16:09 +02:00
Max Kellermann
39105f2119
decoder/wildmidi: moved local variable declarations in tag_dup()
2010-05-31 10:14:48 +02:00
Max Kellermann
4e080a9b06
decoder/gme: replace macro GME_BUF_SIZE
...
Added macros with better names: GME_BUFFER_FRAMES, GME_BUFFER_SAMPLES
(the former only used to calculate the latter).
2010-05-31 10:03:43 +02:00
Max Kellermann
d55740808d
decoder/gme: added constants for sample rate and channels
...
Move into enums.
2010-05-31 10:02:43 +02:00
Max Kellermann
6566038df9
decoder/gme: pass the whole buffer to decoder_data()
...
Pass sizeof(buf) to decoder_data(), not the number of samples (which
is half the size). At the same time, pass GME_BUF_SIZE to gme_play()
- libgme really wants to get the number of samples, not the number of
stereo frames. Previously, this plugin had been using only the first
half of the buffer.
2010-05-31 09:57:15 +02:00
Max Kellermann
f0faf00320
decoder/gme: allocate tag later, fixes memory leak
...
Allocate the "tag" object after the file has been opened successfully.
2010-05-31 09:43:25 +02:00
Max Kellermann
51c7577c8f
decoder/mp4ff: rename and move local variable
...
Allocate the "tag" object after the file has been checked. That
removes one tag_free() call in an error handler.
2010-05-31 09:35:49 +02:00
Max Kellermann
be308c6657
decoder/mp4ff: merge code into mp4ff_input_stream_open()
2010-05-31 09:29:45 +02:00
Max Kellermann
1729a0b437
decoder/mp4ff: move mp4ff_callback_t into mp4ff_input_stream
...
Allocate only one item on the stack.
2010-05-31 09:23:27 +02:00
Max Kellermann
1b2fc2ae19
decoder/mp4ff: rename mp4_context to mp4ff_input_stream
2010-05-31 09:22:42 +02:00
Max Kellermann
58a75f0b78
decoder/mp4ff: remove duplicate entries in the tag name table
...
Reuse the function tag_name_parse_i().
2010-05-31 08:48:41 +02:00
Max Kellermann
daf6e2b5da
decoder/mp4ff: moved code to mp4ff_tag_name_parse()
2010-05-31 08:47:59 +02:00
Max Kellermann
ca08c4dbf4
decoder/vorbis: rename local variable "ret"
2010-05-31 00:06:37 +02:00
Max Kellermann
8af52fa205
decoder/vorbis: implement method stream_tag()
...
This allows tags in archive files.
2010-05-31 00:02:57 +02:00
Max Kellermann
3b0bf856c4
decoder/vorbis: move code to vorbis_open_stream()
2010-05-31 00:00:04 +02:00
Max Kellermann
28f5803d34
decoder/vorbis: use single global ov_callbacks constant
...
Initialize the ov_callbacks struct at compile time.
2010-05-30 23:59:36 +02:00
Max Kellermann
0b72299857
decoder/vorbis: rename struct vorbis_decoder_data to vorbis_is
2010-05-30 23:57:58 +02:00
Max Kellermann
017d61a1aa
decoder/mp4ff: support tags "albumartist", "band"
...
I'm not sure if mapping "band" to TAG_PERFORMER is correct, but it
might be better than nothing.
2010-05-30 22:55:02 +02:00
Max Kellermann
4028d03a6e
decoder/mp4ff: use tag_table.h to parse tag names
...
Convert if/else/else/... to a loop.
2010-05-30 22:52:45 +02:00
Max Kellermann
44b771aca1
decoder/mp4ff: rename plugin "mp4" to "mp4ff"
...
The underlying library is named "libmp4ff". To reduce confusion,
rename the plugin to a more specific name.
2010-05-30 22:52:44 +02:00
Max Kellermann
9dda53e1d2
Merge release 0.15.10 from branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
src/input/mms_input_plugin.c
2010-05-30 18:26:33 +02:00
Max Kellermann
442d2e74e3
decoder/mad: fix buffer variable name on !HAVE_ID3TAG
2010-05-30 17:27:03 +02:00
Max Kellermann
fa2ff849c5
input/ffmpeg: new input plugin using libavformat's "avio" library
2010-05-18 21:20:31 +02:00
Tim Phipps
0ac5b6e613
mixramp: Adjust MixRamp threshold to account for ReplayGain.
2010-05-08 00:19:44 -07:00
Max Kellermann
cf3ada3d04
Merge branch 'master' of git://github.com/mcfiredrill/mpd
2010-04-20 21:16:39 +02:00
Max Kellermann
a1a03deed2
decoder/mad: properly calculate ID3 size without libid3tag
...
Without libid3tag, we were trying to skip the ID3 frame (since
0.15.2). Its length however was not calculated at all, we were just
dropping everything from the current input buffer. This lead to the
first few seconds of the file being skipped. This patch attempts to
calculate the ID3v2 frame size with the formula from:
http://www.id3.org/id3v2.4.0-structure 3.1 and 6.2
2010-04-13 08:51:29 +02:00
Charles Kerr
6a95898038
decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback()
...
What's happening is the `ptr' argument to that function is NULL for me
every time. `ptr' is unconditionally dereferenced to generate a log
message, and this is where mpd crashes.
Attached is a simple patch that tests for NULL and omits the log. With
this patch the crash disappeared and mpd went back to working well.
2010-04-11 19:18:30 +02:00
Tony Miller
9d55b16998
Decoder for game music emulation library.
...
Supports a number of videogame music formats, more info here:
http://www.fly.net/~ant/libs/audio.html
I wrote this plugin for the latest svn, get it here:
http://code.google.com/p/game-music-emu/source/checkout
2010-04-10 01:05:16 -07:00
Max Kellermann
8446b70ddc
decoder/ffmpeg: print item name in log callback
2010-03-28 19:48:57 +02:00
Max Kellermann
e9beea072d
Merge release 0.15.9 from branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
src/cue/cue_tag.c
src/decoder/mpcdec_decoder_plugin.c
src/player_thread.c
2010-03-28 19:31:47 +02:00
Tim Phipps
e7a515c8b1
Add support for MixRamp tags
...
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and
MIXRAMP_END tags from FLAC files and overlaps instead of crossfading.
2010-03-21 18:21:47 +01:00
Aleksei Kaveshnikov
73ba4ea3da
decoder/mpcdec: fix replay gain formula with v8
...
"When playing musepack files with mpd v0.15.8, rg seems to have no effect.
Using sample file below, mpd says 'computing ReplayGain album scale with gain 122.879997, peak 0.549150'.
One thing though, if I build mpd against old libmpcdec-1.2.6, rg works
as expected: 'computing ReplayGain album scale with gain 16.820000,
peak 0.099765'"
2010-03-19 10:26:08 +01:00
Piotr Gozdur
96033e4b4e
decoder/mpcdec: fix negative shift on fixed-point samples
...
"There is a bug in fixed-point musepack (musepack_src_r435) playback.
In floating-point audio is OK but in fixed audio is distorted. I have
made a patch for this"
2010-03-17 17:54:21 +01:00
Max Kellermann
5842015b90
decoder/ffmpeg: fix indentation
2010-03-07 19:20:34 +01:00
Max Kellermann
ae56901863
decoder/ffmpeg: implement the libavutil log callback
...
Pass everything to the GLib logging library. No direct stderr access.
2010-02-27 19:32:59 +01:00
Max Kellermann
4e364854ab
decoder/ffmpeg: don't close the AVFormatContext after open failure
...
The pointer is invalid if av_open_input_file() fails.
2010-02-27 19:25:56 +01:00
Max Kellermann
35c5a371ea
decoder/mad: fix crash when seeking at end of song
...
Removed the decoder_command_finished() call at the end of
mp3_decode(). This is invalid, because decoder_command_finished() has
already been called in mp3_read().
2010-02-27 18:35:31 +01:00
Max Kellermann
5e0117b444
replay_gain_info: allocate the struct statically
...
Don't allocate each replay_gain_info object on the heap. Those
objects who held a pointer now store a full replay_gain_info object.
This reduces the number of allocations and heap fragmentation.
2010-02-17 07:22:44 +01:00
Anton Khirnov
766b9fd453
ffmpeg: read more metadata.
2010-02-02 17:55:58 +01:00
Tim Phipps
891dab7b91
decoder/flac: fix replay gain (short-circuiting "or")
2010-01-28 20:54:04 +01:00
Max Kellermann
acb0ff1ea8
decoder/wavpack: fixed WVC URI
...
Pass the current URI to wavpack_open_wvc().
2010-01-20 12:08:44 +01:00
Max Kellermann
2acad9fe1e
decoder/ffmpeg: call decoder_timestamp() once per packet
2010-01-18 13:11:04 +01:00
Max Kellermann
8914ebc964
decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode()
2010-01-18 11:06:09 +01:00
Max Kellermann
5477c31160
decoder/ffmpeg: optimized the stream_tag() method
...
Don't use the function ffmpeg_helper(), don't initialize the codec.
2010-01-18 11:06:04 +01:00
Max Kellermann
acd3f8cd91
decoder/ffmpeg: free AVFormatContext on error
...
Fix a memory leak in some code paths.
2010-01-18 11:05:15 +01:00
Max Kellermann
ca1fc13116
decoder_api: removed function decoder_get_uri()
...
Use input_stream.uri.
2010-01-18 10:21:57 +01:00
Max Kellermann
a0a26d3341
Merge release 0.15.8 from branch 'v0.15.x
...
Conflicts:
Makefile.am
NEWS
configure.ac
src/decoder/ffmpeg_decoder_plugin.c
src/decoder_thread.c
2010-01-18 07:52:58 +01:00
Max Kellermann
2579a2f924
decoder/ffmpeg: added more MIME types
...
Taken from the ffmpeg sources.
2010-01-17 16:00:14 +01:00