The assembly expects arguments to live at fixed offsets from the stack pointer
which are invalid if the code is inlined.
Change-Id: Ie93e93c5c69774079112345754fbc85896fc2f64
Still needs integration with Settings (for persistence) and VolumePanel UI.
Change-Id: I9eca92c4b1ef2df2564411006a35753ab9618dce
Signed-off-by: Mike Lockwood <lockwood@android.com>
If post processing is not disabled, we end up translating LF to CRLF, which
makes binary protocols sad.
Change-Id: I43ddd0c690c0d00f5e9416a2397b43d5153491d3
Before HW came in, when doing SW clock recovery, gain had been set to
produce a correction expressed in PPM from [-100, 100] PPM. The HW
local clock HAL has been spec'ed to take a drive range from MIN_INT_16
to MAX_INT_16. This changes the PID recovery loop to use a range from
MIN_INT_16 to MAX_INT_16, and adjusts the P and I gains to be the same
as they were before, but adjusted for the scale change.
Change-Id: Ia636fd1bc6c5c1117ddfdc5289c51286cb874c23
Change the definition of the panic threshold for the time sync service
to take the round trip time of the packet producing the discipline
action into account. The idea here is that, in the worst case, the
error in the measurement of the clock sync error might be as high as
the round trip time of the packet used to measure the error. If a
packet says we are 50mSec fast, its RTT is 75mSec, then we could be
anywhere from 25mSec slow to 125mSec fast.
This change basically makes it so that the error measurement must be
greater than the RTT + the fixed panic threshold before we panic. IOW
we don't panic unless we absolutely sure that our error must be
greater than the fixed panic threshold. Also, lower the current value
of the panic threshold from 50mSec down to 20. Now that the
definition takes into account the RTT, we can afford to be much
tighter in our definition of the fixed panic threshold.
Change-Id: Id801f6b59545ee52d59944dfa3d545d108f88b0e
Client's of Masters who disappear before the client has processed even
one timesync response should not enter the Ronin state. Since they
have never synced to the old Master's timeline, by becoming Ronin they
run the risk of defeating other new Ronin's in the master election,
even though they don't have any idea what time it is on the old
Master's timeline and therefore are unsuitable to serve as the new
Master. Instead, they should transition to the Initial state, where
other new Ronins (who do know what time it is) have the chance to step
in and serve as master of the old timeline. If there are no other
Ronin who can do the job, then the old timeline is dead and by
transitioning to Initial, a new one will be generated.
Change-Id: Iaa95313bfe68a971be2764e252ebf4b34313013d
Signed-off-by: John Grossman <johngro@google.com>
We need to pass an RpcContext with information
such as the caller's certificate. I also modified
the compiler so it does not use Container anymore
and uses Context
Change-Id: Ib54b774f9c7b5cb3e0a014ce91548b817efcb72b
When a cable was unplugged, we were telling the driver to release the
ip address so if a cable on a different network was plugged in, it would
still try to use it's old ip address on the new network, which probably
didn't work.
Also, we didn't notify ConnectivityService about the state change in
the unplug case. Some of this was done in the interface removed case,
but we never remove the interface in Tungsten, just unplug. So refactor
the common disconnect code into a disconnect() function that's called
by both the link status change (unplug) and interface removal (only applies
to things like USB ethernet dongles) cases.
Change-Id: I19d7ceb540d6a0e24df1b55314a13af78f1e593d
Signed-off-by: Mike J. Chen <mjchen@google.com>
Music2 would prefer a configuration interface that takes a single
blob of data passed in from the RPC client and then passes it
opaquely to the media player. This eliminates the need for Music2
to rev their application if we add more configuration options to
the TX player.
Change-Id: Ia2daea3ff2502f91f8a5a82b898752c435279a0f
Previously, sequence numbers for audio packets were assigned by the
TX player before packets were queued to the sender. This caused a
race between assignment of sequence numbers on audio packets and
sequence numbers on heartbeat packets. A heartbeat could get queued
and added to the retry buffer before an audio packet with an earlier
sequence number got queued.
This CL centralizes packet sequence number assignment and insertion
into the retry buffer inside AAH_TXSender::doSendPacket_l. It also
makes explicit what operations can be done on a TRTPPacket before
and after packing.
Change-Id: I6d02eae81061983e4def4f1b3dd7c1625467b151
Squashed merge from master-tungsten of the following changes:
commit e8b156c6b224f0fe5b6a81d5f92bade36275027c
Author: Jason Simmons <jsimmons@google.com>
Date: Fri Aug 12 10:28:48 2011 -0700
Add a null check to handle failure of android::createPlayer
Change-Id: Iacbbc90369a825838d4374b1f774c8880b25753b
commit 43be3231034ff8537fdd84422a7954780038671f
Author: John Grossman <johngro@google.com>
Date: Mon Jun 27 18:59:12 2011 -0700
Move libaah_rtp over from the vendor directory.
Also move factor PipeEvent out into utils.
Change-Id: Id3877c66efe22d771cf3ef4877107e431b828e37
commit 17526eb3148c9c3d4365b6d5b47e8dc13bca71b6
Author: John Grossman <johngro@google.com>
Date: Mon Jun 27 17:06:49 2011 -0700
Name changes for the TRTP Players s/tungsten/aah/g
Change-Id: I55e9ad13003f6aa6a36955b54426a7efbe31ac51
commit cbf2903ab6893b6e662514e2f6d670e268a419df
Author: John Grossman <johngro@google.com>
Date: Fri Apr 15 09:27:54 2011 -0700
Migrate Tungsten code from the HC-Tungsten to the Master-Tungsten branch.
Change-Id: I95372d913a0761d90168edb4016f5ece0ea74502
Change-Id: I73f3be191cd974933acddf52892e5600d253cc03
Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: John Grossman <johngro@google.com>
RTP library used to broadcast media from one device to a collection
of listeners. Handles failures/retries/etc.
This is a squashed merge from master-tungsten of the following changes:
commit e1a5101fe627d71739a7c4263bb3a65c7bc44385
Author: Jason Simmons <jsimmons@google.com>
Date: Fri Aug 12 13:24:21 2011 -0700
Hold ThreadWrapper in a ref-counting pointer
Change-Id: Iaf3343182e37bcc0ca99fbaf8f9bbb8c4984072a
commit 89b90d62e164ff3db27c9cba85255fc476d2dd96
Author: Jason Simmons <jsimmons@google.com>
Date: Wed Aug 10 13:08:25 2011 -0700
Update the Tungsten TX player to use HTTPBase
Change-Id: I9f7ecf1b4b496cec1815284dbcdb958a43284169
commit 43be3231034ff8537fdd84422a7954780038671f
Author: John Grossman <johngro@google.com>
Date: Mon Jun 27 18:59:12 2011 -0700
Move libaah_rtp over from the vendor directory.
Also move factor PipeEvent out into utils.
Change-Id: Id3877c66efe22d771cf3ef4877107e431b828e37
Change-Id: I5fe1ea941c09204d7b33f15f4e2b2ab320dc468b
Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: John Grossman <johngro@google.com>
Signed-off-by: Jason Simmons <jsimmons@google.com>
SerialManager: provides access to serial ports
SerialPort: for reading and writing data to and from serial ports
IO with both array based and direct ByteBuffers is supported.
Accessing serial ports requires android.permission.SERIAL_PORT permission
Each platform must configure list of supported serial ports in the
config_serialPorts resource overlay
(this is needed to prevent apps from accidentally accessing the bluetooth
or other system UARTs).
In addition, the platform uevent.rc file must set the owner to the
/dev/tty* files to "system" so the framework can access the port.
Change-Id: I8d75ca7d6592223ea6c47f8a17fa180dfed1aad0
Signed-off-by: Mike Lockwood <lockwood@android.com>
Change the local clock helper wrapper to hold just a single copy of the local
time HAL instead of having each wrapper hold their own HAL instance.
Change-Id: I978bf70236095251941776be86abb6a27cc4bf5d
The get_next_write_timestamp method introduced to the audio HAL is optional.
HALs which do not implement it leave it set to NULL. Callers (there is
currently only one in the AudioMixer code) need to be certain to check for NULL
before invoking it.
Change-Id: I88ba43bb53bec081c98c9a8842936c4fbfdd44f6