summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IAudioFlinger.cpp
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2010-02-26 02:47:27 -0800
committerEric Laurent <elaurent@google.com>2010-03-02 08:20:13 -0800
commit05bca2fde53bfe3063d2a0a877f2b6bfdd6052cf (patch)
tree7f99a6ebacbc1f76b561b95a04808636486b48ba /media/libmedia/IAudioFlinger.cpp
parent949c5037a6e019ff575bd481d286908c2eaa1e34 (diff)
downloadframeworks_av-05bca2fde53bfe3063d2a0a877f2b6bfdd6052cf.zip
frameworks_av-05bca2fde53bfe3063d2a0a877f2b6bfdd6052cf.tar.gz
frameworks_av-05bca2fde53bfe3063d2a0a877f2b6bfdd6052cf.tar.bz2
Issue 2071329: audio track is shorter than video track for video capture on sholes
Add API to retrieve number of frames dropped by audio input kernel driver. Submitted on behalf of Masaki Sato <masaki.sato@motorola.com>
Diffstat (limited to 'media/libmedia/IAudioFlinger.cpp')
-rw-r--r--media/libmedia/IAudioFlinger.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp
index ca3a2a6..47bcc12 100644
--- a/media/libmedia/IAudioFlinger.cpp
+++ b/media/libmedia/IAudioFlinger.cpp
@@ -61,7 +61,8 @@ enum {
CLOSE_INPUT,
SET_STREAM_OUTPUT,
SET_VOICE_VOLUME,
- GET_RENDER_POSITION
+ GET_RENDER_POSITION,
+ GET_INPUT_FRAMES_LOST
};
class BpAudioFlinger : public BpInterface<IAudioFlinger>
@@ -487,6 +488,15 @@ public:
}
return status;
}
+
+ virtual unsigned int getInputFramesLost(int ioHandle)
+ {
+ Parcel data, reply;
+ data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
+ data.writeInt32(ioHandle);
+ remote()->transact(GET_INPUT_FRAMES_LOST, data, &reply);
+ return reply.readInt32();
+ }
};
IMPLEMENT_META_INTERFACE(AudioFlinger, "android.media.IAudioFlinger");
@@ -752,6 +762,13 @@ status_t BnAudioFlinger::onTransact(
}
return NO_ERROR;
}
+ case GET_INPUT_FRAMES_LOST: {
+ CHECK_INTERFACE(IAudioFlinger, data, reply);
+ int ioHandle = data.readInt32();
+ reply->writeInt32(getInputFramesLost(ioHandle));
+ return NO_ERROR;
+ } break;
+
default:
return BBinder::onTransact(code, data, reply, flags);
}