[vlc-commits] [Git][videolan/vlc][master] 2 commits: playlist/podcast: expose content:encoded which are the html show notes
Steve Lhomme (@robUx4)
gitlab at videolan.org
Wed Aug 12 07:12:21 UTC 2026
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
9a509810 by Felix Paul Kühne at 2026-08-12T06:50:06+00:00
playlist/podcast: expose content:encoded which are the html show notes
Decoding is up to the client
- - - - -
9bc15434 by Felix Paul Kühne at 2026-08-12T06:50:06+00:00
playlist/podcast: expose episode and season as meta data
- - - - -
1 changed file:
- modules/demux/playlist/podcast.c
Changes:
=====================================
modules/demux/playlist/podcast.c
=====================================
@@ -114,6 +114,9 @@ static int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
char *psz_item_keywords = NULL;
char *psz_item_subtitle = NULL;
char *psz_item_summary = NULL;
+ char *psz_item_content = NULL;
+ char *psz_item_season = NULL;
+ char *psz_item_episode = NULL;
char *psz_item_art_url = NULL;
char *psz_art_url = NULL;
const char *node;
@@ -214,6 +217,8 @@ static int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
!strcmp( psz_elname, "description" ) )
/* <description> isn't standard iTunes podcast stuff */
p = &psz_item_summary;
+ else if( !strcmp( psz_elname, "content:encoded" ) )
+ p = &psz_item_content;
else if( !strcmp( psz_elname, "pubDate" ) )
p = &psz_item_date;
else if( !strcmp( psz_elname, "itunes:category" ) )
@@ -224,6 +229,10 @@ static int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
p = &psz_item_keywords;
else if( !strcmp( psz_elname, "itunes:subtitle" ) )
p = &psz_item_subtitle;
+ else if( !strcmp( psz_elname, "itunes:season" ) )
+ p = &psz_item_season;
+ else if( !strcmp( psz_elname, "itunes:episode" ) )
+ p = &psz_item_episode;
else
break;
@@ -305,6 +314,9 @@ static int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
FREENULL( psz_item_keywords );
FREENULL( psz_item_subtitle );
FREENULL( psz_item_summary );
+ FREENULL( psz_item_content );
+ FREENULL( psz_item_season );
+ FREENULL( psz_item_episode );
FREENULL( psz_item_art_url );
FREENULL( psz_elname );
b_item = false;
@@ -347,10 +359,22 @@ static int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
ADD_INFO( _("Podcast Keywords"), psz_item_keywords );
ADD_INFO( _("Podcast Subtitle"), psz_item_subtitle );
ADD_INFO_META( _("Podcast Summary"), psz_item_summary, vlc_meta_Description );
+ ADD_INFO_META( _("Podcast Season"), psz_item_season, vlc_meta_Season );
+ ADD_INFO_META( _("Podcast Episode"), psz_item_episode, vlc_meta_Episode );
ADD_INFO( _("Podcast Type"), psz_item_type );
#undef ADD_INFO
#undef ADD_INFO_META
+ if( psz_item_content )
+ {
+ input_item_AddInfo( p_input, _( "Podcast Info" ),
+ _( "Show Notes" ), "%s",
+ psz_item_content );
+ input_item_SetMetaExtra( p_input, "content:encoded",
+ psz_item_content );
+ FREENULL( psz_item_content );
+ }
+
/* Add the item art url if any, and the channel one otherwise */
if( psz_item_art_url != NULL )
input_item_SetArtURL( p_input, psz_item_art_url );
@@ -407,6 +431,9 @@ error:
free( psz_item_keywords );
free( psz_item_subtitle );
free( psz_item_summary );
+ free( psz_item_content );
+ free( psz_item_season );
+ free( psz_item_episode );
free( psz_item_art_url );
free( psz_art_url );
free( psz_elname );
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2249fe7510a48d6e7426df842294ce351820c8f7...9bc15434221b2b1f11a889c259f983adac51ecdd
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2249fe7510a48d6e7426df842294ce351820c8f7...9bc15434221b2b1f11a889c259f983adac51ecdd
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
More information about the vlc-commits
mailing list