mauimauer / cheapcast

It's CheapCast.
Apache License 2.0
400 stars 107 forks source link

CheapCast on OUYA not visible in ChromeCast list #10

Open ytilis opened 10 years ago

ytilis commented 10 years ago

When CheapCast (BETA 2) is sideloaded onto an Ouya and the service is run, it does not become visible in the list of active ChromeCast devices.

Tried connecting the Ouya via both WiFi and Ethernet, and I confirmed that CheapCast works on my network by casting to my 2013 Nexus 7 from my Galaxy Nexus. Only the Nexus 7 appeared in the list of active ChromeCast devices. Tried casting from Google Play Music, Google Play Movies, and YouTube on my Galaxy Nexus.

The app itself does not crash or throw any errors to the user.

jayasafunctionofe commented 10 years ago

The OUYA seems to work best when you have CheapCast setup to run on startup. It does start, and you can access the following file using http://{ip-of-ouya}:8008/ssdp/device-desc.xml but the URLBase is wrong:

<?xml version="1.0" encoding="utf-8"?>
    <root xmlns="urn:schemas-upnp-org:device-1-0">
        <specVersion>
        <major>1</major>
        <minor>0</minor>
        </specVersion>
        <URLBase>http://127.0.0.1:8008</URLBase>
        <device>
            <deviceType>urn:schemas-upnp-org:device:dial:1</deviceType>
            <friendlyName>OuyaCast</friendlyName>
            <manufacturer>Google Inc.</manufacturer>
            <modelName>Eureka Dongle</modelName>
            <UDN>uuid:952eb0e5-6c13-44f7-8a66-f1c7beb16012</UDN>
            <serviceList>
                <service>
                    <serviceType>urn:schemas-upnp-org:service:dial:1</serviceType>
                    <serviceId>urn:upnp-org:serviceId:dial</serviceId>
                    <controlURL>/ssdp/notfound</controlURL>
                    <eventSubURL>/ssdp/notfound</eventSubURL>
                    <SCPDURL>/ssdp/notfound</SCPDURL>
                </service>
            </serviceList>
        </device>
    </root>
jayasafunctionofe commented 10 years ago

In looking at a logcat captured during boot-up, it seems CheapCast is getting started BEFORE the OUYA even connects to my WLAN. After starting on boot-up, i restarted the CheapCast service, and it reported back the proper IP when i requested device-desc.xml, and is now discoverable via the Chrome add-in.

It took two tries, and there are tons of jetty errors in the logcat logs, but I'm now able to cast Youtube videos to my Ouya.(edit: in what appears to actually be HD video, awesome!)

jayasafunctionofe commented 10 years ago

I did some further testing related to this:

Ethernet failure is probably related to whatever is causing it to fail on other devices (https://github.com/mauimauer/cheapcast/issues/8)

Questinghero commented 10 years ago

on the newest (2.5 Beta I think), it works great on my Ouya over wifi... I would love for it to work when hooked to wired though.

supermatty commented 10 years ago

I've had the same experience. The latest beta works over wifi but not ethernet. I'm betting this is because the most common way to obtain the ip address in an android app is using the WifiManager service. You can get at the ip address of ethernet adapters as well, it's just a little more code.

I'd be happy to contribute if the developer wants help!