From 369017091936fa6fddb70a890e3ea7cec13c21d6 Mon Sep 17 00:00:00 2001 From: Christophe Massiot Date: Thu, 13 Dec 2001 17:35:55 +0000 Subject: [PATCH] Fixed a major bug I introduced lately. --- src/input/mpeg_system.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/input/mpeg_system.c b/src/input/mpeg_system.c index c6aad96b74..7c4afca3ec 100644 --- a/src/input/mpeg_system.c +++ b/src/input/mpeg_system.c @@ -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 * Michel Lespinasse @@ -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 */ -- 2.39.2