input/demux: introduce demux_lookup
authorFilip Roséen <filip@atch.se>
Sat, 30 Jul 2016 04:10:03 +0000 (06:10 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Tue, 2 Aug 2016 13:43:30 +0000 (15:43 +0200)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
src/input/demux.c

index 3750ed4..7c663f3 100644 (file)
@@ -51,6 +51,12 @@ static int demux_mapping_cmp( const void *k, const void *v )
     return vlc_ascii_strcasecmp( k, entry->key );
 }
 
+static demux_mapping* demux_lookup( char const* key,
+                                    demux_mapping* data, size_t size )
+{
+    return bsearch( key, data, size, sizeof( *data ), demux_mapping_cmp );
+}
+
 static const char *demux_NameFromContentType(const char *mime)
 {
     static demux_mapping types[] =
@@ -66,8 +72,7 @@ static const char *demux_NameFromContentType(const char *mime)
         { "video/nsa",           "nsv"     },
         { "video/nsv",           "nsv"     },
     };
-    demux_mapping *type = bsearch( mime, types, ARRAY_SIZE( types ),
-                                   sizeof( *type ), demux_mapping_cmp );
+    demux_mapping *type = demux_lookup( mime, types, ARRAY_SIZE( types ) );
     return (type != NULL) ? type->name : "any";
 }
 
@@ -132,9 +137,7 @@ static const char* DemuxNameFromExtension( char const* ext,
         .size = b_preparsing ? ARRAY_SIZE( quick ) : ARRAY_SIZE( strong )
     };
 
-    demux_mapping* result = bsearch( ext, lookup.data, lookup.size,
-                                     sizeof( *lookup.data ), demux_mapping_cmp );
-
+    demux_mapping* result = demux_lookup( ext, lookup.data, lookup.size );
     return result ? result->name : NULL;
 }