diff options
| author | 2011-01-10 12:04:50 -0800 | |
|---|---|---|
| committer | 2011-01-10 12:04:50 -0800 | |
| commit | 13d1cb56dfdfc89888de6a0389b0fe6cf7e36c27 (patch) | |
| tree | 905945192bc4c18c6dfbdf23023d19ae511f2b85 /include | |
| parent | 92939376199a08fa0a3b01759579a4979c2a94a2 (diff) | |
| parent | 6328185b6cc632f85ff640f6e854ab33815ae97f (diff) | |
Merge "Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object - do not merge" into gingerbread
Diffstat (limited to 'include')
| -rw-r--r-- | include/media/stagefright/OMXCodec.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h index fed67613ae52..8274dfbf9577 100644 --- a/include/media/stagefright/OMXCodec.h +++ b/include/media/stagefright/OMXCodec.h @@ -60,8 +60,6 @@ struct OMXCodec : public MediaSource, virtual status_t pause(); - void on_message(const omx_message &msg); - // from MediaBufferObserver virtual void signalBufferReturned(MediaBuffer *buffer); @@ -69,6 +67,13 @@ protected: virtual ~OMXCodec(); private: + + // Make sure mLock is accessible to OMXCodecObserver + friend class OMXCodecObserver; + + // Call this with mLock hold + void on_message(const omx_message &msg); + enum State { DEAD, LOADED, |