From ae9d5072534de65d9ea41def2e1b4258a1731ca4 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Mon, 6 Dec 2010 10:36:06 -0800 Subject: API Support for both synchronous and queued commands, optionally associated metadata. Change-Id: Idb90d64cb638942210c5822b3cba2f05b087d601 --- include/media/IStreamSource.h | 8 +++++--- include/media/stagefright/foundation/AMessage.h | 4 ++++ 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'include/media') 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 &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 FromParcel(const Parcel &parcel); + void writeToParcel(Parcel *parcel) const; + void setWhat(uint32_t what); uint32_t what() const; -- cgit v1.1