+
+ {
+ lid_t i_lid;
+ for( i_lid = 1 ; i_lid <= p_vcdplayer->i_lids ; i_lid++ ) {
+ PsdListDescriptor_t pxd;
+ if (vcdinfo_lid_get_pxd(p_vcdev, &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;
+ }
+ }
+ }
+ }
+# undef addstr
+# undef addnum
+# undef addhex