| This directory contains sample code to test the use of virtual |
| displays created over an Android Open Accessories Protocol link. |
| |
| --- DESCRIPTION --- |
| |
| There are two applications with two distinct roles: a sink |
| and a source. |
| |
| 1. Sink Application |
| |
| The role of the sink is to emulate an external display that happens |
| to be connected using the USB accessory protocol. Think of it as |
| a monitor or video dock that the user will want to plug a phone into. |
| |
| The sink application uses the UsbDevice APIs to receive connections |
| from the source device over USB. The sink acts as a USB host |
| in this arrangement and will provide power to the source. |
| |
| The sink application decodes encoded video from the source and |
| displays it in a SurfaceView. The sink also injects passes touch |
| events to the source over USB HID. |
| |
| 2. Source Application |
| |
| The role of the source is to present some content onto an external |
| display that happens to be attached over USB. This is the typical |
| role that a phone or tablet might have when the user is trying to |
| play content to an external monitor. |
| |
| The source application uses the UsbAccessory APIs to connect |
| to the sink device over USB. The source acts as a USB peripheral |
| in this arrangement and will receive power from the sink. |
| |
| The source application uses the DisplayManager APIs to create |
| a private virtual display which passes the framebuffer through |
| an encoder and streams the output to the sink over USB. Then |
| the application opens a Presentation on the new virtual display |
| and shows a silly cube animation. |
| |
| --- USAGE --- |
| |
| These applications should be installed on two separate Android |
| devices which are then connected using a USB OTG cable. |
| Remember that the sink device is functioning as the USB host |
| so the USB OTG cable should be plugged directly into it. |
| |
| When connected, the applications should automatically launch |
| on each device. The source will then begin to project display |
| contents to the sink. |
| |