libbluray | branch: master | hpi1 <[email protected]> | Thu Jun 30 15:24:27 2011 +0300| [9738c08d0c34692d751c8c6071930c8e70c588de] | committer: hpi1
Added BD_PSR_WRITE event > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=9738c08d0c34692d751c8c6071930c8e70c588de --- src/libbluray/register.c | 11 ++++------- src/libbluray/register.h | 7 ++++--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/libbluray/register.c b/src/libbluray/register.c index d5cb04d..7621866 100644 --- a/src/libbluray/register.c +++ b/src/libbluray/register.c @@ -383,14 +383,11 @@ int bd_psr_setting_write(BD_REGISTERS *p, int reg, uint32_t val) return -1; } - if (p->psr[reg] == val) { - BD_DEBUG(DBG_BLURAY, "bd_psr_write(%d, %d): no change in value\n", reg, val); - return 0; - } - bd_psr_lock(p); - if (bd_psr_name[reg]) { + if (p->psr[reg] == val) { + BD_DEBUG(DBG_BLURAY, "bd_psr_write(%d, %d): no change in value\n", reg, val); + } else if (bd_psr_name[reg]) { BD_DEBUG(DBG_BLURAY, "bd_psr_write(): PSR%-4d (%s) 0x%x -> 0x%x\n", reg, bd_psr_name[reg], p->psr[reg], val); } else { BD_DEBUG(DBG_BLURAY, "bd_psr_write(): PSR%-4d 0x%x -> 0x%x\n", reg, p->psr[reg], val); @@ -400,7 +397,7 @@ int bd_psr_setting_write(BD_REGISTERS *p, int reg, uint32_t val) BD_PSR_EVENT ev; unsigned i; - ev.ev_type = BD_PSR_CHANGE; + ev.ev_type = p->psr[reg] == val ? BD_PSR_WRITE : BD_PSR_CHANGE; ev.psr_idx = reg; ev.old_val = p->psr[reg]; ev.new_val = val; diff --git a/src/libbluray/register.h b/src/libbluray/register.h index 97cb862..6e6643d 100644 --- a/src/libbluray/register.h +++ b/src/libbluray/register.h @@ -205,9 +205,10 @@ void bd_psr_reset_backup_registers(BD_REGISTERS *); */ /* event types */ -#define BD_PSR_CHANGE 1 -#define BD_PSR_RESTORE 2 -#define BD_PSR_SAVE 3 /* single event, psr_idx and values undefined */ +#define BD_PSR_SAVE 1 /* backup player state. Single event, psr_idx and values undefined */ +#define BD_PSR_WRITE 2 /* write, value unchanged */ +#define BD_PSR_CHANGE 3 /* write, value changed */ +#define BD_PSR_RESTORE 4 /* restore backup values */ /* event data */ typedef struct { _______________________________________________ libbluray-devel mailing list [email protected] http://mailman.videolan.org/listinfo/libbluray-devel
