Skip to content


Subversion checkout URL

You can clone with
Download ZIP
DIAL client
branch: master
Failed to load latest commit information.
.settings First commit
libs First commit
res First commit
src/com Support different line endings
.classpath First commit
.project First commit
AndroidManifest.xml First commit Update README First commit


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:

Something went wrong with that request. Please try again.