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
commit03e2ffa64470eec4e886614a4fa4facbae58a862 (patch)
tree3e5ba613092116e78284cdfaaf306260d0e0dab0 /include
parentf8c5023fd3200aaf79293bdbab264d09b0936d54 (diff)
downloadframeworks_av-03e2ffa64470eec4e886614a4fa4facbae58a862.zip
frameworks_av-03e2ffa64470eec4e886614a4fa4facbae58a862.tar.gz
frameworks_av-03e2ffa64470eec4e886614a4fa4facbae58a862.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 {