DIAL client
Switch branches/tags
Nothing to show
Failed to load latest commit information.
.settings First commit Jul 29, 2013
libs First commit Jul 29, 2013
res First commit Jul 29, 2013
src/com Support different line endings Sep 4, 2013
.classpath First commit Jul 29, 2013
.project First commit Jul 29, 2013
AndroidManifest.xml First commit Jul 29, 2013
README.md Update README Aug 6, 2013
project.properties First commit Jul 29, 2013



This is DIAL client written in Android. The DIAL protocol allows TV devices to be discovered and controlled.

The current version will discover both Google TV and ChromeCast devices. The client is a proof of concept for controlling ChromeCast devices using open API's. The current code does not rely on the Google Cast SDK and the OS on the ChromeCast device does not need to be hacked. The ChromeCast device also does not need to have developer options enabled.

After the DIAL servers are discovered and the user selects a particular device in the UI, an attempt is made to connect to the ChromeCast device and play a YouTube video. Most of the ChromeCast-specific logic is contained in MainActivity.onActivityResult. Operations are done via HTTP and Web Sockets. ChromeCast apps use a protocol called RAMP for media playback which is not currently supported by the client.

This holds promise for being to control other aspects of the ChromeCast device using open API's. How the CromeCast device works is now better understood (especially since the low level protocol details aren't documented by Google). It is possible to remotely control the device from a third-party app. There might be other aspects of the device that might be controlled in ways the Google apps don't support. This also shows that it might be possible to develop apps that don't use the cloud based solution of the official Google Cast SDK.

Other apps developed by Entertailion: