00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef QGST_BUFFER_H
00019 #define QGST_BUFFER_H
00020
00021 #include "miniobject.h"
00022 #include "clocktime.h"
00023
00024 namespace QGst {
00025
00034 class QTGSTREAMER_EXPORT Buffer : public MiniObject
00035 {
00036 QGST_WRAPPER(Buffer)
00037 public:
00038 static BufferPtr create(uint size);
00039
00040 quint8 * data() const;
00041 quint32 size() const;
00042
00043 ClockTime timeStamp() const;
00044 ClockTime duration() const;
00045
00046 CapsPtr caps() const;
00047 void setCaps(const CapsPtr & caps);
00048
00049 quint64 offset() const;
00050 quint64 offsetEnd() const;
00051
00052 BufferFlags flags() const;
00053 void setFlags(const BufferFlags flags);
00054
00055 BufferPtr copy() const;
00056 inline BufferPtr makeWritable() const;
00057 };
00058
00059 BufferPtr Buffer::makeWritable() const
00060 {
00061 return MiniObject::makeWritable().staticCast<Buffer>();
00062 }
00063
00064 }
00065
00066 QGST_REGISTER_TYPE(QGst::Buffer)
00067
00068 #endif