vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sun Sep 27 21:08:00 2020 +0300| [76fc65bce5c3f277fc7fdb99a31a34a0569dc3e2] | committer: Rémi Denis-Courmont
ytdl: factor out meta handling > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=76fc65bce5c3f277fc7fdb99a31a34a0569dc3e2 --- modules/demux/ytdl.c | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/modules/demux/ytdl.c b/modules/demux/ytdl.c index 52c3a77bd7..589218b7f4 100644 --- a/modules/demux/ytdl.c +++ b/modules/demux/ytdl.c @@ -132,6 +132,25 @@ static const char *PickArt(const struct json_object *entry) return json_get_str(&v->object, "url"); } +static void GetMeta(vlc_meta_t *meta, const struct json_object *json) +{ + const char *title = json_get_str(json, "title"); + if (title != NULL) + vlc_meta_Set(meta, vlc_meta_Title, title); + + const char *desc = json_get_str(json, "description"); + if (desc != NULL) + vlc_meta_Set(meta, vlc_meta_Description, desc); + + const char *author = json_get_str(json, "uploader"); + if (author != NULL) + vlc_meta_Set(meta, vlc_meta_Artist, author); + + const char *arturl = PickArt(json); + if (arturl != NULL) + vlc_meta_Set(meta, vlc_meta_ArtworkURL, arturl); +} + static int ReadItem(stream_t *s, input_item_node_t *node, const struct json_object *json) { @@ -158,18 +177,8 @@ static int ReadItem(stream_t *s, input_item_node_t *node, if (unlikely(item == NULL)) return VLC_ENOMEM; - const char *desc = json_get_str(json, "description"); - if (desc != NULL) - input_item_SetDescription(item, desc); - - const char *author = json_get_str(json, "uploader"); - if (author != NULL) - input_item_SetArtist(item, author); - - const char *arturl = PickArt(json); - if (arturl != NULL) - input_item_SetArtURL(item, arturl); - + /* Don't care to lock, the item is still private. */ + GetMeta(item->p_meta, json); input_item_AddOption(item, "no-ytdl", 0); input_item_node_AppendItem(node, item); input_item_Release(item); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
