summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IAudioRecord.cpp
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2012-03-29 15:51:43 -0700
committerEric Laurent <elaurent@google.com>2012-03-29 19:50:49 -0700
commita011e35b22f95f558d81dc9c94b68b1465c4661d (patch)
tree3f8c46c8c7e30f36c3b629174a26bc4ca2a860b2 /media/libmedia/IAudioRecord.cpp
parentb4c0c4b800332fe55c60aa328ece8d849cee3a4d (diff)
downloadframeworks_av-a011e35b22f95f558d81dc9c94b68b1465c4661d.zip
frameworks_av-a011e35b22f95f558d81dc9c94b68b1465c4661d.tar.gz
frameworks_av-a011e35b22f95f558d81dc9c94b68b1465c4661d.tar.bz2
implemented synchronous audio capture
Added the infrastructure to support the synchronization of playback and capture actions on specific events. The first requirement for this feature is to synchronize the audio capture start with the full rendering of a given audio content. The applications can further be extended to other use cases (synchronized playback start...) by adding new synchronization events and new synchronous control methods on player or recorders. Also added a method to query the audio session from a ToneGenerator. Change-Id: I51f1167290d9cafdf2fbcdf9e4785156973af44c
Diffstat (limited to 'media/libmedia/IAudioRecord.cpp')
-rw-r--r--media/libmedia/IAudioRecord.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/media/libmedia/IAudioRecord.cpp b/media/libmedia/IAudioRecord.cpp
index 377b9a8..cb5c7f3 100644
--- a/media/libmedia/IAudioRecord.cpp
+++ b/media/libmedia/IAudioRecord.cpp
@@ -42,11 +42,13 @@ public:
{
}
- virtual status_t start(pid_t tid)
+ virtual status_t start(pid_t tid, int event, int triggerSession)
{
Parcel data, reply;
data.writeInterfaceToken(IAudioRecord::getInterfaceDescriptor());
data.writeInt32(tid);
+ data.writeInt32(event);
+ data.writeInt32(triggerSession);
status_t status = remote()->transact(START, data, &reply);
if (status == NO_ERROR) {
status = reply.readInt32();
@@ -91,7 +93,7 @@ status_t BnAudioRecord::onTransact(
} break;
case START: {
CHECK_INTERFACE(IAudioRecord, data, reply);
- reply->writeInt32(start(data.readInt32()));
+ reply->writeInt32(start(data.readInt32(), data.readInt32(), data.readInt32()));
return NO_ERROR;
} break;
case STOP: {