QtGStreamer 1.2.0
Loading...
Searching...
No Matches
memory.h
1/*
2 Copyright (C) 2014 Diane Trout <diane@ghic.org>
3
4 This library is free software; you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as published
6 by the Free Software Foundation; either version 2.1 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#ifndef QGST_MEMORY_H
18#define QGST_MEMORY_H
19
20#include "global.h"
21#include "miniobject.h"
22
23namespace QGst {
24
25class QTGSTREAMER_EXPORT MapInfo
26{
27public:
28 MapInfo();
29 virtual ~MapInfo();
30
31 MapFlags flags() const;
32 quint8 *data() const;
33 size_t size() const;
34 size_t maxSize() const;
35
36private:
37 friend class Buffer;
38 friend class Memory;
39 Q_DISABLE_COPY(MapInfo);
40
41 void *m_object;
42};
43
51class QTGSTREAMER_EXPORT Memory : public MiniObject
52{
53 QGST_WRAPPER(Memory)
54public:
55 QGst::AllocatorPtr allocator() const;
56
57 size_t size() const;
58 size_t offset() const;
59 size_t maxSize() const;
60
61 bool isType(const char *type) const;
62
63 bool map(MapInfo &info, MapFlags flags);
64 void unmap(MapInfo &info);
65};
66
67} // namespace QGst
68
69QGST_REGISTER_TYPE(QGst::Memory)
70
71#endif
Smart pointer class for working with wrapper classes that support reference counting.
Definition refpointer.h:91
Wrapper class for GstMemory.
Definition memory.h:52
Wrapper class for GstMiniObject.
Definition miniobject.h:30
Wrappers for GStreamer classes.