Does Tivo Series 2 "forget" about local HME apps running in same network?

Discussion in 'Developers Corner' started by los, Aug 6, 2007.

  1. Aug 6, 2007 #1 of 11
    los

    los New Member

    6
    0
    Jun 27, 2005

    Advertisements

    Hi,

    I'm running into a problem where I start my HME app in a computer in my local network. I go to Music, Photos, & More and I see my application listed. I can run my application and everything is fine.

    However if I leave the Tivo idle for some time, it eventually goes back into Live TV mode, and if I now go back to Music Photos & More, my application doesn't appear in the list anymore. The application is still running on the PC though.

    If I stop and restart the hme app, then the Tivo detects that it's running again.

    Can someone explain what is happening? Is there a work around for this?

    Thanks,

    los
     
  2. Aug 6, 2007 #2 of 11
    yzoer

    yzoer New Member

    21
    0
    Jun 21, 2007
    Hi!

    Are you handling the 'timeout' event? If you don't handle that within 15 seconds, it'll shut down the app. If you *do* handle it, you can probably shut it down gracefully or just quit... on your terms.

    From what you're telling us, it seems it also takes the entire factory down with it. Let us know what you find out!


    Yvo
     
  3. Aug 6, 2007 #3 of 11
    los

    los New Member

    6
    0
    Jun 27, 2005
    I wasn't handling the timeout correctly. I was under the impression that the timeout only mattered if you were using the application, then just left it idle. Not when you start up the server on the pc, and didn't start the application.

    I'm going to add the timeout and see if that fixes the issue.
     
  4. Aug 6, 2007 #4 of 11
    s2kdave

    s2kdave New Member

    515
    0
    Jan 27, 2005
    I can explain how the protocol works a little. It really depends on the hosting environment on your pc though. Basically your HME app (hme sample host, gallleon etc..) sends out UDP broadcasts with service definitions in it periodically. It's recommended 30 seconds in the beginning and 60 seconds after that. So if your program stops sending those broadcasts or they are blocked by a firewall or the tivo never receives it for some reason, then your app will disappear from the list.

    David
     
  5. Aug 7, 2007 #5 of 11
    los

    los New Member

    6
    0
    Jun 27, 2005

    Advertisements

    Doesn't make sense why the broadcast would get to the tivo when the application is launched but not later on. Firewall issues just doesn't add up in this case. If this isn't fixed in the idle event handler, then I believe it's either an issue on the receiver losing the information or the server not broadcasting later on.
     
  6. Aug 7, 2007 #6 of 11
    s2kdave

    s2kdave New Member

    515
    0
    Jan 27, 2005
    Also recall that UDP isn't a reliable transport so it is prone to losing packets which is why it broadcasts regularly. I suppose if you have a lot of "noise" going on your lan, it would be more prone to losing the packets.
     
  7. Aug 7, 2007 #7 of 11
    los

    los New Member

    6
    0
    Jun 27, 2005
    I understand what you're saying, and it's true that UDP is not guaranteed delivery.

    However it's not like this happened only once, or every so often. There isn't anything abnormal about the LAN usage that would make the broadcast happen when the server is started, but fail for all later broadcasts. The only way to test I guess would be to leave a program running and sniffing the connection and then analyze the udp broadcasts for the tivo. I never tried to leave a connection sniffer running for an hour...that log would be huge.
     
  8. Aug 7, 2007 #8 of 11
    yzoer

    yzoer New Member

    21
    0
    Jun 21, 2007
    Are you sure it's using UDP?

    I thought it was all stacked on top of HTTP, which uses TCP/IP. Also, packets never seem to get 'lost', they just queue up. I've seen that happen with timer events, which sucks to put it mildly...

    Maybe I'm smoking crack.. Anyone have any luck on the Custom Sound front?


    Yvo
     
  9. Aug 7, 2007 #9 of 11
    s2kdave

    s2kdave New Member

    515
    0
    Jan 27, 2005
    Positive. The HME protocol is TCP, but the discovery of your Apps and where to find them are UDP.
     
  10. s2kdave

    s2kdave New Member

    515
    0
    Jan 27, 2005
    los, does this only happen with your app? Or does it also happen with other apps running on the same box?
     
  11. los

    los New Member

    6
    0
    Jun 27, 2005
    I haven't tried to run other hme apps. The Yahoo! stuff, together with the games are always displayed. But if this isn't something that is fixed through the handleIdle event, then it shouldn't matter what my app is. The broadcasting is all done through the hme code, which is the same to everyone. I'm using hme 1.4.
     

Share This Page

spam firewall

Advertisements