demux/adaptive: add static_assert related to module options
authorFilip Roséen <filip@atch.se>
Wed, 12 Oct 2016 11:04:36 +0000 (13:04 +0200)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Fri, 14 Oct 2016 09:15:53 +0000 (11:15 +0200)
It is better to be safe than sorry, and as the current implementation assumes
all of the three arrays have the same number of elements without an explicit
check to see that this is the case - a static_assert should prevent future
brainfarts.

Signed-off-by: Francois Cartegnie <fcvlcdev@free.fr>
modules/demux/adaptive/adaptive.cpp

index 1430ee1..3ad44fc 100644 (file)
@@ -98,6 +98,12 @@ static const char *const ppsz_logics[] = { N_("Default"),
                                            N_("Lowest Bandwidth/Quality"),
                                            N_("Highest Bandwidth/Quality")};
 
+static_assert( ARRAY_SIZE( pi_logics ) == ARRAY_SIZE( ppsz_logics ),
+    "pi_logics and ppsz_logics shall have the same number of elements" );
+
+static_assert( ARRAY_SIZE( pi_logics ) == ARRAY_SIZE( ppsz_logics_values ),
+    "pi_logics and ppsz_logics_values shall have the same number of elements" );
+
 vlc_module_begin ()
         set_shortname( N_("Adaptive"))
         set_description( N_("Unified adaptive streaming for DASH/HLS") )