[vlc-commits] [Git][videolan/vlc][master] 2 commits: services_discovery: fix podcast
Steve Lhomme (@robUx4)
gitlab at videolan.org
Sat May 23 20:56:23 UTC 2026
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
20f5209f by Wassim Lalaoui at 2026-05-23T20:44:14+00:00
services_discovery: fix podcast
- - - - -
4f465d43 by Wassim Lalaoui at 2026-05-23T20:44:14+00:00
qt: fix playlist not considered as "browsable"
- - - - -
5 changed files:
- modules/gui/qt/network/qml/BrowseDeviceView.qml
- modules/gui/qt/network/qml/BrowseTreeDisplay.qml
- modules/gui/qt/network/qml/NetworkGridItem.qml
- modules/gui/qt/network/qml/NetworkThumbnailItem.qml
- modules/services_discovery/podcast.c
Changes:
=====================================
modules/gui/qt/network/qml/BrowseDeviceView.qml
=====================================
@@ -140,7 +140,9 @@ FocusScope {
const type = data.type
- if (type === NetworkMediaModel.TYPE_DIRECTORY || type === NetworkMediaModel.TYPE_NODE)
+ if (type === NetworkMediaModel.TYPE_DIRECTORY
+ || type === NetworkMediaModel.TYPE_NODE
+ || type === NetworkMediaModel.TYPE_PLAYLIST)
browse(data.tree, Qt.TabFocusReason)
else
playAt(index);
@@ -155,7 +157,9 @@ FocusScope {
function onDoubleClicked(model, index) {
const type = model.type
- if (type === NetworkMediaModel.TYPE_NODE || type === NetworkMediaModel.TYPE_DIRECTORY)
+ if (type === NetworkMediaModel.TYPE_NODE
+ || type === NetworkMediaModel.TYPE_DIRECTORY
+ || type === NetworkMediaModel.TYPE_PLAYLIST)
browse(model.tree, Qt.MouseFocusReason)
else
playAt(index);
=====================================
modules/gui/qt/network/qml/BrowseTreeDisplay.qml
=====================================
@@ -90,7 +90,8 @@ MainViewLoader {
} else {
const data = model.getDataAt(index)
if (data.type === NetworkMediaModel.TYPE_DIRECTORY
- || data.type === NetworkMediaModel.TYPE_NODE) {
+ || data.type === NetworkMediaModel.TYPE_NODE
+ || data.type === NetworkMediaModel.TYPE_PLAYLIST) {
browse(data.tree, Qt.TabFocusReason)
} else {
playAt(index)
@@ -187,7 +188,9 @@ MainViewLoader {
}
onItemDoubleClicked: {
- if (model.type === NetworkMediaModel.TYPE_NODE || model.type === NetworkMediaModel.TYPE_DIRECTORY)
+ if (model.type === NetworkMediaModel.TYPE_NODE
+ || model.type === NetworkMediaModel.TYPE_DIRECTORY
+ || model.type === NetworkMediaModel.TYPE_PLAYLIST)
browse(model.tree, Qt.MouseFocusReason)
else
playAt(index)
=====================================
modules/gui/qt/network/qml/NetworkGridItem.qml
=====================================
@@ -37,6 +37,7 @@ Widgets.GridItem {
switch (model.type) {
case NetworkMediaModel.TYPE_NODE:
case NetworkMediaModel.TYPE_DIRECTORY:
+ case NetworkMediaModel.TYPE_PLAYLIST:
return false
default:
return implicitPlayCoverShowPlay
@@ -69,7 +70,9 @@ Widgets.GridItem {
const mrl = model.mrl?.toString() || ""
const type = model.type
- if ((type === NetworkMediaModel.TYPE_NODE || type === NetworkMediaModel.TYPE_DIRECTORY)
+ if ((type === NetworkMediaModel.TYPE_NODE
+ || type === NetworkMediaModel.TYPE_DIRECTORY
+ || type === NetworkMediaModel.TYPE_PLAYLIST)
&& (mrl === "vlc://nop"))
return defaultTxt
=====================================
modules/gui/qt/network/qml/NetworkThumbnailItem.qml
=====================================
@@ -34,6 +34,7 @@ Widgets.TableRowDelegate {
&& !!rowModel
&& (rowModel.type !== NetworkMediaModel.TYPE_NODE)
&& (rowModel.type !== NetworkMediaModel.TYPE_DIRECTORY)
+ && (rowModel.type !== NetworkMediaModel.TYPE_PLAYLIST)
property alias artworkTextureProvider: cover.textureProvider
=====================================
modules/services_discovery/podcast.c
=====================================
@@ -107,7 +107,7 @@ static void SaveUrls( services_discovery_t *p_sd );
*****************************************************************************/
static int Open( vlc_object_t *p_this )
{
- if( strcmp( vlc_object_typename(vlc_object_parent(p_this)), "playlist" ) )
+ if( strcmp( vlc_object_typename(vlc_object_parent(p_this)), "media-source-provider" ) )
return VLC_EGENERIC; /* FIXME: support LibVLC SD too! */
services_discovery_t *p_sd = ( services_discovery_t* )p_this;
@@ -180,8 +180,7 @@ static void *Run( void *data )
services_discovery_t *p_sd = data;
services_discovery_sys_t *p_sys = p_sd->p_sys;
- char *psz_urls = var_GetNonEmptyString( vlc_object_parent(p_sd),
- "podcast-urls" );
+ char *psz_urls = var_InheritString( p_sd, "podcast-urls" );
ParseUrls( p_sd, psz_urls );
free( psz_urls );
@@ -251,8 +250,7 @@ static void ParseUrls( services_discovery_t *p_sd, char *psz_urls )
TAB_APPEND( i_new_urls, ppsz_new_urls, strdup( psz_urls ) );
input_item_t *p_input;
- p_input = input_item_New( psz_urls, psz_urls );
- input_item_AddOption( p_input, "demux=directory", VLC_INPUT_OPTION_TRUSTED );
+ p_input = input_item_NewDirectory( psz_urls, psz_urls, ITEM_NET );
TAB_APPEND( i_new_items, pp_new_items, p_input );
services_discovery_AddItem( p_sd, p_input );
@@ -315,8 +313,8 @@ static void ParseRequest( services_discovery_t *p_sd, char *psz_request )
strdup( psz_request ) );
input_item_t *p_input;
- p_input = input_item_New( psz_request, psz_request );
- input_item_AddOption( p_input, "demux=directory", VLC_INPUT_OPTION_TRUSTED );
+ p_input = input_item_NewDirectory( psz_request, psz_request,
+ ITEM_NET );
TAB_APPEND( p_sys->i_items, p_sys->pp_items, p_input );
services_discovery_AddItem( p_sd, p_input );
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/d0be77cd2c944e944220a04b2588bad08dbe627e...4f465d43d84c53469c493737402bd2a44a2b6fb6
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/d0be77cd2c944e944220a04b2588bad08dbe627e...4f465d43d84c53469c493737402bd2a44a2b6fb6
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