Merged release 0.15.5 from branch 'v0.15.x'

Conflicts:
	NEWS
	configure.ac
	src/decoder/flac_plugin.c
	src/update.c
This commit is contained in:
Max Kellermann 2009-10-18 19:02:43 +02:00
commit 447e4d3583
4 changed files with 16 additions and 10 deletions

6
NEWS
View File

@ -49,13 +49,17 @@ ver 0.16 (20??/??/??)
* require GLib 2.16
ver 0.15.5 (2009/??/??)
ver 0.15.5 (2009/10/18)
* input:
- curl: don't abort if a packet has only metadata
- curl: fixed endless loop during buffering
* tags:
- riff, aiff: fixed "limited range" gcc warning
* decoders:
- flac: fixed two memory leaks in the CUE tag loader
* decoder_thread: change the fallback decoder name to "mad"
* output_thread: check again if output is open on CANCEL
* update: fixed memory leak during container scan
ver 0.15.4 (2009/10/03)

View File

@ -299,12 +299,12 @@ flac_cue_tag_load(const char *file)
unsigned int sample_rate = 0;
FLAC__uint64 track_time = 0;
#ifdef HAVE_CUE /* libcue */
FLAC__StreamMetadata* vc = FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT);
FLAC__StreamMetadata* vc;
char* cs_filename;
FILE* cs_file;
#endif /* libcue */
FLAC__StreamMetadata* si = FLAC__metadata_object_new(FLAC__METADATA_TYPE_STREAMINFO);
FLAC__StreamMetadata* cs = FLAC__metadata_object_new(FLAC__METADATA_TYPE_CUESHEET);
FLAC__StreamMetadata* cs;
tnum = flac_vtrack_tnum(file);
char_tnum = g_strdup_printf("%u", tnum);
@ -328,6 +328,7 @@ flac_cue_tag_load(const char *file)
}
}
}
FLAC__metadata_object_delete(vc);
}

View File

@ -351,7 +351,8 @@ static gpointer audio_output_task(gpointer arg)
case AO_COMMAND_CANCEL:
ao->chunk = NULL;
ao_plugin_cancel(ao->plugin, ao->data);
if (ao->open)
ao_plugin_cancel(ao->plugin, ao->data);
ao_command_finished(ao);
/* the player thread will now clear our music

View File

@ -472,20 +472,20 @@ update_container_file( struct directory* directory,
while ((vtrack = plugin->container_scan(pathname, ++tnum)) != NULL)
{
struct song* song = song_file_new(vtrack, contdir);
if (song == NULL)
return true;
char *child_path_fs;
// shouldn't be necessary but it's there..
song->mtime = st->st_mtime;
song->tag = plugin->tag_dup(map_directory_child_fs(contdir, vtrack));
child_path_fs = map_directory_child_fs(contdir, vtrack);
g_free(vtrack);
song->tag = plugin->tag_dup(child_path_fs);
g_free(child_path_fs);
songvec_add(&contdir->songs, song);
song = NULL;
modified = true;
g_free(vtrack);
}
g_free(pathname);