register.h File Reference

Go to the source code of this file.

Classes

struct  BD_PSR_EVENT

Typedefs

typedef struct bd_registers_s BD_REGISTERS

Enumerations

enum  bd_psr_idx {
  PSR_IG_STREAM_ID = 0, PSR_PRIMARY_AUDIO_ID = 1, PSR_PG_STREAM = 2, PSR_ANGLE_NUMBER = 3,
  PSR_TITLE_NUMBER = 4, PSR_CHAPTER = 5, PSR_PLAYLIST = 6, PSR_PLAYITEM = 7,
  PSR_TIME = 8, PSR_NAV_TIMER = 9, PSR_SELECTED_BUTTON_ID = 10, PSR_MENU_PAGE_ID = 11,
  PSR_STYLE = 12, PSR_PARENTAL = 13, PSR_SECONDARY_AUDIO_VIDEO = 14, PSR_AUDIO_CAP = 15,
  PSR_AUDIO_LANG = 16, PSR_PG_AND_SUB_LANG = 17, PSR_MENU_LANG = 18, PSR_COUNTRY = 19,
  PSR_REGION = 20, PSR_VIDEO_CAP = 29, PSR_TEXT_CAP = 30, PSR_PROFILE_VERSION = 31,
  PSR_BACKUP_PSR4 = 36, PSR_BACKUP_PSR5 = 37, PSR_BACKUP_PSR6 = 38, PSR_BACKUP_PSR7 = 39,
  PSR_BACKUP_PSR8 = 40, PSR_BACKUP_PSR10 = 42, PSR_BACKUP_PSR11 = 43, PSR_BACKUP_PSR12 = 44
}

Functions

BD_PRIVATE BD_REGISTERSbd_registers_init (void)
 Initialize registers.
BD_PRIVATE void bd_registers_free (BD_REGISTERS *)
 Free BD_REGISTERS object.
uint32_t bd_gpr_read (BD_REGISTERS *, int reg)
 Read value of general-purprose register.
int bd_gpr_write (BD_REGISTERS *, int reg, uint32_t val)
 Write to general-purprose register.
uint32_t bd_psr_read (BD_REGISTERS *, int reg)
 Read value of player status/setting register.
int bd_psr_write (BD_REGISTERS *, int reg, uint32_t val)
 Write to player status register.
int bd_psr_setting_write (BD_REGISTERS *, int reg, uint32_t val)
 Write to any PSR, including player setting registers.
void bd_psr_lock (BD_REGISTERS *)
 Lock PSRs for atomic read-modify-write operation.
void bd_psr_unlock (BD_REGISTERS *)
 Unlock PSRs.
void bd_psr_save_state (BD_REGISTERS *)
 Save player state.
void bd_psr_restore_state (BD_REGISTERS *)
 Restore player state.
void bd_psr_reset_backup_registers (BD_REGISTERS *)
 Reset backup registers.
void bd_psr_register_cb (BD_REGISTERS *, void(*callback)(void *, BD_PSR_EVENT *), void *cb_handle)
 Register callback function.
void bd_psr_unregister_cb (BD_REGISTERS *, void(*callback)(void *, BD_PSR_EVENT *), void *cb_handle)
 Unregister callback function.

Typedef Documentation

typedef struct bd_registers_s BD_REGISTERS

Definition at line 74 of file register.h.


Enumeration Type Documentation

enum bd_psr_idx
Enumerator:
PSR_IG_STREAM_ID 
PSR_PRIMARY_AUDIO_ID 
PSR_PG_STREAM 
PSR_ANGLE_NUMBER 
PSR_TITLE_NUMBER 
PSR_CHAPTER 
PSR_PLAYLIST 
PSR_PLAYITEM 
PSR_TIME 
PSR_NAV_TIMER 
PSR_SELECTED_BUTTON_ID 
PSR_MENU_PAGE_ID 
PSR_STYLE 
PSR_PARENTAL 
PSR_SECONDARY_AUDIO_VIDEO 
PSR_AUDIO_CAP 
PSR_AUDIO_LANG 
PSR_PG_AND_SUB_LANG 
PSR_MENU_LANG 
PSR_COUNTRY 
PSR_REGION 
PSR_VIDEO_CAP 
PSR_TEXT_CAP 
PSR_PROFILE_VERSION 
PSR_BACKUP_PSR4 
PSR_BACKUP_PSR5 
PSR_BACKUP_PSR6 
PSR_BACKUP_PSR7 
PSR_BACKUP_PSR8 
PSR_BACKUP_PSR10 
PSR_BACKUP_PSR11 
PSR_BACKUP_PSR12 

Definition at line 35 of file register.h.


Function Documentation

BD_PRIVATE BD_REGISTERS* bd_registers_init ( void   ) 

Initialize registers.

Returns:
allocated BD_REGISTERS object with default values

Definition at line 159 of file register.c.

Referenced by bd_open().

BD_PRIVATE void bd_registers_free ( BD_REGISTERS  ) 

Free BD_REGISTERS object.

Parameters:
registers BD_REGISTERS object

Definition at line 170 of file register.c.

Referenced by bd_close().

uint32_t bd_gpr_read ( BD_REGISTERS ,
int  reg 
)

Read value of general-purprose register.

Parameters:
registers BD_REGISTERS object
reg register number
Returns:
value stored in register, -1 on error (invalid register number)

Definition at line 347 of file register.c.

Referenced by _read_reg(), _read_setbuttonpage_reg(), and _read_setstream_regs().

int bd_gpr_write ( BD_REGISTERS ,
int  reg,
uint32_t  val 
)

Write to general-purprose register.

Parameters:
registers BD_REGISTERS object
reg register number
val new value for register
Returns:
0 on success, -1 on error (invalid register number)

Definition at line 336 of file register.c.

Referenced by _store_reg().

uint32_t bd_psr_read ( BD_REGISTERS ,
int  reg 
)

Read value of player status/setting register.

Parameters:
registers BD_REGISTERS object
reg register number
Returns:
value stored in register, -1 on error (invalid register number)

Definition at line 361 of file register.c.

Referenced by _enable_button(), _find_ig_stream(), _find_selected_button_id(), _mouse_move(), _open_m2ts(), _process_psr_restore_event(), _queue_initial_psr_events(), _read_reg(), _render_page(), _reset_page_state(), _save_page_state(), _set_button_page(), _set_sec_stream(), _set_stream(), _update_selected_button(), _update_stream_psr_by_lang(), _user_input(), and bd_get_meta().

int bd_psr_write ( BD_REGISTERS ,
int  reg,
uint32_t  val 
)

Write to player status register.

Writing to player setting registers will fail.

Parameters:
registers BD_REGISTERS object
reg register number
val new value for register
Returns:
0 on success, -1 on error (invalid register number)

Definition at line 421 of file register.c.

Referenced by _change_angle(), _enable_button(), _open_playlist(), _play_title(), _select_button(), _select_page(), _set_button_page(), _set_nv_timer(), _set_sec_stream(), _set_stream(), _update_chapter_psr(), _update_clip_psrs(), _update_stream_psr_by_lang(), bd_menu_call(), bd_select_angle(), and bd_set_scr().

int bd_psr_setting_write ( BD_REGISTERS ,
int  reg,
uint32_t  val 
)

Write to any PSR, including player setting registers.

This should be called only by the application.

Parameters:
registers BD_REGISTERS object
reg register number
val new value for register
Returns:
0 on success, -1 on error (invalid register number)

Definition at line 379 of file register.c.

Referenced by bd_psr_write(), and bd_set_player_setting().

void bd_psr_lock ( BD_REGISTERS  ) 

Lock PSRs for atomic read-modify-write operation.

Parameters:
registers BD_REGISTERS object

Definition at line 185 of file register.c.

Referenced by _set_sec_stream(), _set_stream(), _update_stream_psr_by_lang(), bd_play(), bd_psr_read(), bd_psr_register_cb(), bd_psr_reset_backup_registers(), bd_psr_restore_state(), bd_psr_save_state(), bd_psr_setting_write(), and bd_psr_unregister_cb().

void bd_psr_unlock ( BD_REGISTERS  ) 
void bd_psr_save_state ( BD_REGISTERS  ) 

Save player state.

Copy values of registers 4-8 and 10-12 to backup registers 36-40 and 42-44.

Parameters:
registers BD_REGISTERS object

Definition at line 246 of file register.c.

Referenced by _suspend_object(), and hdmv_vm_suspend_pl().

void bd_psr_restore_state ( BD_REGISTERS  ) 

Restore player state.

Restore registers 4-8 and 10-12 from backup registers 36-40 and 42-44. Initialize backup registers to default values.

Parameters:
registers BD_REGISTERS object

Definition at line 285 of file register.c.

Referenced by _resume_object().

void bd_psr_reset_backup_registers ( BD_REGISTERS  ) 

Reset backup registers.

Initialize backup registers 36-40 and 42-44 to default values.

Parameters:
registers BD_REGISTERS object

Definition at line 274 of file register.c.

Referenced by _jump_title().

void bd_psr_register_cb ( BD_REGISTERS ,
void(*)(void *, BD_PSR_EVENT *)  callback,
void *  cb_handle 
)

Register callback function.

Function is called every time PSR value changes.

Parameters:
registers BD_REGISTERS object
callback callback function pointer
handle application-specific handle that is provided to callback function as first parameter

Definition at line 199 of file register.c.

Referenced by bd_get_event(), bd_play(), and gc_init().

void bd_psr_unregister_cb ( BD_REGISTERS ,
void(*)(void *, BD_PSR_EVENT *)  callback,
void *  cb_handle 
)

Unregister callback function.

Parameters:
registers BD_REGISTERS object
callback callback function to unregister
handle application-specific handle that was used when callback was registered

Definition at line 223 of file register.c.

Referenced by gc_free().

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