From 7b5b08e3c744f3f8c08b27dcc02a1c1b53ad30d1 Mon Sep 17 00:00:00 2001 From: Pierre d'Herbemont Date: Thu, 25 Feb 2010 23:53:08 +0100 Subject: [PATCH] libvlc: Use a union for libvlc_media_track_info_t. --- include/vlc/libvlc_media.h | 19 ++++++++++++------- src/control/media.c | 12 ++++-------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/include/vlc/libvlc_media.h b/include/vlc/libvlc_media.h index e1a8e8b955..52de810d2b 100644 --- a/include/vlc/libvlc_media.h +++ b/include/vlc/libvlc_media.h @@ -154,13 +154,18 @@ typedef struct libvlc_media_track_info_t int i_profile; int i_level; - /* Audio specific */ - unsigned i_channels; - unsigned i_rate; - - /* Video specific */ - unsigned i_height; - unsigned i_width; + union { + struct { + /* Audio specific */ + unsigned i_channels; + unsigned i_rate; + } audio; + struct { + /* Video specific */ + unsigned i_height; + unsigned i_width; + } video; + } u; } libvlc_media_track_info_t; diff --git a/src/control/media.c b/src/control/media.c index 1e8675b0c3..3fad99e283 100644 --- a/src/control/media.c +++ b/src/control/media.c @@ -703,10 +703,6 @@ libvlc_media_get_tracks_info( libvlc_media_t *p_md, libvlc_media_track_info_t ** libvlc_media_track_info_t *p_mes = *pp_es+i; const es_format_t *p_es = p_input_item->es[i]; - p_mes->i_channels = p_mes->i_rate = 0; - p_mes->i_width = p_mes->i_height = 0; - - p_mes->i_codec = p_es->i_codec; p_mes->i_id = p_es->i_id; @@ -721,13 +717,13 @@ libvlc_media_get_tracks_info( libvlc_media_t *p_md, libvlc_media_track_info_t ** break; case VIDEO_ES: p_mes->i_type = libvlc_track_video; - p_mes->i_height = p_es->video.i_height; - p_mes->i_width = p_es->video.i_width; + p_mes->u.video.i_height = p_es->video.i_height; + p_mes->u.video.i_width = p_es->video.i_width; break; case AUDIO_ES: p_mes->i_type = libvlc_track_audio; - p_mes->i_channels = p_es->audio.i_channels; - p_mes->i_rate = p_es->audio.i_rate; + p_mes->u.audio.i_channels = p_es->audio.i_channels; + p_mes->u.audio.i_rate = p_es->audio.i_rate; break; case SPU_ES: p_mes->i_type = libvlc_track_text; -- 2.39.2