QtGStreamer 1.2.0
Loading...
Searching...
No Matches
segment.h
1/*
2 Copyright (C) 2014 George Kiagiadakis <kiagiadakis.george@gmail.com>
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_SEGMENT_H
18#define QGST_SEGMENT_H
19
20#include "global.h"
21
22namespace QGst {
23
27class QTGSTREAMER_EXPORT Segment
28{
29public:
30 Segment();
31 explicit Segment(Format fmt);
32 explicit Segment(const GstSegment *segment);
33 Segment(const Segment & other);
34 virtual ~Segment();
35
36 Segment & operator=(const Segment & other);
37
38 bool isValid() const;
39 void init(Format fmt);
40
41 // fields
42 SegmentFlags flags() const;
43
44 double rate() const;
45 double appliedRate() const;
46
47 Format format() const;
48 quint64 base() const;
49 quint64 offset() const;
50 quint64 start() const;
51 quint64 stop() const;
52 quint64 time() const;
53
54 quint64 position() const;
55 quint64 duration() const;
56
57 operator GstSegment*();
58 operator const GstSegment*() const;
59
60private:
61 struct Data;
62 QSharedDataPointer<Data> d;
63};
64
65} //namespace QGst
66
67QGST_REGISTER_TYPE(QGst::Segment)
68
69#endif
Wrapper for GstSegment.
Definition segment.h:28
Wrappers for GStreamer classes.