summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/media/AudioTrack.h12
-rw-r--r--include/media/stagefright/ACodec.h3
-rw-r--r--include/media/stagefright/FrameRenderTracker.h5
3 files changed, 18 insertions, 2 deletions
diff --git a/include/media/AudioTrack.h b/include/media/AudioTrack.h
index c0bc516..e02f1b7 100644
--- a/include/media/AudioTrack.h
+++ b/include/media/AudioTrack.h
@@ -644,6 +644,12 @@ public:
* BAD_VALUE size is invalid
* WOULD_BLOCK when obtainBuffer() returns same, or
* AudioTrack was stopped during the write
+ * DEAD_OBJECT when AudioFlinger dies or the output device changes and
+ * the track cannot be automatically restored.
+ * The application needs to recreate the AudioTrack
+ * because the audio device changed or AudioFlinger died.
+ * This typically occurs for direct or offload tracks
+ * or if mDoNotReconnect is true.
* or any other error code returned by IAudioTrack::start() or restoreTrack_l().
* Default behavior is to only return when all data has been transferred. Set 'blocking' to
* false for the method to return immediately without waiting to try multiple times to write
@@ -684,6 +690,12 @@ public:
* overall hardware latency to physical output. In WOULD_BLOCK cases,
* one might poll again, or use getPosition(), or use 0 position and
* current time for the timestamp.
+ * DEAD_OBJECT if AudioFlinger dies or the output device changes and
+ * the track cannot be automatically restored.
+ * The application needs to recreate the AudioTrack
+ * because the audio device changed or AudioFlinger died.
+ * This typically occurs for direct or offload tracks
+ * or if mDoNotReconnect is true.
* INVALID_OPERATION if called on a FastTrack, wrong state, or some other error.
*
* The timestamp parameter is undefined on return, if status is not NO_ERROR.
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h
index f9ea38e..a4b24d7 100644
--- a/include/media/stagefright/ACodec.h
+++ b/include/media/stagefright/ACodec.h
@@ -110,6 +110,9 @@ private:
enum {
kWhatSetup = 'setu',
kWhatOMXMessage = 'omx ',
+ // same as kWhatOMXMessage - but only used with
+ // handleMessage during OMX message-list handling
+ kWhatOMXMessageItem = 'omxI',
kWhatOMXMessageList = 'omxL',
kWhatInputBufferFilled = 'inpF',
kWhatOutputBufferDrained = 'outD',
diff --git a/include/media/stagefright/FrameRenderTracker.h b/include/media/stagefright/FrameRenderTracker.h
index 3b0db5a..9333e8f 100644
--- a/include/media/stagefright/FrameRenderTracker.h
+++ b/include/media/stagefright/FrameRenderTracker.h
@@ -119,8 +119,9 @@ struct FrameRenderTracker : public RefBase {
std::list<Info> checkFencesAndGetRenderedFrames(const Info *until, bool dropIncomplete);
// Stop tracking a queued frame (e.g. if the frame has been discarded). If |info| is NULL or is
- // not tracked, this method is a no-op.
- void untrackFrame(const Info *info);
+ // not tracked, this method is a no-op. If |index| is specified, all indices larger that |index|
+ // are decremented. This is useful if the untracked frame is deleted from the frame vector.
+ void untrackFrame(const Info *info, ssize_t index = SSIZE_MAX);
void dumpRenderQueue() const;