diff options
Diffstat (limited to 'plugins/alac/alac_plugin.c')
-rw-r--r-- | plugins/alac/alac_plugin.c | 8 |
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"); |