[vlc-commits] es_out: remove invalid NULL pointer arithmetic
Rémi Denis-Courmont
git at videolan.org
Sun Sep 3 10:54:27 CEST 2017
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Sep 3 10:50:41 2017 +0300| [b5f4af99142f31c8f50f08edaaee6dc5e643132c] | committer: Rémi Denis-Courmont
es_out: remove invalid NULL pointer arithmetic
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b5f4af99142f31c8f50f08edaaee6dc5e643132c
---
src/input/es_out.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/input/es_out.c b/src/input/es_out.c
index 0ec29b25a9..33e10eed87 100644
--- a/src/input/es_out.c
+++ b/src/input/es_out.c
@@ -413,12 +413,14 @@ static mtime_t EsOutGetWakeup( es_out_t *out )
return input_clock_GetWakeup( p_sys->p_pgrm->p_clock );
}
+static es_out_id_t es_cat[DATA_ES];
+
static es_out_id_t *EsOutGetFromID( es_out_t *out, int i_id )
{
if( i_id < 0 )
{
/* Special HACK, -i_id is the cat of the stream */
- return (es_out_id_t*)((uint8_t*)NULL-i_id);
+ return es_cat - i_id;
}
for( int i = 0; i < out->p_sys->i_es; i++ )
@@ -2288,11 +2290,11 @@ static int EsOutControlLocked( es_out_t *out, int i_query, va_list args )
enum es_format_category_e i_cat;
if( es == NULL )
i_cat = UNKNOWN_ES;
- else if( es == (es_out_id_t*)((uint8_t*)NULL+AUDIO_ES) )
+ else if( es == es_cat + AUDIO_ES )
i_cat = AUDIO_ES;
- else if( es == (es_out_id_t*)((uint8_t*)NULL+VIDEO_ES) )
+ else if( es == es_cat + VIDEO_ES )
i_cat = VIDEO_ES;
- else if( es == (es_out_id_t*)((uint8_t*)NULL+SPU_ES) )
+ else if( es == es_cat + SPU_ES )
i_cat = SPU_ES;
else
i_cat = IGNORE_ES;
@@ -2351,15 +2353,15 @@ static int EsOutControlLocked( es_out_t *out, int i_query, va_list args )
/*p_sys->i_default_audio_id = -1;*/
p_sys->sub.i_demux_id = -1;
}
- else if( es == (es_out_id_t*)((uint8_t*)NULL+AUDIO_ES) )
+ else if( es == es_cat + AUDIO_ES )
{
/*p_sys->i_default_video_id = -1;*/
}
- else if( es == (es_out_id_t*)((uint8_t*)NULL+VIDEO_ES) )
+ else if( es == es_cat + VIDEO_ES )
{
/*p_sys->i_default_audio_id = -1;*/
}
- else if( es == (es_out_id_t*)((uint8_t*)NULL+SPU_ES) )
+ else if( es == es_cat + SPU_ES )
{
p_sys->sub.i_demux_id = -1;
}
More information about the vlc-commits
mailing list