vtprotocolplugins/VideoSource/src/CVSMMFDataBuffer.cpp
changeset 18 d9b6a8729acd
parent 4 6dc066157ed4
child 23 c378a0498b84
child 27 dcbddbbaf8fd
--- a/vtprotocolplugins/VideoSource/src/CVSMMFDataBuffer.cpp	Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Video Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <ecam.h>
-#include <e32debug.h>
-#include "CVSMMFDataBuffer.h"
-
-// MACROS
-
-#ifdef _DEBUG
-#    define __IF_DEBUG(t) {RDebug::t;}
-#else
-#    define __IF_DEBUG(t)
-#endif
-
-// ============================ CVSMMFDataBuffer ===============================
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::NewL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVSMMFDataBuffer* CVSMMFDataBuffer::NewL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::NewL() >>"), RThread().Id().operator TUint()));
-    CVSMMFDataBuffer* self = new ( ELeave ) CVSMMFDataBuffer;
-    CleanupStack::PushL(self);
-    self->ConstructL( KMMFDataBufferDefaultBufferSize );
-    CleanupStack::Pop(); // self
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::NewL <<"), RThread().Id().operator TUint()));
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::NewL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVSMMFDataBuffer* CVSMMFDataBuffer::NewL( TInt aMaxBufferSize )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::NewL() >>"), RThread().Id().operator TUint()));
-    CVSMMFDataBuffer* self = new ( ELeave ) CVSMMFDataBuffer;
-    CleanupStack::PushL(self);
-    self->ConstructL( aMaxBufferSize );
-    CleanupStack::Pop(); // self
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::NewL <<"), RThread().Id().operator TUint()));
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::~CVSMMFDataBuffer
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CVSMMFDataBuffer::~CVSMMFDataBuffer()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::~CVSMMFDataBuffer() >>"), RThread().Id().operator TUint()));
-    delete[] iData;
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::~CVSMMFDataBuffer() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::ReAllocBufferL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::ReAllocBufferL( TInt aMaxBufferSize )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::ReAllocBufferL() >>"), RThread().Id().operator TUint()));
-    if ( !iIsBufferSet )
-        {
-        TUint8* tmp = new (ELeave) TUint8[aMaxBufferSize];
-        delete[] iData;
-        iData = tmp;
-        iPtr.Set( iData, 0, aMaxBufferSize );
-        iMaxBufferSize = aMaxBufferSize;
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::ReAllocBufferL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::NeedsReset
-// -----------------------------------------------------------------------------
-//
-TBool CVSMMFDataBuffer::NeedsReset() const
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::NeedsReset() ><"), RThread().Id().operator TUint()));
-    return iNeedsReset;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetNeedsReset
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetNeedsReset( TBool aNeedsReset )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetNeedsReset() >>"), RThread().Id().operator TUint()));
-    iNeedsReset = aNeedsReset;
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetNeedsReset() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::Reset
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::Reset()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Reset() >>"), RThread().Id().operator TUint()));
-    iPtr.Zero();
-    SetNeedsReset( EFalse );
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Reset() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::Data
-// -----------------------------------------------------------------------------
-//
-TDes8& CVSMMFDataBuffer::Data()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Data() >>"), RThread().Id().operator TUint()));
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Data() <<"), RThread().Id().operator TUint()));
-    return iPtr;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::Data
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CVSMMFDataBuffer::Data() const
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Data() >>"), RThread().Id().operator TUint()));
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Data() <<"), RThread().Id().operator TUint()));
-    return iPtr;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetStatus
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetStatus( TBufferStatus aStatus )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetStatus() >>"), RThread().Id().operator TUint()));
-    CMMFBuffer::SetStatus( aStatus );
-    if ( iStatus == EBeingFilled )
-        {
-        Reset();
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetStatus() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetRequestSizeL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetRequestSizeL( TInt aSize )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetRequestSizeL() >>"), RThread().Id().operator TUint()));
-    if ( aSize < 0 )
-        {
-        User::Leave( KErrUnderflow );
-        }
-    else if ( aSize > iPtr.MaxLength() )
-        {
-        User::Leave( KErrOverflow );
-        }
-    else
-        {
-        iRequestSize = aSize;
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetRequestSizeL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::BufferSize
-// -----------------------------------------------------------------------------
-//
-TUint CVSMMFDataBuffer::BufferSize() const
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::BufferSize() >>"), RThread().Id().operator TUint()));
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::BufferSize() <<"), RThread().Id().operator TUint()));
-    return iPtr.Length();
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetPosition
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetPosition( TUint aPosition )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetPosition() >>"), RThread().Id().operator TUint()));
-    if ( aPosition <= (TUint)iPtr.Length() )
-        {
-        iPosition = aPosition;
-        }
-    else
-        {
-        iPosition = (TUint)iPtr.Length();   // Tried to position beyond end of
-                                            // data
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetPosition() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetFrameBufferL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetFrameBufferL( MFrameBuffer* aFrameBuffer )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetFrameBuffer() >>"), RThread().Id().operator TUint()));
-    iFrameBuffer = aFrameBuffer;
-    //Buffer is valid
-    iIsBufferSet = ETrue;
-    if ( aFrameBuffer == NULL )
-        {
-        iPtr.Set( iData, 0, iMaxBufferSize );
-        }
-    else
-        {
-        Reset();
-        TPtrC8 ptr( *iFrameBuffer->DataL( 0 ) );
-        iPtr.Set((TUint8*)ptr.Ptr(), ptr.Size(), ptr.Size());
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetFrameBuffer() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetFrameBufferL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetFrameBufferL( MCameraBuffer* aCameraBuffer )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetFrameBuffer() >>"), RThread().Id().operator TUint()));
-    iCameraBuffer = aCameraBuffer;
-    //Buffer is valid
-    iIsBufferSet = ETrue;
-    if ( aCameraBuffer == NULL )
-        {
-        iPtr.Set( iData, 0, iMaxBufferSize );
-        }
-    else
-        {
-        Reset();
-        // Take the latest frame data from buffer should be always 0,
-        // but if buffer contains more than 1 frame could be something else
-        TPtrC8 ptr( *iCameraBuffer->DataL( iCameraBuffer->NumFrames() - 1 ) );
-        iPtr.Set((TUint8*)ptr.Ptr(), ptr.Size(), ptr.Size());
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetFrameBuffer() <<"), RThread().Id().operator TUint()));
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::ReleaseL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::ReleaseL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Release() >>"), RThread().Id().operator TUint()));
-    if( iFrameBuffer )
-        {
-        iFrameBuffer->Release();
-        SetFrameBufferL( (MFrameBuffer*)NULL );
-        }
-    else if( iCameraBuffer )
-    	{
-    	iCameraBuffer->Release();
-        SetFrameBufferL( (MCameraBuffer*)NULL );
-    	}
-    else
-        {
-        if ( iPtr.Ptr() != iData )
-            {
-            iPtr.Set( iData, 0, iMaxBufferSize );
-            }
-        if( NeedsReset() )
-            {
-            Reset();
-            }
-        }
-
-    //Buffer is no longer valid
-    iIsBufferSet = EFalse;
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::Release() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::SetBufferOffset
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::SetBufferOffset( TInt aOffset )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetBufferOffset() >>"), RThread().Id().operator TUint()));
-    if ( !iIsBufferSet )
-        {
-        __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetBufferOffset(): Length = %d, Offset = %d"), RThread().Id().operator TUint(), iPtr.Length(), aOffset));
-        iPtr.Set( iData + aOffset, iPtr.Length() - aOffset, iMaxBufferSize );
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::SetBufferOffset() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::CVSMMFDataBuffer
-// -----------------------------------------------------------------------------
-//
-CVSMMFDataBuffer::CVSMMFDataBuffer() :
-    CMMFDataBuffer( KUidMmfDataBuffer ), iPtr(0,0,0), iIsBufferSet(EFalse)
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::CVSMMFDataBuffer() >>"), RThread().Id().operator TUint()));
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::CVSMMFDataBuffer() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSMMFDataBuffer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CVSMMFDataBuffer::ConstructL( TInt aMaxBufferSize )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::ConstructL() >>"), RThread().Id().operator TUint()));
-    iData = new (ELeave) TUint8[aMaxBufferSize];
-    iPtr.Set( iData, 0, aMaxBufferSize );
-    iMaxBufferSize = aMaxBufferSize;
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSMMFDataBuffer::ConstructL() <<"), RThread().Id().operator TUint()));
-    }
-
-//  End of File