summaryrefslogtreecommitdiffstats
path: root/include/media/nbaio
Commit message (Collapse)AuthorAgeFilesLines
* Fix bit rot in AudioStreamInSourceGlenn Kasten2014-05-091-1/+1
| | | | | | It obviously had not been compiled in a while. Change-Id: If514f474808e557a67a671c3b833572ad4a88338
* Allow placement of Pipe buffer to be specifiedGlenn Kasten2014-05-091-1/+6
| | | | Change-Id: I2f6b68089ecfe85cd975d29ad0d0afd13c487002
* Miscellaneous cleanup for NBAIOGlenn Kasten2014-03-071-1/+2
| | | | | | | | Finish removing Format_frameBitShift Fix type of mFrameSize Add FIXME Change-Id: I02039b97cb93af1a180e88f6575210bd752faf20
* NBAIO::Format_from_SR_C requires audio_format_t parameterGlenn Kasten2014-03-071-3/+2
| | | | Change-Id: I4b65f6ed2f6ca3608b3a5f88f52a93af0b9b1f4a
* Remove Format_frameBitShift()Glenn Kasten2014-03-062-7/+0
| | | | Change-Id: Iae2e80a7330c5dd0f70a263051aa44c23cfe3541
* Split mPacked into 4 separate fieldsGlenn Kasten2014-03-061-1/+4
| | | | Change-Id: I940324dce9b51fd8d7e2e362e12ad74b70e658dd
* Add format parameter to Format_from_SR_CGlenn Kasten2014-03-061-2/+4
| | | | Change-Id: I891138b7754342fe2a4f02de30ee616dbd078474
* Use mFrameSize instead of mBitShiftGlenn Kasten2014-03-062-2/+2
| | | | Change-Id: Idac335ae70cc9300bb3325839fe8ef1e9e097245
* Add mFrameSize but do not remove mFrameBitShift yetGlenn Kasten2014-03-062-1/+4
| | | | Change-Id: Icb1edefeb6a0e659503f6b7a92c9d15784df9865
* Add private method NBLog::Reader::dumpLine()Glenn Kasten2014-02-181-0/+6
| | | | | | | This allows us to abstract out fdprintf vs ALOGI so that callers don't need an 'if' at every location. Change-Id: I4c68185fc19f32caeaed93347e6b7d09b8d4c4d8
* Change Format_frameBitShift() API for non-power-of-2 sizesGlenn Kasten2014-02-031-1/+2
| | | | Change-Id: Ie39ff51ab8c403ca9d9898396297efdaa3193588
* Add FIXMEs about audio_format_t assumptionGlenn Kasten2014-02-031-0/+1
| | | | Change-Id: I0d38241b61f70013573f4a0b9306547afe5f38ad
* Change NBAIO_Format from typedef to structGlenn Kasten2014-02-031-1/+4
| | | | | | | This will make it easier to support arbitrary sample rates, channel counts, and sample formats in NBAIO. Change-Id: I5eda412648b094358f5eefc38300e9ec8a734cd3
* Add Format_isValid() and Format_isEqual() to NBAIOGlenn Kasten2014-02-031-0/+6
| | | | | | This is in preparation for changing the typedef to a struct. Change-Id: I8eb1c7d98fd12f997641e462359864fdb834abe6
* Change Format_Invalid from enum to global constGlenn Kasten2014-02-031-3/+2
| | | | | | This is in preparation for changing the typedef to a struct Change-Id: I36d1fe81d2f974224750f753453753303c224591
* Use const NBAIO_Format& in parameter listsGlenn Kasten2014-01-314-11/+11
| | | | | | This is in preparation for changing the typedef to a struct. Change-Id: I8d73a6b29580c65105afd78f24db7e2f4a1eb872
* Add ExtendedAudioBufferProvider::framesReleased and onTimestampGlenn Kasten2013-09-031-0/+3
| | | | | | | and implement them in SourceAudioBufferProvider using the associated NBAIO_Source, and in Track using the associated AudioTrackServerProxy. Change-Id: I60dc4adba63fc1dc452ff16caf347e4a7c8242c2
* Add NBAIO_Source::onTimestamp()Glenn Kasten2013-09-032-0/+6
| | | | | | | | 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
* Instantiate SingleStateQueue<AudioTimestamp>Glenn Kasten2013-09-031-0/+7
| | | | | | as typedef AudioTimestampSingleStateQueue and use it in MonoPipe. Change-Id: Idaebb362bd9d0a81a7ed83792ab9369dc37c0e74
* Add NBAIO_Sink::getTimestamp()Glenn Kasten2013-09-033-0/+11
| | | | | | | | | | 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
* Add commentsGlenn Kasten2013-07-101-0/+10
| | | | Change-Id: Ifbf3a46a4183c8abc0feee1c588953ab10303cc1
* media.log cleanupGlenn Kasten2013-03-011-2/+2
| | | | | | | | | | | | | | Remove almost all of the specific logs, but leave the media.log logging infrastructure in place for the next time we need it. Re-apply a few good changes that were reverted earlier: - check logf format vs. argument list compatibility - distinguish potentially modified and actually modified tracks in FastMixer - fix benign bug where sq->end() was called more than once - fix a build warning Bug: 6490974 Change-Id: I02d3e83646c738acaebb415bd0d6b548638b4ef5
* Revert "Temporary additional logging to investigate bug"Glenn Kasten2013-02-151-2/+2
| | | | | | This reverts commit 32584a7d672864b20ab8b83a3cb23c1858e908b7 Change-Id: I9dc680578b955b1af462eeb7a49d61a0d45eb81b
* Temporary additional logging to investigate bugGlenn Kasten2013-02-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug appears related to continuing to use an invalid buffer provider in fast mixer after track destruction, so focus the added logs in that area. Also includes a bug fix: was calling log in an unsafe place near Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250. Details: - include caller pid or client pid where appropriate - increase log buffer size - log mFastIndex when AudioMixer sees an invalid bufferProvider. - log both potentially modified and actually modified tracks in FastMixer. - fix benign bug where sq->end() was called more than once. - log StateQueue push() call and return. - increase StateQueue size from 4 to 8 entries - log mixer->enable(), bufferProvider, and currentTrackMask - log buffer provider addresses - increase fast mixer log buffer again - check logf format vs. argument list compatibility - add logging to AudioMixer - add checking of magic field in AudioMixer to detect overwrites - add bool AudioMixer::enabled() - increase log buffer sizes yet again - enable assertion checking without ALOGV - improve a few log messages - check for corruption in more places - log in all the process hooks - add new mixer APIs so we can check for corruption of mixer state - fix a build warning Bug: 6490974 Change-Id: Ib0c4a73dcf606ef9bd898313b3b40ef61ab42f51
* Revert "Temporary additional logging to investigate bug"Glenn Kasten2013-02-141-2/+2
| | | | | | This reverts commit 639482c24c911b125398b31883ba6d55faebe28b Change-Id: I11f2829072ab11e18b0663024f27bf31192f1d39
* Temporary additional logging to investigate bugGlenn Kasten2013-02-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The bug appears related to continuing to use an invalid buffer provider in fast mixer after track destruction, so focus the added logs in that area. Also includes a bug fix: was calling log in an unsafe place near Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250. Details: - include caller pid or client pid where appropriate - increase log buffer size - log mFastIndex when AudioMixer sees an invalid bufferProvider. - log both potentially modified and actually modified tracks in FastMixer. - fix benign bug where sq->end() was called more than once. - log StateQueue push() call and return. - increase StateQueue size from 4 to 8 entries - log mixer->enable(), bufferProvider, and currentTrackMask - log buffer provider addresses - increase fast mixer log buffer again - check logf format vs. argument list compatibility - add logging to AudioMixer - add checking of magic field in AudioMixer to detect overwrites - add bool AudioMixer::enabled() Bug: 6490974 Change-Id: I1f3f18aa62d9fbd35bc32285b669f5ba40efe28e
* Add non-blocking event logger NBLogGlenn Kasten2013-01-251-0/+188
| | | | Change-Id: I6c136cf3d7f46a8af84c69ecfc199dab394c10dc
* Add NBAIO support for more sample ratesGlenn Kasten2012-11-011-8/+6
| | | | | | | 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
* Enable write side of MonoPipe to be shutdownGlenn Kasten2012-09-281-0/+13
| | | | | Bug: 7253033 Change-Id: Iea8390763b59ffa7a8e2a6b77dd04ea23442698f
* Move libnbaio out of AudioFlingerGlenn Kasten2012-08-3012-0/+1014
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