summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-12-06 10:36:06 -0800
committerAndreas Huber <andih@google.com>2010-12-06 12:45:50 -0800
commit14acc736e336cbd6026df781d4f411e908831815 (patch)
treeed12a1452bb0e9a7bc9d9a3b4deb00458e90c852 /include
parenta44153c1a57202fb538659eb50706e60454d6273 (diff)
downloadframeworks_av-14acc736e336cbd6026df781d4f411e908831815.zip
frameworks_av-14acc736e336cbd6026df781d4f411e908831815.tar.gz
frameworks_av-14acc736e336cbd6026df781d4f411e908831815.tar.bz2
API Support for both synchronous and queued commands, optionally associated metadata.
Change-Id: Idb90d64cb638942210c5822b3cba2f05b087d601
Diffstat (limited to 'include')
-rw-r--r--include/media/IStreamSource.h8
-rw-r--r--include/media/stagefright/foundation/AMessage.h4
2 files changed, 9 insertions, 3 deletions
diff --git a/include/media/IStreamSource.h b/include/media/IStreamSource.h
index 6291124..4b698e6 100644
--- a/include/media/IStreamSource.h
+++ b/include/media/IStreamSource.h
@@ -22,6 +22,7 @@
namespace android {
+struct AMessage;
struct IMemory;
struct IStreamListener;
@@ -38,13 +39,14 @@ struct IStreamListener : public IInterface {
DECLARE_META_INTERFACE(StreamListener);
enum Command {
- FLUSH,
+ EOS,
DISCONTINUITY,
- EOS
};
virtual void queueBuffer(size_t index, size_t size) = 0;
- virtual void queueCommand(Command cmd) = 0;
+
+ virtual void issueCommand(
+ Command cmd, bool synchronous, const sp<AMessage> &msg = NULL) = 0;
};
////////////////////////////////////////////////////////////////////////////////
diff --git a/include/media/stagefright/foundation/AMessage.h b/include/media/stagefright/foundation/AMessage.h
index c674cba..2fbdddc 100644
--- a/include/media/stagefright/foundation/AMessage.h
+++ b/include/media/stagefright/foundation/AMessage.h
@@ -26,10 +26,14 @@
namespace android {
struct AString;
+struct Parcel;
struct AMessage : public RefBase {
AMessage(uint32_t what = 0, ALooper::handler_id target = 0);
+ static sp<AMessage> FromParcel(const Parcel &parcel);
+ void writeToParcel(Parcel *parcel) const;
+
void setWhat(uint32_t what);
uint32_t what() const;