sl@0: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef DEVVIDEOSURFACEHANDLECUSTOMINTERFACE_H sl@0: #define DEVVIDEOSURFACEHANDLECUSTOMINTERFACE_H sl@0: sl@0: #include sl@0: #include sl@0: sl@0: /** sl@0: DevVideo SurfaceHandle Custom Interface UID. sl@0: sl@0: @publishedPartner sl@0: @prototype sl@0: */ sl@0: const TUid KUidMMFVideoSurfaceHandleControl = { 0x10286486 }; sl@0: sl@0: /** sl@0: Video play surface handle custom interface. sl@0: This interface can be used by a H/W device which creates a surface to pass sl@0: information about the surface (such as the surface handle) to another H/W device. sl@0: This is typically implemented by a post processor and used by a decoder. sl@0: sl@0: @publishedPartner sl@0: @prototype sl@0: */ sl@0: class MMmfVideoSurfaceHandleControl sl@0: { sl@0: public: sl@0: sl@0: /** sl@0: Set the handle for the surface sl@0: sl@0: @param aSurfaceHandle Surface handle for the new surface. sl@0: */ sl@0: virtual void MmvshcSetSurfaceHandle(const TSurfaceId& aSurfaceHandle) = 0; sl@0: sl@0: /** sl@0: Pass a buffer to redraw on the surface. sl@0: One situation here this might be used is where resources for a decoder are sl@0: temporarily removed. The decoder can call this routine in order to pass the sl@0: last picture to a postprocessor for redrawing. sl@0: sl@0: @param aRedrawBuffer Buffer containing picture to redraw. The memory for sl@0: this buffer is owned by the caller and ownership of the memory is not sl@0: transferred as part of this call. The memory may not be valid after the sl@0: call completes. sl@0: */ sl@0: virtual void MmvshcRedrawBufferToSurface(TPtrC8& /*aRedrawBuffer*/) {}; sl@0: }; sl@0: sl@0: #endif // DEVVIDEOSURFACEHANDLECUSTOMINTERFACE_H