| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
libnbaio is now a separate shared library from AudioFlinger, rather
than a static library used only by AudioFlinger.
AudioBufferProvider interface is now also independent of AudioFlinger,
moved to include/media/
Change-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b
|
|
|
|
| |
Change-Id: I73a2afe72d8acb53e57e6b4e6fb5133e22b7875a
|
|
|
|
|
|
|
|
|
|
| |
Certain CPUs with dynamic cluster swapping and hotplug
don't report CPU frequency accurately. The file descriptors
used to read the frequency become stale and report bogus data.
So make this feature a build time option for debugging only.
This will also improve performance of the fast mixer loop.
Change-Id: I602f81ec3281a37992769208be08084ed1469e8c
|
|
|
|
| |
Change-Id: I4ed62087bd6554179abb8258d2da606050e762c0
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add MonoPipe APIs to specify setpoint.
Use screen state to configure pipe setpoint.
Fix a long-standing bug where pipe sleep time was excessive,
which interacted poorly with governor and low clock frequencies.
Now it deducts the elapsed time since last write(),
which was significant when there was EQ and low clock frequency.
Bug: 6618373
Change-Id: I6f3b0072c2244aeb033ef0795ad164491a164ff5
|
|
|
|
|
| |
Bug: 6591648
Change-Id: Iac75e5ea64e86640b3d890c46a636641b9733c6d
|
|
|
|
| |
Change-Id: I6b2f97881c39998a2fae9ab79d669af6c0a37e94
|
|
|
|
|
|
|
|
|
|
| |
Trace fast track buffer fill status for underruns etc.
Move the definition of macro to Android.mk.
No overhead if disabled.
Change-Id: If0e83e21b61b059ca38f543f8a6ffb58e08c79ee
|
|
|
|
| |
Change-Id: I3c09da1dc0de5039d0c15ce7fb2bc373fa398712
|
|
|
|
| |
Change-Id: I3131bb22d2d057e9197a2ebfa6aa1cfaab9e5321
|
|
|
|
| |
Change-Id: Ifd825590ba36996064a458f64453a94b84722cb0
|
|
|
|
|
|
|
|
|
|
| |
Updates:
- Add support for mono fast tracks
- Add support for optional sample rate conversion on fast tracks
- Log sample rate and frame count
- Enable statistics
Change-Id: Ife014edf4f452da361f3eaaae19209ef6ff6958b
|
|
|
|
| |
Change-Id: I61552f83507e08e4c706076b9fb15362869e6265
|
|
|
|
| |
Change-Id: Iccc5eb42bc295a22b2e429a4551f083cd7b6831a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Yet another abstraction similar to AudioTrack::Buffer and AudioBufferProvider,
but with support for streaming, non-blocking, and eventually PTS.
This is intended to be used as follows:
- primary HAL output stream implements a Sink
- primary HAL input stream implements a Source
- Pipe implements a Sink
- PipeReader implements a Source or TimedSource (not shown yet),
which supports "read at PTS"
- fast AudioTrack on server side will implement a Source using cblk
- normal AudioTrack on server side will not be changed initially
- fast AudioRecord on server side will implement a Sink using cblk
- normal AudioRecord on server side will not be changed initially
- fast mixer thread will read from Sources and write to a Sink,
or (unlikely) implement a Source and multiple Sinks
- Visualization and PCM logger will read from Source or TimedSource
- A2DP normal mixer will be connected directly to its output stream
and there will be a kind of OutputTrack for duplication that will
read from a Sink with non-blocking write fed by the fast mixer.
Patch set 3 changes:
- Add more implementations of NBAIO interfaces:
added SourceAudioBufferProvider, MonoPipe, MonoPipeReader.
- Added Format_sampleRate and Format_channelCount.
- Extract out the roundUp() method.
- Respond to most comments from previous code review.
- The new classes are untested.
Patch set 4 changes:
- Fix bugs in MonoPipe::write() and MonoPipeReader::read()
- Fix bug initializing mFrameBitShift too early
- renamed roundUp() to roundup()
- Fix Android.mk
- Add LOG_TAG an LOG_NDEBUG, use ALOG_ASSERT and utils/Log.h instead of assert
- Fix build warnings
- Move constructor and destructor bodies from .h to .cpp
- Line length 100
- Following naming conventions for #include double-include protector macros
- Include what you use
- More NBAIO logging
- MonoPipe write can be blocking
Patch set 5 changes:
- Address code review comments
- Use a static library so unused implementations don't take memory
- Comment out libsndfile dependency
- Remove debugging LOGV and LOG_NDEBUG
Patch set 6 changes (would be 6 at old location, actually 2 at new location):
- Address code review comments on patchset 5
- For MonoPipe, allow the full pipe to be used, no need to omit one slot
- Don't do atomic releasing stores unless needed
Still to do:
- I'm not happy with the Pipe class names
- Update build/ for new static library?
Change-Id: Ie6c61f05ce06b676b033be448a8ef9025a2ffcfd
|
|
|
| |
This reverts commit c920dee060ac69684be33210ee44b99a5fc3e8b2
|
|
|
|
| |
Change-Id: Ifd2c61882109ec36ca68072a2bf6506e08c8cf34
|
|
|
|
| |
Change-Id: I3ac357c78fb89f108d15c6e5b9fa317de0e9fb9a
|
|
|
|
| |
Change-Id: I4bc66115fcb9ba22b057bd72db3f561dcb18a0d8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add comments about which methods implement the AudioBufferProvider interface.
Simplified the definition of kInvalidPts. <stdint.h> is very hard to work
with, there seems to be no way to use it reliably to get INT64_MAX without
having a separate source file, which is ugly because it means kInvalidPts
is not a compile-time constant. So I just deleted AudioBufferProvider.cpp
and used a hard-coded constant instead.
Added a default constructor for Buffer so that the fields aren't random
(especially .raw which is used to determine if the buffer is valid).
Make the pts for getNextBuffer default to kInvalidPTS so code that
doesn't need a pts doesn't have to specify a value.
Rename the parameter to AudioMixer::setBufferProvider to make it clearer.
Change-Id: I87e7290884d4ed975b019f62d1ab6ae2bc5065a5
|
|
|
|
|
|
|
|
| |
Bring in changes to audio flinger made to support timed audio tracks
and HW master volume control.
Change-Id: Ide52d48809bdbed13acf35fd59b24637e35064ae
Signed-off-by: John Grossman <johngro@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the caching permission check for dump to save IPC.
Cache getpid() to save kernel call for other permission checks.
The C runtime library getpid() can't cache due to a fork
race condition, but we know that mediaserver doesn't fork.
Don't construct String16 on the stack.
Change-Id: I6be6161dae5155d39ba6ed6228e7683e67be34ed
|
|
|
|
|
|
| |
This saves about 6500 bytes.
Change-Id: I87102fe561c95c19c9e615dea3de914f96639257
|
|
|
|
| |
Change-Id: Ib8ce72028a7ea30e82baa518e381370e820ebbd0
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem is that the audio HAL fails to acquire the wake lock when playing the notification.
This is because of a change that removed the mediaserver process form the system group for honeycomb.
The fix consists in requesting the wake lock from PowerManagerService when AudioFlinger mixer
wakes up.
A consequence of this change is that audio HALs or pcm drivers do not have to hold wake locks
anymore as in the past.
Change-Id: I4fb3cc84816c9c408ab7fec75886baf801e1ecb5
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ie447e59be139153e526b7ad467c46c659d26816f
|
| |
| |
| |
| |
| |
| | |
Bug: 5010576
Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
|
|/
|
|
|
|
|
|
| |
Moved specific effect header files to
system/media/audio_effects/include/audio_effects
and renamed to lower case (effect_xxx.h).
Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
|
|
|
|
|
| |
Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
|
|
|
|
|
| |
Change-Id: I4adcec73d3c08bcbe15bb19e1ba2ff18b195af45
Signed-off-by: Dima Zavin <dima@android.com>
|
|
|
|
| |
Change-Id: I0bf98c6f85f00b3296874571e1c049dcc4e2fcca
|
|
moved surfaceflinger, audioflinger, cameraservice
all native services should now reside in this location.
Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
|