xine-lib 1.2.11
Data Structures | Macros | Typedefs | Enumerations | Functions
vcdplayer.h File Reference
#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)
 

Macro Definition Documentation

◆ _

#define _ (   String)    (String)

◆ INPUT_DBG_CALL

#define INPUT_DBG_CALL   16 /* routine calls */

◆ INPUT_DBG_CDIO

#define INPUT_DBG_CDIO   128 /* Debugging from CDIO */

◆ INPUT_DBG_EVENT

#define INPUT_DBG_EVENT   2 /* input (keyboard/mouse) events */

◆ INPUT_DBG_EXT

#define INPUT_DBG_EXT   8 /* Calls from external routines */

◆ INPUT_DBG_LSN

#define INPUT_DBG_LSN   32 /* LSN changes */

◆ INPUT_DBG_META

#define INPUT_DBG_META   1 /* Meta information */

◆ INPUT_DBG_MRL

#define INPUT_DBG_MRL   4 /* MRL parsing */

◆ INPUT_DBG_PBC

#define INPUT_DBG_PBC   64 /* Playback control */

◆ INPUT_DBG_SEEK_CUR

#define INPUT_DBG_SEEK_CUR   512 /* Seeks to find current location */

◆ INPUT_DBG_SEEK_SET

#define INPUT_DBG_SEEK_SET   256 /* Seeks to set location */

◆ INPUT_DBG_STILL

#define INPUT_DBG_STILL   1024 /* Still-frame */

◆ INPUT_DBG_VCDINFO

#define INPUT_DBG_VCDINFO   2048 /* Debugging from VCDINFO */

◆ INPUT_DEBUG

#define INPUT_DEBUG   1

◆ STILL_INDEFINITE_WAIT

#define STILL_INDEFINITE_WAIT   3000

◆ STILL_READING

#define STILL_READING   -5

◆ VCDPLAYER_IN_STILL

#define VCDPLAYER_IN_STILL   65535

Typedef Documentation

◆ debug_fn

typedef int(* debug_fn) (void *user_data, unsigned int mask, const char *fmt,...)

◆ vcdplayer_t

typedef struct vcdplayer_s vcdplayer_t

Enumeration Type Documentation

◆ vcdplayer_autoplay_t

Enumerator
VCDPLAYER_AUTOPLAY_TRACK 
VCDPLAYER_AUTOPLAY_ENTRY 
VCDPLAYER_AUTOPLAY_SEGMENT 
VCDPLAYER_AUTOPLAY_PBC 

◆ vcdplayer_read_status_t

Enumerator
READ_BLOCK 
READ_STILL_FRAME 
READ_ERROR 
READ_END 

◆ vcdplayer_slider_length_t

Enumerator
VCDPLAYER_SLIDER_LENGTH_AUTO 
VCDPLAYER_SLIDER_LENGTH_TRACK 
VCDPLAYER_SLIDER_LENGTH_ENTRY 

Function Documentation

◆ vcdplayer_format_str()

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().

◆ vcdplayer_open()

bool vcdplayer_open ( vcdplayer_t p_vcdplayer,
char *  intended_vcd_device 
)

◆ vcdplayer_pbc_is_on()

bool vcdplayer_pbc_is_on ( const vcdplayer_t p_vcdplayer)

◆ vcdplayer_play()

void vcdplayer_play ( vcdplayer_t p_vcdplayer,
vcdinfo_itemid_t  itemid 
)

◆ vcdplayer_read()

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().

◆ vcdplayer_seek()

off_t vcdplayer_seek ( vcdplayer_t p_vcdplayer,
off_t  offset,
int  origin 
)

seek position, return new position

if seeking failed, -1 is returned

◆ vcdplayer_send_button_update()

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().

◆ vcdplayer_update_nav()

void vcdplayer_update_nav ( vcdplayer_t p_vcdplayer)

◆ vcdplayer_update_title_display()

void vcdplayer_update_title_display ( vcdplayer_t p_vcdplayer)

Update the player title text.