Page 1 of 1

[App] TimeShift Player Seek Patch

Posted: Wed Apr 09, 2014 1:51 pm
by sectroyer
This is stable version of TimeShift Seek patch for E series. It allows settings time values for both KEY_LEFT/KEY_RIGHT and also adds support for KEY_UP/KEY_DOWN. For me it works all the time and allows setting seek values multiple times without the need to restart TV. Please test it, post your TV model, firmware version and debug (-d) output :)

Sample usage:

Code: Select all

./timeshiftseekpatch -n exeDSP -d
By default the app sets seek values to +/-30 and +/-90 seconds. Sample useage for different values:

Code: Select all

./timeshiftseekpatch -n exeDSP -d -u 120 -o -120 -l -60 -r 60

Re: [App] TimeShift Player Seek Patch

Posted: Wed Apr 09, 2014 2:27 pm
by zoelechat
Reporting it works perfectly there:
SpoilerShow

Code: Select all

./timeshiftseekpatch -n exeDSP -d -u 60 -o -60 -l -30 -r 30
SHM, created: 0
pc=428234dc lr=428234c8 sp=be873ef8 fp=72bc50c
r0=fffffe00 r1=80
r2=1 r3=0
symbol: adbg_CheckSystem -> @0x03658ac4
Patched adbg_CheckSystem at @0x03658ac4
symbol: adbg_CheckSystem -> @0x03658ac4
Patched adbg_CheckSystem at @0x03658ac4
symbol: valloc -> @0x423244c0
symbol: mprotect -> @0x42379c80
Stack: @0xbe857000 - @0xbe878000
pc=428234dc lr=428234c8 sp=be873ef8 fp=72bc50c
r0=fffffe00 r1=80
r2=1 r3=0
Executing injection code at 0xbe873e64
Allocated new memory with size 0x00001000 at address: @0x0910e000
symbol: _ZN13CPVRTSMgrPast13Key_ProcedureEPK7PTEvent -> @0x02662b58
KEY off: 2
KEY pos: 10
Left PVR Seek values for _ZN13CPVRTSMgrPast13Key_ProcedureEPK7PTEvent patched successfully.
Right PVR Seek values for _ZN13CPVRTSMgrPast13Key_ProcedureEPK7PTEvent patched successfully.
KEY pos: 2
Previous hook to 0x0917f500 found at address: 0x02662f20
Correct return address found. Using previous asm values.
ASM1: 0xe5933000
ASM1: 0xe1570003
PVR ProcessKeys patched successfully.
symbol: adbg_CheckSystem -> @0x03658ac4
Patched adbg_CheckSystem at @0x03658ac4
symbol: valloc -> @0x423244c0
symbol: mprotect -> @0x42379c80
Stack: @0xbe857000 - @0xbe878000
pc=428234dc lr=428234c8 sp=be873ef8 fp=72bc50c
r0=fffffe00 r1=80
r2=1 r3=0
Executing injection code at 0xbe873e64
Allocated new memory with size 0x00001000 at address: @0x090be000
symbol: _ZN15CPVRTSMgrNormal13Key_ProcedureEPK7PTEvent -> @0x02660db0
KEY off: 2
KEY pos: 10
Left PVR Seek values for _ZN15CPVRTSMgrNormal13Key_ProcedureEPK7PTEvent patched successfully.
Right PVR Seek values for _ZN15CPVRTSMgrNormal13Key_ProcedureEPK7PTEvent patched successfully.
KEY pos: 2
Previous hook to 0x091aa500 found at address: 0x02661174
Correct return address found. Using previous asm values.
ASM1: 0xe5933000
ASM1: 0xe1570003
PVR ProcessKeys patched successfully.
Patching completed!
(what a long debug output :) )

Thanks! ;)

Re: [App] TimeShift Player Seek Patch

Posted: Wed Apr 09, 2014 2:40 pm
by sectroyer
zoelechat wrote:Reporting it works perfectly there:
SpoilerShow

Code: Select all

./timeshiftseekpatch -n exeDSP -d -u 60 -o -60 -l -30 -r 30
SHM, created: 0
pc=428234dc lr=428234c8 sp=be873ef8 fp=72bc50c
r0=fffffe00 r1=80
r2=1 r3=0
symbol: adbg_CheckSystem -> @0x03658ac4
Patched adbg_CheckSystem at @0x03658ac4
symbol: adbg_CheckSystem -> @0x03658ac4
Patched adbg_CheckSystem at @0x03658ac4
symbol: valloc -> @0x423244c0
symbol: mprotect -> @0x42379c80
Stack: @0xbe857000 - @0xbe878000
pc=428234dc lr=428234c8 sp=be873ef8 fp=72bc50c
r0=fffffe00 r1=80
r2=1 r3=0
Executing injection code at 0xbe873e64
Allocated new memory with size 0x00001000 at address: @0x0910e000
symbol: _ZN13CPVRTSMgrPast13Key_ProcedureEPK7PTEvent -> @0x02662b58
KEY off: 2
KEY pos: 10
Left PVR Seek values for _ZN13CPVRTSMgrPast13Key_ProcedureEPK7PTEvent patched successfully.
Right PVR Seek values for _ZN13CPVRTSMgrPast13Key_ProcedureEPK7PTEvent patched successfully.
KEY pos: 2
Previous hook to 0x0917f500 found at address: 0x02662f20
Correct return address found. Using previous asm values.
ASM1: 0xe5933000
ASM1: 0xe1570003
PVR ProcessKeys patched successfully.
symbol: adbg_CheckSystem -> @0x03658ac4
Patched adbg_CheckSystem at @0x03658ac4
symbol: valloc -> @0x423244c0
symbol: mprotect -> @0x42379c80
Stack: @0xbe857000 - @0xbe878000
pc=428234dc lr=428234c8 sp=be873ef8 fp=72bc50c
r0=fffffe00 r1=80
r2=1 r3=0
Executing injection code at 0xbe873e64
Allocated new memory with size 0x00001000 at address: @0x090be000
symbol: _ZN15CPVRTSMgrNormal13Key_ProcedureEPK7PTEvent -> @0x02660db0
KEY off: 2
KEY pos: 10
Left PVR Seek values for _ZN15CPVRTSMgrNormal13Key_ProcedureEPK7PTEvent patched successfully.
Right PVR Seek values for _ZN15CPVRTSMgrNormal13Key_ProcedureEPK7PTEvent patched successfully.
KEY pos: 2
Previous hook to 0x091aa500 found at address: 0x02661174
Correct return address found. Using previous asm values.
ASM1: 0xe5933000
ASM1: 0xe1570003
PVR ProcessKeys patched successfully.
Patching completed!
(what a long debug output :) )

Thanks! ;)
The output has to be long because I need to patch it in multiple places. TV uses different classes for different scenarios in TimeShift. For instance CPVRTSMgrNormal is used when you are watching "live" TimeShift. If you rewind it uses CPVRTSMgrPast, etc. That's why it's important to check whether it works in all scenarios :)

Re: [App] TimeShift Player Seek Patch

Posted: Wed Apr 09, 2014 7:24 pm
by greenhorn
Works here too.

Re: [App] TimeShift Player Seek Patch

Posted: Wed Apr 09, 2014 7:49 pm
by sectroyer
greenhorn wrote:Works here too.
Look for a situation where it doesn't work :) Let me know if you find one :)