18 #include "structure.h" 19 #include "../QGlib/string_p.h" 20 #include "objectstore_p.h" 21 #include <QtCore/QDebug> 27 CapsPtr Caps::createSimple(
const char *mediaType)
29 return CapsPtr::wrap(gst_caps_new_empty_simple(mediaType),
false);
33 CapsPtr Caps::createAny()
39 CapsPtr Caps::createEmpty()
45 CapsPtr Caps::fromString(
const char *
string)
50 QString Caps::toString()
const 52 return QGlib::Private::stringFromGCharPtr(gst_caps_to_string(object<GstCaps>()));
55 void Caps::append(
const CapsPtr & caps2)
57 gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2));
60 CapsPtr Caps::merge(CapsPtr & caps2)
62 return CapsPtr::wrap(gst_caps_merge(object<GstCaps>(), caps2),
false);
65 void Caps::setValue(
const char *field,
const QGlib::Value & value)
67 gst_caps_set_value(object<GstCaps>(), field, value);
72 return gst_caps_simplify(object<GstCaps>());
75 CapsPtr Caps::truncate()
77 return CapsPtr::wrap(gst_caps_truncate(object<GstCaps>()),
false);
80 StructurePtr Caps::internalStructure(uint index)
82 GstStructure *structure = gst_caps_get_structure(object<GstCaps>(), index);
83 return SharedStructure::fromCaps(structure, CapsPtr(
this));
86 void Caps::appendStructure(
const Structure & structure)
88 gst_caps_append_structure(object<GstCaps>(), gst_structure_copy(structure));
91 CapsPtr Caps::mergeStructure(Structure & structure)
93 return CapsPtr::wrap(gst_caps_merge_structure(object<GstCaps>(), structure),
false);
96 void Caps::removeStructure(uint index)
98 gst_caps_remove_structure(object<GstCaps>(), index);
101 uint Caps::size()
const 103 return gst_caps_get_size(object<GstCaps>());
106 bool Caps::isSimple()
const 108 return GST_CAPS_IS_SIMPLE(object<GstCaps>());
111 bool Caps::isAny()
const 113 return gst_caps_is_any(object<GstCaps>());
116 bool Caps::isEmpty()
const 118 return gst_caps_is_empty(object<GstCaps>());
121 bool Caps::isFixed()
const 123 return gst_caps_is_fixed(object<GstCaps>());
126 bool Caps::equals(
const CapsPtr & caps2)
const 128 return gst_caps_is_equal(object<GstCaps>(), caps2);
131 bool Caps::isAlwaysCompatibleWith(
const CapsPtr & caps2)
const 133 return gst_caps_is_always_compatible(object<GstCaps>(), caps2);
136 bool Caps::isSubsetOf(
const CapsPtr & superset)
const 138 return gst_caps_is_subset(object<GstCaps>(), superset);
141 bool Caps::canIntersect(
const CapsPtr & caps2)
const 143 return gst_caps_can_intersect(object<GstCaps>(), caps2);
146 CapsPtr Caps::getIntersection(
const CapsPtr & caps2)
const 148 return CapsPtr::wrap(gst_caps_intersect(object<GstCaps>(), caps2),
false);
151 CapsPtr Caps::getNormal()
153 return CapsPtr::wrap(gst_caps_normalize(object<GstCaps>()),
false);
156 CapsPtr Caps::subtract(
const CapsPtr & subtrahend)
const 158 return CapsPtr::wrap(gst_caps_subtract(object<GstCaps>(), subtrahend),
false);
161 CapsPtr Caps::copy()
const 163 return CapsPtr::wrap(gst_caps_copy(object<GstCaps>()),
false);
166 CapsPtr Caps::copyNth(uint index)
const 168 return CapsPtr::wrap(gst_caps_copy_nth(object<GstCaps>(), index),
false);
173 debug.nospace() <<
"QGst::Caps(" << caps->toString() <<
")";
174 return debug.space();
QDebug operator<<(QDebug debug, const CapsPtr &caps)
static RefPointer< T > wrap(typename T::CType *nativePtr, bool increaseRef=true)
Smart pointer class for working with wrapper classes that support reference counting.
Wrapper class for GValue.
Wrappers for GStreamer classes.