[vlc-commits] commit: Clean up b_access_control usage in TS. (Laurent Aimar )
git at videolan.org
git at videolan.org
Tue Jul 6 13:08:22 CEST 2010
vlc/vlc-1.1 | branch: master | Laurent Aimar <fenrir at videolan.org> | Mon Jun 28 01:21:12 2010 +0200| [4ffd0ef881705d463c1072d33f1f729d51d039ed] | committer: Jean-Baptiste Kempf
Clean up b_access_control usage in TS.
(cherry picked from commit d4c95534b792182ac9f9539456504c5b5782771f)
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=4ffd0ef881705d463c1072d33f1f729d51d039ed
---
modules/demux/ts.c | 31 ++++++++++++++-----------------
1 files changed, 14 insertions(+), 17 deletions(-)
diff --git a/modules/demux/ts.c b/modules/demux/ts.c
index 2ea1a40..63ec362 100644
--- a/modules/demux/ts.c
+++ b/modules/demux/ts.c
@@ -1282,15 +1282,17 @@ static int Control( demux_t *p_demux, int i_query, va_list args )
p_list = (vlc_list_t *)va_arg( args, vlc_list_t * );
msg_Dbg( p_demux, "DEMUX_SET_GROUP %d %p", i_int, p_list );
- if( p_sys->b_access_control && i_int > 0 && i_int != p_sys->i_current_program )
+ if( i_int > 0 )
{
- SetPrgFilter( p_demux, p_sys->i_current_program, false );
+ if( i_int != p_sys->i_current_program )
+ {
+ SetPrgFilter( p_demux, p_sys->i_current_program, false );
- /* select new program */
- p_sys->i_current_program = i_int;
- SetPrgFilter( p_demux, p_sys->i_current_program, true );
+ p_sys->i_current_program = i_int;
+ SetPrgFilter( p_demux, p_sys->i_current_program, true );
+ }
}
- else if( i_int <= 0 )
+ else
{
p_sys->i_current_program = -1;
p_sys->programs_list.i_count = 0;
@@ -2554,8 +2556,6 @@ static bool ProgramIsSelected( demux_t *p_demux, uint16_t i_pgrm )
{
demux_sys_t *p_sys = p_demux->p_sys;
- if( !p_sys->b_access_control )
- return false;
if( ( p_sys->i_current_program == -1 && p_sys->programs_list.i_count == 0 ) ||
p_sys->i_current_program == 0 )
return true;
@@ -3984,7 +3984,7 @@ static void PMTCallBack( demux_t *p_demux, dvbpsi_pmt_t *p_pmt )
/* Set demux filter */
SetPIDFilter( p_demux, prg->i_pid_pcr, true );
}
- else if ( p_sys->b_access_control )
+ else
{
msg_Warn( p_demux, "skipping program (not selected)" );
dvbpsi_DeletePMT(p_pmt);
@@ -4345,16 +4345,13 @@ static void PATCallBack( demux_t *p_demux, dvbpsi_pat_t *p_pat )
p_program->i_pid;
/* Now select PID at access level */
- if( p_sys->b_access_control )
+ if( ProgramIsSelected( p_demux, p_program->i_number ) )
{
- if( ProgramIsSelected( p_demux, p_program->i_number ) )
- {
- if( p_sys->i_current_program == 0 )
- p_sys->i_current_program = p_program->i_number;
+ if( p_sys->i_current_program == 0 )
+ p_sys->i_current_program = p_program->i_number;
- if( SetPIDFilter( p_demux, p_program->i_pid, true ) )
- p_sys->b_access_control = false;
- }
+ if( SetPIDFilter( p_demux, p_program->i_pid, true ) )
+ p_sys->b_access_control = false;
}
}
}
More information about the vlc-commits
mailing list