summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-09-13 16:43:51 -0700
committerAndreas Huber <andih@google.com>2012-09-13 16:43:51 -0700
commit496238cc7551d414067dcbbb4fe3bd801f205f95 (patch)
tree90e4402e792c22804bf42f6f773c97e57d06e5dc /include
parentf4bca03d996b584030a80268f58cdb29dc7b7cde (diff)
downloadframeworks_av-496238cc7551d414067dcbbb4fe3bd801f205f95.zip
frameworks_av-496238cc7551d414067dcbbb4fe3bd801f205f95.tar.gz
frameworks_av-496238cc7551d414067dcbbb4fe3bd801f205f95.tar.bz2
Support IDR requests in wifi display, MediaCodec and ACodec.
Change-Id: I596cf8dd61b63465437f78413186fad2be287244
Diffstat (limited to 'include')
-rw-r--r--include/media/stagefright/ACodec.h5
-rw-r--r--include/media/stagefright/MediaCodec.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h
index 500dde6..d27f463 100644
--- a/include/media/stagefright/ACodec.h
+++ b/include/media/stagefright/ACodec.h
@@ -58,6 +58,8 @@ struct ACodec : public AHierarchicalStateMachine {
void initiateConfigureComponent(const sp<AMessage> &msg);
void initiateStart();
+ void signalRequestIDRFrame();
+
struct PortDescription : public RefBase {
size_t countBuffers();
IOMX::buffer_id bufferIDAt(size_t index) const;
@@ -102,6 +104,7 @@ private:
kWhatAllocateComponent = 'allo',
kWhatConfigureComponent = 'conf',
kWhatStart = 'star',
+ kWhatRequestIDRFrame = 'ridr',
};
enum {
@@ -262,6 +265,8 @@ private:
OMX_ERRORTYPE error = OMX_ErrorUndefined,
status_t internalError = UNKNOWN_ERROR);
+ status_t requestIDRFrame();
+
DISALLOW_EVIL_CONSTRUCTORS(ACodec);
};
diff --git a/include/media/stagefright/MediaCodec.h b/include/media/stagefright/MediaCodec.h
index e46e8e9..8c612d4 100644
--- a/include/media/stagefright/MediaCodec.h
+++ b/include/media/stagefright/MediaCodec.h
@@ -106,6 +106,8 @@ struct MediaCodec : public AHandler {
status_t getInputBuffers(Vector<sp<ABuffer> > *buffers) const;
status_t getOutputBuffers(Vector<sp<ABuffer> > *buffers) const;
+ status_t requestIDRFrame();
+
protected:
virtual ~MediaCodec();
virtual void onMessageReceived(const sp<AMessage> &msg);
@@ -145,6 +147,7 @@ private:
kWhatDequeueInputTimedOut = 'dITO',
kWhatDequeueOutputTimedOut = 'dOTO',
kWhatCodecNotify = 'codc',
+ kWhatRequestIDRFrame = 'ridr',
};
enum {