24 struct QTGSTREAMER_NO_EXPORT Segment::Data :
public QSharedData
26 Data() : QSharedData(), segment(NULL) {}
27 Data(
const Data & other);
33 Segment::Data::Data(
const Segment::Data & other)
34 : QSharedData(other), segment(NULL)
37 segment = gst_segment_copy(other.segment);
41 Segment::Data::~Data()
44 gst_segment_free(segment);
55 Segment::Segment(Format fmt)
58 d->segment = gst_segment_new();
62 Segment::Segment(
const GstSegment * segment)
65 d->segment = gst_segment_copy(segment);
68 Segment::Segment(
const Segment & other)
73 Segment & Segment::operator=(
const Segment & other)
83 bool Segment::isValid()
const
85 return d->segment != NULL;
88 void Segment::init(Format fmt)
90 gst_segment_init(d->segment,
static_cast<GstFormat
>(fmt));
93 SegmentFlags Segment::flags()
const
95 return d->segment ?
static_cast<SegmentFlag
>(d->segment->flags) : SegmentFlagNone;
98 double Segment::rate()
const
100 return d->segment ? d->segment->rate : 1.0;
103 double Segment::appliedRate()
const
105 return d->segment ? d->segment->applied_rate : 1.0;
108 Format Segment::format()
const
110 return d->segment ?
static_cast<Format
>(d->segment->format) : FormatUndefined;
113 quint64 Segment::base()
const
115 return d->segment ? d->segment->base : 0;
118 quint64 Segment::offset()
const
120 return d->segment ? d->segment->offset : 0;
123 quint64 Segment::start()
const
125 return d->segment ? d->segment->start : 0;
128 quint64 Segment::stop()
const
130 return d->segment ? d->segment->stop : -1;
133 quint64 Segment::time()
const
135 return d->segment ? d->segment->time : 0;
138 quint64 Segment::position()
const
140 return d->segment ? d->segment->position : 0;
143 quint64 Segment::duration()
const
145 return d->segment ? d->segment->duration : -1;
148 Segment::operator GstSegment*()
153 Segment::operator
const GstSegment*()
const
Wrappers for GStreamer classes.