]> git.sesse.net Git - vlc/commitdiff
Fixed a major bug I introduced lately.
authorChristophe Massiot <massiot@videolan.org>
Thu, 13 Dec 2001 17:35:55 +0000 (17:35 +0000)
committerChristophe Massiot <massiot@videolan.org>
Thu, 13 Dec 2001 17:35:55 +0000 (17:35 +0000)
src/input/mpeg_system.c

index c6aad96b7458c1e18bcc362d5932e6cfa9630ed6..7c4afca3ec4e5fc1bfd7de01f5282dcc2c7cb0b6 100644 (file)
@@ -2,7 +2,7 @@
  * mpeg_system.c: TS, PS and PES management
  *****************************************************************************
  * Copyright (C) 1998-2001 VideoLAN
- * $Id: mpeg_system.c,v 1.69.2.1 2001/12/11 13:56:18 massiot Exp $
+ * $Id: mpeg_system.c,v 1.69.2.2 2001/12/13 17:35:55 massiot Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *          Michel Lespinasse <walken@via.ecp.fr>
@@ -1336,9 +1336,9 @@ static void input_DecodePAT( input_thread_t * p_input, es_descriptor_t * p_es )
     
             for( i_loop = 0; i_loop < (i_section_length - 9) / 4 ; i_loop++ )
             {
-                i_program_id = ( *(u32 *)(p_current_data + i_loop * 4 + 8) << 8 ) |
+                i_program_id = ( (u32)*(p_current_data + i_loop * 4 + 8) << 8 ) |
                                  *(p_current_data + i_loop * 4 + 9);
-                i_pmt_pid = ( (*(u32 *)( p_current_data + i_loop * 4 + 10) & 0x1F)
+                i_pmt_pid = ( ((u32)*( p_current_data + i_loop * 4 + 10) & 0x1F)
                                     << 8 ) |
                                *( p_current_data + i_loop * 4 + 11);
     
@@ -1412,7 +1412,7 @@ static void input_DecodePMT( input_thread_t * p_input, es_descriptor_t * p_es )
         p_current_section = p_psi->buffer;
         p_current_data = p_psi->buffer;
 
-        p_pgrm_data->i_pcr_pid = ( (*(u32 *)(p_current_section + 8) & 0x1F) << 8 ) |
+        p_pgrm_data->i_pcr_pid = ( ((u32)*(p_current_section + 8) & 0x1F) << 8 ) |
                                     *(p_current_section + 9);
 
         i_audio_es = 0;
@@ -1465,10 +1465,10 @@ static void input_DecodePMT( input_thread_t * p_input, es_descriptor_t * p_es )
         /* Then add what we received in this PMT */
         do
         {
-            i_section_length = ( (*(u32 *)(p_current_data + 1) & 0xF) << 8 ) |
+            i_section_length = ( ((u32)*(p_current_data + 1) & 0xF) << 8 ) |
                                   *(p_current_data + 2);
             i_current_section = (u8)p_current_data[6];
-            i_prog_info_length = ( (*(u32 *)(p_current_data + 10) & 0xF) << 8 ) |
+            i_prog_info_length = ( ((u32)*(p_current_data + 10) & 0xF) << 8 ) |
                                     *(p_current_data + 11);
 
             /* For the moment we ignore program descriptors */
@@ -1479,9 +1479,9 @@ static void input_DecodePMT( input_thread_t * p_input, es_descriptor_t * p_es )
             while( p_current_data < p_current_section + i_section_length -1 )
             {
                 i_stream_type = (int)p_current_data[0];
-                i_pid = ( (*(u32 *)(p_current_data + 1) & 0x1F) << 8 ) |
+                i_pid = ( ((u32)*(p_current_data + 1) & 0x1F) << 8 ) |
                            *(p_current_data + 2);
-                i_es_info_length = ( (*(u32 *)(p_current_data + 3) & 0xF) << 8 ) |
+                i_es_info_length = ( ((u32)*(p_current_data + 3) & 0xF) << 8 ) |
                                       *(p_current_data + 4);
                 
                 /* Add this ES to the program */