summaryrefslogtreecommitdiffstats
path: root/include/media/stagefright/OMXDecoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/media/stagefright/OMXDecoder.h')
-rw-r--r--include/media/stagefright/OMXDecoder.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/include/media/stagefright/OMXDecoder.h b/include/media/stagefright/OMXDecoder.h
index c6b7cb3..0abc5a6 100644
--- a/include/media/stagefright/OMXDecoder.h
+++ b/include/media/stagefright/OMXDecoder.h
@@ -36,14 +36,10 @@ class OMXDecoder : public MediaSource,
public OMXObserver,
public MediaBufferObserver {
public:
- static OMXDecoder *Create(
+ static sp<OMXDecoder> Create(
OMXClient *client, const sp<MetaData> &data,
- bool createEncoder = false);
-
- virtual ~OMXDecoder();
-
- // Caller retains ownership of "source".
- void setSource(MediaSource *source);
+ bool createEncoder,
+ const sp<MediaSource> &source);
virtual status_t start(MetaData *params = NULL);
virtual status_t stop();
@@ -61,6 +57,9 @@ public:
// from MediaBufferObserver
virtual void signalBufferReturned(MediaBuffer *buffer);
+protected:
+ virtual ~OMXDecoder();
+
private:
enum {
kPortIndexInput = 0,
@@ -97,7 +96,7 @@ private:
bool mIsEncoder;
uint32_t mQuirks;
- MediaSource *mSource;
+ sp<MediaSource> mSource;
sp<MetaData> mOutputFormat;
Mutex mLock;
@@ -135,7 +134,8 @@ private:
OMXDecoder(OMXClient *client, IOMX::node_id node,
const char *mime, const char *codec,
bool is_encoder,
- uint32_t quirks);
+ uint32_t quirks,
+ const sp<MediaSource> &source);
void setPortStatus(OMX_U32 port_index, PortStatus status);
PortStatus getPortStatus(OMX_U32 port_index) const;