mtime_t i_duration; /**< Duration in milliseconds*/
uint8_t i_type; /**< Type (file, disc, ...) */
+ bool b_prefers_tree; /**< Do we prefer being displayed as tree*/
int i_categories; /**< Number of info categories */
info_category_t **pp_categories; /**< Pointer to the first info category */
p_input->psz_uri = NULL;
p_input->i_type = i_type;
+ p_input->b_prefers_tree = false;
if( p_input->i_type == ITEM_TYPE_UNKNOWN )
GuessType( p_input );
p_sds = malloc( sizeof(struct playlist_services_discovery_support_t) );
if( !p_sds )
return VLC_ENOMEM;
+
+ /* We want tree-view for service directory */
+ p_one->p_input->b_prefers_tree = true;
p_sds->p_sd = p_sd;
p_sds->p_one = p_one;
p_sds->p_cat = p_cat;
int i;
if( p_node->p_parent == p_playlist->p_root_category )
{
- if( p_playlist->b_tree )
+ if( p_playlist->b_tree || p_node->p_input->b_prefers_tree )
return p_node;
for( i = 0 ; i< p_playlist->p_root_onelevel->i_children; i++ )
{
}
else if( p_node->p_parent == p_playlist->p_root_onelevel )
{
- if( !p_playlist->b_tree )
+ if( !p_playlist->b_tree || !p_node->p_input->b_prefers_tree )
return p_node;
for( i = 0 ; i< p_playlist->p_root_category->i_children; i++ )
{