First public contribution.
1 // Copyright (c) 2007-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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
17 #ifndef VIDEOFRAMEBUFFER_H
18 #define VIDEOFRAMEBUFFER_H
21 #include <mmf/devvideo/devvideobase.h> // for TUncompressedVideoFormat
24 TVideoFrameBuffer represents a buffer for a single decoded video picture. The
25 buffer must be contained within a chunk that can be shared across processes.
27 The frame buffer class is used both for video renderer data flow and with the
28 MMMFVideoClientBufferSupport extension.
33 class TVideoFrameBuffer
36 IMPORT_C TVideoFrameBuffer(const TUncompressedVideoFormat& aFormat,
42 IMPORT_C TUncompressedVideoFormat Format() const;
43 IMPORT_C TUint Stride() const;
44 IMPORT_C TInt BufferId() const;
45 IMPORT_C const RChunk& Chunk() const;
46 IMPORT_C TUint8* Buffer() const;
48 /** Status used by video renderer
59 TBufferStatus BufferStatus() const;
60 void SetBufferStatus(TBufferStatus aStatus);
61 TDblQueLink& DblQueLink();
62 void SetPresentationTime(const TTime& aTime);
63 TTime PresentationTime() const;
66 /** Offset for link list
69 static const TInt iOffset;
72 TUncompressedVideoFormat iFormat;
77 TDblQueLink iDblQueLink;
78 TBufferStatus iStatus;
79 TTime iPresentationTime;
82 #endif // VIDEOFRAMEBUFFER_H