| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| | |
Change-Id: Id2dbb227280f0c0e1b5708ef78b9f19b087f92d5
|
| |
| |
| |
| |
| |
| |
| | |
This is part of a bigger CL (coming later this week) that uses qemu pipes to
hook up host ADB with ADBD daemon running on the guest system.
Change-Id: I625b020531af636b9b9fa4e4aa52b7586749c693
|
|/
|
|
|
|
|
|
|
| |
The pipe client should really be closed (and destructed) only when the guest closes
its handle to the pipe. When pipe client is closed from within the emulator, it
should only notify the guest about disconnection, and wait for the guest to
explicitly close the pipe handle.
Change-Id: I6bde3ae1e05ff5dc40e9903282c3fc46df0b9b57
|
|
|
|
|
|
|
|
|
|
| |
This fixes the 64-bit Linux build (i.e. ./android-rebuild.sh --try-64).
You can't really call _mm_empty() when your target CPU doesn't support MMX.
We should probably try to use XMM registers instead of MMX for this in
the future, but this should be good enough for now.
Change-Id: If5abf747939022ef47daf7eb4badf1798e22bf95
|
|
|
|
| |
Change-Id: I54897ca86b372d98c7a30a47ecf88a4df8ee0fe9
|
|
|
|
|
|
|
|
|
|
| |
Camera framework requires that certain frame dimensions must be supported by the
camera devices. Since on Windows and Mac we have no way of knowing the real
webcam capabilities, but camera API there pretty much allows us to choose any
frame dimensions that we want, we will hard-code those that are required by
the camera framework.
Change-Id: I625381776f374103d2ac1c62fabae23b1c5afa88
|
|
|
|
| |
Change-Id: I554de3610bbd28cc299fecae4bf0199f044edb5a
|
|
|
|
| |
Change-Id: Ia2c29d890695186b04dd5d306c88aadfe084318f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are three major things in this CL:
1. Abstract a connection with an Android device that is connected to the host via
USB, and there is a TCP port forwarding to this device via 'adb forward' command.
This abstraction is implemented in android/android-device.*
2. A client for android device API that talks to an app on the connected device that
provides values for sensors available on the device. This is implemented in
android/sensors-port.*
3. Changes to the sensor emulation code in android/hw-sensors.c to use sensors port
(when available) for sensors emulation.
Change-Id: I12901e8db6b6a6262fc1703ed96a9f714335d666
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add snapshot load/save support to QEMU Pipes
This adds the ability to save and load QEMU Pipe connections
with snapshots. Note that by default, all loaded pipe client
connections are force-fully closed on load.
We don't have a good way to save the state of network
connections to persistent storage.
Properly implements snapshot save / load for qemu pipe clients.
Change-Id: Ie5767f8ce40c8341b958cc5844e724dd4fc1ed2b
|
|
|
|
| |
Change-Id: I4f238bbd0175036b6003ebdf266de608d6acc6e7
|
|
|
|
|
|
|
| |
In some cases (when frame sizes for pixel formats are not available) the loop will
be not properly bounded, and may cause a crash.
Change-Id: I2f2380ab4e2f7454bff8eeabcaff4e3f238fe71e
|
|
|
|
| |
Change-Id: I7c4830ba7606bedcf462e967adad3358723c44ba
|
|
|
|
| |
Change-Id: I01609e8bfcdd8ee5ef876344d0a334ecd69a2b7a
|
|
|
|
| |
Change-Id: Ib3891704ece2cea0c5a80b468b2514e6c4d13216
|
|
|
|
|
|
|
|
| |
This allows injecting a new runtime property into the system
running on the emulator to control whether to display the new
software back/home keys.
Change-Id: I2bf7cc5c291752090187463332219638e883d052
|
|
|
|
| |
Change-Id: I9221916514a39435d2710fa9dada92a87bdc4dab
|
|
|
|
| |
Change-Id: I7387eea3639d63b278b702100ee2d4584f87f4e2
|
|
|
|
|
|
|
| |
Currently camera app will crash on an attempt to switch cameras if camera 0 and 1 are
facing in the same direction. So, user should be warned about that on emulator start.
Change-Id: Ic85da614d30295b04d2a318fb1c2015cc52f1140
|
|
|
|
|
|
|
|
|
|
|
| |
It has been observed on some of the MS camera devices, that device may got stuck on something
that would alwais return EAGAIN when queried for the next video frame. This requires us to
timeout the loop that repeats attempts to acquire first frame from the device. Also added
detection and reporting of I/O errors occurred during frame capturing.
Also, this CL contains some cosmetick changes to error and warning reporting.
Change-Id: I81edaf5ff8bfe147dbe4510e1446e77a87817f37
|
|
|
|
| |
Change-Id: Ia748fe3f38e8366d0507fcee995eac311dd8c72a
|
|
|
|
|
|
|
| |
Reseting capture windows on each "stop capture" + setting capture parameters allow to
change video frame dimensions.
Change-Id: I0ce8ed77dfa9838894acb9e9e84d84692bb3d520
|
|
|
|
|
|
|
| |
Apparently, bitmap obtained through the capXxx + clipboard API is formatted
with BRG, not RGB format.
Change-Id: Ib161be50d2d3258045a467b152a5a750e1a8fb42
|
|
|
|
|
|
| |
Also adds support for YU12 pixel format that is used in video frames
Change-Id: I613beef8b3e2296fd1fab7e2b9d2956fba1ac788
|
|
|
|
| |
Change-Id: I94939964890c4304a47ba86c582baf3a9544b5aa
|
|
|
|
| |
Change-Id: I8d074590bb1efd68789e341e37356bc9fb2c9c08
|
|
|
|
| |
Change-Id: I0acc651be93eb9b5bea49280a7dccd18c1386d48
|
|
|
|
| |
Change-Id: I68abaa8b89e2b46dc57bff1d7dbd6d9fda213dc8
|
|
|
|
|
|
| |
-webcam name=<name>[,dir=<direction>] options controls web cameras to use for emulation.
Change-Id: I961fd399c7e041541adda040dd24f194cc383cb9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current conversion implementation was laking flexibility as far as adding support
for new formats was concerned. In particular, adding support for each new format meant
adding four converter routines: new format <--> RGB, new format <--> YUV. This was not
scalable, so had to be rewritten.
The new conversion implementation consists of four generic converters between different
flavors og RGB/YUV formats, and array of descriptors for each supported format. Each
descriptor contains information that is sufficient for the converter routines to perform
its job. So, adding new format is just creating a new descriptor for that format, and
adding it to the array of supported descriptors.
Change-Id: Ica107d14fa03fa8f41eb9192f2c023a97f54b62c
|
|
|
|
| |
Change-Id: I4bea0f3678b2ac21f3c6cf80581e997145e2a58d
|
|\ |
|
| |
| |
| |
| |
| |
| | |
This improves performance of various benchmarks by 5%
Change-Id: If2d2be0e9849429ecffe52b7d482cfbee4008473
|
| |
| |
| |
| |
| |
| |
| |
| | |
Apparently, video driver doesn't allow frame size change, once it has been
explicitly set. In order to get around this we need to reset the handle to the
camera device by closing, and then reopening it.
Change-Id: Icfd37b3c196d2643507218b965c5015884ed455b
|
|/
|
|
|
|
|
| |
- Enable / Disable fake camera
- Set fake camera facing direction: back, or front
Change-Id: Iab741a694daf2bf752e91e23df566a83ac7a97e7
|
|
|
|
|
|
|
|
|
| |
By default, GPU emulation is still disabled. You can
still try to force it with '-gpu on' for experimentation
purpose (alternatively, you can define hw.gpu.enabled to
'true' in your AVD config.ini)
Change-Id: I87efdf45337a80aeadd94b3922312b3f564c1608
|
|
|
|
|
|
|
| |
For some reason, there was a bug, where the option was being ignored
if set from the command-line.
Change-Id: I61c6e3127b469f4ec661b834b15c4da0841551af
|
|
|
|
| |
Change-Id: I5ca4b1393211c1d8a5caba332c3f6164afb4661b
|
|
|
|
|
|
| |
Remove Windows artifact
Change-Id: I2ffd5979674619786742f14995edbf10edfff23a
|
|
|
|
|
|
| |
Add dummy rutines implementing public camera API on Mac
Change-Id: Id3c9d99d863785b0e00d1bdf6deb0a1af49ce91c
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is fully functional camera service implementation, that works (tested) on both,
Linux and Windows.
Fixed little/big endian bugs in the coverter code. Moved preview frames to use RGB32
instead of RGB565: RGB32 conversions are simpler and faster in the guest.
Made "payload size send" a separate routine
Change-Id: I96954f4c2cb4e4ef4dd6a20e41897d79c5037bae
|
|
|
|
|
|
|
|
|
|
| |
Skeleton that implements camera emulation service over QEMU pipe. More meat
will be added as the guest camera emulation develops.
This is a patch taken from approved AOSP commit that didn't go through
because of a merge conflict.
Change-Id: I6f0a2e42be4f5f0bd86d3dbf0c2a609e74b200c2
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When filling in qemud buffers in the loop, current offset in the current qemud buffer
(off_in_buff variable) has not been accounted for when calculating number of bytes
to copy from the message to qemud buffer. This caused data corruption, because number
of bytes copied has exceeded the capacity of qemud buffer.
Also, off_in_buff has not been reset when switching to the next qemud buffer.
Also fixed _qemud_char_service_connect routine to accept a client parameter string
Change-Id: I2f5a7ca5924c0b79d8755f4777145044567f3e8d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a new hardware property to enable GPU emulation
(named hw.gpu.enabled). It is currently disabled by default.
It also modifies the UI code to display the GL output properly
inside the UI window. And sets the kernel parameter qemu.gles
to either 0 or 1 to indicate to the guest system's GLES libraries
whether to use GPU emulation or fallback to the software renderer.
A future patch will also add auto-detection of desktop GL capabilities.
For example, if the emulator is started on a headless server without
an X11/GL display, hw.gpu.enabled will be forced to 'no', forcing the
guest to use the software renderer.
Another patch will allow to change the property from the command-line
for debugging purpose.
NOTE: If you want to test GPU emulation, change the default value of
the property in android/avd/hardware-properties.ini from 'no'
to 'yes'. You will need to run a ToT master AOSP tree with
the following pending patches applied:
https://review.source.android.com/25797
https://review.source.android.com/25154
https://review.source.android.com/25759
Change-Id: I1fa3512be24395244fd5068f2bf59ad54db5c7d5
|
|
|
|
|
|
|
| |
This patch fixes a simple segmentation fault in the case
where we can't connect to the GPU emulation rendering library.
Change-Id: I47df0cae9029aee4738fd89083750e3baca5f032
|
|
|
|
| |
Change-Id: I746147ab0c441a05055f7fc878eda3e035c0da14
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is useful for qemud pipe clients to be able to pass parameters to the
emulator service when connecting. In particular, this would be extremely
useful for camera emulation clients, which can pass name of the camera
device, and other parameters that may be required to connect to the
camera. Parameters are passed when opening the qemud pipe in form:
/dev/qemu_pipe/camera:/dev/video0
I.e. parameters follow the service name, separated from it by ':'
Change-Id: I67f0ef0ff27008e2b52652e58d72d5216b244646
|
|
|
|
|
|
|
|
|
| |
Throughout emulator's code pipe's 'poll' callback was returning PIPE_WAKE_XXX,
instead of PIPE_POLL_XXX flags. This created whole sort of issues with the
qemu pipe service <-> client communications.
This is also a fix for http://b/issue?id=5196348
Change-Id: I92202cf4ef4554559eb022c4410ee93923edec1b
|
|\ |
|