[vlc-devel] commit: meta reader: Always run if we don't have meta from access or demux. (Pierre d'Herbemont )

git version control git at videolan.org
Thu Jan 7 02:38:27 CET 2010


vlc | branch: master | Pierre d'Herbemont <pdherbemont at free.fr> | Thu Jan  7 01:02:10 2010 +0100| [855c0ab217885562742ec64c4e4193235befa616] | committer: Pierre d'Herbemont 

meta reader: Always run if we don't have meta from access or demux.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=855c0ab217885562742ec64c4e4193235befa616
---

 src/input/input.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/src/input/input.c b/src/input/input.c
index 3f8619d..0241056 100644
--- a/src/input/input.c
+++ b/src/input/input.c
@@ -2747,18 +2747,22 @@ static void InputSourceMeta( input_thread_t *p_input,
     /* XXX Remember that checking against p_item->p_meta->i_status & ITEM_PREPARSED
      * is a bad idea */
 
+    bool has_meta;
+
     /* Read access meta */
     if( p_access )
-        access_Control( p_access, ACCESS_GET_META, p_meta );
+        has_meta = !access_Control( p_access, ACCESS_GET_META, p_meta );
 
     /* Read demux meta */
-    demux_Control( p_demux, DEMUX_GET_META, p_meta );
+    has_meta = (!demux_Control( p_demux, DEMUX_GET_META, p_meta )) || has_meta;
 
-    /* If the demux report unsupported meta data, try an external "meta reader" */
-    bool b_bool;
-    if( demux_Control( p_demux, DEMUX_HAS_UNSUPPORTED_META, &b_bool ) )
-        return;
-    if( !b_bool )
+    bool has_unsupported;
+    if( demux_Control( p_demux, DEMUX_HAS_UNSUPPORTED_META, &has_unsupported ) )
+        has_unsupported = true;
+
+    /* If the demux report unsupported meta data, or if we don't have meta data
+     * try an external "meta reader" */
+    if( has_meta && !has_unsupported )
         return;
 
     demux_meta_t *p_demux_meta =




More information about the vlc-devel mailing list