summaryrefslogtreecommitdiffstats
path: root/modules/audio_remote_submix
Commit message (Collapse)AuthorAgeFilesLines
* Shutdown audio pipe when closing input streamJean-Michel Trivi2012-10-301-2/+16
| | | | | | | | | | | | | | | Writing to the audio pipe for the remote submix is blocking, unless the audio output pipe is in shutdown mode. The playback thread could stay blocked on the write if the input stream has already been closed. The change consists in shutting down the pipe also when the input stream gets closed. When the pipe is in this state, simulate timing in the write operation so we don't drain the output faster than realtime. Bug 7424646 Change-Id: I5feb3be642b0ee7eef10dee0141308684ee9c811
* bug 7253033 Add "exiting" state to remote audio submix moduleJean-Michel Trivi2012-09-302-2/+30
| | | | | | | | Support receiving a parameter that sets the remote audio submix module in a state where the audio pipe will unblock any current write operation and not block anymore. Change-Id: Ia3119cd79972afff0de24187dae627855a468ebf
* Remote submix: fix sink/source reference count handlingJean-Michel Trivi2012-09-171-5/+5
| | | | | | | | | The reference count on the strong pointers to the audio sink and source should be done on the object retrieved from the device structure, not by accessing the corresponding fields, as they can be cleared while reading or writing audio data. Change-Id: I446a2c7bdcb0758b4013b0ad75450a15203fb9da
* Turn off logs in remote submix audio moduleJean-Michel Trivi2012-09-171-1/+1
| | | | Change-Id: I61cd15534b1cd764b06f615569cdf02edbba909c
* Remote audio submix: blocking writes and sleeping reads.Jean-Michel Trivi2012-09-171-80/+144
| | | | | | | | | | | | Change how the remote audio submix is handling piping audio through the pipe: - use a MonoPipe as audio sink for blocking writes, - use a MonoPipeReader as audio source for non blocking reads, and keep track of when recording started to align the time at which the in_read() call should return with the projected time of the recording duration. Change-Id: I8b0f8c56a0486806101e272dfbf9c6d2d1c11112
* Remote submix audio module: sleep less, log errorsJean-Michel Trivi2012-09-131-13/+34
| | | | | | | | Neither write nor read are blocking, but write simulates timing by checking the clock between two writes and computing how long the next sleep should last. Change-Id: I495ae6d44b0cf75a24fe4b70662cfac679049c67
* update audio remote submix API revisionEric Laurent2012-09-101-12/+1
| | | | | | | Update remote submix audio HAL API revision to 2.0 (new audio device enums). Change-Id: I61d5faf498144002929e570ee50375b059fb17c5
* Add audio module for remote submixJean-Michel Trivi2012-09-062-0/+753
New definitions of audio devices for remote submix: one representing a sink for writing the audio buffers that won't be played directly locally, another representing the audio source that can be read from to obtain the audio mix. New audio hardware module encapsulating the submix loop functionality. Create a Pipe to serve as non-blocking audio ring buffer between the output device (the sink) and the input device (the source). Change-Id: I527f4721a69ced0430a99ebba3b4db7d419f2bb2