bluray.h File Reference

Go to the source code of this file.

Classes

struct  bd_stream_info
struct  bd_clip
struct  bd_chapter
struct  bd_title_info
struct  BLURAY_DISC_INFO
struct  BD_EVENT

Typedefs

typedef struct bluray BLURAY
typedef struct bd_stream_info BLURAY_STREAM_INFO
typedef struct bd_clip BLURAY_CLIP_INFO
typedef struct bd_chapter BLURAY_TITLE_CHAPTER
typedef struct bd_title_info BLURAY_TITLE_INFO
typedef void(* bd_overlay_proc_f )(void *, const struct bd_overlay_s *const)

Enumerations

enum  bd_stream_type_e {
  BLURAY_STREAM_TYPE_VIDEO_MPEG1 = 0x01, BLURAY_STREAM_TYPE_VIDEO_MPEG2 = 0x02, BLURAY_STREAM_TYPE_AUDIO_MPEG1 = 0x03, BLURAY_STREAM_TYPE_AUDIO_MPEG2 = 0x04,
  BLURAY_STREAM_TYPE_AUDIO_LPCM = 0x80, BLURAY_STREAM_TYPE_AUDIO_AC3 = 0x81, BLURAY_STREAM_TYPE_AUDIO_DTS = 0x82, BLURAY_STREAM_TYPE_AUDIO_TRUHD = 0x83,
  BLURAY_STREAM_TYPE_AUDIO_AC3PLUS = 0x84, BLURAY_STREAM_TYPE_AUDIO_DTSHD = 0x85, BLURAY_STREAM_TYPE_AUDIO_DTSHD_MASTER = 0x86, BLURAY_STREAM_TYPE_VIDEO_VC1 = 0xea,
  BLURAY_STREAM_TYPE_VIDEO_H264 = 0x1b, BLURAY_STREAM_TYPE_SUB_PG = 0x90, BLURAY_STREAM_TYPE_SUB_IG = 0x91, BLURAY_STREAM_TYPE_SUB_TEXT = 0x92,
  BLURAY_STREAM_TYPE_AUDIO_AC3PLUS_SECONDARY = 0xa1, BLURAY_STREAM_TYPE_AUDIO_DTSHD_SECONDARY = 0xa2
}
enum  bd_video_format_e {
  BLURAY_VIDEO_FORMAT_480I = 1, BLURAY_VIDEO_FORMAT_576I = 2, BLURAY_VIDEO_FORMAT_480P = 3, BLURAY_VIDEO_FORMAT_1080I = 4,
  BLURAY_VIDEO_FORMAT_720P = 5, BLURAY_VIDEO_FORMAT_1080P = 6, BLURAY_VIDEO_FORMAT_576P = 7
}
enum  bd_video_rate_e {
  BLURAY_VIDEO_RATE_24000_1001 = 1, BLURAY_VIDEO_RATE_24 = 2, BLURAY_VIDEO_RATE_25 = 3, BLURAY_VIDEO_RATE_30000_1001 = 4,
  BLURAY_VIDEO_RATE_50 = 6, BLURAY_VIDEO_RATE_60000_1001 = 7
}
enum  bd_video_aspect_e { BLURAY_ASPECT_RATIO_4_3 = 2, BLURAY_ASPECT_RATIO_16_9 = 3 }
enum  bd_audio_format_e { BLURAY_AUDIO_FORMAT_MONO = 1, BLURAY_AUDIO_FORMAT_STEREO = 3, BLURAY_AUDIO_FORMAT_MULTI_CHAN = 6, BLURAY_AUDIO_FORMAT_COMBO = 12 }
enum  bd_audio_rate_e {
  BLURAY_AUDIO_RATE_48 = 1, BLURAY_AUDIO_RATE_96 = 4, BLURAY_AUDIO_RATE_192 = 5, BLURAY_AUDIO_RATE_192_COMBO = 12,
  BLURAY_AUDIO_RATE_96_COMBO = 14
}
enum  bd_char_code_e {
  BLURAY_TEXT_CHAR_CODE_UTF8 = 0x01, BLURAY_TEXT_CHAR_CODE_UTF16BE = 0x02, BLURAY_TEXT_CHAR_CODE_SHIFT_JIS = 0x03, BLURAY_TEXT_CHAR_CODE_EUC_KR = 0x04,
  BLURAY_TEXT_CHAR_CODE_GB18030_20001 = 0x05, BLURAY_TEXT_CHAR_CODE_CN_GB = 0x06, BLURAY_TEXT_CHAR_CODE_BIG5 = 0x07
}
enum  bd_still_mode_e { BLURAY_STILL_NONE = 0x00, BLURAY_STILL_TIME = 0x01, BLURAY_STILL_INFINITE = 0x02 }
enum  bd_player_setting {
  BLURAY_PLAYER_SETTING_PARENTAL = 13, BLURAY_PLAYER_SETTING_AUDIO_CAP = 15, BLURAY_PLAYER_SETTING_AUDIO_LANG = 16, BLURAY_PLAYER_SETTING_PG_LANG = 17,
  BLURAY_PLAYER_SETTING_MENU_LANG = 18, BLURAY_PLAYER_SETTING_COUNTRY_CODE = 19, BLURAY_PLAYER_SETTING_REGION_CODE = 20, BLURAY_PLAYER_SETTING_VIDEO_CAP = 29,
  BLURAY_PLAYER_SETTING_TEXT_CAP = 30, BLURAY_PLAYER_SETTING_PLAYER_PROFILE = 31
}
enum  bd_event_e {
  BD_EVENT_NONE = 0, BD_EVENT_ERROR, BD_EVENT_ENCRYPTED, BD_EVENT_ANGLE,
  BD_EVENT_TITLE, BD_EVENT_PLAYLIST, BD_EVENT_PLAYITEM, BD_EVENT_CHAPTER,
  BD_EVENT_END_OF_TITLE, BD_EVENT_AUDIO_STREAM, BD_EVENT_IG_STREAM, BD_EVENT_PG_TEXTST_STREAM,
  BD_EVENT_PIP_PG_TEXTST_STREAM, BD_EVENT_SECONDARY_AUDIO_STREAM, BD_EVENT_SECONDARY_VIDEO_STREAM, BD_EVENT_PG_TEXTST,
  BD_EVENT_PIP_PG_TEXTST, BD_EVENT_SECONDARY_AUDIO, BD_EVENT_SECONDARY_VIDEO, BD_EVENT_SECONDARY_VIDEO_SIZE,
  BD_EVENT_SEEK, BD_EVENT_STILL, BD_EVENT_STILL_TIME
}

Functions

uint32_t bd_get_titles (BLURAY *bd, uint8_t flags, uint32_t min_title_length)
 This must be called after bd_open() and before bd_select_title().
BLURAY_TITLE_INFObd_get_title_info (BLURAY *bd, uint32_t title_idx, unsigned angle)
 Get information about a title.
BLURAY_TITLE_INFObd_get_playlist_info (BLURAY *bd, uint32_t playlist, unsigned angle)
 Get information about a playlist.
void bd_free_title_info (BLURAY_TITLE_INFO *title_info)
 Free BLURAY_TITLE_INFO object.
BLURAYbd_open (const char *device_path, const char *keyfile_path)
 Initializes libbluray objects.
void bd_close (BLURAY *bd)
 Free libbluray objects.
int64_t bd_seek (BLURAY *bd, uint64_t pos)
 Seek to pos in corrently selected title.
int64_t bd_seek_time (BLURAY *bd, uint64_t tick)
 Seek to specific time in 90Khz ticks.
int bd_read (BLURAY *bd, unsigned char *buf, int len)
 Read from currently selected title file, decrypt if possible.
int bd_read_skip_still (BLURAY *bd)
 Continue reading after still mode clip.
int64_t bd_seek_chapter (BLURAY *bd, unsigned chapter)
 Seek to a chapter.
int64_t bd_chapter_pos (BLURAY *bd, unsigned chapter)
 Find the byte position of a chapter.
uint32_t bd_get_current_chapter (BLURAY *bd)
 Get the current chapter.
int64_t bd_seek_mark (BLURAY *bd, unsigned mark)
 Seek to a playmark.
int bd_select_playlist (BLURAY *bd, uint32_t playlist)
 Select a playlist.
int bd_select_title (BLURAY *bd, uint32_t title)
 Select the title from the list created by bd_get_titles().
int bd_select_angle (BLURAY *bd, unsigned angle)
 Set the angle to play.
void bd_seamless_angle_change (BLURAY *bd, unsigned angle)
 Initiate seamless angle change.
uint64_t bd_get_title_size (BLURAY *bd)
 Returns file size in bytes of currently selected title, 0 in no title selected.
uint32_t bd_get_current_title (BLURAY *bd)
 Returns the current title index.
unsigned bd_get_current_angle (BLURAY *bd)
 Return the current angle.
uint64_t bd_tell (BLURAY *bd)
 Return current pos.
uint64_t bd_tell_time (BLURAY *bd)
 Return current time.
const BLURAY_DISC_INFObd_get_disc_info (BLURAY *)
 Get information about current BluRay disc.
int bd_set_player_setting (BLURAY *bd, uint32_t idx, uint32_t value)
 Update player setting registers.
int bd_set_player_setting_str (BLURAY *bd, uint32_t idx, const char *s)
int bd_start_bdj (BLURAY *bd, const char *start_object)
void bd_stop_bdj (BLURAY *bd)
int bd_get_event (BLURAY *bd, BD_EVENT *event)
 Get event from libbluray event queue.
int bd_play (BLURAY *bd)
 Start playing disc in navigation mode (using on-disc menus).
int bd_read_ext (BLURAY *bd, unsigned char *buf, int len, BD_EVENT *event)
 Read from currently playing title.
int bd_play_title (BLURAY *bd, unsigned title)
 Play a title (from disc index).
int bd_menu_call (BLURAY *bd, int64_t pts)
 Open BluRay disc Top Menu.
void bd_register_overlay_proc (BLURAY *bd, void *handle, bd_overlay_proc_f func)
 Register overlay graphics handler function.
int bd_user_input (BLURAY *bd, int64_t pts, uint32_t key)
 Pass user input to graphics controller.
int bd_mouse_select (BLURAY *bd, int64_t pts, uint16_t x, uint16_t y)
 Select menu button at location (x,y).
struct meta_dlbd_get_meta (BLURAY *bd)
 Get meta information about the bluray disc.
struct clpi_clbd_get_clpi (BLURAY *bd, unsigned clip_ref)
 Get copy of clip information for requested playitem.
void bd_free_clpi (struct clpi_cl *cl)
 Free CLPI_CL object.

Typedef Documentation

typedef struct bluray BLURAY

Definition at line 44 of file bluray.h.

typedef struct bd_clip BLURAY_CLIP_INFO
typedef void(* bd_overlay_proc_f)(void *, const struct bd_overlay_s *const)

Definition at line 582 of file bluray.h.


Enumeration Type Documentation

Enumerator:
BLURAY_STREAM_TYPE_VIDEO_MPEG1 
BLURAY_STREAM_TYPE_VIDEO_MPEG2 
BLURAY_STREAM_TYPE_AUDIO_MPEG1 
BLURAY_STREAM_TYPE_AUDIO_MPEG2 
BLURAY_STREAM_TYPE_AUDIO_LPCM 
BLURAY_STREAM_TYPE_AUDIO_AC3 
BLURAY_STREAM_TYPE_AUDIO_DTS 
BLURAY_STREAM_TYPE_AUDIO_TRUHD 
BLURAY_STREAM_TYPE_AUDIO_AC3PLUS 
BLURAY_STREAM_TYPE_AUDIO_DTSHD 
BLURAY_STREAM_TYPE_AUDIO_DTSHD_MASTER 
BLURAY_STREAM_TYPE_VIDEO_VC1 
BLURAY_STREAM_TYPE_VIDEO_H264 
BLURAY_STREAM_TYPE_SUB_PG 
BLURAY_STREAM_TYPE_SUB_IG 
BLURAY_STREAM_TYPE_SUB_TEXT 
BLURAY_STREAM_TYPE_AUDIO_AC3PLUS_SECONDARY 
BLURAY_STREAM_TYPE_AUDIO_DTSHD_SECONDARY 

Definition at line 46 of file bluray.h.

Enumerator:
BLURAY_VIDEO_FORMAT_480I 
BLURAY_VIDEO_FORMAT_576I 
BLURAY_VIDEO_FORMAT_480P 
BLURAY_VIDEO_FORMAT_1080I 
BLURAY_VIDEO_FORMAT_720P 
BLURAY_VIDEO_FORMAT_1080P 
BLURAY_VIDEO_FORMAT_576P 

Definition at line 67 of file bluray.h.

Enumerator:
BLURAY_VIDEO_RATE_24000_1001 
BLURAY_VIDEO_RATE_24 
BLURAY_VIDEO_RATE_25 
BLURAY_VIDEO_RATE_30000_1001 
BLURAY_VIDEO_RATE_50 
BLURAY_VIDEO_RATE_60000_1001 

Definition at line 77 of file bluray.h.

Enumerator:
BLURAY_ASPECT_RATIO_4_3 
BLURAY_ASPECT_RATIO_16_9 

Definition at line 86 of file bluray.h.

Enumerator:
BLURAY_AUDIO_FORMAT_MONO 
BLURAY_AUDIO_FORMAT_STEREO 
BLURAY_AUDIO_FORMAT_MULTI_CHAN 
BLURAY_AUDIO_FORMAT_COMBO 

Definition at line 91 of file bluray.h.

Enumerator:
BLURAY_AUDIO_RATE_48 
BLURAY_AUDIO_RATE_96 
BLURAY_AUDIO_RATE_192 
BLURAY_AUDIO_RATE_192_COMBO 
BLURAY_AUDIO_RATE_96_COMBO 

Definition at line 99 of file bluray.h.

Enumerator:
BLURAY_TEXT_CHAR_CODE_UTF8 
BLURAY_TEXT_CHAR_CODE_UTF16BE 
BLURAY_TEXT_CHAR_CODE_SHIFT_JIS 
BLURAY_TEXT_CHAR_CODE_EUC_KR 
BLURAY_TEXT_CHAR_CODE_GB18030_20001 
BLURAY_TEXT_CHAR_CODE_CN_GB 
BLURAY_TEXT_CHAR_CODE_BIG5 

Definition at line 109 of file bluray.h.

Enumerator:
BLURAY_STILL_NONE 
BLURAY_STILL_TIME 
BLURAY_STILL_INFINITE 

Definition at line 119 of file bluray.h.

Enumerator:
BLURAY_PLAYER_SETTING_PARENTAL 
BLURAY_PLAYER_SETTING_AUDIO_CAP 
BLURAY_PLAYER_SETTING_AUDIO_LANG 
BLURAY_PLAYER_SETTING_PG_LANG 
BLURAY_PLAYER_SETTING_MENU_LANG 
BLURAY_PLAYER_SETTING_COUNTRY_CODE 
BLURAY_PLAYER_SETTING_REGION_CODE 
BLURAY_PLAYER_SETTING_VIDEO_CAP 
BLURAY_PLAYER_SETTING_TEXT_CAP 
BLURAY_PLAYER_SETTING_PLAYER_PROFILE 

Definition at line 431 of file bluray.h.

enum bd_event_e
Enumerator:
BD_EVENT_NONE 
BD_EVENT_ERROR 
BD_EVENT_ENCRYPTED 
BD_EVENT_ANGLE 
BD_EVENT_TITLE 
BD_EVENT_PLAYLIST 
BD_EVENT_PLAYITEM 
BD_EVENT_CHAPTER 
BD_EVENT_END_OF_TITLE 
BD_EVENT_AUDIO_STREAM 
BD_EVENT_IG_STREAM 
BD_EVENT_PG_TEXTST_STREAM 
BD_EVENT_PIP_PG_TEXTST_STREAM 
BD_EVENT_SECONDARY_AUDIO_STREAM 
BD_EVENT_SECONDARY_VIDEO_STREAM 
BD_EVENT_PG_TEXTST 
BD_EVENT_PIP_PG_TEXTST 
BD_EVENT_SECONDARY_AUDIO 
BD_EVENT_SECONDARY_VIDEO 
BD_EVENT_SECONDARY_VIDEO_SIZE 
BD_EVENT_SEEK 
BD_EVENT_STILL 
BD_EVENT_STILL_TIME 

Definition at line 467 of file bluray.h.


Function Documentation

uint32_t bd_get_titles ( BLURAY bd,
uint8_t  flags,
uint32_t  min_title_length 
)

This must be called after bd_open() and before bd_select_title().

Populates the title list in BLURAY. Filtering of the returned list is controled through title flags

Parameters:
bd BLURAY object
flags title flags
min_title_length filter out titles shorter than min_title_length seconds
Returns:
number of titles found

Definition at line 1470 of file bluray.c.

Referenced by BDRingBuffer::OpenFile().

BLURAY_TITLE_INFO* bd_get_title_info ( BLURAY bd,
uint32_t  title_idx,
unsigned  angle 
)

Get information about a title.

Parameters:
bd BLURAY object
title_idx title index number
angle angle number (chapter offsets and clip size depend on selected angle)
Returns:
allocated BLURAY_TITLE_INFO object, NULL on error

Definition at line 1575 of file bluray.c.

Referenced by BDRingBuffer::GetTitleInfo().

BLURAY_TITLE_INFO* bd_get_playlist_info ( BLURAY bd,
uint32_t  playlist,
unsigned  angle 
)

Get information about a playlist.

Parameters:
bd BLURAY object
playlist playlist number
angle angle number (chapter offsets and clip size depend on selected angle)
Returns:
allocated BLURAY_TITLE_INFO object, NULL on error

Definition at line 1592 of file bluray.c.

Referenced by BDRingBuffer::GetPlaylistInfo().

void bd_free_title_info ( BLURAY_TITLE_INFO title_info  ) 

Free BLURAY_TITLE_INFO object.

Parameters:
title_info BLURAY_TITLE_INFO object

Definition at line 1604 of file bluray.c.

Referenced by BDRingBuffer::close().

BLURAY* bd_open ( const char *  device_path,
const char *  keyfile_path 
)

Initializes libbluray objects.

Parameters:
device_path path to mounted Blu-ray disc
keyfile_path path to KEYDB.cfg (may be NULL)
Returns:
allocated BLURAY object, NULL if error

Definition at line 857 of file bluray.c.

Referenced by BlurayMetadata::OpenDisc(), and BDRingBuffer::OpenFile().

void bd_close ( BLURAY bd  ) 

Free libbluray objects.

Parameters:
bd BLURAY object

Definition at line 888 of file bluray.c.

Referenced by BDRingBuffer::close(), and BlurayMetadata::~BlurayMetadata().

int64_t bd_seek ( BLURAY bd,
uint64_t  pos 
)

Seek to pos in corrently selected title.

Parameters:
bd BLURAY object
pos position to seek to
Returns:
current seek position

Definition at line 1073 of file bluray.c.

int64_t bd_seek_time ( BLURAY bd,
uint64_t  tick 
)

Seek to specific time in 90Khz ticks.

Parameters:
bd BLURAY ojbect
tick tick count
Returns:
current seek position

Definition at line 959 of file bluray.c.

Referenced by _process_psr_restore_event(), and BDRingBuffer::Seek().

int bd_read ( BLURAY bd,
unsigned char *  buf,
int  len 
)

Read from currently selected title file, decrypt if possible.

Parameters:
bd BLURAY object
buf buffer to read data into
len size of data to be read
Returns:
size of data read, -1 if error, 0 if EOF

Definition at line 1126 of file bluray.c.

Referenced by bd_read_ext(), and BDRingBuffer::safe_read().

int bd_read_skip_still ( BLURAY bd  ) 

Continue reading after still mode clip.

Parameters:
bd BLURAY object
Returns:
0 on error

Definition at line 1241 of file bluray.c.

Referenced by BDRingBuffer::UpdateTitleInfo().

int64_t bd_seek_chapter ( BLURAY bd,
unsigned  chapter 
)

Seek to a chapter.

First chapter is 0

Parameters:
bd BLURAY object
chapter chapter to seek to
Returns:
current seek position

Definition at line 991 of file bluray.c.

int64_t bd_chapter_pos ( BLURAY bd,
unsigned  chapter 
)

Find the byte position of a chapter.

Parameters:
bd BLURAY object
chapter chapter to find position of
Returns:
seek position of chapter start

Definition at line 1010 of file bluray.c.

Referenced by _open_playlist(), and _update_chapter_psr().

uint32_t bd_get_current_chapter ( BLURAY bd  ) 

Get the current chapter.

Parameters:
bd BLURAY object
Returns:
current chapter

Definition at line 1025 of file bluray.c.

Referenced by _update_chapter_psr(), and BDRingBuffer::GetCurrentChapter().

int64_t bd_seek_mark ( BLURAY bd,
unsigned  mark 
)

Seek to a playmark.

First mark is 0

Parameters:
bd BLURAY object
mark playmark to seek to
Returns:
current seek position

Definition at line 1054 of file bluray.c.

Referenced by _process_hdmv_vm_event().

int bd_select_playlist ( BLURAY bd,
uint32_t  playlist 
)

Select a playlist.

Parameters:
bd BLURAY object
playlist playlist to select
Returns:
1 on success, 0 if error

Definition at line 1369 of file bluray.c.

Referenced by _process_hdmv_vm_event(), and _process_psr_restore_event().

int bd_select_title ( BLURAY bd,
uint32_t  title 
)

Select the title from the list created by bd_get_titles().

Parameters:
bd BLURAY object
title title to select
Returns:
1 on success, 0 if error

Definition at line 1394 of file bluray.c.

Referenced by BDRingBuffer::SwitchTitle().

int bd_select_angle ( BLURAY bd,
unsigned  angle 
)

Set the angle to play.

Parameters:
bd BLURAY object
angle angle to play
Returns:
1 on success, 0 if error

Definition at line 1419 of file bluray.c.

void bd_seamless_angle_change ( BLURAY bd,
unsigned  angle 
)

Initiate seamless angle change.

Parameters:
bd BLURAY object
angle angle to change to

Definition at line 1455 of file bluray.c.

Referenced by BDRingBuffer::SwitchAngle().

uint64_t bd_get_title_size ( BLURAY bd  ) 

Returns file size in bytes of currently selected title, 0 in no title selected.

Parameters:
bd BLURAY object
Returns:
file size in bytes of currently selected title, 0 if no title selected

Definition at line 1094 of file bluray.c.

Referenced by BDRingBuffer::GetTotalReadPosition(), and BDRingBuffer::UpdateTitleInfo().

uint32_t bd_get_current_title ( BLURAY bd  ) 

Returns the current title index.

Parameters:
bd BLURAY object
Returns:
current title index

Definition at line 1414 of file bluray.c.

Referenced by BDRingBuffer::HandleBDEvent().

unsigned bd_get_current_angle ( BLURAY bd  ) 

Return the current angle.

Parameters:
bd BLURAY object
Returns:
current angle

Definition at line 1446 of file bluray.c.

uint64_t bd_tell ( BLURAY bd  ) 

Return current pos.

Parameters:
bd BLURAY object
Returns:
current seek position

Definition at line 1102 of file bluray.c.

Referenced by BDRingBuffer::GetReadPosition(), and BDRingBuffer::safe_read().

uint64_t bd_tell_time ( BLURAY bd  ) 

Return current time.

Parameters:
bd BLURAY object
Returns:
current time

Definition at line 980 of file bluray.c.

const BLURAY_DISC_INFO* bd_get_disc_info ( BLURAY  ) 

Get information about current BluRay disc.

Parameters:
bd BLURAY object
Returns:
pointer to BLURAY_DISC_INFO object, NULL on error

Definition at line 811 of file bluray.c.

Referenced by BDRingBuffer::OpenFile(), and BlurayMetadata::ParseDisc().

int bd_set_player_setting ( BLURAY bd,
uint32_t  idx,
uint32_t  value 
)

Update player setting registers.

Parameters:
bd BLURAY object
idx Player setting register
value New value for player setting register
Returns:
1 on success, 0 on error (invalid setting)

Definition at line 1625 of file bluray.c.

Referenced by bd_set_player_setting_str(), and BDRingBuffer::OpenFile().

int bd_set_player_setting_str ( BLURAY bd,
uint32_t  idx,
const char *  s 
)

Definition at line 1655 of file bluray.c.

Referenced by BDRingBuffer::OpenFile().

int bd_start_bdj ( BLURAY bd,
const char *  start_object 
)

Definition at line 1675 of file bluray.c.

Referenced by _play_bdj().

void bd_stop_bdj ( BLURAY bd  ) 

Definition at line 1691 of file bluray.c.

Referenced by _play_bdj(), _play_hdmv(), and bd_close().

int bd_get_event ( BLURAY bd,
BD_EVENT event 
)

Get event from libbluray event queue.

Parameters:
bd BLURAY object
event next BD_EVENT from event queue, NULL to initialize event queue
Returns:
1 on success, 0 if no events

Definition at line 2189 of file bluray.c.

Referenced by BDRingBuffer::HandleBDEvents().

int bd_play ( BLURAY bd  ) 

Start playing disc in navigation mode (using on-disc menus).

Playback is started from "First Play" title.

Parameters:
bd BLURAY object
Returns:
1 on success, 0 if error

Definition at line 1970 of file bluray.c.

Referenced by BDRingBuffer::OpenFile().

int bd_read_ext ( BLURAY bd,
unsigned char *  buf,
int  len,
BD_EVENT event 
)

Read from currently playing title.

When playing disc in navigation mode this function must be used instead of bd_read().

Parameters:
bd BLURAY object
buf buffer to read data into
len size of data to be read
event next BD_EVENT from event queue (BD_EVENT_NONE if no events)
Returns:
size of data read, -1 if error, 0 if event needs to be handled first, 0 if end of title was reached

Definition at line 2145 of file bluray.c.

Referenced by BDRingBuffer::safe_read().

int bd_play_title ( BLURAY bd,
unsigned  title 
)

Play a title (from disc index).

Title 0 = Top Menu Title 0xffff = First Play title Number of titles can be found from BLURAY_DISC_INFO.

Parameters:
bd BLURAY object
title title number from disc index
Returns:
1 on success, 0 if error

Definition at line 1990 of file bluray.c.

int bd_menu_call ( BLURAY bd,
int64_t  pts 
)

Open BluRay disc Top Menu.

Current pts is needed for resuming playback when menu is closed.

Parameters:
bd BLURAY object
pts current playback position (1/90000s) or -1
Returns:
1 on success, 0 if error

Definition at line 2012 of file bluray.c.

Referenced by BDRingBuffer::GoToMenu().

void bd_register_overlay_proc ( BLURAY bd,
void *  handle,
bd_overlay_proc_f  func 
)

Register overlay graphics handler function.

Parameters:
bd BLURAY object
handle application-specific handle that will be passed to handler function
func handler function pointer
Returns:
1 on success, 0 if error

Definition at line 2230 of file bluray.c.

Referenced by BDRingBuffer::OpenFile().

int bd_user_input ( BLURAY bd,
int64_t  pts,
uint32_t  key 
)

Pass user input to graphics controller.

Keys are defined in libbluray/keys.h. Current pts can be updated by using BD_VK_NONE key. This is required for animated menus.

Parameters:
bd BLURAY object
pts current playback position (1/90000s) or -1
key input key
Returns:
<0 on error, 0 on success, >0 if selection/activation changed

Definition at line 2223 of file bluray.c.

Referenced by BDRingBuffer::PressButton().

int bd_mouse_select ( BLURAY bd,
int64_t  pts,
uint16_t  x,
uint16_t  y 
)

Select menu button at location (x,y).

Parameters:
bd BLURAY object
pts current playback position (1/90000s) or -1
x mouse pointer x-position
y mouse pointer y-position
Returns:
<0 on error, 0 when mouse is outside of buttons, 1 when mouse is inside button

Definition at line 2216 of file bluray.c.

Referenced by BDRingBuffer::ClickButton().

struct meta_dl* bd_get_meta ( BLURAY bd  )  [read]

Get meta information about the bluray disc.

Parameters:
bd BLURAY object
Returns:
allocated META_DL (disclib) object, NULL on error

Definition at line 2247 of file bluray.c.

Referenced by BDRingBuffer::OpenFile(), and BlurayMetadata::ParseDisc().

struct clpi_cl* bd_get_clpi ( BLURAY bd,
unsigned  clip_ref 
) [read]

Get copy of clip information for requested playitem.

Parameters:
bd BLURAY objects
clip_ref requested playitem number
Returns:
pointer to allocated CLPI_CL object on success, NULL on error

Definition at line 2268 of file bluray.c.

void bd_free_clpi ( struct clpi_cl cl  ) 

Free CLPI_CL object.

Parameters:
cl CLPI_CL objects

Definition at line 2280 of file bluray.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Mon May 28 06:41:47 2012 for MythTV by  doxygen 1.6.3