| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I87bd356f7673bdbcc8e5f196f4a89182b3a36cbe
|
|\ \
| |/
| |
| | |
declarations"
|
| |
| |
| |
| | |
Change-Id: I801d56668d8591e599994c65fb47b9c3ea77ff73
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Change-Id: Ia4b6b45ad305307f28858f834f284b07be7d134d
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch modifies the 'emulator' launcher program to probe
for a adequate directory containing shared libraries that will
be required by the emulator core to implement GLES emulation
properly.
It does that by looking for a library named libOpenglRender.so
(or .dll, or .dylib depending on the platform) in various directories
around the one containing the executable program.
When such a directory is found, it modifies the value of the PATH
or LD_LIBRARY_PATH environment variable before calling exec()
This is necessary because there is no way to change the list
of search directories at runtime, i.e. between the program's start
and the moment it calls dlopen() to load such a library.
Change-Id: I7346d26597382f44931cdf08936b051e74d3641a
|
|
|
|
|
|
|
|
| |
This patch adds several functions to make loading shared libraries
dynamically easier. This will be used to load the GLES emulation
libraries.
Change-Id: Ib401af339530bc647bfa86fb23a2840fe0a201dd
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Contains API that connects to a camera device, and pulls video frames from it
on request from the client.
Change-Id: If1d80c57611afff637a7734ce5c3a2c874cfc85a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
properties"..."
This reverts commit cccd28ca5064a7bd14282cd774ee5bb7126d5845.
c80340 add a CL to tools_r13 that broken the build. It was therefore reverted
with cccd28. This revert was merged into tools_r13 but shouldn't have been.
This reverts the revert to put back the CL in master.
Change-Id: I95fcefedb77596cfdf76269f248b2ae80c85c830
|
|/
|
|
|
|
|
|
|
| |
It looks like goldfish_pipe may make a call to the pipe after client
has been disconnected and QemudClient instance freed. This results
in a sudden death of the emulator, because _qemudPipe_recvBuffers
doesn't know that the client for that call is gone.
Change-Id: Ie1dd5481a01fd5bbb58d8c2d4e1bbe1ecfeca38a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disable the TCP Nagle algorithm to drastically improve the
throughput of small packets when creating the TCP socket used
to talk with the OpenGLES renderer library.
Coupled with a corresponding change in the server part of the
code, this improves performance of most applications significantly.
+ get rid of shouldSetSockOpt field, by performing the buffer
adjustment just after the socket is created.
Change-Id: Ibacca834ff98d1e9a92fb735f450b925e373fdc0
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ib6a1f3ff7a77ae35d6b3b264752f9f62122e60fc
|