sl@0: // Copyright (c) 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 DEVVIDEOHWDEVICETUNNELCUSTOMINTERFACE_H sl@0: #define DEVVIDEOHWDEVICETUNNELCUSTOMINTERFACE_H sl@0: sl@0: #include sl@0: sl@0: /** sl@0: KUidMmfVideoHwDeviceTunnel interface UID. sl@0: sl@0: @publishedPartner sl@0: @released sl@0: */ sl@0: const TUid KUidMmfVideoHwDeviceTunnel = { 0x1028668C }; sl@0: sl@0: /** sl@0: HwDevice Tunneling custom interface. sl@0: Controllers or other DevVideo clients can use this interface in order to setup sl@0: a tunnel from one HwDevice to another. For instance this would allow a video sl@0: decoder to be tunneled to a video encoder for transcoding use cases. sl@0: sl@0: Clients must query the HwDevice at both ends of the tunnel for the custom sl@0: interface in order to ensure that both devices support tunneled operation. sl@0: sl@0: @publishedPartner sl@0: @released sl@0: */ sl@0: class MMmfVideoHwDeviceTunnel sl@0: { sl@0: public: sl@0: /** sl@0: Get the instance of the HwDevice at this end of the tunnel. sl@0: sl@0: @return The HwDevice instance sl@0: */ sl@0: virtual CMMFVideoHwDevice* MmvhdtHwDevice() = 0; sl@0: sl@0: /** sl@0: Setup a tunnel to another HwDevice sl@0: sl@0: @param aHwDevice The HwDevice to setup the tunnel to sl@0: */ sl@0: virtual void MmvhdtSetupTunnelL(CMMFVideoHwDevice* aHwDevice) = 0; sl@0: }; sl@0: sl@0: #endif // DEVVIDEOHWDEVICETUNNELCUSTOMINTERFACE_H