diff -r 3785f754ee62 -r 5360b7ddc251 upnpsharing/upnpdlnaprofiler/inc/upnpavsolverbase.h --- a/upnpsharing/upnpdlnaprofiler/inc/upnpavsolverbase.h Fri Sep 17 08:31:21 2010 +0300 +++ b/upnpsharing/upnpdlnaprofiler/inc/upnpavsolverbase.h Mon Nov 01 12:37:49 2010 +0200 @@ -1,145 +1,145 @@ -/* -* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Base DLNA profile resolver class for av files. -* -*/ - - - - - - -#ifndef C_UPNPAVSOLVERBASE_H -#define C_UPNPAVSOLVERBASE_H - - -// system includes -#include <3gplibrary/mp4lib.h> - -// user includes -#include "upnpprofiler.h" - -// forward declarations -class CVideoRecorderUtility; - -// constants -const TInt TMP4DecoderSpecificInfoSize = 16; - -// NONE - -/** - * Av file DLNA profile base resolver class. - * - * This class is the base class for resolving DLNA profile of av files. - * It contains methods for querying the profiles supported by this solver - * and for resolving a DLNA profile of a given av file. - * - * - * @lib dlnaprofiler.lib - * @since S60 v3.1 - */ -NONSHARABLE_CLASS( CUpnpAvSolverBase ) : public CBase, - public MUpnpProfiler - { - -public: - - static CUpnpAvSolverBase* NewL(); - - static CUpnpAvSolverBase* NewLC(); - - virtual ~CUpnpAvSolverBase(); - -// from base class MUpnpProfiler - - /** - * From MUpnpProfiler. - * SupportedProfilesL returns DLNA profiles that are currently supported. - * - * @since S60 v3.1 - * @param aProfiles Descriptor array where supported DLNA profiles are - * added. - * @return TInt Error code, KErrNone if successfull. - */ - TInt SupportedProfilesL( CDesC16ArrayFlat* aProfiles ) const; - - /** - * From MUpnpProfiler. - * ProfileForFileL is for resolving a DLNA profile of a given file. - * Besides of file name, also mime type of the file is passed as a - * parameter in order to avoid re-opening of the file. - * - * @since S60 v3.1 - * @param aFileName Filename of the file which is to be resolved. - * @param aMimeType Mime type of the file which is to be resolved. - * @param aFile Handle to opened file specified by aFilename - * @return DLNA profile of the file as a HBufC*, - * NULL if could not be resolved - */ - HBufC* ProfileForFileL( const TDesC& aFilename, - const TDesC8& aMimetype, - RFile& aFile ); - - -private: - - CUpnpAvSolverBase(); - - void ConstructL(); - - /** - * GetVideoFileInformationL - * - * @since S60 v3.1 - * @param aFileName Filename of the file which is to be resolved. - * @return Error code. KErrNone if successfull. - */ - TInt GetVideoFileInformationL( RFile& aFile ); - - /** - * A generic data container to be used in parsing different - * MPEG4 codec headers - */ - class TMP4DecoderSpecificInfo - { - public: - TUint32 iData[TMP4DecoderSpecificInfoSize]; - }; - - -private: // data - - // Type of video codec within the AV file - mp4_u32 iVideoType; - - // Video resolution X size - mp4_u32 iVideoResolutionX; - - // Video resolution Y size - mp4_u32 iVideoResolutionY; - - mp4_double iVideoFramerate; - - // Type of audio codec within the AV file - mp4_u32 iAudioType; - - // stream bitrate - mp4_u32 iStreamAverageBitrate; - - // codec-specific details - TMP4DecoderSpecificInfo iCodecInfo; - - }; - -#endif // C_UPNPAVSOLVERBASE_H +/* +* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Base DLNA profile resolver class for av files. +* +*/ + + + + + + +#ifndef C_UPNPAVSOLVERBASE_H +#define C_UPNPAVSOLVERBASE_H + + +// system includes +#include <3gplibrary/mp4lib.h> + +// user includes +#include "upnpprofiler.h" + +// forward declarations +class CVideoRecorderUtility; + +// constants +const TInt TMP4DecoderSpecificInfoSize = 17; + +// NONE + +/** + * Av file DLNA profile base resolver class. + * + * This class is the base class for resolving DLNA profile of av files. + * It contains methods for querying the profiles supported by this solver + * and for resolving a DLNA profile of a given av file. + * + * + * @lib dlnaprofiler.lib + * @since S60 v3.1 + */ +NONSHARABLE_CLASS( CUpnpAvSolverBase ) : public CBase, + public MUpnpProfiler + { + +public: + + static CUpnpAvSolverBase* NewL(); + + static CUpnpAvSolverBase* NewLC(); + + virtual ~CUpnpAvSolverBase(); + +// from base class MUpnpProfiler + + /** + * From MUpnpProfiler. + * SupportedProfilesL returns DLNA profiles that are currently supported. + * + * @since S60 v3.1 + * @param aProfiles Descriptor array where supported DLNA profiles are + * added. + * @return TInt Error code, KErrNone if successfull. + */ + TInt SupportedProfilesL( CDesC16ArrayFlat* aProfiles ) const; + + /** + * From MUpnpProfiler. + * ProfileForFileL is for resolving a DLNA profile of a given file. + * Besides of file name, also mime type of the file is passed as a + * parameter in order to avoid re-opening of the file. + * + * @since S60 v3.1 + * @param aFileName Filename of the file which is to be resolved. + * @param aMimeType Mime type of the file which is to be resolved. + * @param aFile Handle to opened file specified by aFilename + * @return DLNA profile of the file as a HBufC*, + * NULL if could not be resolved + */ + HBufC* ProfileForFileL( const TDesC& aFilename, + const TDesC8& aMimetype, + RFile& aFile ); + + +private: + + CUpnpAvSolverBase(); + + void ConstructL(); + + /** + * GetVideoFileInformationL + * + * @since S60 v3.1 + * @param aFileName Filename of the file which is to be resolved. + * @return Error code. KErrNone if successfull. + */ + TInt GetVideoFileInformationL( RFile& aFile ); + + /** + * A generic data container to be used in parsing different + * MPEG4 codec headers + */ + class TMP4DecoderSpecificInfo + { + public: + TUint32 iData[TMP4DecoderSpecificInfoSize]; + }; + + +private: // data + + // Type of video codec within the AV file + mp4_u32 iVideoType; + + // Video resolution X size + mp4_u32 iVideoResolutionX; + + // Video resolution Y size + mp4_u32 iVideoResolutionY; + + mp4_double iVideoFramerate; + + // Type of audio codec within the AV file + mp4_u32 iAudioType; + + // stream bitrate + mp4_u32 iStreamAverageBitrate; + + // codec-specific details + TMP4DecoderSpecificInfo iCodecInfo; + + }; + +#endif // C_UPNPAVSOLVERBASE_H