Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
dvdnav.h File Reference
#include "dvd_types.h"
#include "dvd_reader.h"
#include "nav_types.h"
#include "ifo_types.h"
#include "dvdnav_events.h"

Macros

#define MP_DVDNAV   1
 
#define DVDNAV_STATUS_ERR   0
 
#define DVDNAV_STATUS_OK   1
 
#define DVDNAV_FORMAT_AC3   0
 
#define DVDNAV_FORMAT_MPEGAUDIO   3
 
#define DVDNAV_FORMAT_LPCM   4
 
#define DVDNAV_FORMAT_DTS   5
 
#define DVDNAV_FORMAT_SDDS   6
 
#define HAVE_GET_AUDIO_ATTR
 
#define HAVE_GET_SPU_ATTR
 

Typedefs

typedef struct dvdnav_s dvdnav_t
 
typedef int32_t dvdnav_status_t
 
typedef dvd_reader_stream_cb dvdnav_stream_cb
 

Functions

dvdnav_status_t dvdnav_open (dvdnav_t **dest, const char *path)
 
dvdnav_status_t dvdnav_open_stream (dvdnav_t **dest, void *stream, dvdnav_stream_cb *stream_cb)
 
dvdnav_status_t dvdnav_close (dvdnav_t *self)
 
dvdnav_status_t dvdnav_reset (dvdnav_t *self)
 
dvdnav_status_t dvdnav_path (dvdnav_t *self, const char **path)
 
const char * dvdnav_err_to_string (dvdnav_t *self)
 
dvdnav_status_t dvdnav_set_region_mask (dvdnav_t *self, int32_t region_mask)
 
dvdnav_status_t dvdnav_get_region_mask (dvdnav_t *self, int32_t *region_mask)
 
dvdnav_status_t dvdnav_set_readahead_flag (dvdnav_t *self, int32_t read_ahead_flag)
 
dvdnav_status_t dvdnav_get_readahead_flag (dvdnav_t *self, int32_t *read_ahead_flag)
 
dvdnav_status_t dvdnav_set_PGC_positioning_flag (dvdnav_t *self, int32_t pgc_based_flag)
 
dvdnav_status_t dvdnav_get_PGC_positioning_flag (dvdnav_t *self, int32_t *pgc_based_flag)
 
dvdnav_status_t dvdnav_get_next_block (dvdnav_t *self, uint8_t *buf, int32_t *event, int32_t *len)
 
dvdnav_status_t dvdnav_get_next_cache_block (dvdnav_t *self, uint8_t **buf, int32_t *event, int32_t *len)
 
dvdnav_status_t dvdnav_free_cache_block (dvdnav_t *self, unsigned char *buf)
 
dvdnav_status_t dvdnav_still_skip (dvdnav_t *self)
 
dvdnav_status_t dvdnav_wait_skip (dvdnav_t *self)
 
uint32_t dvdnav_get_next_still_flag (dvdnav_t *self)
 
dvdnav_status_t dvdnav_stop (dvdnav_t *self)
 
dvdnav_status_t dvdnav_get_number_of_titles (dvdnav_t *self, int32_t *titles)
 
dvdnav_status_t dvdnav_get_number_of_parts (dvdnav_t *self, int32_t title, int32_t *parts)
 
dvdnav_status_t dvdnav_title_play (dvdnav_t *self, int32_t title)
 
dvdnav_status_t dvdnav_part_play (dvdnav_t *self, int32_t title, int32_t part)
 
dvdnav_status_t dvdnav_program_play (dvdnav_t *self, int32_t title, int32_t pgcn, int32_t pgn)
 
uint32_t dvdnav_describe_title_chapters (dvdnav_t *self, int32_t title, uint64_t **times, uint64_t *duration)
 
dvdnav_status_t dvdnav_part_play_auto_stop (dvdnav_t *self, int32_t title, int32_t part, int32_t parts_to_play)
 
dvdnav_status_t dvdnav_time_play (dvdnav_t *self, int32_t title, uint64_t time)
 
dvdnav_status_t dvdnav_menu_call (dvdnav_t *self, DVDMenuID_t menu)
 
dvdnav_status_t dvdnav_current_title_info (dvdnav_t *self, int32_t *title, int32_t *part)
 
dvdnav_status_t dvdnav_current_title_program (dvdnav_t *self, int32_t *title, int32_t *pgcn, int32_t *pgn)
 
dvdnav_status_t dvdnav_get_position_in_title (dvdnav_t *self, uint32_t *pos, uint32_t *len)
 
dvdnav_status_t dvdnav_part_search (dvdnav_t *self, int32_t part)
 
dvdnav_status_t dvdnav_sector_search (dvdnav_t *self, uint64_t offset, int32_t origin)
 
int64_t dvdnav_get_current_time (dvdnav_t *self)
 
dvdnav_status_t dvdnav_time_search (dvdnav_t *self, uint64_t time)
 
dvdnav_status_t dvdnav_go_up (dvdnav_t *self)
 
dvdnav_status_t dvdnav_prev_pg_search (dvdnav_t *self)
 
dvdnav_status_t dvdnav_top_pg_search (dvdnav_t *self)
 
dvdnav_status_t dvdnav_next_pg_search (dvdnav_t *self)
 
dvdnav_status_t dvdnav_get_position (dvdnav_t *self, uint32_t *pos, uint32_t *len)
 
dvdnav_status_t dvdnav_get_current_highlight (dvdnav_t *self, int32_t *button)
 
pci_t * dvdnav_get_current_nav_pci (dvdnav_t *self)
 
dsi_t * dvdnav_get_current_nav_dsi (dvdnav_t *self)
 
dvdnav_status_t dvdnav_get_highlight_area (pci_t *nav_pci, int32_t button, int32_t mode, dvdnav_highlight_area_t *highlight)
 
dvdnav_status_t dvdnav_upper_button_select (dvdnav_t *self, pci_t *pci)
 
dvdnav_status_t dvdnav_lower_button_select (dvdnav_t *self, pci_t *pci)
 
dvdnav_status_t dvdnav_right_button_select (dvdnav_t *self, pci_t *pci)
 
dvdnav_status_t dvdnav_left_button_select (dvdnav_t *self, pci_t *pci)
 
dvdnav_status_t dvdnav_button_activate (dvdnav_t *self, pci_t *pci)
 
dvdnav_status_t dvdnav_button_select (dvdnav_t *self, pci_t *pci, int32_t button)
 
dvdnav_status_t dvdnav_button_select_and_activate (dvdnav_t *self, pci_t *pci, int32_t button)
 
dvdnav_status_t dvdnav_button_activate_cmd (dvdnav_t *self, int32_t button, vm_cmd_t *cmd)
 
dvdnav_status_t dvdnav_mouse_select (dvdnav_t *self, pci_t *pci, int32_t x, int32_t y)
 
dvdnav_status_t dvdnav_mouse_activate (dvdnav_t *self, pci_t *pci, int32_t x, int32_t y)
 
dvdnav_status_t dvdnav_menu_language_select (dvdnav_t *self, char *code)
 
dvdnav_status_t dvdnav_audio_language_select (dvdnav_t *self, char *code)
 
dvdnav_status_t dvdnav_spu_language_select (dvdnav_t *self, char *code)
 
dvdnav_status_t dvdnav_get_title_string (dvdnav_t *self, const char **title_str)
 
dvdnav_status_t dvdnav_get_serial_string (dvdnav_t *self, const char **serial_str)
 
uint8_t dvdnav_get_video_aspect (dvdnav_t *self)
 
int dvdnav_get_video_resolution (dvdnav_t *self, uint32_t *width, uint32_t *height)
 
uint8_t dvdnav_get_video_scale_permission (dvdnav_t *self)
 
uint16_t dvdnav_audio_stream_to_lang (dvdnav_t *self, uint8_t stream)
 
uint16_t dvdnav_audio_stream_format (dvdnav_t *self, uint8_t stream)
 
uint16_t dvdnav_audio_stream_channels (dvdnav_t *self, uint8_t stream)
 
uint16_t dvdnav_spu_stream_to_lang (dvdnav_t *self, uint8_t stream)
 
int8_t dvdnav_get_audio_logical_stream (dvdnav_t *self, uint8_t audio_num)
 
dvdnav_status_t dvdnav_get_audio_attr (dvdnav_t *self, uint8_t audio_mum, audio_attr_t *audio_attr)
 
int8_t dvdnav_get_spu_logical_stream (dvdnav_t *self, uint8_t subp_num)
 
dvdnav_status_t dvdnav_get_spu_attr (dvdnav_t *self, uint8_t audio_mum, subp_attr_t *subp_attr)
 
int8_t dvdnav_get_active_audio_stream (dvdnav_t *self)
 
int8_t dvdnav_get_active_spu_stream (dvdnav_t *self)
 
user_ops_t dvdnav_get_restrictions (dvdnav_t *self)
 
dvdnav_status_t dvdnav_angle_change (dvdnav_t *self, int32_t angle)
 
dvdnav_status_t dvdnav_get_angle_info (dvdnav_t *self, int32_t *current_angle, int32_t *number_of_angles)
 
int8_t dvdnav_is_domain_fp (dvdnav_t *self)
 
int8_t dvdnav_is_domain_vmgm (dvdnav_t *self)
 
int8_t dvdnav_is_domain_vtsm (dvdnav_t *self)
 
int8_t dvdnav_is_domain_vts (dvdnav_t *self)
 
int dvdnav_get_button_info (dvdnav_t *self, int alpha[2][4], int color[2][4])
 
int64_t dvdnav_convert_time (dvd_time_t *time)
 

Macro Definition Documentation

◆ DVDNAV_FORMAT_AC3

#define DVDNAV_FORMAT_AC3   0

◆ DVDNAV_FORMAT_DTS

#define DVDNAV_FORMAT_DTS   5

◆ DVDNAV_FORMAT_LPCM

#define DVDNAV_FORMAT_LPCM   4

◆ DVDNAV_FORMAT_MPEGAUDIO

#define DVDNAV_FORMAT_MPEGAUDIO   3

◆ DVDNAV_FORMAT_SDDS

#define DVDNAV_FORMAT_SDDS   6

◆ DVDNAV_STATUS_ERR

#define DVDNAV_STATUS_ERR   0

◆ DVDNAV_STATUS_OK

#define DVDNAV_STATUS_OK   1

◆ HAVE_GET_AUDIO_ATTR

#define HAVE_GET_AUDIO_ATTR

◆ HAVE_GET_SPU_ATTR

#define HAVE_GET_SPU_ATTR

◆ MP_DVDNAV

#define MP_DVDNAV   1

Typedef Documentation

◆ dvdnav_status_t

typedef int32_t dvdnav_status_t

◆ dvdnav_stream_cb

◆ dvdnav_t

typedef struct dvdnav_s dvdnav_t

Function Documentation

◆ dvdnav_angle_change()

dvdnav_status_t dvdnav_angle_change ( dvdnav_t self,
int32_t  angle 
)

◆ dvdnav_audio_language_select()

dvdnav_status_t dvdnav_audio_language_select ( dvdnav_t self,
char *  code 
)

◆ dvdnav_audio_stream_channels()

uint16_t dvdnav_audio_stream_channels ( dvdnav_t self,
uint8_t  stream 
)

◆ dvdnav_audio_stream_format()

uint16_t dvdnav_audio_stream_format ( dvdnav_t self,
uint8_t  stream 
)

◆ dvdnav_audio_stream_to_lang()

uint16_t dvdnav_audio_stream_to_lang ( dvdnav_t self,
uint8_t  stream 
)

◆ dvdnav_button_activate()

dvdnav_status_t dvdnav_button_activate ( dvdnav_t self,
pci_t *  pci 
)

◆ dvdnav_button_activate_cmd()

dvdnav_status_t dvdnav_button_activate_cmd ( dvdnav_t self,
int32_t  button,
vm_cmd_t *  cmd 
)

◆ dvdnav_button_select()

dvdnav_status_t dvdnav_button_select ( dvdnav_t self,
pci_t *  pci,
int32_t  button 
)

◆ dvdnav_button_select_and_activate()

dvdnav_status_t dvdnav_button_select_and_activate ( dvdnav_t self,
pci_t *  pci,
int32_t  button 
)

◆ dvdnav_close()

dvdnav_status_t dvdnav_close ( dvdnav_t self)

◆ dvdnav_convert_time()

int64_t dvdnav_convert_time ( dvd_time_t *  time)

◆ dvdnav_current_title_info()

dvdnav_status_t dvdnav_current_title_info ( dvdnav_t self,
int32_t *  title,
int32_t *  part 
)

◆ dvdnav_current_title_program()

dvdnav_status_t dvdnav_current_title_program ( dvdnav_t self,
int32_t *  title,
int32_t *  pgcn,
int32_t *  pgn 
)

◆ dvdnav_describe_title_chapters()

uint32_t dvdnav_describe_title_chapters ( dvdnav_t self,
int32_t  title,
uint64_t **  times,
uint64_t *  duration 
)

◆ dvdnav_err_to_string()

const char * dvdnav_err_to_string ( dvdnav_t self)

◆ dvdnav_free_cache_block()

dvdnav_status_t dvdnav_free_cache_block ( dvdnav_t self,
unsigned char *  buf 
)

◆ dvdnav_get_active_audio_stream()

int8_t dvdnav_get_active_audio_stream ( dvdnav_t self)

◆ dvdnav_get_active_spu_stream()

int8_t dvdnav_get_active_spu_stream ( dvdnav_t self)

◆ dvdnav_get_angle_info()

dvdnav_status_t dvdnav_get_angle_info ( dvdnav_t self,
int32_t *  current_angle,
int32_t *  number_of_angles 
)

◆ dvdnav_get_audio_attr()

dvdnav_status_t dvdnav_get_audio_attr ( dvdnav_t self,
uint8_t  audio_mum,
audio_attr_t *  audio_attr 
)

◆ dvdnav_get_audio_logical_stream()

int8_t dvdnav_get_audio_logical_stream ( dvdnav_t self,
uint8_t  audio_num 
)

◆ dvdnav_get_button_info()

int dvdnav_get_button_info ( dvdnav_t self,
int  alpha[2][4],
int  color[2][4] 
)

◆ dvdnav_get_current_highlight()

dvdnav_status_t dvdnav_get_current_highlight ( dvdnav_t self,
int32_t *  button 
)

◆ dvdnav_get_current_nav_dsi()

dsi_t * dvdnav_get_current_nav_dsi ( dvdnav_t self)

◆ dvdnav_get_current_nav_pci()

pci_t * dvdnav_get_current_nav_pci ( dvdnav_t self)

◆ dvdnav_get_current_time()

int64_t dvdnav_get_current_time ( dvdnav_t self)

◆ dvdnav_get_highlight_area()

dvdnav_status_t dvdnav_get_highlight_area ( pci_t *  nav_pci,
int32_t  button,
int32_t  mode,
dvdnav_highlight_area_t highlight 
)

◆ dvdnav_get_next_block()

dvdnav_status_t dvdnav_get_next_block ( dvdnav_t self,
uint8_t buf,
int32_t *  event,
int32_t *  len 
)

◆ dvdnav_get_next_cache_block()

dvdnav_status_t dvdnav_get_next_cache_block ( dvdnav_t self,
uint8_t **  buf,
int32_t *  event,
int32_t *  len 
)

◆ dvdnav_get_next_still_flag()

uint32_t dvdnav_get_next_still_flag ( dvdnav_t self)

◆ dvdnav_get_number_of_parts()

dvdnav_status_t dvdnav_get_number_of_parts ( dvdnav_t self,
int32_t  title,
int32_t *  parts 
)

◆ dvdnav_get_number_of_titles()

dvdnav_status_t dvdnav_get_number_of_titles ( dvdnav_t self,
int32_t *  titles 
)

◆ dvdnav_get_PGC_positioning_flag()

dvdnav_status_t dvdnav_get_PGC_positioning_flag ( dvdnav_t self,
int32_t *  pgc_based_flag 
)

◆ dvdnav_get_position()

dvdnav_status_t dvdnav_get_position ( dvdnav_t self,
uint32_t *  pos,
uint32_t *  len 
)

◆ dvdnav_get_position_in_title()

dvdnav_status_t dvdnav_get_position_in_title ( dvdnav_t self,
uint32_t *  pos,
uint32_t *  len 
)

◆ dvdnav_get_readahead_flag()

dvdnav_status_t dvdnav_get_readahead_flag ( dvdnav_t self,
int32_t *  read_ahead_flag 
)

◆ dvdnav_get_region_mask()

dvdnav_status_t dvdnav_get_region_mask ( dvdnav_t self,
int32_t *  region_mask 
)

◆ dvdnav_get_restrictions()

user_ops_t dvdnav_get_restrictions ( dvdnav_t self)

◆ dvdnav_get_serial_string()

dvdnav_status_t dvdnav_get_serial_string ( dvdnav_t self,
const char **  serial_str 
)

◆ dvdnav_get_spu_attr()

dvdnav_status_t dvdnav_get_spu_attr ( dvdnav_t self,
uint8_t  audio_mum,
subp_attr_t *  subp_attr 
)

◆ dvdnav_get_spu_logical_stream()

int8_t dvdnav_get_spu_logical_stream ( dvdnav_t self,
uint8_t  subp_num 
)

◆ dvdnav_get_title_string()

dvdnav_status_t dvdnav_get_title_string ( dvdnav_t self,
const char **  title_str 
)

◆ dvdnav_get_video_aspect()

uint8_t dvdnav_get_video_aspect ( dvdnav_t self)

◆ dvdnav_get_video_resolution()

int dvdnav_get_video_resolution ( dvdnav_t self,
uint32_t *  width,
uint32_t *  height 
)

◆ dvdnav_get_video_scale_permission()

uint8_t dvdnav_get_video_scale_permission ( dvdnav_t self)

◆ dvdnav_go_up()

dvdnav_status_t dvdnav_go_up ( dvdnav_t self)

◆ dvdnav_is_domain_fp()

int8_t dvdnav_is_domain_fp ( dvdnav_t self)

◆ dvdnav_is_domain_vmgm()

int8_t dvdnav_is_domain_vmgm ( dvdnav_t self)

◆ dvdnav_is_domain_vts()

int8_t dvdnav_is_domain_vts ( dvdnav_t self)

◆ dvdnav_is_domain_vtsm()

int8_t dvdnav_is_domain_vtsm ( dvdnav_t self)

◆ dvdnav_left_button_select()

dvdnav_status_t dvdnav_left_button_select ( dvdnav_t self,
pci_t *  pci 
)

◆ dvdnav_lower_button_select()

dvdnav_status_t dvdnav_lower_button_select ( dvdnav_t self,
pci_t *  pci 
)

◆ dvdnav_menu_call()

dvdnav_status_t dvdnav_menu_call ( dvdnav_t self,
DVDMenuID_t  menu 
)

◆ dvdnav_menu_language_select()

dvdnav_status_t dvdnav_menu_language_select ( dvdnav_t self,
char *  code 
)

◆ dvdnav_mouse_activate()

dvdnav_status_t dvdnav_mouse_activate ( dvdnav_t self,
pci_t *  pci,
int32_t  x,
int32_t  y 
)

◆ dvdnav_mouse_select()

dvdnav_status_t dvdnav_mouse_select ( dvdnav_t self,
pci_t *  pci,
int32_t  x,
int32_t  y 
)

◆ dvdnav_next_pg_search()

dvdnav_status_t dvdnav_next_pg_search ( dvdnav_t self)

◆ dvdnav_open()

dvdnav_status_t dvdnav_open ( dvdnav_t **  dest,
const char *  path 
)

◆ dvdnav_open_stream()

dvdnav_status_t dvdnav_open_stream ( dvdnav_t **  dest,
void stream,
dvdnav_stream_cb stream_cb 
)

◆ dvdnav_part_play()

dvdnav_status_t dvdnav_part_play ( dvdnav_t self,
int32_t  title,
int32_t  part 
)

◆ dvdnav_part_play_auto_stop()

dvdnav_status_t dvdnav_part_play_auto_stop ( dvdnav_t self,
int32_t  title,
int32_t  part,
int32_t  parts_to_play 
)

◆ dvdnav_part_search()

dvdnav_status_t dvdnav_part_search ( dvdnav_t self,
int32_t  part 
)

◆ dvdnav_path()

dvdnav_status_t dvdnav_path ( dvdnav_t self,
const char **  path 
)

◆ dvdnav_prev_pg_search()

dvdnav_status_t dvdnav_prev_pg_search ( dvdnav_t self)

◆ dvdnav_program_play()

dvdnav_status_t dvdnav_program_play ( dvdnav_t self,
int32_t  title,
int32_t  pgcn,
int32_t  pgn 
)

◆ dvdnav_reset()

dvdnav_status_t dvdnav_reset ( dvdnav_t self)

◆ dvdnav_right_button_select()

dvdnav_status_t dvdnav_right_button_select ( dvdnav_t self,
pci_t *  pci 
)

◆ dvdnav_sector_search()

dvdnav_status_t dvdnav_sector_search ( dvdnav_t self,
uint64_t  offset,
int32_t  origin 
)

◆ dvdnav_set_PGC_positioning_flag()

dvdnav_status_t dvdnav_set_PGC_positioning_flag ( dvdnav_t self,
int32_t  pgc_based_flag 
)

◆ dvdnav_set_readahead_flag()

dvdnav_status_t dvdnav_set_readahead_flag ( dvdnav_t self,
int32_t  read_ahead_flag 
)

◆ dvdnav_set_region_mask()

dvdnav_status_t dvdnav_set_region_mask ( dvdnav_t self,
int32_t  region_mask 
)

◆ dvdnav_spu_language_select()

dvdnav_status_t dvdnav_spu_language_select ( dvdnav_t self,
char *  code 
)

◆ dvdnav_spu_stream_to_lang()

uint16_t dvdnav_spu_stream_to_lang ( dvdnav_t self,
uint8_t  stream 
)

◆ dvdnav_still_skip()

dvdnav_status_t dvdnav_still_skip ( dvdnav_t self)

◆ dvdnav_stop()

dvdnav_status_t dvdnav_stop ( dvdnav_t self)

◆ dvdnav_time_play()

dvdnav_status_t dvdnav_time_play ( dvdnav_t self,
int32_t  title,
uint64_t  time 
)

◆ dvdnav_time_search()

dvdnav_status_t dvdnav_time_search ( dvdnav_t self,
uint64_t  time 
)

◆ dvdnav_title_play()

dvdnav_status_t dvdnav_title_play ( dvdnav_t self,
int32_t  title 
)

◆ dvdnav_top_pg_search()

dvdnav_status_t dvdnav_top_pg_search ( dvdnav_t self)

◆ dvdnav_upper_button_select()

dvdnav_status_t dvdnav_upper_button_select ( dvdnav_t self,
pci_t *  pci 
)

◆ dvdnav_wait_skip()

dvdnav_status_t dvdnav_wait_skip ( dvdnav_t self)