]> git.sesse.net Git - vlc/commitdiff
mkv.cpp: more conditional commands + avoid a compiler warning
authorSteve Lhomme <robux@videolan.org>
Wed, 18 May 2005 13:03:15 +0000 (13:03 +0000)
committerSteve Lhomme <robux@videolan.org>
Wed, 18 May 2005 13:03:15 +0000 (13:03 +0000)
modules/demux/mkv.cpp

index f7394c331e1d3cf38580dd80f23eee37617d554c..e50e3173631d1b7c74cc3184febdf410956aa7b9 100644 (file)
@@ -5528,9 +5528,7 @@ bool dvd_command_interpretor_c::Interpret( const binary * p_command, size_t i_si
         uint16 i_cr2;
         switch ( i_command >> 12 )
         {
-        case 0:
-        case 1:
-        case 2:
+        default:
             i_cr1 = p_command[3];
             i_cr2 = (p_command[4] << 8) + p_command[5];
             break;
@@ -5571,6 +5569,14 @@ bool dvd_command_interpretor_c::Interpret( const binary * p_command, size_t i_si
                 b_test_positive = false;
             }
             break;
+        case CMD_DVD_IF_GPREG_NOT_EQUAL:
+            // if not equals
+            msg_Dbg( &sys.demuxer, "IF %s NOT EQUALS %s", GetRegTypeName( false, i_cr1 ).c_str(), GetRegTypeName( b_test_value, i_value ).c_str() );
+            if (!( GetPRM( i_cr1 ) != i_value ))
+            {
+                b_test_positive = false;
+            }
+            break;
         case CMD_DVD_IF_GPREG_INF:
             // if inferior
             msg_Dbg( &sys.demuxer, "IF %s < %s", GetRegTypeName( false, p_command[3] ).c_str(), GetRegTypeName( b_test_value, i_value ).c_str() );
@@ -5579,6 +5585,14 @@ bool dvd_command_interpretor_c::Interpret( const binary * p_command, size_t i_si
                 b_test_positive = false;
             }
             break;
+        case CMD_DVD_IF_GPREG_INF_EQUAL:
+            // if inferior or equal
+            msg_Dbg( &sys.demuxer, "IF %s < %s", GetRegTypeName( false, p_command[3] ).c_str(), GetRegTypeName( b_test_value, i_value ).c_str() );
+            if (!( GetPRM( i_cr1 ) <= i_value ))
+            {
+                b_test_positive = false;
+            }
+            break;
         case CMD_DVD_IF_GPREG_AND:
             // if logical and
             msg_Dbg( &sys.demuxer, "IF %s & %s", GetRegTypeName( false, p_command[3] ).c_str(), GetRegTypeName( b_test_value, i_value ).c_str() );
@@ -5587,6 +5601,14 @@ bool dvd_command_interpretor_c::Interpret( const binary * p_command, size_t i_si
                 b_test_positive = false;
             }
             break;
+        case CMD_DVD_IF_GPREG_SUP:
+            // if superior
+            msg_Dbg( &sys.demuxer, "IF %s >= %s", GetRegTypeName( false, p_command[3] ).c_str(), GetRegTypeName( b_test_value, i_value ).c_str() );
+            if (!( GetPRM( i_cr1 ) > i_value ))
+            {
+                b_test_positive = false;
+            }
+            break;
         case CMD_DVD_IF_GPREG_SUP_EQUAL:
             // if superior or equal
             msg_Dbg( &sys.demuxer, "IF %s >= %s", GetRegTypeName( false, p_command[3] ).c_str(), GetRegTypeName( b_test_value, i_value ).c_str() );