From d631d962a831de8b7614b14d7368eae60c816893 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Thu, 16 Jan 2014 12:31:12 -0800 Subject: Document the reference count rules for I/O handles Change-Id: Ia7cd27ad84bbd7bf2657011057f89386f938a807 --- include/media/IAudioFlinger.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include/media/IAudioFlinger.h') diff --git a/include/media/IAudioFlinger.h b/include/media/IAudioFlinger.h index 899d79f..4feb684 100644 --- a/include/media/IAudioFlinger.h +++ b/include/media/IAudioFlinger.h @@ -67,6 +67,9 @@ public: size_t frameCount, track_flags_t *flags, const sp& sharedBuffer, + // On successful return, AudioFlinger takes over the handle + // reference and will release it when the track is destroyed. + // However on failure, the client is responsible for release. audio_io_handle_t output, pid_t tid, // -1 means unused, otherwise must be valid non-0 int *sessionId, @@ -78,6 +81,9 @@ public: status_t *status) = 0; virtual sp openRecord( + // On successful return, AudioFlinger takes over the handle + // reference and will release it when the track is destroyed. + // However on failure, the client is responsible for release. audio_io_handle_t input, uint32_t sampleRate, audio_format_t format, @@ -188,6 +194,7 @@ public: effect_descriptor_t *pDesc, const sp& client, int32_t priority, + // AudioFlinger doesn't take over handle reference from client audio_io_handle_t output, int sessionId, status_t *status, -- cgit v1.1