51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
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.
 | 
						|
 |