mdfdevvideoextensions/nga_mdf_postprocessor_shai/inc/devvideosurfacehandlecustominterface.h
changeset 58 b6dbf97aba93
equal deleted inserted replaced
57:1cbb0d5bf7f2 58:b6dbf97aba93
       
     1 /*
       
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef DEVVIDEOSURFACEHANDLECUSTOMINTERFACE_H
       
    19 #define DEVVIDEOSURFACEHANDLECUSTOMINTERFACE_H
       
    20 
       
    21 #include <graphics/surface.h>
       
    22 #include <mmf/common/mmfvideo.h>
       
    23 #include <graphics/surfacemanager.h>
       
    24 
       
    25 /** 
       
    26 DevVideo SurfaceHandle Custom Interface UID.
       
    27 
       
    28 @publishedPartner
       
    29 @prototype
       
    30 */
       
    31 const TUid KUidMMFVideoSurfaceHandleControl = { 0x10286486 };
       
    32 
       
    33 /**
       
    34 Video play surface handle custom interface. This interface can be used by
       
    35 a H/W device which creates a surface to pass the surface handle to 
       
    36 another H/W device. Alternatively, a H/W device may create resources for the 
       
    37 surface, for example, chunks and pass details to another H/W device to 
       
    38 create surface based on the chunk information.
       
    39 Typically implemented by the post processor and used by a decoder.
       
    40 
       
    41 @publishedPartner
       
    42 @prototype
       
    43 */
       
    44 class MMmfVideoSurfaceHandleControl
       
    45 	{
       
    46 	public:
       
    47 
       
    48 	/**
       
    49 	@param aSurfaceHandle Surface handle for the new surface.
       
    50 	*/
       
    51 	virtual void MmvshcSetSurfaceHandle(const TSurfaceId& aSurfaceHandle) = 0;
       
    52 	
       
    53     /**
       
    54     @param  aRedrawBuffer Buffer  for the  redrawing of  the last  picture. The
       
    55     memory of this buffer is owned  by the caller and ownerhship of  this memory
       
    56     is not transerred as  part of this call.  Also, the memory may  not be valid
       
    57     after the call completes.
       
    58      */
       
    59      virtual void MmvshcRedrawBufferToSurface(TPtrC8& aRedrawBuffer) = 0;
       
    60      
       
    61      /**
       
    62       This is used to get th esurface create dbased on an ixisting chunk. Typically,
       
    63       the chunk would be created by the caller of this method and surface would be 
       
    64       created by the implementer.
       
    65        
       
    66       @param aAttributes Info necessary to create surface based on existing chunk.
       
    67       @param aHandle Handle of the existing chunk
       
    68       @param aSurfaceId Surface Id created as on output of this method.
       
    69       
       
    70       @return error code 
       
    71       */
       
    72      virtual TInt MmvshcCreateSurface(const RSurfaceManager::TSurfaceCreationAttributes& aAttributes, TInt aHandle, TSurfaceId& aSurfaceId) = 0;
       
    73     
       
    74     };
       
    75 
       
    76 
       
    77 #endif // DEVVIDEOSURFACEHANDLECUSTOMINTERFACE_H
       
    78