User7723337 User7723337 - 3 years ago 142
Android Question

Using DIAL Protocol in Android application

I want to use DIAL Protocol in my video streaming application, my application is an sample application and only plays HLS sample stream using VideoView.

I want to integrate DIAL protocol ( in my application to stream the video on TV or other DIAL supported server devices. I have few questions.

  1. Is it that i need to implement server and client both, or just client?

  2. Can i test this client and server on two android powered phones, or i need to use DIAL supported TV as an server app?

  3. On the DIAL web site they have given sample application in CPP, so is it that I need to reuse code from this sample and write JNI on top of this code to use in Android. OR there is SDK/Libs of the protocol implementation available for Android.

  4. Where can i find sample for android.

  5. I am just doing it for sample/test purpose, so do need to register application name, as mentioned in specs document?

Answer Source

1). You only need to implement the client if you are going to be talking to existing server apps (like talking to a smart TV or Chromecast from a phone app). If you do this, you will basically be building an app to do things like trigger playing YouTube videos on a TV from a phone. If you want to implement playing back different media, you will need to implement a DIAL server as well.

2). You can test it with any server that implements the server-side of the DIAL protocol, so two phones would be fine as a proof of concept but having the client and server both be on phones isn't very useful in practice. Having the client run on a phone and the server run from a PC would be a more realistic situation, or test against a smart TV or Chromecast that implements the DIAL server side protocol. If you test using two phones, you will definitely need to implement both the server and client side of the DIAL protocol.

3) You're certainly not required to use the sample code. Implementing the protocol in Java using standard HTTP-speaking classes would probably be simpler. Don't know of an existing Java implementation, but it wouldn't be too hard to implement.

4) Don't know of any sample code available, but anything that supports Chromecast (like the Netflix and YouTube apps) includes DIAL client functionality- look around for open-source apps that support streaming content to Chromecast.

5) If you are only implementing client-side content, then you have no need to register any names. You need to register a name only if you are going to be distributing server apps. See here for details:

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download