diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/media/IOMX.h | 11 | ||||
| -rw-r--r-- | include/ui/Surface.h | 4 |
2 files changed, 13 insertions, 2 deletions
diff --git a/include/media/IOMX.h b/include/media/IOMX.h index 857b2bd..7e5ff61 100644 --- a/include/media/IOMX.h +++ b/include/media/IOMX.h @@ -31,6 +31,7 @@ class IMemory; class IOMXObserver; class IOMXRenderer; class ISurface; +class Surface; class IOMX : public IInterface { public: @@ -87,6 +88,16 @@ public: OMX_COLOR_FORMATTYPE colorFormat, size_t encodedWidth, size_t encodedHeight, size_t displayWidth, size_t displayHeight) = 0; + + // Note: This method is _not_ virtual, it exists as a wrapper around + // the virtual "createRenderer" method above facilitating extraction + // of the ISurface from a regular Surface. + sp<IOMXRenderer> createRenderer( + const sp<Surface> &surface, + const char *componentName, + OMX_COLOR_FORMATTYPE colorFormat, + size_t encodedWidth, size_t encodedHeight, + size_t displayWidth, size_t displayHeight); }; struct omx_message { diff --git a/include/ui/Surface.h b/include/ui/Surface.h index 5665c1f..d5dad31 100644 --- a/include/ui/Surface.h +++ b/include/ui/Surface.h @@ -35,8 +35,8 @@ namespace android { // --------------------------------------------------------------------------- class BufferMapper; +class IOMX; class Rect; -class MediaPlayerImpl; class Surface; class SurfaceComposerClient; struct per_client_cblk_t; @@ -181,7 +181,7 @@ private: // mediaplayer needs access to ISurface for display friend class MediaPlayer; friend class Test; - friend class MediaPlayerImpl; + friend class IOMX; const sp<ISurface>& getISurface() const { return mSurface; } status_t getBufferLocked(int index); |
