X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faccess%2Fvcdx%2Finfo.c;h=5d3d16f71b92532c028ed823f2e4e987c6241433;hb=49ab2f56bf3809a18933baac3297e512fc115169;hp=aea381d8beaf4db185cae8ff632e5d060319a0d5;hpb=7b6d33911304c0a8171957062652ee94fa3a0cc2;p=vlc diff --git a/modules/access/vcdx/info.c b/modules/access/vcdx/info.c index aea381d8be..5d3d16f71b 100644 --- a/modules/access/vcdx/info.c +++ b/modules/access/vcdx/info.c @@ -1,8 +1,8 @@ /***************************************************************************** * info.c : CD digital audio input information routines ***************************************************************************** - * Copyright (C) 2004 VideoLAN - * $Id: info.c 8845 2004-09-29 09:00:41Z rocky $ + * Copyright (C) 2004 the VideoLAN team + * $Id$ * * Authors: Rocky Bernstein * @@ -18,15 +18,18 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#include -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif +#include +#include +#include #include "vcd.h" -#include -#include "vlc_keys.h" +#include #include "info.h" #include @@ -44,7 +47,7 @@ MetaInfoAddStr(access_t *p_access, char *psz_cat, if ( psz ) { dbg_print( INPUT_DBG_META, "cat %s, field: %s: %s", psz_cat, title, psz); input_Control( p_vcdplayer->p_input, INPUT_ADD_INFO, psz_cat, title, "%s", - psz); + psz); } } @@ -54,8 +57,8 @@ MetaInfoAddNum(access_t *p_access, char *psz_cat, char *title, int num) { vcdplayer_t *p_vcdplayer = (vcdplayer_t *) p_access->p_sys; dbg_print( INPUT_DBG_META, "cat %s, field %s: %d", psz_cat, title, num); - input_Control( p_vcdplayer->p_input, INPUT_ADD_INFO, psz_cat, title, - "%d", num ); + input_Control( p_vcdplayer->p_input, INPUT_ADD_INFO, psz_cat, title, + "%d", num ); } static inline void @@ -63,8 +66,8 @@ MetaInfoAddHex(access_t *p_access, char *psz_cat, char *title, int hex) { vcdplayer_t *p_vcdplayer = (vcdplayer_t *) p_access->p_sys; dbg_print( INPUT_DBG_META, "cat %s, field %s: %d", psz_cat, title, hex); - input_Control( p_vcdplayer->p_input, INPUT_ADD_INFO, psz_cat, title, - "%x", hex ); + input_Control( p_vcdplayer->p_input, INPUT_ADD_INFO, psz_cat, title, + "%x", hex ); } #define addstr(title, str) \ @@ -76,7 +79,7 @@ MetaInfoAddHex(access_t *p_access, char *psz_cat, char *title, int hex) #define addhex(title, hex) \ MetaInfoAddHex( p_access, psz_cat, title, hex ); -void +void VCDMetaInfo( access_t *p_access, /*const*/ char *psz_mrl ) { vcdplayer_t *p_vcdplayer = (vcdplayer_t *) p_access->p_sys; @@ -108,23 +111,25 @@ VCDMetaInfo( access_t *p_access, /*const*/ char *psz_mrl ) #define TITLE_MAX 30 for( i_track = 1 ; i_track < p_vcdplayer->i_tracks ; i_track++ ) { - unsigned int audio_type = vcdinfo_get_track_audio_type(p_vcdplayer->vcd, - i_track); + char psz_cat[20]; + unsigned int audio_type = vcdinfo_get_track_audio_type(p_vcdplayer->vcd, + i_track); uint32_t i_secsize = vcdinfo_get_track_sect_count(p_vcdplayer->vcd, i_track); + snprintf(psz_cat, sizeof(psz_cat), "Track %d", i_track); if (p_vcdplayer->b_svd) { - addnum(_("Audio Channels"), - vcdinfo_audio_type_num_channels(p_vcdplayer->vcd, audio_type) ); + addnum(_("Audio Channels"), + vcdinfo_audio_type_num_channels(p_vcdplayer->vcd, audio_type) ); } addnum(_("First Entry Point"), last_entry ); - for ( ; last_entry < i_entries - && vcdinfo_get_track(p_vcdplayer->vcd, last_entry) == i_track; - last_entry++ ) ; + for ( ; last_entry < i_entries + && vcdinfo_get_track(p_vcdplayer->vcd, last_entry) == i_track; + last_entry++ ) ; addnum(_("Last Entry Point"), last_entry-1 ); addnum(_("Track size (in sectors)"), i_secsize ); } - + { lid_t i_lid; for( i_lid = 1 ; i_lid <= p_vcdplayer->i_lids ; i_lid++ ) { @@ -132,80 +137,81 @@ VCDMetaInfo( access_t *p_access, /*const*/ char *psz_mrl ) char psz_cat[20]; snprintf(psz_cat, sizeof(psz_cat), "LID %d", i_lid); if (vcdinfo_lid_get_pxd(p_vcdplayer->vcd, &pxd, i_lid)) { - switch (pxd.descriptor_type) { - case PSD_TYPE_END_LIST: - addstr(_("type"), _("end")); - break; - case PSD_TYPE_PLAY_LIST: - addstr(_("type"), _("play list")); - addnum("items", vcdinf_pld_get_noi(pxd.pld)); - addhex("next", vcdinf_pld_get_next_offset(pxd.pld)); - addhex("previous", vcdinf_pld_get_prev_offset(pxd.pld)); - addhex("return", vcdinf_pld_get_return_offset(pxd.pld)); - addnum("wait time", vcdinf_get_wait_time(pxd.pld)); - break; - case PSD_TYPE_SELECTION_LIST: - case PSD_TYPE_EXT_SELECTION_LIST: - addstr(_("type"), - PSD_TYPE_SELECTION_LIST == pxd.descriptor_type - ? _("extended selection list") - : _("selection list") - ); - addhex("default", vcdinf_psd_get_default_offset(pxd.psd)); - addhex("loop count", vcdinf_get_loop_count(pxd.psd)); - addhex("next", vcdinf_psd_get_next_offset(pxd.psd)); - addhex("previous", vcdinf_psd_get_prev_offset(pxd.psd)); - addhex("return", vcdinf_psd_get_return_offset(pxd.psd)); - addhex("rejected", vcdinf_psd_get_lid_rejected(pxd.psd)); - addhex("time-out offset", vcdinf_get_timeout_offset(pxd.psd)); - addnum("time-out time", vcdinf_get_timeout_time(pxd.psd)); - break; - default: - addstr(_("type"), _("unknown type")); - break; - } + switch (pxd.descriptor_type) { + case PSD_TYPE_END_LIST: + addstr(_("type"), _("end")); + break; + case PSD_TYPE_PLAY_LIST: + addstr(_("type"), _("play list")); + addnum("items", vcdinf_pld_get_noi(pxd.pld)); + addhex("next", vcdinf_pld_get_next_offset(pxd.pld)); + addhex("previous", vcdinf_pld_get_prev_offset(pxd.pld)); + addhex("return", vcdinf_pld_get_return_offset(pxd.pld)); + addnum("wait time", vcdinf_get_wait_time(pxd.pld)); + break; + case PSD_TYPE_SELECTION_LIST: + case PSD_TYPE_EXT_SELECTION_LIST: + addstr(_("type"), + PSD_TYPE_SELECTION_LIST == pxd.descriptor_type + ? _("extended selection list") + : _("selection list") + ); + addhex("default", vcdinf_psd_get_default_offset(pxd.psd)); + addhex("loop count", vcdinf_get_loop_count(pxd.psd)); + addhex("next", vcdinf_psd_get_next_offset(pxd.psd)); + addhex("previous", vcdinf_psd_get_prev_offset(pxd.psd)); + addhex("return", vcdinf_psd_get_return_offset(pxd.psd)); + addhex("rejected", vcdinf_psd_get_lid_rejected(pxd.psd)); + addhex("time-out offset", vcdinf_get_timeout_offset(pxd.psd)); + addnum("time-out time", vcdinf_get_timeout_time(pxd.psd)); + break; + default: + addstr(_("type"), _("unknown type")); + break; + } } } } if ( CDIO_INVALID_TRACK != i_track ) - { - char *psz_name = - VCDFormatStr( p_access, p_vcdplayer, - config_GetPsz( p_access, MODULE_STRING "-title-format" ), - psz_mrl, &(p_vcdplayer->play_item) ); - + { + char* psz_title_format = config_GetPsz( p_access, MODULE_STRING "-title-format" ); + char *psz_name = + VCDFormatStr( p_access, p_vcdplayer, psz_title_format, psz_mrl, + &(p_vcdplayer->play_item) ); + free( psz_title_format ); + input_Control( p_vcdplayer->p_input, INPUT_SET_NAME, psz_name ); } } -#define add_format_str_info(val) \ - { \ - const char *str = val; \ - unsigned int len; \ - if (val != NULL) { \ - len=strlen(str); \ - if (len != 0) { \ - strncat(tp, str, TEMP_STR_LEN-(tp-temp_str)); \ - tp += len; \ +#define add_format_str_info(val) \ + { \ + const char *str = strdup(val); \ + unsigned int len; \ + if (val != NULL) { \ + len=strlen(str); \ + if (len != 0) { \ + strncat(tp, str, TEMP_STR_LEN-(tp-temp_str)); \ + tp += len; \ } \ - saw_control_prefix = VLC_FALSE; \ - } \ + saw_control_prefix = false; \ + } \ } -#define add_format_num_info( val, fmt ) \ - { \ - char num_str[10]; \ - unsigned int len; \ +#define add_format_num_info( val, fmt ) \ + { \ + char num_str[10]; \ + unsigned int len; \ sprintf(num_str, fmt, val); \ - len = strlen(num_str); \ + len = strlen(num_str); \ if( len != 0 ) \ - { \ + { \ strncat(tp, num_str, TEMP_STR_LEN-(tp-temp_str)); \ - tp += len; \ - } \ - saw_control_prefix = VLC_FALSE; \ + tp += len; \ + } \ + saw_control_prefix = false; \ } /*! @@ -240,7 +246,7 @@ VCDFormatStr(const access_t *p_access, vcdplayer_t *p_vcdplayer, static char temp_str[TEMP_STR_SIZE]; size_t i; char * tp = temp_str; - vlc_bool_t saw_control_prefix = VLC_FALSE; + bool saw_control_prefix = false; size_t format_len = strlen(format_str); memset(temp_str, 0, TEMP_STR_SIZE); @@ -249,7 +255,7 @@ VCDFormatStr(const access_t *p_access, vcdplayer_t *p_vcdplayer, if (!saw_control_prefix && format_str[i] != '%') { *tp++ = format_str[i]; - saw_control_prefix = VLC_FALSE; + saw_control_prefix = false; continue; } @@ -304,7 +310,7 @@ VCDFormatStr(const access_t *p_access, vcdplayer_t *p_vcdplayer, /* What to do? */ ; } - saw_control_prefix = VLC_FALSE; + saw_control_prefix = false; } break; @@ -315,7 +321,7 @@ VCDFormatStr(const access_t *p_access, vcdplayer_t *p_vcdplayer, strncat(tp, num_str, TEMP_STR_LEN-(tp-temp_str)); tp += strlen(num_str); } - saw_control_prefix = VLC_FALSE; + saw_control_prefix = false; break; case 'M': @@ -343,7 +349,7 @@ VCDFormatStr(const access_t *p_access, vcdplayer_t *p_vcdplayer, strncat(tp, seg_type_str, TEMP_STR_LEN-(tp-temp_str)); tp += strlen(seg_type_str); } - saw_control_prefix = VLC_FALSE; + saw_control_prefix = false; break; case 'T': @@ -361,7 +367,7 @@ VCDFormatStr(const access_t *p_access, vcdplayer_t *p_vcdplayer, default: *tp++ = '%'; *tp++ = format_str[i]; - saw_control_prefix = VLC_FALSE; + saw_control_prefix = false; } } return strdup(temp_str); @@ -369,25 +375,25 @@ VCDFormatStr(const access_t *p_access, vcdplayer_t *p_vcdplayer, void VCDUpdateTitle( access_t *p_access ) -{ +{ vcdplayer_t *p_vcdplayer= (vcdplayer_t *)p_access->p_sys; - unsigned int psz_mrl_max = strlen(VCD_MRL_PREFIX) + unsigned int psz_mrl_max = strlen(VCD_MRL_PREFIX) + strlen(p_vcdplayer->psz_source) + sizeof("@E999")+3; char *psz_mrl = malloc( psz_mrl_max ); - if( psz_mrl ) + if( psz_mrl ) { char *psz_name; - snprintf(psz_mrl, psz_mrl_max, "%s%s", - VCD_MRL_PREFIX, p_vcdplayer->psz_source); - psz_name = VCDFormatStr( p_access, p_vcdplayer, - config_GetPsz( p_access, MODULE_STRING - "-title-format" ), - psz_mrl, &(p_vcdplayer->play_item) ); - input_Control( p_vcdplayer->p_input, INPUT_SET_NAME, psz_name ); - free(psz_mrl); + char* psz_title_format = config_GetPsz( p_access, MODULE_STRING "-title-format" ); + snprintf( psz_mrl, psz_mrl_max, "%s%s", + VCD_MRL_PREFIX, p_vcdplayer->psz_source ); + psz_name = VCDFormatStr( p_access, p_vcdplayer, psz_title_format, psz_mrl, + &(p_vcdplayer->play_item) ); + input_Control( p_vcdplayer->p_input, INPUT_SET_NAME, psz_name ); + free( psz_title_format ); + free(psz_mrl); } }