summaryrefslogtreecommitdiffstats
path: root/include/media/IAudioFlinger.h
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2014-01-16 12:31:12 -0800
committerGlenn Kasten <gkasten@google.com>2014-01-16 17:23:52 -0800
commitd631d962a831de8b7614b14d7368eae60c816893 (patch)
treeb60bef3f42918b00bd022cfd4e8e9585d687d34d /include/media/IAudioFlinger.h
parentb5ccb2d99b2af400c70777a6452f090ac14f5a96 (diff)
downloadframeworks_av-d631d962a831de8b7614b14d7368eae60c816893.zip
frameworks_av-d631d962a831de8b7614b14d7368eae60c816893.tar.gz
frameworks_av-d631d962a831de8b7614b14d7368eae60c816893.tar.bz2
Document the reference count rules for I/O handles
Change-Id: Ia7cd27ad84bbd7bf2657011057f89386f938a807
Diffstat (limited to 'include/media/IAudioFlinger.h')
-rw-r--r--include/media/IAudioFlinger.h7
1 files changed, 7 insertions, 0 deletions
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<IMemory>& 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<IAudioRecord> 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<IEffectClient>& client,
int32_t priority,
+ // AudioFlinger doesn't take over handle reference from client
audio_io_handle_t output,
int sessionId,
status_t *status,