omxil/omxilcomponentcommon/src/common/omxilcallbacknotificationif.h
changeset 0 40261b775718
child 16 eedf2dcd43c6
equal deleted inserted replaced
-1:000000000000 0:40261b775718
       
     1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 /**
       
    17  @file
       
    18  @internalComponent
       
    19 */
       
    20 
       
    21 #ifndef OMXILCALLBACKNOTIFICATIONIF_H
       
    22 #define OMXILCALLBACKNOTIFICATIONIF_H
       
    23 
       
    24 #include <e32def.h>
       
    25 
       
    26 #include <openmax/il/khronos/v1_x/OMX_Core.h>
       
    27 
       
    28 
       
    29 /**
       
    30    Portion of CallBack Manager Interface used by Processing Function objects
       
    31  */
       
    32 class MOmxILCallbackNotificationIf
       
    33 	{
       
    34 
       
    35 public:
       
    36 
       
    37 	/**
       
    38 	   OpenMAX IL Error notification method that must be implemented by the
       
    39 	   Callback manager object.
       
    40 
       
    41 	   @param [in] aOmxError The error event.
       
    42 
       
    43 	   @return OMX_ERRORTYPE
       
    44 	*/
       
    45 	virtual OMX_ERRORTYPE ErrorEventNotification(
       
    46 		OMX_ERRORTYPE aOmxError) = 0;
       
    47 
       
    48 	/**
       
    49 	   OpenMAX IL Buffer Done notification method that must be implemented by
       
    50 	   the Callback manager object.
       
    51 
       
    52 	   @param [in] apBufferHeader The header of the buffer processed.
       
    53 
       
    54 	   @param [in] aLocalPortIndex Index of the port that processed the buffer.
       
    55 
       
    56 	   @param [in] aLocalPortDirection The direction of the port.
       
    57 
       
    58 	   @return OMX_ERRORTYPE
       
    59 	*/
       
    60 	virtual OMX_ERRORTYPE BufferDoneNotification(
       
    61 		OMX_BUFFERHEADERTYPE* apBufferHeader,
       
    62 		OMX_U32 aLocalPortIndex,
       
    63 		OMX_DIRTYPE aLocalPortDirection) = 0;
       
    64 
       
    65 	/**
       
    66 	   OpenMAX IL Clock Buffer Done notification method that must be
       
    67 	   implemented by the Callback manager object. If queueing is implemented,
       
    68 	   clock buffers will be returned with higher priority than normal buffers.
       
    69 
       
    70 	   @param [in] apBufferHeader The header of the clock buffer processed.
       
    71 
       
    72 	   @param [in] aLocalPortIndex Index of the port that processed the buffer.
       
    73 
       
    74 	   @param [in] aLocalPortDirection The direction of the port.
       
    75 
       
    76 	   @return OMX_ERRORTYPE
       
    77 	*/
       
    78 	virtual OMX_ERRORTYPE ClockBufferDoneNotification(
       
    79 		OMX_BUFFERHEADERTYPE* apBufferHeader,
       
    80 		OMX_U32 aLocalPortIndex,
       
    81 		OMX_DIRTYPE aLocalPortDirection) = 0;
       
    82 
       
    83 	/**
       
    84 	   Generic OpenMAX IL Event method notification method that must be
       
    85 	   implemented by the Callback manager object.
       
    86 
       
    87 	   @param [in] aEvent The event to be notified.
       
    88 
       
    89 	   @param [in] aData1 An integer with additional event information.
       
    90 
       
    91 	   @param [in] aData2 An integer with additional event information.
       
    92 
       
    93 	   @param [in] aExtraInfo An optional text.
       
    94 
       
    95 	   @return OMX_ERRORTYPE
       
    96 	*/
       
    97 	virtual OMX_ERRORTYPE EventNotification(
       
    98 		OMX_EVENTTYPE aEvent,
       
    99 		TUint32 aData1,
       
   100 		TUint32 aData2,
       
   101 		OMX_STRING aExtraInfo) = 0;
       
   102 
       
   103 	/**
       
   104 	   Notification method that must be implemented by the Callback manager
       
   105 	   object. It is used by Processing Function objects to notify that some
       
   106 	   port setting has changed during the processing of a buffer.
       
   107 
       
   108 	   @param [in] aLocalPortIndex The index of the local port that needs to be
       
   109 	   notified of the change.
       
   110 
       
   111 	   @param [in] aPortSettingsIndex An implementation-specific identifier
       
   112 	   that the implementation associates to the setting(s) that need(s)
       
   113 	   updating in the port.
       
   114 
       
   115 	   @param [in] aPortSettings A buffer descriptor that contains an
       
   116 	   implementation-specific structure with the new setting(s) that need to
       
   117 	   be updated in the port.
       
   118 
       
   119 	   @return OMX_ERRORTYPE
       
   120 	*/
       
   121 	virtual OMX_ERRORTYPE PortSettingsChangeNotification(
       
   122 		OMX_U32 aLocalPortIndex,
       
   123 		TUint aPortSettingsIndex,
       
   124 		const TDesC8& aPortSettings) = 0;
       
   125 
       
   126 	};
       
   127 
       
   128 #endif // OMXILCALLBACKNOTIFICATIONIF_H
       
   129 
       
   130