* Add flags field in OBB footer to support overlays.
* Remove unused 'crypto' and 'filesystem' fields in obbtool (could
later be supported in the "flags" field of the OBB footer).
* Add notes to document OBB classes before shipping.
Change-Id: I386b43c32c5edef55210acb5d3322639c08010ba
Previously, the input dispatcher assumed that the input channel's
receive pipe file descriptor was a sufficiently unique identifier for
looking up input channels in its various tables. However, it can happen
that an input channel is disposed and then a new input channel is
immediately created that reuses the same file descriptor. Ordinarily
this is not a problem, however there is a small opportunity for a race
to arise in InputQueue.
When InputQueue receives an input event from the dispatcher, it
generates a finishedToken that encodes the channel's receive pipe fd,
and a sequence number. The finishedToken is used by the ViewRoot
as a handle for the event so that it can tell the InputQueue when
the event has finished being processed.
Here is the race:
1. InputQueue receives an input event, assigns a new finishedToken.
2. ViewRoot begins processing the input event.
3. During processing, ViewRoot unregisters the InputChannel.
4. A new InputChannel is created and is registered with the Input Queue.
This InputChannel happens to have the same receive pipe fd as
the one previously registered.
5. ViewRoot tells the InputQueue that it has finished processing the
input event, passing along the original finishedToken.
6. InputQueue throws an exception because the finishedToken's receive
pipe fd is registered but the sequence number is incorrect so it
assumes that the client has called finish spuriously.
The fix is to include a unique connection id within the finishedToken so
that the InputQueue can accurately confirm that the token belongs to
the currently registered InputChannel rather than to an old one that
happened to have the same receive pipe fd. When it notices this, it
ignores the spurious finish.
I've also made a couple of other small changes to avoid similar races
elsewhere.
This patch set also includes a fix to synthesize a finished signal
when the input channel is unregistered on the client side to
help keep the server and client in sync.
Bug: 2834068
Change-Id: I1de34a36249ab74c359c2c67a57e333543400f7b
Merge commit 'ddbcce3afbb38680fb84583f7bad5209307e6459'
* commit 'ddbcce3afbb38680fb84583f7bad5209307e6459':
Keep track of remaining fd when devices are removed
Merge commit '4fc2c9280c5262c835a4eb78961241de105313c1'
* commit '4fc2c9280c5262c835a4eb78961241de105313c1':
Use audio clock as the reference media clock
o Only do this for realtime applications
o Adjust other track clock based on audio clock
o Assume other track uses wall clock as the media clock
o Use some heuristics to reduce the size of stts box by 2/3.
- also
o Remove one unused key from MetaData.h
Change-Id: Ib9432842627b61795b533508158c25258a527332
Merge commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58'
* commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58':
Add support for the PointerLocation overlay.
This change involves adding a new method to IWindowManager,
monitorInput() that returns an InputChannel to receive a copy of all
input that is dispatched to applications. The caller must have
the READ_INPUT_STATE permission to make this request (similar to
other window manager methods such as getKeycodeState).
Change-Id: Icd14d810174a5b2928671ef16de73af88302aea0
Add "obbtool" host command for adding, removing, and querying Opaque
Binary Blob (OBB) information from a file.
Change-Id: Id2ac41e687ad2a500c362616d6738a8ae7e8f5c3
Merge commit 'e14923b0c80b2e73e69b7917c1f170b356592d29'
* commit 'e14923b0c80b2e73e69b7917c1f170b356592d29':
Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.
The LHS was ignored when using:
String8 + String8
String8 + (const char*)
Add unit tests for above.
Bug: 2898473
Change-Id: Ic8fe7be668b665c36aaaa3fc3c3ffdfff0fbba25
Merge commit '9c09a60513faf39901bb8e4681d39812204b3f73'
* commit '9c09a60513faf39901bb8e4681d39812204b3f73':
Use the target color format from the camera source if possible
- If the target color format is unavailable, the default
platform-dependent color format will be used.
- Also add some logic to prevent looping forever if the
omx component is buggy supporting color format enumeration.
Change-Id: I119a78f0d6201b4c3621235cca2f523ec14e24e3
Merge commit '1f513d8821670a33d6361ea521b6756163a3f9bf'
* commit '1f513d8821670a33d6361ea521b6756163a3f9bf':
Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.
Moved functionality to parse string of sizes from getSupportedPictureSizes
to parseSizesList.
Added getSupportedPreviewSizes which returns a list of supported preview sizes.
Change-Id: I435317427c1ee9623caef435f93e95d4476b7285
Merge commit '246aad12cf2becda5111d03fd1dd8f39712686f2'
* commit '246aad12cf2becda5111d03fd1dd8f39712686f2':
File writer has a designated writer thread now
+ This reduces the file I/O block time for audio/video track processing
- Since the file writer is buffering some output samples, the memory
usage would go up, depending on how many output samples are buffered.
Change-Id: I780cc5b26f4b53a5efbd643fcf9505dfc19cd4cd
Go through all the supported picture sizes and choose the smallest one with
both dimensions higher than the passed in video width and height.
Change-Id: I4e9fe7a6384a0feeb9e069239ec68c70fb5f3033
Improved PointerLocation tool to use VelocityTracker more efficiently
and correctly when multiple pointers are down.
Fixed a bug in TouchInputMapper where it was not correctly copying
the id to index map in the last touch data. This could cause strange
behavior on secondary pointer up events.
Also added finished callback pooling in InputQueue.
Change-Id: Ia85e52ac2fb7350960ea1d7edfbe81a1b3e8267b
Also added a struct 'Size' containing a width and a height field.
Modified parse_size to optionally set an end pointer pointing to the
character after the found size.
Change-Id: I51a56bbf2cb7c91d7b80a28e6bd6a559f40a1333
Also fixed bug where old touch screen size could be reported by
getMotionRange if an orientation change occurred but the user has not
yet touched the screen.
Bug: 2877345
Change-Id: I7878f47458f310ed6ebe6a5d1b2c9bec2c598ab9
The goal here is to avoid the dalvik.vm.* property explosion by
having a single property that takes an arbitrary collection of Dalvik
command-line options. This is intended for testing of various
configurations by the Dalvik team, not industrial use.
Options should be separated by spaces, e.g.
adb shell setprop dalvik.vm.extra-opts "-showversion -Xmx4m"
will print the version banner and set the heap max to 4MB, which won't
get you very far.
The extra-opts options will appear last, which allows them to override
values set earlier (like the heap max).
Bug 2838629.
(cherry-pick from dalvik-dev branch)
Change-Id: Ibcbb1b62367cf2152798583e8722ef7e461ad19a