Page 1 of 1

Timeout setting for Channel Info (sec.)

Posted: Mon Sep 16, 2013 7:07 am
by juusso
It is a little too long, maybe we could change this? I`m talking not about ChannelInfo while we switch channels (patch you just finished). But Channel Info duration when it is invoked by INFO RC button. On my TV it is 10 sec long. Sometimes we just need to chek program name or check clock, no need to staring at infobar for whole 10 sec :o

Re: Timeout setting for Channel Info (sec.)

Posted: Mon Sep 16, 2013 8:35 am
by bugficks
checked disasm and it should only show for 2 secs, no idea (yet) why it shows longer

Re: Timeout setting for Channel Info (sec.)

Posted: Mon Sep 16, 2013 9:15 am
by bugficks
well i've thought that might be the timer for it since we're patching ShowChannelBanner :)

CViewerManager::StartChannelBannerTimer

Re: Timeout setting for Channel Info (sec.)

Posted: Mon Sep 16, 2013 9:28 am
by juusso
This forces TV use default 10sec even by channel switching. Interesting feature, but not what we`re searching...

Code: Select all

	{ "_ZN14CViewerManager17ShowChannelBannerEbi",	0x00000000,	0x00000090,	0x00000094, 0xE5940010, 0xE5940005, NULL },	
SpoilerShow

Code: Select all

text:00B78250 00 20 A0 E3                 MOV             R2, #0
.text:00B78254 05 00 A0 E1                 MOV             R0, R5
.text:00B78258 B8 DD FF EB                 BL              _ZN14CViewerManager20HideProhibitedBannerEii ; CViewerManager::HideProhibitedBanner(int,int)
.text:00B7825C 7D 4B 00 EB                 BL              _ZN14CViewerSession11GetInstanceEv ; CViewerSession::GetInstance(void)
.text:00B78260 00 40 A0 E1                 MOV             R4, R0
.text:00B78264 4D BF FE EB                 BL              pthread_self
.text:00B78268 00 70 A0 E1                 MOV             R7, R0
.text:00B7826C 10 00 94 E5                 LDR             R0, [R4,#0x10]    <==================Patch here R4, #0x5
.text:00B78270 07 00 50 E1                 CMP             R0, R7
.text:00B78274 58 00 00 0A                 BEQ             loc_B783DC
.text:00B78278 08 00 84 E2                 ADD             R0, R4, #8
.text:00B7827C BD B4 1E EB                 BL              _ZN11PCSemaphore4TakeEv ; PCSemaphore::Take(void)
.text:00B78280 01 C0 A0 E3                 MOV             R12, #1
.text:00B78284 10 70 84 E5                 STR             R7, [R4,#0x10]
.text:00B78288 14 C0 84 E5                 STR             R12, [R4,#0x14]

Re: Timeout setting for Channel Info (sec.)

Posted: Mon Sep 16, 2013 9:40 am
by bugficks
i doubt thats a good idea
what your doing is:
pointer_to_viewer_instance[0x10] to pointer_to_viewer_instance[0x5]

and it looks like the at index 0x10 is the thread that viewer instance belongs to is stored

Re: Timeout setting for Channel Info (sec.)

Posted: Mon Sep 16, 2013 9:42 am
by bugficks
look for StartBannerTimeout references... that function often has 0x2710 as argument which is 10 secs

Re: Timeout setting for Channel Info (sec.)

Posted: Mon Sep 16, 2013 11:16 am
by zoelechat
Good idea. I didn't dare to suggest it but now ChannelInfoApp exists, I also find these 10 seconds really too long :)

Re: Timeout setting for Channel Info (sec.)

Posted: Mon Sep 16, 2013 6:03 pm
by bugficks
i might have found the spot finally. no idea how i should distinguish channel change or info key from rc though. if i do a patch it would be for both