19#include "../QGlib/string_p.h"
20#include "objectstore_p.h"
21#include <QtCore/QDebug>
27CapsPtr Caps::createSimple(
const char *mediaType)
29 return CapsPtr::wrap(gst_caps_new_empty_simple(mediaType),
false);
33CapsPtr Caps::createAny()
39CapsPtr Caps::createEmpty()
45CapsPtr Caps::fromString(
const char *
string)
50QString Caps::toString()
const
52 return QGlib::Private::stringFromGCharPtr(gst_caps_to_string(object<GstCaps>()));
55void Caps::append(
const CapsPtr & caps2)
57 const GstCaps * caps2ptr = caps2;
58 gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2ptr));
61CapsPtr Caps::merge(CapsPtr & caps2)
63 return CapsPtr::wrap(gst_caps_merge(object<GstCaps>(), caps2),
false);
66void Caps::setValue(
const char *field,
const QGlib::Value & value)
68 gst_caps_set_value(object<GstCaps>(), field, value);
73 return gst_caps_simplify(object<GstCaps>());
76CapsPtr Caps::truncate()
78 return CapsPtr::wrap(gst_caps_truncate(object<GstCaps>()),
false);
81StructurePtr Caps::internalStructure(uint index)
83 GstStructure *structure = gst_caps_get_structure(object<GstCaps>(), index);
84 return SharedStructure::fromCaps(structure, CapsPtr(
this));
87void Caps::appendStructure(
const Structure & structure)
89 gst_caps_append_structure(object<GstCaps>(), gst_structure_copy(structure));
92CapsPtr Caps::mergeStructure(Structure & structure)
94 return CapsPtr::wrap(gst_caps_merge_structure(object<GstCaps>(), structure),
false);
97void Caps::removeStructure(uint index)
99 gst_caps_remove_structure(object<GstCaps>(), index);
102uint Caps::size()
const
104 return gst_caps_get_size(object<GstCaps>());
107bool Caps::isSimple()
const
109 return GST_CAPS_IS_SIMPLE(object<GstCaps>());
112bool Caps::isAny()
const
114 return gst_caps_is_any(object<GstCaps>());
117bool Caps::isEmpty()
const
119 return gst_caps_is_empty(object<GstCaps>());
122bool Caps::isFixed()
const
124 return gst_caps_is_fixed(object<GstCaps>());
127bool Caps::equals(
const CapsPtr & caps2)
const
129 return gst_caps_is_equal(object<GstCaps>(), caps2);
132bool Caps::isAlwaysCompatibleWith(
const CapsPtr & caps2)
const
134 return gst_caps_is_always_compatible(object<GstCaps>(), caps2);
137bool Caps::isSubsetOf(
const CapsPtr & superset)
const
139 return gst_caps_is_subset(object<GstCaps>(), superset);
142bool Caps::canIntersect(
const CapsPtr & caps2)
const
144 return gst_caps_can_intersect(object<GstCaps>(), caps2);
147CapsPtr Caps::getIntersection(
const CapsPtr & caps2)
const
149 return CapsPtr::wrap(gst_caps_intersect(object<GstCaps>(), caps2),
false);
152CapsPtr Caps::getNormal()
154 return CapsPtr::wrap(gst_caps_normalize(object<GstCaps>()),
false);
157CapsPtr Caps::subtract(
const CapsPtr & subtrahend)
const
159 return CapsPtr::wrap(gst_caps_subtract(object<GstCaps>(), subtrahend),
false);
162CapsPtr Caps::copy()
const
164 return CapsPtr::wrap(gst_caps_copy(object<GstCaps>()),
false);
167CapsPtr Caps::copyNth(uint index)
const
169 return CapsPtr::wrap(gst_caps_copy_nth(object<GstCaps>(), index),
false);
172QDebug operator<<(QDebug debug,
const CapsPtr & caps)
174 debug.nospace() <<
"QGst::Caps(" << caps->toString() <<
")";
175 return debug.space();
static RefPointer< T > wrap(typename T::CType *nativePtr, bool increaseRef=true)
Wrapper class for GValue.
Wrappers for GStreamer classes.