From 47d0a9264fa5297db6333697ad750e6bc06822aa Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Fri, 26 Feb 2010 02:47:27 -0800 Subject: 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 --- media/libmedia/IAudioFlinger.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'media/libmedia/IAudioFlinger.cpp') 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 @@ -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); } -- cgit v1.1