summaryrefslogtreecommitdiff
path: root/plugins/alac/alac_plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/alac/alac_plugin.c')
-rw-r--r--plugins/alac/alac_plugin.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/plugins/alac/alac_plugin.c b/plugins/alac/alac_plugin.c
index 69b100ba..d1075a07 100644
--- a/plugins/alac/alac_plugin.c
+++ b/plugins/alac/alac_plugin.c
@@ -167,6 +167,7 @@ alacplug_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
info->alac = create_alac(info->demux_res.sample_size, info->demux_res.num_channels);
alac_set_info(info->alac, info->demux_res.codecdata);
+ info->demux_res.sample_rate = alac_get_samplerate (info->alac);
int totalsamples = alacplug_get_totalsamples (&info->demux_res);
if (!info->file->vfs->is_streaming ()) {
@@ -203,7 +204,7 @@ alacplug_free (DB_fileinfo_t *_info) {
stream_destroy (info->stream);
}
if (info->alac) {
- free (info->alac);
+ alac_file_free (info->alac);
}
free (info);
}
@@ -478,6 +479,11 @@ alacplug_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
}
}
+ alac_file *alac = create_alac(demux_res.sample_size, demux_res.num_channels);
+ alac_set_info(alac, demux_res.codecdata);
+ demux_res.sample_rate = alac_get_samplerate (alac);
+ alac_file_free (alac);
+
it = deadbeef->pl_item_alloc_init (fname, plugin.plugin.id);
deadbeef->pl_add_meta (it, ":FILETYPE", "ALAC");