xine-lib 1.2.11
|
#include "libvcd/info.h"
Go to the source code of this file.
Data Structures | |
struct | vcdplayer_play_item_info_t |
struct | vcdplayer_s |
Macros | |
#define | _(String) (String) |
#define | INPUT_DEBUG 1 |
#define | INPUT_DBG_META 1 /* Meta information */ |
#define | INPUT_DBG_EVENT 2 /* input (keyboard/mouse) events */ |
#define | INPUT_DBG_MRL 4 /* MRL parsing */ |
#define | INPUT_DBG_EXT 8 /* Calls from external routines */ |
#define | INPUT_DBG_CALL 16 /* routine calls */ |
#define | INPUT_DBG_LSN 32 /* LSN changes */ |
#define | INPUT_DBG_PBC 64 /* Playback control */ |
#define | INPUT_DBG_CDIO 128 /* Debugging from CDIO */ |
#define | INPUT_DBG_SEEK_SET 256 /* Seeks to set location */ |
#define | INPUT_DBG_SEEK_CUR 512 /* Seeks to find current location */ |
#define | INPUT_DBG_STILL 1024 /* Still-frame */ |
#define | INPUT_DBG_VCDINFO 2048 /* Debugging from VCDINFO */ |
#define | VCDPLAYER_IN_STILL 65535 |
#define | STILL_INDEFINITE_WAIT 3000 |
#define | STILL_READING -5 |
Typedefs | |
typedef int(* | debug_fn) (void *user_data, unsigned int mask, const char *fmt,...) |
typedef struct vcdplayer_s | vcdplayer_t |
Enumerations | |
enum | vcdplayer_slider_length_t { VCDPLAYER_SLIDER_LENGTH_AUTO , VCDPLAYER_SLIDER_LENGTH_TRACK , VCDPLAYER_SLIDER_LENGTH_ENTRY } |
enum | vcdplayer_autoplay_t { VCDPLAYER_AUTOPLAY_TRACK = VCDINFO_ITEM_TYPE_TRACK , VCDPLAYER_AUTOPLAY_ENTRY = VCDINFO_ITEM_TYPE_ENTRY , VCDPLAYER_AUTOPLAY_SEGMENT = VCDINFO_ITEM_TYPE_SEGMENT , VCDPLAYER_AUTOPLAY_PBC = VCDINFO_ITEM_TYPE_LID } |
enum | vcdplayer_read_status_t { READ_BLOCK , READ_STILL_FRAME , READ_ERROR , READ_END } |
Functions | |
bool | vcdplayer_pbc_is_on (const vcdplayer_t *p_vcdplayer) |
char * | vcdplayer_format_str (vcdplayer_t *p_vcdplayer, const char format_str[]) |
void | vcdplayer_update_nav (vcdplayer_t *p_vcdplayer) |
void | vcdplayer_update_title_display (vcdplayer_t *p_vcdplayer) |
void | vcdplayer_play (vcdplayer_t *p_vcdplayer, vcdinfo_itemid_t itemid) |
bool | vcdplayer_open (vcdplayer_t *p_vcdplayer, char *intended_vcd_device) |
vcdplayer_read_status_t | vcdplayer_read (vcdplayer_t *p_vcdplayer, uint8_t *p_buf, const off_t nlen) |
off_t | vcdplayer_seek (vcdplayer_t *p_vcdplayer, off_t offset, int origin) |
void | vcdplayer_send_button_update (vcdplayer_t *p_vcdplayer, int mode) |
#define _ | ( | String | ) | (String) |
#define INPUT_DBG_CALL 16 /* routine calls */ |
#define INPUT_DBG_CDIO 128 /* Debugging from CDIO */ |
#define INPUT_DBG_EVENT 2 /* input (keyboard/mouse) events */ |
#define INPUT_DBG_EXT 8 /* Calls from external routines */ |
#define INPUT_DBG_LSN 32 /* LSN changes */ |
#define INPUT_DBG_META 1 /* Meta information */ |
#define INPUT_DBG_MRL 4 /* MRL parsing */ |
#define INPUT_DBG_PBC 64 /* Playback control */ |
#define INPUT_DBG_SEEK_CUR 512 /* Seeks to find current location */ |
#define INPUT_DBG_SEEK_SET 256 /* Seeks to set location */ |
#define INPUT_DBG_STILL 1024 /* Still-frame */ |
#define INPUT_DBG_VCDINFO 2048 /* Debugging from VCDINFO */ |
#define INPUT_DEBUG 1 |
#define STILL_INDEFINITE_WAIT 3000 |
#define STILL_READING -5 |
#define VCDPLAYER_IN_STILL 65535 |
typedef int(* debug_fn) (void *user_data, unsigned int mask, const char *fmt,...) |
typedef struct vcdplayer_s vcdplayer_t |
enum vcdplayer_autoplay_t |
char * vcdplayer_format_str | ( | vcdplayer_t * | p_vcdplayer, |
const char | format_str[] | ||
) |
Take a format string and expand escape sequences, that is sequences that begin with %, with information from the current VCD. The expanded string is returned. Here is a list of escape sequences:
A : The album information C : The VCD volume count - the number of CD's in the collection. c : The VCD volume num - the number of the CD in the collection. F : The VCD Format, e.g. VCD 1.0, VCD 1.1, VCD 2.0, or SVCD I : The current entry/segment/playback type, e.g. ENTRY, TRACK, SEGMENT... L : The playlist ID prefixed with " LID" if it exists N : The current number of the above - a decimal number P : The publisher ID p : The preparer ID V : The volume set ID v : The volume ID A number between 1 and the volume count. %% : a %
Take a format string and expand escape sequences, that is sequences that begin with %, with information from the current VCD. The expanded string is returned. Here is a list of escape sequences:
A : The album information C : The VCD volume count - the number of CD's in the collection. c : The VCD volume num - the number of the CD in the collection. F : The VCD Format, e.g. VCD 1.0, VCD 1.1, VCD 2.0, or SVCD I : The current entry/segment/playback type, e.g. ENTRY, TRACK, SEGMENT... L : The playlist ID prefixed with " LID" if it exists N : The current number of the above - a decimal number P : The publisher ID p : The preparer ID S : If we are in a segment (menu), the kind of segment T : The track number V : The volume set ID v : The volume ID A number between 1 and the volume count. %% : a %
References add_format_num_info, add_format_str_info, vcdplayer_s::i_lid, vcdplayer_s::i_track, vcdplayer_s::play_item, TEMP_STR_LEN, TEMP_STR_SIZE, vcdplayer_s::vcd, and vcdplayer_pbc_is_on().
Referenced by vcd_set_meta_info(), and vcd_update_title_display().
bool vcdplayer_open | ( | vcdplayer_t * | p_vcdplayer, |
char * | intended_vcd_device | ||
) |
bool vcdplayer_pbc_is_on | ( | const vcdplayer_t * | p_vcdplayer | ) |
Return true if playback control (PBC) is on
References vcdplayer_s::i_lid.
Referenced by vcd_handle_events(), vcd_plugin_get_mrl(), vcdio_seek(), vcdplayer_format_str(), vcdplayer_play(), vcdplayer_read(), and vcdplayer_update_nav().
void vcdplayer_play | ( | vcdplayer_t * | p_vcdplayer, |
vcdinfo_itemid_t | itemid | ||
) |
Play title part. If part is -1, use the first title.
References _vcdplayer_inc_play_item(), dbg_print, vcdplayer_s::i_lid, vcdplayer_s::i_loop, INPUT_DBG_CALL, vcdplayer_s::loop_item, NULL, vcdplayer_s::pdi, vcdplayer_s::pxd, vcdplayer_s::vcd, vcdplayer_pbc_is_on(), and vcdplayer_play_single_item().
Referenced by vcd_class_get_instance(), vcd_handle_events(), and vcdplayer_pbc_nav().
vcdplayer_read_status_t vcdplayer_read | ( | vcdplayer_t * | p_vcdplayer, |
uint8_t * | p_buf, | ||
const off_t | i_len | ||
) |
Read nlen bytes into buf and return the status back.
Read i_len bytes into buf and return the status back.
This routine is a bit complicated because on reaching the end of a track or entry we may automatically advance to the item, or interpret the next item in the playback-control list.
References dbg_print, vcdplayer_s::end_lsn, vcdplayer_s::i_lsn, vcdplayer_s::i_still, INPUT_DBG_LSN, INPUT_DBG_PBC, READ_BLOCK, READ_ERROR, READ_STILL_FRAME, vcdplayer_s::vcd, vcdplayer_non_pbc_nav(), vcdplayer_pbc_is_on(), and vcdplayer_pbc_nav().
Referenced by vcd_plugin_read_block().
off_t vcdplayer_seek | ( | vcdplayer_t * | p_vcdplayer, |
off_t | offset, | ||
int | origin | ||
) |
seek position, return new position
if seeking failed, -1 is returned
void vcdplayer_send_button_update | ( | vcdplayer_t * | p_vcdplayer, |
int | mode | ||
) |
Get the number of tracks or titles of the VCD. The result is stored in "titles".
References mode().
Referenced by vcd_handle_events().
void vcdplayer_update_nav | ( | vcdplayer_t * | p_vcdplayer | ) |
Update next/prev/return/default navigation buttons.
Update next/prev/return/default navigation buttons (via p_vcdplayer->i_lid). Update size of play-item (via p_vcdplayer->play_item).
References _vcdplayer_set_origin(), _vcdplayer_update_entry(), vcdplayer_s::default_entry, vcdplayer_s::end_lsn, vcdplayer_s::i_entries, vcdplayer_s::i_lid, vcdplayer_s::i_lsn, vcdplayer_s::i_segments, vcdplayer_s::i_track, vcdplayer_s::i_tracks, vcdplayer_s::next_entry, NULL, vcdplayer_s::origin_lsn, vcdplayer_s::play_item, vcdplayer_s::prev_entry, vcdplayer_s::pxd, vcdplayer_s::return_entry, vcdplayer_s::track_lsn, vcdplayer_s::update_title, vcdplayer_s::user_data, vcdplayer_s::vcd, and vcdplayer_pbc_is_on().
Referenced by vcdplayer_non_pbc_nav(), and vcdplayer_play_single_item().
void vcdplayer_update_title_display | ( | vcdplayer_t * | p_vcdplayer | ) |
Update the player title text.