register.c File Reference

Go to the source code of this file.

Classes

struct  PSR_CB_DATA
struct  bd_registers_s

Functions

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

Variables

static const uint32_t bd_psr_init [BD_PSR_COUNT]
static const char *const bd_psr_name [BD_PSR_COUNT]

Function Documentation

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

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

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

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

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

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

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


Variable Documentation

const uint32_t bd_psr_init[BD_PSR_COUNT] [static]
const char* const bd_psr_name[BD_PSR_COUNT] [static]
Initial value:
 {
    "IG_STREAM_ID",
    "PRIMARY_AUDIO_ID",
    "PG_STREAM",
    "ANGLE_NUMBER",
    "TITLE_NUMBER",
    "CHAPTER",
    "PLAYLIST",
    "PLAYITEM",
    "TIME",
    "NAV_TIMER",
    "SELECTED_BUTTON_ID",
    "MENU_PAGE_ID",
    "STYLE",
    "PARENTAL",
    "SECONDARY_AUDIO_VIDEO",
    "AUDIO_CAP",
    "AUDIO_LANG",
    "PG_AND_SUB_LANG",
    "PSR_MENU_LANG",
    "PSR_COUNTRY",
    "PSR_REGION",
    "PSR_VIDEO_CAP",
}

Definition at line 109 of file register.c.

Referenced by bd_psr_setting_write().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Sun May 27 06:41:46 2012 for MythTV by  doxygen 1.6.3