This was the previous behavior prior to project system/media commit
fc3d70736e4c24cbdc8c91076013c01e487fd4d5.
The new behavior introduced by that commit is to preserve as much of the
buffer as possible. But that introduced a regression in applications with
so many overflows that they can't recover. So now the flush is optional.
In the case of PipeReader, we do need the flush.
Test: at bug
Bug: 36725187
Change-Id: I25609c7a656a05228fb4e7d4082b2857f4195a34
Using a reference for mNamedReaders ensures it is never updated.
Also:
- add FIXME related to lack of lock protection for mNamedReaders.
- add a few other FIXME
- add section breaks
Bug: 37153050
Test: builds OK
Change-Id: I8b80acb5cc943795becdc2d24debc11b09620753
- Use single map for simpler code
- Flush only current thread, keep unflushed entries between dumpsys calls
Bug: 36490717
Test: add histogram logs and check they behave as expected
Change-Id: If73be46daa8d96c62fdd2b76076efa77cd54fa30
Add functions to write these entries into log
Add functionality to dump them in dumpsys
Bug: 36490717
Test: Write format entries and histogram entries in the log.
Verify that format entries and histograms are dumped correctly
Change-Id: I2e0b48c63031e62875c08461b98653ecfe1442be
include/camera -> camera/include/camera
include/media/audiohal -> media/libaudiohal/include
include/media/AudioResampler*.h -> media/libaudioprocessing/include
include/media/Audio*.h,IAudio*.h,IEffect*.h,ToneGenerator.h -> media/libaudioclient/include
include/media/EffectsFactoryApi.h -> media/libeffects/include
include/media/stagefright -> media/libstagefright/include
include/media/nbaio -> media/libnbaio/include
include/media/<rest of files> -> media/libmedia/include
include/cpustats -> media/libcpustats/include/cpustats
Added symlinks from old location to new ones
Bug: 33241851
Test: VNDK linked modules will need to add explicit lib dep.
All other modules should compile the same
Change-Id: I0ecf754a2132640ae781a3cc31428fb8c0bd1669
NBLog previously has its own shared memory circular buffer code.
Now NBLog operates on top of the circular buffer code in audio_utils.
Test: media.log still works
Change-Id: Ib3026d2a96e6c0b433603e8baf19164ad97a1e1f
Also removed const from NBAIO_Sink::availableToWrite() because
at least one implementation can no longer implement the const-ness.
Test: normal mixer, tee sink, and remote submix still work
Change-Id: I8461177efdf53bba8295b147e97835b018804903
Various media components were linking against dynamic libraries that weren't needed.
Test: built and booted
Change-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e
Moved the HAL access abstraction layer to a separate library so it
can be used both by audioflinger and libnbaio.
Bug: 30222631
Test: manual with Loopback app, Hangouts, YouTube
Change-Id: Id622c2f1aa8f55a775d34f369a596c2c4d29d5be
Provide server timestamps if the HAL doesn't provide it.
Provide monotonic - boottime translation.
Integrate record timestamps and playback timestamps together.
Bug: 17472992
Bug: 22871200
Bug: 26400089
Bug: 26682703
Change-Id: If1974f94232fcce7ba0bbcdf63d9e54ed51918ff
This allows us to abstract out fdprintf vs ALOGI
so that callers don't need an 'if' at every location.
Change-Id: I4c68185fc19f32caeaed93347e6b7d09b8d4c4d8
Local frequency does not change, so only ask for it the first time a
MonoPipe is constructed in a given client process. Thereafter use a
previously cached value. Likewise, if the local frequency is unavailable,
only log this the first time.
Change-Id: Ib1fc7251c3832e02fe03811db39a87e500f1df50
This allows us to abstract out fdprintf vs ALOGI
so that callers don't need an 'if' at every location.
Change-Id: I4c68185fc19f32caeaed93347e6b7d09b8d4c4d8
Contains the necessary changes to make frameworks/av build and work
on a 64-bit machine.
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
This will make it easier to support arbitrary sample rates,
channel counts, and sample formats in NBAIO.
Change-Id: I5eda412648b094358f5eefc38300e9ec8a734cd3
This change allows a media.log buffer for RecordThread.
Unlike playback threads which stick around forever, the RecordThread comes
and goes for every capture session. This means that the media.log buffer
for a RecordThread would disappear too, and so was useless. Now when a
thread exits, it's associated media.log buffer is just marked for deferred
deallocation. It is only actually freed when the memory is needed.
Other changes:
- Fix bug in unregistering comparison, it was comparing the wrong pointers
- Increased size of log area so we can log for RecordThread also
Change-Id: If45d4c03a793b86390a0112ec3acc5d41b2e3635
The best fix for these narrowing
violations is to use static casting
As an example, this change would the following for libnaio:
error: non-constant-expression cannot be narrowed from
type 'uint32_t' (aka 'unsigned int') to 'long' in initializer list
const struct timespec req = {0, ns};
^~
Change-Id: I04ed1de4497dc19772194afef3ebf8fe0c8b82bc
Check that get_presentation_position is non-NULL before calling.
AudioTrack::getTimestamp not implemented for fast tracks.
Fix typo in Track::getTimestamp().
Fix bugs in AudioTrack::getTimestamp after stop:
- getTimestamp while stopped is not allowed.
- stop, start, getTimestamp now returns the correct value.
Change-Id: Ie8d9dc1f28d8927634e04175a68b147ffc2ea8eb
and implement them in SourceAudioBufferProvider using the associated NBAIO_Source,
and in Track using the associated AudioTrackServerProxy.
Change-Id: I60dc4adba63fc1dc452ff16caf347e4a7c8242c2
with dummy default implementation, and implement in MonoPipeReader.
onTimestamp is meant to be called by the corresponding sink when it has
a new timestamp available.
Change-Id: I8a90d24d1061e4a592ce5bd8ee1c9fce6bdd8a84
with a real implementation in AudioStreamOutSink
for dummy implementation initially in MonoPipe.
Use in AudioFlinger::PlaybackThread::threadLoop_write()
to keep the input to the timestamp latch up-to-date.
Change-Id: I10ef277991b63bb43d55d6f3df75116ef32246cd
This will be used for audio capture but it is not scalable,
and we need a better approach in the long term.
Change-Id: I8b12f6b64a3fd8e8a8c425c82574260fe8ffbed6
This will be used for audio capture but it is not scalable,
and we need a better approach in the long term.
Change-Id: I8b12f6b64a3fd8e8a8c425c82574260fe8ffbed6