]> git.sesse.net Git - vlc/blobdiff - src/input/item.c
demux: dash: return meta from manifest
[vlc] / src / input / item.c
index e2256572cf26a598cc7d41188c817413a1d3d531..33c7b26c06a58ec6bef9c981ce49b84692a0b5d8 100644 (file)
@@ -386,6 +386,17 @@ void input_item_SetDuration( input_item_t *p_i, mtime_t i_duration )
     }
 }
 
+char *input_item_GetNowPlayingFb( input_item_t *p_item )
+{
+    char *psz_meta = input_item_GetMeta( p_item, vlc_meta_NowPlaying );
+    if( !psz_meta || strlen( psz_meta ) == 0 )
+    {
+        free( psz_meta );
+        return input_item_GetMeta( p_item, vlc_meta_ESNowPlaying );
+    }
+
+    return psz_meta;
+}
 
 bool input_item_IsPreparsed( input_item_t *p_item )
 {
@@ -772,22 +783,27 @@ void input_item_SetEpgOffline( input_item_t *p_item )
 #ifdef EPG_DEBUG
     vlc_mutex_lock( &p_item->lock );
     const int i_epg_info = p_item->i_epg;
-    char *ppsz_epg_info[i_epg_info];
-    for( int i = 0; i < p_item->i_epg; i++ )
+    if( i_epg_info > 0 )
     {
-        const vlc_epg_t *p_epg = p_item->pp_epg[i];
-        if( asprintf( &ppsz_epg_info[i], "EPG %s", p_epg->psz_name ? p_epg->psz_name : "unknown" ) < 0 )
-            ppsz_epg_info[i] = NULL;
-    }
-    vlc_mutex_unlock( &p_item->lock );
+        char *ppsz_epg_info[i_epg_info];
+        for( int i = 0; i < p_item->i_epg; i++ )
+        {
+            const vlc_epg_t *p_epg = p_item->pp_epg[i];
+            if( asprintf( &ppsz_epg_info[i], "EPG %s", p_epg->psz_name ? p_epg->psz_name : "unknown" ) < 0 )
+                ppsz_epg_info[i] = NULL;
+        }
+        vlc_mutex_unlock( &p_item->lock );
 
-    for( int i = 0; i < i_epg_info; i++ )
-    {
-        if( !ppsz_epg_info[i] )
-            continue;
-        input_item_DelInfo( p_item, ppsz_epg_info[i], NULL );
-        free( ppsz_epg_info[i] );
+        for( int i = 0; i < i_epg_info; i++ )
+        {
+            if( !ppsz_epg_info[i] )
+                continue;
+            input_item_DelInfo( p_item, ppsz_epg_info[i], NULL );
+            free( ppsz_epg_info[i] );
+        }
     }
+    else
+        vlc_mutex_unlock( &p_item->lock );
 #endif
 
     vlc_event_t event = { .type = vlc_InputItemInfoChanged, };
@@ -846,7 +862,6 @@ input_item_NewWithType( const char *psz_uri, const char *psz_name,
     TAB_INIT( p_input->i_categories, p_input->pp_categories );
     TAB_INIT( p_input->i_es, p_input->es );
     p_input->p_stats = NULL;
-    p_input->i_nb_played = 0;
     p_input->p_meta = NULL;
     TAB_INIT( p_input->i_epg, p_input->pp_epg );
 
@@ -862,7 +877,6 @@ input_item_NewWithType( const char *psz_uri, const char *psz_name,
 
     if( type != ITEM_TYPE_UNKNOWN )
         p_input->i_type = type;
-    p_input->b_fixed_name = false;
     p_input->b_error_when_reading = false;
     return p_input;
 }