[Live-devel] Problems on iPhone when on cell network

Thomas Maier thomas.maier at uni-kassel.de
Tue Jun 14 05:14:35 PDT 2011


Am 10.06.2011 um 23:41 schrieb Ross Finlayson:
> Sorry for the long delay in responding to this.  (I've been traveling for the past two months, and am way behind on email.)

Hi Ross, thanks for the follow-up.  Hope it was a nice vacation.


>> Unable to determine our source address: This computer has an invalid IP address: 0x0
> 
> Our code (specifically, the function "ourIPAddress()" in "groupsock/GroupsockHelper.cpp") uses two mechanisms (in succession) to try to find the computer's IP address:
> 
> 1/ It sends a multicast packet, then receives it and looks at the IP source address.
> 
> 2/ If step 1/ fails, the code then calls "gethostname()", extracts the resulting domain name, and then calls "gethostbyname()" on this domain name.
> 
> Step 1/ is by far the most reliable mechanism of the two (because many systems either don't have a domain name, or else "gethostname()" and/or "gethostbyname()" aren't supported).  However, for Step 1/ to work, you *must* have IP multicast working on your system.  In particular, you need to have a route installed on your system for 224/8.  Nonetheless, this is the first thing that people should try to do if they encounter this problem.
> 
> Now, I'm (pleasantly) surprised to learn that you have the "LIVE555 Streaming Media" code working on an iPhone, because our documentation does not include instructions for compiling for the iPhone.  (If anyone would like to contribute some instructions/tips for doing this, I'd be happy to add them to our online documentation.) However, because you're getting this error, it means that both 1/ the iPhone's OS doesn't have an IP multicast route installed for 224/8, *and* 2/ the combination of "gethostname()" and "gethostbyname()" isn't working.  If you can't fix either 1/ or 2/, then you'll have to come up with some other mechanism for getting your IP address.  (If you can do this, let us know, and we'll consider adding it (as a third mechanism to try) to our "ourIPAddress()" code.)

Thanks for the overview, Ross.  Unfortunately I have not found a solution.

Regarding iOS, um, there actually was a config.iphoneos in the archive I downloaded.  You might want to apply the "ar vs. libtool" patch there, too.

Isn't it great when you forget on how many platforms your own software runs :).

-- 
Thomas




More information about the live-devel mailing list