aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2013-07-14 10:55:08 +0200
committerSebastian Dröge <slomo@circular-chaos.org>2013-07-14 10:55:08 +0200
commit01f23673f675e49cdadf2007671a14835c7b2698 (patch)
treeb4abab458518fbaef118295ef64082144385a815
parente3751287e37561e9014ba3752a5db6ee4d682c25 (diff)
Imported Upstream version 1.1.2upstream/1.1.2
-rw-r--r--COPYING4
-rw-r--r--ChangeLog3670
-rw-r--r--MAINTAINERS3
-rw-r--r--Makefile.in345
-rw-r--r--NEWS145
-rw-r--r--README38
-rw-r--r--RELEASE25
-rw-r--r--aclocal.m4793
-rwxr-xr-xautogen.sh35
-rw-r--r--common/Makefile.in282
-rw-r--r--common/README255
-rw-r--r--common/c-to-xml.py14
-rw-r--r--common/check.mak68
-rw-r--r--common/coverage/coverage-report-entry.pl2
-rw-r--r--common/coverage/coverage-report.pl2
-rw-r--r--common/coverage/coverage-report.xsl2
-rw-r--r--common/coverage/lcov.mak10
-rw-r--r--common/gst.supp23
-rwxr-xr-xcommon/gstdoc-scangobj14
-rw-r--r--common/gtk-doc-plugins.mak17
-rw-r--r--common/gtk-doc.mak17
-rw-r--r--common/m4/Makefile.in118
-rw-r--r--common/m4/as-docbook.m414
-rw-r--r--common/m4/gst-check.m430
-rw-r--r--common/m4/gst-doc.m462
-rw-r--r--common/m4/gst-glib2.m48
-rw-r--r--common/m4/gst-plugin-docs.m412
-rw-r--r--common/mangle-tmpl.py2
-rwxr-xr-xcommon/scangobj-merge.py20
-rw-r--r--common/win32.mak8
-rwxr-xr-xcompile91
-rw-r--r--config.h.in39
-rwxr-xr-xconfig.sub11
-rwxr-xr-xconfigure1211
-rw-r--r--configure.ac119
-rwxr-xr-xdepcomp124
-rw-r--r--docs/Makefile.in285
-rw-r--r--docs/README3
-rw-r--r--docs/design/Makefile.am1
-rw-r--r--docs/design/Makefile.in119
-rw-r--r--docs/design/part-caps.txt132
-rw-r--r--docs/design/part-context.txt67
-rw-r--r--docs/design/part-gstbin.txt11
-rw-r--r--docs/design/part-messages.txt2
-rw-r--r--docs/design/part-scheduling.txt14
-rw-r--r--docs/design/part-toc.txt9
-rw-r--r--docs/faq/Makefile.in152
-rw-r--r--docs/faq/dependencies.xml6
-rw-r--r--docs/faq/developing.xml5
-rw-r--r--docs/gst/Makefile.am2
-rw-r--r--docs/gst/Makefile.in144
-rw-r--r--docs/gst/gst-universe.svg202
-rw-r--r--docs/gst/gstreamer-docs.sgml2
-rw-r--r--docs/gst/gstreamer-sections.txt115
-rw-r--r--docs/gst/html/GstAllocator.html62
-rw-r--r--docs/gst/html/GstBin.html166
-rw-r--r--docs/gst/html/GstBus.html147
-rw-r--r--docs/gst/html/GstChildProxy.html79
-rw-r--r--docs/gst/html/GstClock.html237
-rw-r--r--docs/gst/html/GstControlBinding.html46
-rw-r--r--docs/gst/html/GstControlSource.html39
-rw-r--r--docs/gst/html/GstElement.html568
-rw-r--r--docs/gst/html/GstElementFactory.html99
-rw-r--r--docs/gst/html/GstGhostPad.html72
-rw-r--r--docs/gst/html/GstObject.html235
-rw-r--r--docs/gst/html/GstPad.html681
-rw-r--r--docs/gst/html/GstPadTemplate.html74
-rw-r--r--docs/gst/html/GstPipeline.html62
-rw-r--r--docs/gst/html/GstPlugin.html147
-rw-r--r--docs/gst/html/GstPluginFeature.html96
-rw-r--r--docs/gst/html/GstPreset.html57
-rw-r--r--docs/gst/html/GstRegistry.html101
-rw-r--r--docs/gst/html/GstSystemClock.html12
-rw-r--r--docs/gst/html/GstTagSetter.html57
-rw-r--r--docs/gst/html/GstTask.html116
-rw-r--r--docs/gst/html/GstTaskPool.html37
-rw-r--r--docs/gst/html/GstTypeFindFactory.html29
-rw-r--r--docs/gst/html/annotation-glossary.html77
-rw-r--r--docs/gst/html/api-index-deprecated.html19
-rw-r--r--docs/gst/html/api-index-full.html290
-rw-r--r--docs/gst/html/gst-building.html8
-rw-r--r--docs/gst/html/gst-running.html66
-rw-r--r--docs/gst/html/gstreamer-1.0.devhelp2 (renamed from docs/gst/html/gstreamer.devhelp2)91
-rw-r--r--docs/gst/html/gstreamer-Gst.html63
-rw-r--r--docs/gst/html/gstreamer-GstAtomicQueue.html37
-rw-r--r--docs/gst/html/gstreamer-GstBuffer.html450
-rw-r--r--docs/gst/html/gstreamer-GstBufferList.html72
-rw-r--r--docs/gst/html/gstreamer-GstBufferPool.html112
-rw-r--r--docs/gst/html/gstreamer-GstCaps.html512
-rw-r--r--docs/gst/html/gstreamer-GstCapsFeatures.html783
-rw-r--r--docs/gst/html/gstreamer-GstContext.html340
-rw-r--r--docs/gst/html/gstreamer-GstDateTime.html147
-rw-r--r--docs/gst/html/gstreamer-GstEvent.html455
-rw-r--r--docs/gst/html/gstreamer-GstFormat.html47
-rw-r--r--docs/gst/html/gstreamer-GstGError.html33
-rw-r--r--docs/gst/html/gstreamer-GstInfo.html419
-rw-r--r--docs/gst/html/gstreamer-GstIterator.html134
-rw-r--r--docs/gst/html/gstreamer-GstMemory.html234
-rw-r--r--docs/gst/html/gstreamer-GstMessage.html609
-rw-r--r--docs/gst/html/gstreamer-GstMeta.html82
-rw-r--r--docs/gst/html/gstreamer-GstMiniObject.html162
-rw-r--r--docs/gst/html/gstreamer-GstParamSpec.html12
-rw-r--r--docs/gst/html/gstreamer-GstParse.html62
-rw-r--r--docs/gst/html/gstreamer-GstPoll.html107
-rw-r--r--docs/gst/html/gstreamer-GstQuery.html711
-rw-r--r--docs/gst/html/gstreamer-GstSample.html41
-rw-r--r--docs/gst/html/gstreamer-GstSegment.html69
-rw-r--r--docs/gst/html/gstreamer-GstStructure.html365
-rw-r--r--docs/gst/html/gstreamer-GstTagList.html348
-rw-r--r--docs/gst/html/gstreamer-GstToc.html147
-rw-r--r--docs/gst/html/gstreamer-GstTocSetter.html22
-rw-r--r--docs/gst/html/gstreamer-GstTypeFind.html42
-rw-r--r--docs/gst/html/gstreamer-GstUriHandler.html87
-rw-r--r--docs/gst/html/gstreamer-GstUtils.html373
-rw-r--r--docs/gst/html/gstreamer-GstValue.html516
-rw-r--r--docs/gst/html/gstreamer-GstVersion.html11
-rw-r--r--docs/gst/html/gstreamer-gstconfig.html6
-rw-r--r--docs/gst/html/gstreamer-hierarchy.html6
-rw-r--r--docs/gst/html/gstreamer-support.html8
-rw-r--r--docs/gst/html/gstreamer.html8
-rw-r--r--docs/gst/html/index.html14
-rw-r--r--docs/gst/html/index.sgml91
-rw-r--r--docs/gst/html/libgstreamer.html16
-rw-r--r--docs/gst/running.xml67
-rw-r--r--docs/libs/Makefile.am3
-rw-r--r--docs/libs/Makefile.in145
-rw-r--r--docs/libs/gstreamer-libs-docs.sgml3
-rw-r--r--docs/libs/gstreamer-libs-sections.txt87
-rw-r--r--docs/libs/gstreamer-libs.types6
-rw-r--r--docs/libs/html/GstAdapter.html98
-rw-r--r--docs/libs/html/GstBaseSink.html135
-rw-r--r--docs/libs/html/GstBaseSrc.html95
-rw-r--r--docs/libs/html/GstBaseTransform.html111
-rw-r--r--docs/libs/html/GstCollectPads.html178
-rw-r--r--docs/libs/html/GstInterpolationControlSource.html12
-rw-r--r--docs/libs/html/GstLFOControlSource.html24
-rw-r--r--docs/libs/html/GstNetClientClock.html7
-rw-r--r--docs/libs/html/GstNetTimeProvider.html9
-rw-r--r--docs/libs/html/GstPushSrc.html2
-rw-r--r--docs/libs/html/GstTestClock.html754
-rw-r--r--docs/libs/html/GstTimedValueControlSource.html42
-rw-r--r--docs/libs/html/GstTriggerControlSource.html7
-rw-r--r--docs/libs/html/annotation-glossary.html61
-rw-r--r--docs/libs/html/api-index-deprecated.html6
-rw-r--r--docs/libs/html/api-index-full.html213
-rw-r--r--docs/libs/html/gstreamer-base.html10
-rw-r--r--docs/libs/html/gstreamer-check.html7
-rw-r--r--docs/libs/html/gstreamer-control.html8
-rw-r--r--docs/libs/html/gstreamer-hierarchy.html11
-rw-r--r--docs/libs/html/gstreamer-libs-1.0.devhelp2 (renamed from docs/libs/html/gstreamer-libs.devhelp2)62
-rw-r--r--docs/libs/html/gstreamer-libs-GstARGBControlBinding.html7
-rw-r--r--docs/libs/html/gstreamer-libs-GstBaseParse.html141
-rw-r--r--docs/libs/html/gstreamer-libs-GstBitReader.html168
-rw-r--r--docs/libs/html/gstreamer-libs-GstBufferStraw.html17
-rw-r--r--docs/libs/html/gstreamer-libs-GstByteReader.html582
-rw-r--r--docs/libs/html/gstreamer-libs-GstByteWriter.html347
-rw-r--r--docs/libs/html/gstreamer-libs-GstCheck.html433
-rw-r--r--docs/libs/html/gstreamer-libs-GstDataQueue.html556
-rw-r--r--docs/libs/html/gstreamer-libs-GstDirectControlBinding.html10
-rw-r--r--docs/libs/html/gstreamer-libs-GstNetTimePacket.html27
-rw-r--r--docs/libs/html/gstreamer-libs-GstQueueArray.html306
-rw-r--r--docs/libs/html/gstreamer-libs-GstStreamConsistency.html21
-rw-r--r--docs/libs/html/gstreamer-libs-GstTypeFindHelper.html36
-rw-r--r--docs/libs/html/gstreamer-libs.html13
-rw-r--r--docs/libs/html/gstreamer-net.html4
-rw-r--r--docs/libs/html/index.html15
-rw-r--r--docs/libs/html/index.sgml67
-rw-r--r--docs/manual/Makefile.in152
-rw-r--r--docs/manual/advanced-dataaccess.xml4
-rw-r--r--docs/manual/advanced-dparams.xml87
-rw-r--r--docs/manual/advanced-metadata.xml20
-rw-r--r--docs/manual/advanced-threads.xml4
-rw-r--r--docs/manual/appendix-integration.xml12
-rw-r--r--docs/manual/appendix-porting.xml23
-rw-r--r--docs/manual/basics-elements.xml4
-rw-r--r--docs/manual/basics-init.xml2
-rw-r--r--docs/manual/basics-pads.xml4
-rw-r--r--docs/manual/intro-motivation.xml8
-rw-r--r--docs/manual/state-diagram.fig46
-rw-r--r--docs/manuals.mak25
-rw-r--r--docs/plugins/Makefile.am2
-rw-r--r--docs/plugins/Makefile.in144
-rw-r--r--docs/plugins/gstreamer-plugins.args1088
-rw-r--r--docs/plugins/gstreamer-plugins.hierarchy2
-rw-r--r--docs/plugins/gstreamer-plugins.prerequisites1
-rw-r--r--docs/plugins/gstreamer-plugins.signals107
-rw-r--r--docs/plugins/html/ch01.html8
-rw-r--r--docs/plugins/html/ch02.html10
-rw-r--r--docs/plugins/html/gstreamer-plugins-1.0.devhelp2 (renamed from docs/plugins/html/gstreamer-plugins.devhelp2)135
-rw-r--r--docs/plugins/html/gstreamer-plugins-capsfilter.html23
-rw-r--r--docs/plugins/html/gstreamer-plugins-fakesink.html51
-rw-r--r--docs/plugins/html/gstreamer-plugins-fakesrc.html63
-rw-r--r--docs/plugins/html/gstreamer-plugins-fdsink.html16
-rw-r--r--docs/plugins/html/gstreamer-plugins-fdsrc.html20
-rw-r--r--docs/plugins/html/gstreamer-plugins-filesink.html42
-rw-r--r--docs/plugins/html/gstreamer-plugins-filesrc.html58
-rw-r--r--docs/plugins/html/gstreamer-plugins-funnel.html21
-rw-r--r--docs/plugins/html/gstreamer-plugins-identity.html80
-rw-r--r--docs/plugins/html/gstreamer-plugins-input-selector.html109
-rw-r--r--docs/plugins/html/gstreamer-plugins-multiqueue.html101
-rw-r--r--docs/plugins/html/gstreamer-plugins-output-selector.html37
-rw-r--r--docs/plugins/html/gstreamer-plugins-plugin-coreelements.html20
-rw-r--r--docs/plugins/html/gstreamer-plugins-queue.html92
-rw-r--r--docs/plugins/html/gstreamer-plugins-queue2.html63
-rw-r--r--docs/plugins/html/gstreamer-plugins-tee.html60
-rw-r--r--docs/plugins/html/gstreamer-plugins-typefind.html43
-rw-r--r--docs/plugins/html/gstreamer-plugins-valve.html21
-rw-r--r--docs/plugins/html/index.html8
-rw-r--r--docs/plugins/html/index.sgml49
-rw-r--r--docs/plugins/inspect/plugin-coreelements.xml4
-rw-r--r--docs/pwg/Makefile.in152
-rw-r--r--docs/pwg/advanced-allocation.xml33
-rw-r--r--docs/pwg/advanced-dparams.xml2
-rw-r--r--docs/pwg/advanced-negotiation.xml2
-rw-r--r--docs/pwg/advanced-qos.xml2
-rw-r--r--docs/pwg/appendix-checklist.xml2
-rw-r--r--docs/pwg/building-boiler.xml2
-rw-r--r--docs/pwg/building-queryfn.xml4
-rw-r--r--docs/pwg/intro-preface.xml2
-rw-r--r--docs/slides/Makefile.in118
-rw-r--r--docs/xsl/Makefile.in118
-rw-r--r--gst/Makefile.am20
-rw-r--r--gst/Makefile.in384
-rw-r--r--gst/gettext.h2
-rw-r--r--gst/glib-compat-private.h4
-rw-r--r--gst/glib-compat.h4
-rw-r--r--gst/gst-i18n-app.h4
-rw-r--r--gst/gst-i18n-lib.h4
-rw-r--r--gst/gst.c90
-rw-r--r--gst/gst.h5
-rw-r--r--gst/gst_private.h22
-rw-r--r--gst/gstallocator.c102
-rw-r--r--gst/gstallocator.h4
-rw-r--r--gst/gstatomicqueue.c4
-rw-r--r--gst/gstatomicqueue.h4
-rw-r--r--gst/gstbin.c226
-rw-r--r--gst/gstbin.h8
-rw-r--r--gst/gstbuffer.c190
-rw-r--r--gst/gstbuffer.h30
-rw-r--r--gst/gstbufferlist.c4
-rw-r--r--gst/gstbufferlist.h4
-rw-r--r--gst/gstbufferpool.c7
-rw-r--r--gst/gstbufferpool.h4
-rw-r--r--gst/gstbus.c14
-rw-r--r--gst/gstbus.h4
-rw-r--r--gst/gstcaps.c625
-rw-r--r--gst/gstcaps.h19
-rw-r--r--gst/gstcapsfeatures.c851
-rw-r--r--gst/gstcapsfeatures.h80
-rw-r--r--gst/gstchildproxy.c32
-rw-r--r--gst/gstchildproxy.h4
-rw-r--r--gst/gstclock.c4
-rw-r--r--gst/gstclock.h4
-rw-r--r--gst/gstcompat.h38
-rw-r--r--gst/gstconfig.h.in53
-rw-r--r--gst/gstcontext.c204
-rw-r--r--gst/gstcontext.h153
-rw-r--r--gst/gstcontrolbinding.c11
-rw-r--r--gst/gstcontrolbinding.h4
-rw-r--r--gst/gstcontrolsource.c4
-rw-r--r--gst/gstcontrolsource.h4
-rw-r--r--gst/gstdatetime.c4
-rw-r--r--gst/gstdatetime.h4
-rw-r--r--gst/gstdebugutils.c4
-rw-r--r--gst/gstdebugutils.h4
-rw-r--r--gst/gstelement.c107
-rw-r--r--gst/gstelement.h19
-rw-r--r--gst/gstelementfactory.c19
-rw-r--r--gst/gstelementfactory.h4
-rw-r--r--gst/gstelementmetadata.h4
-rw-r--r--gst/gsterror.c4
-rw-r--r--gst/gsterror.h4
-rw-r--r--gst/gstevent.c98
-rw-r--r--gst/gstevent.h39
-rw-r--r--gst/gstformat.c4
-rw-r--r--gst/gstformat.h4
-rw-r--r--gst/gstghostpad.c4
-rw-r--r--gst/gstghostpad.h4
-rw-r--r--gst/gstinfo.c452
-rw-r--r--gst/gstinfo.h36
-rw-r--r--gst/gstiterator.c4
-rw-r--r--gst/gstiterator.h4
-rw-r--r--gst/gstmacros.h4
-rw-r--r--gst/gstmemory.c34
-rw-r--r--gst/gstmemory.h30
-rw-r--r--gst/gstmessage.c188
-rw-r--r--gst/gstmessage.h16
-rw-r--r--gst/gstmeta.c4
-rw-r--r--gst/gstmeta.h4
-rw-r--r--gst/gstminiobject.c4
-rw-r--r--gst/gstminiobject.h4
-rw-r--r--gst/gstobject.c16
-rw-r--r--gst/gstobject.h4
-rw-r--r--gst/gstpad.c300
-rw-r--r--gst/gstpad.h9
-rw-r--r--gst/gstpadtemplate.c4
-rw-r--r--gst/gstpadtemplate.h4
-rw-r--r--gst/gstparamspecs.c4
-rw-r--r--gst/gstparamspecs.h4
-rw-r--r--gst/gstparse.c4
-rw-r--r--gst/gstparse.h4
-rw-r--r--gst/gstpipeline.c4
-rw-r--r--gst/gstpipeline.h4
-rw-r--r--gst/gstplugin.c4
-rw-r--r--gst/gstplugin.h6
-rw-r--r--gst/gstpluginfeature.c30
-rw-r--r--gst/gstpluginfeature.h5
-rw-r--r--gst/gstpluginloader.c4
-rw-r--r--gst/gstpluginloader.h4
-rw-r--r--gst/gstpoll.c4
-rw-r--r--gst/gstpoll.h4
-rw-r--r--gst/gstpreset.c4
-rw-r--r--gst/gstpreset.h4
-rw-r--r--gst/gstquark.c7
-rw-r--r--gst/gstquark.h12
-rw-r--r--gst/gstquery.c210
-rw-r--r--gst/gstquery.h25
-rw-r--r--gst/gstregistry.c4
-rw-r--r--gst/gstregistry.h4
-rw-r--r--gst/gstregistrybinary.c4
-rw-r--r--gst/gstregistrybinary.h4
-rw-r--r--gst/gstregistrychunks.c6
-rw-r--r--gst/gstregistrychunks.h4
-rw-r--r--gst/gstsample.c4
-rw-r--r--gst/gstsample.h4
-rw-r--r--gst/gstsegment.c34
-rw-r--r--gst/gstsegment.h4
-rw-r--r--gst/gststructure.c172
-rw-r--r--gst/gststructure.h396
-rw-r--r--gst/gstsystemclock.c8
-rw-r--r--gst/gstsystemclock.h4
-rw-r--r--gst/gsttaglist.c22
-rw-r--r--gst/gsttaglist.h4
-rw-r--r--gst/gsttagsetter.c4
-rw-r--r--gst/gsttagsetter.h4
-rw-r--r--gst/gsttask.c8
-rw-r--r--gst/gsttask.h4
-rw-r--r--gst/gsttaskpool.c4
-rw-r--r--gst/gsttaskpool.h4
-rw-r--r--gst/gsttoc.c13
-rw-r--r--gst/gsttoc.h4
-rw-r--r--gst/gsttocsetter.c4
-rw-r--r--gst/gsttocsetter.h4
-rw-r--r--gst/gsttrace.c4
-rw-r--r--gst/gsttrace.h4
-rw-r--r--gst/gsttypefind.c4
-rw-r--r--gst/gsttypefind.h4
-rw-r--r--gst/gsttypefindfactory.c4
-rw-r--r--gst/gsttypefindfactory.h4
-rw-r--r--gst/gsturi.c4
-rw-r--r--gst/gsturi.h4
-rw-r--r--gst/gstutils.c55
-rw-r--r--gst/gstutils.h135
-rw-r--r--gst/gstvalue.c299
-rw-r--r--gst/gstvalue.h38
-rw-r--r--gst/gstversion.h.in4
-rw-r--r--gst/math-compat.h4
-rw-r--r--gst/parse/Makefile.in220
-rw-r--r--gst/parse/grammar.tab.h37
-rw-r--r--gst/printf/Makefile.am32
-rw-r--r--gst/printf/Makefile.in846
-rw-r--r--gst/printf/README59
-rw-r--r--gst/printf/asnprintf.c40
-rw-r--r--gst/printf/gst-printf.h60
-rw-r--r--gst/printf/printf-args.c133
-rw-r--r--gst/printf/printf-args.h147
-rw-r--r--gst/printf/printf-extension.c50
-rw-r--r--gst/printf/printf-extension.h31
-rw-r--r--gst/printf/printf-parse.c477
-rw-r--r--gst/printf/printf-parse.h81
-rw-r--r--gst/printf/printf.c159
-rw-r--r--gst/printf/printf.h64
-rw-r--r--gst/printf/vasnprintf.c1031
-rw-r--r--gst/printf/vasnprintf.h61
-rw-r--r--gstreamer.doap54
-rw-r--r--gstreamer.spec4
-rw-r--r--gstreamer.spec.in2
-rw-r--r--libs/Makefile.in281
-rw-r--r--libs/gst/Makefile.in281
-rw-r--r--libs/gst/base/Makefile.am11
-rw-r--r--libs/gst/base/Makefile.in245
-rw-r--r--libs/gst/base/base.h39
-rw-r--r--libs/gst/base/gstadapter.c114
-rw-r--r--libs/gst/base/gstadapter.h10
-rw-r--r--libs/gst/base/gstbaseparse.c194
-rw-r--r--libs/gst/base/gstbaseparse.h25
-rw-r--r--libs/gst/base/gstbasesink.c198
-rw-r--r--libs/gst/base/gstbasesink.h8
-rw-r--r--libs/gst/base/gstbasesrc.c28
-rw-r--r--libs/gst/base/gstbasesrc.h4
-rw-r--r--libs/gst/base/gstbasetransform.c17
-rw-r--r--libs/gst/base/gstbasetransform.h4
-rw-r--r--libs/gst/base/gstbitreader-docs.h22
-rw-r--r--libs/gst/base/gstbitreader.c4
-rw-r--r--libs/gst/base/gstbitreader.h4
-rw-r--r--libs/gst/base/gstbytereader-docs.h4
-rw-r--r--libs/gst/base/gstbytereader.c4
-rw-r--r--libs/gst/base/gstbytereader.h4
-rw-r--r--libs/gst/base/gstbytewriter-docs.h4
-rw-r--r--libs/gst/base/gstbytewriter.c4
-rw-r--r--libs/gst/base/gstbytewriter.h4
-rw-r--r--libs/gst/base/gstcollectpads.c30
-rw-r--r--libs/gst/base/gstcollectpads.h4
-rw-r--r--libs/gst/base/gstdataqueue.c (renamed from plugins/elements/gstdataqueue.c)340
-rw-r--r--libs/gst/base/gstdataqueue.h (renamed from plugins/elements/gstdataqueue.h)47
-rw-r--r--libs/gst/base/gstindex.c4
-rw-r--r--libs/gst/base/gstindex.h4
-rw-r--r--libs/gst/base/gstmemindex.c4
-rw-r--r--libs/gst/base/gstpushsrc.c4
-rw-r--r--libs/gst/base/gstpushsrc.h4
-rw-r--r--libs/gst/base/gstqueuearray.c (renamed from plugins/elements/gstqueuearray.c)205
-rw-r--r--libs/gst/base/gstqueuearray.h50
-rw-r--r--libs/gst/base/gsttypefindhelper.c4
-rw-r--r--libs/gst/base/gsttypefindhelper.h4
-rw-r--r--libs/gst/check/Makefile.am34
-rw-r--r--libs/gst/check/Makefile.in358
-rw-r--r--libs/gst/check/check.h30
-rw-r--r--libs/gst/check/gstbufferstraw.c4
-rw-r--r--libs/gst/check/gstbufferstraw.h4
-rw-r--r--libs/gst/check/gstcheck.c99
-rw-r--r--libs/gst/check/gstcheck.h144
-rw-r--r--libs/gst/check/gstconsistencychecker.c4
-rw-r--r--libs/gst/check/gstconsistencychecker.h4
-rw-r--r--libs/gst/check/gsttestclock.c921
-rw-r--r--libs/gst/check/gsttestclock.h106
-rw-r--r--libs/gst/check/libcheck/Makefile.in220
-rw-r--r--libs/gst/check/libcheck/check.c4
-rw-r--r--libs/gst/check/libcheck/check.h4
-rw-r--r--libs/gst/check/libcheck/check.h.in4
-rw-r--r--libs/gst/check/libcheck/check_error.c4
-rw-r--r--libs/gst/check/libcheck/check_error.h4
-rw-r--r--libs/gst/check/libcheck/check_impl.h4
-rw-r--r--libs/gst/check/libcheck/check_list.c4
-rw-r--r--libs/gst/check/libcheck/check_list.h4
-rw-r--r--libs/gst/check/libcheck/check_log.c4
-rw-r--r--libs/gst/check/libcheck/check_log.h4
-rw-r--r--libs/gst/check/libcheck/check_msg.c4
-rw-r--r--libs/gst/check/libcheck/check_msg.h4
-rw-r--r--libs/gst/check/libcheck/check_pack.c4
-rw-r--r--libs/gst/check/libcheck/check_pack.h4
-rw-r--r--libs/gst/check/libcheck/check_print.c4
-rw-r--r--libs/gst/check/libcheck/check_print.h4
-rw-r--r--libs/gst/check/libcheck/check_run.c4
-rw-r--r--libs/gst/check/libcheck/check_str.c4
-rw-r--r--libs/gst/check/libcheck/check_str.h4
-rw-r--r--libs/gst/controller/Makefile.am7
-rw-r--r--libs/gst/controller/Makefile.in205
-rw-r--r--libs/gst/controller/controller.h32
-rw-r--r--libs/gst/controller/gstargbcontrolbinding.c40
-rw-r--r--libs/gst/controller/gstargbcontrolbinding.h4
-rw-r--r--libs/gst/controller/gstdirectcontrolbinding.c11
-rw-r--r--libs/gst/controller/gstdirectcontrolbinding.h4
-rw-r--r--libs/gst/controller/gstinterpolationcontrolsource.c4
-rw-r--r--libs/gst/controller/gstinterpolationcontrolsource.h4
-rw-r--r--libs/gst/controller/gstlfocontrolsource.c23
-rw-r--r--libs/gst/controller/gstlfocontrolsource.h4
-rw-r--r--libs/gst/controller/gsttimedvaluecontrolsource.c9
-rw-r--r--libs/gst/controller/gsttimedvaluecontrolsource.h4
-rw-r--r--libs/gst/controller/gsttriggercontrolsource.c6
-rw-r--r--libs/gst/controller/gsttriggercontrolsource.h4
-rw-r--r--libs/gst/helpers/Makefile.in218
-rw-r--r--libs/gst/helpers/gst-plugin-scanner.c4
-rw-r--r--libs/gst/net/Makefile.am6
-rw-r--r--libs/gst/net/Makefile.in204
-rw-r--r--libs/gst/net/gstnet.h7
-rw-r--r--libs/gst/net/gstnetaddressmeta.c4
-rw-r--r--libs/gst/net/gstnetaddressmeta.h4
-rw-r--r--libs/gst/net/gstnetclientclock.c39
-rw-r--r--libs/gst/net/gstnetclientclock.h4
-rw-r--r--libs/gst/net/gstnettimepacket.c4
-rw-r--r--libs/gst/net/gstnettimepacket.h4
-rw-r--r--libs/gst/net/gstnettimeprovider.c24
-rw-r--r--libs/gst/net/gstnettimeprovider.h4
-rw-r--r--libs/gst/net/net.h31
-rw-r--r--ltmain.sh4
-rw-r--r--m4/Makefile.in118
-rw-r--r--pkgconfig/Makefile.in132
-rw-r--r--pkgconfig/gstreamer-uninstalled.pc.in3
-rw-r--r--pkgconfig/gstreamer.pc.in3
-rw-r--r--plugins/Makefile.in281
-rw-r--r--plugins/elements/Makefile.am4
-rw-r--r--plugins/elements/Makefile.in245
-rw-r--r--plugins/elements/gstcapsfilter.c112
-rw-r--r--plugins/elements/gstcapsfilter.h5
-rw-r--r--plugins/elements/gstelements.c6
-rw-r--r--plugins/elements/gstfakesink.c4
-rw-r--r--plugins/elements/gstfakesink.h4
-rw-r--r--plugins/elements/gstfakesrc.c4
-rw-r--r--plugins/elements/gstfakesrc.h4
-rw-r--r--plugins/elements/gstfdsink.c4
-rw-r--r--plugins/elements/gstfdsink.h4
-rw-r--r--plugins/elements/gstfdsrc.c4
-rw-r--r--plugins/elements/gstfdsrc.h4
-rw-r--r--plugins/elements/gstfilesink.c4
-rw-r--r--plugins/elements/gstfilesink.h4
-rw-r--r--plugins/elements/gstfilesrc.c4
-rw-r--r--plugins/elements/gstfilesrc.h4
-rw-r--r--plugins/elements/gstfunnel.c301
-rw-r--r--plugins/elements/gstfunnel.h2
-rw-r--r--plugins/elements/gstidentity.c4
-rw-r--r--plugins/elements/gstidentity.h4
-rw-r--r--plugins/elements/gstinputselector.c42
-rw-r--r--plugins/elements/gstinputselector.h4
-rw-r--r--plugins/elements/gstmultiqueue.c178
-rw-r--r--plugins/elements/gstmultiqueue.h6
-rw-r--r--plugins/elements/gstoutputselector.c24
-rw-r--r--plugins/elements/gstoutputselector.h4
-rw-r--r--plugins/elements/gstqueue.c218
-rw-r--r--plugins/elements/gstqueue.h11
-rw-r--r--plugins/elements/gstqueue2.c337
-rw-r--r--plugins/elements/gstqueue2.h7
-rw-r--r--plugins/elements/gstqueuearray.h61
-rw-r--r--plugins/elements/gsttee.c6
-rw-r--r--plugins/elements/gsttee.h4
-rw-r--r--plugins/elements/gsttypefindelement.c269
-rw-r--r--plugins/elements/gsttypefindelement.h4
-rw-r--r--plugins/elements/gstvalve.c4
-rw-r--r--plugins/elements/gstvalve.h4
-rw-r--r--po/LINGUAS2
-rw-r--r--po/POTFILES.in4
-rw-r--r--po/af.gmobin15086 -> 15086 bytes
-rw-r--r--po/af.po45
-rw-r--r--po/az.gmobin1683 -> 1683 bytes
-rw-r--r--po/az.po37
-rw-r--r--po/be.gmobin5090 -> 5090 bytes
-rw-r--r--po/be.po37
-rw-r--r--po/bg.gmobin43541 -> 43541 bytes
-rw-r--r--po/bg.po48
-rw-r--r--po/ca.gmobin33891 -> 33891 bytes
-rw-r--r--po/ca.po47
-rw-r--r--po/cs.gmobin33422 -> 33422 bytes
-rw-r--r--po/cs.po44
-rw-r--r--po/da.gmobin32045 -> 32162 bytes
-rw-r--r--po/da.po48
-rw-r--r--po/de.gmobin35615 -> 33932 bytes
-rw-r--r--po/de.po112
-rw-r--r--po/el.gmobin44236 -> 44236 bytes
-rw-r--r--po/el.po48
-rw-r--r--po/en_GB.gmobin11570 -> 11570 bytes
-rw-r--r--po/en_GB.po37
-rw-r--r--po/eo.gmobin4307 -> 4307 bytes
-rw-r--r--po/eo.po39
-rw-r--r--po/es.gmobin33970 -> 34074 bytes
-rw-r--r--po/es.po47
-rw-r--r--po/eu.gmobin29611 -> 29611 bytes
-rw-r--r--po/eu.po44
-rw-r--r--po/fi.gmobin32473 -> 32606 bytes
-rw-r--r--po/fi.po49
-rw-r--r--po/fr.gmobin35949 -> 34098 bytes
-rw-r--r--po/fr.po108
-rw-r--r--po/gl.gmobin35588 -> 33732 bytes
-rw-r--r--po/gl.po103
-rw-r--r--po/gstreamer-1.0.pot273
-rw-r--r--po/hr.gmobin31756 -> 0 bytes
-rw-r--r--po/hr.po1264
-rw-r--r--po/hu.gmobin35621 -> 33412 bytes
-rw-r--r--po/hu.po111
-rw-r--r--po/id.gmobin31807 -> 31904 bytes
-rw-r--r--po/id.po54
-rw-r--r--po/it.gmobin33582 -> 33706 bytes
-rw-r--r--po/it.po51
-rw-r--r--po/ja.gmobin14089 -> 14239 bytes
-rw-r--r--po/ja.po42
-rw-r--r--po/lt.gmobin31450 -> 31450 bytes
-rw-r--r--po/lt.po48
-rw-r--r--po/nb.gmobin9881 -> 9881 bytes
-rw-r--r--po/nb.po43
-rw-r--r--po/nl.gmobin34638 -> 32860 bytes
-rw-r--r--po/nl.po109
-rw-r--r--po/pl.gmobin34986 -> 33187 bytes
-rw-r--r--po/pl.po127
-rw-r--r--po/pt_BR.gmobin33397 -> 33397 bytes
-rw-r--r--po/pt_BR.po48
-rw-r--r--po/ro.gmobin32820 -> 32820 bytes
-rw-r--r--po/ro.po44
-rw-r--r--po/ru.gmobin45140 -> 42984 bytes
-rw-r--r--po/ru.po144
-rw-r--r--po/rw.gmobin689 -> 689 bytes
-rw-r--r--po/rw.po37
-rw-r--r--po/sk.gmobin32963 -> 33078 bytes
-rw-r--r--po/sk.po47
-rw-r--r--po/sl.gmobin34227 -> 32774 bytes
-rw-r--r--po/sl.po126
-rw-r--r--po/sq.gmobin12731 -> 12731 bytes
-rw-r--r--po/sq.po37
-rw-r--r--po/sr.gmobin42372 -> 42372 bytes
-rw-r--r--po/sr.po44
-rw-r--r--po/sv.gmobin32355 -> 32473 bytes
-rw-r--r--po/sv.po51
-rw-r--r--po/tr.gmobin12104 -> 12104 bytes
-rw-r--r--po/tr.po37
-rw-r--r--po/uk.gmobin45502 -> 43236 bytes
-rw-r--r--po/uk.po106
-rw-r--r--po/vi.gmobin38465 -> 34602 bytes
-rw-r--r--po/vi.po266
-rw-r--r--po/zh_CN.gmobin25404 -> 25530 bytes
-rw-r--r--po/zh_CN.po50
-rw-r--r--po/zh_TW.gmobin7285 -> 7285 bytes
-rw-r--r--po/zh_TW.po37
-rwxr-xr-xscripts/gst-uninstalled21
-rwxr-xr-xtest-driver127
-rw-r--r--tests/Makefile.in281
-rw-r--r--tests/benchmarks/Makefile.am1
-rw-r--r--tests/benchmarks/Makefile.in234
-rw-r--r--tests/benchmarks/caps.c4
-rw-r--r--tests/benchmarks/capsnego.c4
-rw-r--r--tests/benchmarks/complexity.c4
-rw-r--r--tests/benchmarks/controller.c4
-rw-r--r--tests/benchmarks/gstbufferstress.c4
-rw-r--r--tests/benchmarks/gstclockstress.c4
-rw-r--r--tests/benchmarks/gstpollstress.c4
-rw-r--r--tests/benchmarks/gstpoolstress.c90
-rw-r--r--tests/benchmarks/init.c4
-rw-r--r--tests/benchmarks/mass-elements.c4
-rw-r--r--tests/check/Makefile.am11
-rw-r--r--tests/check/Makefile.in1536
-rw-r--r--tests/check/elements/capsfilter.c4
-rw-r--r--tests/check/elements/fakesink.c14
-rw-r--r--tests/check/elements/fakesrc.c4
-rw-r--r--tests/check/elements/fdsrc.c4
-rw-r--r--tests/check/elements/filesink.c7
-rw-r--r--tests/check/elements/filesrc.c4
-rw-r--r--tests/check/elements/funnel.c35
-rw-r--r--tests/check/elements/identity.c13
-rw-r--r--tests/check/elements/multiqueue.c21
-rw-r--r--tests/check/elements/queue.c73
-rw-r--r--tests/check/elements/queue2.c9
-rw-r--r--tests/check/elements/selector.c12
-rw-r--r--tests/check/elements/tee.c15
-rw-r--r--tests/check/elements/valve.c4
-rw-r--r--tests/check/generic/sinks.c11
-rw-r--r--tests/check/generic/states.c4
-rw-r--r--tests/check/gst/gst.c4
-rw-r--r--tests/check/gst/gstabi.c10
-rw-r--r--tests/check/gst/gstatomicqueue.c4
-rw-r--r--tests/check/gst/gstbin.c4
-rw-r--r--tests/check/gst/gstbuffer.c43
-rw-r--r--tests/check/gst/gstbufferlist.c4
-rw-r--r--tests/check/gst/gstbus.c4
-rw-r--r--tests/check/gst/gstcaps.c105
-rw-r--r--tests/check/gst/gstcapsfeatures.c111
-rw-r--r--tests/check/gst/gstchildproxy.c4
-rw-r--r--tests/check/gst/gstclock.c34
-rw-r--r--tests/check/gst/gstcontext.c355
-rw-r--r--tests/check/gst/gstcontroller.c61
-rw-r--r--tests/check/gst/gstdatetime.c4
-rw-r--r--tests/check/gst/gstelement.c4
-rw-r--r--tests/check/gst/gstelementfactory.c4
-rw-r--r--tests/check/gst/gstevent.c25
-rw-r--r--tests/check/gst/gstghostpad.c11
-rw-r--r--tests/check/gst/gstinfo.c78
-rw-r--r--tests/check/gst/gstiterator.c4
-rw-r--r--tests/check/gst/gstmemory.c4
-rw-r--r--tests/check/gst/gstmessage.c4
-rw-r--r--tests/check/gst/gstmeta.c4
-rw-r--r--tests/check/gst/gstminiobject.c4
-rw-r--r--tests/check/gst/gstobject.c4
-rw-r--r--tests/check/gst/gstpad.c228
-rw-r--r--tests/check/gst/gstparamspecs.c4
-rw-r--r--tests/check/gst/gstpipeline.c4
-rw-r--r--tests/check/gst/gstplugin.c4
-rw-r--r--tests/check/gst/gstpoll.c14
-rw-r--r--tests/check/gst/gstpreset.c4
-rw-r--r--tests/check/gst/gstquery.c4
-rw-r--r--tests/check/gst/gstregistry.c4
-rw-r--r--tests/check/gst/gstsegment.c4
-rw-r--r--tests/check/gst/gststructure.c4
-rw-r--r--tests/check/gst/gstsystemclock.c4
-rw-r--r--tests/check/gst/gsttag.c4
-rw-r--r--tests/check/gst/gsttagsetter.c4
-rw-r--r--tests/check/gst/gsttask.c4
-rw-r--r--tests/check/gst/gsttoc.c4
-rw-r--r--tests/check/gst/gsttocsetter.c4
-rw-r--r--tests/check/gst/gsturi.c4
-rw-r--r--tests/check/gst/gstutils.c97
-rw-r--r--tests/check/gst/gstvalue.c36
-rw-r--r--tests/check/gst/struct_arm.h139
-rw-r--r--tests/check/libs/adapter.c42
-rw-r--r--tests/check/libs/basesink.c4
-rw-r--r--tests/check/libs/basesrc.c4
-rw-r--r--tests/check/libs/bitreader.c4
-rw-r--r--tests/check/libs/bytereader.c4
-rw-r--r--tests/check/libs/bytewriter.c4
-rw-r--r--tests/check/libs/collectpads.c489
-rw-r--r--tests/check/libs/controller.c51
-rw-r--r--tests/check/libs/gstlibscpp.cc4
-rw-r--r--tests/check/libs/gstnetclientclock.c4
-rw-r--r--tests/check/libs/gstnettimeprovider.c4
-rw-r--r--tests/check/libs/gsttestclock.c969
-rw-r--r--tests/check/libs/libsabi.c6
-rw-r--r--tests/check/libs/queuearray.c212
-rw-r--r--tests/check/libs/struct_arm.h64
-rw-r--r--tests/check/libs/test_transform.c18
-rw-r--r--tests/check/libs/transform1.c751
-rw-r--r--tests/check/libs/typefindhelper.c4
-rw-r--r--tests/check/pipelines/cleanup.c4
-rw-r--r--tests/check/pipelines/parse-disabled.c4
-rw-r--r--tests/check/pipelines/parse-launch.c4
-rw-r--r--tests/check/pipelines/queue-error.c4
-rw-r--r--tests/check/pipelines/seek.c4
-rw-r--r--tests/check/pipelines/simple-launch-lines.c4
-rw-r--r--tests/check/pipelines/stress.c6
-rw-r--r--tests/check/tools/gstinspect.c4
-rw-r--r--tests/examples/Makefile.in283
-rw-r--r--tests/examples/adapter/Makefile.in205
-rw-r--r--tests/examples/controller/Makefile.in207
-rw-r--r--tests/examples/helloworld/Makefile.in205
-rw-r--r--tests/examples/launch/Makefile.in205
-rw-r--r--tests/examples/manual/Makefile.in714
-rw-r--r--tests/examples/manual/effectswitch.c2
-rw-r--r--tests/examples/memory/Makefile.in205
-rw-r--r--tests/examples/memory/my-memory.c4
-rw-r--r--tests/examples/memory/my-memory.h4
-rw-r--r--tests/examples/memory/my-vidmem.c4
-rw-r--r--tests/examples/memory/my-vidmem.h4
-rw-r--r--tests/examples/metadata/Makefile.in205
-rw-r--r--tests/examples/metadata/read-metadata.c4
-rw-r--r--tests/examples/queue/Makefile.in205
-rw-r--r--tests/examples/stepping/Makefile.in205
-rw-r--r--tests/examples/streams/Makefile.in206
-rw-r--r--tests/examples/streams/stream-status.c6
-rw-r--r--tests/examples/streams/testrtpool.c4
-rw-r--r--tests/examples/streams/testrtpool.h4
-rw-r--r--tests/examples/typefind/Makefile.in205
-rw-r--r--tests/examples/typefind/typefind.c4
-rw-r--r--tests/misc/Makefile.in118
-rw-r--r--tests/misc/network-clock-utils.scm4
-rwxr-xr-xtests/misc/network-clock.scm4
-rw-r--r--tools/Makefile.in235
-rw-r--r--tools/gst-inspect.c43
-rw-r--r--tools/gst-launch.1.in23
-rw-r--r--tools/gst-launch.c299
-rw-r--r--tools/gst-typefind.c4
-rw-r--r--tools/tools.h4
-rw-r--r--win32/common/config.h45
-rw-r--r--win32/common/gstconfig.h4
-rw-r--r--win32/common/gstenumtypes.c34
-rw-r--r--win32/common/gstenumtypes.h2
-rw-r--r--win32/common/gstversion.h8
-rw-r--r--win32/common/libgstbase.def27
-rw-r--r--win32/common/libgstreamer.def73
741 files changed, 45248 insertions, 15732 deletions
diff --git a/COPYING b/COPYING
index eb685a5..c87cfe8 100644
--- a/COPYING
+++ b/COPYING
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -464,7 +464,7 @@ convey the exclusion of warranty; and each file should have at least the
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
- Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
Also add information on how to contact you by electronic and paper mail.
diff --git a/ChangeLog b/ChangeLog
index 17b1da4..c33daf6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,24 @@
-=== release 1.0.8 ===
+=== release 1.1.2 ===
-2013-07-12 Tim-Philipp Müller <tim@centricular.net>
+2013-07-11 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* configure.ac:
- releasing 1.0.8
+ releasing 1.1.2
+
+2013-07-10 15:52:10 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * gst/gstbin.c:
+ bin: Always forward clock-lost message if we're not a top-level bin
+ This makes sure that no bin misses the clock-lost messages, independent
+ of the state, and could return an old, non-working clock from
+ gst_bin_provide_clock_func().
+ https://bugzilla.gnome.org/show_bug.cgi?id=701997
+
+2013-07-10 14:30:31 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * plugins/elements/gstinputselector.c:
+ inputselector: Keep previous active sinkpad around until we're done with it
+ Otherwise we'll send a new segment event downstream for each buffer.
2013-07-08 15:26:38 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
@@ -13,23 +28,23 @@
gstallocator.c:61:8: error: conflicting types for 'gst_memory_alignment'
../gst/gstallocator.h:52:18: note: previous declaration of 'gst_memory_alignment' was here
+2013-07-05 21:36:27 +0200 Piotr Drąg <piotrdrag@gmail.com>
+
+ * po/POTFILES.in:
+ po: update POTFILES.in
+ https://bugzilla.gnome.org/show_bug.cgi?id=703682
+
2013-07-04 20:39:26 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* libs/gst/base/gstbasesrc.c:
basesrc: Do not lock a mutex that does not exist
The GST_LIVE_LOCK is on GstBaseSrc, not on its source pad.
-2013-06-19 10:45:45 +0200 Sebastian Dröge <slomo@circular-chaos.org>
-
- * tests/check/gst/gstbuffer.c:
- buffer: Add unit test for map_range()
- https://bugzilla.gnome.org/show_bug.cgi?id=702617
-
-2013-06-19 08:36:22 +0200 Paul HENRYS <visechelle@gmail.com>
+2013-07-03 21:23:44 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
- * gst/gstbuffer.c:
- buffer: Fix wrong size/index handling when merging memory
- https://bugzilla.gnome.org/show_bug.cgi?id=702617
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: reset PTS after seek
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702778
2013-07-03 13:03:49 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
@@ -48,66 +63,267 @@
* libs/gst/base/gsttypefindhelper.c:
* libs/gst/base/gsttypefindhelper.h:
Add few missing allow-none annotation
- https://bugzilla.gnome.org/show_bug.cgi?id=703562
- Conflicts:
- gst/gstmessage.c
-2013-05-30 07:03:40 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+2013-07-03 09:27:13 +0100 Tim-Philipp Müller <tim@centricular.net>
- * tests/check/generic/sinks.c:
- check: fix position unit test
+ * scripts/gst-uninstalled:
+ gst-uninstalled: add new -bad mpegts lib
+ And remove signalprocessor/video libs from -bad which have gone
+ away or were merged into -base.
-2013-05-30 06:51:24 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+2013-07-01 20:35:21 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * plugins/elements/gstfunnel.c:
+ * plugins/elements/gstfunnel.h:
+ * tests/check/elements/funnel.c:
+ funnel: Re-push all sticky events when buffers come from a different pad
+ Don't special case segment/caps, just push all sticky events when they are
+ received on the currently active pad or when the active pad changes.
+
+2013-07-01 20:21:10 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * plugins/elements/gstfunnel.c:
+ funnel: Use default pad function for upstream event/queries
+ The default functions in 1.x already do the right thing
+
+2013-07-01 20:18:58 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/check/elements/funnel.c:
+ tests: Remove funnel pad_alloc test
+
+2013-07-01 20:07:03 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * libs/gst/check/gstcheck.h:
+ check: Change stream_id parameter name to match GtkDoc
+
+2013-07-01 11:10:00 +0200 Jonas Holmberg <jonashg@axis.com>
+
+ * docs/libs/gstreamer-libs-sections.txt:
+ * libs/gst/check/Makefile.am:
+ * libs/gst/check/gstcheck.c:
+ * libs/gst/check/gstcheck.h:
+ * tests/check/elements/funnel.c:
+ check: Added gst_check_setup_events_with_stream_id()
+ Added a new function gst_check_setup_events_with_stream_id(), since
+ gst_check_setup_events() does not work with multiple pads.
+ https://bugzilla.gnome.org/show_bug.cgi?id=703377
+
+2013-06-30 18:39:03 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * gst/gstpad.c:
+ pad: Don't consider flushing pads as needing reconfiguration
+ Renegotiation and reconfiguration will fail because all queries
+ and events won't be accepted by the pad if it's flushing. In the
+ best case this just causes unneeded work and spurious warnings in
+ the debug logs, in the worst case it causes elements to fail completely.
+
+2013-06-24 23:25:51 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * plugins/elements/gstqueue2.c:
+ queue2: only block serialized query when it's safe
+ We must be certain that we don't cause a deadlock when blocking the serialized
+ queries. One such deadlock can happen when we are buffering and downstream is
+ blocked in preroll and a serialized query arrives. Downstream will not unblock
+ (and allow our query to execute) until we complete buffering and buffering will
+ not complete until we can answer the query..
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702840
+
+2013-06-19 12:30:47 +0200 Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: Add a filter to the caps_query done by acceptcaps
+ Use the caps that the pad is asked to accept as filter for the query
+ https://bugzilla.gnome.org/show_bug.cgi?id=702632
+
+2013-06-19 12:19:02 +0200 Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+
+ * libs/gst/base/gstbasetransform.c:
+ basetransform: optimize default acceptcaps implementation
+ Pass the fixed caps we're asked to accept as a filter for the caps
+ query, so we don't get a fully-expanded set of caps back (which we don't
+ need and can take a lot of time for intersection).
+ This reduces the time for camerabin to produce a second frame on a
+ logitech C910 camera from around 52 seconds to a bit less then 16
+ seconds on my system.
+ https://bugzilla.gnome.org/show_bug.cgi?id=702632
+
+2013-06-19 09:19:53 +0200 Edward Hervey <edward@collabora.com>
+
+ * gst/gsttaglist.c:
+ taglist: Avoid combinatorial explosion when merging tags
+ When appending/prepending tags, avoid re-creating (and copying) lists if we already
+ have one and instead just append/prepend the GValue to the list.
+ https://bugzilla.gnome.org/show_bug.cgi?id=702545
+
+2013-06-19 10:53:21 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * plugins/elements/gstqueue.c:
+ queue: Don't hold the queue mutex while doing serialized queries downstream
+ https://bugzilla.gnome.org/show_bug.cgi?id=702520
+
+2013-06-19 10:45:45 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * tests/check/gst/gstbuffer.c:
+ buffer: Add unit test for map_range()
+ https://bugzilla.gnome.org/show_bug.cgi?id=702617
+
+2013-06-19 08:36:22 +0200 Paul HENRYS <visechelle@gmail.com>
+
+ * gst/gstbuffer.c:
+ buffer: Fix wrong size/index handling when merging memory
+ https://bugzilla.gnome.org/show_bug.cgi?id=702617
+
+2013-06-18 11:39:55 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/list-ulink.xsl:
+ docs: add missing file for doc-link check
+
+2013-06-17 11:12:51 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * tests/benchmarks/Makefile.am:
+ * tests/benchmarks/gstpoolstress.c:
+ tests: add stress test for buffers and pools
+
+2013-06-17 10:25:20 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
* libs/gst/base/gstbasesink.c:
- basesink: improve position reporting without clock
- When no base time or when sync is disabled, use the same logic as
- in paused to report position. The logic in PLAYING assumes we use the
- clock.
+ basesink: call state change in all cases
+ When we asynchronously go from READY to PLAYING, also call the
+ state change function so that subclasses can update their state for PLAYING.
+ Because the PREROLL lock is not recursive, we can't make this without
+ races and we must assume for now that the subclass can handle concurrent calls
+ to PAUSED->PLAYING and PLAYING->PAUSED. We can make this assumption because not
+ many elements actually do something in those state changes and the ones that
+ did would be broken even more without this change.
+ https://bugzilla.gnome.org/show_bug.cgi?id=702282
+
+2013-06-16 15:07:35 +0200 Stefan Sauer <ensonic@users.sf.net>
-2013-05-25 22:03:53 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+ * docs/faq/dependencies.xml:
+ * docs/manual/appendix-integration.xml:
+ * docs/manual/basics-pads.xml:
+ * docs/manual/intro-motivation.xml:
+ docs: fix some external links
- * plugins/elements/gstvalve.c:
- valve: Don't read sticky flag from unrefed event
+2013-06-16 14:45:08 +0200 Stefan Sauer <ensonic@users.sf.net>
-2013-02-13 10:46:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * docs/manuals.mak:
+ docs: check for broken links in docs
+ The check is done using curl (if available). It lists the curl exit code + http
+ status code (for those > 399) together with the use of the url in the code. The
+ check is not fatal.
+2013-06-16 13:05:21 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/manual/basics-elements.xml:
+ * docs/pwg/intro-preface.xml:
+ docs: change https to http urls
+ Thank you browser for needlessly changing to https for static doc pages.
+
+2013-06-16 11:41:52 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/faq/developing.xml:
+ * docs/manual/basics-elements.xml:
+ * docs/manual/basics-init.xml:
+ * docs/pwg/intro-preface.xml:
+ docs: update links to developer.gnome.org
+ The URL layout has changed. Fix the links and comment out one paragraph where
+ the doc is gone.
+ Fixes #702135
+
+2013-06-14 13:05:38 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * docs/gst/gstreamer-sections.txt:
* gst/gststructure.c:
- * tests/check/gst/gstcaps.c:
- structure: Make sure that subsets have all fields of the superset
- "video/x-h264,parsed=(boolean)true" is not a superset of
- "video/x-h264,stream-format=(string)byte-stream,alignment=(string)nal"
- for example.
- https://bugzilla.gnome.org/show_bug.cgi?id=693365
+ * gst/gststructure.h:
+ * win32/common/libgstreamer.def:
+ structure: Add gst_structure_new_from_string()
+ Convenience API for bindings, gst_structure_from_string() returns
+ a tuple (structure, end_ptr) in bindings and is unintuitive to use
+ because of that.
-2013-03-26 19:22:18 -0400 Olivier Crête <olivier.crete@collabora.com>
+2013-06-13 08:36:23 +0200 Hans de Goede <hdegoede@redhat.com>
- * gst/gstallocator.c:
- * gst/gstbuffer.c:
- * gst/gstbuffer.h:
- buffer: fix gobject-introspection annotations, esp. for gst_buffer_fill
+ * gst/gst.c:
+ gst: Don't intercept --help in gst_init()
+ Before this patch gst_init would intercept --help, causing for example
+ cheese's --help to look like this:
+ [hans@shalem cheese]$ cheese --help
+ Usage:
+ cheese [OPTION...] - GStreamer initialization
+ Help Options:
+ -h, --help Show help options
+ --help-all Show all help options
+ --help-gst Show GStreamer Options
+ gst_init is the only gfoo_init function which does this.
+ https://bugzilla.gnome.org/show_bug.cgi?id=702089
+
+2013-06-12 09:45:56 +0100 Tim-Philipp Müller <tim@centricular.net>
-2013-05-08 10:25:36 +0100 Tim-Philipp Müller <tim@centricular.net>
+ * scripts/gst-uninstalled:
+ gst-uninstalled: add uridownloader lib in -bad to search paths
+ Even if it might not be around for long.
- * gst/gstbuffer.c:
- buffer: allow calling _fill() with a NULL data pointer if size is 0 bytes
+2013-06-11 10:25:02 +0200 Sebastian Dröge <slomo@circular-chaos.org>
-2013-04-27 00:05:45 +0100 Tim-Philipp Müller <tim@centricular.net>
+ * tools/gst-launch.c:
+ gst-launch: Remove unref that should not be there
+ We keep a reference to the context around all the time.
+ https://bugzilla.gnome.org/show_bug.cgi?id=701985
- * plugins/elements/gsttypefindelement.c:
- * tests/check/pipelines/simple-launch-lines.c:
- typefind: fix caps leak when used in connection with uridecodebin and playbin
- Don't leak forced sink caps.
+2013-06-09 17:20:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * tools/gst-launch.c:
+ gst-launch: Improve GstContext handling
+ https://bugzilla.gnome.org/show_bug.cgi?id=700967
+
+2013-06-07 13:07:37 +0200 Kim Lam <kim@redgiantsoftware.com>
+
+ * win32/vs10/base/base.vcxproj:
+ win32: Don't include gstcollectpads.c twice
+ https://bugzilla.gnome.org/show_bug.cgi?id=701603
+
+2013-05-31 09:39:55 -0600 Brendan Long <b.long@cablelabs.com>
+
+ * plugins/elements/gstinputselector.c:
+ input-selector: send notify::active signal for input-selector pads.
+ https://bugzilla.gnome.org/show_bug.cgi?id=701319
+
+2013-06-06 16:46:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * libs/gst/base/gstbasesrc.c:
+ basesrc: Only force-update the duration for dynamic sources when doing the DURATION query
+ Doing it after every single create() is not very efficient and not necessary.
+ Especially on network file systems fstat() is not cached and causes network
+ traffic, making the source possibly unusable slow.
+ https://bugzilla.gnome.org/show_bug.cgi?id=652037
+
+2013-06-05 18:36:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
-=== release 1.0.7 ===
+ * configure.ac:
+ Back to development
-2013-04-26 12:11:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+=== release 1.1.1 ===
+
+2013-06-05 17:58:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* ChangeLog:
* NEWS:
* RELEASE:
+ * common:
* configure.ac:
+ * docs/plugins/gstreamer-plugins.args:
+ * docs/plugins/gstreamer-plugins.hierarchy:
+ * docs/plugins/inspect/plugin-coreelements.xml:
* gstreamer.doap:
+ * win32/common/config.h:
+ * win32/common/gstenumtypes.c:
+ * win32/common/gstenumtypes.h:
+ * win32/common/gstversion.h:
+ Release 1.1.1
+
+2013-06-05 16:06:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
* po/af.po:
* po/az.po:
* po/be.po:
@@ -124,7 +340,6 @@
* po/fi.po:
* po/fr.po:
* po/gl.po:
- * po/hr.po:
* po/hu.po:
* po/id.po:
* po/it.po:
@@ -147,9 +362,669 @@
* po/vi.po:
* po/zh_CN.po:
* po/zh_TW.po:
- * win32/common/config.h:
- * win32/common/gstversion.h:
- Release 1.0.7
+ Update .po files
+
+2013-06-05 15:14:14 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * common:
+ Automatic update of common submodule
+ From 098c0d7 to 01a7a46
+
+2013-06-05 11:02:50 +0200 Edward Hervey <edward@collabora.com>
+
+ * gst/gstbufferpool.c:
+ * gst/gstvalue.c:
+ * gst/gstvalue.h:
+ * win32/common/libgstreamer.def:
+ gstvalue: Add _append_and_take_value() public variants
+ API: gst_value_array_append_and_take_value
+ API: gst_value_list_append_and_take_value
+ We were already using this internally, this makes it public for code
+ which frequently appends values which are expensive to copy (like
+ structures, arrays, caps, ...).
+ Avoids copies of the values for users. The passed GValue will also
+ be 0-memset'ed for re-use.
+ New users can replace this kind of code:
+ gst_value_*_append_value(mycontainer, &myvalue);
+ g_value_unset(&myvalue);
+ by:
+ gst_value_*_append_and_take_value(mycontainer, &myvalue);
+ https://bugzilla.gnome.org/show_bug.cgi?id=701632
+
+2013-05-29 17:20:34 +0200 Edward Hervey <edward@collabora.com>
+
+ * gst/gstbuffer.c:
+ gstbuffer: Use internal function for buffer_new_wrapped
+ Shaves ~10% instruction calls from the total cost
+ https://bugzilla.gnome.org/show_bug.cgi?id=701633
+
+2013-05-30 22:57:49 -0600 Brendan Long <self@brendanlong.com>
+
+ * plugins/elements/gstinputselector.c:
+ input-selector: return FALSE for "active" property if selector is NULL
+ https://bugzilla.gnome.org/show_bug.cgi?id=701323
+
+2013-06-01 14:00:22 +0100 Andrzej Bieniek <andyhelp@gmail.com>
+
+ * docs/manual/advanced-threads.xml:
+ manual: update elements to match the rest of "Boost priority of a thread" section
+
+2013-06-01 13:55:50 +0100 Andrzej Bieniek <andyhelp@gmail.com>
+
+ * docs/manual/advanced-dataaccess.xml:
+ manual: fix comment in effectswitch example
+
+2013-06-01 13:49:18 +0100 Andrzej Bieniek <andyhelp@gmail.com>
+
+ * docs/manual/advanced-dataaccess.xml:
+ manual: fix a typo in "Inserting data with appsrc" section
+
+2013-06-01 13:22:22 +0100 Andrzej Bieniek <andyhelp@gmail.com>
+
+ * docs/pwg/advanced-dparams.xml:
+ * docs/pwg/advanced-qos.xml:
+ * docs/pwg/appendix-checklist.xml:
+ pwg: fix a few typos
+
+2013-05-31 23:37:07 +0100 Andrzej Bieniek <andyhelp@gmail.com>
+
+ * docs/pwg/advanced-allocation.xml:
+ * docs/pwg/building-boiler.xml:
+ * docs/random/porting-to-1.0.txt:
+ docs: remove double "the"
+
+2013-05-28 23:34:54 +0100 Krzysztof Konopko <krzysztof.konopko@gmail.com>
+
+ * scripts/git-update.sh:
+ scripts: improve git-update.sh status message
+ By default when the script is about to exit (normally or due to an error),
+ it checks whether $ERROR_LOG file exists. If the log file exists, the
+ script prints a "Failures: " message prefix and dumps the log file to the
+ output.
+ Apparently the log file is always created and if the update/build is
+ successful, the script finishes with a bit misleading "Failures: " message.
+ An improvement provided with this change lets the log file to be created as
+ needed, i.e. if there's an error message to be printed. If the file
+ doesn't exists, the script prints a "Update done" message which clearly
+ indicates success.
+ https://bugzilla.gnome.org/show_bug.cgi?id=701177
+
+2013-05-30 07:03:40 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * tests/check/generic/sinks.c:
+ check: fix position unit test
+
+2013-05-30 06:51:24 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * libs/gst/base/gstbasesink.c:
+ basesink: improve position reporting without clock
+ When no base time or when sync is disabled, use the same logic as
+ in paused to report position. The logic in PLAYING assumes we use the
+ clock.
+
+2013-05-29 11:36:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * tests/check/gst/gstpad.c:
+ pad: Fix memory leak in the unit test
+
+2013-05-28 12:44:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstelementfactory.c:
+ elementfactory: Add support for checking subtitle/metadata factory types
+
+2013-05-28 12:41:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstelementfactory.c:
+ elementfactory: Add support for checking only the media type of a factory
+ And while at it also add Metadata and Subtitle media types.
+
+2013-05-27 16:38:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstmultiqueue.c:
+ * plugins/elements/gstqueue.c:
+ (multi)queue: Don't access query items during flushing
+
+2013-05-27 16:22:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: Don't do serialized queries when we're flushing
+ Just immediately fail the query, otherwise we would wait forever
+ for the query to be answered.
+
+2013-05-27 16:08:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstqueue2.c:
+ queue2: First set query result, then signal GCond
+
+2013-05-27 15:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstqueue.c:
+ * plugins/elements/gstqueue.h:
+ queue: Fix handling of serialized queries
+ During FLUSH_START the query needs to be unblocked already, otherwise
+ it can lead to deadlocks if the FLUSH_START is the result of something
+ done from the streaming thread of the srcpad (the queue will never be
+ emptied!).
+
+2013-05-27 15:41:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstqueue2.c:
+ queue2: Unblock any waiting serialize queries on FLUSH_START
+ Fixes some deadlocks during flushing.
+ And store queue items differently to not accidentially read
+ already unreffed queries when flushing. Queries are owned by
+ upstream and not us.
+
+2013-05-27 13:01:43 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * plugins/elements/gstmultiqueue.c:
+ * plugins/elements/gstqueue.c:
+ * plugins/elements/gstqueue2.c:
+ queue/queue2/multiqueue: When flushing, make sure to not lose any sticky events
+ https://bugzilla.gnome.org/show_bug.cgi?id=688824
+
+2013-05-27 12:40:50 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * gst/gstpad.c:
+ pad: Store sticky events even if the pad is flushing
+ But do this only for events that are not dropped by flushing,
+ i.e. do it only for everything except SEGMENT and EOS.
+ Without this we might drop a CAPS event if flushing happens
+ at an unfortunate time and nobody is resending the CAPS event.
+ https://bugzilla.gnome.org/show_bug.cgi?id=700806
+
+2013-05-25 22:03:53 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+ * plugins/elements/gstvalve.c:
+ valve: Don't read sticky flag from unrefed event
+
+2013-05-24 23:28:04 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * plugins/elements/gsttee.c:
+ tee: fix property description for now-unused "alloc-pad" property
+ Should probably proxy ALLOCATION queries on that though, if set.
+ But what else? CAPS and ACCEPT_CAPS too?
+
+2013-05-24 23:01:09 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/base/gstbasetransform.c:
+ basetransform: remove 0.10-ism from docs
+ gst_buffer_pad_alloc() never existed, and gst_pad_alloc_buffer()
+ doesn't exist any more either, so don't mention it in the docs.
+ https://bugzilla.gnome.org/show_bug.cgi?id=694714
+
+2013-05-24 19:22:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * plugins/elements/gstqueue2.c:
+ * plugins/elements/gstqueue2.h:
+ queue2: Add support for serialized queries if using a memory queue
+
+2013-05-24 18:47:24 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * plugins/elements/gstqueue.c:
+ queue: Set the last serialized query result to FALSE when flushing
+
+2013-05-24 18:42:55 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: Initialize all GstMultiQueueItem fields in both code paths
+
+2013-05-24 18:38:40 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: Don't access the query after signalling the waiting thread
+ It might've free'd the query already.
+
+2013-05-24 18:30:44 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: Make sure to always signal any possible pending serialized queries
+ And don't unref them when flushing the queue, they're owned by the caller!
+ https://bugzilla.gnome.org/show_bug.cgi?id=700342
+
+2013-05-24 14:37:19 +0200 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * libs/gst/base/gstbasetransform.c:
+ basetransform: Return GST_FLOW_ERROR if the allocator did not allow to allocate a buffer
+
+2013-05-24 16:24:10 +0900 Olivier Crête <olivier.crete@collabora.com>
+
+ * docs/manual/appendix-integration.xml:
+ docs: Remove mention of gconf* elements
+ Instead recommend pulsesrc/sink for audio, there is nothing GNOME
+ specific for video.
+
+2013-05-15 13:22:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Handle the force-caps property more similar to all typefinding code flow
+ This makes sure that events happen in order and simplifies the code a bit.
+
+2013-05-15 11:21:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * libs/gst/check/gstcheck.c:
+ check: Fix event handling in gst_check_element_push_buffer_list()
+
+2013-05-15 10:51:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * common:
+ Automatic update of common submodule
+ From 5edcd85 to 098c0d7
+
+2013-05-10 16:03:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: Only check if we get buffers before stream-start/segment if compiling without G_DISABLE_ASSERT
+ In releases this is set usually.
+
+2013-05-09 17:17:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/libs/gstreamer-libs-sections.txt:
+ * libs/gst/check/Makefile.am:
+ * libs/gst/check/gstcheck.c:
+ * libs/gst/check/gstcheck.h:
+ check: Add helper that sends initial events
+ https://bugzilla.gnome.org/show_bug.cgi?id=700033
+
+2013-05-09 17:22:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: Fix uninitialized variable compiler warning
+
+2013-05-09 17:21:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: Make sure pending, older sticky events are sent downstream in dynamic linking scenarios
+ If a pad block was triggered from sending a sticky event downstream, it
+ could happen that the pad block is relinking pads, which then requires
+ to resend previous sticky events.
+
+2013-05-09 13:32:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * tests/check/elements/fakesink.c:
+ * tests/check/elements/filesink.c:
+ * tests/check/elements/funnel.c:
+ * tests/check/elements/identity.c:
+ * tests/check/elements/multiqueue.c:
+ * tests/check/elements/queue.c:
+ * tests/check/elements/queue2.c:
+ * tests/check/elements/selector.c:
+ * tests/check/elements/tee.c:
+ * tests/check/generic/sinks.c:
+ * tests/check/gst/gstghostpad.c:
+ * tests/check/gst/gstpad.c:
+ * tests/check/libs/collectpads.c:
+ tests: Fix event order warnings and dataflow before stream-start/segment event
+
+2013-05-09 13:31:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * tests/check/libs/test_transform.c:
+ * tests/check/libs/transform1.c:
+ basetransform: Properly port unit test to actually use caps and check results
+
+2013-05-09 12:50:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstqueue.c:
+ queue: Store sticky events on the srcpad if we're dropping them because of leaking
+
+2013-05-09 12:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstoutputselector.c:
+ outputselector: Always forward sticky events to all pads
+
+2013-05-09 12:15:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstinputselector.c:
+ inputselector: Forward all sticky events, including stream-start
+
+2013-05-09 11:05:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: Warn if data flow happens before stream-start or segment event
+
+2013-05-09 10:59:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: Only let gst_pad_sticky_events_foreach() iterate over existing events
+
+2013-05-09 10:29:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: If we push sticky events because of another sticky event, only push those that come before the new event
+ https://bugzilla.gnome.org/show_bug.cgi?id=699937
+
+2013-05-09 09:50:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstcapsfilter.c:
+ capsfilter: Add more debug output and forward caps events immediately too
+
+2013-05-09 09:42:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: No sticky events must arrive after EOS
+
+2013-05-09 09:38:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstcapsfilter.c:
+ capsfilter: Fix typo in last commit
+
+2013-05-08 19:44:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: Improve warning message naming events type name
+ With this patch, message should look like ¨Sticky event misordering, got
+ 'caps' before 'stream-start'¨ making it faster to debug.
+ https://bugzilla.gnome.org/show_bug.cgi?id=688188
+
+2013-05-08 18:19:48 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: Only inforce STREAM_START, CAPS and SEGMENT ordering
+ Previous patch was inforcing a complete ordering of the sticky events, while
+ in fact, only STREAM_START, CAPS and SEGMENT events need proper ordering.
+ See: https://bugzilla.gnome.org/show_bug.cgi?id=688188
+
+2013-05-09 09:32:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gstcapsfilter.c:
+ * plugins/elements/gstcapsfilter.h:
+ capsfilter: Send all events that should happen after CAPS after the CAPS event
+
+2013-05-08 21:45:08 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+ * plugins/elements/gstcapsfilter.c:
+ * plugins/elements/gstcapsfilter.h:
+ capsfilter: Send caps before segment
+ In the case the source has no caps, caps must be sent before segment. This
+ fixes few unit tests that where failing due to the new misordering warning.
+ https://bugzilla.gnome.org/show_bug.cgi?id=699968
+
+2013-05-07 21:53:37 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: Detect, fix and warn when sticky events are in wrong order
+ We can prevent buggy element from causing other elements to fail or crash
+ by sorting sticky event at insertion. In this case, we also warn as this
+ is not supposed to happen.
+ See: https://bugzilla.gnome.org/show_bug.cgi?id=688188
+
+2013-05-08 10:26:15 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * tests/check/gst/gstbuffer.c:
+ tests: add some basic checks for gst_buffer_fill()
+
+2013-05-08 10:25:36 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstbuffer.c:
+ buffer: allow calling _fill() with a NULL data pointer if size is 0 bytes
+
+2013-05-07 16:46:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * libs/gst/base/gstbasesrc.c:
+ basesrc: Add FIXME comment for unused assignment results
+
+2013-05-07 15:18:06 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/manual/advanced-metadata.xml:
+ docs: fix typo in metadata section in app dev manual
+ There's no g_tag_list_get_xyz().
+
+2013-05-07 14:47:09 +0300 Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+ * libs/gst/controller/gsttimedvaluecontrolsource.c:
+ controller: Fix the function signature and a minor typo fix
+ https://bugzilla.gnome.org/show_bug.cgi?id=699827
+
+2013-05-06 18:47:44 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Send stream-start before anything else
+ To do so, send stream-start when the streaming thread goes up for the first
+ time.
+ https://bugzilla.gnome.org/show_bug.cgi?id=699767
+
+2012-12-26 11:54:51 +0000 David Rothlisberger <david@rothlis.net>
+
+ * tools/gstreamer-completion:
+ tools/gstreamer-completion: Allow 1.0 and 0.10 scripts installed simultaneously
+ As long as the scripts' filenames are different, and the _gst_inspect
+ and _gst_launch functions are named differently, the completion scripts
+ for GStreamer 1.0 and 0.10 can be installed side-by-side in
+ /etc/bash_completion.d.
+ On my 0.10 branch† the completion script is renamed to
+ "gstreamer-completion-0.10" and the functions are renamed to
+ "_gst_inspect_0_10" and "_gst_launch_0_10". The remaining helper
+ functions should remain identical (the command-line interface to
+ gst-inspect hasn't changed, nor has the format of the gst-launch
+ pipeline), so it doesn't matter if the 1.0 script overrides the 0.10
+ script's definitions.
+ Note that I don't expect there to be another GStreamer 0.10 release, so
+ the 0.10 completion script will probably never be officially released;
+ but it is still worthwhile allowing both scripts to be installed
+ alongside each other, for those who install the 0.10 completion script
+ manually.
+ Fixes: #690515
+ † https://github.com/drothlis/gstreamer/blob/bash-completion-0.10/tools/gstreamer-completion-0.10
+
+2012-12-21 18:13:53 +0000 David Rothlisberger <david@rothlis.net>
+
+ * tests/misc/test-gstreamer-completion.sh:
+ * tools/gstreamer-completion:
+ tools/gstreamer-completion: Complete option & property values on bash 3.2
+ Bash 3's completion doesn't split words by characters in
+ COMP_WORDBREAKS. In particular it doesn't split at "=" signs. Now
+ _gst_launch_parse handles both bash 3 and 4 format of COMP_WORDS.
+ Note that "${cur%%=*}" means cur's value with the longest possible match
+ of "=*" deleted from the end; "${cur#*=}" means cur's value with the
+ shortest possible match of "*=" deleted from the beginning. See
+ http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
+ Regardless of the version of bash running the unit tests, I can test for
+ both behaviours because the unit test populates COMP_WORDS manually. So
+ this tests the bash 3 behaviour:
+ test_gst_inspect_completion --gst-debug-level=4
+ and this tests the bash 4 behaviour:
+ test_gst_inspect_completion --gst-debug-level = 4
+
+2012-12-21 08:56:26 +0000 David Rothlisberger <david@rothlis.net>
+
+ * tests/misc/test-gstreamer-completion.sh:
+ * tools/gstreamer-completion:
+ tools/gstreamer-completion: Bash 3.2 compatibility fixes
+ Compatible with bash 3.2; doesn't require the bash-completion package at
+ all (though the easiest way to install this script is still to install
+ bash-completion, and then drop this script into /etc/bash_completion.d).
+ Note that bash 3 doesn't break COMP_WORDS according to characters in
+ COMP_WORDBREAKS, so "property=val" looks like a single word, so this
+ won't complete property values (on bash 3). Similarly,
+ "--gst-debug-level=<TAB>" won't complete properly (on bash 3), but
+ "--gst-debug-level <TAB>" will.
+ For that reason, I now offer "--gst-debug-level" etc as completions
+ instead of "--gst-debug-level=".
+ Functions "_init_completion" and "_parse_help" were provided by the
+ bash-completion package >= 2.0; now I roll my own equivalent of
+ "_parse_help", and instead of "_init_completion" I use
+ "_get_comp_words_by_ref" which is available from bash-completion 1.2
+ onwards. If the bash-completion package isn't available at all I use
+ bash's raw facilities, at the expense of not completing properly when
+ the cursor is in the middle of a word.
+ The builtin "compopt" doesn't exist in bash 3; those users will just
+ have to live with the inconvenience of "property=" completing to
+ "property= " with a trailing space. Property values aren't completed
+ properly anyway on bash 3 (see above).
+ "[[ -v var ]]" to test whether a variable is set, also doesn't exist in
+ bash 3. Neither does ";;&" to fall through in a "case" statement.
+ In the unit tests:
+ * On my system (OS X), "#!/bin/bash" is bash 3.2, whereas
+ "#!/usr/bin/env bash" is the 4.2 version I built myself.
+ * I have to initialise array variables like "expected=()", or bash 3
+ treats "+=" as appending to an array already populated with one empty
+ string.
+
+2012-12-19 10:46:50 +0000 David Rothlisberger <david@rothlis.net>
+
+ tools/gstreamer-completion: Support gst-inspect, and gst-launch element properties
+ Completes options like "--gst-debug-level" and the values of some of
+ those options; completes gst-launch pipeline element names, property
+ names, and even property values (for enum or boolean properties only).
+ Doesn't complete all caps specifications, nor element names specified
+ earlier in the pipeline with "name=...".
+ The GStreamer version number is hard-coded into the completion script:
+ This patch is off the master branch and has the version hard-coded as
+ "1.0"; it needs to be updated if backported to the 0.10 branch. You
+ could always create a "gstreamer-completion.in" that has the appropriate
+ version inserted by "configure", but I'd rather not do that. The
+ hard-coded version is consistent with the previous implementation of
+ gstreamer-completion, which had the registry path hard-coded as
+ ~/.gstreamer-1.0/registry.xml.
+ Note that GStreamer 0.10 installs "gst-inspect" and "gst-inspect-0.10".
+ "gst-inspect --help" only prints 4 flags (--help, --print, --gst-mm,
+ gst-list-mm) whereas "gst-inspect-0.10 --help-all" prints the full list
+ of flags. The same applies to "gst-launch" and "gst-launch-0.10".
+ GStreamer 1.0 only installs "gst-inspect-1.0", not "gst-inspect".
+ Requires bash 4; only tested with bash 4.2. Requires "bash-completion"
+ (which you install with your system's package manager).
+ Put this in /etc/bash_completion.d/ or in `pkg-config
+ --variable=compatdir bash-completion`, where it will be loaded at the
+ beginning of every new terminal session;
+ or in `pgk-config --variable=completionsdir bash-completion`, renamed to
+ match the name of the command it completes (e.g. "gst-launch-1.0", with
+ an additional symlink named "gst-inspect-1.0"), where it will be
+ autoloaded when needed.
+ test-gstreamer-completion.sh is (for now) in tests/misc -- it might be
+ worth creating "tests/check/tools", with all the necessary automake
+ boilerplate, and moving test-gstreamer-completion.sh there, and have it
+ run automatically with "make check".
+ IF YOU'RE NEW TO BASH COMPLETION SCRIPTS
+ ----------------------------------------
+ "complete -F _gst_launch gst-launch-1.0" means that bash will run the
+ function "_gst_launch" to generate possible completions for the command
+ "gst-launch-1.0".
+ "_gst_launch" must return the possible completions in the array variable
+ COMPREPLY. (Note on bash syntax: "V=(a b c)" assigns three elements to
+ the array "V").
+ "compgen" prints a list of possible completions to standard output. Try
+ it:
+ compgen -W "abc1 abc2 def" -- "a"
+ compgen -f -- "/"
+ The last argument is the word currently being completed; compgen uses it
+ to filter out the non-matching completions. We put "--" first, in case
+ the word currently being completed starts with "-" or "--", so that it
+ isn't treated as a flag to compgen.
+ For the documentation of COMP_WORDS, COMP_CWORD, etc see
+ http://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#index-COMP_005fCWORD-180
+ See also:
+ * http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html
+ * http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html
+ The bash-completion package provides the helper function
+ "_init_completion" which populates variables "cur", "prev", and "words".
+ See
+ http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=blob;f=bash_completion;h=870811b4;hb=HEAD#l634
+ Note that by default, bash appends a space to the completed word. When
+ the completion is "property=" we don't want a trailing space; calling
+ "compopt -o nospace" modifies the currently-executing completion
+ accordingly. See
+ http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html#index-compopt
+
+2012-11-13 16:36:46 +0000 David Rothlisberger <david@rothlis.net>
+
+ * tools/gstreamer-completion:
+ tools/gstreamer-completion: Updated to work with the binary registry
+ The original registry was in xml format (~/.gstreamer-*/registry.xml). A
+ binary registry format was added in 2007 (commit ebf0c9d3) and made the
+ default in 2008 (commit 3f39fd7e). In 0.10 you could still choose at
+ "configure" time to use the xml registry instead; in 1.0 the binary
+ registry is your only choice.
+ This change to gstreamer-completion should work with either format
+ because it parses the output of "gst-inspect" instead of reading the
+ registry file directly.
+ Note that _gst_launch no longer needs an explicit "return 0" because,
+ unlike the previous grep command, compgen always returns 0 (unless a
+ genuine error occurs).
+ Just like the previous implementation by David Schleef, this "only
+ completes names of features, but that's 90% of what I want it for."
+
+2013-04-29 21:11:36 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/random/porting-to-1.0.txt:
+ porting-to-1.0.txt: nit clarification
+ It is the process context that matters.
+
+2013-04-29 13:20:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Always leave TYPEFIND mode when we're stopping typefinding
+
+2013-04-29 13:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Simplify code
+ This is only called when in TYPEFIND mode.
+
+2013-04-29 12:58:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Push pending events independent of the existence of a downstream chain function and peer
+ Downstream might create a peer only as result of the events in theory.
+
+2013-04-29 12:56:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Only push CAPS event once if we get one from upstream
+ https://bugzilla.gnome.org/show_bug.cgi?id=692784
+
+2013-04-29 12:54:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Stop typefinding if we get a CAPS event from upstream
+
+2013-04-29 12:52:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Improve handling of GAP events
+ There's still room for improvement though.
+
+2013-04-29 12:48:29 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Forward events that should happen before the caps event directly
+ There's no point in storing them and sending them later, and doing so would
+ later require to distinguish between events that should come before caps and
+ after.
+ https://bugzilla.gnome.org/show_bug.cgi?id=692784
+
+2013-04-29 12:48:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Only push pending buffers and events if we have caps
+
+2013-04-29 12:39:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Remove code that would cause caps to be sent twice
+ Whenever we set typefind->caps we will also send a caps event downstream.
+
+2013-04-27 20:33:06 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * docs/pwg/advanced-allocation.xml:
+ pwg: improve allocation docs
+
+2013-04-27 11:46:13 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/check/gstcheck.c:
+ check: set CK_TIMEOUT_MULTIPLIER on ARM
+ https://bugzilla.gnome.org/show_bug.cgi?id=695599
+
+2013-04-27 00:05:45 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * plugins/elements/gsttypefindelement.c:
+ * tests/check/pipelines/simple-launch-lines.c:
+ typefind: fix caps leak when used in connection with uridecodebin and playbin
+ Don't leak forced sink caps.
+
+2013-04-22 18:08:43 -0300 Thibault Saunier <thibault.saunier@collabora.com>
+
+ * libs/gst/controller/gsttimedvaluecontrolsource.c:
+ controller: Fix element-type annotations
2013-04-25 16:38:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
@@ -158,10 +1033,189 @@
We should only increase the refcount before pushing if we're
really going to use the buffer afterwards.
-2013-04-22 18:08:43 -0300 Thibault Saunier <thibault.saunier@collabora.com>
+2013-04-25 07:15:39 +0200 Alessandro Decina <alessandro.d@gmail.com>
- * libs/gst/controller/gsttimedvaluecontrolsource.c:
- controller: Fix element-type annotations
+ * tests/check/gst/gstpad.c:
+ tests: add check for FLUSH pad probes
+
+2013-04-24 08:40:32 +0200 Alessandro Decina <alessandro.d@gmail.com>
+
+ * gst/gstpad.c:
+ gstpad: run probes for FLUSH events sent with gst_pad_send_event
+ Move probe handling in gst_pad_send_event_unchecked so that probes are run for
+ FLUSH events too.
+
+2013-04-24 15:58:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * libs/gst/net/gstnetclientclock.c:
+ * libs/gst/net/gstnettimeprovider.c:
+ netclock: Add support for IPv6
+
+2013-04-24 12:30:07 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * docs/random/porting-to-1.0.txt:
+ porting-to-1.0.txt: add troubleshooting section
+ Add note about "cannot register existing type `GstObject'" warning.
+
+2013-04-23 11:47:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: Only infer TS if PTS interpolation is enabled
+ Otherwise this is breaking timestamps of formats that
+ need reordering.
+ https://bugzilla.gnome.org/show_bug.cgi?id=597662
+
+2013-04-23 11:17:05 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: notify caps property on NULL as well
+ Also notify the caps property when it changes to NULL
+
+2013-04-23 11:16:16 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: clarify locking
+
+2013-04-22 23:50:17 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * MAINTAINERS:
+ * README:
+ * README.static-linking:
+ * common:
+ Automatic update of common submodule
+ From 3cb3d3c to 5edcd85
+
+2013-04-19 15:01:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/design/Makefile.am:
+ * docs/design/part-context.txt:
+ * gst/gstcontext.c:
+ part-context: Write some design documentation about GstContext
+
+2013-04-19 13:21:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/design/part-caps.txt:
+ part-caps: Add more information about caps features, caps semantics and how to use them
+
+2013-04-19 11:23:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/design/part-caps.txt:
+ * gst/gstcapsfeatures.c:
+ capsfeatures: Add documentation about ANY GstCapsFeatures
+
+2013-04-19 10:24:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * libs/gst/base/gstbasesink.c:
+ basesink: Don't set last_render_time if we're checking for a late buffer before ::prepare()
+ This makes sure that at least one buffer per second is rendered if buffers
+ are dropped before ::prepare. Without this change, at least one buffer per
+ second wouldn't be too late before ::prepare anymore but would be dropped
+ before ::render because of last_render_time being set before ::prepare
+ already.
+
+2013-02-08 03:57:44 -0200 Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+
+ * gst/gstvalue.c:
+ gstvalue: Add compare function for caps
+
+2013-01-15 16:57:20 -0300 Thiago Santos <thiago.sousa.santos@collabora.com>
+
+ * libs/gst/base/gstdataqueue.c:
+ * libs/gst/base/gstdataqueue.h:
+ * win32/common/libgstbase.def:
+ dataqueue: add gst_data_queue_peek
+ This function works just like gst_data_queue_pop, but it doesn't
+ remove the object from the queue.
+ Useful when inspecting multiple GstDataQueues to decide from which
+ to pop the element from.
+ Add: gst_data_queue_peek
+
+2013-04-18 10:14:09 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * tests/check/gst/.gitignore:
+ tests: ignore new test binary
+
+2013-04-18 10:13:30 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * tools/gst-launch.c:
+ tools: update for latest context API changes
+
+2013-04-18 10:17:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstcontext.c:
+ * gst/gstcontext.h:
+ * tests/check/gst/gstcontext.c:
+ * win32/common/libgstreamer.def:
+ context: Add gst_context_writable_structure() and let get_structure() return const again
+
+2013-04-18 00:44:32 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/printf/printf-parse.c:
+ * tests/check/gst/gstinfo.c:
+ printf: fix handling of old printf extension specifiers for ABI compatibility
+ Fixes abort when the old specifiers are used. Fix up the conversion
+ specifier, it would get overwritten with 'c' below to the extension
+ format char, which then later is unhandled, leading to the abort.
+ Also fix up and enable unit test for this.
+ https://bugzilla.gnome.org/process_bug.cgi
+
+2013-04-18 00:28:00 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * tests/check/gst/gstinfo.c:
+ tests: add unit test for old printf extension specifiers
+ To make sure we maintain binary compatibility with the old
+ specifiers.
+ https://bugzilla.gnome.org/show_bug.cgi?id=698242
+
+2013-04-18 00:19:23 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/check/gstcheck.h:
+ check: run skipped tests if explicitly requested via GST_CHECKS
+ If a test that's disabled with tcase_skip_broken_test() is listed
+ in the GST_CHECKS environment variable, run it anyway.
+
+2013-04-17 13:47:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * tools/gst-launch.c:
+ gst-launch: Add GstContext support
+ gst-launch will collect all the contexts from the pipeline elements
+ and update the overall pipeline context with it.
+
+2013-04-17 12:44:29 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * tests/check/Makefile.am:
+ * tests/check/gst/gstcontext.c:
+ context: Add unit test for GstContext
+
+2013-04-17 12:17:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstcontext.c:
+ * gst/gstcontext.h:
+ context: Return a non-const GstStructure to make code simpler and update docs
+
+2013-03-29 14:56:57 +0100 Philippe Normand <philn@igalia.com>
+
+ * docs/design/part-scheduling.txt:
+ * gst/gstquery.h:
+ * win32/common/gstenumtypes.c:
+ query: new _BANDWIDTH_LIMITED flag
+ Source elements with limited bandwidth capabilities and supporting
+ buffering for downstream elements should set this flag when answering
+ a scheduling query. This is useful for the on-disk buffering scenario
+ of uridecodebin to avoid checking the URI protocol against a list of
+ hardcoded protocols.
+ Bug 693484
+
+2013-04-16 09:55:00 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/random/porting-to-1.0.txt:
+ docs: fix missing flacdec in porting-to-1.0 pipeline example
+
+2013-04-16 09:03:52 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/random/porting-to-1.0.txt:
+ docs: add note about decoders and parsers to porting-to-1.0 doc
2012-10-24 11:58:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
@@ -185,85 +1239,80 @@
to build all plugins we build here as static plugins.
Fixes bug #667305.
-2013-03-25 09:16:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+2013-04-12 13:50:39 +1200 Douglas Bagnall <douglas@paradise.net.nz>
- * tests/check/gst/gstcaps.c:
- caps: Add unit test for GST_CAPS_{ANY,NONE} and GST_STATIC_CAPS_{ANY,NONE}
- https://bugzilla.gnome.org/show_bug.cgi?id=696435
+ * docs/manual/appendix-porting.xml:
+ manual: Patch manual to refer to porting guide
+ https://bugzilla.gnome.org/show_bug.cgi?id=697845
-2013-03-25 09:19:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+2013-04-13 19:43:10 +0300 Sreerenj Balachandran <sreerenj.balachandran@intel.com>
- * gst/gstcaps.c:
- caps: Fix gst_static_caps_get(GST_STATIC_CAPS_NONE)
- https://bugzilla.gnome.org/show_bug.cgi?id=696435
+ * gst/gstpluginfeature.c:
+ pluginfeature: Fix the GstPluginFeature name comparison.
+ The gst_plugin_feature_rank_compare_func() should return
+ negative value, if the rank of both PluginFeatures are equal and
+ the name of first PluginFeature comes before the second one.
+ https://bugzilla.gnome.org/show_bug.cgi?id=697990
-2013-03-21 21:00:54 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+2013-04-14 17:54:22 +0100 Tim-Philipp Müller <tim@centricular.net>
- * libs/gst/base/gstbasesrc.c:
- basesrc: Don't send error if negotiate fails because we are flushing
- Negotiation may be aborted by a flush from another thread that need to
- stop the task (i.e. seek). Check that case and silently pause the task.
- https://bugzilla.gnome.org/show_bug.cgi?id=696357
+ * common:
+ Automatic update of common submodule
+ From 2736592 to 3cb3d3c
-2013-04-12 16:13:15 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+2013-04-14 17:25:35 +0100 Tim-Philipp Müller <tim@centricular.net>
- * gst/gsttaglist.c:
- taglist: avoid triggering an assertion
- When deserialization of the structure fails, return a NULL taglist instead of
- asserting.
+ * autogen.sh:
+ * common:
+ Automatic update of common submodule
+ From aed87ae to 2736592
-2013-04-13 12:00:12 +0100 Tim-Philipp Müller <tim@centricular.net>
+2013-04-14 11:33:41 +0100 Tim-Philipp Müller <tim@centricular.net>
- * tools/gst-inspect.c:
- gst-inspect: only add a '*' for non-'gpointer' pointers
- Spotted by Jose Antonio Santos Cadena.
- https://bugzilla.gnome.org/show_bug.cgi?id=697791
+ * gst/printf/printf.c:
+ * gst/printf/printf.h:
+ printf: disable some unused printf variants
-2013-04-11 14:54:32 +0200 Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+2013-04-14 11:23:10 +0100 Tim-Philipp Müller <tim@centricular.net>
- * tools/gst-inspect.c:
- gst-inspect: add pointer mark to signal and action return types that are pointers
- When the return type of a signal or action is a pointer, it
- should have an asterisk to mark it as such.
- https://bugzilla.gnome.org/show_bug.cgi?id=697791
+ * gst/printf/gst-printf.h:
+ printf: use sprintf() to work around glibc complaining about %n in a writable format string
+ Don't use snprintf(), but use sprintf instead and do our own
+ length calculations, because glibc may complain about us passing
+ %n in a format string if the string is in writable memory, and
+ here the format string is always in writable memory since we
+ construct it on the fly. This happens if glibc has been compiled
+ with _FORTIFY_SOURCE=2, which seems to be the case on some
+ distros/systems). On the upside, we now use the sprintf code path
+ on all systems which should be better from a maintenance point
+ of view.
+ https://bugzilla.gnome.org/show_bug.cgi?id=697970
-2013-04-09 10:17:45 +0100 Tim-Philipp Müller <tim@centricular.net>
+2013-04-13 12:18:28 +0100 Tim-Philipp Müller <tim@centricular.net>
- * libs/gst/net/gstnetclientclock.c:
- netclientclock: bind socket before querying local address
- Fails on windows otherwise.
- https://bugzilla.gnome.org/show_bug.cgi?id=697608
-
-2013-04-04 16:39:23 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
-
- * gst/gstbufferpool.c:
- bufferpool: fix docs
-
-2013-03-30 11:06:59 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+ * tests/check/gst/gstpoll.c:
+ tests: skip all GstPoll tests on Windows
+ As they don't work there, and it's non-trivial to fix.
+ https://bugzilla.gnome.org/show_bug.cgi?id=697609
- * gst/gstsegment.c:
- segment: Fix seeking when position is slightly outside the segment
- Very often, when the end of a segment is detected by demuxer, the position
- is slightly outside the segment boundaries. Currently, if that is the case
- the base will be set to NONE instead of normal accumulation. This would
- break non-flushing seeks in oggdemux and most likely other demuxers.
- Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696899
+2013-04-13 12:00:12 +0100 Tim-Philipp Müller <tim@centricular.net>
-=== release 1.0.6 ===
+ * tools/gst-inspect.c:
+ gst-inspect: only add a '*' for non-'gpointer' pointers
+ Spotted by Jose Antonio Santos Cadena.
+ https://bugzilla.gnome.org/show_bug.cgi?id=697791
-2013-03-22 12:33:48 +0000 Tim-Philipp Müller <tim@centricular.net>
+2013-04-12 14:48:29 +0200 Gwenole Beauchesne <gwenole.beauchesne@intel.com>
- * ChangeLog:
- * NEWS:
- * RELEASE:
- * configure.ac:
- * docs/plugins/inspect/plugin-coreelements.xml:
- * gstreamer.doap:
- * win32/common/config.h:
- * win32/common/gstversion.h:
- Release 1.0.6
+ * gst/gstplugin.h:
+ plugin: fix name expansion for GST_PLUGIN_DEFINE macro
+ Make GST_PLUGIN_DEFINE use G_STRINGIFY() to convert the name argument
+ into a meaningful string. The advantage of this is that `name' can be
+ expanded from other macros defined in the plug-in element.
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+ https://bugzilla.gnome.org/show_bug.cgi?id=697872
-2013-03-22 09:53:58 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+2013-04-13 11:35:49 +0100 Tim-Philipp Müller <tim@centricular.net>
* po/af.po:
* po/az.po:
@@ -281,7 +1330,6 @@
* po/fi.po:
* po/fr.po:
* po/gl.po:
- * po/hr.po:
* po/hu.po:
* po/id.po:
* po/it.po:
@@ -304,7 +1352,983 @@
* po/vi.po:
* po/zh_CN.po:
* po/zh_TW.po:
- po: update for new translatable string
+ po: add new translatable strings
+
+2013-04-12 23:58:52 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/Makefile.am:
+ * gst/gst_private.h:
+ * gst/gstelement.c:
+ * gst/gstinfo.c:
+ printf: don't build if debugging subsystem was disabled
+
+2013-04-10 11:51:37 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * configure.ac:
+ * gst/printf/Makefile.am:
+ * gst/printf/gst-printf.h:
+ printf: deal with some of the HAVE_FOO used in the printf code
+ Probably needs some more work for MSVC.
+
+2013-04-08 19:42:27 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * gst/printf/README:
+ * gst/printf/vasnprintf.c:
+ printf: fix alloca use for windows with mingw32
+ Don't use just GLIB_HAVE_ALLOCA_H to check if alloca is available,
+ that's just for the header. GLib may define alloca for us otherwise
+ too irrespective of GLIB_HAVE_ALLOCA_H.
+ Fixes compiler warning with mingw32:
+ gst/printf/vasnprintf.c:73:0: warning: "alloca" redefined
+
+2013-04-07 20:11:21 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * configure.ac:
+ * gst/printf/Makefile.am:
+ * gst/printf/vasnprintf.c:
+ printf: enable and fix compiler warnings
+ But suppress -Wformat-nonliteral warnings since sprintf
+ is used with a runtime-generated format string in our
+ vasnprintf implementation.
+
+2013-04-07 18:21:00 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/printf/printf-parse.c:
+ * gst/printf/vasnprintf.c:
+ * gst/printf/vasnprintf.h:
+ printf: fix up dodgy use of #if HAVE_FOO and #if !HAVE_FOO
+ Should use #ifdef and #ifndef.
+
+2013-04-07 17:36:29 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/printf/Makefile.am:
+ printf: mark internal functions as internal
+
+2013-04-07 17:29:02 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/printf/printf-parse.c:
+ printf: skip pointer extension signifier chars after %p
+ So they don't get printed after the serialised pointer string.
+
+2013-04-07 17:21:10 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/printf/vasnprintf.c:
+ printf: don't leak serialised pointer extension strings
+
+2013-04-07 17:02:55 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/printf/printf-parse.c:
+ printf: handle old GST_PTR_FORMAT %P and GST_SEGMENT_FORMAT %Q defines too
+ For binary backwards compatibility.
+
+2013-04-07 16:41:40 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/printf/printf-args.c:
+ * gst/printf/printf-args.h:
+ * gst/printf/printf-parse.c:
+ * gst/printf/printf-parse.h:
+ * gst/printf/vasnprintf.c:
+ printf: make printf parser recognise our pointer extension format
+ and call the hook to get a string for the pointer instead.
+ https://bugzilla.gnome.org/show_bug.cgi?id=613081
+
+2013-03-30 18:28:38 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstinfo.c:
+ * gst/gstinfo.h:
+ * gst/printf/Makefile.am:
+ * gst/printf/README:
+ * gst/printf/printf-extension.c:
+ * gst/printf/printf-extension.h:
+ printf: add infrastructure for pointer extensions hook
+ Does not do anything yet. On a sidenote, we can't just use
+ %p\001 or so to signal the extension because g-i complains
+ about an invalid ascii character then, so have to resort to
+ something more elaborate, such as %p\aA etc.
+ https://bugzilla.gnome.org/show_bug.cgi?id=613081
+
+2013-03-30 17:20:13 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * configure.ac:
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstconfig.h.in:
+ * gst/gstelement.c:
+ * gst/gstelement.h:
+ * gst/gstinfo.c:
+ * gst/gstinfo.h:
+ info: use new internal printf for debug message printing
+ and remove all the printf extension/specifier stuff for
+ the system printf. Next we need to add back the custom
+ specifiers to our own printf implementation.
+ https://bugzilla.gnome.org/show_bug.cgi?id=613081
+
+2013-03-30 15:13:32 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * configure.ac:
+ * gst/Makefile.am:
+ * gst/printf/Makefile.am:
+ * gst/printf/README:
+ * gst/printf/asnprintf.c:
+ * gst/printf/gst-printf.h:
+ * gst/printf/printf-args.c:
+ * gst/printf/printf-args.h:
+ * gst/printf/printf-parse.c:
+ * gst/printf/printf-parse.h:
+ * gst/printf/printf.c:
+ * gst/printf/printf.h:
+ * gst/printf/vasnprintf.c:
+ * gst/printf/vasnprintf.h:
+ printf: add our own printf implementation for debug logging
+ We will add support for our own printf modifiers, so we can
+ get nice debug log output on all operating systems irrespective
+ of the specific libc version used.
+ https://bugzilla.gnome.org/show_bug.cgi?id=613081
+
+2013-04-12 16:13:15 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gsttaglist.c:
+ taglist: avoid triggering an assertion
+ When deserialization of the structure fails, return a NULL taglist instead of
+ asserting.
+
+2013-04-11 14:54:32 +0200 Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+ * tools/gst-inspect.c:
+ gst-inspect: add pointer mark to signal and action return types that are pointers
+ When the return type of a signal or action is a pointer, it
+ should have an asterisk to mark it as such.
+ https://bugzilla.gnome.org/show_bug.cgi?id=697791
+
+2013-04-11 22:32:39 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/random/porting-to-1.0.txt:
+ docs: document type change of playbin's connection-speed property in porting docs
+
+2013-04-11 14:31:01 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstbuffer.c:
+ * gst/gstbuffer.h:
+ * win32/common/libgstreamer.def:
+ buffer: add _gst_max_memory() function
+ Add the a function to query the maximum amount of memory blocks that can be
+ added to a buffer. Also improve the docs for _insert_memory().
+
+2013-04-11 14:04:45 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * libs/gst/net/gstnettimeprovider.c:
+ nettimeprovider: notify of changed bound address
+ Notify when the bound address is known, just like the port.
+
+2013-04-11 13:55:47 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * tools/gst-launch.c:
+ launch: handle PROGRESS messages
+ Wait for all PROGRESS messages (if any) to complete before going to the PLAYING
+ state. This is the only way we can wait for live elements to complete their
+ operations.
+ This is interesting for elements like rtspsrc that do some asynchronous network
+ requests as part of going to the PAUSED state. It could be possible that it, for
+ example, provides a clock and then we would like to wait until it completes
+ so that we can use the provided clock when going to PLAYING.
+
+2013-04-11 15:05:08 +1200 Douglas Bagnall <douglas@paradise.net.nz>
+
+ * docs/pwg/advanced-negotiation.xml:
+ Toggle upstream and downstream in RECONFIGURE paragraph.
+
+2013-04-11 10:11:25 +1200 Douglas Bagnall <douglas@paradise.net.nz>
+
+ * libs/gst/base/gstcollectpads.c:
+ GstCollectPads documentation: gst_collect_pads_read is gone.
+
+2013-04-10 21:24:38 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstbus.c:
+ bus: fix the precondition for gst_bus_disable_sync_message_emission()
+ Use the right variable and invert the test. The precondition should catch
+ someone calling to once too often.
+
+2013-04-09 19:37:06 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/gstcapsfeatures.c:
+ capsfeatures: Init debug category before ever using it
+
+2013-04-09 20:59:36 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * common:
+ Automatic update of common submodule
+ From 04c7a1e to aed87ae
+
+2013-04-03 21:32:54 +0400 Руслан Ижбулатов <lrn1986@gmail.com>
+
+ * docs/manuals.mak:
+ Use xlstproc instead of docbook2html
+
+2013-04-09 10:17:45 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/net/gstnetclientclock.c:
+ netclientclock: bind socket before querying local address
+ Fails on windows otherwise.
+ https://bugzilla.gnome.org/show_bug.cgi?id=697608
+
+2013-04-08 13:14:35 +0400 Руслан Ижбулатов <lrn1986@gmail.com>
+
+ * configure.ac:
+ configure: Also check for clock_gettime in libpthread
+ libwinpthreads provides POSIX time API.
+ It also provides libpthread alias for itself, for compatibility, so that
+ is what we will link with.
+ Fixes #697550
+
+2013-04-08 15:30:07 +0400 Руслан Ижбулатов <lrn1986@gmail.com>
+
+ * gst/gstsystemclock.c:
+ * gst/gstutils.c:
+ clock: Do use HAVE_CLOCK_GETTIME
+ Fixes #697549
+
+2013-04-08 14:42:15 +0400 Руслан Ижбулатов <lrn1986@gmail.com>
+
+ * tests/check/gst/gstabi.c:
+ * tests/check/gst/struct_i386w.h:
+ libsabi: Special struct size values for W32
+ These account for both possible type size mismatch AND -mms-bitfields
+ packing. Sizes are taken from an i686-w64-mingw32-built GStreamer,
+ gcc 4.8.0, mingw-w64 svn-r5685.
+ Fixes #697551
+
+2013-04-09 09:22:39 +0400 Руслан Ижбулатов <lrn1986@gmail.com>
+
+ * tests/check/gst/gstpad.c:
+ tests: fix GstPad test on windows and in CK_FORK=no mode
+ Need to clear buffer lists at the end of each test.
+ https://bugzilla.gnome.org/show_bug.cgi?id=697610
+
+2013-04-06 16:09:54 -0700 David Schleef <ds@schleef.org>
+
+ * tools/gst-launch.c:
+ gst-launch: Fix space in fault message
+
+2013-04-06 22:10:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstcapsfeatures.c:
+ capsfeatures: Copy ANY flag when copying caps features too
+
+2013-04-06 21:49:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstcaps.c:
+ * tools/gst-inspect.c:
+ caps: Handle ANY caps features properly in more places
+
+2013-04-06 21:21:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * tests/check/gst/gstcaps.c:
+ caps: Add test for operations on caps with ANY features
+
+2013-04-06 21:09:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstcaps.c:
+ caps: Properly handle ANY caps features in caps operations
+
+2013-04-05 21:10:48 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstbus.c:
+ bus: update signal docs for gst_bus_enable_sync_message_emission()
+
+2013-04-05 10:15:37 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: ignore empty not-linked queues
+ We need to ignore the not-linked queues in the underrun and overrun callbacks
+ because they are expected to be empty.
+
+2013-04-04 23:12:52 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstcaps.c:
+ caps: fix caps feature leak
+ Fixes leaks in 14 core unit tests including
+ gst/gstcaps.
+
+2013-04-04 19:16:23 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: start pushing again on RECONFIGURE
+ When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
+ again on the source pad.
+ See https://bugzilla.gnome.org/show_bug.cgi?id=676304
+
+2013-04-04 19:07:29 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * plugins/elements/gstqueue2.c:
+ queue2: start pushing again on RECONFIGURE
+ When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
+ again on the source pad.
+ See https://bugzilla.gnome.org/show_bug.cgi?id=676304
+
+2013-04-04 19:06:35 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * plugins/elements/gstqueue.c:
+ queue: start pushing again on RECONFIGURE
+ When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
+ again on the source pad.
+ See https://bugzilla.gnome.org/show_bug.cgi?id=676304
+
+2013-04-04 17:59:10 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gststructure.c:
+ structure: simplify is_subset check
+ Iterate over the fields of the superset instead of those of the subset.
+ This way we can check the presence of the subset field and do the subset check
+ in one iteration.
+
+2013-04-04 17:46:09 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstcaps.c:
+ caps: update docs, is_subset() works now
+
+2013-04-04 16:39:23 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstbufferpool.c:
+ bufferpool: fix docs
+
+2013-04-04 16:20:24 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstpad.c:
+ * gst/gstpad.h:
+ * win32/common/libgstreamer.def:
+ pad: add gst_pad_store_sticky_event()
+ Rewire some internal functions and expose a new
+ gst_pad_store_sticky_event() function.
+ API: gst_pad_store_sticky_event()
+
+2013-04-04 15:45:23 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstpad.h:
+ pad: clarify docs
+
+2013-04-04 15:45:15 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: improve debug
+
+2013-04-04 10:17:30 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstsegment.c:
+ segment: don't WARN, just DEBUG
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696911
+
+2013-03-30 11:06:59 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/gstsegment.c:
+ segment: Fix seeking when position is slightly outside the segment
+ Very often, when the end of a segment is detected by demuxer, the position
+ is slightly outside the segment boundaries. Currently, if that is the case
+ the base will be set to NONE instead of normal accumulation. This would
+ break non-flushing seeks in oggdemux and most likely other demuxers.
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696899
+
+2013-04-03 17:29:51 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * win32/common/libgstreamer.def:
+ defs: update
+
+2013-04-03 16:02:34 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gst.c:
+ gst: add stream flags
+
+2013-04-02 18:17:00 -0600 Brendan Long <b.long@cablelabs.com>
+
+ * docs/random/porting-to-1.0.txt:
+ porting-to-1.0.txt: subtitle text media types changed as well
+ https://bugzilla.gnome.org/show_bug.cgi?id=697153
+
+2013-04-02 23:51:06 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstcontext.c:
+ * gst/gstevent.c:
+ * gst/gstevent.h:
+ * tests/check/gst/.gitignore:
+ docs: more since markers and other docs fixes
+
+2013-04-02 23:21:39 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstcapsfeatures.c:
+ docs: add since markers to capsfeatures docs
+
+2013-04-02 23:18:42 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * scripts/git-update.sh:
+ scripts: add some more modules to git-update.sh
+ https://bugzilla.gnome.org/show_bug.cgi?id=697058
+
+2013-04-02 23:04:51 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * scripts/gst-uninstalled:
+ gst-uninstalled: add uninstalled orc/orc-test/.libs to library paths
+ This is needed by the unit tests in gst-plugins-base, -good etc.
+ Spotted by Alex Kaye.
+ https://bugzilla.gnome.org/show_bug.cgi?id=697093
+
+2013-04-02 22:13:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstcaps.c:
+ * gst/gstcapsfeatures.c:
+ * gst/gstcapsfeatures.h:
+ * tests/check/gst/gstcapsfeatures.c:
+ capsfeatures: Add GST_CAPS_FEATURES_ANY
+ This is equal to any other caps features but results in unfixed caps. It
+ would be used by elements that only look at the buffer metadata or are
+ currently working in passthrough mode, and as such don't care about any
+ specific features.
+
+2013-04-01 22:13:10 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstinfo.c:
+ info: minor cosmetic changes
+ Let's not use ugly leading underscores for
+ static functions.
+
+2013-04-01 21:23:21 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstinfo.c:
+ info: fix object printing of caps features in debug log
+
+2013-04-01 16:38:43 +0200 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/design/draft-tracing.txt:
+ draft-tracing: update draft design with timer ideas
+
+2013-03-30 17:03:44 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstinfo.c:
+ info: refactor pretty printing objects
+ Extract formatters into local functions. Change the structure filtering so that
+ it works for taglists too.
+
+2013-03-30 16:39:38 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstelement.c:
+ element: make post_message and query more alike
+
+2013-04-01 10:20:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * tools/gst-inspect.c:
+ gst-inspect: Print caps features too
+
+2013-04-01 10:19:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstcapsfeatures.c:
+ capsfeatures: For copying features it's not required to have no parent refcount
+
+2013-04-01 10:19:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstcaps.c:
+ caps: Set features' parent refcount in gst_caps_set_features() too
+
+2013-04-01 10:18:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstcaps.c:
+ caps: Set sysmem features if explicitely requested
+
+2013-03-31 19:09:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/design/part-caps.txt:
+ design: Add the caps features and describe how the caps operations actually work
+
+2013-03-30 15:35:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/gst/gstreamer-docs.sgml:
+ * docs/gst/gstreamer-sections.txt:
+ * gst/Makefile.am:
+ * gst/gst.c:
+ * gst/gst.h:
+ * gst/gst_private.h:
+ * gst/gstcaps.c:
+ * gst/gstcaps.h:
+ * gst/gstcapsfeatures.c:
+ * gst/gstcapsfeatures.h:
+ * gst/gstinfo.c:
+ * gst/gststructure.c:
+ * gst/gstvalue.c:
+ * gst/gstvalue.h:
+ * tests/check/Makefile.am:
+ * tests/check/gst/gstcaps.c:
+ * tests/check/gst/gstcapsfeatures.c:
+ * win32/common/libgstreamer.def:
+ caps: Add new data type for handling caps features to the caps
+ These are meant to specify features in caps that are required
+ for a specific structure, for example a specific memory type
+ or meta.
+ Semantically they could be though of as an extension of the media
+ type name of the structures and are handled exactly like that.
+
+2013-03-31 15:30:19 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstevent.h:
+ event: add SELECT and UNSELECT stream flags for stream-start event
+ So demuxers can signal which audio/video/subtitle streams should
+ be selected by default and which should not be selected
+ automatically.
+ API: GST_STREAM_FLAG_SELECT
+ API: GST_STREAM_FLAG_UNSELECT
+ https://bugzilla.gnome.org/show_bug.cgi?id=695968
+ https://bugzilla.gnome.org/show_bug.cgi?id=690911
+
+2013-01-06 20:27:54 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstevent.c:
+ * gst/gstevent.h:
+ * tests/check/gst/gstevent.c:
+ * win32/common/libgstreamer.def:
+ event: add stream flags to stream-start event
+ API: gst_event_set_stream_flags()
+ API: gst_event_parse_stream_flags()
+ API: GST_STREAM_FLAG_NONE
+ API: GST_STREAM_FLAG_SPARSE
+ https://bugzilla.gnome.org/show_bug.cgi?id=600648
+
+2013-03-31 11:26:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstbin.c:
+ * gst/gstelement.c:
+ * gst/gstelement.h:
+ * win32/common/libgstreamer.def:
+ element: Add API to get the last set context from an element
+ Elements should override GstElement::set_context() and also call
+ gst_element_set_context() to keep this context up-to-date with
+ the very latest context they internally use.
+
+2013-03-30 14:04:28 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/design/draft-tracing.txt:
+ design: add initial tracing design doc
+
+2013-03-30 11:47:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstpad.c:
+ pad: Let gst_pad_get_allowed_caps() pass the caps own caps as filter
+ This will reduce the number of caps created downstream and we don't
+ need to intersect in the very end with the pad's own caps.
+
+2013-03-30 10:24:27 +0100 Josep Torra <n770galaxy@gmail.com>
+
+ * libs/gst/base/gstbasesink.c:
+ basesink: fixes compiler warning
+ gstbasesink.c: In function 'gst_base_sink_chain_unlocked':
+ gstbasesink.c:3204: warning: 'ret' may be used uninitialized in this function
+
+2013-03-29 19:01:59 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstchildproxy.c:
+ childproxy: fix gir warning
+
+2013-03-29 18:49:14 +0100 Edward Hervey <edward@collabora.com>
+
+ * docs/pwg/building-boiler.xml:
+ Revert "pwg: Fix example"
+ This reverts commit 5d64f27d881274a40f0441bb8c5b3816fdfc5b9e.
+ *sigh*
+
+2012-11-06 09:41:58 +0100 Edward Hervey <edward@collabora.com>
+
+ * docs/pwg/building-boiler.xml:
+ pwg: Fix example
+
+2012-11-11 13:52:25 +0100 Edward Hervey <edward@collabora.com>
+
+ * gst/gstpad.c:
+ pad: Remove SEGMENT sticky events when flushing
+ When flushing, it is expected that upstream will send a SEGMENT
+ event afterwards.
+ This also avoids stray SEGMENT events from coming through after a
+ flush.
+
+2013-03-28 15:35:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/gst/gstreamer-docs.sgml:
+ * docs/gst/gstreamer-sections.txt:
+ * gst/Makefile.am:
+ * gst/gst.c:
+ * gst/gst_private.h:
+ * gst/gstbin.c:
+ * gst/gstcontext.c:
+ * gst/gstcontext.h:
+ * gst/gstelement.c:
+ * gst/gstelement.h:
+ * gst/gstevent.c:
+ * gst/gstevent.h:
+ * gst/gstinfo.c:
+ * gst/gstmessage.c:
+ * gst/gstmessage.h:
+ * gst/gstquark.c:
+ * gst/gstquark.h:
+ * gst/gstquery.c:
+ * gst/gstquery.h:
+ * win32/common/libgstbase.def:
+ * win32/common/libgstreamer.def:
+ gst: Add new GstContext miniobject for sharing contexts in a pipeline
+
+2013-03-28 16:42:50 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * libs/gst/controller/gstargbcontrolbinding.c:
+ argb-controlbinding: fix messed up property setter
+ This was misassigning the control sources. It was also leaking the old values if
+ a control source would be replaced.
+
+2013-03-27 18:25:08 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: reset next_pts upon SEGMENT event
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
+
+2013-02-26 19:58:49 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * libs/gst/base/gstbaseparse.c:
+ * libs/gst/base/gstbaseparse.h:
+ baseparse: more inter-timestamp tracking
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
+
+2013-03-26 19:22:18 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstallocator.c:
+ * gst/gstbuffer.c:
+ * gst/gstbuffer.h:
+ * win32/common/libgstreamer.def:
+ buffer: Add annotations and pygi friendly extraction function
+ API: gst_buffer_extract_dup
+
+2013-03-27 17:08:51 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * docs/random/porting-to-1.0.txt:
+ porting: hopefully clarify a little
+
+2013-03-25 18:11:54 -0700 David Schleef <ds@schleef.org>
+
+ * gst/gstutils.c:
+ Update docs for gst_pad_create_stream_id_printf()
+ To indicate that format strings should be alpha sortable.
+
+2013-03-25 09:16:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * tests/check/gst/gstcaps.c:
+ caps: Add unit test for GST_CAPS_{ANY,NONE} and GST_STATIC_CAPS_{ANY,NONE}
+ https://bugzilla.gnome.org/show_bug.cgi?id=696435
+
+2013-03-25 09:19:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstcaps.c:
+ caps: Fix gst_static_caps_get(GST_STATIC_CAPS_NONE)
+ https://bugzilla.gnome.org/show_bug.cgi?id=696435
+
+2013-03-21 21:00:54 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+ * libs/gst/base/gstbasesrc.c:
+ basesrc: Don't send error if negotiate fails because we are flushing
+ Negotiation may be aborted by a flush from another thread that need to
+ stop the task (i.e. seek). Check that case and silently pause the task.
+ https://bugzilla.gnome.org/show_bug.cgi?id=696357
+
+2013-03-24 17:53:35 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/design/part-toc.txt:
+ * gst/gsttoc.c:
+ toc: some documentation updates
+
+2013-03-22 20:02:57 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * docs/pwg/building-queryfn.xml:
+ docs: fix typo in query function example in Plugin Writer's Guide
+ https://bugzilla.gnome.org/show_bug.cgi?id=696142
+
+2013-03-07 12:11:30 +0100 Jonas Holmberg <jonashg@axis.com>
+
+ * tests/check/libs/collectpads.c:
+ tests: fix spurious failure in test_collect collectpads test
+ pop() in collected callback.
+ There were three threads in the test cases that hanged: the test thread and two
+ threads that push buffers. Each thread push one buffer on one pad. There are
+ two pads in the collectpads so the second buffer will trigger the
+ collect-callback.
+ This is what happens when the hang occurs:
+ The first thread pushes a buffer and initializes a cookie to the value of a
+ counter in the collectpads object and waits on a cond for the counter to change
+ and for someone to consume the buffer (i.e. _pop() it).
+ The second thread pushes a buffer and calls the collected callback, which
+ signals the cond that the test thread is waiting for.
+ The test thread pops both buffers (without holding any lock). Each call to
+ _pop() increases the counter broadcasts the condition that the first thread is
+ now waiting for. It then joins both threads (hangs).
+ The first thread wakes up and returns, since its buffer has been consumed.
+ The second thread starts executing again. When the callback, called by the
+ second thread, has returned it initializes a cookie to the value of a counter,
+ which has already prematurely been increased by the test thread when it popped
+ the buffers, and wait's on a cond for the counter to change and for someone to
+ consume the buffer (i.e. _pop() it). Since the buffer has already been poped
+ and the counter has already been increased it will be stuck forever.
+ https://bugzilla.gnome.org/show_bug.cgi?id=685555
+
+2013-03-16 12:05:39 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * scripts/gst-uninstalled:
+ gst-uninstalled: remove ffmpeg libs from dynamic linker paths
+ We link those libs into the plugin statically, or use external
+ system libs, but never the internal snapshot dynamically.
+
+2013-03-16 12:00:55 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * scripts/gst-uninstalled:
+ gst-uninstalled: add gst-editing-serves to GI_TYPELIB_PATH
+ So pygi can find it.
+ https://bugzilla.gnome.org/show_bug.cgi?id=695937
+
+2013-03-12 13:53:57 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * gst/gstutils.h:
+ utils: make sure slow GST_READ_UINT* variants don't have unexpected side effects
+ Fixes unit test on systems where unaligned memory access is not possible.
+ https://bugzilla.gnome.org/show_bug.cgi?id=695599
+
+2013-03-05 11:14:41 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * tools/gst-launch.c:
+ launch: don't exit the loop on buffering in paused
+ When we receive a buffering message of 100% in the paused state, we exit
+ the event_loop and move to the PLAYING state. What should happen is that
+ we wait for both ASYNC-DONE and 100% buffering before continueing.
+
+2013-03-08 13:15:32 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/design/part-controller.txt:
+ design: update controller design and add some thoughs for future stuff
+
+2013-03-08 08:13:06 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * libs/gst/controller/gstdirectcontrolbinding.c:
+ docs: mention clipping of values in control-binding docs
+
+2013-03-08 08:10:20 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * tests/check/gst/gstcontroller.c:
+ controller: code cleanups
+ Use a property for accessing the control-source on the binding. Drop base_init
+ on the test object.
+
+2013-03-07 11:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstquery.c:
+ query: gst_query_get_n_allocation_params() returns a new ref to the allocator
+
+2013-03-07 11:35:03 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * tests/check/libs/controller.c:
+ controller: remove a bogus test
+ We previously forgot to initilize the amplitde property to the default and thus it was 0.0. Therefore a default lfo controlsource returned a series of 0.0 and the test was asserting on that.
+
+2013-03-07 09:15:14 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstcontrolbinding.c:
+ * libs/gst/controller/gstargbcontrolbinding.c:
+ * libs/gst/controller/gstdirectcontrolbinding.c:
+ controlbinding: relax the pspec for the control-source
+ We can change control sources on controlbindings.
+
+2013-03-07 09:12:59 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * libs/gst/controller/gstlfocontrolsource.c:
+ lfo: set a sensible lower boundary for the frequency
+ Use DBL_MIN, which is a the smalles double greater than zero that is not in
+ denormal format. This exposes the limit better than the runtime check.
+
+2013-03-06 23:59:28 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * common:
+ Automatic update of common submodule
+ From 2de221c to 04c7a1e
+
+2013-03-06 16:40:27 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * libs/gst/controller/gstlfocontrolsource.c:
+ lfocontrolsource: init the amplitude to the default and update the docs
+
+2013-03-05 11:30:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * scripts/gst-uninstalled:
+ gst-uninstalled: Add all the base/bad libraries and remove obsolete ones
+
+2013-03-03 16:00:11 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/base/gstbasesink.c:
+ basesink: fix use of uninitialized variable
+ Running suite(s): GstBaseSink
+ ==22023== Conditional jump or move depends on uninitialised value(s)
+ ==22023== at 0x505FFCE: gst_base_sink_get_sync_times (gstbasesink.c:1936)
+ ==22023== by 0x5068C80: gst_base_sink_do_sync (gstbasesink.c:2379)
+ ==22023== by 0x506BCD2: gst_base_sink_default_wait_event (gstbasesink.c:2903)
+ ==22023== by 0x50633A4: gst_base_sink_default_event (gstbasesink.c:2918)
+ ==22023== by 0x6F5C216: gst_fake_sink_event (gstfakesink.c:383)
+ ==22023== by 0x505F164: gst_base_sink_event (gstbasesink.c:3108)
+ ==22023== by 0x52FA090: gst_pad_send_event_unchecked (gstpad.c:4822)
+ ==22023== by 0x5303756: gst_pad_send_event (gstpad.c:4984)
+ ==22023== by 0x40165B: basesink_test_gap (basesink.c:148)
+
+2013-03-03 12:06:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstbuffer.c:
+ buffer: Fix memory copying logic in copy_into()
+ https://bugzilla.gnome.org/show_bug.cgi?id=695035
+
+2013-03-03 11:28:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstregistrychunks.c:
+ registrychunks: Use correct print format specifiers to fix compiler warnings
+
+2013-02-22 14:22:01 -0800 David Schleef <ds@schleef.org>
+
+ * gst/gstobject.c:
+ Fix misspellings of 'continuous'
+
+2013-02-22 14:56:49 -0800 David Schleef <ds@schleef.org>
+
+ * libs/gst/base/gstcollectpads.c:
+ collectpads: take DTS into account
+ Importantly, this patch converts DTS to running time. Less importantly,
+ and possibly a problem for some muxers, is that it orders buffers by
+ DTS (if it is valid, otherwise PTS). This is generally correct, but
+ might be somewhat surprising to muxers.
+ Also note that once converted to running time, DTS can end up negative.
+
+2013-02-28 22:59:43 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/manual/advanced-dparams.xml:
+ manual: improve the controller docs a little more
+ Reword some sections. Explain value mappings better.
+
+2013-02-28 19:40:32 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * scripts/gst-uninstalled:
+ gst-uninstalled: add gst-libav to pkg-config path
+
+2013-02-27 22:15:48 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstsegment.c:
+ * libs/gst/base/gstbasesink.c:
+ * libs/gst/base/gstbasesrc.c:
+ seeking: add more logging for seeking
+ Especially add logging to error code paths.
+
+2013-02-27 10:09:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstbuffer.c:
+ * gst/gstbuffer.h:
+ buffer: Gracefully handle gst_memory_copy() returning NULL without crashing
+ gst_buffer_copy_into() and gst_buffer_resize_range() can now fail.
+
+2013-02-26 17:33:30 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstallocator.c:
+ * win32/common/libgstreamer.def:
+ allocator: small internal cleanups
+ Rename System memory allocator to GstAllocatorSysmem and the memory to
+ GstMemorySystem.
+
+2013-02-26 15:37:24 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstmemory.c:
+ * gst/gstmemory.h:
+ memory: add method to check memory type
+ Add a method to check if a memory was allocated from an allocator of
+ a given type.
+ API: gst_memory_is_type()
+
+2013-02-26 15:36:10 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * docs/gst/gstreamer-sections.txt:
+ docs: improve docs a little
+
+2013-02-26 15:32:25 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * docs/design/part-gstbin.txt:
+ * docs/design/part-messages.txt:
+ * gst/gstbin.c:
+ use GST_MESSAGE_DURATION_CHANGED in docs and code
+
+2013-02-26 14:40:38 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstmemory.c:
+ memory: don't unref allocator too soon
+ Unref the allocator *after* we have freed the memory. We also need to keep
+ a ref to the allocator around because following the now freed memory would
+ lead to crashes.
+
+2013-02-26 09:08:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstbuffer.c:
+ buffer: Fix inverted logic for deciding if memory should be shared or copied
+ https://bugzilla.gnome.org/show_bug.cgi?id=694717
+
+2013-02-26 07:50:13 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/random/porting-to-1.0.txt:
+ porting: mention segment accumulation in the porting guide
+ This needs more detail, but at least gives people a hint on the issue.
+
+2013-02-26 07:48:35 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstmessage.c:
+ docs: s/start/done/ copy'n'paste mistake
+
+2013-02-25 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstquery.c:
+ * gst/gstquery.h:
+ * win32/common/libgstreamer.def:
+ query: Add new API to remove allocation params and pools from the allocation query
+
+2013-02-25 13:24:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstquery.c:
+ query: Document that the first allocator in the allocation query should allow mapping to system memory
+
+2013-02-24 09:24:26 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstmemory.c:
+ memory: Keep a reference to the allocator
+ Otherwise the allocator might get freed while it's still used
+ by the memory
+
+2013-02-24 09:33:03 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstbuffer.c:
+ buffer: If sharing a GstMemory fails, fall back to copying it
+
+2013-02-23 18:36:15 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/random/porting-to-1.0.txt:
+ docs: porting-to-1.0.txt: some element names have changed
+
+2013-02-23 08:19:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstmemory.h:
+ memory: It's contiguous, not continous
+
+2013-02-22 12:41:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstmemory.h:
+ memory: Add new memory flag to specify that memory can't be mapped
+
+2013-02-22 09:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstmemory.h:
+ memory: Add memory flag to mark physically continous memory
2013-02-16 23:02:21 +0000 Tim-Philipp Müller <tim@centricular.net>
@@ -318,6 +2342,144 @@
Fixes spurious warnings in audioresample shutdown unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=693996
+2013-02-21 10:18:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * scripts/gst-uninstalled:
+ gst-uninstalled: Add ORC
+
+2013-02-19 18:00:48 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * gst/gstutils.h:
+ * tests/check/gst/gstutils.c:
+ utils: avoid unexpected side-effects of GST_WRITE_* macros
+ Make sure the data argument is only evaluated once.
+
+2013-02-19 17:36:50 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * docs/libs/gstreamer-libs-sections.txt:
+ * libs/gst/check/gstcheck.h:
+ * tests/check/gst/gstutils.c:
+ check: add some more fail_unless_*() macros for convenience
+ API: fail_unless_equals_int_hex
+ API: assert_equals_int_hex
+ API: fail_unless_equals_int64_hex
+ API: assert_equals_int64_hex
+ API: fail_unless_equals_uint64_hex
+ API: assert_equals_uint64_hex
+ API: fail_unless_equals_pointer
+ API: assert_equals_pointer
+
+2013-02-19 12:42:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * scripts/gst-uninstalled:
+ scripts: add new -base allocators library to gst-uninstalled search paths
+
+2013-02-18 20:47:04 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * tests/check/libs/collectpads.c:
+ collectpads: add two more tests using collectpads within an element
+ Add a static plugin with a rudimentary element using collectpads and do some
+ pipeline based tests.
+
+2013-02-17 12:50:03 -0800 David Schleef <ds@schleef.org>
+
+ * docs/manual/appendix-porting.xml:
+ docs: Fix some ambiguous wording
+
+2013-02-17 19:53:55 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * libs/gst/controller/gsttriggercontrolsource.c:
+ triggercontrolsource: add missing end_iter check for sequence
+ Avoid accessing the end-iter, this is a marker without a data field.
+
+2013-02-17 13:20:20 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstelement.c:
+ docs: link to the appropriate messages from gst_elements_set_state() docs
+ For an async state change return one would wait for ASYNC_DONE or STATE_CHANGED.
+
+2013-02-16 14:20:06 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstbuffer.h:
+ buffer: add since marker for new COPY_DEEP buffer flag
+
+2013-02-16 14:59:02 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstbuffer.c:
+ * gst/gstbuffer.h:
+ buffer: add option to deep copy a buffer
+ Add a buffer copy flag to force a memory copy in all cases.
+
+2013-02-14 14:09:13 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * gst/gstutils.c:
+ Revert "utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template()"
+ This reverts commit 1a1a9e143fb0e155d7627aa8e489cd5d04bc093c.
+ This breaks the pipelines/tagschecking unit test for some reason
+ (fakesrc ! capsfilter ! qtmux linking fails now). It might be
+ a bug in the unit test of course, but someone will need to
+ investigate this. Reverting for now.
+ https://bugzilla.gnome.org/show_bug.cgi?id=692508
+
+2013-02-15 13:08:18 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstallocator.c:
+ allocator: improve fallback copy function
+ Only use the allocator of the copied memory when we can use the default
+ _alloc function on it. Otherwise we will have to use the default
+ allocator for the copy.
+
+2013-02-14 13:55:10 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * docs/gst/running.xml:
+ docs: fix location in user's home directory where GStreamer looks for plugins
+ It's based on the xdg user data dir now in 1.0.
+
+2013-01-25 06:50:27 -0300 Niv Sardi <xaiki@evilgiggle.com>
+
+ * gst/gstutils.c:
+ utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template()
+ motivation comes from: /* FIXME: why not gst_pad_get_pad_template (pad); */
+ this code path is quite nicer, we now only revert to creating the template
+ if gst_pad_get_pad_template fails.
+ with this fork, we gain a non-allocation of GstCaps *templcaps
+ https://bugzilla.gnome.org/show_bug.cgi?id=692508
+
+2013-02-13 00:27:28 +0000 Krzysztof Konopko <krzysztof.konopko@gmail.com>
+
+ * tools/gst-launch.c:
+ gst-launch: Use g_unix_signal_add() to handle keyboard interruption
+ Current implementation uses a traditional signal handler and a 250ms
+ timeout callback in the event loop. Adding a GSource with
+ g_unix_signal_add() to the GMainLoop is a much more elegant solution.
+ The signal handler with this approach can send a message to the bus
+ directly rather than set a flag as all dispatching intricacies are handled
+ by GLib.
+ https://bugzilla.gnome.org/show_bug.cgi?id=693481
+
+2013-02-14 00:07:22 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/gst/running.xml:
+ docs: flesh our 'Running GStreamer' bits a bit
+ https://bugzilla.gnome.org/show_bug.cgi?id=693607
+
+2013-02-13 23:27:16 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * tools/gst-launch.1.in:
+ docs: flesh out gst-launch-1.0 man page a little
+ Fix up default location of the registry.
+ Mention more options for GST_DEBUG (wildcards and
+ named debug levels).
+ Explain what to do with the dot files that can be
+ produced by setting GST_DEBUG_DUMP_DOT_DIR.
+ https://bugzilla.gnome.org/show_bug.cgi?id=693607
+
+2012-12-27 00:03:06 +0100 Gert Michael Kulyk <gkulyk@yahoo.de>
+
+ * docs/manual/advanced-metadata.xml:
+ docs: fix advanced-metadata code example in manual
+ https://bugzilla.gnome.org/show_bug.cgi?id=690751
+
2013-02-13 16:52:13 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* gst/gstmessage.c:
@@ -326,44 +2488,125 @@
And simplify code a bit while at it.
https://bugzilla.gnome.org/show_bug.cgi?id=693704
-2013-02-12 00:08:51 +1100 Tim 'mithro' Ansell <mithro@mithis.com>
+2013-02-13 17:00:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* gst/gstvalue.c:
- gstvalue: Adding offset to GstSegment serialize/deserialize.
- Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693587
+ * tests/check/gst/gstvalue.c:
+ value: Remove set-style bitmask intersection/union/subtraction functions
+ Set operations on the bitmasks don't make much sense and result
+ in invalid caps when used as a channel-mask. They are now handled
+ exactly like integers.
+ This functionality was not used anywhere except for tests.
+ https://bugzilla.gnome.org/show_bug.cgi?id=691370
-2013-02-07 12:52:26 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+2013-02-13 11:19:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* gst/gstbin.c:
- bin: remove old comment
- The iterators now return a GValue and not the object directly anymore.
+ bin: The latency query should return TRUE by default, different to other queries
+ Fixes unit test failures caused by f3d268de7f7fb1161778a9a95e0d54d8c89ef626
-2013-02-07 12:50:08 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+2013-02-13 10:46:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gststructure.c:
+ * tests/check/gst/gstcaps.c:
+ structure: Make sure that subsets have all fields of the superset
+ "video/x-h264,parsed=(boolean)true" is not a superset of
+ "video/x-h264,stream-format=(string)byte-stream,alignment=(string)nal"
+ for example.
+ https://bugzilla.gnome.org/show_bug.cgi?id=693365
+
+2013-02-12 12:32:23 -0800 David Schleef <ds@schleef.org>
+
+ * win32/common/libgstbase.def:
+ update exports for baseparse API changes
+
+2013-02-12 12:31:42 -0800 David Schleef <ds@schleef.org>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: Fix doc typo
+
+2013-02-11 16:51:48 -0800 David Schleef <ds@schleef.org>
+
+ * libs/gst/base/gstbaseparse.c:
+ * libs/gst/base/gstbaseparse.h:
+ baseparse: add gst_base_parse_set_ts_at_offset()
+ Sets the buffer timestamps based on last seen timestamps at a
+ particular offset into the frame.
+ API: gst_base_parse_set_ts_at_offset()
+
+2013-02-11 16:42:41 -0800 David Schleef <ds@schleef.org>
+
+ * libs/gst/base/gstadapter.c:
+ * libs/gst/base/gstadapter.h:
+ adapter: Add gst_adapter_prev_[pd]ts_at_offset()
+ Original patch written by Michael Smith <msmith@rdio.com>.
+ API: gst_adapter_prev_pts_at_offset()
+ API: gst_adapter_prev_dts_at_offset()
+
+2013-02-09 18:14:09 +0100 Philippe Normand <philn@igalia.com>
* gst/gstbin.c:
- bin: reset GValue from iterator after usage
+ bin: query sink elements and source pads of the bin
+ gst_bin_query() now forwards the query to the source pads as well if
+ none of the sinks of the bin satisfied the query. This helps in the
+ case of DURATION queries done a bin containing a source element.
+ Fixes bug 638749
-2013-02-04 10:30:32 +0100 Stefan Sauer <ensonic@users.sf.net>
+2013-02-07 12:47:02 +0100 Alexander Schrab <alexas@axis.com>
- * gst/gstdebugutils.c:
- debugutils: fix order of caps on an unnegotiated link
- headlabel is the sink_pad (where the link points to) and not the other way around.
+ * gst/gstbin.c:
+ bin: Let gst_bin_send_event() send events to ghost pads as well
-2013-02-01 21:59:41 +0100 Stefan Sauer <ensonic@users.sf.net>
+2013-02-11 22:52:25 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstutils.c:
+ * libs/gst/base/gstbasesrc.c:
+ compat: kill more uses of gst_pad_set_caps()
+
+2013-02-12 00:08:51 +1100 Tim 'mithro' Ansell <mithro@mithis.com>
+
+ * gst/gstvalue.c:
+ gstvalue: Adding offset to GstSegment serialize/deserialize.
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693587
+
+2013-02-09 12:32:02 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: improve PTS interpolating
+ ... and tracking of DTS. Fixes cases where PTS is locked on to the
+ DTS of an incoming buffer with no PTS with invalid data, leading to
+ no outgoing PTS (since it is not allowed smaller than DTS).
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
+
+2013-02-08 21:28:18 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/random/porting-to-1.0.txt:
+ docs: add more porting details
+
+2013-02-08 21:21:48 +0100 Stefan Sauer <ensonic@users.sf.net>
- * docs/libs/gstreamer-libs-docs.sgml:
- * docs/libs/gstreamer-libs-sections.txt:
- * docs/libs/gstreamer-libs.types:
* gst/gstcontrolbinding.c:
- * libs/gst/controller/gstargbcontrolbinding.c:
+ * gst/gstobject.c:
* libs/gst/controller/gstdirectcontrolbinding.c:
- docs: update the controller docs
- Add the control bindings to the docs. Add a little more detail.
+ controlbinding: error handling for binding controlsources to wrong properties
+ Add warning if property is not suitable for controlling. When adding a control-
+ binding check that pspec!=NULL.
-2013-02-01 21:57:45 +0100 Stefan Sauer <ensonic@users.sf.net>
+2013-02-07 13:08:49 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
- * docs/random/porting-to-1.0.txt:
- porting: a few updates for the porting guide
+ * gst/gstelement.c:
+ element: remove old docs about iterators
+
+2013-02-07 12:52:26 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstbin.c:
+ bin: remove old comment
+ The iterators now return a GValue and not the object directly anymore.
+
+2013-02-07 12:50:08 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstbin.c:
+ bin: reset GValue from iterator after usage
2013-02-05 17:15:37 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
@@ -377,8 +2620,6 @@
After a buffer or GAP without duration, an EOS event should be rendered
immediately instead of waiting for the end of the segment.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692868
- Conflicts:
- libs/gst/base/gstbasesink.c
2013-02-02 11:55:52 -0800 Nate Bogdanowicz <natezb@gmail.com>
@@ -389,15 +2630,40 @@
This is fixed by simply adding a check and only ref-ing if the clock is not NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=693065
+2013-02-05 13:44:06 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gststructure.h:
+ structure: change argument name for docs
+
+2013-02-04 10:30:32 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * gst/gstdebugutils.c:
+ debugutils: fix order of caps on an unnegotiated link
+ headlabel is the sink_pad (where the link points to) and not the other way around.
+
+2013-02-01 21:59:41 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/libs/gstreamer-libs-docs.sgml:
+ * docs/libs/gstreamer-libs-sections.txt:
+ * docs/libs/gstreamer-libs.types:
+ * gst/gstcontrolbinding.c:
+ * libs/gst/controller/gstargbcontrolbinding.c:
+ * libs/gst/controller/gstdirectcontrolbinding.c:
+ docs: update the controller docs
+ Add the control bindings to the docs. Add a little more detail.
+
+2013-02-01 21:57:45 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * docs/random/porting-to-1.0.txt:
+ porting: a few updates for the porting guide
+
2013-01-30 13:06:44 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
- * plugins/elements/gstdataqueue.c:
+ * libs/gst/base/gstdataqueue.c:
dataqueue: can't pass a GType through GINT_TO_POINTER
Use GSIZE_TO_POINTER instead. sizeof(GType) may be larger
than sizeof(gulong) and sizeof(int), so the casts may
chop off some bits from the GType value on some architectures.
- Conflicts:
- plugins/elements/gstdataqueue.c
2013-01-29 12:40:52 +0100 Alexander Schrab <alexas@axis.com>
@@ -423,36 +2689,45 @@
2013-01-30 11:55:18 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
- * plugins/elements/gstqueuearray.c:
+ * libs/gst/base/gstqueuearray.c:
queuearray: make _find() find the value if no compare function is provided
Allow NULL as compare function for direct value lookup.
https://bugzilla.gnome.org/show_bug.cgi?id=692691
- Conflicts:
- plugins/elements/gstqueuearray.c
-2013-01-29 22:54:21 +0000 Tim-Philipp Müller <tim@centricular.net>
+2013-01-30 11:34:15 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tests/check/libs/queuearray.c:
- tests: one more test for gst_queue_array_drop_element()
+ tests: check return value of gst_queue_array_drop_element() too
+ Was added when the API was made public in git master.
https://bugzilla.gnome.org/show_bug.cgi?id=692691
-2013-01-30 09:11:24 +0100 Alexander Schrab <alexas@axis.com>
+2013-01-29 22:54:21 +0000 Tim-Philipp Müller <tim@centricular.net>
* tests/check/libs/queuearray.c:
- tests: add checks for gst_queue_array_find() and _drop_element()
+ tests: one more test for gst_queue_array_drop_element()
https://bugzilla.gnome.org/show_bug.cgi?id=692691
+ Conflicts:
+ tests/check/libs/queuearray.c
2013-01-28 11:05:28 +0100 Alexander Schrab <alexas@axis.com>
- * plugins/elements/gstqueuearray.c:
+ * libs/gst/base/gstqueuearray.c:
queuearray: fix gst_queue_array_find()
https://bugzilla.gnome.org/show_bug.cgi?id=692691
2013-01-28 11:05:28 +0100 Alexander Schrab <alexas@axis.com>
- * plugins/elements/gstqueuearray.c:
+ * libs/gst/base/gstqueuearray.c:
queuearray: fix gst_queue_array_drop_element()
https://bugzilla.gnome.org/show_bug.cgi?id=692691
+ Conflicts:
+ libs/gst/base/gstqueuearray.c
+
+2013-01-29 16:55:23 +0200 Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+ * libs/gst/base/gstbitreader-docs.h:
+ docs: align the comments correctly with the declaration in bitreader docs
+ https://bugzilla.gnome.org/show_bug.cgi?id=692809
2013-01-29 09:45:23 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
@@ -462,6 +2737,18 @@
NOT_NEGOTIATED error. We only want to retry negotiation if the result from
gst_pad_push() returned NOT_NEGOTIATED.
+2013-01-28 20:41:20 +0100 Stefan Sauer <ensonic@users.sf.net>
+
+ * common:
+ Automatic update of common submodule
+ From a942293 to 2de221c
+
+2013-01-28 13:05:44 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * tests/examples/streams/stream-status.c:
+ example: fix FIXME in example
+ Use setpriority to raise priority
+
2013-01-27 06:20:51 -0800 Simon Feltman <sfeltman@src.gnome.org>
* gst/Makefile.am:
@@ -471,6 +2758,17 @@
typeless due to the GType not being included as an annotation.
https://bugzilla.gnome.org/show_bug.cgi?id=691185
+2013-01-27 09:18:00 +0530 B.Prathibha <prathibhab@cdac.in>
+
+ * tests/check/pipelines/stress.c:
+ tests: use g_timeout_add_seconds in pipeline stress test
+ https://bugzilla.gnome.org/show_bug.cgi?id=692612
+
+2013-01-24 17:50:31 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * docs/libs/gstreamer-libs-sections.txt:
+ docs: Put the right path for the gstttestclock include file
+
2013-01-24 15:50:17 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
* docs/pwg/advanced-negotiation.xml:
@@ -497,6 +2795,16 @@
Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691986
+2013-01-19 12:51:56 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstutils.c:
+ * gst/gstutils.h:
+ * tests/check/gst/gstpad.c:
+ * win32/common/libgstreamer.def:
+ pad: add gst_pad_get_stream_id() utility function
+ API: gst_pad_get_stream_id()
+
2013-01-18 16:05:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tools/gst-launch.1.in:
@@ -510,6 +2818,16 @@
There are more debug levels these days, not only 0-5.
https://bugzilla.gnome.org/show_bug.cgi?id=692015
+2013-01-17 00:38:14 -0600 Daniel Díaz <yosoy@danieldiaz.org>
+
+ * tests/check/gst/gstabi.c:
+ * tests/check/gst/struct_arm.h:
+ * tests/check/libs/libsabi.c:
+ * tests/check/libs/struct_arm.h:
+ tests: fix ABI check struct sizes for ARM
+ and re-enable ABI check for ARM.
+ https://bugzilla.gnome.org/show_bug.cgi?id=691828
+
2013-01-16 17:24:42 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* libs/gst/base/gstadapter.c:
@@ -523,6 +2841,72 @@
tests: disable ABI checks for architectures where the struct sizes are not up-to-date
https://bugzilla.gnome.org/show_bug.cgi?id=691828
+2013-01-15 15:03:43 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * common:
+ Automatic update of common submodule
+ From 2a068ce to a942293
+
+2013-01-15 13:47:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * docs/gst/Makefile.am:
+ * docs/libs/Makefile.am:
+ * docs/plugins/Makefile.am:
+ * gst/Makefile.am:
+ * libs/gst/base/Makefile.am:
+ * libs/gst/check/Makefile.am:
+ * libs/gst/controller/Makefile.am:
+ * libs/gst/net/Makefile.am:
+ * tests/check/Makefile.am:
+ Use GST_*_1_0 environment variables everywhere
+ The _1_0 suffixed environment variables override the
+ non-suffixed ones, so if we're in an environment that
+ sets the _1_0 suffixed ones, such as jhbuild, we need
+ to set those to make sure ours actually always get
+ used.
+
+2013-01-15 13:47:13 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * po/af.po:
+ * po/az.po:
+ * po/be.po:
+ * po/bg.po:
+ * po/ca.po:
+ * po/cs.po:
+ * po/da.po:
+ * po/de.po:
+ * po/el.po:
+ * po/en_GB.po:
+ * po/eo.po:
+ * po/es.po:
+ * po/eu.po:
+ * po/fi.po:
+ * po/fr.po:
+ * po/gl.po:
+ * po/hu.po:
+ * po/id.po:
+ * po/it.po:
+ * po/ja.po:
+ * po/lt.po:
+ * po/nb.po:
+ * po/nl.po:
+ * po/pl.po:
+ * po/pt_BR.po:
+ * po/ro.po:
+ * po/ru.po:
+ * po/rw.po:
+ * po/sk.po:
+ * po/sl.po:
+ * po/sq.po:
+ * po/sr.po:
+ * po/sv.po:
+ * po/tr.po:
+ * po/uk.po:
+ * po/vi.po:
+ * po/zh_CN.po:
+ * po/zh_TW.po:
+ po: update for new translated string
+
2013-01-15 09:42:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* gst/gstpipeline.c:
@@ -550,6 +2934,22 @@
* libs/gst/base/gstadapter.c:
adapter: handle map failure
+2013-01-13 14:45:31 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/base/gstbaseparse.c:
+ * libs/gst/base/gstbaseparse.h:
+ baseparse: add vfuncs to intercept queries
+ Useful for video parses that want to attach matter or
+ find out if downstream supports certain metas.
+ API: GstBaseParseClass::src_query()
+ API: GstBaseParseClass::sink_query()
+ https://bugzilla.gnome.org/show_bug.cgi?id=691475
+
+2013-01-12 20:54:26 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: fix up name of default event vfuncs
+
2013-01-10 11:34:14 +0100 Stefan Sauer <ensonic@users.sf.net>
* docs/gst/gstreamer-sections.txt:
@@ -563,22 +2963,6 @@
* gst/gstcontrolsource.c:
docs: improve api docs for controlsource and -binding
-=== release 1.0.5 ===
-
-2013-01-08 00:36:05 +0000 Tim-Philipp Müller <tim@centricular.net>
-
- * ChangeLog:
- * NEWS:
- * RELEASE:
- * configure.ac:
- * docs/plugins/inspect/plugin-coreelements.xml:
- * gstreamer.doap:
- * po/sl.po:
- * win32/common/config.h:
- * win32/common/gstenumtypes.c:
- * win32/common/gstversion.h:
- Release 1.0.5
-
2013-01-05 16:30:04 +0000 Tim-Philipp Müller <tim@centricular.net>
* tests/check/gst/gstghostpad.c:
@@ -586,16 +2970,29 @@
The created pad is never used and overwritten with
another newly-created pad a few lines below.
-2013-01-04 12:50:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
- * gst/gstbin.h:
- docs: update since markers for new NO_RESYNC flag
-
2013-01-04 12:27:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* gst/gstsystemclock.h:
docs: minor systemsclock doc fix
+2013-01-03 10:16:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * libs/gst/base/gstbasesink.c:
+ basesink: Initialize uninitialized variable
+
+2012-12-30 23:35:48 +0100 Thijs Vermeir <thijsvermeir@gmail.com>
+
+ * libs/gst/base/gstadapter.c:
+ * libs/gst/base/gstadapter.h:
+ adapter: return gssize from gst_adapter_masked_scan_* functions
+ As the return value of this function is -1 when the match is not found
+
+2013-01-01 10:23:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * libs/gst/base/gstbasesink.c:
+ basesink: Check if buffers are too late before calling prepare/prepare_list
+ https://bugzilla.gnome.org/show_bug.cgi?id=690936
+
2012-12-30 23:48:47 +0000 Tim-Philipp Müller <tim@centricular.net>
* configure.ac:
@@ -604,6 +3001,24 @@
https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html
https://bugzilla.gnome.org/show_bug.cgi?id=690881
+2012-12-22 16:50:49 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstcaps.c:
+ * gst/gststructure.c:
+ * gst/gsttaglist.c:
+ caps, structure, taglist: micro-optimisations
+ Avoid some unnecessary GValue copying by making use of
+ gst_structure_id_take_value() where possible.
+
+2012-12-22 16:29:03 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstvalue.c:
+ gstvalue: some micro-optimisations
+ Avoid unnecessary value copying, and unnecessary init/unset
+ cycles which all go through the value table. There's a bunch
+ of places where we copy a value and then unset it in the next
+ line, instead of just taking over the source value.
+
2012-12-22 16:53:47 +0100 Thijs Vermeir <thijsvermeir@gmail.com>
* scripts/create-uninstalled-setup.sh:
@@ -632,44 +3047,33 @@
Add an OTHER clock type so that subclasses are able to mark themselves as
using some other clock source than the realtime or monotonic clock.
-=== release 1.0.4 ===
+2012-12-20 13:31:02 +0100 Branko Subasic <branko@axis.com>
-2012-12-18 17:25:34 +0000 Tim-Philipp Müller <tim@centricular.net>
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: correct overrun handling
+ The control of wheteher a SingleQueue is full is not correct.
+ Rewrote single_queue_overrun_cb() so it checks the correct variables
+ when checking if the queue has reached the hard limits, and to
+ increase the max buffer limit once for each call.
+ https://bugzilla.gnome.org/show_bug.cgi?id=690557
- * ChangeLog:
- * NEWS:
- * RELEASE:
- * configure.ac:
- * docs/plugins/inspect/plugin-coreelements.xml:
- * gstreamer.doap:
- * win32/common/config.h:
- * win32/common/gstenumtypes.c:
- * win32/common/gstversion.h:
- Release 1.0.4
+2012-12-20 11:59:54 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
-2012-12-18 17:09:18 +0000 Tim-Philipp Müller <tim@centricular.net>
+ * plugins/elements/gstqueue2.c:
+ queue2: implement buffering query for all modes
+ Also implement the buffering query for STREAM mode.
- * po/LINGUAS:
- * po/de.po:
- * po/fr.po:
- * po/gl.po:
- * po/hr.po:
- * po/hu.po:
- * po/id.po:
- * po/nl.po:
- * po/pl.po:
- * po/ru.po:
- * po/uk.po:
- * po/vi.po:
- * po/zh_CN.po:
- po: update translations
+2012-12-20 11:30:25 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
-2012-12-14 11:09:30 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+ * plugins/elements/gstqueue2.c:
+ queue2: refactor buffering percent and stats
+ Make methods to get the current buffering percent and the stats. We will use
+ this in the query later.
- * gst/gstsample.c:
- * gst/gststructure.c:
- add debug category
- Adding a debug category is nicer than logging to the default category
+2012-12-13 13:47:29 +0100 Arnaud Vrac <avrac@freebox.fr>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: fix invalid output timestamps in some cases
2012-12-14 15:22:27 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
@@ -682,6 +3086,23 @@
* plugins/elements/gstoutputselector.c:
NEWSEGMENT -> SEGMENT
+2012-12-14 14:03:43 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/plugins/gstreamer-plugins.args:
+ * docs/plugins/gstreamer-plugins.prerequisites:
+ * docs/plugins/gstreamer-plugins.signals:
+ * docs/plugins/inspect/plugin-coreelements.xml:
+ * docs/random/porting-to-1.0.txt:
+ docs: update plugin docs
+ Update args/signals etc.
+
+2012-12-14 11:09:30 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstsample.c:
+ * gst/gststructure.c:
+ add debug category
+ Adding a debug category is nicer than logging to the default category
+
2012-12-14 11:08:57 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
* gst/gstelement.c:
@@ -695,16 +3116,40 @@
successfull calls to _start are paired with a _stop.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687845
+2012-12-12 16:44:14 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * libs/gst/base/Makefile.am:
+ * libs/gst/base/base.h:
+ * libs/gst/base/gstbase.h:
+ * libs/gst/check/Makefile.am:
+ * libs/gst/check/check.h:
+ * libs/gst/check/gstcheck.h:
+ * libs/gst/controller/Makefile.am:
+ * libs/gst/controller/controller.h:
+ * libs/gst/controller/gstcontroller.h:
+ * libs/gst/net/Makefile.am:
+ * libs/gst/net/net.h:
+ libs: Use foo/foo.h as single-include header consistently everywhere
+ https://bugzilla.gnome.org/show_bug.cgi?id=688785
+
+2012-12-11 16:46:18 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: pass DTS and PTS to handle_buffer
+ This makes it handle the timestamps correctly and avoids using a wrong timestamp
+ for the output.
+
2012-12-11 16:46:01 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
* libs/gst/base/gstbaseparse.c:
baseparse: improve debug
Add pts and dts in debug log
-2012-11-26 00:51:38 +0000 Tim-Philipp Müller <tim@centricular.net>
+2012-11-03 16:59:39 +0000 Andrzej Bieniek <andyhelp@gmail.com>
- * docs/gst/gstreamer-sections.txt:
- docs: clean up sections file for pad probe defines that moved into enum
+ * tools/gst-launch.c:
+ gst-launch: report execution time in GST_TIME_FORMAT
+ https://bugzilla.gnome.org/show_bug.cgi?id=687523
2012-12-10 11:55:42 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
@@ -738,15 +3183,65 @@
* gst/gstmessage.c:
message: add reset-time type string
+2012-11-30 10:41:36 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/gstbin.c:
+ bin: remove some casts
+
2012-11-28 18:08:52 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* docs/random/porting-to-1.0.txt:
docs: add link to python porting doc and app dev manual to porting-to-1.0.txt
+2012-11-28 17:36:55 +0100 Edward Hervey <bilboed@bilboed.com>
+
+ * configure.ac:
+ configure.ac: Update libtool versioning
+ In order for 1.x and 1.(x+1) versions to not invade on each other
+ we need to have different lib versions.
+ So we need a consistent and predictable scheme:
+ library version number = MINOR * 100 + MICRO
+ Ex:
+ 1.0.0 => 0 (duh)
+ 1.0.3 => 3
+ 1.1.0 => 100
+ 1.1.1 => 101
+ 1.2.0 => 120
+ 1.10.5 => 1005
+ ....
+
2012-11-26 18:16:52 -0500 Luis de Bethencourt <luis@debethencourt.com>
* scripts/gst-uninstalled:
- gst-uninstalled: add gst-editing-services to PKG_CONFIG_PATH
+ add gst-editing-services to PKG_CONFIG_PATH
+
+2012-11-26 00:51:38 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/gst/gstreamer-sections.txt:
+ docs: clean up sections file for pad probe defines that moved into enum
+
+2012-11-26 00:20:26 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * common:
+ * gst/Makefile.am:
+ * pkgconfig/gstreamer-uninstalled.pc.in:
+ * pkgconfig/gstreamer.pc.in:
+ gst: don't require gthread-2.0
+ We don't need to link to gthread-2.0 any longer, since all
+ the normal thread-related stuff is in GLib proper, and we
+ don't use g_thread_init() any more.
+ https://bugzilla.gnome.org/show_bug.cgi?id=689043
+
+2012-11-25 23:42:57 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * configure.ac:
+ * pkgconfig/gstreamer-uninstalled.pc.in:
+ * pkgconfig/gstreamer.pc.in:
+ gstreamer-1.0.pc: move gmodule-no-export-2.0 dependency to Requires.private
+ Users of GStreamer are not generally expected to use the GModule API
+ directly. so don't force them all to link against it.
+ While we're at it, no need to define this via configure.ac really, just
+ put the dependencies directly into the .pc.in file.
2012-11-25 23:26:47 +0000 Tim-Philipp Müller <tim@centricular.net>
@@ -757,6 +3252,12 @@
It's been deprecated since GLib 2.32 and isn't needed any
longer.
+2012-11-25 18:11:38 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/base/gstdataqueue.c:
+ dataqueue: reduce debug log spam a bit
+ Log locking/unlocking with TRACE debug level.
+
2012-11-23 21:09:45 +0100 Alessandro Decina <alessandro.d@gmail.com>
* gst/gstevent.c:
@@ -767,6 +3268,17 @@
* gst/gstpad.h:
pad: document more pad probe values
+2012-11-23 13:34:24 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/check/gsttestclock.h:
+ testclock: remove unnecessary include
+
+2012-11-23 13:32:07 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * tests/check/gst/gstclock.c:
+ tests: fix clock unit test build failure after header changes
+ https://bugzilla.gnome.org/show_bug.cgi?id=688785
+
2012-11-23 12:47:25 +0000 Tim-Philipp Müller <tim@centricular.net>
* gst/gstpad.h:
@@ -780,27 +3292,21 @@
pad: Put all of the probe types in the enum so they work with bindings
https://bugzilla.gnome.org/show_bug.cgi?id=688804
-2012-11-21 12:52:51 +0000 Tim-Philipp Müller <tim@centricular.net>
+2012-11-20 23:13:33 -0800 Evan Nemerson <evan@coeus-group.com>
- * configure.ac:
- * docs/plugins/inspect/plugin-coreelements.xml:
- * win32/common/config.h:
- * win32/common/gstversion.h:
- Back to development (bug-fixing)
+ * libs/gst/base/Makefile.am:
+ * libs/gst/base/gstbase.h:
+ * libs/gst/check/Makefile.am:
+ * libs/gst/check/gstcheck.h:
+ * libs/gst/controller/Makefile.am:
+ * libs/gst/controller/gstcontroller.h:
+ * libs/gst/net/gstnet.h:
+ libs: Add missing single include headers and use them in GIRs
-=== release 1.0.3 ===
+2012-11-20 16:34:28 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
-2012-11-21 09:31:07 +0000 Tim-Philipp Müller <tim@centricular.net>
-
- * ChangeLog:
- * NEWS:
- * RELEASE:
- * configure.ac:
- * docs/plugins/inspect/plugin-coreelements.xml:
- * gstreamer.doap:
- * win32/common/config.h:
- * win32/common/gstversion.h:
- Release 1.0.3
+ * tests/check/libs/gsttestclock.c:
+ tests: don't use deprecated thread API
2012-11-20 16:19:52 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
@@ -813,11 +3319,72 @@
basesink: reset START_TIME when needed
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685870
+2012-11-20 15:37:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstvalue.h:
+ value: Make G-I happy by hiding gst_g_thread_get_type()
+
+2012-11-20 15:07:37 +0100 Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
+
+ * gstreamer.spec.in:
+ Remove xfig from spec file
+
+2012-11-20 15:06:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstvalue.c:
+ value: Use the GLib GType for GThread if compiling against GLib 2.35.3 or newer
+
+2012-11-20 12:56:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gst.c:
+ gst: Don't set the locale in gst_init()
+ The function init_pre() in gstreamer/gst/gst.c calls setlocale(LC_ALL, ""),
+ which sets the locale to the values specified in the environment. This is
+ wrong for two reasons:
+ 1. It is absolutely not the task of a library to decide on the correct locale
+ for a program. Some programs change the locale for various (good or bad)
+ reasons, and libraries should respect that. Programs where GStreamer's
+ overwriting of the locale causes bugs include Emacs [1, 2], Sublime Text [3],
+ and Lua [4].
+ [1] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12392
+ [2] http://bugzilla.novell.com/show_bug.cgi?id=779426
+ [3] http://www.sublimetext.com/forum/viewtopic.php?f=3&t=8543
+ [4] https://github.com/pavouk/lgi/issues/19
+ Note that setting the locale can cause problems for programs that are not even
+ linked against GStreamer. In the case of Emacs, for example, GStreamer seems
+ to be initialized through GTK via libcanberra.
+ 2. Setting the locale is not thread-safe, and therefore should not be done in a
+ library.
+ https://bugzilla.gnome.org/show_bug.cgi?id=685650
+
2012-11-16 19:41:48 +0100 Arnaud Vrac <avrac@freebox.fr>
* libs/gst/base/gstbaseparse.c:
baseparse: forward stream-start event in push mode
+2012-11-19 13:38:30 +0100 Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
+
+ * docs/README:
+ * docs/manual/state-diagram.fig:
+ * docs/random/wtay/player.fig:
+ Remove two last .fig files from build, they are now replaced with .svg files. That said I don't think either .fig file was still being used anywhere. With this change and the one in common GStreamer no longer depends on xfig.
+
+2012-11-19 13:16:48 +0100 Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
+
+ Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gstreamer
+
+2012-11-19 11:23:32 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * common:
+ Automatic update of common submodule
+ From b497c4f to a72faea
+
+2012-11-19 11:45:07 +0100 Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
+
+ * docs/manual/state-diagram.svg:
+ * docs/random/wtay/player.svg:
+ Add SVG versions of .fig file
+
2012-11-17 10:27:11 +0000 Tim-Philipp Müller <tim@centricular.net>
* tests/examples/manual/Makefile.am:
@@ -831,6 +3398,143 @@
inputselector: fix clock leak in wait_running_time
https://bugzilla.gnome.org/show_bug.cgi?id=688477
+2012-11-17 00:13:14 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstcompat.h:
+ gstcompat.h: move more deprecated API into the deprecated section
+ https://bugzilla.gnome.org/show_bug.cgi?id=675598
+
+2012-11-14 12:20:54 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst/gsttask.c:
+ task: documentation update
+ GStaticRecMutex usage has been replaced by GRecMutex, reflect this
+ change in the documentation.
+
+2012-11-14 10:55:15 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/check/gsttestclock.c:
+ testclock: port to new GLib threading API
+
+2012-11-13 23:11:34 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstcompat.h:
+ * libs/gst/base/gstadapter.c:
+ * tests/check/libs/adapter.c:
+ tests: gst_adapter_prev_timestamp -> gst_adapter_prev_pts
+ https://bugzilla.gnome.org/show_bug.cgi?id=675598
+
+2012-11-13 22:42:05 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/check/gsttestclock.c:
+ * libs/gst/check/gsttestclock.h:
+ * tests/check/libs/.gitignore:
+ testclock: minor cleanups, add since markers for gtk-doc
+ https://bugzilla.gnome.org/show_bug.cgi?id=683012
+
+2012-08-30 01:58:41 +0200 Sebastian Rasmussen <sebrn@axis.com>
+
+ * docs/libs/gstreamer-libs-sections.txt:
+ * libs/gst/check/Makefile.am:
+ * libs/gst/check/gsttestclock.c:
+ * libs/gst/check/gsttestclock.h:
+ * tests/check/libs/gsttestclock.c:
+ check: allow GstTestClock to handle clock notifications
+ API: gst_test_clock_peek_id_count()
+ API: gst_test_clock_has_id()
+ API: gst_test_clock_peek_next_pending_id()
+ API: gst_test_clock_wait_for_next_pending_id()
+ API: gst_test_clock_wait_for_pending_id_count()
+ API: gst_test_clock_process_next_clock_id()
+ API: gst_test_clock_get_next_entry_time()
+ https://bugzilla.gnome.org/show_bug.cgi?id=683012
+
+2012-11-13 21:29:01 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/check/Makefile.am:
+ check: add dependency on gstcheck header files for exports.sym
+ So exports.sym gets updated correctly, and our new symbols get
+ exported correctly, which makes g-ir-scanner much happier in
+ terms of linking.
+ https://bugzilla.gnome.org/show_bug.cgi?id=683012
+
+2012-08-29 16:11:10 +0200 Sebastian Rasmussen <sebrn@axis.com>
+
+ * docs/libs/Makefile.am:
+ * docs/libs/gstreamer-libs-docs.sgml:
+ * docs/libs/gstreamer-libs-sections.txt:
+ * docs/libs/gstreamer-libs.types:
+ * libs/gst/check/Makefile.am:
+ * libs/gst/check/gsttestclock.c:
+ * libs/gst/check/gsttestclock.h:
+ * tests/check/Makefile.am:
+ * tests/check/libs/gsttestclock.c:
+ check: add GstTestClock as a deterministic clock for testing
+ API: GstTestClock
+ API: gst_test_clock_new()
+ API: gst_test_clock_new_with_start_time()
+ API: gst_test_clock_set_time()
+ API: gst_test_clock_advance_time()
+ https://bugzilla.gnome.org/show_bug.cgi?id=683012
+
+2012-11-09 21:10:42 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/base/gstbasesrc.c:
+ basesrc: fix debug message
+
+2012-11-08 20:22:19 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gststructure.h:
+ structure: re-indent header file
+ Tabs to spaces.
+
+2012-11-12 11:40:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst/gstvalue.c:
+ * gst/gstvalue.h:
+ * win32/common/libgstbase.def:
+ * win32/common/libgstreamer.def:
+ value: API: Add boxed type for GThread
+
+2012-11-12 10:30:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * tools/gst-inspect.c:
+ gst-inspect: Fix indention for printing typefinder features
+
+2012-11-12 01:40:42 +0100 Sebastian Rasmussen <sebrn@axis.com>
+
+ * gst/gstinfo.c:
+ info: fix compiler warning when debugging disabled
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688130
+
+2012-11-10 09:50:49 +0100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * plugins/elements/gstqueue.c:
+ queue: remove unused label. Fixes compiler warning.
+
+2012-10-29 12:08:31 +0000 Alessandro Decina <alessandro.d@gmail.com>
+
+ * plugins/elements/gstqueue.c:
+ * tests/check/elements/queue.c:
+ queue: don't fail in _sink_event for sticky events
+ Implement the same behaviour as gst_pad_push_event when pushing sticky events
+ fails, that is don't fail immediately but fail when data flow resumes and upstream
+ can aggregate properly.
+ This fixes segment seeks with decodebin and unlinked audio or video branches.
+ Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=687899
+
+2012-11-09 16:50:50 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * libs/gst/base/gstbasesink.c:
+ * libs/gst/base/gstbasesink.h:
+ basesink: add simple rate control
+ Add a max-bitrate property that will slightly delay rendering of buffers if it
+ would exceed the maximum defined bitrate. This can be used to do
+ rate control on network sinks, for example.
+ API: GstBaseSink::max-bitrate
+ API: gst_base_sink_set_max_bitrate()
+ API: gst_base_sink_get_max_bitrate()
+
2012-11-08 15:33:01 +1100 Matthew Waters <ystreet00@gmail.com>
* gst/gstbufferpool.c:
@@ -838,6 +3542,416 @@
Fixes deadlock on Windows
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687896
+2012-11-07 18:15:11 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * configure.ac:
+ configure: update courtesy of autoupdate
+
+2012-11-07 17:59:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * common:
+ common: update for AG_GST_PLUGIN_DOCS python checks
+
+2012-11-06 18:29:28 +0100 Olivier Crête <olivier.crete@collabora.com>
+
+ * docs/gst/running.xml:
+ * tools/gst-launch.1.in:
+ Document GST_DEBUG_FILE
+
+2012-11-06 17:03:47 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * tools/gst-inspect.c:
+ gst-inspect: fix alignment of rank, etc.
+
+2012-11-06 16:58:04 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * plugins/elements/gstelements.c:
+ elements: fix leading space in plugin description string
+
+2012-11-03 20:44:48 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * COPYING:
+ * docs/random/LICENSE:
+ * gst/gettext.h:
+ * gst/glib-compat-private.h:
+ * gst/glib-compat.c:
+ * gst/glib-compat.h:
+ * gst/gst-i18n-app.h:
+ * gst/gst-i18n-lib.h:
+ * gst/gst.c:
+ * gst/gst.h:
+ * gst/gst_private.h:
+ * gst/gstallocator.c:
+ * gst/gstallocator.h:
+ * gst/gstatomicqueue.c:
+ * gst/gstatomicqueue.h:
+ * gst/gstbin.c:
+ * gst/gstbin.h:
+ * gst/gstbuffer.c:
+ * gst/gstbuffer.h:
+ * gst/gstbufferlist.c:
+ * gst/gstbufferlist.h:
+ * gst/gstbufferpool.c:
+ * gst/gstbufferpool.h:
+ * gst/gstbus.c:
+ * gst/gstbus.h:
+ * gst/gstcaps.c:
+ * gst/gstcaps.h:
+ * gst/gstchildproxy.c:
+ * gst/gstchildproxy.h:
+ * gst/gstclock.c:
+ * gst/gstclock.h:
+ * gst/gstcompat.h:
+ * gst/gstconfig.h.in:
+ * gst/gstcontrolbinding.c:
+ * gst/gstcontrolbinding.h:
+ * gst/gstcontrolsource.c:
+ * gst/gstcontrolsource.h:
+ * gst/gstdatetime.c:
+ * gst/gstdatetime.h:
+ * gst/gstdebugutils.c:
+ * gst/gstdebugutils.h:
+ * gst/gstelement.c:
+ * gst/gstelement.h:
+ * gst/gstelementfactory.c:
+ * gst/gstelementfactory.h:
+ * gst/gstelementmetadata.h:
+ * gst/gsterror.c:
+ * gst/gsterror.h:
+ * gst/gstevent.c:
+ * gst/gstevent.h:
+ * gst/gstformat.c:
+ * gst/gstformat.h:
+ * gst/gstghostpad.c:
+ * gst/gstghostpad.h:
+ * gst/gstinfo.c:
+ * gst/gstinfo.h:
+ * gst/gstiterator.c:
+ * gst/gstiterator.h:
+ * gst/gstmacros.h:
+ * gst/gstmemory.c:
+ * gst/gstmemory.h:
+ * gst/gstmessage.c:
+ * gst/gstmessage.h:
+ * gst/gstmeta.c:
+ * gst/gstmeta.h:
+ * gst/gstminiobject.c:
+ * gst/gstminiobject.h:
+ * gst/gstobject.c:
+ * gst/gstobject.h:
+ * gst/gstpad.c:
+ * gst/gstpad.h:
+ * gst/gstpadtemplate.c:
+ * gst/gstpadtemplate.h:
+ * gst/gstparamspecs.c:
+ * gst/gstparamspecs.h:
+ * gst/gstparse.c:
+ * gst/gstparse.h:
+ * gst/gstpipeline.c:
+ * gst/gstpipeline.h:
+ * gst/gstplugin.c:
+ * gst/gstplugin.h:
+ * gst/gstpluginfeature.c:
+ * gst/gstpluginfeature.h:
+ * gst/gstpluginloader.c:
+ * gst/gstpluginloader.h:
+ * gst/gstpoll.c:
+ * gst/gstpoll.h:
+ * gst/gstpreset.c:
+ * gst/gstpreset.h:
+ * gst/gstquark.c:
+ * gst/gstquark.h:
+ * gst/gstquery.c:
+ * gst/gstquery.h:
+ * gst/gstregistry.c:
+ * gst/gstregistry.h:
+ * gst/gstregistrybinary.c:
+ * gst/gstregistrybinary.h:
+ * gst/gstregistrychunks.c:
+ * gst/gstregistrychunks.h:
+ * gst/gstsample.c:
+ * gst/gstsample.h:
+ * gst/gstsegment.c:
+ * gst/gstsegment.h:
+ * gst/gststructure.c:
+ * gst/gststructure.h:
+ * gst/gstsystemclock.c:
+ * gst/gstsystemclock.h:
+ * gst/gsttaglist.c:
+ * gst/gsttaglist.h:
+ * gst/gsttagsetter.c:
+ * gst/gsttagsetter.h:
+ * gst/gsttask.c:
+ * gst/gsttask.h:
+ * gst/gsttaskpool.c:
+ * gst/gsttaskpool.h:
+ * gst/gsttoc.c:
+ * gst/gsttoc.h:
+ * gst/gsttocsetter.c:
+ * gst/gsttocsetter.h:
+ * gst/gsttrace.c:
+ * gst/gsttrace.h:
+ * gst/gsttypefind.c:
+ * gst/gsttypefind.h:
+ * gst/gsttypefindfactory.c:
+ * gst/gsttypefindfactory.h:
+ * gst/gsturi.c:
+ * gst/gsturi.h:
+ * gst/gstutils.c:
+ * gst/gstutils.h:
+ * gst/gstvalue.c:
+ * gst/gstvalue.h:
+ * gst/gstversion.h.in:
+ * gst/math-compat.h:
+ * libs/gst/base/gstadapter.c:
+ * libs/gst/base/gstadapter.h:
+ * libs/gst/base/gstbaseparse.c:
+ * libs/gst/base/gstbaseparse.h:
+ * libs/gst/base/gstbasesink.c:
+ * libs/gst/base/gstbasesink.h:
+ * libs/gst/base/gstbasesrc.c:
+ * libs/gst/base/gstbasesrc.h:
+ * libs/gst/base/gstbasetransform.c:
+ * libs/gst/base/gstbasetransform.h:
+ * libs/gst/base/gstbitreader-docs.h:
+ * libs/gst/base/gstbitreader.c:
+ * libs/gst/base/gstbitreader.h:
+ * libs/gst/base/gstbytereader-docs.h:
+ * libs/gst/base/gstbytereader.c:
+ * libs/gst/base/gstbytereader.h:
+ * libs/gst/base/gstbytewriter-docs.h:
+ * libs/gst/base/gstbytewriter.c:
+ * libs/gst/base/gstbytewriter.h:
+ * libs/gst/base/gstcollectpads.c:
+ * libs/gst/base/gstcollectpads.h:
+ * libs/gst/base/gstdataqueue.c:
+ * libs/gst/base/gstdataqueue.h:
+ * libs/gst/base/gstindex.c:
+ * libs/gst/base/gstindex.h:
+ * libs/gst/base/gstmemindex.c:
+ * libs/gst/base/gstpushsrc.c:
+ * libs/gst/base/gstpushsrc.h:
+ * libs/gst/base/gstqueuearray.c:
+ * libs/gst/base/gstqueuearray.h:
+ * libs/gst/base/gsttypefindhelper.c:
+ * libs/gst/base/gsttypefindhelper.h:
+ * libs/gst/check/gstbufferstraw.c:
+ * libs/gst/check/gstbufferstraw.h:
+ * libs/gst/check/gstcheck.c:
+ * libs/gst/check/gstcheck.h:
+ * libs/gst/check/gstconsistencychecker.c:
+ * libs/gst/check/gstconsistencychecker.h:
+ * libs/gst/check/libcheck/check.c:
+ * libs/gst/check/libcheck/check.h.in:
+ * libs/gst/check/libcheck/check_error.c:
+ * libs/gst/check/libcheck/check_error.h:
+ * libs/gst/check/libcheck/check_impl.h:
+ * libs/gst/check/libcheck/check_list.c:
+ * libs/gst/check/libcheck/check_list.h:
+ * libs/gst/check/libcheck/check_log.c:
+ * libs/gst/check/libcheck/check_log.h:
+ * libs/gst/check/libcheck/check_msg.c:
+ * libs/gst/check/libcheck/check_msg.h:
+ * libs/gst/check/libcheck/check_pack.c:
+ * libs/gst/check/libcheck/check_pack.h:
+ * libs/gst/check/libcheck/check_print.c:
+ * libs/gst/check/libcheck/check_print.h:
+ * libs/gst/check/libcheck/check_run.c:
+ * libs/gst/check/libcheck/check_str.c:
+ * libs/gst/check/libcheck/check_str.h:
+ * libs/gst/controller/gstargbcontrolbinding.c:
+ * libs/gst/controller/gstargbcontrolbinding.h:
+ * libs/gst/controller/gstdirectcontrolbinding.c:
+ * libs/gst/controller/gstdirectcontrolbinding.h:
+ * libs/gst/controller/gstinterpolationcontrolsource.c:
+ * libs/gst/controller/gstinterpolationcontrolsource.h:
+ * libs/gst/controller/gstlfocontrolsource.c:
+ * libs/gst/controller/gstlfocontrolsource.h:
+ * libs/gst/controller/gsttimedvaluecontrolsource.c:
+ * libs/gst/controller/gsttimedvaluecontrolsource.h:
+ * libs/gst/controller/gsttriggercontrolsource.c:
+ * libs/gst/controller/gsttriggercontrolsource.h:
+ * libs/gst/helpers/gst-plugin-scanner.c:
+ * libs/gst/net/gstnet.h:
+ * libs/gst/net/gstnetaddressmeta.c:
+ * libs/gst/net/gstnetaddressmeta.h:
+ * libs/gst/net/gstnetclientclock.c:
+ * libs/gst/net/gstnetclientclock.h:
+ * libs/gst/net/gstnettimepacket.c:
+ * libs/gst/net/gstnettimepacket.h:
+ * libs/gst/net/gstnettimeprovider.c:
+ * libs/gst/net/gstnettimeprovider.h:
+ * plugins/elements/gstcapsfilter.c:
+ * plugins/elements/gstcapsfilter.h:
+ * plugins/elements/gstelements.c:
+ * plugins/elements/gstfakesink.c:
+ * plugins/elements/gstfakesink.h:
+ * plugins/elements/gstfakesrc.c:
+ * plugins/elements/gstfakesrc.h:
+ * plugins/elements/gstfdsink.c:
+ * plugins/elements/gstfdsink.h:
+ * plugins/elements/gstfdsrc.c:
+ * plugins/elements/gstfdsrc.h:
+ * plugins/elements/gstfilesink.c:
+ * plugins/elements/gstfilesink.h:
+ * plugins/elements/gstfilesrc.c:
+ * plugins/elements/gstfilesrc.h:
+ * plugins/elements/gstidentity.c:
+ * plugins/elements/gstidentity.h:
+ * plugins/elements/gstinputselector.c:
+ * plugins/elements/gstinputselector.h:
+ * plugins/elements/gstmultiqueue.c:
+ * plugins/elements/gstmultiqueue.h:
+ * plugins/elements/gstoutputselector.c:
+ * plugins/elements/gstoutputselector.h:
+ * plugins/elements/gstqueue.c:
+ * plugins/elements/gstqueue.h:
+ * plugins/elements/gstqueue2.c:
+ * plugins/elements/gstqueue2.h:
+ * plugins/elements/gsttee.c:
+ * plugins/elements/gsttee.h:
+ * plugins/elements/gsttypefindelement.c:
+ * plugins/elements/gsttypefindelement.h:
+ * plugins/elements/gstvalve.c:
+ * plugins/elements/gstvalve.h:
+ * scripts/create-uninstalled-setup.sh:
+ * scripts/five-bugs-a-day.pl:
+ * tests/benchmarks/caps.c:
+ * tests/benchmarks/capsnego.c:
+ * tests/benchmarks/complexity.c:
+ * tests/benchmarks/controller.c:
+ * tests/benchmarks/gstbufferstress.c:
+ * tests/benchmarks/gstclockstress.c:
+ * tests/benchmarks/gstpollstress.c:
+ * tests/benchmarks/init.c:
+ * tests/benchmarks/mass-elements.c:
+ * tests/check/elements/capsfilter.c:
+ * tests/check/elements/fakesink.c:
+ * tests/check/elements/fakesrc.c:
+ * tests/check/elements/fdsrc.c:
+ * tests/check/elements/filesink.c:
+ * tests/check/elements/filesrc.c:
+ * tests/check/elements/identity.c:
+ * tests/check/elements/multiqueue.c:
+ * tests/check/elements/queue.c:
+ * tests/check/elements/queue2.c:
+ * tests/check/elements/selector.c:
+ * tests/check/elements/tee.c:
+ * tests/check/elements/valve.c:
+ * tests/check/generic/sinks.c:
+ * tests/check/generic/states.c:
+ * tests/check/gst/gst.c:
+ * tests/check/gst/gstabi.c:
+ * tests/check/gst/gstatomicqueue.c:
+ * tests/check/gst/gstbin.c:
+ * tests/check/gst/gstbuffer.c:
+ * tests/check/gst/gstbufferlist.c:
+ * tests/check/gst/gstbus.c:
+ * tests/check/gst/gstcaps.c:
+ * tests/check/gst/gstchildproxy.c:
+ * tests/check/gst/gstclock.c:
+ * tests/check/gst/gstcontroller.c:
+ * tests/check/gst/gstdatetime.c:
+ * tests/check/gst/gstelement.c:
+ * tests/check/gst/gstelementfactory.c:
+ * tests/check/gst/gstevent.c:
+ * tests/check/gst/gstghostpad.c:
+ * tests/check/gst/gstindex.c:
+ * tests/check/gst/gstinfo.c:
+ * tests/check/gst/gstiterator.c:
+ * tests/check/gst/gstmemory.c:
+ * tests/check/gst/gstmessage.c:
+ * tests/check/gst/gstmeta.c:
+ * tests/check/gst/gstminiobject.c:
+ * tests/check/gst/gstobject.c:
+ * tests/check/gst/gstpad.c:
+ * tests/check/gst/gstparamspecs.c:
+ * tests/check/gst/gstpipeline.c:
+ * tests/check/gst/gstplugin.c:
+ * tests/check/gst/gstpoll.c:
+ * tests/check/gst/gstpreset.c:
+ * tests/check/gst/gstquery.c:
+ * tests/check/gst/gstregistry.c:
+ * tests/check/gst/gstsegment.c:
+ * tests/check/gst/gststructure.c:
+ * tests/check/gst/gstsystemclock.c:
+ * tests/check/gst/gsttag.c:
+ * tests/check/gst/gsttagsetter.c:
+ * tests/check/gst/gsttask.c:
+ * tests/check/gst/gsttoc.c:
+ * tests/check/gst/gsttocsetter.c:
+ * tests/check/gst/gsturi.c:
+ * tests/check/gst/gstutils.c:
+ * tests/check/gst/gstvalue.c:
+ * tests/check/libs/adapter.c:
+ * tests/check/libs/basesink.c:
+ * tests/check/libs/basesrc.c:
+ * tests/check/libs/bitreader.c:
+ * tests/check/libs/bytereader.c:
+ * tests/check/libs/bytewriter.c:
+ * tests/check/libs/collectpads.c:
+ * tests/check/libs/controller.c:
+ * tests/check/libs/gstlibscpp.cc:
+ * tests/check/libs/gstnetclientclock.c:
+ * tests/check/libs/gstnettimeprovider.c:
+ * tests/check/libs/libsabi.c:
+ * tests/check/libs/queuearray.c:
+ * tests/check/libs/transform1.c:
+ * tests/check/libs/typefindhelper.c:
+ * tests/check/pipelines/cleanup.c:
+ * tests/check/pipelines/parse-disabled.c:
+ * tests/check/pipelines/parse-launch.c:
+ * tests/check/pipelines/queue-error.c:
+ * tests/check/pipelines/seek.c:
+ * tests/check/pipelines/simple-launch-lines.c:
+ * tests/check/pipelines/stress.c:
+ * tests/check/tools/gstinspect.c:
+ * tests/examples/memory/my-memory.c:
+ * tests/examples/memory/my-memory.h:
+ * tests/examples/memory/my-vidmem.c:
+ * tests/examples/memory/my-vidmem.h:
+ * tests/examples/metadata/read-metadata.c:
+ * tests/examples/streams/testrtpool.c:
+ * tests/examples/streams/testrtpool.h:
+ * tests/examples/typefind/typefind.c:
+ * tests/misc/network-clock-utils.scm:
+ * tests/misc/network-clock.scm:
+ * tools/gst-inspect.c:
+ * tools/gst-launch.c:
+ * tools/gst-typefind.c:
+ * tools/tools.h:
+ * win32/common/gstconfig.h:
+ * win32/common/gstversion.h:
+ Fix FSF address
+ https://bugzilla.gnome.org/show_bug.cgi?id=687520
+
+2012-10-31 19:33:30 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/plugins/gstreamer-plugins.args:
+ * plugins/elements/gstqueue.c:
+ * plugins/elements/gstqueue.h:
+ queue: add "flush-on-eos" property
+ In flush-on-eos=true mode any data remaining in the queue is
+ discarded when an EOS event is received, and the EOS passed
+ downstream as soon as possible (instead of waiting for all
+ buffers in the queue to get processed by downstream first).
+ May or may not be useful in capture/encoding scenarios.
+
+2012-10-31 18:32:38 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * common:
+ common: update for python detection
+ Fixes docs build.
+
+2012-10-31 17:37:37 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * common:
+ * configure.ac:
+ configure: let AG_GST_PLUGIN_DOCS check for python
+ And update common for move from AS_PATH_PYTHON to AM_PATH_PYTHON,
+ which as a side-effect should pick up newer python versions as well.
+ https://bugzilla.gnome.org/show_bug.cgi?id=563903
+
2012-10-30 10:04:44 +1100 Jan Schmidt <thaytan@noraisin.net>
* libs/gst/base/gstcollectpads.c:
@@ -849,6 +3963,23 @@
* plugins/elements/gstmultiqueue.c:
multiqueue: Add EOS status to debug output about filled/unfilled
+2012-10-22 00:31:09 +1100 Jan Schmidt <thaytan@noraisin.net>
+
+ * tests/check/libs/collectpads.c:
+ check: Add a simple test for the CollectPads buffer collect callback
+
+2012-10-29 13:26:10 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * libs/gst/base/Makefile.am:
+ * libs/gst/check/Makefile.am:
+ * libs/gst/controller/Makefile.am:
+ * libs/gst/net/Makefile.am:
+ g-i: fix "can't resolve libraries to shared libraries: gstcheck-1.0" build error
+ Revert --library=libfoo-1.0.la -> --library=foo-1.0 change made
+ in previous commit. Turns out that was wrong, despite what the
+ man page says.
+ https://bugzilla.gnome.org/show_bug.cgi?id=603710
+
2012-10-29 11:30:30 +0000 Tim-Philipp Müller <tim@centricular.net>
* gst/gstutils.c:
@@ -866,13 +3997,88 @@
entries.
https://bugzilla.gnome.org/show_bug.cgi?id=666053
-2012-10-25 12:03:18 +0100 Tim-Philipp Müller <tim@centricular.net>
+2012-10-28 17:17:49 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * libs/gst/base/Makefile.am:
+ * libs/gst/check/Makefile.am:
+ * libs/gst/controller/Makefile.am:
+ * libs/gst/net/Makefile.am:
+ libs: g-i: avoid multiple libraries in the shared-library tag
+ Using multiple libraries causes problems for the C# bindings and
+ will for similiar languages such as Java when there are bindings
+ for them.
+ Also change --library=libgstfoo-X.la to --library=gstfoo-X as
+ the man page suggests it should be done.
+ https://bugzilla.gnome.org/show_bug.cgi?id=679315
+
+2012-10-28 15:53:19 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstpluginfeature.c:
+ * gst/gstpluginfeature.h:
+ * win32/common/libgstreamer.def:
+ pluginfeature: add gst_plugin_feature_get_plugin_name()
+ API: gst_plugin_feature_get_plugin_name()
+ https://bugzilla.gnome.org/show_bug.cgi?id=571832
+
+2012-10-27 14:40:14 +0100 Tim-Philipp Müller <tim@centricular.net>
+
+ * gst/gstinfo.c:
+ info: allow setting of GST_DEBUG levels by name
+ e.g. GST_DEBUG=*:INFO,*src:LOG
+
+2012-06-29 12:38:52 -0400 Thibault Saunier <thibault.saunier@collabora.com>
+
+ * gst/gst.c:
+ gst: make us of the new gst_debug_set_threshold_from_string function
+ https://bugzilla.gnome.org/show_bug.cgi?id=679152
+
+2012-06-29 12:05:36 -0400 Thibault Saunier <thibault.saunier@collabora.com>
+
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstinfo.c:
+ * gst/gstinfo.h:
+ * win32/common/libgstreamer.def:
+ info: add a function to set debug threshold from a GST_DEBUG-style string
+ Use the same format as with the GST_DEBUG environment variable.
+ API: gst_debug_set_threshold_from_string()
+ https://bugzilla.gnome.org/show_bug.cgi?id=679152
+
+2012-10-25 15:27:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * tests/check/libs/queuearray.c:
+ queuearray: Fix unit test
+
+2012-10-22 10:13:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * docs/libs/gstreamer-libs-docs.sgml:
+ * docs/libs/gstreamer-libs-sections.txt:
+ * libs/gst/base/Makefile.am:
+ * libs/gst/base/gstdataqueue.c:
+ * libs/gst/base/gstdataqueue.h:
+ * libs/gst/base/gstqueuearray.c:
+ * libs/gst/base/gstqueuearray.h:
+ * plugins/elements/Makefile.am:
+ * plugins/elements/gstdataqueue.c:
+ * plugins/elements/gstdataqueue.h:
+ * plugins/elements/gstmultiqueue.c:
+ * plugins/elements/gstmultiqueue.h:
+ * plugins/elements/gstqueue.c:
+ * plugins/elements/gstqueue.h:
+ * plugins/elements/gstqueuearray.c:
+ * plugins/elements/gstqueuearray.h:
+ * win32/common/libgstbase.def:
+ dataqueue/queuearray: Make public API again
+ These are actually used outside of coreelements nowadays.
+ Also hide lots of internals and add padding and documentation.
+
+2012-10-25 12:10:27 +0100 Tim-Philipp Müller <tim@centricular.net>
* configure.ac:
* docs/plugins/inspect/plugin-coreelements.xml:
* win32/common/config.h:
* win32/common/gstversion.h:
- Back to development (bug-fixing)
+ Back to feature development
=== release 1.0.2 ===
diff --git a/MAINTAINERS b/MAINTAINERS
index e27f34a..558ddff 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5,7 +5,8 @@ of people, including, but not limited to:
Wim Taymans <wim.taymans@gmail.com>
David Schleef <ds@schleef.org>
Tim-Philipp Müller <tim centricular net>
+ Sebastian Dröge <slomo circular-chaos org>
Maintainer-related issues should be addressed to:
- gstreamer-devel@lists.sourceforge.net
+ gstreamer-devel@lists.freedesktop.org
diff --git a/Makefile.in b/Makefile.in
index c26621d..5bbf783 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -27,23 +26,51 @@
# set CRUFT_FILES and/or CRUFT_DIRS in your Makefile.am when you include this
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -64,16 +91,16 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
@BUILD_TOOLS_TRUE@am__append_1 = tools
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
- $(srcdir)/gstreamer.spec.in $(srcdir)/stamp.h.in \
+DIST_COMMON = $(top_srcdir)/common/win32.mak \
+ $(top_srcdir)/common/release.mak $(top_srcdir)/common/po.mak \
$(top_srcdir)/common/coverage/lcov.mak \
- $(top_srcdir)/common/cruft.mak $(top_srcdir)/common/po.mak \
- $(top_srcdir)/common/release.mak \
- $(top_srcdir)/common/win32.mak $(top_srcdir)/configure \
- ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS TODO compile \
+ $(top_srcdir)/common/cruft.mak INSTALL NEWS README AUTHORS \
+ ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/config.h.in $(srcdir)/stamp.h.in \
+ $(srcdir)/gstreamer.spec.in ABOUT-NLS COPYING TODO compile \
config.guess config.rpath config.sub depcomp install-sh \
- ltmain.sh missing
+ missing ltmain.sh
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -81,7 +108,6 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -105,12 +131,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -119,21 +147,28 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = stamp.h gstreamer.spec
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -170,11 +205,33 @@ am__installdirs = "$(DESTDIR)$(aclocaldir)"
DATA = $(aclocal_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir dist dist-all distcheck
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+ $(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
+CSCOPE = cscope
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -184,6 +241,7 @@ am__remove_distdir = \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -211,6 +269,7 @@ am__relativize = \
reldir="$$dir2"
GZIP_ENV = --best
DIST_ARCHIVES = $(distdir).tar.xz
+DIST_TARGETS = dist-xz
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -315,15 +374,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -333,11 +388,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -345,6 +398,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -407,6 +461,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -674,22 +729,25 @@ uninstall-aclocalDATA:
dir='$(DESTDIR)$(aclocaldir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -704,57 +762,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -770,12 +783,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -787,15 +795,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -804,9 +808,31 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+ test ! -s cscope.files \
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+ -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
$(am__remove_distdir)
@@ -877,39 +903,35 @@ distdir: $(DISTFILES)
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
- $(am__remove_distdir)
-
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
- $(am__remove_distdir)
+dist dist-all:
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+ $(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
@@ -920,8 +942,6 @@ distcheck: dist
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
@@ -933,9 +953,9 @@ distcheck: dist
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod u+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
@@ -968,7 +988,7 @@ distcheck: dist
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
@@ -1108,14 +1128,13 @@ ps-am:
uninstall-am: uninstall-aclocalDATA
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- ctags-recursive install-am install-strip tags-recursive
+.MAKE: $(am__recursive_targets) all install-am install-strip
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am all-local am--refresh check check-am clean \
- clean-generic clean-libtool ctags ctags-recursive dist \
- dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-lzma \
- dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
+ am--refresh check check-am clean clean-cscope clean-generic \
+ clean-libtool cscope cscopelist-am ctags ctags-am dist \
+ dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
+ dist-tarZ dist-xz dist-zip distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-aclocalDATA \
@@ -1126,7 +1145,7 @@ uninstall-am: uninstall-aclocalDATA
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags tags-recursive uninstall uninstall-aclocalDATA \
+ ps ps-am tags tags-am uninstall uninstall-aclocalDATA \
uninstall-am
@@ -1170,11 +1189,17 @@ check-exports:
if test $$fail != 0; then \
echo '-----------------------------------------------------------'; \
echo 'Run this to update the .def files:'; \
- echo 'make check-exports 2>&1 | patch -p1'; \
+ echo 'make update-exports'; \
echo '-----------------------------------------------------------'; \
fi; \
exit $$fail
+update-exports:
+ make check-exports 2>&1 | patch -p1
+ git add win32/common/libgst*.def
+ git diff --cached -- win32/common/
+ echo '^^^--- updated and staged changes above'
+
# complain about nonportable printf format strings (%lld, %llu, %zu etc.)
check-nonportable-print-format:
@fail=0 ; \
@@ -1311,7 +1336,7 @@ check-enum-gettypes: $(top_builddir)/gst/gstenumtypes.h
done; \
exit 1; \
fi
-.PHONY: lcov-reset lcov lcov-run lcov-report lcov-upload
+.PHONY: lcov-reset lcov lcov-run lcov-report lcov-upload lcov-clean
# run lcov from scratch, always
lcov-reset:
@@ -1322,10 +1347,14 @@ lcov-reset:
lcov:
$(MAKE) lcov-reset
-# reset run coverage tests
-@GST_GCOV_ENABLED_TRUE@lcov-run:
+# reset lcov stats
+@GST_GCOV_ENABLED_TRUE@lcov-clean:
@GST_GCOV_ENABLED_TRUE@ @-rm -rf lcov
@GST_GCOV_ENABLED_TRUE@ lcov --directory . --zerocounters
+
+# reset run coverage tests
+@GST_GCOV_ENABLED_TRUE@lcov-run:
+@GST_GCOV_ENABLED_TRUE@ -$(MAKE) lcov-clean
@GST_GCOV_ENABLED_TRUE@ -if test -d tests/check; then $(MAKE) -C tests/check inspect; fi
@GST_GCOV_ENABLED_TRUE@ -$(MAKE) check
diff --git a/NEWS b/NEWS
index 7013149..7cbd2a8 100644
--- a/NEWS
+++ b/NEWS
@@ -1,145 +1,2 @@
-This is GStreamer 1.0.8
-
-Changes since 1.0.7:
-
- * basesink: improve position reporting without clock
- * fix caps leak in typefind/decodebin/playbin
- * gobject-introspection fixes for bindings
-
-Bugs fixed since 1.0.7:
-
- * 693365 : gst_structure_is_subset false positive
- * 702617 : buffer: Wrong size/index handling when merging memory
- * 702778 : REGRESSION : Backward seeking doesn't work with mp3 files.
- * 703562 : Missing few allow-none annotation
-
-Changes since 1.0.6:
-
- * Add better support for static plugins
-
-Bugs fixed since 1.0.6:
-
- * 667305 : build: Add --enable-static-plugins configure argument
- * 696357 : Basesrc may send not-neg error when flushed
- * 696435 : gst_static_caps_get(GST_STATIC_CAPS_NONE) doesn't work properly
- * 697791 : gst-inspect: shows action signal return pointers as pointers
-
-Changes since 1.0.5:
-
- * bin: reset GValue from iterator after usage, fixing leak
- * pipeline: fix seeking on pipeline with NULL clock
- * message: accept NULL error argument in gst_message_parse_{error,warning,info}
- * basesrc: handle renegotiation correctly
- * basesink: handle sync of EOS after item without duration
- * basetransform: avoid warnings from NULL outcaps passed to transform_size in shutdown race
- * adapter, basesrc, typefind: handle gst_buffer_map failure
- * queuearray: fix gst_queue_array_drop_element()
- * queuearray: fix gst_queue_array_find()
- * queue: remove query from queue if queue is flushing
- * g-i: make sure enumeration types and flags are introspected and available to bindings
- * g-i: add allow-none annotation for gst_pipeline_new()'s name property
-
-Bugs fixed since 1.0.5:
-
- * 684804 : basesink: fails to post EOS message with RTSP stream
- * 691185 : g-i: GStreamer enums and flags not usable - " expected enumeration type GstFormat, but got Format instead " warning when setting GstFormat property on GStreamer appsrc element
- * 691985 : gst_pad_check_reconfigure: only remove flag if set.
- * 691986 : basesrc: set NEED_RECONFIGURE flag if negotiate fails
- * 692691 : queue: dangling pointer when doing allocation query on a flushing queue
- * 692868 : basesink: expands GAP event without duration to last to segment end
- * 693065 : pipeline: criticals when seeking on pipeline with NULL clock
- * 693587 : Adding offset to GstSegment deserialize/serialize to fix jump on uninitialized value
- * 693704 : gst_message_parse_{warning,error} annotations wrongly claim allow-none for GError parameter
- * 693996 : basetransform: audioresample shutdown unit test fails with 'gst_audio_info_from_caps: caps != NULL' in transform_size
-
-Changes since 1.0.4:
-
- * add GST_BIN_FLAG_NO_RESYNC flag that disables a resync when
- an element is added, removed or linked in the bin; this is
- interesting for complex bins that dynamically add elements
- to themselves and want to manage the state of those elements
- without interference from state resync threads (which may
- cause deadlocks)
- * add OTHER clock type
-
-Bugs fixed since 1.0.4:
-
- * 690915 : Replace AM_CONFIG_HEADER with AC_CONFIG_HEADERS in configure.ac
-
-API additions since 1.0.4:
-
- * GST_BIN_FLAG_NO_RESYNC
- * GST_CLOCK_TYPE_OTHER
-
-Changes since 1.0.3:
-
- * basesrc: fix potential leaks when re-activating in a different mode
- * bindings: make all pad probe types work with bindings
- * bindings: fix gst_event_parse_stream_start() annotation, fixing crash
- * documentation improvements
-
-Bugs fixed since 1.0.3:
-
- * 687845 : filesrc: leaks file descriptor if activation in pull mode fails
- * 688804 : Getting error trying to add a pad_probe
- * 688934 : Gst.Event.parse_stream_start seems to not function correctly
-
-Changes since 1.0.2:
-
- * bufferpool: fix deadlock
- * baseparse: forward stream-start event in push mode, fixing issues with streamsynchronizer
- * basesink: reset START_TIME when needed, fixing position reporting after seeking beyond end
-
-Bugs fixed since 1.0.2:
-
- * 666053 : baseparse: prevent excessively high memory usage with large streams
- * 687896 : bufferpool: deadlock in GstBufferPool
- * 688477 : inputselector: fix clock leak in wait_running_time
- * 688511 : Windows compilers without pthreads still have testrtpool.c being built in tests
- * 688655 : baseparse: stream-start events not sent in push mode
- * 685870 : Regression with position when seeking beyond the media duration
-
-Changes since 1.0.1:
-
- * Parallel installability with 0.10.x series
- * collectpads: ensure all timestamps are in same time domain
- * gobject-introspection: fix GstSample annotations
- * add GstElement::post_message() vfunc
- * info: allow gst_debug_add_log_function() to be called before gst_init()
- * event: allow GST_CLOCK_TIME_NONE as duration for GAP events
- * documentation: new chapters and updates for the application development manual and the plugin writer's guide
-
-Bugs fixed since 1.0.1:
-
- * 686456 : g_type_init is no longer required
- * 686658 : allocator: fix memory leak in _fallback_mem_copy
- * 686659 : preset: remove variable not read
- * 686723 : basesrc: generic/states test in -base now hangs with appsrc
- * 686787 : testrtpool must be linked to pthreads
-
-Changes since 1.0.0:
-
- * Capsfilter prefers filter caps over passthrough now
- * Application Development Manual, Plugin Writer's Guide and other documentation updated and extended for 1.0
- * Bug fixes
-
-Bugs fixed since 1.0.0:
-
- * 680862 : identity with single-segment=true gives buffer.pts of CLOCK_TIME_NONE
- * 684538 : baseparse: no timestamps after seeking in mp3 or aac
- * 684755 : typo - whithin > within
- * 684765 : Plugins without a klass in the metadata crashes autoaudiosink
- * 684809 : proxypad don't hold a ref to their internal pad while streaming through it
- * 684970 : Don't register printf extension for %p when glib is not using system printf
- * 684981 : Pipeline hangs on PREROLLING negotiating caps
- * 685072 : memory: map(READ)/unmap clears the READONLY status
-
-API additions since 1.0.0:
-
- * gst_base_transform_set_prefer_passthrough()
-
-New features in 1.0.0:
-
- * Parallel installability with 0.10.x series
- * See release notes for more details
+This is GStreamer 1.1.2
diff --git a/README b/README
index 554653d..5df2d2b 100644
--- a/README
+++ b/README
@@ -1,3 +1,5 @@
+GStreamer 1.1.x development series
+
WHAT IT IS
----------
@@ -21,8 +23,8 @@ We track bugs in GNOME's bugzilla; see the website for details.
You can join us on IRC - #gstreamer on irc.freenode.org
-GStreamer 0.10 series
----------------------
+GStreamer 1.0 series
+--------------------
Starring
@@ -135,13 +137,14 @@ PLATFORMS
---------
- Linux is of course fully supported
-- FreeBSD is reported to work; other BSD's should work too
+- FreeBSD is reported to work; other BSDs should work too
- Solaris is reported to work; a specific sunaudiosink plugin has been written
-- MacOSX is reported to work; specific audio and video sinks have been written
-- Windows support is experimental but improving. Output sinks have been
- written but are not yet included in the code. We support
+- MacOSX works, binary 1.x packages can be built using the cerbero build tool
+- Windows works; binary 1.x packages can be built using the cerbero build tool
- MSys/MinGW builds
- - Microsoft Visual Studio 6 builds (see win32/README.txt)
+ - Microsoft Visual Studio builds are not yet available or supported
+- Android works, binary 1.x packages can be built using the cerbero build tool
+- iOS works
INSTALLING FROM PACKAGES
------------------------
@@ -193,7 +196,7 @@ COMPILING FROM SOURCE TARBALLS
COMPILING FROM GIT
------------------
-When building from git sources, you will need to run autogen.sh to generate
+When building from git sources, you will need to run autogen.sh to generate
the build system files.
You will need a set of additional tools typical for building from git,
@@ -208,10 +211,7 @@ them. You can also specify specific versions of automake and autoconf with
Check autogen.sh options by running autogen.sh --help
-autogen.sh can pass on arguments to configure - you just need to separate them
-from autogen.sh with -- between the two.
-prefix has been added to autogen.sh but will be passed on to configure because
-some build scripts like that.
+autogen.sh can pass on arguments to configure
When you have done this once, you can use autoregen.sh to re-autogen with
the last passed options as a handy shortcut. Use it.
@@ -219,9 +219,17 @@ the last passed options as a handy shortcut. Use it.
After the autogen.sh stage, you can follow the directions listed in
"COMPILING FROM SOURCE"
-You can also run your whole git stack uninstalled. The script in
-the gstreamer module /scripts/gst-uninstalled) is helpful in setting
-up your environment for this.
+You can also run your whole git stack uninstalled in your home directory,
+so that you can quickly test changes without affecting your system setup or
+interfering with GStreamer installed from packages. Many GStreamer developers
+use an uninstalled setup for their work.
+
+There is a 'create-uninstalled-setup.sh' script in
+
+ http://cgit.freedesktop.org/gstreamer/gstreamer/tree/scripts/
+
+to easily create an uninstalled setup from scratch.
+
PLUG-IN DEPENDENCIES AND LICENSES
---------------------------------
diff --git a/RELEASE b/RELEASE
index 1dc812d..68f43dd 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,5 +1,5 @@
-Release notes for GStreamer 1.0.8
+Release notes for GStreamer 1.1.2
The GStreamer team is proud to announce a new bug-fix release
@@ -42,16 +42,17 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
Features of this release
- * basesink: improve position reporting without clock
- * fix caps leak in typefind/decodebin/playbin
- * gobject-introspection fixes for bindings
Bugs fixed in this release
- * 693365 : gst_structure_is_subset false positive
- * 702617 : buffer: Wrong size/index handling when merging memory
- * 702778 : REGRESSION : Backward seeking doesn't work with mp3 files.
- * 703562 : Missing few allow-none annotation
+ * 652037 : basesrc: less persistent caching of size
+ * 701985 : gst-launch: Unreffing GstContext that is still used
+ * 702089 : gst_init: Don't intercept --help
+ * 702520 : queue: deadlock when reconfigure event
+ * 702632 : acceptcaps query can be very very slow
+ * 703267 : funnel: Needs to be usable in playbin
+ * 703377 : gst_check_setup_events() and multiple src or sink pads
+ * 703682 : POTFILES.in is out of date
==== Download ====
@@ -88,10 +89,18 @@ subscribe to the gstreamer-devel list.
Contributors to this release
+ * Brendan Long
+ * Edward Hervey
+ * Hans de Goede
+ * Jonas Holmberg
+ * Kim Lam
* Nicolas Dufresne
* Olivier Crête
* Paul HENRYS
+ * Piotr Drąg
* Sebastian Dröge
+ * Sjoerd Simons
+ * Stefan Sauer
* Thibault Saunier
* Tim-Philipp Müller
* Wim Taymans
diff --git a/aclocal.m4 b/aclocal.m4
index d0f821c..d5e89c0 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.13.3 -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -12,33 +11,31 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
[m4_warning([this file was generated for autoconf 2.69.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
-
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.13'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.6], [],
+m4_if([$1], [1.13.3], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -54,21 +51,19 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.6])dnl
+[AM_AUTOMAKE_VERSION([1.13.3])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# Figure out how to run the assembler. -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
-
# AM_PROG_AS
# ----------
AC_DEFUN([AM_PROG_AS],
@@ -83,17 +78,15 @@ _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
-
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
@@ -112,7 +105,7 @@ _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -138,22 +131,19 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 9
-
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -172,16 +162,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 12
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
@@ -191,7 +179,7 @@ fi])])
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -204,12 +192,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
+m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
@@ -217,8 +206,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
@@ -258,16 +247,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
@@ -276,8 +265,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
@@ -285,7 +274,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
@@ -333,7 +322,7 @@ AM_CONDITIONAL([am__fastdep$1], [
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -343,9 +332,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+ [--enable-dependency-tracking],
+ [do not reject slow dependency extractors])
+AS_HELP_STRING(
+ [--disable-dependency-tracking],
+ [speeds up one-time build])])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
@@ -360,20 +353,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-#serial 5
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
@@ -386,7 +377,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
+ # We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
@@ -398,21 +389,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
+ # from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`AS_DIRNAME(["$file"])`
@@ -430,7 +419,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
+# is enabled. FIXME. This creates each '.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
@@ -440,15 +429,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 16
-
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
@@ -464,7 +450,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -493,31 +479,40 @@ AC_SUBST([CYGPATH_W])
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
@@ -528,28 +523,32 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
])
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
@@ -577,15 +576,12 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
-
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
@@ -599,16 +595,14 @@ if test x"${install_sh}" != xset; then
install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
@@ -625,20 +619,17 @@ AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
-
# AM_MAINTAINER_MODE([DEFAULT-MODE])
# ----------------------------------
# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well. Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well. Anyway, the user
# can override the default with the --enable/--disable switch.
AC_DEFUN([AM_MAINTAINER_MODE],
[m4_case(m4_default([$1], [disable]),
@@ -649,10 +640,11 @@ AC_DEFUN([AM_MAINTAINER_MODE],
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
dnl maintainer-mode's default is 'disable' unless 'enable' is passed
AC_ARG_ENABLE([maintainer-mode],
-[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+ [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+ am_maintainer_other[ make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer])],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
AC_MSG_RESULT([$USE_MAINTAINER_MODE])
AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
MAINT=$MAINTAINER_MODE_TRUE
@@ -660,18 +652,14 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
]
)
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
-
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
@@ -689,7 +677,7 @@ am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
@@ -714,15 +702,12 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 6
-
# AM_PROG_CC_C_O
# --------------
# Like AC_PROG_CC_C_O, but changed for automake.
@@ -751,15 +736,12 @@ m4_define([AC_PROG_CC],
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 6
-
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
@@ -767,11 +749,10 @@ AC_DEFUN([AM_MISSING_PROG],
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
-
# AM_MISSING_HAS_RUN
# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
@@ -784,29 +765,32 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
+ AC_MSG_WARN(['missing' script is too old or missing])
fi
])
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
-
# AM_PROG_MKDIR_P
# ---------------
-# Check for `mkdir -p'.
+# Check for 'mkdir -p'.
AC_DEFUN([AM_PROG_MKDIR_P],
[AC_PREREQ([2.60])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl FIXME we are no longer going to remove this! adjust warning
+dnl FIXME message accordingly.
+AC_DIAGNOSE([obsolete],
+[$0: this macro is deprecated, and will soon be removed.
+You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead,
+and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.])
dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
dnl while keeping a definition of mkdir_p for backward compatibility.
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
@@ -823,15 +807,12 @@ esac
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
-
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
@@ -841,7 +822,7 @@ AC_DEFUN([_AM_MANGLE_OPTION],
# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
# _AM_SET_OPTIONS(OPTIONS)
# ------------------------
@@ -855,13 +836,246 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
+
+# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# ---------------------------------------------------------------------------
+# Adds support for distributing Python modules and packages. To
+# install modules, copy them to $(pythondir), using the python_PYTHON
+# automake variable. To install a package with the same name as the
+# automake package, install to $(pkgpythondir), or use the
+# pkgpython_PYTHON automake variable.
+#
+# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
+# locations to install python extension modules (shared libraries).
+# Another macro is required to find the appropriate flags to compile
+# extension modules.
+#
+# If your package is configured with a different prefix to python,
+# users will have to add the install directory to the PYTHONPATH
+# environment variable, or create a .pth file (see the python
+# documentation for details).
+#
+# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
+# cause an error if the version of python installed on the system
+# doesn't meet the requirement. MINIMUM-VERSION should consist of
+# numbers and dots only.
+AC_DEFUN([AM_PATH_PYTHON],
+ [
+ dnl Find a Python interpreter. Python versions prior to 2.0 are not
+ dnl supported. (2.0 was released on October 16, 2000).
+ m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
+[python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 dnl
+ python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0])
+
+ AC_ARG_VAR([PYTHON], [the Python interpreter])
+
+ m4_if([$1],[],[
+ dnl No version check is needed.
+ # Find any Python interpreter.
+ if test -z "$PYTHON"; then
+ AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
+ fi
+ am_display_PYTHON=python
+ ], [
+ dnl A version check is needed.
+ if test -n "$PYTHON"; then
+ # If the user set $PYTHON, use it and don't search something else.
+ AC_MSG_CHECKING([whether $PYTHON version is >= $1])
+ AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ AC_MSG_ERROR([Python interpreter is too old])])
+ am_display_PYTHON=$PYTHON
+ else
+ # Otherwise, try each interpreter until we find one that satisfies
+ # VERSION.
+ AC_CACHE_CHECK([for a Python interpreter with version >= $1],
+ [am_cv_pathless_PYTHON],[
+ for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
+ test "$am_cv_pathless_PYTHON" = none && break
+ AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
+ done])
+ # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
+ if test "$am_cv_pathless_PYTHON" = none; then
+ PYTHON=:
+ else
+ AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
+ fi
+ am_display_PYTHON=$am_cv_pathless_PYTHON
+ fi
+ ])
+
+ if test "$PYTHON" = :; then
+ dnl Run any user-specified action, or abort.
+ m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
+ else
+
+ dnl Query Python for its version number. Getting [:3] seems to be
+ dnl the best way to do this; it's what "site.py" does in the standard
+ dnl library.
+
+ AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
+ [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
+ AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
+
+ dnl Use the values of $prefix and $exec_prefix for the corresponding
+ dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
+ dnl distinct variables so they can be overridden if need be. However,
+ dnl general consensus is that you shouldn't need this ability.
+
+ AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
+ AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
+
+ dnl At times (like when building shared libraries) you may want
+ dnl to know which OS platform Python thinks this is.
+
+ AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
+ [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
+ AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
+
+ # Just factor out some code duplication.
+ am_python_setup_sysconfig="\
+import sys
+# Prefer sysconfig over distutils.sysconfig, for better compatibility
+# with python 3.x. See automake bug#10227.
+try:
+ import sysconfig
+except ImportError:
+ can_use_sysconfig = 0
+else:
+ can_use_sysconfig = 1
+# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
+# <https://github.com/pypa/virtualenv/issues/118>
+try:
+ from platform import python_implementation
+ if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7':
+ can_use_sysconfig = 0
+except ImportError:
+ pass"
+
+ dnl Set up 4 directories:
+
+ dnl pythondir -- where to install python scripts. This is the
+ dnl site-packages directory, not the python standard library
+ dnl directory like in previous automake betas. This behavior
+ dnl is more consistent with lispdir.m4 for example.
+ dnl Query distutils for this directory.
+ AC_CACHE_CHECK([for $am_display_PYTHON script directory],
+ [am_cv_python_pythondir],
+ [if test "x$prefix" = xNONE
+ then
+ am_py_prefix=$ac_default_prefix
+ else
+ am_py_prefix=$prefix
+ fi
+ am_cv_python_pythondir=`$PYTHON -c "
+$am_python_setup_sysconfig
+if can_use_sysconfig:
+ sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
+else:
+ from distutils import sysconfig
+ sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
+sys.stdout.write(sitedir)"`
+ case $am_cv_python_pythondir in
+ $am_py_prefix*)
+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
+ ;;
+ *)
+ case $am_py_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+ ])
+ AC_SUBST([pythondir], [$am_cv_python_pythondir])
+
+ dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
+ dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
+ dnl more consistent with the rest of automake.
+
+ AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
+
+ dnl pyexecdir -- directory for installing python extension modules
+ dnl (shared libraries)
+ dnl Query distutils for this directory.
+ AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
+ [am_cv_python_pyexecdir],
+ [if test "x$exec_prefix" = xNONE
+ then
+ am_py_exec_prefix=$am_py_prefix
+ else
+ am_py_exec_prefix=$exec_prefix
+ fi
+ am_cv_python_pyexecdir=`$PYTHON -c "
+$am_python_setup_sysconfig
+if can_use_sysconfig:
+ sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
+else:
+ from distutils import sysconfig
+ sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
+sys.stdout.write(sitedir)"`
+ case $am_cv_python_pyexecdir in
+ $am_py_exec_prefix*)
+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
+ ;;
+ *)
+ case $am_py_exec_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+ ])
+ AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
+
+ dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
+
+ AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
+
+ dnl Run any user-specified action.
+ $2
+ fi
+
+])
+
+
+# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+# ---------------------------------------------------------------------------
+# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
+# Run ACTION-IF-FALSE otherwise.
+# This test uses sys.hexversion instead of the string equivalent (first
+# word of sys.version), in order to cope with versions such as 2.2c1.
+# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
+AC_DEFUN([AM_PYTHON_CHECK_VERSION],
+ [prog="import sys
+# split strings by '.' and convert to numeric. Append some zeros
+# because we need at least 4 digits for the hex conversion.
+# map returns an iterator in Python 3.0 and a list in 2.x
+minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
+minverhex = 0
+# xrange is not present in Python 3.0 and range returns an iterator
+for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
+sys.exit(sys.hexversion < minverhex)"
+ AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# AM_RUN_LOG(COMMAND)
# -------------------
@@ -876,22 +1090,16 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
-
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
@@ -902,32 +1110,40 @@ case `pwd` in
esac
case $srcdir in
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
esac
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
test "$[2]" = conftest.file
)
then
@@ -937,31 +1153,50 @@ else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# AM_SILENT_RULES([DEFAULT])
# --------------------------
# Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
+# ("yes" being less verbose, "no" or empty being verbose).
AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules],
-[ --enable-silent-rules less verbose build output (undo: `make V=1')
- --disable-silent-rules verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no) AM_DEFAULT_VERBOSITY=1;;
-*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
dnl
-dnl A few `make' implementations (e.g., NonStop OS and NextStep)
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
dnl do not support nested variable expansions.
dnl See automake bug#9928 and bug#10237.
am_make=${MAKE-make}
@@ -979,7 +1214,7 @@ else
am_cv_make_support_nested_variables=no
fi])
if test $am_cv_make_support_nested_variables = yes; then
- dnl Using `$V' instead of `$(V)' breaks IRIX make.
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
@@ -996,44 +1231,40 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
-
# AM_PROG_INSTALL_STRIP
# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
-
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -1047,18 +1278,16 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
@@ -1068,76 +1297,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
+#
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+
+# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
@@ -1147,7 +1414,6 @@ m4_include([common/m4/as-auto-alt.m4])
m4_include([common/m4/as-compiler-flag.m4])
m4_include([common/m4/as-docbook.m4])
m4_include([common/m4/as-libtool.m4])
-m4_include([common/m4/as-python.m4])
m4_include([common/m4/as-scrub-include.m4])
m4_include([common/m4/as-version.m4])
m4_include([common/m4/ax_create_stdint_h.m4])
@@ -1174,10 +1440,12 @@ m4_include([m4/check-checks.m4])
m4_include([m4/gettext.m4])
m4_include([m4/iconv.m4])
m4_include([m4/intlmacosx.m4])
+m4_include([m4/inttypes_h.m4])
m4_include([m4/lib-ld.m4])
m4_include([m4/lib-link.m4])
m4_include([m4/lib-prefix.m4])
m4_include([m4/libtool.m4])
+m4_include([m4/longlong.m4])
m4_include([m4/ltoptions.m4])
m4_include([m4/ltsugar.m4])
m4_include([m4/ltversion.m4])
@@ -1185,3 +1453,4 @@ m4_include([m4/lt~obsolete.m4])
m4_include([m4/nls.m4])
m4_include([m4/po.m4])
m4_include([m4/progtest.m4])
+m4_include([m4/stdint_h.m4])
diff --git a/autogen.sh b/autogen.sh
index 0a5e6d8..a6cd8b4 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,5 +1,11 @@
#!/bin/sh
+#
+# gstreamer autogen.sh
+#
# Run this to generate all the initial makefiles, etc.
+#
+# This file has been generated from common/autogen.sh.in via common/update-autogen
+
test -n "$srcdir" || srcdir=`dirname "$0"`
test -n "$srcdir" || srcdir=.
@@ -9,7 +15,7 @@ cd "$srcdir"
DIE=0
package=gstreamer
-srcfile=gst/gst.c
+srcfile=gstreamer.doap
# Make sure we have common
if test ! -f common/gst-autogen.sh;
@@ -37,21 +43,27 @@ fi
# GNU gettext automake support doesn't get along with git.
# https://bugzilla.gnome.org/show_bug.cgi?id=661128
-touch -t 200001010000 po/gstreamer-0.10.pot
+if test -d po ; then
+ touch -t 200001010000 po/gstreamer-1.0.pot
+fi
-CONFIGURE_DEF_OPT='--enable-maintainer-mode --enable-failing-tests --enable-poisoning --enable-gtk-doc --enable-docbook'
+CONFIGURE_DEF_OPT='--enable-maintainer-mode --enable-gtk-doc'
+
+if test "x$package" = "xgstreamer"; then
+ CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --enable-docbook --enable-failing-tests --enable-poisoning"
+fi
autogen_options $@
printf "+ check for build tools"
if test ! -z "$NOCHECK"; then echo ": skipped version checks"; else echo; fi
-version_check "autoconf" "$AUTOCONF autoconf autoconf270 autoconf269 autoconf268 autoconf267 autoconf266 autoconf265 autoconf264 autoconf263 autoconf262" \
- "ftp://ftp.gnu.org/pub/gnu/autoconf/" 2 62 || DIE=1
+version_check "autoconf" "$AUTOCONF autoconf autoconf270 autoconf269 autoconf268 " \
+ "ftp://ftp.gnu.org/pub/gnu/autoconf/" 2 68 || DIE=1
version_check "automake" "$AUTOMAKE automake automake-1.11" \
"ftp://ftp.gnu.org/pub/gnu/automake/" 1 11 || DIE=1
version_check "autopoint" "autopoint" \
"ftp://ftp.gnu.org/pub/gnu/gettext/" 0 17 || DIE=1
-version_check "libtoolize" "libtoolize glibtoolize" \
+version_check "libtoolize" "$LIBTOOLIZE libtoolize glibtoolize" \
"ftp://ftp.gnu.org/pub/gnu/libtool/" 2 2 6 || DIE=1
version_check "pkg-config" "" \
"http://www.freedesktop.org/software/pkgconfig" 0 8 0 || DIE=1
@@ -75,8 +87,6 @@ fi
toplevel_check $srcfile
# autopoint
-# older autopoint (< 0.12) has a tendency to complain about mkinstalldirs
-if test -x mkinstalldirs; then rm mkinstalldirs; fi
# first remove patch if necessary, then run autopoint, then reapply
if test -f po/Makefile.in.in;
then
@@ -100,16 +110,16 @@ debug "automake: $automake"
tool_run "$automake" "--add-missing --copy"
test -n "$NOCONFIGURE" && {
- echo "skipping configure stage for package $package, as requested."
- echo "autogen.sh done."
+ echo "+ skipping configure stage for package $package, as requested."
+ echo "+ autogen.sh done."
exit 0
}
cd "$olddir"
echo "+ running configure ... "
-test ! -z "$CONFIGURE_DEF_OPT" && echo " ./configure default flags: $CONFIGURE_DEF_OPT"
-test ! -z "$CONFIGURE_EXT_OPT" && echo " ./configure external flags: $CONFIGURE_EXT_OPT"
+test ! -z "$CONFIGURE_DEF_OPT" && echo " default flags: $CONFIGURE_DEF_OPT"
+test ! -z "$CONFIGURE_EXT_OPT" && echo " external flags: $CONFIGURE_EXT_OPT"
echo
echo "$srcdir/configure" $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT
@@ -119,4 +129,3 @@ echo "$srcdir/configure" $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT
}
echo "Now type 'make' to compile $package."
-
diff --git a/common/Makefile.in b/common/Makefile.in
index 6b9bac7..2043b94 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,14 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = common
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ChangeLog \
+ README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,33 +110,42 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -117,9 +153,29 @@ am__can_run_installinfo = \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
@@ -247,15 +303,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -265,11 +317,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -277,6 +327,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -339,6 +390,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -492,22 +544,25 @@ clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -522,57 +577,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -588,12 +598,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -605,15 +610,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -622,6 +623,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -782,22 +798,20 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/common/README b/common/README
new file mode 100644
index 0000000..83a1b88
--- /dev/null
+++ b/common/README
@@ -0,0 +1,255 @@
+GStreamer @SERIES_VERSION@
+
+WHAT IT IS
+----------
+
+This is GStreamer, a framework for streaming media.
+
+WHERE TO START
+--------------
+
+We have a website at
+http://gstreamer.freedesktop.org/
+
+You should start by going through our FAQ at
+http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/
+
+There is more documentation; go to
+http://gstreamer.freedesktop.org/documentation
+
+You can subscribe to our mailing lists; see the website for details.
+
+We track bugs in GNOME's bugzilla; see the website for details.
+
+You can join us on IRC - #gstreamer on irc.freenode.org
+
+GStreamer 1.0 series
+--------------------
+
+Starring
+
+ GSTREAMER
+
+The core around which all other modules revolve. Base functionality and
+libraries, some essential elements, documentation, and testing.
+
+ BASE
+
+A well-groomed and well-maintained collection of GStreamer plug-ins and
+elements, spanning the range of possible types of elements one would want
+to write for GStreamer.
+
+And introducing, for the first time ever, on the development screen ...
+
+ THE GOOD
+
+ --- "Such ingratitude. After all the times I've saved your life."
+
+A collection of plug-ins you'd want to have right next to you on the
+battlefield. Shooting sharp and making no mistakes, these plug-ins have it
+all: good looks, good code, and good licensing. Documented and dressed up
+in tests. If you're looking for a role model to base your own plug-in on,
+here it is.
+
+If you find a plot hole or a badly lip-synced line of code in them,
+let us know - it is a matter of honour for us to ensure Blondie doesn't look
+like he's been walking 100 miles through the desert without water.
+
+ THE UGLY
+
+ --- "When you have to shoot, shoot. Don't talk."
+
+There are times when the world needs a color between black and white.
+Quality code to match the good's, but two-timing, backstabbing and ready to
+sell your freedom down the river. These plug-ins might have a patent noose
+around their neck, or a lock-up license, or any other problem that makes you
+think twice about shipping them.
+
+We don't call them ugly because we like them less. Does a mother love her
+son less because he's not as pretty as the other ones ? No - she commends
+him on his great personality. These plug-ins are the life of the party.
+And we'll still step in and set them straight if you report any unacceptable
+behaviour - because there are two kinds of people in the world, my friend:
+those with a rope around their neck and the people who do the cutting.
+
+ THE BAD
+
+ --- "That an accusation?"
+
+No perfectly groomed moustache or any amount of fine clothing is going to
+cover up the truth - these plug-ins are Bad with a capital B.
+They look fine on the outside, and might even appear to get the job done, but
+at the end of the day they're a black sheep. Without a golden-haired angel
+to watch over them, they'll probably land in an unmarked grave at the final
+showdown.
+
+Don't bug us about their quality - exercise your Free Software rights,
+patch up the offender and send us the patch on the fastest steed you can
+steal from the Confederates. Because you see, in this world, there's two
+kinds of people, my friend: those with loaded guns and those who dig.
+You dig.
+
+The Lowdown
+-----------
+
+ --- "I've never seen so many plug-ins wasted so badly."
+
+GStreamer Plug-ins has grown so big that it's hard to separate the wheat from
+the chaff. Also, distributors have brought up issues about the legal status
+of some of the plug-ins we ship. To remedy this, we've divided the previous
+set of available plug-ins into four modules:
+
+- gst-plugins-base: a small and fixed set of plug-ins, covering a wide range
+ of possible types of elements; these are continuously kept up-to-date
+ with any core changes during the development series.
+
+ - We believe distributors can safely ship these plug-ins.
+ - People writing elements should base their code on these elements.
+ - These elements come with examples, documentation, and regression tests.
+
+- gst-plugins-good: a set of plug-ins that we consider to have good quality
+ code, correct functionality, our preferred license (LGPL for the plug-in
+ code, LGPL or LGPL-compatible for the supporting library).
+
+ - We believe distributors can safely ship these plug-ins.
+ - People writing elements should base their code on these elements.
+
+- gst-plugins-ugly: a set of plug-ins that have good quality and correct
+ functionality, but distributing them might pose problems. The license
+ on either the plug-ins or the supporting libraries might not be how we'd
+ like. The code might be widely known to present patent problems.
+
+ - Distributors should check if they want/can ship these plug-ins.
+ - People writing elements should base their code on these elements.
+
+- gst-plugins-bad: a set of plug-ins that aren't up to par compared to the
+ rest. They might be close to being good quality, but they're missing
+ something - be it a good code review, some documentation, a set of tests,
+ a real live maintainer, or some actual wide use.
+ If the blanks are filled in they might be upgraded to become part of
+ either gst-plugins-good or gst-plugins-ugly, depending on the other factors.
+
+ - If the plug-ins break, you can't complain - instead, you can fix the
+ problem and send us a patch, or bribe someone into fixing them for you.
+ - New contributors can start here for things to work on.
+
+PLATFORMS
+---------
+
+- Linux is of course fully supported
+- FreeBSD is reported to work; other BSDs should work too
+- Solaris is reported to work; a specific sunaudiosink plugin has been written
+- MacOSX works, binary 1.x packages can be built using the cerbero build tool
+- Windows works; binary 1.x packages can be built using the cerbero build tool
+ - MSys/MinGW builds
+ - Microsoft Visual Studio builds are not yet available or supported
+- Android works, binary 1.x packages can be built using the cerbero build tool
+- iOS works
+
+INSTALLING FROM PACKAGES
+------------------------
+
+You should always prefer installing from packages first. GStreamer is
+well-maintained for a number of distributions, including Fedora, Debian,
+Ubuntu, Mandrake, Gentoo, ...
+
+Only in cases where you:
+- want to hack on GStreamer
+- want to verify that a bug has been fixed
+- do not have a sane distribution
+should you choose to build from source tarballs or git.
+
+Find more information about the various packages at
+http://gstreamer.freedesktop.org/download/
+
+COMPILING FROM SOURCE TARBALLS
+------------------------------
+
+- again, make sure that you really need to install from source !
+ If GStreamer is one of your first projects ever that you build from source,
+ consider taking on an easier project.
+
+- check output of ./configure --help to see if any options apply to you
+- run
+ ./configure
+ make
+
+ to build GStreamer.
+- if you want to install it (not required, but what you usually want to do), run
+ make install
+
+- try out a simple test:
+ gst-launch -v fakesrc num_buffers=5 ! fakesink
+ (If you didn't install GStreamer, prefix gst-launch with tools/)
+
+ If it outputs a bunch of messages from fakesrc and fakesink, everything is
+ ok.
+
+ If it did not work, keep in mind that you might need to adjust the
+ PATH and/or LD_LIBRARY_PATH environment variables to make the system
+ find GStreamer in the prefix where you installed (by default that is /usr/local).
+
+- After this, you're ready to install gst-plugins, which will provide the
+ functionality you're probably looking for by now, so go on and read
+ that README.
+
+COMPILING FROM GIT
+------------------
+
+When building from git sources, you will need to run autogen.sh to generate
+the build system files.
+
+You will need a set of additional tools typical for building from git,
+including:
+- autoconf
+- automake
+- libtool
+
+autogen.sh will check for recent enough versions and complain if you don't have
+them. You can also specify specific versions of automake and autoconf with
+--with-automake and --with-autoconf
+
+Check autogen.sh options by running autogen.sh --help
+
+autogen.sh can pass on arguments to configure
+
+When you have done this once, you can use autoregen.sh to re-autogen with
+the last passed options as a handy shortcut. Use it.
+
+After the autogen.sh stage, you can follow the directions listed in
+"COMPILING FROM SOURCE"
+
+You can also run your whole git stack uninstalled in your home directory,
+so that you can quickly test changes without affecting your system setup or
+interfering with GStreamer installed from packages. Many GStreamer developers
+use an uninstalled setup for their work.
+
+There is a 'create-uninstalled-setup.sh' script in
+
+ http://cgit.freedesktop.org/gstreamer/gstreamer/tree/scripts/
+
+to easily create an uninstalled setup from scratch.
+
+
+PLUG-IN DEPENDENCIES AND LICENSES
+---------------------------------
+
+GStreamer is developed under the terms of the LGPL (see LICENSE file for
+details). Some of our plug-ins however rely on libraries which are available
+under other licenses. This means that if you are distributing an application
+which has a non-GPL compatible license (for instance a closed-source
+application) with GStreamer, you have to make sure not to distribute GPL-linked
+plug-ins.
+
+When using GPL-linked plug-ins, GStreamer is for all practical reasons
+under the GPL itself.
+
+HISTORY
+-------
+
+The fundamental design comes from the video pipeline at Oregon Graduate
+Institute, as well as some ideas from DirectMedia. It's based on plug-ins that
+will provide the various codec and other functionality. The interface
+hopefully is generic enough for various companies (ahem, Apple) to release
+binary codecs for Linux, until such time as they get a clue and release the
+source.
diff --git a/common/c-to-xml.py b/common/c-to-xml.py
index 397c112..7a7a35b 100644
--- a/common/c-to-xml.py
+++ b/common/c-to-xml.py
@@ -5,6 +5,8 @@
Convert a C program to valid XML to be included in docbook
"""
+from __future__ import print_function, unicode_literals
+
import sys
import os
from xml.sax import saxutils
@@ -22,13 +24,13 @@ def main():
content = open(source, "r").read()
# print header
- print '<?xml version="1.0"?>'
- print '<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">'
- print
- print '<programlisting>'
+ print ('<?xml version="1.0"?>')
+ print ('<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">')
+ print ()
+ print ('<programlisting>')
# print content
- print saxutils.escape(content).encode('UTF-8')
- print '</programlisting>'
+ print (saxutils.escape(content))
+ print ('</programlisting>')
main()
diff --git a/common/check.mak b/common/check.mak
index 0aec843..285876c 100644
--- a/common/check.mak
+++ b/common/check.mak
@@ -11,7 +11,7 @@ check-valgrind:
@true
endif
-LOOPS = 10
+LOOPS ?= 10
# run any given test by running make test.check
# if the test fails, run it again at at least debug level 2
@@ -74,6 +74,17 @@ LOOPS = 10
--gen-suppressions=all \
./$* 2>&1 | tee suppressions.log
+# valgrind torture any given test
+%.valgrind-torture: %
+ @for i in `seq 1 $(LOOPS)`; do \
+ $(MAKE) $*.valgrind || \
+ (echo "Failure after $$i runs"; exit 1) || \
+ exit 1; \
+ done
+ @banner="All $(LOOPS) loops passed"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo $$dashes; echo $$banner; echo $$dashes
+
# valgrind any given test until failure by running make test.valgrind-forever
%.valgrind-forever: %
@while $(MAKE) $*.valgrind; do \
@@ -86,9 +97,34 @@ LOOPS = 10
$(LIBTOOL) --mode=execute \
gdb $*
+%.lcov-reset:
+ $(MAKE) $*.lcov-run
+ $(MAKE) $*.lcov-report
+
+%.lcov: %
+ $(MAKE) $*.lcov-reset
+
+if GST_GCOV_ENABLED
+%.lcov-clean:
+ $(MAKE) -C $(top_builddir) lcov-clean
+
+%.lcov-run:
+ $(MAKE) $*.lcov-clean
+ $(MAKE) $*.check
+
+%.lcov-report:
+ $(MAKE) -C $(top_builddir) lcov-report
+else
+%.lcov-run:
+ echo "Need to reconfigure with --enable-gcov"
+
+%.lcov-report:
+ echo "Need to reconfigure with --enable-gcov"
+endif
+
# torture tests
torture: $(TESTS)
- -rm test-registry.xml
+ -rm test-registry.*
@echo "Torturing tests ..."
@for i in `seq 1 $(LOOPS)`; do \
$(MAKE) check || \
@@ -101,7 +137,7 @@ torture: $(TESTS)
# forever tests
forever: $(TESTS)
- -rm test-registry.xml
+ -rm test-registry.*
@echo "Forever tests ..."
@while true; do \
$(MAKE) check || \
@@ -127,6 +163,29 @@ valgrind: $(TESTS)
false; \
fi
+# valgrind all tests until failure
+valgrind-forever: $(TESTS)
+ -rm test-registry.*
+ @echo "Forever valgrinding tests ..."
+ @while true; do \
+ $(MAKE) valgrind || \
+ (echo "Failure"; exit 1) || \
+ exit 1; \
+ done
+
+# valgrind torture all tests
+valgrind-torture: $(TESTS)
+ -rm test-registry.*
+ @echo "Torturing and valgrinding tests ..."
+ @for i in `seq 1 $(LOOPS)`; do \
+ $(MAKE) valgrind || \
+ (echo "Failure after $$i runs"; exit 1) || \
+ exit 1; \
+ done
+ @banner="All $(LOOPS) loops passed"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo $$dashes; echo $$banner; echo $$dashes
+
# valgrind all tests and generate suppressions
valgrind.gen-suppressions: $(TESTS)
@echo "Valgrinding tests ..."
@@ -166,10 +225,13 @@ help:
@echo "make (dir)/(test).gdb -- start up gdb for the given test"
@echo
@echo "make valgrind -- valgrind all tests"
+ @echo "make valgrind-forever -- valgrind all tests forever"
+ @echo "make valgrind-torture -- valgrind all tests $(LOOPS) times"
@echo "make valgrind.gen-suppressions -- generate suppressions for all tests"
@echo " and save to suppressions.log"
@echo "make (dir)/(test).valgrind -- valgrind the given test"
@echo "make (dir)/(test).valgrind-forever -- valgrind the given test forever"
+ @echo "make (dir)/(test).valgrind-torture -- valgrind the given test $(LOOPS) times"
@echo "make (dir)/(test).valgrind.gen-suppressions -- generate suppressions"
@echo " and save to suppressions.log"
@echo "make inspect -- inspect all plugin features"
diff --git a/common/coverage/coverage-report-entry.pl b/common/coverage/coverage-report-entry.pl
index 51c506c..d0036b3 100644
--- a/common/coverage/coverage-report-entry.pl
+++ b/common/coverage/coverage-report-entry.pl
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
print <<EOF;
diff --git a/common/coverage/coverage-report.pl b/common/coverage/coverage-report.pl
index ed30f8d..18bd6f1 100644
--- a/common/coverage/coverage-report.pl
+++ b/common/coverage/coverage-report.pl
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
use warnings;
use strict;
diff --git a/common/coverage/coverage-report.xsl b/common/coverage/coverage-report.xsl
index b19ebb6..3fe124b 100644
--- a/common/coverage/coverage-report.xsl
+++ b/common/coverage/coverage-report.xsl
@@ -15,7 +15,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
diff --git a/common/coverage/lcov.mak b/common/coverage/lcov.mak
index fc1f6b2..b45728a 100644
--- a/common/coverage/lcov.mak
+++ b/common/coverage/lcov.mak
@@ -1,5 +1,5 @@
## .PHONY so it always rebuilds it
-.PHONY: lcov-reset lcov lcov-run lcov-report lcov-upload
+.PHONY: lcov-reset lcov lcov-run lcov-report lcov-upload lcov-clean
# run lcov from scratch, always
lcov-reset:
@@ -11,10 +11,14 @@ lcov:
$(MAKE) lcov-reset
if GST_GCOV_ENABLED
-# reset run coverage tests
-lcov-run:
+# reset lcov stats
+lcov-clean:
@-rm -rf lcov
lcov --directory . --zerocounters
+
+# reset run coverage tests
+lcov-run:
+ -$(MAKE) lcov-clean
-if test -d tests/check; then $(MAKE) -C tests/check inspect; fi
-$(MAKE) check
diff --git a/common/gst.supp b/common/gst.supp
index d7f8961..8a3617f 100644
--- a/common/gst.supp
+++ b/common/gst.supp
@@ -91,6 +91,14 @@
fun:pthread_create@@*
}
+{
+ <tls>
+ Memcheck:Leak
+ fun:calloc
+ fun:allocate_dtv
+ fun:_dl_allocate_tls
+}
+
# I get an extra stack entry on x86/dapper
{
<tls>
@@ -3961,3 +3969,18 @@
fun:gst_system_clock_init
}
+{
+ <glib types are singletons>
+ Memcheck:Leak
+ fun:calloc
+ ...
+ fun:gobject_init_ctor
+}
+
+{
+ <quark table is leaked on purpose if it grows too big>
+ Memcheck:Leak
+ fun:malloc
+ ...
+ fun:g_quark_from*_string
+}
diff --git a/common/gstdoc-scangobj b/common/gstdoc-scangobj
index 0d69a86..09039a5 100755
--- a/common/gstdoc-scangobj
+++ b/common/gstdoc-scangobj
@@ -16,7 +16,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
#
#
@@ -307,10 +307,10 @@ get_object_types (void)
/* output element data */
fputs (" <element>\\n", inspect);
fputs (xmlprint(6, "name", gst_plugin_feature_get_name (feature)),inspect);
- fputs (xmlprint(6, "longname", gst_element_factory_get_longname (factory)),inspect);
- fputs (xmlprint(6, "class", gst_element_factory_get_klass (factory)),inspect);
- fputs (xmlprint(6, "description", gst_element_factory_get_description (factory)),inspect);
- fputs (xmlprint(6, "author", gst_element_factory_get_author (factory)),inspect);
+ fputs (xmlprint(6, "longname", gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_LONGNAME)),inspect);
+ fputs (xmlprint(6, "class", gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_KLASS)),inspect);
+ fputs (xmlprint(6, "description", gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_DESCRIPTION)),inspect);
+ fputs (xmlprint(6, "author", gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_AUTHOR)),inspect);
fputs (" <pads>\\n", inspect);
/* output pad-template data */
@@ -354,11 +354,11 @@ get_object_types (void)
factory = GST_ELEMENT_FACTORY (l->data);
type = gst_element_factory_get_element_type (factory);
if (type != 0) {
- $debug_log ("adding type for factory %s", gst_element_factory_get_longname (factory));
+ $debug_log ("adding type for factory %s", gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_LONGNAME));
object_types[i++] = type;
} else {
g_message ("type info for factory %s not found",
- gst_element_factory_get_longname (factory));
+ gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_LONGNAME));
}
l = g_list_next (l);
}
diff --git a/common/gtk-doc-plugins.mak b/common/gtk-doc-plugins.mak
index 2468cb0..f19e7d7 100644
--- a/common/gtk-doc-plugins.mak
+++ b/common/gtk-doc-plugins.mak
@@ -94,9 +94,9 @@ all-local: html-build.stamp
INSPECT_REGISTRY=$(top_builddir)/docs/plugins/inspect-registry.xml
INSPECT_ENVIRONMENT=\
LC_ALL=C \
- GST_PLUGIN_SYSTEM_PATH= \
- GST_PLUGIN_PATH=$(top_builddir)/gst:$(top_builddir)/sys:$(top_builddir)/ext:$(top_builddir)/plugins:$(top_builddir)/src:$(top_builddir)/gnl \
- GST_REGISTRY=$(INSPECT_REGISTRY) \
+ GST_PLUGIN_SYSTEM_PATH_1_0= \
+ GST_PLUGIN_PATH_1_0=$(top_builddir)/gst:$(top_builddir)/sys:$(top_builddir)/ext:$(top_builddir)/plugins:$(top_builddir)/src:$(top_builddir)/gnl \
+ GST_REGISTRY_1_0=$(INSPECT_REGISTRY) \
PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
$(INSPECT_EXTRA_ENVIRONMENT)
@@ -222,10 +222,7 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
mkhtml_options="$$mkhtml_options --verbose"; \
fi; \
fi; \
- cd html && gtkdoc-mkhtml $$mkhtml_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE)
- @mv html/index.sgml html/index.sgml.bak
- @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_API_VERSION@\//g" html/index.sgml.bak >html/index.sgml
- @rm -f html/index.sgml.bak
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(DOC_MODULE)-@GST_API_VERSION@ $(DOC_MAIN_SGML_FILE)
@rm -f html/$(DOC_MAIN_SGML_FILE)
@rm -rf html/xml
@rm -f html/version.entities
@@ -289,9 +286,9 @@ install-data-local:
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
done; \
fi; \
- echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \
- if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \
- $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
+ echo '-- Installing $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2' ; \
+ if test -e $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; then \
+ $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2 \
$(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
fi; \
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak
index a1e07dc..9d76889 100644
--- a/common/gtk-doc.mak
+++ b/common/gtk-doc.mak
@@ -81,9 +81,9 @@ scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
--ignore-headers="$(IGNORE_HFILES)"
@if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null; then \
echo " DOC Introspecting gobjects"; \
- GST_PLUGIN_SYSTEM_PATH=`cd $(top_builddir) && pwd` \
- GST_PLUGIN_PATH= \
- GST_REGISTRY=doc-registry.xml \
+ GST_PLUGIN_SYSTEM_PATH_1_0=`cd $(top_builddir) && pwd` \
+ GST_PLUGIN_PATH_1_0= \
+ GST_REGISTRY_1_0=doc-registry.xml \
$(GTKDOC_EXTRA_ENVIRONMENT) \
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" \
CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" \
@@ -130,10 +130,7 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
if test "$(?)" = "0"; then \
mkhtml_options=--path="$(abs_srcdir)"; \
fi; \
- cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
- @mv html/index.sgml html/index.sgml.bak
- @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_API_VERSION@\//g" html/index.sgml.bak >html/index.sgml
- @rm -f html/index.sgml.bak
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE)-@GST_API_VERSION@ ../$(DOC_MAIN_SGML_FILE)
@rm -rf html/xml
@rm -f version.entities
@test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) $(abs_builddir)/html )
@@ -189,9 +186,9 @@ install-data-local:
echo '-- Installing '$$i ; \
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
done; \
- echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \
- if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \
- $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
+ echo '-- Installing $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2' ; \
+ if test -e $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; then \
+ $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2 \
$(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
fi; \
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index a9bd137..f3b2905 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,13 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = common/m4
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,24 +109,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -108,6 +142,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -207,15 +242,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -225,11 +256,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -237,6 +266,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -299,6 +329,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -470,11 +501,11 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -610,15 +641,16 @@ uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/common/m4/as-docbook.m4 b/common/m4/as-docbook.m4
index 8a1b32a..2e27050 100644
--- a/common/m4/as-docbook.m4
+++ b/common/m4/as-docbook.m4
@@ -14,7 +14,19 @@ AC_DEFUN([AS_DOCBOOK],
TYPE_UC=XML
DOCBOOK_VERSION=4.1.2
- if test ! -f /etc/xml/catalog; then
+ if test -n "$XML_CATALOG_FILES"; then
+ oldIFS=$IFS
+ IFS=' '
+ for xml_catalog_file in $XML_CATALOG_FILES; do
+ if test -f $xml_catalog_file; then
+ XML_CATALOG=$xml_catalog_file
+ CAT_ENTRY_START='<!--'
+ CAT_ENTRY_END='-->'
+ break
+ fi
+ done
+ IFS=$oldIFS
+ elif test ! -f /etc/xml/catalog; then
for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/ /usr/local/share/xsl/docbook ;
do
if test -d "$i"; then
diff --git a/common/m4/gst-check.m4 b/common/m4/gst-check.m4
index cba7e96..4277053 100644
--- a/common/m4/gst-check.m4
+++ b/common/m4/gst-check.m4
@@ -266,29 +266,29 @@ AC_DEFUN([AG_GST_CHECK_GST_PLUGINS_BAD],
])
dnl ===========================================================================
-dnl AG_GST_CHECK_GST_PLUGINS_FFMPEG([GST-API_VERSION], [MIN-VERSION])
+dnl AG_GST_CHECK_GST_PLUGINS_LIBAV([GST-API_VERSION], [MIN-VERSION])
dnl
-dnl Will set GST_PLUGINS_FFMPEG_DIR for use in Makefile.am. Note that this will
-dnl only be set in an uninstalled setup, since -ffmpeg ships no .pc file and in
+dnl Will set GST_PLUGINS_LIBAV_DIR for use in Makefile.am. Note that this will
+dnl only be set in an uninstalled setup, since -libav ships no .pc file and in
dnl an installed setup all plugins will be found in GST_PLUGINS_DIR anyway.
dnl ===========================================================================
-AC_DEFUN([AG_GST_CHECK_GST_PLUGINS_FFMPEG],
+AC_DEFUN([AG_GST_CHECK_GST_PLUGINS_LIBAV],
[
- AG_GST_CHECK_MODULES(GST_PLUGINS_FFMPEG, gstreamer-plugins-ffmpeg-[$1], [$2],
- [GStreamer FFmpeg Plugins], [no])
+ AG_GST_CHECK_MODULES(GST_PLUGINS_LIBAV, gstreamer-plugins-libav-[$1], [$2],
+ [GStreamer Libav Plugins], [no])
- if test "x$HAVE_GST_PLUGINS_FFMPEG" = "xyes"; then
- dnl check for where ffmpeg plugins got installed
+ if test "x$HAVE_GST_PLUGINS_LIBAV" = "xyes"; then
+ dnl check for where libav plugins got installed
dnl this is used for unit tests
dnl allow setting before calling this macro to override
- if test -z $GST_PLUGINS_FFMPEG_DIR; then
- GST_PLUGINS_FFMPEG_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-plugins-ffmpeg-[$1]`
- if test -z $GST_PLUGINS_FFMPEG_DIR; then
- AC_MSG_ERROR([no pluginsdir set in GStreamer FFmpeg Plugins pkg-config file])
+ if test -z $GST_PLUGINS_LIBAV_DIR; then
+ GST_PLUGINS_LIBAV_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-plugins-libav-[$1]`
+ if test -z $GST_PLUGINS_LIBAV_DIR; then
+ AC_MSG_ERROR([no pluginsdir set in GStreamer Libav Plugins pkg-config file])
fi
fi
- GST_PLUGINS_FFMPEG_DIR="$GST_PLUGINS_FFMPEG_DIR/ext/ffmpeg"
- AC_MSG_NOTICE([using GStreamer FFmpeg Plugins in $GST_PLUGINS_FFMPEG_DIR])
- AC_SUBST(GST_PLUGINS_FFMPEG_DIR)
+ GST_PLUGINS_LIBAV_DIR="$GST_PLUGINS_LIBAV_DIR/ext/libav"
+ AC_MSG_NOTICE([using GStreamer Libav Plugins in $GST_PLUGINS_LIBAV_DIR])
+ AC_SUBST(GST_PLUGINS_LIBAV_DIR)
fi
])
diff --git a/common/m4/gst-doc.m4 b/common/m4/gst-doc.m4
index 871c346..5d3f0fd 100644
--- a/common/m4/gst-doc.m4
+++ b/common/m4/gst-doc.m4
@@ -20,34 +20,10 @@ AC_DEFUN([AG_GST_DOCBOOK_CHECK],
dnl check for docbook tools
AC_CHECK_PROG(HAVE_DOCBOOK2PS, docbook2ps, yes, no)
- AC_CHECK_PROG(HAVE_DOCBOOK2HTML, docbook2html, yes, no)
+ AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, yes, no)
AC_CHECK_PROG(HAVE_JADETEX, jadetex, yes, no)
AC_CHECK_PROG(HAVE_PS2PDF, ps2pdf, yes, no)
- # -V option appeared in 0.6.10
- docbook2html_min_version=0.6.10
- if test "x$HAVE_DOCBOOK2HTML" != "xno"; then
- docbook2html_version=`docbook2html --version`
- AC_MSG_CHECKING([docbook2html version ($docbook2html_version) >= $docbook2html_min_version])
- if perl -w <<EOF
- (\$min_version_major, \$min_version_minor, \$min_version_micro ) = "$docbook2html_min_version" =~ /(\d+)\.(\d+)\.(\d+)/;
- (\$docbook2html_version_major, \$docbook2html_version_minor, \$docbook2html_version_micro ) = "$docbook2html_version" =~ /(\d+)\.(\d+)\.(\d+)/;
- exit (((\$docbook2html_version_major > \$min_version_major) ||
- ((\$docbook2html_version_major == \$min_version_major) &&
- (\$docbook2html_version_minor >= \$min_version_minor)) ||
- ((\$docbook2html_version_major == \$min_version_major) &&
- (\$docbook2html_version_minor >= \$min_version_minor) &&
- (\$docbook2html_version_micro >= \$min_version_micro)))
- ? 0 : 1);
-EOF
- then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- HAVE_DOCBOOK2HTML=no
- fi
- fi
-
dnl check if we can process docbook stuff
AS_DOCBOOK(have_docbook=yes, have_docbook=no)
@@ -55,45 +31,14 @@ EOF
AC_CHECK_PROG(HAVE_DVIPS, dvips, yes, no)
AC_CHECK_PROG(HAVE_XMLLINT, xmllint, yes, no)
- dnl check for image conversion tools
- AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, yes, no)
- if test "x$HAVE_FIG2DEV" = "xno" ; then
- AC_MSG_WARN([Did not find fig2dev (from xfig), images will not be generated.])
- fi
-
- dnl The following is a hack: if fig2dev doesn't display an error message
- dnl for the desired type, we assume it supports it.
- HAVE_FIG2DEV_EPS=no
- if test "x$HAVE_FIG2DEV" = "xyes" ; then
- fig2dev_quiet=`fig2dev -L eps </dev/null 2>&1 >/dev/null`
- if test "x$fig2dev_quiet" = "x" ; then
- HAVE_FIG2DEV_EPS=yes
- fi
- fi
- HAVE_FIG2DEV_PNG=no
- if test "x$HAVE_FIG2DEV" = "xyes" ; then
- fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
- if test "x$fig2dev_quiet" = "x" ; then
- HAVE_FIG2DEV_PNG=yes
- fi
- fi
- HAVE_FIG2DEV_PDF=no
- if test "x$HAVE_FIG2DEV" = "xyes" ; then
- fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
- if test "x$fig2dev_quiet" = "x" ; then
- HAVE_FIG2DEV_PDF=yes
- fi
- fi
-
AC_CHECK_PROG(HAVE_PNGTOPNM, pngtopnm, yes, no)
AC_CHECK_PROG(HAVE_PNMTOPS, pnmtops, yes, no)
AC_CHECK_PROG(HAVE_EPSTOPDF, epstopdf, yes, no)
dnl check if we can generate HTML
- if test "x$HAVE_DOCBOOK2HTML" = "xyes" && \
+ if test "x$HAVE_XSLTPROC" = "xyes" && \
test "x$enable_docbook" = "xyes" && \
- test "x$HAVE_XMLLINT" = "xyes" && \
- test "x$HAVE_FIG2DEV_PNG" = "xyes"; then
+ test "x$HAVE_XMLLINT" = "xyes"; then
DOC_HTML=yes
AC_MSG_NOTICE(Will output HTML documentation)
else
@@ -106,7 +51,6 @@ EOF
test "x$enable_docbook" = "xyes" && \
test "x$HAVE_XMLLINT" = "xyes" && \
test "x$HAVE_JADETEX" = "xyes" && \
- test "x$HAVE_FIG2DEV_EPS" = "xyes" && \
test "x$HAVE_DVIPS" = "xyes" && \
test "x$HAVE_PNGTOPNM" = "xyes" && \
test "x$HAVE_PNMTOPS" = "xyes"; then
diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4
index 3f3d565..9a3a923 100644
--- a/common/m4/gst-glib2.m4
+++ b/common/m4/gst-glib2.m4
@@ -16,7 +16,7 @@ AC_DEFUN([AG_GST_GLIB_CHECK],
dnl Check for glib with everything
AG_GST_PKG_CHECK_MODULES(GLIB,
- glib-2.0 >= $GLIB_REQ gobject-2.0 gthread-2.0 gmodule-no-export-2.0)
+ glib-2.0 >= $GLIB_REQ gobject-2.0 gmodule-no-export-2.0)
if test "x$HAVE_GLIB" = "xno"; then
AC_MSG_ERROR([This package requires GLib >= $GLIB_REQ to compile.])
@@ -28,7 +28,7 @@ AC_DEFUN([AG_GST_GLIB_CHECK],
GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_THREADS_MANDATORY"
dnl Define G_DISABLE_DEPRECATED for GIT versions
- if test "x$PACKAGE_VERSION_NANO" = "x1"; then
+ if test "x$PACKAGE_VERSION_NANO" = "x1" -o "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1"; then
GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_DEPRECATED"
fi
@@ -39,7 +39,7 @@ AC_DEFUN([AG_GST_GLIB_CHECK],
if test "x$enable_gobject_cast_checks" = "xauto"; then
dnl For releases, turn off the cast checks
- if test "x$PACKAGE_VERSION_NANO" = "x1"; then
+ if test "x$PACKAGE_VERSION_NANO" = "x1" -o "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1"; then
enable_gobject_cast_checks=yes
else
enable_gobject_cast_checks=no
@@ -57,7 +57,7 @@ AC_DEFUN([AG_GST_GLIB_CHECK],
if test "x$enable_glib_assertions" = "xauto"; then
dnl For releases, turn off the assertions
- if test "x$PACKAGE_VERSION_NANO" = "x1"; then
+ if test "x$PACKAGE_VERSION_NANO" = "x1" -o "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1"; then
enable_glib_assertions=yes
else
enable_glib_assertions=no
diff --git a/common/m4/gst-plugin-docs.m4 b/common/m4/gst-plugin-docs.m4
index dcfd61d..0e2ab6e 100644
--- a/common/m4/gst-plugin-docs.m4
+++ b/common/m4/gst-plugin-docs.m4
@@ -1,4 +1,4 @@
-dnl AG_GST_PLUGIN_DOCS([MINIMUM-GTK-DOC-VERSION],[MINIMUM-PYTHON-VERSION])
+dnl AG_GST_PLUGIN_DOCS([MINIMUM-GTK-DOC-VERSION])
dnl
dnl checks for prerequisites for the common/mangle-tmpl.py script
dnl used when building the plugin documentation
@@ -6,13 +6,17 @@ dnl used when building the plugin documentation
AC_DEFUN([AG_GST_PLUGIN_DOCS],
[
AC_BEFORE([GTK_DOC_CHECK],[$0])dnl check for gtk-doc first
- AC_BEFORE([AS_PATH_PYTHON],[$1])dnl find python first
+ AC_REQUIRE([AM_PATH_PYTHON])dnl find python first
build_plugin_docs=no
AC_MSG_CHECKING([whether to build plugin documentation])
if test x$enable_gtk_doc = xyes; then
- build_plugin_docs=yes
- AC_MSG_RESULT([yes])
+ if test x$PYTHON != x; then
+ build_plugin_docs=yes
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no (python not found)])
+ fi
else
AC_MSG_RESULT([no (gtk-doc disabled or not available)])
fi
diff --git a/common/mangle-tmpl.py b/common/mangle-tmpl.py
index bd4f948..51ea8c2 100644
--- a/common/mangle-tmpl.py
+++ b/common/mangle-tmpl.py
@@ -15,6 +15,8 @@ insert/overwrite Short Description and Long Description
# read in inspect/*.xml
# for every tmpl/element-(name).xml: mangle with details from element
+from __future__ import print_function, unicode_literals
+
import glob
import re
import sys
diff --git a/common/scangobj-merge.py b/common/scangobj-merge.py
index 9a1cac9..4a9f1fc 100755
--- a/common/scangobj-merge.py
+++ b/common/scangobj-merge.py
@@ -6,6 +6,8 @@
parse, merge and write gstdoc-scanobj files
"""
+from __future__ import print_function, unicode_literals
+
import sys
import os
@@ -76,13 +78,13 @@ class Object:
return "<Object %s>" % self.name
def add_signal(self, signal, overwrite=True):
- if not overwrite and self._signals.has_key(signal.name):
- raise IndexError, "signal %s already in %r" % (signal.name, self)
+ if not overwrite and signal.name in self._signals:
+ raise IndexError("signal %s already in %r" % (signal.name, self))
self._signals[signal.name] = signal
def add_arg(self, arg, overwrite=True):
- if not overwrite and self._args.has_key(arg.name):
- raise IndexError, "arg %s already in %r" % (arg.name, self)
+ if not overwrite and arg.name in self._args:
+ raise IndexError("arg %s already in %r" % (arg.name, self))
self._args[arg.name] = arg
class Docable:
@@ -106,7 +108,7 @@ class GDoc:
lines = open(filename).readlines()
self.load_data("".join(lines))
except IOError:
- print "WARNING - could not read from %s" % filename
+ print ("WARNING - could not read from %s" % filename)
def save_file(self, filename, backup=False):
"""
@@ -117,7 +119,7 @@ class GDoc:
lines = open(filename).readlines()
olddata = "".join(lines)
except IOError:
- print "WARNING - could not read from %s" % filename
+ print ("WARNING - could not read from %s" % filename)
newdata = self.get_data()
if olddata and olddata == newdata:
return
@@ -161,7 +163,7 @@ class Signals(GDoc):
o = nmatch.group('object')
debug("Found object", o)
debug("Found signal", nmatch.group('signal'))
- if not self._objects.has_key(o):
+ if o not in self._objects:
object = Object(o)
self._objects[o] = object
@@ -222,7 +224,7 @@ class Args(GDoc):
o = nmatch.group('object')
debug("Found object", o)
debug("Found arg", nmatch.group('arg'))
- if not self._objects.has_key(o):
+ if o not in self._objects:
object = Object(o)
self._objects[o] = object
@@ -233,7 +235,7 @@ class Args(GDoc):
arg = Arg(**dict)
self._objects[o].add_arg(arg)
else:
- print "ERROR: could not match arg from block %s" % block
+ print ("ERROR: could not match arg from block %s" % block)
def get_data(self):
lines = []
diff --git a/common/win32.mak b/common/win32.mak
index c343a04..30e347e 100644
--- a/common/win32.mak
+++ b/common/win32.mak
@@ -51,11 +51,17 @@ check-exports:
if test $$fail != 0; then \
echo '-----------------------------------------------------------'; \
echo 'Run this to update the .def files:'; \
- echo 'make check-exports 2>&1 | patch -p1'; \
+ echo 'make update-exports'; \
echo '-----------------------------------------------------------'; \
fi; \
exit $$fail
+update-exports:
+ make check-exports 2>&1 | patch -p1
+ git add win32/common/libgst*.def
+ git diff --cached -- win32/common/
+ echo '^^^--- updated and staged changes above'
+
# complain about nonportable printf format strings (%lld, %llu, %zu etc.)
check-nonportable-print-format:
@fail=0 ; \
diff --git a/compile b/compile
index 862a14e..b1f4749 100755
--- a/compile
+++ b/compile
@@ -1,7 +1,7 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-03-05.13; # UTC
+scriptversion=2012-01-04.17; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
# Software Foundation, Inc.
@@ -79,48 +79,6 @@ func_file_conv ()
esac
}
-# func_cl_dashL linkdir
-# Make cl look for libraries in LINKDIR
-func_cl_dashL ()
-{
- func_file_conv "$1"
- if test -z "$lib_path"; then
- lib_path=$file
- else
- lib_path="$lib_path;$file"
- fi
- linker_opts="$linker_opts -LIBPATH:$file"
-}
-
-# func_cl_dashl library
-# Do a library search-path lookup for cl
-func_cl_dashl ()
-{
- lib=$1
- found=no
- save_IFS=$IFS
- IFS=';'
- for dir in $lib_path $LIB
- do
- IFS=$save_IFS
- if $shared && test -f "$dir/$lib.dll.lib"; then
- found=yes
- lib=$dir/$lib.dll.lib
- break
- fi
- if test -f "$dir/$lib.lib"; then
- found=yes
- lib=$dir/$lib.lib
- break
- fi
- done
- IFS=$save_IFS
-
- if test "$found" != yes; then
- lib=$lib.lib
- fi
-}
-
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
@@ -151,34 +109,43 @@ func_cl_wrapper ()
;;
esac
;;
- -I)
- eat=1
- func_file_conv "$2" mingw
- set x "$@" -I"$file"
- shift
- ;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
- -l)
- eat=1
- func_cl_dashl "$2"
- set x "$@" "$lib"
- shift
- ;;
-l*)
- func_cl_dashl "${1#-l}"
- set x "$@" "$lib"
+ lib=${1#-l}
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ set x "$@" "$dir/$lib.dll.lib"
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ set x "$@" "$dir/$lib.lib"
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ test "$found" != yes && set x "$@" "$lib.lib"
shift
;;
- -L)
- eat=1
- func_cl_dashL "$2"
- ;;
-L*)
- func_cl_dashL "${1#-L}"
+ func_file_conv "${1#-L}"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
;;
-static)
shared=false
diff --git a/config.h.in b/config.h.in
index ff955d8..94f134a 100644
--- a/config.h.in
+++ b/config.h.in
@@ -166,12 +166,25 @@
/* Define if you have the iconv() function and it works. */
#undef HAVE_ICONV
+/* Define to 1 if the system has the type `intmax_t'. */
+#undef HAVE_INTMAX_T
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
+ declares uintmax_t. */
+#undef HAVE_INTTYPES_H_WITH_UINTMAX
+
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
+/* Define to 1 if the system has the type long long */
+#undef HAVE_LONG_LONG
+
+/* Define to 1 if the system has the type `long long int'. */
+#undef HAVE_LONG_LONG_INT
+
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
@@ -202,9 +215,6 @@
/* defined if the compiler implements __PRETTY_FUNCTION__ */
#undef HAVE_PRETTY_FUNCTION
-/* Defined if we have printf specifier extensions available */
-#undef HAVE_PRINTF_EXTENSION
-
/* Define to 1 if you have the <process.h> header file. */
#undef HAVE_PROCESS_H
@@ -217,21 +227,22 @@
/* Have PTHREAD_PRIO_INHERIT. */
#undef HAVE_PTHREAD_PRIO_INHERIT
+/* Define to 1 if the system has the type `ptrdiff_t'. */
+#undef HAVE_PTRDIFF_T
+
/* Define if RDTSC is available */
#undef HAVE_RDTSC
-/* Define to 1 if you have the `register_printf_function' function. */
-#undef HAVE_REGISTER_PRINTF_FUNCTION
-
-/* Define to 1 if you have the `register_printf_specifier' function. */
-#undef HAVE_REGISTER_PRINTF_SPECIFIER
-
/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
+/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
+ uintmax_t. */
+#undef HAVE_STDINT_H_WITH_UINTMAX
+
/* Define to 1 if you have the <stdio_ext.h> header file. */
#undef HAVE_STDIO_EXT_H
@@ -289,6 +300,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define to 1 if the system has the type `unsigned long long int'. */
+#undef HAVE_UNSIGNED_LONG_LONG_INT
+
/* Define if valgrind should be used */
#undef HAVE_VALGRIND
@@ -409,3 +423,10 @@
/* We need at least WinXP SP2 for __stat64 */
#undef __MSVCRT_VERSION__
+
+/* Define to the widest signed integer type if <stdint.h> and <inttypes.h> do
+ not define. */
+#undef intmax_t
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/config.sub b/config.sub
index 6205f84..c894da4 100755
--- a/config.sub
+++ b/config.sub
@@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc.
-timestamp='2012-04-18'
+timestamp='2012-02-10'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -225,12 +225,6 @@ case $os in
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
- -lynx*178)
- os=-lynxos178
- ;;
- -lynx*5)
- os=-lynxos5
- ;;
-lynx*)
os=-lynxos
;;
@@ -1543,9 +1537,6 @@ case $basic_machine in
c4x-* | tic4x-*)
os=-coff
;;
- hexagon-*)
- os=-elf
- ;;
tic54x-*)
os=-coff
;;
diff --git a/configure b/configure
index e967d79..cb16f63 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer 1.0.8.
+# Generated by GNU Autoconf 2.69 for GStreamer 1.1.2.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GStreamer'
PACKAGE_TARNAME='gstreamer'
-PACKAGE_VERSION='1.0.8'
-PACKAGE_STRING='GStreamer 1.0.8'
+PACKAGE_VERSION='1.1.2'
+PACKAGE_STRING='GStreamer 1.1.2'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
PACKAGE_URL=''
@@ -661,9 +661,9 @@ GST_OPTION_CFLAGS
DEPRECATED_CFLAGS
PROFILE_CFLAGS
GST_LEVEL_DEFAULT
+PRINTF_CFLAGS
ERROR_CFLAGS
WARNING_CFLAGS
-GST_PKG_DEPS
plugindir
PLUGINDIR
DATADIR
@@ -681,9 +681,6 @@ GLIB_GENMARSHAL
GLIB_LIBS
GLIB_CFLAGS
GLIB_REQ
-GST_USING_PRINTF_EXTENSION_DEFINE
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE
GST_HAVE_MONOTONIC_CLOCK_FALSE
GST_HAVE_MONOTONIC_CLOCK_TRUE
GST_HAVE_MONOTONIC_CLOCK_DEFINE
@@ -746,7 +743,6 @@ ENABLE_DOCBOOK_TRUE
HAVE_EPSTOPDF
HAVE_PNMTOPS
HAVE_PNGTOPNM
-HAVE_FIG2DEV
HAVE_XMLLINT
HAVE_DVIPS
CAT_ENTRY_END
@@ -757,7 +753,7 @@ XML_CATALOG
XSLTPROC
HAVE_PS2PDF
HAVE_JADETEX
-HAVE_DOCBOOK2HTML
+HAVE_XSLTPROC
HAVE_DOCBOOK2PS
HAVE_INTROSPECTION_FALSE
HAVE_INTROSPECTION_TRUE
@@ -936,10 +932,6 @@ GST_VERSION_NANO
GST_VERSION_MICRO
GST_VERSION_MINOR
GST_VERSION_MAJOR
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
MAINT
MAINTAINER_MODE_FALSE
MAINTAINER_MODE_TRUE
@@ -948,6 +940,10 @@ PACKAGE_VERSION_NANO
PACKAGE_VERSION_MICRO
PACKAGE_VERSION_MINOR
PACKAGE_VERSION_MAJOR
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
am__untar
am__tar
AMTAR
@@ -1024,8 +1020,8 @@ SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
-enable_maintainer_mode
enable_silent_rules
+enable_maintainer_mode
enable_static
enable_shared
with_pic
@@ -1097,6 +1093,7 @@ CCC
CXXCPP
GTKDOC_DEPS_CFLAGS
GTKDOC_DEPS_LIBS
+PYTHON
GLIB_CFLAGS
GLIB_LIBS
GIO_CFLAGS
@@ -1641,7 +1638,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GStreamer 1.0.8 to adapt to many kinds of systems.
+\`configure' configures GStreamer 1.1.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1712,7 +1709,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GStreamer 1.0.8:";;
+ short | recursive ) echo "Configuration of GStreamer 1.1.2:";;
esac
cat <<\_ACEOF
@@ -1720,16 +1717,19 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-maintainer-mode disable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-silent-rules less verbose build output (undo: `make V=1')
- --disable-silent-rules verbose build output (undo: `make V=0')
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
+ --disable-maintainer-mode
+ disable make rules and dependencies not useful (and
+ sometimes confusing) to the casual installer
--enable-static[=PKGS] build static libraries [default=no]
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-dependency-tracking
+ do not reject slow dependency extractors
+ --disable-dependency-tracking
+ speeds up one-time build
--disable-libtool-lock avoid locking (might break parallel builds)
--disable-nls do not use Native Language Support
--disable-rpath do not hardcode runtime library paths
@@ -1819,6 +1819,7 @@ Some influential environment variables:
C compiler flags for GTKDOC_DEPS, overriding pkg-config
GTKDOC_DEPS_LIBS
linker flags for GTKDOC_DEPS, overriding pkg-config
+ PYTHON the Python interpreter
GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config
GLIB_LIBS linker flags for GLIB, overriding pkg-config
GIO_CFLAGS C compiler flags for GIO, overriding pkg-config
@@ -1890,7 +1891,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GStreamer configure 1.0.8
+GStreamer configure 1.1.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2663,7 +2664,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GStreamer $as_me 1.0.8, which was
+It was created by GStreamer $as_me 1.1.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3158,7 +3159,7 @@ test -n "$target_alias" &&
-am__api_version='1.11'
+am__api_version='1.13'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -3255,9 +3256,6 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
@@ -3268,32 +3266,40 @@ case `pwd` in
esac
case $srcdir in
*[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
esac
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+ alias in your environment" "$LINENO" 5
+ fi
+ if test "$2" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
test "$2" = conftest.file
)
then
@@ -3305,6 +3311,16 @@ Check your system clock" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
@@ -3327,12 +3343,12 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
if test x"${install_sh}" != xset; then
@@ -3344,10 +3360,10 @@ if test x"${install_sh}" != xset; then
esac
fi
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
@@ -3486,12 +3502,6 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
$as_echo "$MKDIR_P" >&6; }
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -3574,6 +3584,45 @@ else
fi
rmdir .tst 2>/dev/null
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
@@ -3596,7 +3645,7 @@ fi
# Define the identity of the package.
PACKAGE='gstreamer'
- VERSION='1.0.8'
+ VERSION='1.1.2'
cat >>confdefs.h <<_ACEOF
@@ -3624,6 +3673,12 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
# Always define AMTAR for backward compatibility. Yes, it's still used
@@ -3631,86 +3686,125 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
AMTAR='$${TAR-tar}'
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
-$as_echo_n "checking how to create a ustar tar archive... " >&6; }
-# Loop over all known methods to create a tar archive until one works.
+# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar plaintar pax cpio none'
-_am_tools=${am_cv_prog_tar_ustar-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- { echo "$as_me:$LINENO: $_am_tar --version" >&5
+
+# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5
+$as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; }
+ if test $am_uid -le $am_max_uid; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ _am_tools=none
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5
+$as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; }
+ if test $am_gid -le $am_max_gid; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ _am_tools=none
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
+$as_echo_n "checking how to create a ustar tar archive... " >&6; }
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ { echo "$as_me:$LINENO: $_am_tar --version" >&5
($_am_tar --version) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && break
- done
- am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x ustar -w "$$tardir"'
- am__tar_='pax -L -x ustar -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
- am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
- am__untar='cpio -i -H ustar -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
+ done
+ am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x ustar -w "$$tardir"'
+ am__tar_='pax -L -x ustar -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+ am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+ am__untar='cpio -i -H ustar -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_ustar}" && break
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_ustar}" && break
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
(tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
- rm -rf conftest.dir
- if test -s conftest.tar; then
- { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
($am__untar <conftest.tar) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
+ { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
+ (cat conftest.dir/file) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
+ rm -rf conftest.dir
-if ${am_cv_prog_tar_ustar+:} false; then :
+ if ${am_cv_prog_tar_ustar+:} false; then :
$as_echo_n "(cached) " >&6
else
am_cv_prog_tar_ustar=$_am_tool
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
$as_echo "$am_cv_prog_tar_ustar" >&6; }
@@ -3719,9 +3813,10 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; }
- PACKAGE_VERSION_MAJOR=$(echo 1.0.8 | cut -d'.' -f1)
- PACKAGE_VERSION_MINOR=$(echo 1.0.8 | cut -d'.' -f2)
- PACKAGE_VERSION_MICRO=$(echo 1.0.8 | cut -d'.' -f3)
+
+ PACKAGE_VERSION_MAJOR=$(echo 1.1.2 | cut -d'.' -f1)
+ PACKAGE_VERSION_MINOR=$(echo 1.1.2 | cut -d'.' -f2)
+ PACKAGE_VERSION_MICRO=$(echo 1.1.2 | cut -d'.' -f3)
@@ -3732,7 +3827,7 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
$as_echo_n "checking nano version... " >&6; }
- NANO=$(echo 1.0.8 | cut -d'.' -f4)
+ NANO=$(echo 1.1.2 | cut -d'.' -f4)
if test x"$NANO" = x || test "x$NANO" = "x0" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -3791,10 +3886,10 @@ if test "${enable_silent_rules+set}" = set; then :
enableval=$enable_silent_rules;
fi
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no) AM_DEFAULT_VERBOSITY=1;;
-*) AM_DEFAULT_VERBOSITY=0;;
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=0;;
esac
am_make=${MAKE-make}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
@@ -3956,7 +4051,7 @@ am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
@@ -4800,8 +4895,8 @@ else
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
@@ -4836,16 +4931,16 @@ else
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
@@ -4854,8 +4949,8 @@ else
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
@@ -4863,7 +4958,7 @@ else
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
@@ -8325,10 +8420,10 @@ fi
done
- GST_CURRENT=7
+ GST_CURRENT=102
GST_REVISION=0
- GST_AGE=7
- GST_LIBVERSION=7:0:7
+ GST_AGE=102
+ GST_LIBVERSION=102:0:102
@@ -12717,6 +12812,13 @@ ACLOCAL_AMFLAGS="-I m4 -I common/m4"
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
$as_echo_n "checking whether NLS is requested... " >&6; }
# Check whether --enable-nls was given.
@@ -17027,8 +17129,8 @@ else
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
@@ -17063,16 +17165,16 @@ else
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
@@ -17081,8 +17183,8 @@ else
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
@@ -17090,7 +17192,7 @@ else
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
@@ -17582,8 +17684,8 @@ else
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
@@ -17616,16 +17718,16 @@ else
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
@@ -17634,8 +17736,8 @@ else
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
@@ -17643,7 +17745,7 @@ else
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
@@ -17966,8 +18068,8 @@ else
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
@@ -18002,16 +18104,16 @@ else
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
@@ -18020,8 +18122,8 @@ else
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
@@ -18029,7 +18131,7 @@ else
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
@@ -21698,15 +21800,15 @@ $as_echo "no" >&6; }
fi
- # Extract the first word of "docbook2html", so it can be a program name with args.
-set dummy docbook2html; ac_word=$2
+ # Extract the first word of "xsltproc", so it can be a program name with args.
+set dummy xsltproc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_HAVE_DOCBOOK2HTML+:} false; then :
+if ${ac_cv_prog_HAVE_XSLTPROC+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$HAVE_DOCBOOK2HTML"; then
- ac_cv_prog_HAVE_DOCBOOK2HTML="$HAVE_DOCBOOK2HTML" # Let the user override the test.
+ if test -n "$HAVE_XSLTPROC"; then
+ ac_cv_prog_HAVE_XSLTPROC="$HAVE_XSLTPROC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -21715,7 +21817,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_HAVE_DOCBOOK2HTML="yes"
+ ac_cv_prog_HAVE_XSLTPROC="yes"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -21723,13 +21825,13 @@ done
done
IFS=$as_save_IFS
- test -z "$ac_cv_prog_HAVE_DOCBOOK2HTML" && ac_cv_prog_HAVE_DOCBOOK2HTML="no"
+ test -z "$ac_cv_prog_HAVE_XSLTPROC" && ac_cv_prog_HAVE_XSLTPROC="no"
fi
fi
-HAVE_DOCBOOK2HTML=$ac_cv_prog_HAVE_DOCBOOK2HTML
-if test -n "$HAVE_DOCBOOK2HTML"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_DOCBOOK2HTML" >&5
-$as_echo "$HAVE_DOCBOOK2HTML" >&6; }
+HAVE_XSLTPROC=$ac_cv_prog_HAVE_XSLTPROC
+if test -n "$HAVE_XSLTPROC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_XSLTPROC" >&5
+$as_echo "$HAVE_XSLTPROC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -21813,33 +21915,6 @@ fi
- # -V option appeared in 0.6.10
- docbook2html_min_version=0.6.10
- if test "x$HAVE_DOCBOOK2HTML" != "xno"; then
- docbook2html_version=`docbook2html --version`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking docbook2html version ($docbook2html_version) >= $docbook2html_min_version" >&5
-$as_echo_n "checking docbook2html version ($docbook2html_version) >= $docbook2html_min_version... " >&6; }
- if perl -w <<EOF
- (\$min_version_major, \$min_version_minor, \$min_version_micro ) = "$docbook2html_min_version" =~ /(\d+)\.(\d+)\.(\d+)/;
- (\$docbook2html_version_major, \$docbook2html_version_minor, \$docbook2html_version_micro ) = "$docbook2html_version" =~ /(\d+)\.(\d+)\.(\d+)/;
- exit (((\$docbook2html_version_major > \$min_version_major) ||
- ((\$docbook2html_version_major == \$min_version_major) &&
- (\$docbook2html_version_minor >= \$min_version_minor)) ||
- ((\$docbook2html_version_major == \$min_version_major) &&
- (\$docbook2html_version_minor >= \$min_version_minor) &&
- (\$docbook2html_version_micro >= \$min_version_micro)))
- ? 0 : 1);
-EOF
- then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- HAVE_DOCBOOK2HTML=no
- fi
- fi
-
XSLTPROC_FLAGS=--nonet
DOCBOOK_ROOT=
@@ -21847,7 +21922,19 @@ $as_echo "no" >&6; }
TYPE_UC=XML
DOCBOOK_VERSION=4.1.2
- if test ! -f /etc/xml/catalog; then
+ if test -n "$XML_CATALOG_FILES"; then
+ oldIFS=$IFS
+ IFS=' '
+ for xml_catalog_file in $XML_CATALOG_FILES; do
+ if test -f $xml_catalog_file; then
+ XML_CATALOG=$xml_catalog_file
+ CAT_ENTRY_START='<!--'
+ CAT_ENTRY_END='-->'
+ break
+ fi
+ done
+ IFS=$oldIFS
+ elif test ! -f /etc/xml/catalog; then
for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/ /usr/local/share/xsl/docbook ;
do
if test -d "$i"; then
@@ -22010,71 +22097,6 @@ fi
- # Extract the first word of "fig2dev", so it can be a program name with args.
-set dummy fig2dev; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_HAVE_FIG2DEV+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$HAVE_FIG2DEV"; then
- ac_cv_prog_HAVE_FIG2DEV="$HAVE_FIG2DEV" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_HAVE_FIG2DEV="yes"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_HAVE_FIG2DEV" && ac_cv_prog_HAVE_FIG2DEV="no"
-fi
-fi
-HAVE_FIG2DEV=$ac_cv_prog_HAVE_FIG2DEV
-if test -n "$HAVE_FIG2DEV"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_FIG2DEV" >&5
-$as_echo "$HAVE_FIG2DEV" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$HAVE_FIG2DEV" = "xno" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Did not find fig2dev (from xfig), images will not be generated." >&5
-$as_echo "$as_me: WARNING: Did not find fig2dev (from xfig), images will not be generated." >&2;}
- fi
-
- HAVE_FIG2DEV_EPS=no
- if test "x$HAVE_FIG2DEV" = "xyes" ; then
- fig2dev_quiet=`fig2dev -L eps </dev/null 2>&1 >/dev/null`
- if test "x$fig2dev_quiet" = "x" ; then
- HAVE_FIG2DEV_EPS=yes
- fi
- fi
- HAVE_FIG2DEV_PNG=no
- if test "x$HAVE_FIG2DEV" = "xyes" ; then
- fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
- if test "x$fig2dev_quiet" = "x" ; then
- HAVE_FIG2DEV_PNG=yes
- fi
- fi
- HAVE_FIG2DEV_PDF=no
- if test "x$HAVE_FIG2DEV" = "xyes" ; then
- fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
- if test "x$fig2dev_quiet" = "x" ; then
- HAVE_FIG2DEV_PDF=yes
- fi
- fi
-
# Extract the first word of "pngtopnm", so it can be a program name with args.
set dummy pngtopnm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -22190,10 +22212,9 @@ fi
- if test "x$HAVE_DOCBOOK2HTML" = "xyes" && \
+ if test "x$HAVE_XSLTPROC" = "xyes" && \
test "x$enable_docbook" = "xyes" && \
- test "x$HAVE_XMLLINT" = "xyes" && \
- test "x$HAVE_FIG2DEV_PNG" = "xyes"; then
+ test "x$HAVE_XMLLINT" = "xyes"; then
DOC_HTML=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: Will output HTML documentation" >&5
$as_echo "$as_me: Will output HTML documentation" >&6;}
@@ -22207,7 +22228,6 @@ $as_echo "$as_me: Will not output HTML documentation" >&6;}
test "x$enable_docbook" = "xyes" && \
test "x$HAVE_XMLLINT" = "xyes" && \
test "x$HAVE_JADETEX" = "xyes" && \
- test "x$HAVE_FIG2DEV_EPS" = "xyes" && \
test "x$HAVE_DVIPS" = "xyes" && \
test "x$HAVE_PNGTOPNM" = "xyes" && \
test "x$HAVE_PNMTOPS" = "xyes"; then
@@ -22662,27 +22682,16 @@ fi
- PYTHON_CANDIDATES="python python2.2 python2.1 python2.0 python2 \
- python1.6 python1.5"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Looking for Python version >= 2.1" >&5
-$as_echo "$as_me: Looking for Python version >= 2.1" >&6;}
- prog="
-import sys, string
-minver = '2.1'
-# split string by '.' and convert to numeric
-minver_info = map(string.atoi, string.split(minver, '.'))
-# we can now do comparisons on the two lists:
-if sys.version_info >= tuple(minver_info):
- sys.exit(0)
-else:
- sys.exit(1)"
- python_good=false
- for python_candidate in $PYTHON_CANDIDATES; do
- unset PYTHON
- # Extract the first word of "$python_candidate", so it can be a program name with args.
-set dummy $python_candidate; ac_word=$2
+
+
+ # Find any Python interpreter.
+ if test -z "$PYTHON"; then
+ for ac_prog in python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PYTHON+:} false; then :
@@ -22720,80 +22729,178 @@ else
$as_echo "no" >&6; }
fi
- 1> /dev/null 2> /dev/null
- if test "x$PYTHON" = "x"; then continue; fi
+ test -n "$PYTHON" && break
+done
+test -n "$PYTHON" || PYTHON=":"
- if $PYTHON -c "$prog" 1>&5 2>&5; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking \"$PYTHON\":" >&5
-$as_echo_n "checking \"$PYTHON\":... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: okay" >&5
-$as_echo "okay" >&6; }
- python_good=true
- break;
- else
- unset ac_cv_path_PYTHON
- fi
- done
+ fi
+ am_display_PYTHON=python
- if test "$python_good" != "true"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No suitable version of python found" >&5
-$as_echo "$as_me: WARNING: No suitable version of python found" >&2;}
- PYTHON=
+ if test "$PYTHON" = :; then
+ as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking local Python configuration" >&5
-$as_echo_n "checking local Python configuration... " >&6; }
-
-
-
- PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
+$as_echo_n "checking for $am_display_PYTHON version... " >&6; }
+if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+$as_echo "$am_cv_python_version" >&6; }
+ PYTHON_VERSION=$am_cv_python_version
PYTHON_PREFIX='${prefix}'
-
PYTHON_EXEC_PREFIX='${exec_prefix}'
- PYTHON_PLATFORM=`$PYTHON -c "import sys; print sys.platform"`
-
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
+$as_echo_n "checking for $am_display_PYTHON platform... " >&6; }
+if ${am_cv_python_platform+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
+$as_echo "$am_cv_python_platform" >&6; }
+ PYTHON_PLATFORM=$am_cv_python_platform
+ # Just factor out some code duplication.
+ am_python_setup_sysconfig="\
+import sys
+# Prefer sysconfig over distutils.sysconfig, for better compatibility
+# with python 3.x. See automake bug#10227.
+try:
+ import sysconfig
+except ImportError:
+ can_use_sysconfig = 0
+else:
+ can_use_sysconfig = 1
+# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
+# <https://github.com/pypa/virtualenv/issues/118>
+try:
+ from platform import python_implementation
+ if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
+ can_use_sysconfig = 0
+except ImportError:
+ pass"
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
+$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; }
+if ${am_cv_python_pythondir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$prefix" = xNONE
+ then
+ am_py_prefix=$ac_default_prefix
+ else
+ am_py_prefix=$prefix
+ fi
+ am_cv_python_pythondir=`$PYTHON -c "
+$am_python_setup_sysconfig
+if can_use_sysconfig:
+ sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
+else:
+ from distutils import sysconfig
+ sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
+sys.stdout.write(sitedir)"`
+ case $am_cv_python_pythondir in
+ $am_py_prefix*)
+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
+ ;;
+ *)
+ case $am_py_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
- pythondir=$PYTHON_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
+$as_echo "$am_cv_python_pythondir" >&6; }
+ pythondir=$am_cv_python_pythondir
pkgpythondir=\${pythondir}/$PACKAGE
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
+$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; }
+if ${am_cv_python_pyexecdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$exec_prefix" = xNONE
+ then
+ am_py_exec_prefix=$am_py_prefix
+ else
+ am_py_exec_prefix=$exec_prefix
+ fi
+ am_cv_python_pyexecdir=`$PYTHON -c "
+$am_python_setup_sysconfig
+if can_use_sysconfig:
+ sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
+else:
+ from distutils import sysconfig
+ sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
+sys.stdout.write(sitedir)"`
+ case $am_cv_python_pyexecdir in
+ $am_py_exec_prefix*)
+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
+ ;;
+ *)
+ case $am_py_exec_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
- pyexecdir=$PYTHON_EXEC_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
+$as_echo "$am_cv_python_pyexecdir" >&6; }
+ pyexecdir=$am_cv_python_pyexecdir
pkgpyexecdir=\${pyexecdir}/$PACKAGE
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: looks good" >&5
-$as_echo "looks good" >&6; }
+
fi
+
build_plugin_docs=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build plugin documentation" >&5
$as_echo_n "checking whether to build plugin documentation... " >&6; }
if test x$enable_gtk_doc = xyes; then
- build_plugin_docs=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ if test x$PYTHON != x; then
+ build_plugin_docs=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (python not found)" >&5
+$as_echo "no (python not found)" >&6; }
+ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no (gtk-doc disabled or not available)" >&5
$as_echo "no (gtk-doc disabled or not available)" >&6; }
@@ -24377,6 +24484,53 @@ if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then :
LIBS="$LIBS -lrt"
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lpthread" >&5
+$as_echo_n "checking for clock_gettime in -lpthread... " >&6; }
+if ${ac_cv_lib_pthread_clock_gettime+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char clock_gettime ();
+int
+main ()
+{
+return clock_gettime ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_pthread_clock_gettime=yes
+else
+ ac_cv_lib_pthread_clock_gettime=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_clock_gettime" >&5
+$as_echo "$ac_cv_lib_pthread_clock_gettime" >&6; }
+if test "x$ac_cv_lib_pthread_clock_gettime" = xyes; then :
+
+ $as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
+
+ LIBS="$LIBS -lpthread"
+
+fi
+
+
fi
@@ -24626,35 +24780,6 @@ _ACEOF
-for ac_func in register_printf_specifier register_printf_function
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- HAVE_PRINTF_EXTENSION=yes
-fi
-done
-
-
-if test "$HAVE_PRINTF_EXTENSION" = yes; then
- GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE="#define GST_PTR_FORMAT \"P\""
- GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE="#define GST_SEGMENT_FORMAT \"Q\""
- GST_USING_PRINTF_EXTENSION_DEFINE="#define GST_USING_PRINTF_EXTENSION"
-
-$as_echo "#define HAVE_PRINTF_EXTENSION 1" >>confdefs.h
-
-else
- GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE="#define GST_PTR_FORMAT \"p\""
- GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE="#define GST_SEGMENT_FORMAT \"p\""
- GST_USING_PRINTF_EXTENSION_DEFINE="#undef GST_USING_PRINTF_EXTENSION"
-fi
-
-
-
-
save_cflags="$CFLAGS"
CFLAGS="$CFLAGS -D_GNU_SOURCE"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dladdr in -ldl" >&5
@@ -24702,6 +24827,280 @@ fi
CFLAGS="$save_cflags"
+if test "x${GST_DISABLE_GST_DEBUG}" != "xyes"; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5
+$as_echo_n "checking for long long int... " >&6; }
+if ${ac_cv_type_long_long_int+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ /* Test preprocessor. */
+ #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+ error in preprocessor;
+ #endif
+ #if ! (18446744073709551615ULL <= -1ull)
+ error in preprocessor;
+ #endif
+ /* Test literals. */
+ long long int ll = 9223372036854775807ll;
+ long long int nll = -9223372036854775807LL;
+ unsigned long long int ull = 18446744073709551615ULL;
+ /* Test constant expressions. */
+ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+ ? 1 : -1)];
+ typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
+ ? 1 : -1)];
+ int i = 63;
+int
+main ()
+{
+/* Test availability of runtime routines for shift and division. */
+ long long int llmax = 9223372036854775807ll;
+ unsigned long long int ullmax = 18446744073709551615ull;
+ return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
+ | (llmax / ll) | (llmax % ll)
+ | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+ | (ullmax / ull) | (ullmax % ull));
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if test "$cross_compiling" = yes; then :
+ ac_cv_type_long_long_int=yes
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+ #ifndef LLONG_MAX
+ # define HALF \
+ (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+ # define LLONG_MAX (HALF - 1 + HALF)
+ #endif
+int
+main ()
+{
+long long int n = 1;
+ int i;
+ for (i = 0; ; i++)
+ {
+ long long int m = n << i;
+ if (m >> i != n)
+ return 1;
+ if (LLONG_MAX / 2 < m)
+ break;
+ }
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_type_long_long_int=yes
+else
+ ac_cv_type_long_long_int=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+else
+ ac_cv_type_long_long_int=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5
+$as_echo "$ac_cv_type_long_long_int" >&6; }
+ if test $ac_cv_type_long_long_int = yes; then
+
+$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
+
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5
+$as_echo_n "checking for unsigned long long int... " >&6; }
+if ${ac_cv_type_unsigned_long_long_int+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ /* Test preprocessor. */
+ #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+ error in preprocessor;
+ #endif
+ #if ! (18446744073709551615ULL <= -1ull)
+ error in preprocessor;
+ #endif
+ /* Test literals. */
+ long long int ll = 9223372036854775807ll;
+ long long int nll = -9223372036854775807LL;
+ unsigned long long int ull = 18446744073709551615ULL;
+ /* Test constant expressions. */
+ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+ ? 1 : -1)];
+ typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
+ ? 1 : -1)];
+ int i = 63;
+int
+main ()
+{
+/* Test availability of runtime routines for shift and division. */
+ long long int llmax = 9223372036854775807ll;
+ unsigned long long int ullmax = 18446744073709551615ull;
+ return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
+ | (llmax / ll) | (llmax % ll)
+ | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+ | (ullmax / ull) | (ullmax % ull));
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_type_unsigned_long_long_int=yes
+else
+ ac_cv_type_unsigned_long_long_int=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5
+$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; }
+ if test $ac_cv_type_unsigned_long_long_int = yes; then
+
+$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h
+
+ fi
+
+
+ if test x$ac_cv_type_long_long_int$ac_cv_type_unsigned_long_long_int = xyesyes; then
+
+$as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h
+
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5
+$as_echo_n "checking for inttypes.h... " >&6; }
+if ${gl_cv_header_inttypes_h+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <inttypes.h>
+int
+main ()
+{
+uintmax_t i = (uintmax_t) -1; return !i;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_inttypes_h=yes
+else
+ gl_cv_header_inttypes_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5
+$as_echo "$gl_cv_header_inttypes_h" >&6; }
+ if test $gl_cv_header_inttypes_h = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INTTYPES_H_WITH_UINTMAX 1
+_ACEOF
+
+ fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5
+$as_echo_n "checking for stdint.h... " >&6; }
+if ${gl_cv_header_stdint_h+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <stdint.h>
+int
+main ()
+{
+uintmax_t i = (uintmax_t) -1; return !i;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_stdint_h=yes
+else
+ gl_cv_header_stdint_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5
+$as_echo "$gl_cv_header_stdint_h" >&6; }
+ if test $gl_cv_header_stdint_h = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STDINT_H_WITH_UINTMAX 1
+_ACEOF
+
+ fi
+
+
+ ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default"
+if test "x$ac_cv_type_ptrdiff_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_PTRDIFF_T 1
+_ACEOF
+
+
+fi
+
+
+
+
+ ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "$ac_includes_default"
+if test "x$ac_cv_type_intmax_t" = xyes; then :
+
+$as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h
+
+else
+ test $ac_cv_type_long_long_int = yes \
+ && ac_type='long long int' \
+ || ac_type='long int'
+
+cat >>confdefs.h <<_ACEOF
+#define intmax_t $ac_type
+_ACEOF
+
+fi
+
+
+ ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
+fi
+
GLIB_REQ=2.32.0
@@ -24715,7 +25114,7 @@ GLIB_REQ=2.32.0
- which="glib-2.0 >= $GLIB_REQ gobject-2.0 gthread-2.0 gmodule-no-export-2.0"
+ which="glib-2.0 >= $GLIB_REQ gobject-2.0 gmodule-no-export-2.0"
required="no"
@@ -24816,7 +25215,7 @@ fi
GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_THREADS_MANDATORY"
- if test "x$PACKAGE_VERSION_NANO" = "x1"; then
+ if test "x$PACKAGE_VERSION_NANO" = "x1" -o "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1"; then
GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_DEPRECATED"
fi
@@ -24829,7 +25228,7 @@ fi
if test "x$enable_gobject_cast_checks" = "xauto"; then
- if test "x$PACKAGE_VERSION_NANO" = "x1"; then
+ if test "x$PACKAGE_VERSION_NANO" = "x1" -o "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1"; then
enable_gobject_cast_checks=yes
else
enable_gobject_cast_checks=no
@@ -24849,7 +25248,7 @@ fi
if test "x$enable_glib_assertions" = "xauto"; then
- if test "x$PACKAGE_VERSION_NANO" = "x1"; then
+ if test "x$PACKAGE_VERSION_NANO" = "x1" -o "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1"; then
enable_glib_assertions=yes
else
enable_glib_assertions=no
@@ -25147,11 +25546,13 @@ int main (void) { return 0; }
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
enable_Bsymbolic=yes
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
enable_Bsymbolic=no
fi
@@ -25279,9 +25680,6 @@ $as_echo "$as_me: Using $PLUGINDIR as the plugin install location" >&6;}
-GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-no-export-2.0, gthread-2.0"
-
-
NO_WARNINGS=""
if test "x${GST_DISABLE_GST_DEBUG}" = "xyes"; then
NO_WARNINGS="-Wno-unused"
@@ -25673,6 +26071,44 @@ $as_echo "$as_me: set ERROR_CFLAGS to $ERROR_CFLAGS" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands -Wno-format-nonliteral" >&5
+$as_echo_n "checking to see if compiler understands -Wno-format-nonliteral... " >&6; }
+
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Wno-format-nonliteral"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ flag_ok=yes
+else
+ flag_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$save_CFLAGS"
+
+ if test "X$flag_ok" = Xyes ; then
+ PRINTF_CFLAGS="-Wno-format-nonliteral"
+ true
+ else
+
+ true
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $flag_ok" >&5
+$as_echo "$flag_ok" >&6; }
+
+
+
+
if test "x$GST_GIT" = "xyes"; then
GST_LEVEL_DEFAULT=GST_LEVEL_ERROR
else
@@ -26304,7 +26740,7 @@ fi
-ac_config_files="$ac_config_files Makefile gst/Makefile gst/gstconfig.h gst/gstversion.h gst/parse/Makefile libs/Makefile libs/gst/Makefile libs/gst/base/Makefile libs/gst/check/Makefile libs/gst/check/libcheck/Makefile libs/gst/check/libcheck/check.h libs/gst/controller/Makefile libs/gst/helpers/Makefile libs/gst/net/Makefile plugins/Makefile plugins/elements/Makefile po/Makefile.in tests/Makefile tests/benchmarks/Makefile tests/check/Makefile tests/misc/Makefile tests/examples/Makefile tests/examples/adapter/Makefile tests/examples/controller/Makefile tests/examples/stepping/Makefile tests/examples/helloworld/Makefile tests/examples/launch/Makefile tests/examples/manual/Makefile tests/examples/memory/Makefile tests/examples/metadata/Makefile tests/examples/queue/Makefile tests/examples/streams/Makefile tests/examples/typefind/Makefile tools/Makefile common/Makefile common/m4/Makefile docs/Makefile docs/design/Makefile docs/faq/Makefile docs/gst/Makefile docs/gst/gstreamer.types docs/libs/Makefile docs/plugins/Makefile docs/manual/Makefile docs/pwg/Makefile docs/slides/Makefile docs/xsl/Makefile docs/version.entities m4/Makefile pkgconfig/Makefile stamp.h pkgconfig/gstreamer.pc pkgconfig/gstreamer-uninstalled.pc pkgconfig/gstreamer-base.pc pkgconfig/gstreamer-base-uninstalled.pc pkgconfig/gstreamer-check.pc pkgconfig/gstreamer-check-uninstalled.pc pkgconfig/gstreamer-controller.pc pkgconfig/gstreamer-controller-uninstalled.pc pkgconfig/gstreamer-net.pc pkgconfig/gstreamer-net-uninstalled.pc gstreamer.spec"
+ac_config_files="$ac_config_files Makefile gst/Makefile gst/gstconfig.h gst/gstversion.h gst/parse/Makefile gst/printf/Makefile libs/Makefile libs/gst/Makefile libs/gst/base/Makefile libs/gst/check/Makefile libs/gst/check/libcheck/Makefile libs/gst/check/libcheck/check.h libs/gst/controller/Makefile libs/gst/helpers/Makefile libs/gst/net/Makefile plugins/Makefile plugins/elements/Makefile po/Makefile.in tests/Makefile tests/benchmarks/Makefile tests/check/Makefile tests/misc/Makefile tests/examples/Makefile tests/examples/adapter/Makefile tests/examples/controller/Makefile tests/examples/stepping/Makefile tests/examples/helloworld/Makefile tests/examples/launch/Makefile tests/examples/manual/Makefile tests/examples/memory/Makefile tests/examples/metadata/Makefile tests/examples/queue/Makefile tests/examples/streams/Makefile tests/examples/typefind/Makefile tools/Makefile common/Makefile common/m4/Makefile docs/Makefile docs/design/Makefile docs/faq/Makefile docs/gst/Makefile docs/gst/gstreamer.types docs/libs/Makefile docs/plugins/Makefile docs/manual/Makefile docs/pwg/Makefile docs/slides/Makefile docs/xsl/Makefile docs/version.entities m4/Makefile pkgconfig/Makefile stamp.h pkgconfig/gstreamer.pc pkgconfig/gstreamer-uninstalled.pc pkgconfig/gstreamer-base.pc pkgconfig/gstreamer-base-uninstalled.pc pkgconfig/gstreamer-check.pc pkgconfig/gstreamer-check-uninstalled.pc pkgconfig/gstreamer-controller.pc pkgconfig/gstreamer-controller-uninstalled.pc pkgconfig/gstreamer-net.pc pkgconfig/gstreamer-net-uninstalled.pc gstreamer.spec"
sed \
@@ -26451,6 +26887,14 @@ LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
if test -n "$EXEEXT"; then
am__EXEEXT_TRUE=
am__EXEEXT_FALSE='#'
@@ -27077,7 +27521,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GStreamer $as_me 1.0.8, which was
+This file was extended by GStreamer $as_me 1.1.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -27143,7 +27587,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GStreamer config.status 1.0.8
+GStreamer config.status 1.1.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -27684,6 +28128,7 @@ do
"gst/gstconfig.h") CONFIG_FILES="$CONFIG_FILES gst/gstconfig.h" ;;
"gst/gstversion.h") CONFIG_FILES="$CONFIG_FILES gst/gstversion.h" ;;
"gst/parse/Makefile") CONFIG_FILES="$CONFIG_FILES gst/parse/Makefile" ;;
+ "gst/printf/Makefile") CONFIG_FILES="$CONFIG_FILES gst/printf/Makefile" ;;
"libs/Makefile") CONFIG_FILES="$CONFIG_FILES libs/Makefile" ;;
"libs/gst/Makefile") CONFIG_FILES="$CONFIG_FILES libs/gst/Makefile" ;;
"libs/gst/base/Makefile") CONFIG_FILES="$CONFIG_FILES libs/gst/base/Makefile" ;;
@@ -28337,7 +28782,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
@@ -28350,7 +28795,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
+ # We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
@@ -28384,21 +28829,19 @@ $as_echo X"$mf" |
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
+ # from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`$as_dirname -- "$file" ||
diff --git a/configure.ac b/configure.ac
index ecce763..f74756e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,12 +1,10 @@
-AC_PREREQ(2.62)
+AC_PREREQ([2.68])
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, git and prerelease does Werror too
dnl
-AC_INIT(GStreamer, 1.0.8,
- http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
- gstreamer)
+AC_INIT([GStreamer],[1.1.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
AG_GST_INIT
dnl initialize automake (we require GNU make)
@@ -57,8 +55,16 @@ dnl - library source changed -> increment REVISION
dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
+dnl
+dnl Keep CURRENT as MINOR * 100 + MICRO
+dnl Ex : 1.0.0 => 0
+dnl 1.0.3 => 3
+dnl 1.1.0 => 100
+dnl 1.2.5 => 205
+dnl 1.10.9 (who knows) => 1009
+dnl
dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 7, 0, 7)
+AS_LIBTOOL(GST, 102, 0, 102)
dnl *** autotools stuff ****
@@ -152,7 +158,7 @@ AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
dnl building of tests
AC_ARG_ENABLE(tests,
- AC_HELP_STRING([--disable-tests], [disable building test apps]),
+ AS_HELP_STRING([--disable-tests],[disable building test apps]),
[
case "${enableval}" in
yes) BUILD_TESTS=yes ;;
@@ -165,8 +171,7 @@ AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
dnl tests known to fail
AC_ARG_ENABLE(failing-tests,
- AC_HELP_STRING([--disable-failing-tests],
- [disable building tests known to fail]),
+ AS_HELP_STRING([--disable-failing-tests],[disable building tests known to fail]),
[
case "${enableval}" in
yes) BUILD_FAILING_TESTS=yes ;;
@@ -184,7 +189,7 @@ fi
dnl building of benchmarks
AC_ARG_ENABLE(benchmarks,
- AC_HELP_STRING([--disable-benchmarks], [disable building benchmarks apps]),
+ AS_HELP_STRING([--disable-benchmarks],[disable building benchmarks apps]),
[
case "${enableval}" in
yes) BUILD_BENCHMARKS=yes ;;
@@ -197,7 +202,7 @@ AM_CONDITIONAL(BUILD_BENCHMARKS, test "x$BUILD_BENCHMARKS" = "xyes")
dnl building of tools
AC_ARG_ENABLE(tools,
- AC_HELP_STRING([--disable-tools], [disable building tools]),
+ AS_HELP_STRING([--disable-tools],[disable building tools]),
[
case "${enableval}" in
yes) BUILD_TOOLS=yes ;;
@@ -210,8 +215,7 @@ AM_CONDITIONAL(BUILD_TOOLS, test "x$BUILD_TOOLS" = "xyes")
dnl poison destroyed objects
AC_ARG_ENABLE(poisoning,
- AC_HELP_STRING([--enable-poisoning],
- [enable poisoning of deallocated objects]),
+ AS_HELP_STRING([--enable-poisoning],[enable poisoning of deallocated objects]),
[
case "${enableval}" in
yes) USE_POISONING=yes ;;
@@ -273,7 +277,7 @@ AC_PROG_CXX
dnl CXX may be set to some default even if no c++ compiler is available
dnl (thanks autotools!), so just try to compile some c++ code to make sure
AC_LANG_PUSH([C++])
-AC_TRY_COMPILE([ class Foo { int bar; };], , working_cxx=yes, working_cxx=no)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ class Foo { int bar; };]], [[]])],[working_cxx=yes],[working_cxx=no])
AC_LANG_POP([C++])
AC_MSG_NOTICE([working c++ compiler found: $working_cxx])
AM_CONDITIONAL(HAVE_CXX, test "x$working_cxx" = "xyes")
@@ -299,8 +303,7 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
dnl check for documentation tools
AG_GST_DOCBOOK_CHECK
GTK_DOC_CHECK([1.12])
-AS_PATH_PYTHON([2.1])
-AG_GST_PLUGIN_DOCS([1.3],[2.1])
+AG_GST_PLUGIN_DOCS([1.12])
dnl *** checks for libraries ***
@@ -380,14 +383,14 @@ dnl check if the compiler supports __uint128_t (gcc)
dnl Actually check for 128-bit division, since that's what we use
dnl uint128_t for.
AC_CACHE_CHECK(for __uint128_t, gst_cv_uint128_t,
- AC_TRY_LINK([ ], [
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[
static __uint128_t v1 = 100;
static __uint128_t v2 = 10;
static __uint128_t u;
u = v1 / v2;
- ], [
+ ]])],[
gst_cv_uint128_t=yes
- ], [
+ ],[
gst_cv_uint128_t=no
])
)
@@ -477,22 +480,27 @@ AC_CHECK_FUNCS(clock_gettime, [], [
AC_CHECK_LIB(rt, clock_gettime, [
AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
LIBS="$LIBS -lrt"
+ ], [
+ AC_CHECK_LIB(pthread, clock_gettime, [
+ AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
+ LIBS="$LIBS -lpthread"
+ ])
])
])
AC_CACHE_CHECK(for posix timers, gst_cv_posix_timers,
- AC_TRY_COMPILE([
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <time.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
- ], [
+ ]], [[
#if !defined(_POSIX_TIMERS) || _POSIX_TIMERS < 0 || !defined(CLOCK_REALTIME)
#error Either _POSIX_TIMERS or CLOCK_REALTIME not defined
#endif
- ], [
+ ]])],[
gst_cv_posix_timers=yes
- ], [
+ ],[
gst_cv_posix_timers=no
])
)
@@ -507,18 +515,18 @@ AC_SUBST(GST_HAVE_POSIX_TIMERS_DEFINE)
AM_CONDITIONAL(GST_HAVE_POSIX_TIMERS, test "$gst_cv_posix_timers" = "yes")
AC_CACHE_CHECK(for monotonic clock, gst_cv_monotonic_clock,
- AC_TRY_COMPILE([
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <time.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
- ], [
+ ]], [[
#if !defined(_POSIX_MONOTONIC_CLOCK) || _POSIX_MONOTONIC_CLOCK < 0 || !defined(CLOCK_MONOTONIC)
#error Either _POSIX_MONOTONIC_CLOCK or CLOCK_MONOTONIC not defined
#endif
- ], [
+ ]])],[
gst_cv_monotonic_clock=yes
- ], [
+ ],[
gst_cv_monotonic_clock=no
])
)
@@ -535,25 +543,6 @@ AM_CONDITIONAL(GST_HAVE_MONOTONIC_CLOCK, test "$gst_cv_monotonic_clock" = "yes")
dnl Check for a way to display the function name in debug output
AG_GST_CHECK_FUNCTION
-dnl test for register_printf_specifier or register_printf_function
-AC_CHECK_FUNCS([register_printf_specifier register_printf_function],
- [HAVE_PRINTF_EXTENSION=yes])
-
-if test "$HAVE_PRINTF_EXTENSION" = yes; then
- GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE="#define GST_PTR_FORMAT \"P\""
- GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE="#define GST_SEGMENT_FORMAT \"Q\""
- GST_USING_PRINTF_EXTENSION_DEFINE="#define GST_USING_PRINTF_EXTENSION"
- AC_DEFINE(HAVE_PRINTF_EXTENSION, 1,
- [Defined if we have printf specifier extensions available])
-else
- GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE="#define GST_PTR_FORMAT \"p\""
- GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE="#define GST_SEGMENT_FORMAT \"p\""
- GST_USING_PRINTF_EXTENSION_DEFINE="#undef GST_USING_PRINTF_EXTENSION"
-fi
-AC_SUBST(GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE)
-AC_SUBST(GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE)
-AC_SUBST(GST_USING_PRINTF_EXTENSION_DEFINE)
-
dnl test if we have dladdr(); we use it for debugging; see gst/gstinfo.c
save_cflags="$CFLAGS"
CFLAGS="$CFLAGS -D_GNU_SOURCE"
@@ -562,6 +551,27 @@ AC_CHECK_LIB(dl, dladdr,
LIBS="$LIBS -ldl")
CFLAGS="$save_cflags"
+dnl Check printf stuff
+if test "x${GST_DISABLE_GST_DEBUG}" != "xyes"; then
+ AC_TYPE_LONG_LONG_INT
+ AC_TYPE_UNSIGNED_LONG_LONG_INT
+
+ if test x$ac_cv_type_long_long_int$ac_cv_type_unsigned_long_long_int = xyesyes; then
+ AC_DEFINE([HAVE_LONG_LONG], [1], [Define to 1 if the system has the type long long])
+ fi
+
+ dnl /usr/share/aclocal/inttypes_h.m4 - ships with gettext apparently
+ gl_AC_HEADER_INTTYPES_H
+
+ dnl /usr/share/aclocal/stdint_h.m4 - ships with gettext apparently
+ gl_AC_HEADER_STDINT_H
+
+ AC_CHECK_TYPES(ptrdiff_t)
+
+ AC_TYPE_INTMAX_T
+ AC_TYPE_SIZE_T
+fi
+
dnl *** checks for dependency libraries ***
dnl GLib
@@ -574,7 +584,7 @@ AC_SUBST(GLIB_PREFIX)
dnl building of unit test libraries
AC_ARG_ENABLE(check,
- AC_HELP_STRING([--disable-check], [disable building unit test libraries]),
+ AS_HELP_STRING([--disable-check],[disable building unit test libraries]),
[
case "${enableval}" in
yes) BUILD_CHECK=yes ;;
@@ -614,16 +624,15 @@ AC_ARG_WITH([memory-alignment],
dnl Check for -Bsymbolic-functions linker flag used to avoid
dnl intra-library PLT jumps, if available.
AC_ARG_ENABLE(Bsymbolic,
- [AC_HELP_STRING([--disable-Bsymbolic],
- [avoid linking with -Bsymbolic])],,
+ [AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],,
[SAVED_LDFLAGS="${LDFLAGS}"
AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
LDFLAGS=-Wl,-Bsymbolic-functions
- AC_TRY_LINK([], [int main (void) { return 0; }],
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[int main (void) { return 0; }]])],[
AC_MSG_RESULT(yes)
- enable_Bsymbolic=yes,
+ enable_Bsymbolic=yes],[
AC_MSG_RESULT(no)
- enable_Bsymbolic=no)
+ enable_Bsymbolic=no])
LDFLAGS="${SAVED_LDFLAGS}"])
@@ -643,9 +652,6 @@ AC_DEFINE_UNQUOTED(GST_DATADIR, "$DATADIR", [data dir])
dnl set location of plugin directory
AG_GST_SET_PLUGINDIR
-GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-no-export-2.0, gthread-2.0"
-AC_SUBST(GST_PKG_DEPS)
-
dnl make sure it doesn't complain about unused variables if debugging is disabled
NO_WARNINGS=""
if test "x${GST_DISABLE_GST_DEBUG}" = "xyes"; then
@@ -655,6 +661,10 @@ fi
dnl define an ERROR_CFLAGS Makefile variable
AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wformat-nonliteral -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return -Wno-multichar -Wnested-externs $NO_WARNINGS])
+dnl special warning flags for gst/printf
+AS_COMPILER_FLAG([-Wno-format-nonliteral], [PRINTF_CFLAGS="-Wno-format-nonliteral"])
+AC_SUBST(PRINTF_CFLAGS)
+
dnl define correct level for debugging messages
AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
@@ -758,6 +768,7 @@ gst/Makefile
gst/gstconfig.h
gst/gstversion.h
gst/parse/Makefile
+gst/printf/Makefile
libs/Makefile
libs/gst/Makefile
libs/gst/base/Makefile
diff --git a/depcomp b/depcomp
index 25a39e6..bd0ac08 100755
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2012-03-27.16; # UTC
+scriptversion=2011-12-04.11; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
+# 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@ scriptversion=2012-03-27.16; # UTC
case $1 in
'')
- echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
@@ -40,8 +40,8 @@ as side-effects.
Environment variables:
depmode Dependency tracking mode.
- source Source file read by 'PROGRAMS ARGS'.
- object Object file output by 'PROGRAMS ARGS'.
+ source Source file read by `PROGRAMS ARGS'.
+ object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputting dependencies.
@@ -57,12 +57,6 @@ EOF
;;
esac
-# A tabulation character.
-tab=' '
-# A newline character.
-nl='
-'
-
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
@@ -108,12 +102,6 @@ if test "$depmode" = msvc7msys; then
depmode=msvc7
fi
-if test "$depmode" = xlc; then
- # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
- gccflag=-qmakedep=gcc,-MF
- depmode=gcc
-fi
-
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
@@ -168,14 +156,15 @@ gcc)
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the "deleted header file" problem.
+## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
- tr ' ' "$nl" < "$tmpdepfile" |
-## Some versions of gcc put a space before the ':'. On the theory
+ tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well. hp depmode also adds that space, but also prefixes the VPATH
## to the object. Take care to not repeat it in the output.
@@ -214,15 +203,18 @@ sgi)
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like '#:fec' to the end of the
+ # the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
- tr ' ' "$nl" < "$tmpdepfile" \
+ tr ' ' '
+' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr "$nl" ' ' >> "$depfile"
+ tr '
+' ' ' >> "$depfile"
echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
- tr ' ' "$nl" < "$tmpdepfile" \
+ tr ' ' '
+' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> "$depfile"
else
@@ -234,17 +226,10 @@ sgi)
rm -f "$tmpdepfile"
;;
-xlc)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts '$object:' at the
+ # current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
@@ -274,11 +259,12 @@ aix)
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
- # Each line is of the form 'foo.o: dependent.h'.
+ # Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
- # '$object: dependent.h' and one to simply 'dependent.h:'.
+ # `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
@@ -289,26 +275,23 @@ aix)
;;
icc)
- # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
- # However on
- # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+ # Intel's C compiler understands `-MD -MF file'. However on
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
- # which is wrong. We want
+ # which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using '\':
+ # and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
- # tcc 0.9.26 (FIXME still under development at the moment of writing)
- # will emit a similar output, but also prepend the continuation lines
- # with horizontal tabulation characters.
+
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
@@ -317,21 +300,15 @@ icc)
exit $stat
fi
rm -f "$depfile"
- # Each line is of the form 'foo.o: dependent.h',
- # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
- # '$object: dependent.h' and one to simply 'dependent.h:'.
- sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \
- < "$tmpdepfile" > "$depfile"
- sed '
- s/[ '"$tab"'][ '"$tab"']*/ /g
- s/^ *//
- s/ *\\*$//
- s/^[^:]*: *//
- /^$/d
- /:$/d
- s/$/ :/
- ' < "$tmpdepfile" >> "$depfile"
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+ sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -367,7 +344,7 @@ hp2)
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
- # Add 'dependent.h:' lines.
+ # Add `dependent.h:' lines.
sed -ne '2,${
s/^ *//
s/ \\*$//
@@ -382,9 +359,9 @@ hp2)
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in 'foo.d' instead, so we check for that too.
+ # dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
@@ -430,7 +407,8 @@ tru64)
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
@@ -465,11 +443,11 @@ msvc7)
p
}' | $cygpath_u | sort -u | sed -n '
s/ /\\ /g
-s/\(.*\)/'"$tab"'\1 \\/p
+s/\(.*\)/ \1 \\/p
s/.\(.*\) \\/\1:/
H
$ {
- s/.*/'"$tab"'/
+ s/.*/ /
G
p
}' >> "$depfile"
@@ -500,7 +478,7 @@ dashmstdout)
shift
fi
- # Remove '-o $object'.
+ # Remove `-o $object'.
IFS=" "
for arg
do
@@ -520,14 +498,15 @@ dashmstdout)
done
test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for ':'
+ # Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
- # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
- sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
- tr ' ' "$nl" < "$tmpdepfile" | \
+ tr ' ' '
+' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -583,7 +562,8 @@ makedepend)
# makedepend may prepend the VPATH from the source file name to the object.
# No need to regex-escape $object, excess matching of '.' is harmless.
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -603,7 +583,7 @@ cpp)
shift
fi
- # Remove '-o $object'.
+ # Remove `-o $object'.
IFS=" "
for arg
do
@@ -672,8 +652,8 @@ msvisualcpp)
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
- echo "$tab" >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ echo " " >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 61d0b57..e7f7bec 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,15 +79,14 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = docs
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/version.entities.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(srcdir)/version.entities.in README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -84,33 +110,42 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = version.entities
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -118,9 +153,29 @@ am__can_run_installinfo = \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -247,15 +302,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -265,11 +316,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -277,6 +326,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -339,6 +389,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -485,22 +536,25 @@ clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -515,57 +569,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -581,12 +590,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -598,15 +602,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -615,6 +615,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -778,23 +793,21 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
- ctags-recursive install install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
+.MAKE: $(am__recursive_targets) all check install install-am \
+ install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
upload:
diff --git a/docs/README b/docs/README
index 9eb7f7d..950de89 100644
--- a/docs/README
+++ b/docs/README
@@ -26,7 +26,7 @@ OVERVIEW
* The source for the documentation is:
- one or more .xml files, with the main one being gstreamer-(whatever).xml
- image files
- - in .fig
+ - in .svg
- in .png (and maybe others)
* We want to generate docs in HTML, PS and PDF
* We want to use xml to to generate these
@@ -387,7 +387,6 @@ Gtkdoc:
gtk-doc
Other stuff:
-transfig
pdftops
DEVHELP INTEGRATION
diff --git a/docs/design/Makefile.am b/docs/design/Makefile.am
index ae107a3..5a0eda0 100644
--- a/docs/design/Makefile.am
+++ b/docs/design/Makefile.am
@@ -7,6 +7,7 @@ EXTRA_DIST = \
part-buffering.txt \
part-caps.txt \
part-clocks.txt \
+ part-context.txt \
part-conventions.txt \
part-dynamic.txt \
part-element-sink.txt \
diff --git a/docs/design/Makefile.in b/docs/design/Makefile.in
index 732373d..fa94004 100644
--- a/docs/design/Makefile.in
+++ b/docs/design/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,13 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = docs/design
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,24 +109,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -108,6 +142,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -207,15 +242,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -225,11 +256,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -237,6 +266,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -299,6 +329,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -397,6 +428,7 @@ EXTRA_DIST = \
part-buffering.txt \
part-caps.txt \
part-clocks.txt \
+ part-context.txt \
part-conventions.txt \
part-dynamic.txt \
part-element-sink.txt \
@@ -475,11 +507,11 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -614,15 +646,16 @@ uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
html:
diff --git a/docs/design/part-caps.txt b/docs/design/part-caps.txt
index a768b6d..b5bf520 100644
--- a/docs/design/part-caps.txt
+++ b/docs/design/part-caps.txt
@@ -2,7 +2,8 @@ Caps
----
Caps are lighweight refcounted objects describing media types.
-They are composed of an array of GstStructures.
+They are composed of an array of GstStructures plus optionally
+a GstCapsFeatures set for the GstStructure.
Caps are exposed on GstPadTemplates to describe all possible types a
given pad can handle. They are also stored in the registry along with
@@ -16,3 +17,132 @@ produce (see part-pads.txt and part-negotiation.txt).
Various methods exist to work with the media types such as subtracting
or intersecting.
+Operations
+~~~~~~~~~~
+Fixating
+--------
+Caps are fixed if they only contain a single structure and this
+structure is fixed. A structure is fixed if none of the fields of the
+structure is a unfixed types, for example a range, list or array.
+
+For fixating caps only the first structure is kept as the order of
+structures is meant to express the preferences for the different
+structures.
+Afterwards each unfixed field of this structure is set to a value
+that makes most sense for the media format by the element or pad
+implementation and afterwards every remaining unfixed fields is set to
+an arbitrary value that would be a subset of the unfixed field value.
+
+EMPTY caps are fixed caps, ANY caps are not fixed. Caps with ANY caps
+features are not fixed.
+
+Subset
+------
+One caps "A" is the subset of another caps "B" if for each structure in
+"A" there exists a structure in "B" that is a superset of the structure
+in "A".
+
+A structure "a" is the subset of a structure "b" if it has the same
+structure name, the same caps features and each field in "b" exists
+in "a" and the value of the field in "a" is a subset of the value of
+the field in "b". "a" can have additional fields that are not in "b".
+
+EMPTY caps are a subset of every other caps, every caps are a subset of
+ANY caps.
+
+Equality
+--------
+Caps "A" and "B" are equal if "A" is a subset of "B" and "B" is a subset
+of "A". This means that both caps are expressing the same possibilities
+but their structures can still be different if they contain unfixed
+fields.
+
+Intersection
+------------
+The intersection of caps "A" and caps "B" are the caps that contain the
+intersection of all their structures with each other.
+
+The intersection of structure "a" and structure "b" is empty if their
+structure name or their caps features are not equal, or if "a" and "b"
+contain the same field but the intersection of both field values is empty.
+If one structure contains a field that is not existing in the other
+structure it will be copied over to the intersection with the same
+value.
+
+The intersection with ANY caps is always the other caps, the
+intersection with EMPTY caps is always EMPTY.
+
+Union
+-----
+The union of caps "A" and caps "B" are the caps that contain the union
+of all their structures with each other.
+
+The union of structure "a" and structure "b" are the two structures "a"
+and "b" if the structure names or caps features are not equal. Otherwise
+the union is the structure that contains the union of each fields value.
+If a field is only in one of the two structures it is not contained in
+the union.
+
+The union with ANY caps is always ANY, the union with EMPTY caps is
+always the other caps.
+
+Subtraction
+-----------
+The subtraction of caps "A" from caps "B" is the most generic subset
+of "B" that has an empty intersection with "A" but only contains
+structures with names and caps features that are existing in "B".
+
+Basic Rules
+~~~~~~~~~~~
+
+Semantics of caps and their usage
+---------------------------------
+A caps can contain multiple structures, in which case any of the
+structures would be acceptable. The structures are in the preferred
+order of the creator of the caps, with the preferred structure being
+first and during negotiation of caps this order should be considered to
+select the most optimal structure.
+
+Each of these structures has a name that specifies the media type, e.g.
+"video/x-theora" to specify Theora video. Additional fields in the
+structure add additional constraints and/or information about the media
+type, like the width and height of a video frame, or the codec profile
+that is used. These fields can be non-fixed (e.g. ranges) for non-fixed
+caps but must be fixed to a fixed value during negotiation.
+If a field is included in the caps returned by a pad via the CAPS query,
+it imposes an additional constraint during negotiation. The caps in the
+end must have this field with a value that is a subset of the non-fixed
+value. Additional fields that are added in the negotiated caps give
+additional information about the media but are treated as optional.
+Information that can change for every buffer and are not relevant during
+negotiation must not be stored inside the caps.
+
+
+For each of the structures in caps it is possible to store caps
+features. The caps features are expressing additional requirements
+for a specific structure, and only structures with the same name _and_
+equal caps features are considered compatible.
+Caps features can be used to require a specific memory representation
+or a specific meta to be set on buffers, for example a pad could require
+for a specific structure that it is passed EGLImage memory or buffers
+with the video meta.
+If not caps features are provided for a structure, it is assumed that
+system memory is required unless later negotiation steps (e.g. the
+ALLOCATION query) detect that something else can be used. The special
+ANY caps features can be used to specify that any caps feature would
+be accepted, for example if the buffer memory is not touched at all.
+
+
+Compatibility of caps
+---------------------
+Pads can be linked when the caps of both caps are compatible. This is
+the case when their intersection is not empty.
+
+For checking if a pad actually supports a fixed caps an intersection is
+not enough. Instead the fixed caps must be at least a subset of the
+pad's caps but pads can introduce additional constraints which would be
+checked in the ACCEPT_CAPS query handler.
+
+Data flow can only happen after pads have decided on a common, fixed
+caps and these caps are distributed to both pads with the CAPS event.
+
diff --git a/docs/design/part-context.txt b/docs/design/part-context.txt
new file mode 100644
index 0000000..ad2073b
--- /dev/null
+++ b/docs/design/part-context.txt
@@ -0,0 +1,67 @@
+Context
+-------
+
+GstContext is a container object, containing a generic GstStructure.
+It is used to store and propagate context information in a pipeline,
+like device handles, display server connections and other information
+that should be shared between multiple elements in a pipeline.
+
+For sharing context objects and distributing them between application
+and elements in a pipeline, there are downstream queries, downstream
+events, messages and functions to set a context on a complete pipeline.
+
+
+Context types
+~~~~~~~~~~~~~
+Context type names should be unique and be put in appropiate namespaces,
+e.g. "gst.egl.EGLDisplay", go prevent name conflicts. Only one specific
+type is allowed per context type name.
+
+
+Elements
+~~~~~~~~
+Elements that need a specific context for their operation would
+do the following steps until one succeeds:
+
+ 1) Check if the element already has a context of the specific type,
+ i.e. by checking the context returned by gst_element_get_context()
+
+ 2) Query downstream with GST_QUERY_CONTEXT for the context and check if
+ downstream already has a context of the specific type
+
+ 3) Post a GST_MESSAGE_NEED_CONTEXT message on the bus with the required
+ context types and afterwards check if a usable context was set now
+ as in 1). The message could be handled by the parent bins of the
+ element and the application.
+
+ 4) Create a context by itself and post a GST_MESSAGE_HAVE_CONTEXT message
+ and send a GST_EVENT_CONTEXT event downstream, containing the complete
+ context information at this time.
+
+
+Bins will propagate any context that is set on them via
+gst_element_set_context() to their child elements, including newly added
+elements after the context was set.
+
+Bins can handle the GST_MESSAGE_NEED_CONTEXT message, can filter both
+messages and can also set different contexts for different pipeline parts.
+
+
+Applications
+~~~~~~~~~~~~
+Applications can set a specific context on a pipeline or elements inside
+a pipeline with gst_element_set_context().
+
+If an element inside the pipeline needs a specific context, it will post
+a GST_MESSAGE_NEED_CONTEXT message on the bus. The application can now
+create a context of the requested type or pass an already existing
+context to the element (or the complete pipeline).
+
+Whenever an element creates a context internally it will post a
+GST_MESSAGE_HAVE_CONTEXT message on the bus. Applications should store
+the context of these messages, for example by creating a GstContext
+containing all the contexts of the pipeline by merging the structures.
+Applications can also just set the context contained in the
+GST_MESSAGE_HAVE_CONTEXT message on the complete pipeline to make sure it
+is shared between all elements.
+
diff --git a/docs/design/part-gstbin.txt b/docs/design/part-gstbin.txt
index bf486f8..a262a9b 100644
--- a/docs/design/part-gstbin.txt
+++ b/docs/design/part-gstbin.txt
@@ -95,11 +95,12 @@ returned durations and will then cache the result so that any further query can
use the cached version. The reason for caching the result is because the
duration of a stream typically does not change that often.
-A GST_MESSAGE_DURATION posted by an element will clear the cached duration value
-so that the bin will query the sinks again. This message is typically posted by
-elements that calculate the duration of the stream based on some average
-bitrate, which might change while playing the stream. The DURATION message is
-posted to the application, which can then fetch the updated DURATION.
+A GST_MESSAGE_DURATION_CHANGED posted by an element will clear the cached
+duration value so that the bin will query the sinks again. This message is
+typically posted by elements that calculate the duration of the stream based
+on some average bitrate, which might change while playing the stream. The
+DURATION_CHANGED message is posted to the application, which can then fetch
+the updated DURATION.
Subclassing
diff --git a/docs/design/part-messages.txt b/docs/design/part-messages.txt
index 6e23d5b..171cdab 100644
--- a/docs/design/part-messages.txt
+++ b/docs/design/part-messages.txt
@@ -110,7 +110,7 @@ GST_MESSAGE_SEGMENT_DONE:
An element or bin completed playback of a segment. This message is only posted
on the bus if a SEGMENT seek is performed on a pipeline.
-GST_MESSAGE_DURATION:
+GST_MESSAGE_DURATION_CHANGED:
An element posts this message when it has detected or updated the stream duration.
diff --git a/docs/design/part-scheduling.txt b/docs/design/part-scheduling.txt
index a4fbdb7..c1dd331 100644
--- a/docs/design/part-scheduling.txt
+++ b/docs/design/part-scheduling.txt
@@ -67,8 +67,9 @@ this with the SCHEDULING query.
(out) "flags", GST_TYPE_SCHEDULING_FLAGS (default 0)
typedef enum {
- GST_SCHEDULING_FLAG_SEEKABLE = (1 << 0),
- GST_SCHEDULING_FLAG_SEQUENTIAL = (1 << 1)
+ GST_SCHEDULING_FLAG_SEEKABLE = (1 << 0),
+ GST_SCHEDULING_FLAG_SEQUENTIAL = (1 << 1),
+ GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED = (1 << 2)
} GstSchedulingFlags;
_SEEKABLE:
@@ -80,6 +81,15 @@ this with the SCHEDULING query.
seeks are allowed but should be avoided. This is common for network
streams.
+ _BANDWIDTH_LIMITED:
+ - suggest the element supports buffering data for downstream to
+ cope with bandwidth limitations. If this flag is on the
+ downstream element might ask for more data than necessary for
+ normal playback. This use-case is interesting for on-disk
+ buffering scenarios for instance. Seek operations might be
+ slow as well so downstream elements should take this into
+ consideration.
+
(out) "minsize", G_TYPE_INT (default 1)
- the suggested minimum size of pull requests
diff --git a/docs/design/part-toc.txt b/docs/design/part-toc.txt
index bb7a477..bb1042f 100644
--- a/docs/design/part-toc.txt
+++ b/docs/design/part-toc.txt
@@ -58,6 +58,15 @@ timestamps for each item using gst_toc_entry_set_start_stop().
The best way to process already created GstToc is to recursively go through
the 'entries' and 'subentries' fields.
+Applications and plugins should not rely on TOCs having a certain kind of
+structure, but should allow for different alternatives. For example, a
+simple CUE sheet embedded in a file may be presented as a flat list of
+track entries, or could have a top-level edition node (or some other
+alternative type entry) with track entries underneath that node; or even
+multiple top-level edition nodes (or some other alternative type entries)
+each with track entries underneath, in case the source file has extracted
+a track listing from different sources).
+
2. TOC scope: global and current
diff --git a/docs/faq/Makefile.in b/docs/faq/Makefile.in
index ee19023..d1fff89 100644
--- a/docs/faq/Makefile.in
+++ b/docs/faq/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -38,23 +37,51 @@
# install directory trees :(
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -74,9 +101,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-DIST_COMMON = $(srcdir)/../htmlinstall.mak $(srcdir)/../manuals.mak \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/common/upload-doc.mak
+DIST_COMMON = $(srcdir)/../manuals.mak \
+ $(top_srcdir)/common/upload-doc.mak \
+ $(srcdir)/../htmlinstall.mak $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am
subdir = docs/faq
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -84,7 +112,6 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -108,24 +135,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -162,6 +197,7 @@ am__uninstall_files_from_dir = { \
}
am__installdirs = "$(DESTDIR)$(faqdir)"
DATA = $(faq_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -261,15 +297,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -279,11 +311,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -291,6 +321,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -353,6 +384,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -582,11 +614,11 @@ uninstall-faqDATA:
@list='$(faq_DATA)'; test -n "$(faqdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(faqdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -720,17 +752,18 @@ uninstall-am: uninstall-faqDATA uninstall-local
.MAKE: check-am install-am install-strip
.PHONY: all all-am all-local check check-am check-local clean \
- clean-generic clean-libtool clean-local distclean \
- distclean-generic distclean-libtool distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-data-local install-dvi install-dvi-am \
- install-exec install-exec-am install-faqDATA install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-faqDATA uninstall-local
+ clean-generic clean-libtool clean-local cscopelist-am ctags-am \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-faqDATA \
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags-am uninstall uninstall-am uninstall-faqDATA \
+ uninstall-local
### generate all documentation by default
@@ -770,20 +803,12 @@ $(BUILDDIR)/$(MAIN): $(XML) $(CSS) $(EXTRA_SRC)
cp ../version.entities $(BUILDDIR) ; \
cp $(top_srcdir)/docs/url.entities $(BUILDDIR)
-# we should switch to xsltproc
-# docbook2html aka jade can't add the encoding easily to the html meta
-# (but we are lazy and just abuse sed to add it)
-# jw -f docbook -b html -d pwg.dsl -o ../html -V '%use-id-as-filename%' $(MAIN)
-# this is a starting point
-# xsltproc --nonet /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl pwg.xml
-#
html/index.html: $(BUILDDIR)/$(MAIN) $(PNG_BUILT) $(FIG_SRC)
@$(MAKE) check-local
@echo "*** Generating HTML output ***"
@-mkdir -p html
@cp -f $(srcdir)/../image-png $(BUILDDIR)/image.entities
- @cd $(BUILDDIR) && SP_ENCODING="UTF-8" docbook2html -o ../html -V '%use-id-as-filename%' $(MAIN)
- @$(SED) -i -e 's/\(^CONTENT.*\)\(.>\)/\1;charset=UTF-8\2/' html/*html
+ @cd $(BUILDDIR) && $(XSLTPROC) -o ../html/ --stringparam chunker.output.encoding UTF-8 --stringparam use.id.as.filename 1 $(XSLTPROC_FLAGS) "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" $(MAIN)
@test "x$(CSS)" != "x" && \
echo "Copying .css files: $(CSS)" && \
cp $(srcdir)/$(CSS) html
@@ -857,7 +882,20 @@ $(BUILDIMAGESDIR)/%.ps: %.png
# make sure xml validates properly
check-local: $(BUILDDIR)/$(MAIN)
@cp -f $(srcdir)/../image-png $(BUILDDIR)/image.entities
- cd $(BUILDDIR) && xmllint -noout -valid $(MAIN)
+ @cd $(BUILDDIR) && xmllint -noout -valid $(MAIN)
+ @cd $(BUILDDIR) && \
+ if [ `which curl` ]; then \
+ links=`$(XSLTPROC) $(XSLTPROC_FLAGS) --xinclude $(abs_top_srcdir)/docs/list-ulink.xsl $(MAIN) | egrep '^http' | sort | uniq` && \
+ have_error=0 && \
+ for link in $$links; do \
+ code=`curl -s -m20 -o /dev/null -I -w "%{http_code}" $$link`; \
+ if [ \( $$? -ne 0 \) -o \( $$code -gt 399 \) ]; then \
+ echo "exit_status=$$?, http_code=$$code: $$link"; \
+ grep -Hnr "$$link" .; \
+ have_error=1; \
+ fi; \
+ done \
+ fi
# avoid 'cp: cannot create regular file `build/image.entities': File exists'
# errors during 'make distcheck' by disabling parallel builds
diff --git a/docs/faq/dependencies.xml b/docs/faq/dependencies.xml
index 9a85ac6..92e091c 100644
--- a/docs/faq/dependencies.xml
+++ b/docs/faq/dependencies.xml
@@ -54,9 +54,9 @@ custom-made hardware sinks, or via wayland.
<answer>
<para>
GStreamer actively supports such efforts, and in the case of
-<ulink url="http://ladspa.org/"><citetitle>LADSPA</citetitle></ulink>,
-we already have a wrapper plugin. This wrapper plug-in detects the LADSPA
-plugins present on your system at register time.
+<ulink url="http://www.ladspa.org/"><citetitle>LADSPA</citetitle></ulink>,
+we already have a wrapper plugin. This wrapper plug-in detects the LADSPA
+plugins present on your system at run time.
</para>
</answer>
</qandaentry>
diff --git a/docs/faq/developing.xml b/docs/faq/developing.xml
index b145989..8472b96 100644
--- a/docs/faq/developing.xml
+++ b/docs/faq/developing.xml
@@ -192,8 +192,11 @@ be indented, header files may be indented manually for better readability
(however, please use spaces for indenting, not tabs, even in header files).
</para>
<para>
+<!-- TODO(ensonic): link is dead, pending question on desktop-devel
As for the code itself, the
-<ulink url="http://developer.gnome.org/doc/guides/programming-guidelines/book1.html">GNOME coding guidelines</ulink> is a good read.
+<ulink url="http://developer.gnome.org/doc/guides/programming-guidelines/book1.html">GNOME
+coding guidelines</ulink> is a good read.
+-->
Where possible, we try to adhere to the spirit of GObject and use similar
coding idioms.
</para>
diff --git a/docs/gst/Makefile.am b/docs/gst/Makefile.am
index 3202ef3..c0dedc6 100644
--- a/docs/gst/Makefile.am
+++ b/docs/gst/Makefile.am
@@ -78,7 +78,7 @@ GTKDOC_CC=$(LIBTOOL) --tag=CC --mode=compile $(CC)
GTKDOC_LD=$(LIBTOOL) --tag=CC --mode=link $(CC)
GTKDOC_EXTRA_ENVIRONMENT= \
- GST_PLUGIN_SCANNER=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
+ GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
# If you need to override some of the declarations, place them in this file
# and uncomment this line.
diff --git a/docs/gst/Makefile.in b/docs/gst/Makefile.in
index d958cfb..11f4bb5 100644
--- a/docs/gst/Makefile.in
+++ b/docs/gst/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -34,23 +33,51 @@
###########################################################################
# thomas: except of course that we did
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -70,9 +97,9 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/gstreamer.types.in $(top_srcdir)/common/gtk-doc.mak \
- $(top_srcdir)/common/upload-doc.mak
+DIST_COMMON = $(top_srcdir)/common/upload-doc.mak \
+ $(top_srcdir)/common/gtk-doc.mak $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(srcdir)/gstreamer.types.in
subdir = docs/gst
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -80,7 +107,6 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -104,24 +130,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = gstreamer.types
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -129,6 +163,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -230,15 +265,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -248,11 +279,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -260,6 +289,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -322,6 +352,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -486,7 +517,7 @@ GTKDOC_LIBS = $(GST_OBJ_LIBS) \
GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC)
GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC)
GTKDOC_EXTRA_ENVIRONMENT = \
- GST_PLUGIN_SCANNER=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
+ GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
# If you need to override some of the declarations, place them in this file
@@ -580,11 +611,11 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -726,18 +757,18 @@ uninstall-am: uninstall-local
.MAKE: all check install install-am install-strip
.PHONY: all all-am all-local check check-am clean clean-generic \
- clean-libtool clean-local dist-hook distclean \
- distclean-generic distclean-libtool distclean-local distdir \
- dvi dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-data-local install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic \
+ clean-libtool clean-local cscopelist-am ctags-am dist-hook \
+ distclean distclean-generic distclean-libtool distclean-local \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-data-local \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
maintainer-clean-local mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-local
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-local
html: html-build.stamp
@@ -824,9 +855,9 @@ gst-universe.svg: gst-universe.dot
@ENABLE_GTK_DOC_TRUE@ --ignore-headers="$(IGNORE_HFILES)"
@ENABLE_GTK_DOC_TRUE@ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null; then \
@ENABLE_GTK_DOC_TRUE@ echo " DOC Introspecting gobjects"; \
-@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_SYSTEM_PATH=`cd $(top_builddir) && pwd` \
-@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_PATH= \
-@ENABLE_GTK_DOC_TRUE@ GST_REGISTRY=doc-registry.xml \
+@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_SYSTEM_PATH_1_0=`cd $(top_builddir) && pwd` \
+@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_PATH_1_0= \
+@ENABLE_GTK_DOC_TRUE@ GST_REGISTRY_1_0=doc-registry.xml \
@ENABLE_GTK_DOC_TRUE@ $(GTKDOC_EXTRA_ENVIRONMENT) \
@ENABLE_GTK_DOC_TRUE@ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" \
@ENABLE_GTK_DOC_TRUE@ CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" \
@@ -873,10 +904,7 @@ gst-universe.svg: gst-universe.dot
@ENABLE_GTK_DOC_TRUE@ if test "$(?)" = "0"; then \
@ENABLE_GTK_DOC_TRUE@ mkhtml_options=--path="$(abs_srcdir)"; \
@ENABLE_GTK_DOC_TRUE@ fi; \
-@ENABLE_GTK_DOC_TRUE@ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
-@ENABLE_GTK_DOC_TRUE@ @mv html/index.sgml html/index.sgml.bak
-@ENABLE_GTK_DOC_TRUE@ @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_API_VERSION@\//g" html/index.sgml.bak >html/index.sgml
-@ENABLE_GTK_DOC_TRUE@ @rm -f html/index.sgml.bak
+@ENABLE_GTK_DOC_TRUE@ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE)-@GST_API_VERSION@ ../$(DOC_MAIN_SGML_FILE)
@ENABLE_GTK_DOC_TRUE@ @rm -rf html/xml
@ENABLE_GTK_DOC_TRUE@ @rm -f version.entities
@ENABLE_GTK_DOC_TRUE@ @test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) $(abs_builddir)/html )
@@ -930,9 +958,9 @@ install-data-local:
echo '-- Installing '$$i ; \
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
done; \
- echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \
- if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \
- $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
+ echo '-- Installing $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2' ; \
+ if test -e $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; then \
+ $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2 \
$(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
fi; \
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
diff --git a/docs/gst/gst-universe.svg b/docs/gst/gst-universe.svg
index 69db751..16820d4 100644
--- a/docs/gst/gst-universe.svg
+++ b/docs/gst/gst-universe.svg
@@ -4,15 +4,15 @@
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
-->
<!-- Title: pipeline Pages: 1 -->
-<svg width="690pt" height="632pt"
- viewBox="0.00 0.00 690.00 632.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="710pt" height="632pt"
+ viewBox="0.00 0.00 710.00 632.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 628)">
<title>pipeline</title>
-<polygon fill="white" stroke="white" points="-4,5 -4,-628 687,-628 687,5 -4,5"/>
+<polygon fill="white" stroke="white" points="-4,5 -4,-628 707,-628 707,5 -4,5"/>
<!-- application -->
<g id="node1" class="node"><title>application</title>
-<polygon fill="#ffdddd" stroke="black" points="565,-624 501,-624 501,-588 565,-588 565,-624"/>
-<text text-anchor="middle" x="533" y="-603.4" font-family="Bitstream Vera Sans" font-size="9.00">application</text>
+<polygon fill="#ffdddd" stroke="black" points="579,-624 511,-624 511,-588 579,-588 579,-624"/>
+<text text-anchor="middle" x="545" y="-603.4" font-family="Bitstream Vera Sans" font-size="9.00">application</text>
</g>
<!-- bus -->
<g id="node3" class="node"><title>bus</title>
@@ -23,74 +23,74 @@
</g>
<!-- application&#45;&gt;bus -->
<g id="edge48" class="edge"><title>application&#45;&gt;bus</title>
-<path fill="none" stroke="black" d="M500.953,-602.984C422.76,-595.249 224.265,-573.238 165,-544 133.414,-528.417 124.897,-520.334 107,-490 104.099,-485.083 101.959,-479.423 100.382,-473.833"/>
-<polygon fill="black" stroke="black" points="103.776,-472.977 98.1069,-464.027 96.957,-474.559 103.776,-472.977"/>
+<path fill="none" stroke="black" d="M510.91,-603.038C429.314,-595.538 225.03,-574.226 164,-544 132.728,-528.512 124.602,-520.132 107,-490 104.121,-485.071 101.99,-479.405 100.415,-473.814"/>
+<polygon fill="black" stroke="black" points="103.809,-472.958 98.1375,-464.009 96.9903,-474.541 103.809,-472.958"/>
<text text-anchor="middle" x="180" y="-523.7" font-family="Bitstream Vera Sans" font-size="7.00">listen on</text>
</g>
<!-- event -->
<g id="node9" class="node"><title>event</title>
<a xlink:href="gstreamer-GstEvent.html" xlink:title="event" target="_top">
-<polygon fill="#ddffdd" stroke="black" points="583,-304 529,-304 529,-268 583,-268 583,-304"/>
-<text text-anchor="middle" x="556" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">event</text>
+<polygon fill="#ddffdd" stroke="black" points="593,-304 539,-304 539,-268 593,-268 593,-304"/>
+<text text-anchor="middle" x="566" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">event</text>
</a>
</g>
<!-- application&#45;&gt;event -->
<g id="edge52" class="edge"><title>application&#45;&gt;event</title>
-<path fill="none" stroke="black" d="M565.013,-590.366C587.654,-576.819 614,-554.857 614,-526 614,-526 614,-526 614,-366 614,-345.478 611.529,-338.977 600,-322 597.3,-318.025 594.036,-314.259 590.52,-310.768"/>
-<polygon fill="black" stroke="black" points="592.811,-308.121 583.047,-304.006 588.114,-313.311 592.811,-308.121"/>
-<text text-anchor="middle" x="622" y="-443.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
+<path fill="none" stroke="black" d="M579.083,-590.495C602.731,-577.147 630,-555.384 630,-526 630,-526 630,-526 630,-366 630,-345.478 628.047,-338.613 616,-322 611.95,-316.415 606.766,-311.359 601.278,-306.92"/>
+<polygon fill="black" stroke="black" points="603.233,-304.012 593.115,-300.868 599.064,-309.635 603.233,-304.012"/>
+<text text-anchor="middle" x="639" y="-443.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
</g>
<!-- pipeline -->
<g id="node13" class="node"><title>pipeline</title>
<a xlink:href="GstPipeline.html" xlink:title="pipeline" target="_top">
-<polygon fill="#ccccff" stroke="black" points="258,-544 204,-544 204,-508 258,-508 258,-544"/>
-<text text-anchor="middle" x="231" y="-523.4" font-family="Bitstream Vera Sans" font-size="9.00">pipeline</text>
+<polygon fill="#ccccff" stroke="black" points="259,-544 205,-544 205,-508 259,-508 259,-544"/>
+<text text-anchor="middle" x="232" y="-523.4" font-family="Bitstream Vera Sans" font-size="9.00">pipeline</text>
</a>
</g>
<!-- application&#45;&gt;pipeline -->
<g id="edge46" class="edge"><title>application&#45;&gt;pipeline</title>
-<path fill="none" stroke="black" d="M500.967,-597.514C444.57,-582.575 327.88,-551.664 268.087,-535.824"/>
-<polygon fill="black" stroke="black" points="268.866,-532.41 258.303,-533.233 267.074,-539.177 268.866,-532.41"/>
-<text text-anchor="middle" x="398" y="-563.7" font-family="Bitstream Vera Sans" font-size="7.00">has</text>
+<path fill="none" stroke="black" d="M510.908,-597.286C451.745,-582.165 330.534,-551.184 269.244,-535.519"/>
+<polygon fill="black" stroke="black" points="269.788,-532.046 259.232,-532.96 268.054,-538.828 269.788,-532.046"/>
+<text text-anchor="middle" x="404.5" y="-563.7" font-family="Bitstream Vera Sans" font-size="7.00">has</text>
</g>
<!-- query -->
<g id="node16" class="node"><title>query</title>
<a xlink:href="gstreamer-GstQuery.html" xlink:title="query" target="_top">
-<polygon fill="#ddffdd" stroke="black" points="674,-304 620,-304 620,-268 674,-268 674,-304"/>
-<text text-anchor="middle" x="647" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">query</text>
+<polygon fill="#ddffdd" stroke="black" points="688,-304 634,-304 634,-268 688,-268 688,-304"/>
+<text text-anchor="middle" x="661" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">query</text>
</a>
</g>
<!-- application&#45;&gt;query -->
<g id="edge50" class="edge"><title>application&#45;&gt;query</title>
-<path fill="none" stroke="black" d="M565.196,-601.066C604.557,-592.994 666,-572.885 666,-526 666,-526 666,-526 666,-366 666,-348.37 661.578,-329.132 657.001,-313.94"/>
-<polygon fill="black" stroke="black" points="660.245,-312.593 653.859,-304.139 653.579,-314.73 660.245,-312.593"/>
-<text text-anchor="middle" x="674" y="-443.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
+<path fill="none" stroke="black" d="M579.003,-601.481C620.154,-593.882 684,-574.308 684,-526 684,-526 684,-526 684,-366 684,-347.981 678.544,-328.536 672.946,-313.329"/>
+<polygon fill="black" stroke="black" points="676.203,-312.047 669.304,-304.006 669.683,-314.594 676.203,-312.047"/>
+<text text-anchor="middle" x="693" y="-443.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
</g>
<!-- bin -->
<g id="node2" class="node"><title>bin</title>
<a xlink:href="GstBin.html" xlink:title="bin" target="_top">
-<polygon fill="#ccccff" stroke="black" points="343,-464 289,-464 289,-428 343,-428 343,-464"/>
-<text text-anchor="middle" x="316" y="-443.4" font-family="Bitstream Vera Sans" font-size="9.00">bin</text>
+<polygon fill="#ccccff" stroke="black" points="344,-464 290,-464 290,-428 344,-428 344,-464"/>
+<text text-anchor="middle" x="317" y="-443.4" font-family="Bitstream Vera Sans" font-size="9.00">bin</text>
</a>
</g>
<!-- element -->
<g id="node7" class="node"><title>element</title>
<a xlink:href="GstElement.html" xlink:title="element" target="_top">
-<polygon fill="#ccccff" stroke="black" points="378,-384 324,-384 324,-348 378,-348 378,-384"/>
-<text text-anchor="middle" x="351" y="-363.4" font-family="Bitstream Vera Sans" font-size="9.00">element</text>
+<polygon fill="#ccccff" stroke="black" points="380,-384 326,-384 326,-348 380,-348 380,-384"/>
+<text text-anchor="middle" x="353" y="-363.4" font-family="Bitstream Vera Sans" font-size="9.00">element</text>
</a>
</g>
<!-- bin&#45;&gt;element -->
<g id="edge2" class="edge"><title>bin&#45;&gt;element</title>
-<path fill="none" stroke="black" d="M313.527,-427.842C313.13,-419.664 313.69,-410.057 317,-402 318.423,-398.536 320.346,-395.208 322.558,-392.071"/>
-<polygon fill="black" stroke="black" points="325.331,-394.209 328.943,-384.248 319.908,-389.783 325.331,-394.209"/>
-<text text-anchor="middle" x="323" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
+<path fill="none" stroke="black" d="M314.473,-427.82C314.065,-419.637 314.632,-410.033 318,-402 319.468,-398.498 321.45,-395.145 323.729,-391.993"/>
+<polygon fill="black" stroke="black" points="326.562,-394.062 330.303,-384.15 321.197,-389.565 326.562,-394.062"/>
+<text text-anchor="middle" x="324.5" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
</g>
<!-- bin&#45;&gt;element -->
<g id="edge24" class="edge"><title>bin&#45;&gt;element</title>
-<path fill="none" stroke="black" d="M323.942,-427.847C328.372,-417.721 333.981,-404.9 338.942,-393.56"/>
-<polygon fill="black" stroke="black" points="342.288,-394.646 343.089,-384.081 335.875,-391.84 342.288,-394.646"/>
-<text text-anchor="middle" x="344.5" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M325.169,-427.847C329.772,-417.618 335.612,-404.64 340.752,-393.217"/>
+<polygon fill="black" stroke="black" points="343.951,-394.637 344.863,-384.081 337.568,-391.764 343.951,-394.637"/>
+<text text-anchor="middle" x="347" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
</g>
<!-- message -->
<g id="node10" class="node"><title>message</title>
@@ -103,40 +103,40 @@
<g id="edge38" class="edge"><title>bus&#45;&gt;message</title>
<path fill="none" stroke="black" d="M96.5638,-427.957C97.4266,-400.349 99.082,-347.375 100.109,-314.525"/>
<polygon fill="black" stroke="black" points="103.616,-314.327 100.431,-304.223 96.6198,-314.108 103.616,-314.327"/>
-<text text-anchor="middle" x="111.5" y="-363.7" font-family="Bitstream Vera Sans" font-size="7.00">receive</text>
+<text text-anchor="middle" x="112.5" y="-363.7" font-family="Bitstream Vera Sans" font-size="7.00">receive</text>
</g>
<!-- buffer -->
<g id="node4" class="node"><title>buffer</title>
<a xlink:href="gstreamer-GstBuffer.html" xlink:title="buffer" target="_top">
-<polygon fill="#ddffdd" stroke="black" points="519,-250 465,-250 465,-214 519,-214 519,-250"/>
-<text text-anchor="middle" x="492" y="-229.4" font-family="Bitstream Vera Sans" font-size="9.00">buffer</text>
+<polygon fill="#ddffdd" stroke="black" points="526,-250 472,-250 472,-214 526,-214 526,-250"/>
+<text text-anchor="middle" x="499" y="-229.4" font-family="Bitstream Vera Sans" font-size="9.00">buffer</text>
</a>
</g>
<!-- caps -->
<g id="node5" class="node"><title>caps</title>
<a xlink:href="gstreamer-GstCaps.html" xlink:title="caps" target="_top">
-<polygon fill="#eeeeee" stroke="black" points="471,-116 417,-116 417,-80 471,-80 471,-116"/>
-<text text-anchor="middle" x="444" y="-95.4" font-family="Bitstream Vera Sans" font-size="9.00">caps</text>
+<polygon fill="#eeeeee" stroke="black" points="477,-116 423,-116 423,-80 477,-80 477,-116"/>
+<text text-anchor="middle" x="450" y="-95.4" font-family="Bitstream Vera Sans" font-size="9.00">caps</text>
</a>
</g>
<!-- buffer&#45;&gt;caps -->
<g id="edge20" class="edge"><title>buffer&#45;&gt;caps</title>
-<path fill="none" stroke="black" d="M485.933,-213.867C479.281,-194.142 468.194,-161.719 458,-134 457.002,-131.286 455.943,-128.464 454.871,-125.649"/>
-<polygon fill="black" stroke="black" points="458.116,-124.336 451.253,-116.264 451.585,-126.854 458.116,-124.336"/>
-<text text-anchor="middle" x="489.5" y="-175.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M492.897,-213.892C487.934,-199.296 480.682,-178.267 474,-160 469.747,-148.373 468.466,-145.547 464,-134 462.957,-131.303 461.868,-128.493 460.778,-125.684"/>
+<polygon fill="black" stroke="black" points="464.019,-124.363 457.135,-116.309 457.495,-126.898 464.019,-124.363"/>
+<text text-anchor="middle" x="497" y="-175.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
</g>
<!-- structure -->
<g id="node18" class="node"><title>structure</title>
<a xlink:href="gstreamer-GstStructure.html" xlink:title="structure" target="_top">
-<polygon fill="#eeeeee" stroke="black" points="472,-36 416,-36 416,-1.77636e-14 472,-3.55271e-15 472,-36"/>
-<text text-anchor="middle" x="444" y="-15.4" font-family="Bitstream Vera Sans" font-size="9.00">structure</text>
+<polygon fill="#eeeeee" stroke="black" points="480,-36 420,-36 420,-1.77636e-14 480,-3.55271e-15 480,-36"/>
+<text text-anchor="middle" x="450" y="-15.4" font-family="Bitstream Vera Sans" font-size="9.00">structure</text>
</a>
</g>
<!-- caps&#45;&gt;structure -->
<g id="edge22" class="edge"><title>caps&#45;&gt;structure</title>
-<path fill="none" stroke="black" d="M444,-79.8468C444,-69.9251 444,-57.4167 444,-46.2492"/>
-<polygon fill="black" stroke="black" points="447.5,-46.0814 444,-36.0814 440.5,-46.0814 447.5,-46.0814"/>
-<text text-anchor="middle" x="453.5" y="-55.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M450,-79.8468C450,-69.9251 450,-57.4167 450,-46.2492"/>
+<polygon fill="black" stroke="black" points="453.5,-46.0814 450,-36.0814 446.5,-46.0814 453.5,-46.0814"/>
+<text text-anchor="middle" x="460" y="-55.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
</g>
<!-- clock -->
<g id="node6" class="node"><title>clock</title>
@@ -147,121 +147,121 @@
</g>
<!-- element&#45;&gt;buffer -->
<g id="edge34" class="edge"><title>element&#45;&gt;buffer</title>
-<path fill="none" stroke="black" d="M378.04,-349.629C401.516,-335.12 433.366,-314.634 444,-304 457.158,-290.842 468.821,-273.56 477.354,-259.227"/>
-<polygon fill="black" stroke="black" points="480.535,-260.718 482.495,-250.306 474.469,-257.223 480.535,-260.718"/>
-<text text-anchor="middle" x="445" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send &amp; receive</text>
+<path fill="none" stroke="black" d="M380.397,-351.493C400.229,-340.184 426.959,-323.209 447,-304 460.92,-290.658 473.648,-273.171 483.028,-258.772"/>
+<polygon fill="black" stroke="black" points="486.019,-260.591 488.416,-250.27 480.106,-256.844 486.019,-260.591"/>
+<text text-anchor="middle" x="453.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send &amp; receive</text>
</g>
<!-- element&#45;&gt;clock -->
<g id="edge14" class="edge"><title>element&#45;&gt;clock</title>
-<path fill="none" stroke="black" d="M323.717,-360.559C299.105,-354.991 262.369,-345.013 233,-330 222.66,-324.715 212.272,-317.556 203.201,-310.549"/>
-<polygon fill="black" stroke="black" points="205.277,-307.727 195.281,-304.215 200.905,-313.194 205.277,-307.727"/>
-<text text-anchor="middle" x="254.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">may provide</text>
+<path fill="none" stroke="black" d="M325.693,-361.348C299.743,-356.186 260.166,-346.35 229,-330 219.262,-324.891 209.628,-317.86 201.253,-310.916"/>
+<polygon fill="black" stroke="black" points="203.505,-308.236 193.647,-304.352 198.931,-313.535 203.505,-308.236"/>
+<text text-anchor="middle" x="251.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">may provide</text>
</g>
<!-- element_factory -->
<g id="node8" class="node"><title>element_factory</title>
<a xlink:href="GstElementFactory.html" xlink:title="element factory" target="_top">
-<polygon fill="#eeeeee" stroke="black" points="308,-304 220,-304 220,-268 308,-268 308,-304"/>
-<text text-anchor="middle" x="264" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">element factory</text>
+<polygon fill="#eeeeee" stroke="black" points="310,-304 220,-304 220,-268 310,-268 310,-304"/>
+<text text-anchor="middle" x="265" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">element factory</text>
</a>
</g>
<!-- element&#45;&gt;element_factory -->
<g id="edge28" class="edge"><title>element&#45;&gt;element_factory</title>
-<path fill="none" stroke="black" d="M323.703,-355.792C310.694,-349.847 295.682,-341.275 285,-330 280.492,-325.242 276.79,-319.336 273.818,-313.413"/>
-<polygon fill="black" stroke="black" points="277.005,-311.964 269.74,-304.252 270.61,-314.811 277.005,-311.964"/>
+<path fill="none" stroke="black" d="M325.838,-357.258C311.504,-351.469 294.544,-342.591 283,-330 278.784,-325.401 275.488,-319.682 272.937,-313.905"/>
+<polygon fill="black" stroke="black" points="276.122,-312.433 269.315,-304.315 269.574,-314.907 276.122,-312.433"/>
<text text-anchor="middle" x="311" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">is created from</text>
</g>
<!-- element&#45;&gt;event -->
<g id="edge32" class="edge"><title>element&#45;&gt;event</title>
-<path fill="none" stroke="black" d="M378.154,-360.153C404.093,-354.126 444.008,-343.686 477,-330 491.61,-323.939 506.956,-315.834 520.196,-308.232"/>
-<polygon fill="black" stroke="black" points="522.131,-311.155 528.991,-303.081 518.593,-305.115 522.131,-311.155"/>
-<text text-anchor="middle" x="518" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send &amp; receive</text>
+<path fill="none" stroke="black" d="M380.142,-360.53C407.254,-354.621 449.843,-344.121 485,-330 500.082,-323.942 515.946,-315.766 529.598,-308.105"/>
+<polygon fill="black" stroke="black" points="531.72,-310.923 538.659,-302.916 528.242,-304.848 531.72,-310.923"/>
+<text text-anchor="middle" x="529.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send &amp; receive</text>
</g>
<!-- element&#45;&gt;message -->
<g id="edge36" class="edge"><title>element&#45;&gt;message</title>
-<path fill="none" stroke="black" d="M323.809,-360.853C293.474,-354.794 243.124,-343.787 201,-330 175.264,-321.577 167.665,-317.068 139.754,-304.32"/>
-<polygon fill="black" stroke="black" points="140.951,-301.02 130.398,-300.086 138.065,-307.398 140.951,-301.02"/>
-<text text-anchor="middle" x="209" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
+<path fill="none" stroke="black" d="M325.964,-361.631C294.115,-356.077 239.857,-345.332 195,-330 171.57,-321.992 165.056,-316.753 139.167,-304.146"/>
+<polygon fill="black" stroke="black" points="140.567,-300.936 130.035,-299.782 137.548,-307.252 140.567,-300.936"/>
+<text text-anchor="middle" x="204" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">send</text>
</g>
<!-- pad -->
<g id="node11" class="node"><title>pad</title>
<a xlink:href="GstPad.html" xlink:title="pad" target="_top">
-<polygon fill="#ccccff" stroke="black" points="435,-304 381,-304 381,-268 435,-268 435,-304"/>
-<text text-anchor="middle" x="408" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">pad</text>
+<polygon fill="#ccccff" stroke="black" points="438,-304 384,-304 384,-268 438,-268 438,-304"/>
+<text text-anchor="middle" x="411" y="-283.4" font-family="Bitstream Vera Sans" font-size="9.00">pad</text>
</a>
</g>
<!-- element&#45;&gt;pad -->
<g id="edge12" class="edge"><title>element&#45;&gt;pad</title>
-<path fill="none" stroke="black" d="M363.934,-347.847C371.368,-337.414 380.839,-324.12 389.095,-312.534"/>
-<polygon fill="black" stroke="black" points="392.165,-314.257 395.117,-304.081 386.464,-310.195 392.165,-314.257"/>
-<text text-anchor="middle" x="391.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M366.161,-347.847C373.799,-337.311 383.552,-323.859 392.01,-312.193"/>
+<polygon fill="black" stroke="black" points="394.855,-314.232 397.891,-304.081 389.188,-310.123 394.855,-314.232"/>
+<text text-anchor="middle" x="394" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
</g>
<!-- pad_template -->
<g id="node12" class="node"><title>pad_template</title>
<a xlink:href="GstPadTemplate.html" xlink:title="pad template" target="_top">
-<polygon fill="#eeeeee" stroke="black" points="408,-196 332,-196 332,-160 408,-160 408,-196"/>
-<text text-anchor="middle" x="370" y="-175.4" font-family="Bitstream Vera Sans" font-size="9.00">pad template</text>
+<polygon fill="#eeeeee" stroke="black" points="414,-196 334,-196 334,-160 414,-160 414,-196"/>
+<text text-anchor="middle" x="374" y="-175.4" font-family="Bitstream Vera Sans" font-size="9.00">pad template</text>
</a>
</g>
<!-- element&#45;&gt;pad_template -->
<g id="edge10" class="edge"><title>element&#45;&gt;pad_template</title>
-<path fill="none" stroke="black" d="M350.472,-347.882C350.106,-328.171 350.115,-295.759 353,-268 355.164,-247.175 359.599,-223.963 363.397,-206.328"/>
-<polygon fill="black" stroke="black" points="366.908,-206.661 365.653,-196.141 360.074,-205.147 366.908,-206.661"/>
-<text text-anchor="middle" x="362.5" y="-283.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M352.357,-347.87C351.893,-328.148 351.819,-295.727 355,-268 357.397,-247.11 362.354,-223.9 366.605,-206.283"/>
+<polygon fill="black" stroke="black" points="370.118,-206.656 369.13,-196.107 363.324,-204.969 370.118,-206.656"/>
+<text text-anchor="middle" x="365" y="-283.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
</g>
<!-- element&#45;&gt;query -->
<g id="edge30" class="edge"><title>element&#45;&gt;query</title>
-<path fill="none" stroke="black" d="M378.104,-363.047C416.37,-358.426 488.133,-348.086 547,-330 568.715,-323.329 591.998,-313.269 610.631,-304.452"/>
-<polygon fill="black" stroke="black" points="612.154,-307.603 619.646,-300.112 609.117,-301.296 612.154,-307.603"/>
-<text text-anchor="middle" x="583.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">answers</text>
+<path fill="none" stroke="black" d="M380.078,-363.438C420.24,-359.164 497.668,-349.102 561,-330 582.749,-323.44 606.035,-313.388 624.659,-304.547"/>
+<polygon fill="black" stroke="black" points="626.19,-307.695 633.67,-300.192 623.144,-301.392 626.19,-307.695"/>
+<text text-anchor="middle" x="599" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">answers</text>
</g>
<!-- plugin_feature -->
<g id="node15" class="node"><title>plugin_feature</title>
<a xlink:href="GstPluginFeature.html" xlink:title="plugin feature" target="_top">
-<polygon fill="#eeeeee" stroke="black" points="160,-196 82,-196 82,-160 160,-160 160,-196"/>
-<text text-anchor="middle" x="121" y="-175.4" font-family="Bitstream Vera Sans" font-size="9.00">plugin feature</text>
+<polygon fill="#eeeeee" stroke="black" points="211,-196 129,-196 129,-160 211,-160 211,-196"/>
+<text text-anchor="middle" x="170" y="-175.4" font-family="Bitstream Vera Sans" font-size="9.00">plugin feature</text>
</a>
</g>
<!-- element_factory&#45;&gt;plugin_feature -->
<g id="edge44" class="edge"><title>element_factory&#45;&gt;plugin_feature</title>
-<path fill="none" stroke="black" d="M240.065,-267.923C216.246,-249.934 179.538,-222.21 153.178,-202.302"/>
-<polygon fill="black" stroke="black" points="155.102,-199.37 145.013,-196.136 150.884,-204.955 155.102,-199.37"/>
-<text text-anchor="middle" x="220" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
+<path fill="none" stroke="black" d="M248.885,-267.679C233.438,-250.119 209.976,-223.446 192.652,-203.751"/>
+<polygon fill="black" stroke="black" points="195.11,-201.247 185.877,-196.05 189.854,-205.87 195.11,-201.247"/>
+<text text-anchor="middle" x="238.5" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
</g>
<!-- pad&#45;&gt;caps -->
<g id="edge16" class="edge"><title>pad&#45;&gt;caps</title>
-<path fill="none" stroke="black" d="M421.367,-267.742C424.738,-262.284 427.971,-256.118 430,-250 443.729,-208.599 445.591,-157.601 445.171,-126.462"/>
-<polygon fill="black" stroke="black" points="448.667,-126.243 444.943,-116.324 441.669,-126.4 448.667,-126.243"/>
-<text text-anchor="middle" x="454.5" y="-175.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M426.207,-267.966C430.037,-262.511 433.708,-256.291 436,-250 444.01,-228.018 447.63,-164.049 449.106,-126.47"/>
+<polygon fill="black" stroke="black" points="452.615,-126.299 449.483,-116.178 445.619,-126.044 452.615,-126.299"/>
+<text text-anchor="middle" x="458" y="-175.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
</g>
<!-- pad&#45;&gt;pad_template -->
<g id="edge26" class="edge"><title>pad&#45;&gt;pad_template</title>
-<path fill="none" stroke="black" d="M389.51,-267.974C385.027,-262.612 380.742,-256.437 378,-250 372.205,-236.396 370.046,-220.101 369.404,-206.457"/>
-<polygon fill="black" stroke="black" points="372.898,-206.104 369.175,-196.184 365.899,-206.26 372.898,-206.104"/>
-<text text-anchor="middle" x="404" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">is created from</text>
+<path fill="none" stroke="black" d="M391.451,-267.737C386.938,-262.462 382.679,-256.389 380,-250 374.298,-236.4 372.567,-220.106 372.364,-206.46"/>
+<polygon fill="black" stroke="black" points="375.866,-206.226 372.481,-196.187 368.867,-206.146 375.866,-206.226"/>
+<text text-anchor="middle" x="408" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">is created from</text>
</g>
<!-- pad_template&#45;&gt;caps -->
<g id="edge18" class="edge"><title>pad_template&#45;&gt;caps</title>
-<path fill="none" stroke="black" d="M386.792,-159.847C396.726,-149.107 409.464,-135.336 420.398,-123.516"/>
-<polygon fill="black" stroke="black" points="423.054,-125.799 427.275,-116.081 417.915,-121.046 423.054,-125.799"/>
-<text text-anchor="middle" x="419.5" y="-135.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M391.246,-159.847C401.449,-149.107 414.531,-135.336 425.76,-123.516"/>
+<polygon fill="black" stroke="black" points="428.473,-125.742 432.823,-116.081 423.398,-120.921 428.473,-125.742"/>
+<text text-anchor="middle" x="425" y="-135.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
</g>
<!-- pipeline&#45;&gt;bin -->
<g id="edge4" class="edge"><title>pipeline&#45;&gt;bin</title>
-<path fill="none" stroke="black" d="M250.288,-507.847C261.808,-497.005 276.61,-483.073 289.248,-471.179"/>
-<polygon fill="black" stroke="black" points="291.905,-473.484 296.789,-464.081 287.108,-468.386 291.905,-473.484"/>
-<text text-anchor="middle" x="283" y="-483.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
+<path fill="none" stroke="black" d="M251.288,-507.847C262.808,-497.005 277.61,-483.073 290.248,-471.179"/>
+<polygon fill="black" stroke="black" points="292.905,-473.484 297.789,-464.081 288.108,-468.386 292.905,-473.484"/>
+<text text-anchor="middle" x="284.5" y="-483.7" font-family="Bitstream Vera Sans" font-size="7.00">is&#45;a</text>
</g>
<!-- pipeline&#45;&gt;bus -->
<g id="edge6" class="edge"><title>pipeline&#45;&gt;bus</title>
-<path fill="none" stroke="black" d="M203.915,-523.371C179.027,-519.683 142.405,-510.883 118,-490 112.89,-485.627 108.842,-479.781 105.686,-473.782"/>
-<polygon fill="black" stroke="black" points="108.756,-472.078 101.437,-464.418 102.382,-474.971 108.756,-472.078"/>
-<text text-anchor="middle" x="127.5" y="-483.7" font-family="Bitstream Vera Sans" font-size="7.00">has 1</text>
+<path fill="none" stroke="black" d="M204.839,-523.668C179.445,-520.185 141.813,-511.52 117,-490 111.964,-485.633 108.04,-479.789 105.019,-473.79"/>
+<polygon fill="black" stroke="black" points="108.156,-472.226 100.986,-464.425 101.727,-474.994 108.156,-472.226"/>
+<text text-anchor="middle" x="127" y="-483.7" font-family="Bitstream Vera Sans" font-size="7.00">has 1</text>
</g>
<!-- pipeline&#45;&gt;clock -->
<g id="edge8" class="edge"><title>pipeline&#45;&gt;clock</title>
-<path fill="none" stroke="black" d="M224.284,-507.959C211.946,-473.807 186.016,-397.114 176,-330 175.25,-324.974 174.822,-319.591 174.6,-314.374"/>
-<polygon fill="black" stroke="black" points="178.093,-313.998 174.394,-304.069 171.094,-314.137 178.093,-313.998"/>
-<text text-anchor="middle" x="203.5" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">has 1</text>
+<path fill="none" stroke="black" d="M224.413,-507.779C210.656,-473.639 182.085,-397.398 172,-330 171.247,-324.964 171.087,-319.576 171.264,-314.358"/>
+<polygon fill="black" stroke="black" points="174.778,-314.281 172.016,-304.053 167.797,-313.772 174.778,-314.281"/>
+<text text-anchor="middle" x="200" y="-403.7" font-family="Bitstream Vera Sans" font-size="7.00">has 1</text>
</g>
<!-- plugin -->
<g id="node14" class="node"><title>plugin</title>
@@ -272,9 +272,9 @@
</g>
<!-- plugin&#45;&gt;plugin_feature -->
<g id="edge42" class="edge"><title>plugin&#45;&gt;plugin_feature</title>
-<path fill="none" stroke="black" d="M42.9458,-267.679C58.2302,-250.119 81.4452,-223.446 98.5869,-203.751"/>
-<polygon fill="black" stroke="black" points="101.364,-205.891 105.29,-196.05 96.0843,-201.295 101.364,-205.891"/>
-<text text-anchor="middle" x="97.5" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<path fill="none" stroke="black" d="M50.935,-267.923C74.7541,-249.934 111.462,-222.21 137.822,-202.302"/>
+<polygon fill="black" stroke="black" points="140.116,-204.955 145.987,-196.136 135.898,-199.37 140.116,-204.955"/>
+<text text-anchor="middle" x="130" y="-229.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
</g>
<!-- registry -->
<g id="node17" class="node"><title>registry</title>
@@ -287,7 +287,7 @@
<g id="edge40" class="edge"><title>registry&#45;&gt;plugin</title>
<path fill="none" stroke="black" d="M27,-347.847C27,-337.925 27,-325.417 27,-314.249"/>
<polygon fill="black" stroke="black" points="30.5001,-314.081 27,-304.081 23.5001,-314.081 30.5001,-314.081"/>
-<text text-anchor="middle" x="36.5" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
+<text text-anchor="middle" x="37" y="-323.7" font-family="Bitstream Vera Sans" font-size="7.00">has n</text>
</g>
</g>
</svg>
diff --git a/docs/gst/gstreamer-docs.sgml b/docs/gst/gstreamer-docs.sgml
index d4388c2..eac3acb 100644
--- a/docs/gst/gstreamer-docs.sgml
+++ b/docs/gst/gstreamer-docs.sgml
@@ -65,10 +65,12 @@ Windows. It is released under the GNU Library General Public License
<xi:include href="xml/gstbufferpool.xml" />
<xi:include href="xml/gstbus.xml" />
<xi:include href="xml/gstcaps.xml" />
+ <xi:include href="xml/gstcapsfeatures.xml" />
<xi:include href="xml/gstsample.xml" />
<xi:include href="xml/gstchildproxy.xml" />
<xi:include href="xml/gstclock.xml" />
<xi:include href="xml/gstconfig.xml" />
+ <xi:include href="xml/gstcontext.xml" />
<xi:include href="xml/gstcontrolbinding.xml" />
<xi:include href="xml/gstcontrolsource.xml" />
<xi:include href="xml/gstdatetime.xml" />
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index fe21ddd..49c31cf 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -91,6 +91,8 @@ gst_bin_find_unlinked_pad
<SUBSECTION>
GstBinFlags
+GST_BIN_IS_NO_RESYNC
+
GST_BIN_CHILDREN
GST_BIN_CHILDREN_COOKIE
GST_BIN_NUMCHILDREN
@@ -221,6 +223,7 @@ gst_buffer_unmap
gst_buffer_memcmp
gst_buffer_extract
+gst_buffer_extract_dup
gst_buffer_fill
gst_buffer_memset
@@ -400,11 +403,15 @@ gst_static_caps_cleanup
gst_caps_append
gst_caps_merge
gst_caps_append_structure
+gst_caps_append_structure_full
gst_caps_remove_structure
gst_caps_steal_structure
gst_caps_merge_structure
+gst_caps_merge_structure_full
gst_caps_get_size
gst_caps_get_structure
+gst_caps_get_features
+gst_caps_set_features
gst_caps_set_value
gst_caps_set_simple
gst_caps_set_simple_valist
@@ -417,6 +424,7 @@ gst_caps_is_strictly_equal
gst_caps_is_always_compatible
gst_caps_is_subset
gst_caps_is_subset_structure
+gst_caps_is_subset_structure_full
gst_caps_can_intersect
gst_caps_intersect
gst_caps_intersect_full
@@ -446,6 +454,50 @@ gst_caps_intersect_mode_get_type
</SECTION>
<SECTION>
+<FILE>gstcapsfeatures</FILE>
+<TITLE>GstCapsFeatures</TITLE>
+GstCapsFeatures
+gst_caps_features_new
+gst_caps_features_new_empty
+gst_caps_features_new_any
+gst_caps_features_new_id
+gst_caps_features_new_id_valist
+gst_caps_features_new_valist
+
+gst_caps_features_copy
+gst_caps_features_free
+
+gst_caps_features_from_string
+gst_caps_features_to_string
+
+gst_caps_features_set_parent_refcount
+
+gst_caps_features_is_equal
+gst_caps_features_is_any
+
+gst_caps_features_contains
+gst_caps_features_contains_id
+
+gst_caps_features_get_size
+
+gst_caps_features_get_nth
+gst_caps_features_get_nth_id
+
+gst_caps_features_add
+gst_caps_features_add_id
+gst_caps_features_remove
+gst_caps_features_remove_id
+<SUBSECTION Standard>
+GST_CAPS_FEATURES
+GST_CAPS_FEATURES_CAST
+GST_IS_CAPS_FEATURES
+GST_TYPE_CAPS_FEATURES
+gst_is_caps_features
+<SUBSECTION Private>
+gst_caps_features_get_type
+</SECTION>
+
+<SECTION>
<FILE>gstsample</FILE>
<TITLE>GstSample</TITLE>
GstSample
@@ -590,6 +642,9 @@ gst_pad_set_caps
gst_buffer_new_and_alloc
GST_BUFFER_TIMESTAMP
GST_BUFFER_TIMESTAMP_IS_VALID
+GST_MESSAGE_DURATION
+gst_message_new_duration
+gst_message_parse_duration
gst_adapter_prev_timestamp
<SUBSECTION Private>
</SECTION>
@@ -612,9 +667,29 @@ GST_PLUGIN_EXPORT
GST_PADDING
GST_PADDING_LARGE
GST_PADDING_INIT
-GST_USING_PRINTF_EXTENSION
</SECTION>
+<SECTION>
+<FILE>gstcontext</FILE>
+<TITLE>GstContext</TITLE>
+GstContext
+gst_context_new
+gst_context_ref
+gst_context_unref
+gst_context_copy
+gst_context_get_structure
+gst_context_writable_structure
+gst_context_make_writable
+gst_context_is_writable
+gst_context_replace
+<SUBSECTION Standard>
+GST_CONTEXT
+GST_CONTEXT_CAST
+GST_IS_CONTEXT
+GST_TYPE_CONTEXT
+<SUBSECTION Private>
+gst_context_get_type
+</SECTION>
<SECTION>
<FILE>gstcontrolbinding</FILE>
@@ -747,6 +822,8 @@ gst_element_set_start_time
gst_element_get_start_time
gst_element_set_bus
gst_element_get_bus
+gst_element_set_context
+gst_element_get_context
gst_element_get_factory
gst_element_set_name
gst_element_get_name
@@ -975,6 +1052,8 @@ gst_event_parse_gap
gst_event_new_stream_start
gst_event_parse_stream_start
+gst_event_set_stream_flags
+gst_event_parse_stream_flags
gst_event_new_segment
gst_event_parse_segment
@@ -1019,6 +1098,9 @@ gst_event_parse_toc_select
gst_event_new_segment_done
gst_event_parse_segment_done
+
+gst_event_new_context
+gst_event_parse_context
<SUBSECTION Standard>
GstEventClass
GST_EVENT
@@ -1144,6 +1226,7 @@ gst_debug_is_active
gst_debug_set_colored
gst_debug_is_colored
gst_debug_set_default_threshold
+gst_debug_set_threshold_from_string
gst_debug_get_default_threshold
gst_debug_set_threshold_for_name
gst_debug_unset_threshold_for_name
@@ -1320,6 +1403,8 @@ GST_MEMORY_IS_READONLY
GST_MEMORY_IS_NO_SHARE
GST_MEMORY_IS_ZERO_PADDED
GST_MEMORY_IS_ZERO_PREFIXED
+GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS
+GST_MEMORY_IS_NOT_MAPPABLE
GstMemory
@@ -1337,6 +1422,8 @@ GstMemoryIsSpanFunction
gst_memory_init
+gst_memory_is_type
+
gst_memory_ref
gst_memory_unref
@@ -1346,6 +1433,7 @@ gst_memory_resize
gst_memory_lock
gst_memory_unlock
gst_memory_is_writable
+gst_memory_make_writable
gst_memory_make_mapped
gst_memory_map
@@ -1457,6 +1545,13 @@ GstProgressType
gst_message_new_progress
gst_message_parse_progress
+gst_message_new_need_context
+gst_message_add_context_type
+gst_message_get_n_context_types
+gst_message_parse_nth_context_type
+gst_message_new_have_context
+gst_message_parse_have_context
+
<SUBSECTION Standard>
GstMessageClass
GST_MESSAGE
@@ -1771,6 +1866,8 @@ gst_pad_create_stream_id
gst_pad_create_stream_id_printf
gst_pad_create_stream_id_printf_valist
+gst_pad_get_stream_id
+
GstPadForwardFunction
gst_pad_forward
<SUBSECTION Core>
@@ -2076,6 +2173,7 @@ gst_plugin_feature_set_name
gst_plugin_feature_get_rank
gst_plugin_feature_get_name
gst_plugin_feature_get_plugin
+gst_plugin_feature_get_plugin_name
gst_plugin_feature_load
gst_plugin_feature_list_copy
gst_plugin_feature_list_free
@@ -2246,11 +2344,13 @@ gst_query_add_allocation_pool
gst_query_get_n_allocation_pools
gst_query_parse_nth_allocation_pool
gst_query_set_nth_allocation_pool
+gst_query_remove_nth_allocation_pool
gst_query_add_allocation_param
gst_query_get_n_allocation_params
gst_query_parse_nth_allocation_param
gst_query_set_nth_allocation_param
+gst_query_remove_nth_allocation_param
gst_query_add_allocation_meta
gst_query_get_n_allocation_metas
@@ -2269,6 +2369,13 @@ gst_query_has_scheduling_mode
gst_query_has_scheduling_mode_with_flags
gst_query_new_drain
+
+gst_query_new_context
+gst_query_set_context
+gst_query_parse_context
+gst_query_add_context_type
+gst_query_get_n_context_types
+gst_query_parse_nth_context_type
<SUBSECTION Standard>
GstQueryClass
GST_QUERY
@@ -2367,6 +2474,7 @@ gst_structure_new_id_empty
gst_structure_new
gst_structure_new_valist
gst_structure_new_id
+gst_structure_new_from_string
gst_structure_copy
gst_structure_free
gst_structure_get_name
@@ -3079,6 +3187,11 @@ GST_VALUE_HOLDS_CAPS
gst_value_set_caps
gst_value_get_caps
+<SUBSECTION capsfeature>
+GST_VALUE_HOLDS_CAPS_FEATURES
+gst_value_set_caps_features
+gst_value_get_caps_features
+
<SUBSECTION structure>
GST_VALUE_HOLDS_STRUCTURE
gst_value_set_structure
diff --git a/docs/gst/html/GstAllocator.html b/docs/gst/html/GstAllocator.html
index d6df169..8a5707a 100644
--- a/docs/gst/html/GstAllocator.html
+++ b/docs/gst/html/GstAllocator.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstAllocator</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-Gst.html" title="Gst">
@@ -105,8 +105,11 @@ Last reviewed on 2012-07-09 (0.11.3)
<p>
The <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> is used to create new memory.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody></tbody>
</table></div>
</div>
@@ -122,8 +125,11 @@ The <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="t
<p>
Flags for allocators.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-ALLOCATOR-FLAG-CUSTOM-ALLOC:CAPS"></a><span class="term"><code class="literal">GST_ALLOCATOR_FLAG_CUSTOM_ALLOC</code></span></p></td>
@@ -151,8 +157,11 @@ Flags for allocators.
<p>
Parameters to control the allocation of memory
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstMemoryFlags" title="enum GstMemoryFlags"><span class="type">GstMemoryFlags</span></a> <em class="structfield"><code><a name="GstAllocationParams.flags"></a>flags</code></em>;</span></p></td>
@@ -190,8 +199,11 @@ The allocator name for the default system memory allocator
Find a previously registered allocator with <em class="parameter"><code>name</code></em>. When <em class="parameter"><code>name</code></em> is NULL, the
default allocator will be returned.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -216,8 +228,11 @@ registered. Use <a class="link" href="GstObject.html#gst-object-unref" title="gs
Registers the memory <em class="parameter"><code>allocator</code></em> with <em class="parameter"><code>name</code></em>. This function takes ownership of
<em class="parameter"><code>allocator</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -239,8 +254,11 @@ Registers the memory <em class="parameter"><code>allocator</code></em> with <em
<p>
Set the default allocator. This function takes ownership of <em class="parameter"><code>allocator</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
<td>a <a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -255,8 +273,11 @@ Set the default allocator. This function takes ownership of <em class="parameter
<p>
Initialize <em class="parameter"><code>params</code></em> to its default values
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
<td>a <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a>
@@ -274,8 +295,11 @@ Create a copy of <em class="parameter"><code>params</code></em>.
<p>
Free-function: gst_allocation_params_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
@@ -298,8 +322,11 @@ Free-function: gst_allocation_params_free
<p>
Free <em class="parameter"><code>params</code></em>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
<td>a <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a>. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -334,8 +361,11 @@ The alignment in <em class="parameter"><code>params</code></em> is given as a bi
the amount of bytes to align to. For example, to align to 8 bytes,
use an alignment of 7.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
@@ -367,8 +397,11 @@ use an alignment of 7.
<p>
Free <em class="parameter"><code>memory</code></em> that was previously allocated with <a class="link" href="GstAllocator.html#gst-allocator-alloc" title="gst_allocator_alloc ()"><code class="function">gst_allocator_alloc()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
@@ -400,8 +433,11 @@ Allocate a new memory block that wraps the given <em class="parameter"><code>dat
The prefix/padding must be filled with 0 if <em class="parameter"><code>flags</code></em> contains
<a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PREFIXED</span></a> and <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PADDED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PADDED</span></a> respectively.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstBin.html b/docs/gst/html/GstBin.html
index a851241..63b85fd 100644
--- a/docs/gst/html/GstBin.html
+++ b/docs/gst/html/GstBin.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBin</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstAtomicQueue.html" title="GstAtomicQueue">
@@ -80,6 +80,7 @@ struct <a class="link" href="GstBin.html#GstBinClass" title="struct
<em class="parameter"><code><a class="link" href="GstPad.html#GstPadDirection" title="enum GstPadDirection"><span class="type">GstPadDirection</span></a> direction</code></em>);
enum <a class="link" href="GstBin.html#GstBinFlags" title="enum GstBinFlags">GstBinFlags</a>;
+#define <a class="link" href="GstBin.html#GST-BIN-IS-NO-RESYNC:CAPS" title="GST_BIN_IS_NO_RESYNC()">GST_BIN_IS_NO_RESYNC</a> (bin)
#define <a class="link" href="GstBin.html#GST-BIN-CHILDREN:CAPS" title="GST_BIN_CHILDREN()">GST_BIN_CHILDREN</a> (bin)
#define <a class="link" href="GstBin.html#GST-BIN-CHILDREN-COOKIE:CAPS" title="GST_BIN_CHILDREN_COOKIE()">GST_BIN_CHILDREN_COOKIE</a> (bin)
#define <a class="link" href="GstBin.html#GST-BIN-NUMCHILDREN:CAPS" title="GST_BIN_NUMCHILDREN()">GST_BIN_NUMCHILDREN</a> (bin)
@@ -157,13 +158,16 @@ element is removed from the bin.
<p>
</p>
<div class="refsect2">
-<a name="idp9877728"></a><h3>Notes</h3>
+<a name="idp9153312"></a><h3>Notes</h3>
<p>
A <a class="link" href="GstBin.html" title="GstBin"><span class="type">GstBin</span></a> internally intercepts every <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> posted by its children and
implements the following default behaviour for each of them:
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">GST_MESSAGE_EOS</span></p></td>
@@ -229,8 +233,11 @@ implements the following default behaviour for each of them:
A <a class="link" href="GstBin.html" title="GstBin"><span class="type">GstBin</span></a> implements the following default behaviour for answering to a
<a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>:
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">GST_QUERY_DURATION</span></p></td>
@@ -299,8 +306,11 @@ Last reviewed on 2012-03-28 (0.11.3)
The GstBin base class. Subclasses can access these fields provided
the LOCK is taken.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstBin-struct.numchildren"></a>numchildren</code></em>;</span></p></td>
@@ -370,8 +380,11 @@ The <em class="parameter"><code>handle_message</code></em> method can be overrid
message handling. <em class="parameter"><code>handle_message</code></em> takes ownership of the message, just like
<a class="link" href="GstElement.html#gst-element-post-message" title="gst_element_post_message ()"><span class="type">gst_element_post_message</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstElement.html#GstElementClass" title="struct GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBinClass.parent-class"></a>parent_class</code></em>;</span></p></td>
@@ -399,8 +412,11 @@ message handling. <em class="parameter"><code>handle_message</code></em> takes
<p>
Creates a new bin with the given name.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -442,8 +458,11 @@ The bin or pipeline will not take care of this for you.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -483,8 +502,11 @@ before the element is removed from the bin.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -519,8 +541,11 @@ Returns NULL if no element with the given name is found in the bin.
<p>
MT safe. Caller owns returned reference.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -551,14 +576,17 @@ element is not found, a recursion is performed on the parent bin.
<p>
Returns NULL if:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>no element with the given name is found in the bin</p></li></ul></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>no element with the given name is found in the bin</p></li></ul></div>
<p>
</p>
<p>
MT safe. Caller owns returned reference.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -592,8 +620,11 @@ all elements that implement the interface, use
<p>
MT safe. Caller owns returned reference.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -622,8 +653,11 @@ Gets an iterator for the elements in this bin.
<p>
MT safe. Caller owns returned value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -649,8 +683,11 @@ This iterator recurses into GstBin children.
<p>
MT safe. Caller owns returned value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -676,8 +713,11 @@ Gets an iterator for all elements in the bin that have the
<p>
MT safe. Caller owns returned value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -708,8 +748,11 @@ of the bin elements and for clock selection.
<p>
MT safe. Caller owns returned value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -735,8 +778,11 @@ Gets an iterator for all elements in the bin that have the
<p>
MT safe. Caller owns returned value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -765,8 +811,11 @@ of <a class="link" href="GstElement.html" title="GstElement"><span class="type">
<p>
MT safe. Caller owns returned value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -802,8 +851,11 @@ is posted on the bus.
This function simply emits the 'do-latency' signal so any custom latency
calculations will be performed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -829,8 +881,11 @@ Adds a NULL-terminated list of elements to a bin. This function is
equivalent to calling <a class="link" href="GstBin.html#gst-bin-add" title="gst_bin_add ()"><code class="function">gst_bin_add()</code></a> for each member of the list. The return
value of each <a class="link" href="GstBin.html#gst-bin-add" title="gst_bin_add ()"><code class="function">gst_bin_add()</code></a> is ignored.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -860,8 +915,11 @@ value of each <a class="link" href="GstBin.html#gst-bin-add" title="gst_bin_add
Remove a list of elements from a bin. This function is equivalent
to calling <a class="link" href="GstBin.html#gst-bin-remove" title="gst_bin_remove ()"><code class="function">gst_bin_remove()</code></a> with each member of the list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -893,8 +951,11 @@ if one is found, or NULL otherwise. If a pad is found, the caller
owns a reference to it and should use <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> on the
pad when it is not needed any longer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -926,13 +987,16 @@ GstBinFlags are a set of flags specific to bins. Most are set/used
internally. They can be checked using the <a class="link" href="GstObject.html#GST-OBJECT-FLAG-IS-SET:CAPS" title="GST_OBJECT_FLAG_IS_SET()"><code class="function">GST_OBJECT_FLAG_IS_SET()</code></a> macro,
and (un)set using <a class="link" href="GstObject.html#GST-OBJECT-FLAG-SET:CAPS" title="GST_OBJECT_FLAG_SET()"><code class="function">GST_OBJECT_FLAG_SET()</code></a> and <a class="link" href="GstObject.html#GST-OBJECT-FLAG-UNSET:CAPS" title="GST_OBJECT_FLAG_UNSET()"><code class="function">GST_OBJECT_FLAG_UNSET()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-BIN-FLAG-NO-RESYNC:CAPS"></a><span class="term"><code class="literal">GST_BIN_FLAG_NO_RESYNC</code></span></p></td>
<td>don't resync a state change when elements are
- added or linked in the bin (Since 1.0.5)
+ added or linked in the bin.
</td>
</tr>
<tr>
@@ -946,14 +1010,39 @@ Derived classes can use this as first value in a list of flags.
</div>
<hr>
<div class="refsect2">
+<a name="GST-BIN-IS-NO-RESYNC:CAPS"></a><h3>GST_BIN_IS_NO_RESYNC()</h3>
+<pre class="programlisting">#define GST_BIN_IS_NO_RESYNC(bin) (GST_OBJECT_FLAG_IS_SET(bin,GST_BIN_FLAG_NO_RESYNC))
+</pre>
+<p>
+Check if <em class="parameter"><code>bin</code></em> will resync its state change when elements are added and
+removed.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
+<td>A <a class="link" href="GstBin.html" title="GstBin"><span class="type">GstBin</span></a>
+</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.1.1</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GST-BIN-CHILDREN:CAPS"></a><h3>GST_BIN_CHILDREN()</h3>
<pre class="programlisting">#define GST_BIN_CHILDREN(bin) (GST_BIN_CAST(bin)-&gt;children)
</pre>
<p>
Gets the list with children in a bin.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
<td>a <a class="link" href="GstBin.html" title="GstBin"><span class="type">GstBin</span></a>
@@ -969,8 +1058,11 @@ Gets the list with children in a bin.
<p>
Gets the children cookie that watches the children list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
<td>a <a class="link" href="GstBin.html" title="GstBin"><span class="type">GstBin</span></a>
@@ -986,8 +1078,11 @@ Gets the children cookie that watches the children list.
<p>
Gets the number of children in a bin.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
<td>a <a class="link" href="GstBin.html" title="GstBin"><span class="type">GstBin</span></a>
@@ -1047,8 +1142,11 @@ Connect to this signal if the default latency calculations are not
sufficient, like when you need different latencies for different sinks in
the same pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -1071,8 +1169,11 @@ the same pipeline.
<p>
Will be emitted after the element was added to the bin.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -1099,8 +1200,11 @@ Will be emitted after the element was added to the bin.
<p>
Will be emitted after the element was removed from the bin.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstBus.html b/docs/gst/html/GstBus.html
index 026f2a7..7f7d359 100644
--- a/docs/gst/html/GstBus.html
+++ b/docs/gst/html/GstBus.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBus</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstBufferPool.html" title="GstBufferPool">
@@ -200,8 +200,11 @@ The opaque <a class="link" href="GstBus.html" title="GstBus"><span class="type">
<p>
The standard flags that a bus may have.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-BUS-FLUSHING:CAPS"></a><span class="term"><code class="literal">GST_BUS_FLUSHING</code></span></p></td>
@@ -228,8 +231,11 @@ The standard flags that a bus may have.
<p>
The result values for a GstBusSyncHandler.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-BUS-DROP:CAPS"></a><span class="term"><code class="literal">GST_BUS_DROP</code></span></p></td>
@@ -268,8 +274,11 @@ function so it should not be freed in the function.
Note that this function is used as a GSourceFunc which means that returning
FALSE will remove the GSource from the mainloop.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -307,8 +316,11 @@ can be attached to a given bus.
If the handler returns GST_BUS_DROP, it should unref the message, else the
message should not be unreffed by the sync handler.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -338,8 +350,11 @@ message should not be unreffed by the sync handler.
<p>
Creates a new <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> instance. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -356,8 +371,11 @@ Creates a new <a class="link" href="GstBus.html" title="GstBus"><span class="typ
Post a message on the given bus. Ownership of the message
is taken by the bus.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -384,8 +402,11 @@ MT safe.</td>
Check if there are pending messages on the bus that
should be handled.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -409,8 +430,11 @@ Peek the message on the top of the bus' queue. The message will remain
on the bus' message queue. A reference is returned, and needs to be unreffed
by the caller.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -434,8 +458,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
<p>
Get a message from the bus.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -463,8 +490,11 @@ the bus that do not match <em class="parameter"><code>type</code></em> and that
message that does match <em class="parameter"><code>type</code></em>. If there is no message matching <em class="parameter"><code>type</code></em> on
the bus, all messages will be discarded.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -499,8 +529,11 @@ If <em class="parameter"><code>timeout</code></em> is 0, this function behaves l
<a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><span class="type">GST_CLOCK_TIME_NONE</span></a>, this function will block forever until a message was
posted on the bus.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -538,8 +571,11 @@ If <em class="parameter"><code>timeout</code></em> is 0, this function behaves l
<em class="parameter"><code>timeout</code></em> is <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><span class="type">GST_CLOCK_TIME_NONE</span></a>, this function will block forever until a
matching message was posted on the bus.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -578,8 +614,11 @@ references to the message origin objects. Will flush future messages until
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -612,8 +651,11 @@ functions.
You cannot replace an existing sync_handler. You can pass NULL to this
function, which will clear the existing handler.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -645,8 +687,11 @@ function, which will clear the existing handler.
A helper GstBusSyncHandler that can be used to convert all synchronous
messages into signals.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -677,8 +722,11 @@ Create watch for this bus. The GSource will be dispatched whenever
a message is on the bus. After the GSource is dispatched, the
message is popped off the bus and unreffed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -723,8 +771,11 @@ from <em class="parameter"><code>func</code></em>.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -776,8 +827,11 @@ can set a new one.
The watch can be removed using <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-source-remove"><code class="function">g_source_remove()</code></a> or by returning FALSE
from <em class="parameter"><code>func</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -819,8 +873,11 @@ disable.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
<td>a <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> on which you previously called
@@ -856,8 +913,11 @@ signal is marshalled to the main thread via the main loop.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
<td>a <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> on which you want to receive the "sync-message" signal</td>
@@ -874,8 +934,11 @@ MT safe.
A helper <a class="link" href="GstBus.html#GstBusFunc" title="GstBusFunc ()"><span class="type">GstBusFunc</span></a> that can be used to convert all asynchronous messages
into signals.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -920,8 +983,11 @@ function is called.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
<td>a <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> on which you want to receive the "message" signal</td>
@@ -956,8 +1022,11 @@ watch before you can set another type of watch.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -980,8 +1049,11 @@ Removes a signal watch previously added with <a class="link" href="GstBus.html#g
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
<td>a <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> you previously added a signal watch to</td>
@@ -1032,8 +1104,11 @@ other short timeouts use <a class="link" href="GstBus.html#gst-bus-timed-pop-fil
better handled by setting up an asynchronous bus watch and doing things
from there.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -1082,8 +1157,11 @@ A message has been posted on the bus. This signal is emitted from a
GSource added to the mainloop. this signal will only be emitted when
there is a mainloop running.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
@@ -1111,17 +1189,14 @@ A message has been posted on the bus. This signal is emitted from the
thread that posted the message so one has to be careful with locking.
</p>
<p>
-This signal will not be emitted by default, you have to set up
-<a class="link" href="GstBus.html#gst-bus-sync-signal-handler" title="gst_bus_sync_signal_handler ()"><code class="function">gst_bus_sync_signal_handler()</code></a> as a sync handler if you want this
-signal to be emitted when a message is posted on the bus, like this:
+This signal will not be emitted by default, you have to call
+<a class="link" href="GstBus.html#gst-bus-enable-sync-message-emission" title="gst_bus_enable_sync_message_emission ()"><code class="function">gst_bus_enable_sync_message_emission()</code></a> before.
</p>
-<pre class="programlisting">
-gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, yourdata);
-</pre>
-<p>
-</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bus</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstChildProxy.html b/docs/gst/html/GstChildProxy.html
index 225f090..dc42784 100644
--- a/docs/gst/html/GstChildProxy.html
+++ b/docs/gst/html/GstChildProxy.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstChildProxy</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstSample.html" title="GstSample">
@@ -155,8 +155,11 @@ Opaque <a class="link" href="GstChildProxy.html" title="GstChildProxy"><span cla
<p>
<a class="link" href="GstChildProxy.html" title="GstChildProxy"><span class="type">GstChildProxy</span></a> interface.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstChildProxyInterface.parent"></a>parent</code></em>;</span></p></td>
@@ -184,8 +187,11 @@ Opaque <a class="link" href="GstChildProxy.html" title="GstChildProxy"><span cla
<p>
Gets the number of child objects this parent contains.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
@@ -212,8 +218,11 @@ This virtual method has a default implementation that uses <a class="link" href=
together with <a class="link" href="GstObject.html#gst-object-get-name" title="gst_object_get_name ()"><code class="function">gst_object_get_name()</code></a>. If the interface is to be used with
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObjects</span></a>, this methods needs to be overridden.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
@@ -241,8 +250,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
<p>
Fetches a child by its number.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
@@ -275,11 +287,14 @@ Looks up which object and <a href="http://library.gnome.org/devel/gobject/unstab
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>childproxy</code></em> :</span></p></td>
+<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
<td>child proxy object to lookup the property in</td>
</tr>
<tr>
@@ -317,8 +332,11 @@ usage. For plain GObjects <em class="parameter"><code>target</code></em> is the
Gets a single property using the GstChildProxy mechanism.
You are responsible for freeing it by calling <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#g-value-unset"><code class="function">g_value_unset()</code></a>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -345,8 +363,11 @@ You are responsible for freeing it by calling <a href="http://library.gnome.org/
<p>
Gets properties of the parent object and its children.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -372,8 +393,11 @@ Gets properties of the parent object and its children.
<p>
Gets properties of the parent object and its children.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -399,8 +423,11 @@ Gets properties of the parent object and its children.
<p>
Sets a single property using the GstChildProxy mechanism.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -426,8 +453,11 @@ Sets a single property using the GstChildProxy mechanism.
<p>
Sets properties of the parent object and its children.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -453,8 +483,11 @@ Sets properties of the parent object and its children.
<p>
Sets properties of the parent object and its children.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -480,8 +513,11 @@ Sets properties of the parent object and its children.
<p>
Emits the "child-added" signal.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
@@ -507,8 +543,11 @@ Emits the "child-added" signal.
<p>
Emits the "child-removed" signal.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
@@ -537,8 +576,11 @@ Emits the "child-removed" signal.
<p>
Will be emitted after the <em class="parameter"><code>object</code></em> was added to the <em class="parameter"><code>child_proxy</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>child_proxy</code></em> :</span></p></td>
@@ -570,8 +612,11 @@ Will be emitted after the <em class="parameter"><code>object</code></em> was add
<p>
Will be emitted after the <em class="parameter"><code>object</code></em> was removed from the <em class="parameter"><code>child_proxy</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>child_proxy</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstClock.html b/docs/gst/html/GstClock.html
index 863417e..8e852d7 100644
--- a/docs/gst/html/GstClock.html
+++ b/docs/gst/html/GstClock.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstClock</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstChildProxy.html" title="GstChildProxy">
@@ -283,8 +283,11 @@ protected for subclasses, use the methods to use the <a class="link" href="GstCl
GStreamer clock class. Override the vmethods to implement the clock
functionality.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> <em class="structfield"><code><a name="GstClockClass.parent-class"></a>parent_class</code></em>;</span></p></td>
@@ -368,8 +371,11 @@ Type: GstClockTime
<p>
Tests if a given <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> represents a valid defined time.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
<td>clock time to validate</td>
@@ -436,8 +442,11 @@ Type: GstClockTime
<p>
Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> to seconds.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
<td>the time</td>
@@ -452,8 +461,11 @@ Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"
<p>
Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> to milliseconds (1/1000 of a second).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
<td>the time</td>
@@ -468,8 +480,11 @@ Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"
<p>
Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> to microseconds (1/1000000 of a second).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
<td>the time</td>
@@ -484,8 +499,11 @@ Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"
<p>
Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> to nanoseconds (1/1000000000 of a second).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
<td>the time</td>
@@ -501,8 +519,11 @@ Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"
Calculate a difference between two clock times as a <a class="link" href="GstClock.html#GstClockTimeDiff" title="GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a>.
The difference is calculated as <em class="parameter"><code>e</code></em> - <em class="parameter"><code>s</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
@@ -523,8 +544,11 @@ The difference is calculated as <em class="parameter"><code>e</code></em> - <em
<p>
Convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> to a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>tv</code></em> :</span></p></td>
<td>the timeval to convert</td>
@@ -546,8 +570,11 @@ which is about 68 years. Expect trouble if you want to schedule stuff
in your pipeline for 2038.</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>t</code></em> :</span></p></td>
@@ -568,8 +595,11 @@ in your pipeline for 2038.</div>
<p>
Convert a struct timespec (see man pselect) to a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ts</code></em> :</span></p></td>
<td>the timespec to convert</td>
@@ -583,8 +613,11 @@ Convert a struct timespec (see man pselect) to a <a class="link" href="GstClock.
<p>
Convert a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> to a struct timespec (see man pselect)
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>t</code></em> :</span></p></td>
@@ -610,8 +643,11 @@ an entry.
Note that GstClockEntry should be treated as an opaque structure. It must
not be extended or allocated using a custom allocator.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstClockEntry.refcount"></a>refcount</code></em>;</span></p></td>
<td>reference counter (read-only)</td>
@@ -628,8 +664,11 @@ not be extended or allocated using a custom allocator.
<p>
The function prototype of the callback.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -666,8 +705,11 @@ The function prototype of the callback.
<p>
The type of the clock entry
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-CLOCK-ENTRY-SINGLE:CAPS"></a><span class="term"><code class="literal">GST_CLOCK_ENTRY_SINGLE</code></span></p></td>
@@ -690,8 +732,11 @@ The type of the clock entry
<p>
Cast to a clock entry
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>the entry to cast</td>
@@ -706,8 +751,11 @@ Cast to a clock entry
<p>
Get the owner clock of the entry
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>the entry to query</td>
@@ -722,8 +770,11 @@ Get the owner clock of the entry
<p>
Get the type of the clock entry
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>the entry to query</td>
@@ -738,8 +789,11 @@ Get the type of the clock entry
<p>
Get the requested time of this entry
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>the entry to query</td>
@@ -754,8 +808,11 @@ Get the requested time of this entry
<p>
Get the interval of this periodic entry
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>the entry to query</td>
@@ -770,8 +827,11 @@ Get the interval of this periodic entry
<p>
The status of the entry
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>the entry to query</td>
@@ -795,8 +855,11 @@ The status of the entry
<p>
The return value of a clock operation.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-CLOCK-OK:CAPS"></a><span class="term"><code class="literal">GST_CLOCK_OK</code></span></p></td>
@@ -858,8 +921,11 @@ The return value of a clock operation.
<p>
The capabilities of this clock
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-CLOCK-FLAG-CAN-DO-SINGLE-SYNC:CAPS"></a><span class="term"><code class="literal">GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC</code></span></p></td>
@@ -907,8 +973,11 @@ The capabilities of this clock
<p>
Gets the <a class="link" href="GstClock.html#GstClockFlags" title="enum GstClockFlags"><span class="type">GstClockFlags</span></a> clock flags.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
<td>the clock to query</td>
@@ -935,8 +1004,11 @@ means a perfect regression was performed. This value can
be used to control the sampling frequency of the master and slave
clocks.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -985,8 +1057,11 @@ calibration values with <a class="link" href="GstClock.html#gst-clock-get-calibr
however keep reporting its time adjusted with the last configured rate
and time offsets.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1017,8 +1092,11 @@ MT safe.</td>
Get the master clock that <em class="parameter"><code>clock</code></em> is slaved to or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when the clock is
not slaved to any master clock.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1047,8 +1125,11 @@ normally no need to change the default resolution of a clock. The resolution
of a clock can only be changed if the clock has the
<a class="link" href="GstClock.html#GST-CLOCK-FLAG-CAN-SET-RESOLUTION:CAPS"><span class="type">GST_CLOCK_FLAG_CAN_SET_RESOLUTION</span></a> flag set.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1074,8 +1155,11 @@ of a clock can only be changed if the clock has the
Get the accuracy of the clock. The accuracy of the clock is the granularity
of the values returned by <a class="link" href="GstClock.html#gst-clock-get-time" title="gst_clock_get_time ()"><code class="function">gst_clock_get_time()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1099,8 +1183,11 @@ Gets the current time of the given clock. The time is always
monotonically increasing and adjusted according to the current
offset and rate.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1128,8 +1215,11 @@ unreffed after usage.
<p>
Free-function: gst_clock_id_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1164,8 +1254,11 @@ after usage.
<p>
Free-function: gst_clock_id_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1199,8 +1292,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
Reinitializes the provided single shot <em class="parameter"><code>id</code></em> to the provided time. Does not
modify the reference count.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1236,8 +1332,11 @@ modify the reference count.
Reinitializes the provided periodic <em class="parameter"><code>id</code></em> to the provided start time and
interval. Does not modify the reference count.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1274,8 +1373,11 @@ interval. Does not modify the reference count.
Gets the current internal time of the given clock. The time is returned
unadjusted for the offset and the rate.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1304,8 +1406,11 @@ clock's OBJECT_LOCK held and is mainly used by clock subclasses.
<p>
This function is the reverse of <a class="link" href="GstClock.html#gst-clock-unadjust-unlocked" title="gst_clock_unadjust_unlocked ()"><code class="function">gst_clock_unadjust_unlocked()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1336,8 +1441,11 @@ is mainly used by clock subclasses.
<p>
This function is the reverse of <a class="link" href="GstClock.html#gst-clock-adjust-unlocked" title="gst_clock_adjust_unlocked ()"><code class="function">gst_clock_adjust_unlocked()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1373,8 +1481,11 @@ caller is not interested in the values.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1445,8 +1556,11 @@ until the clock catches up.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1479,8 +1593,11 @@ internal time</td>
<p>
Get the amount of time that master and slave clocks are sampled.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1503,8 +1620,11 @@ Get the amount of time that master and slave clocks are sampled.
Set the amount of time, in nanoseconds, to sample master and slave
clocks
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -1525,8 +1645,11 @@ clocks
<p>
Get the time of the clock ID
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
@@ -1561,8 +1684,11 @@ Positive values indicate how late <em class="parameter"><code>id</code></em> was
Negative values indicate how much time was spent waiting on the clock
before this function returned.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
@@ -1603,8 +1729,11 @@ be called when the time of <em class="parameter"><code>id</code></em> has been r
The callback <em class="parameter"><code>func</code></em> can be invoked from any thread, either provided by the
core or from a streaming thread. The application should be prepared for this.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
@@ -1644,8 +1773,11 @@ async notifications, you need to create a new <a class="link" href="GstClock.htm
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>The id to unschedule</td>
@@ -1661,8 +1793,11 @@ MT safe.
Compares the two <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> instances. This function can be used
as a GCompareFunc when sorting ids.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>id1</code></em> :</span></p></td>
@@ -1688,8 +1823,11 @@ MT safe.</td>
<p>
Increase the refcount of given <em class="parameter"><code>id</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
@@ -1715,8 +1853,11 @@ Unref given <em class="parameter"><code>id</code></em>. When the refcount reache
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>The <a class="link" href="GstClock.html#GstClockID" title="GstClockID"><span class="type">GstClockID</span></a> to unref. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
diff --git a/docs/gst/html/GstControlBinding.html b/docs/gst/html/GstControlBinding.html
index ff2444c..fd388ce 100644
--- a/docs/gst/html/GstControlBinding.html
+++ b/docs/gst/html/GstControlBinding.html
@@ -3,10 +3,10 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstControlBinding</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
-<link rel="prev" href="gstreamer-gstconfig.html" title="gstconfig">
+<link rel="prev" href="gstreamer-GstContext.html" title="GstContext">
<link rel="next" href="GstControlSource.html" title="GstControlSource">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
@@ -14,7 +14,7 @@
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
-<td><a accesskey="p" href="gstreamer-gstconfig.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gstreamer-GstContext.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th>
@@ -105,8 +105,11 @@ bound property.
<p>
The instance structure of <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstControlBinding-struct.name"></a>name</code></em>;</span></p></td>
@@ -136,8 +139,11 @@ The instance structure of <a class="link" href="GstControlBinding.html" title="G
<p>
The class structure of <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> <em class="structfield"><code><a name="GstControlBindingClass.parent-class"></a>parent_class</code></em>;</span></p></td>
@@ -177,8 +183,11 @@ handle them and for the given timestamp.
If this function fails, it is most likely the application developers fault.
Most probably the control sources are not setup correctly.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
@@ -213,8 +222,11 @@ property, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Ma
<p>
Gets the value for the given controlled property at the requested time.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
@@ -254,8 +266,11 @@ The values are unboxed and ready to be used. The similar function
<a class="link" href="GstControlBinding.html#gst-control-binding-get-g-value-array" title="gst_control_binding_get_g_value_array ()"><code class="function">gst_control_binding_get_g_value_array()</code></a> returns the array as <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValues</span></a> and is
more suitable for bindings.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
@@ -303,8 +318,11 @@ requested time. The array <em class="parameter"><code>values</code></em> need to
This function is useful if one wants to e.g. draw a graph of the control
curve or apply a control curve sample by sample.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
@@ -343,8 +361,11 @@ curve or apply a control curve sample by sample.
This function is used to disable a control binding for some time, i.e.
<a class="link" href="GstObject.html#gst-object-sync-values" title="gst_object_sync_values ()"><code class="function">gst_object_sync_values()</code></a> will do nothing.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
@@ -365,8 +386,11 @@ or not.</td>
<p>
Check if the control binding is disabled.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>binding</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstControlSource.html b/docs/gst/html/GstControlSource.html
index f57e0a5..e807ffd 100644
--- a/docs/gst/html/GstControlSource.html
+++ b/docs/gst/html/GstControlSource.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstControlSource</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstControlBinding.html" title="GstControlBinding">
@@ -77,7 +77,7 @@ struct <a class="link" href="GstControlSource.html#GstTimedValue" t
<a name="GstControlSource.description"></a><h2>Description</h2>
<p>
The <a class="link" href="GstControlSource.html" title="GstControlSource"><span class="type">GstControlSource</span></a> is a base class for control value sources that could
-be used by <span class="type">GstController</span> to get timestamp-value pairs. A control source
+be used by <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstController.html"><span class="type">GstController</span></a> to get timestamp-value pairs. A control source
essentially is a function over time, returning gloat values between 0.0 and 1.0.
</p>
<p>
@@ -110,8 +110,11 @@ These are then used by <a class="link" href="GstControlSource.html#gst-control-s
<p>
The instance structure of <a class="link" href="GstControlSource.html" title="GstControlSource"><span class="type">GstControlSource</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstControlSource.html#GstControlSourceGetValue" title="GstControlSourceGetValue ()"><span class="type">GstControlSourceGetValue</span></a> <em class="structfield"><code><a name="GstControlSource-struct.get-value"></a>get_value</code></em>;</span></p></td>
@@ -134,8 +137,11 @@ The instance structure of <a class="link" href="GstControlSource.html" title="Gs
<p>
The class structure of <a class="link" href="GstControlSource.html" title="GstControlSource"><span class="type">GstControlSource</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> <em class="structfield"><code><a name="GstControlSourceClass.parent-class"></a>parent_class</code></em>;</span></p></td>
<td>Parent class</td>
@@ -151,8 +157,11 @@ The class structure of <a class="link" href="GstControlSource.html" title="GstCo
<p>
Function for returning a value for a given timestamp.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
@@ -185,8 +194,11 @@ Function for returning a value for a given timestamp.
<p>
Function for returning an array of values for starting at a given timestamp.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
@@ -227,8 +239,11 @@ Function for returning an array of values for starting at a given timestamp.
<p>
Structure for saving a timestamp and a value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstTimedValue.timestamp"></a>timestamp</code></em>;</span></p></td>
@@ -250,8 +265,11 @@ Structure for saving a timestamp and a value.
<p>
Gets the value for this <a class="link" href="GstControlSource.html" title="GstControlSource"><span class="type">GstControlSource</span></a> at a given timestamp.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
@@ -284,8 +302,11 @@ Gets the value for this <a class="link" href="GstControlSource.html" title="GstC
Gets an array of values for for this <a class="link" href="GstControlSource.html" title="GstControlSource"><span class="type">GstControlSource</span></a>. Values that are
undefined contain NANs.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstElement.html b/docs/gst/html/GstElement.html
index cd7c4d4..7b19023 100644
--- a/docs/gst/html/GstElement.html
+++ b/docs/gst/html/GstElement.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstElement</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstDateTime.html" title="GstDateTime">
@@ -189,6 +189,9 @@ const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.htm
<span class="returnvalue">void</span> <a class="link" href="GstElement.html#gst-element-set-bus" title="gst_element_set_bus ()">gst_element_set_bus</a> (<em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>,
<em class="parameter"><code><a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> *bus</code></em>);
<a class="link" href="GstBus.html" title="GstBus"><span class="returnvalue">GstBus</span></a> * <a class="link" href="GstElement.html#gst-element-get-bus" title="gst_element_get_bus ()">gst_element_get_bus</a> (<em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="GstElement.html#gst-element-set-context" title="gst_element_set_context ()">gst_element_set_context</a> (<em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);
+<a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="returnvalue">GstContext</span></a> * <a class="link" href="GstElement.html#gst-element-get-context" title="gst_element_get_context ()">gst_element_get_context</a> (<em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>);
<a class="link" href="GstElementFactory.html" title="GstElementFactory"><span class="returnvalue">GstElementFactory</span></a> * <a class="link" href="GstElement.html#gst-element-get-factory" title="gst_element_get_factory ()">gst_element_get_factory</a> (<em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>);
#define <a class="link" href="GstElement.html#gst-element-set-name" title="gst_element_set_name()">gst_element_set_name</a> (elem,
name)
@@ -385,13 +388,18 @@ Last reviewed on 2012-03-28 (0.11.3)
guint16 numsinkpads;
GList *sinkpads;
guint32 pads_cookie;
+
+ GstContext *context;
};
</pre>
<p>
GStreamer element abstract base class.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Threads.html#GRecMutex"><span class="type">GRecMutex</span></a> <em class="structfield"><code><a name="GstElement-struct.state-lock"></a>state_lock</code></em>;</span></p></td>
@@ -481,6 +489,10 @@ state will yield the running_time against the clock.</td>
<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="GstElement-struct.pads-cookie"></a>pads_cookie</code></em>;</span></p></td>
<td>updated whenever the a pad is added or removed</td>
</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *<em class="structfield"><code><a name="GstElement-struct.context"></a>context</code></em>;</span></p></td>
+<td></td>
+</tr>
</tbody>
</table></div>
</div>
@@ -529,14 +541,19 @@ state will yield the running_time against the clock.</td>
gboolean (*query) (GstElement *element, GstQuery *query);
gboolean (*post_message) (GstElement *element, GstMessage *message);
+
+ void (*set_context) (GstElement *element, GstContext *context);
};
</pre>
<p>
GStreamer element class. Override the vmethods to implement the element
functionality.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> <em class="structfield"><code><a name="GstElementClass.parent-class"></a>parent_class</code></em>;</span></p></td>
@@ -612,6 +629,10 @@ functionality.
<td>called when a message is posted on the element. Chain up to
the parent class' handler to have it posted on the bus.</td>
</tr>
+<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="GstElementClass.set-context"></a>set_context</code></em> ()</span></p></td>
+<td>set a <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> on the element</td>
+</tr>
</tbody>
</table></div>
</div>
@@ -632,8 +653,11 @@ the parent class' handler to have it posted on the bus.</td>
<p>
The standard flags that an element may have.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-ELEMENT-FLAG-LOCKED-STATE:CAPS"></a><span class="term"><code class="literal">GST_ELEMENT_FLAG_LOCKED_STATE</code></span></p></td>
@@ -688,8 +712,11 @@ The standard flags that an element may have.
The possible states an element can be in. States can be changed using
<a class="link" href="GstElement.html#gst-element-set-state" title="gst_element_set_state ()"><code class="function">gst_element_set_state()</code></a> and checked using <a class="link" href="GstElement.html#gst-element-get-state" title="gst_element_get_state ()"><code class="function">gst_element_get_state()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-STATE-VOID-PENDING:CAPS"></a><span class="term"><code class="literal">GST_STATE_VOID_PENDING</code></span></p></td>
@@ -739,13 +766,16 @@ These are the different state changes an element goes through.
<a class="link" href="GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a> ⇒ <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="literal">GST_STATE_PLAYING</code></a> is called an upwards state change
and <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="literal">GST_STATE_PLAYING</code></a> ⇒ <a class="link" href="GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a> a downwards state change.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-STATE-CHANGE-NULL-TO-READY:CAPS"></a><span class="term"><code class="literal">GST_STATE_CHANGE_NULL_TO_READY</code></span></p></td>
<td>state change from NULL to READY.
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
The element must check if the resources it needs are available. Device
sinks and -sources typically try to probe the device to constrain their
@@ -760,7 +790,7 @@ and <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="l
<tr>
<td><p><a name="GST-STATE-CHANGE-READY-TO-PAUSED:CAPS"></a><span class="term"><code class="literal">GST_STATE_CHANGE_READY_TO_PAUSED</code></span></p></td>
<td>state change from READY to PAUSED.
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
The element pads are activated in order to receive data in PAUSED.
Streaming threads are started.
@@ -784,7 +814,7 @@ and <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="l
<tr>
<td><p><a name="GST-STATE-CHANGE-PAUSED-TO-PLAYING:CAPS"></a><span class="term"><code class="literal">GST_STATE_CHANGE_PAUSED_TO_PLAYING</code></span></p></td>
<td>state change from PAUSED to PLAYING.
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
Most elements ignore this state change.
</p></li>
@@ -819,7 +849,7 @@ and <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="l
<tr>
<td><p><a name="GST-STATE-CHANGE-PLAYING-TO-PAUSED:CAPS"></a><span class="term"><code class="literal">GST_STATE_CHANGE_PLAYING_TO_PAUSED</code></span></p></td>
<td>state change from PLAYING to PAUSED.
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
Most elements ignore this state change.
</p></li>
@@ -850,7 +880,7 @@ and <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="l
<tr>
<td><p><a name="GST-STATE-CHANGE-PAUSED-TO-READY:CAPS"></a><span class="term"><code class="literal">GST_STATE_CHANGE_PAUSED_TO_READY</code></span></p></td>
<td>state change from PAUSED to READY.
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
Sinks unblock any waits in the preroll.
</p></li>
@@ -876,7 +906,7 @@ and <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="l
<tr>
<td><p><a name="GST-STATE-CHANGE-READY-TO-NULL:CAPS"></a><span class="term"><code class="literal">GST_STATE_CHANGE_READY_TO_NULL</code></span></p></td>
<td>state change from READY to NULL.
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
Elements close devices
</p></li>
@@ -903,8 +933,11 @@ and <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="l
The possible return values from a state change function such as
<a class="link" href="GstElement.html#gst-element-set-state" title="gst_element_set_state ()"><code class="function">gst_element_set_state()</code></a>. Only <em class="parameter"><code>GST_STATE_CHANGE_FAILURE</code></em> is a real failure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-STATE-CHANGE-FAILURE:CAPS"></a><span class="term"><code class="literal">GST_STATE_CHANGE_FAILURE</code></span></p></td>
@@ -939,8 +972,11 @@ The possible return values from a state change function such as
<p>
This macro returns the current <a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to return state for.</td>
@@ -956,8 +992,11 @@ This macro returns the current <a class="link" href="GstElement.html#GstState" t
Given a current state <em class="parameter"><code>cur</code></em> and a target state <em class="parameter"><code>pending</code></em>, calculate the next (intermediate)
<a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cur</code></em> :</span></p></td>
@@ -980,8 +1019,11 @@ Given a current state <em class="parameter"><code>cur</code></em> and a target s
<p>
This macro returns the next <a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to return the next state for.</td>
@@ -996,8 +1038,11 @@ This macro returns the next <a class="link" href="GstElement.html#GstState" titl
<p>
This macro returns the currently pending <a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to return the pending state for.</td>
@@ -1012,8 +1057,11 @@ This macro returns the currently pending <a class="link" href="GstElement.html#G
<p>
This macro returns the last <a class="link" href="GstElement.html#GstStateChangeReturn" title="enum GstStateChangeReturn"><span class="type">GstStateChangeReturn</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to return the last state result for.</td>
@@ -1028,8 +1076,11 @@ This macro returns the last <a class="link" href="GstElement.html#GstStateChange
<p>
This macro returns the target <a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to return the target state for.</td>
@@ -1045,8 +1096,11 @@ This macro returns the target <a class="link" href="GstElement.html#GstState" ti
Given a current state <em class="parameter"><code>cur</code></em> and a next state <em class="parameter"><code>next</code></em>, calculate the associated
<a class="link" href="GstElement.html#GstStateChange" title="enum GstStateChange"><span class="type">GstStateChange</span></a> transition.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cur</code></em> :</span></p></td>
@@ -1067,8 +1121,11 @@ Given a current state <em class="parameter"><code>cur</code></em> and a next sta
<p>
Given a state transition <em class="parameter"><code>trans</code></em>, extract the current <a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
<td>A <a class="link" href="GstElement.html#GstStateChange" title="enum GstStateChange"><span class="type">GstStateChange</span></a>
@@ -1084,8 +1141,11 @@ Given a state transition <em class="parameter"><code>trans</code></em>, extract
<p>
Given a state transition <em class="parameter"><code>trans</code></em>, extract the next <a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
<td>A <a class="link" href="GstElement.html#GstStateChange" title="enum GstStateChange"><span class="type">GstStateChange</span></a>
@@ -1103,8 +1163,11 @@ Get a reference to the state lock of <em class="parameter"><code>elem</code></em
This lock is used by the core. It is taken while getting or setting
the state, during state changes, and while finalizing.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>
@@ -1120,8 +1183,11 @@ the state, during state changes, and while finalizing.
<p>
Get the conditional used to signal the completion of a state change.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>
@@ -1138,8 +1204,11 @@ Get the conditional used to signal the completion of a state change.
Gets the name of this element. Use only in core as this is not
ABI-compatible. Others use <a class="link" href="GstElement.html#gst-element-get-name" title="gst_element_get_name()"><code class="function">gst_element_get_name()</code></a>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>A <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to query</td>
@@ -1154,8 +1223,11 @@ ABI-compatible. Others use <a class="link" href="GstElement.html#gst-element-get
<p>
Get the parent object of this element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>A <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to query</td>
@@ -1170,8 +1242,11 @@ Get the parent object of this element.
<p>
Get the message bus of this element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>A <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to query</td>
@@ -1186,8 +1261,11 @@ Get the message bus of this element.
<p>
Get the clock of this element
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>A <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to query</td>
@@ -1202,8 +1280,11 @@ Get the clock of this element
<p>
Get the pads of this elements.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>A <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to query</td>
@@ -1219,8 +1300,11 @@ Get the pads of this elements.
This macro returns the start_time of the <em class="parameter"><code>elem</code></em>. The start_time is the
running_time of the pipeline when the element went to PAUSED.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to return the start time for.</td>
@@ -1236,8 +1320,11 @@ Utility function that elements can use in case they encountered a fatal
data processing error. The pipeline will post an error message and the
application will be requested to stop further media processing.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>el</code></em> :</span></p></td>
@@ -1273,8 +1360,11 @@ Utility function that elements can use in case they encountered a non-fatal
data processing problem. The pipeline will post a warning message and the
application will be informed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>el</code></em> :</span></p></td>
@@ -1311,8 +1401,11 @@ the application of something noteworthy that is not an error.
The pipeline will post a info message and the
application will be informed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>el</code></em> :</span></p></td>
@@ -1348,8 +1441,11 @@ enclosed in parentheses)</td>
Check if the element is in the locked state and therefore will ignore state
changes from its parent object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
<td>A <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to query</td>
@@ -1428,8 +1524,11 @@ Adds a padtemplate to an element class. This is mainly used in the _class_init
functions of classes. If a pad template with the same name as an already
existing one is added the old one is replaced by the new one.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>klass</code></em> :</span></p></td>
@@ -1457,8 +1556,11 @@ that has subclasses, make sure to pass the g_class parameter of the
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GInstanceInitFunc"><span class="type">GInstanceInitFunc</span></a> here.</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element_class</code></em> :</span></p></td>
@@ -1492,8 +1594,11 @@ that has subclasses, make sure to pass the g_class parameter of the
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GInstanceInitFunc"><span class="type">GInstanceInitFunc</span></a> here.</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element_class</code></em> :</span></p></td>
@@ -1523,8 +1628,11 @@ Sets the detailed information for a <a class="link" href="GstElement.html#GstEle
<h3 class="title">Note</h3>This function is for use in _class_init functions only.</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>klass</code></em> :</span></p></td>
@@ -1575,8 +1683,11 @@ Same as <a class="link" href="GstElement.html#gst-element-class-set-metadata" ti
they will not be copied. (GStreamer plugins will be made resident once
loaded, so this function can be used even from dynamically loaded plugins.)
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>klass</code></em> :</span></p></td>
@@ -1614,8 +1725,11 @@ multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;"</td>
<p>
Set <em class="parameter"><code>key</code></em> with <em class="parameter"><code>value</code></em> as metadata in <em class="parameter"><code>klass</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>klass</code></em> :</span></p></td>
@@ -1648,8 +1762,11 @@ or an inlined string, as it will not be copied. (GStreamer plugins will
be made resident once loaded, so this function can be used even from
dynamically loaded plugins.)
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>klass</code></em> :</span></p></td>
@@ -1686,8 +1803,11 @@ The pad and the element should be unlocked when calling this function.
<p>
This function will emit the <a class="link" href="GstElement.html#GstElement-pad-added" title='The "pad-added" signal'><span class="type">"pad-added"</span></a> signal on the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -1718,8 +1838,11 @@ Creates a pad for each pad template that is always available.
This function is only useful during object initialization of
subclasses of <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to create pads for. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
@@ -1743,8 +1866,11 @@ This function will first attempt to find a compatible unlinked ALWAYS pad,
and if none can be found, it will request a compatible REQUEST pad by looking
at the templates of <em class="parameter"><code>element</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -1780,8 +1906,11 @@ if one cannot be found. <a class="link" href="GstObject.html#gst-object-unref" t
Retrieves a pad template from <em class="parameter"><code>element</code></em> that is compatible with <em class="parameter"><code>compattempl</code></em>.
Pads from compatible templates can be linked together.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -1817,8 +1946,11 @@ retrieves request pads. The pad should be released with
This method is slow and will be deprecated in the future. New code should
use <a class="link" href="GstElement.html#gst-element-request-pad" title="gst_element_request_pad ()"><code class="function">gst_element_request_pad()</code></a> with the requested template.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -1846,8 +1978,11 @@ Release after usage. <span class="annotation">[<acronym title="Free data after t
Retrieves a pad from <em class="parameter"><code>element</code></em> by name. This version only retrieves
already-existing (i.e. 'static') pads.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -1882,8 +2017,11 @@ Pad templates can be looked up using
<p>
The pad should be released with <a class="link" href="GstElement.html#gst-element-release-request-pad" title="gst_element_release_request_pad ()"><code class="function">gst_element_release_request_pad()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -1931,8 +2069,11 @@ This function emits the <a class="link" href="GstElement.html#GstElement-no-more
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>
@@ -1957,8 +2098,11 @@ followed by <a class="link" href="GstObject.html#gst-object-unref" title="gst_ob
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -1998,8 +2142,11 @@ The pad and the element should be unlocked when calling this function.
<p>
This function will emit the <a class="link" href="GstElement.html#GstElement-pad-removed" title='The "pad-removed" signal'><span class="type">"pad-removed"</span></a> signal on the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2033,8 +2180,11 @@ be freed after usage. Also more specialized iterators exists such as
The order of pads returned by the iterator will be the order in which
the pads were added to the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2042,8 +2192,7 @@ the pads were added to the element.
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>. Unref each pad
-after use.
+<td>the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>.
MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
@@ -2061,8 +2210,11 @@ Retrieves an iterator of <em class="parameter"><code>element</code></em>'s sink
The order of pads returned by the iterator will be the order in which
the pads were added to the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2070,8 +2222,7 @@ the pads were added to the element.
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>. Unref each pad
-after use.
+<td>the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>.
MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
@@ -2089,8 +2240,11 @@ Retrieves an iterator of <em class="parameter"><code>element</code></em>'s sourc
The order of pads returned by the iterator will be the order in which
the pads were added to the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2098,8 +2252,7 @@ the pads were added to the element.
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>. Unref each pad
-after use.
+<td>the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>.
MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
@@ -2122,8 +2275,11 @@ If multiple links are possible, only one is established.
Make sure you have added your elements to a bin or pipeline with
<a class="link" href="GstBin.html#gst-bin-add" title="gst_bin_add ()"><code class="function">gst_bin_add()</code></a> before trying to link them.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2155,8 +2311,11 @@ of the sink element to which they are linked.
If the link has been made using <a class="link" href="GstElement.html#gst-element-link" title="gst_element_link ()"><code class="function">gst_element_link()</code></a>, it could have created an
requestpad, which has to be released using <a class="link" href="GstElement.html#gst-element-release-request-pad" title="gst_element_release_request_pad ()"><code class="function">gst_element_release_request_pad()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2182,8 +2341,11 @@ Chain together a series of elements. Uses <a class="link" href="GstElement.html#
Make sure you have added your elements to a bin or pipeline with
<a class="link" href="GstBin.html#gst-bin-add" title="gst_bin_add ()"><code class="function">gst_bin_add()</code></a> before trying to link them.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element_1</code></em> :</span></p></td>
@@ -2215,8 +2377,11 @@ Make sure you have added your elements to a bin or pipeline with
<p>
Unlinks a series of elements. Uses <a class="link" href="GstElement.html#gst-element-unlink" title="gst_element_unlink ()"><code class="function">gst_element_unlink()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element_1</code></em> :</span></p></td>
@@ -2248,8 +2413,11 @@ Side effect is that if one of the pads has no parent, it becomes a
child of the parent of the other element. If they have different
parents, the link fails.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2301,8 +2469,11 @@ linking pads with safety checks applied.
<p>
This is a convenience function for <a class="link" href="GstPad.html#gst-pad-link-full" title="gst_pad_link_full ()"><code class="function">gst_pad_link_full()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2349,8 +2520,11 @@ Unlinks the two named pads of the source and destination elements.
<p>
This is a convenience function for <a class="link" href="GstPad.html#gst-pad-unlink" title="gst_pad_unlink ()"><code class="function">gst_pad_unlink()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2386,8 +2560,11 @@ is that if one of the pads has no parent, it becomes a child of the parent of
the other element. If they have different parents, the link fails. If <em class="parameter"><code>caps</code></em>
is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, makes sure that the caps of the link is a subset of <em class="parameter"><code>caps</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2440,8 +2617,11 @@ If multiple links are possible, only one is established.
Make sure you have added your elements to a bin or pipeline with
<a class="link" href="GstBin.html#gst-bin-add" title="gst_bin_add ()"><code class="function">gst_bin_add()</code></a> before trying to link them.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2473,8 +2653,11 @@ or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.ht
<p>
Get metadata with <em class="parameter"><code>key</code></em> in <em class="parameter"><code>klass</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>klass</code></em> :</span></p></td>
@@ -2502,8 +2685,11 @@ Set the base time of an element. See <a class="link" href="GstElement.html#gst-e
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2526,8 +2712,11 @@ absolute time of the clock when this element was last put to
PLAYING. Subtracting the base time from the clock time gives
the running time of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2562,8 +2751,11 @@ pipelines, and you can also ensure that the pipelines have the same clock.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2591,8 +2783,11 @@ Usually the start_time is managed by a toplevel element such as
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2617,8 +2812,11 @@ For internal use only, unless you're testing elements.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2640,8 +2838,11 @@ MT safe.
Returns the bus of the element. Note that only a <a class="link" href="GstPipeline.html" title="GstPipeline"><span class="type">GstPipeline</span></a> will provide a
bus for the application.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2658,13 +2859,73 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
</div>
<hr>
<div class="refsect2">
+<a name="gst-element-set-context"></a><h3>gst_element_set_context ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_element_set_context (<em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);</pre>
+<p>
+Sets the context of the element. Increases the refcount of the context.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
+<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to set the context of.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> to set. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-element-get-context"></a><h3>gst_element_get_context ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="returnvalue">GstContext</span></a> * gst_element_get_context (<em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>);</pre>
+<p>
+Gets the current context of the element.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
+<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to get the context from.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The current context of the element. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-element-get-factory"></a><h3>gst_element_get_factory ()</h3>
<pre class="programlisting"><a class="link" href="GstElementFactory.html" title="GstElementFactory"><span class="returnvalue">GstElementFactory</span></a> * gst_element_get_factory (<em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *element</code></em>);</pre>
<p>
Retrieves the factory that was used to create this element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2687,8 +2948,11 @@ element. no refcounting is needed. <span class="annotation">[<acronym title="Don
<p>
Sets the name of the element, getting rid of the old name if there was one.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
@@ -2712,8 +2976,11 @@ Caller should <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-
For a nameless element, this returns NULL, which you can safely <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
as well.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
@@ -2735,8 +3002,11 @@ as well.
<p>
Sets the parent of an element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
@@ -2757,8 +3027,11 @@ Sets the parent of an element.
<p>
Get the parent of an element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>elem</code></em> :</span></p></td>
@@ -2782,8 +3055,11 @@ Sets the clock for the element. This function increases the
refcount on the clock. Any previously set clock on the object
is unreffed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2812,8 +3088,11 @@ MT safe.</td>
Gets the currently configured clock of the element. This is the clock as was
last set with <a class="link" href="GstElement.html#gst-element-set-clock" title="gst_element_set_clock ()"><code class="function">gst_element_set_clock()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2840,8 +3119,11 @@ Get the clock provided by the given element.
state. Some elements can provide a clock in other states.</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2872,14 +3154,18 @@ This function can return <a class="link" href="GstElement.html#GST-STATE-CHANGE-
element will perform the remainder of the state change asynchronously in
another thread.
An application can use <a class="link" href="GstElement.html#gst-element-get-state" title="gst_element_get_state ()"><code class="function">gst_element_get_state()</code></a> to wait for the completion
-of the state change or it can wait for a state change message on the bus.
+of the state change or it can wait for a <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-ASYNC-DONE:CAPS"><code class="literal">GST_MESSAGE_ASYNC_DONE</code></a> or
+<a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-STATE-CHANGED:CAPS"><code class="literal">GST_MESSAGE_STATE_CHANGED</code></a> on the bus.
</p>
<p>
State changes to <a class="link" href="GstElement.html#GST-STATE-READY:CAPS"><code class="literal">GST_STATE_READY</code></a> or <a class="link" href="GstElement.html#GST-STATE-NULL:CAPS"><code class="literal">GST_STATE_NULL</code></a> never return
<a class="link" href="GstElement.html#GST-STATE-CHANGE-ASYNC:CAPS"><span class="type">GST_STATE_CHANGE_ASYNC</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2929,8 +3215,11 @@ some sink elements might not be able to complete their state change because
an element is not producing data to complete the preroll. When setting the
element to playing, the preroll will complete and playback will start.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -2977,8 +3266,11 @@ this element anymore.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3011,8 +3303,11 @@ state before changing the state from <a class="link" href="GstElement.html#GST-S
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3040,8 +3335,11 @@ This function should be called with the STATE_LOCK held.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> to abort the state of.</td>
@@ -3068,8 +3366,11 @@ the pending state, the next state change is performed.
This method is used internally and should normally not be called by plugins
or applications.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3112,8 +3413,11 @@ not in error or an async state change.
This function is used internally and should normally not be called from
plugins or applications.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
<td>a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> the state is lost of</td>
@@ -3127,8 +3431,11 @@ plugins or applications.
<p>
Gets a string representing the given state.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
@@ -3150,8 +3457,11 @@ Gets a string representing the given state.
<p>
Gets a string representing the given state change result.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>state_ret</code></em> :</span></p></td>
@@ -3174,8 +3484,11 @@ result. <span class="annotation">[<acronym title="Don't free data after the code
Tries to change the state of the element to the same as its parent.
If this function returns FALSE, the state of element is undefined.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3201,8 +3514,11 @@ Perform <em class="parameter"><code>transition</code></em> on <em class="paramet
This function must be called with STATE_LOCK held and is mainly used
internally.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3242,8 +3558,11 @@ Post an error, warning or info message on the bus from inside an element.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3301,8 +3620,11 @@ Post a message on the element's <a class="link" href="GstBus.html" title="GstBus
message; if you want to access the message after this call, you should add an
additional reference before calling.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3339,8 +3661,11 @@ random linked sinkpad of this element.
<p>
Please note that some queries might need a running pipeline to work.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3370,8 +3695,11 @@ MT safe.</td>
<p>
Queries an element to convert <em class="parameter"><code>src_val</code></em> in <em class="parameter"><code>src_format</code></em> to <em class="parameter"><code>dest_format</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3412,8 +3740,11 @@ Queries an element to convert <em class="parameter"><code>src_val</code></em> in
Queries an element for the stream position. If one repeatedly calls this
function one can also create and reuse it in <a class="link" href="GstElement.html#gst-element-query" title="gst_element_query ()"><code class="function">gst_element_query()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3445,8 +3776,11 @@ position, or NULL. <span class="annotation">[<acronym title="Parameter for retur
<p>
Queries an element for the total stream duration.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3485,8 +3819,11 @@ This function takes owership of the provided event so you should
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3531,8 +3868,11 @@ case they will store the seek event and execute it when they are put to
PAUSED. If the element supports seek in READY, it will always return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when
it receives the event in the READY state.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3583,8 +3923,11 @@ the parameters. The seek event is sent to the element using
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -3639,8 +3982,11 @@ This signals that the element will not generate more dynamic pads.
Note that this signal will usually be emitted from the context of
the streaming thread.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>gstelement</code></em> :</span></p></td>
@@ -3666,8 +4012,11 @@ mind that if you add new elements to the pipeline in the signal handler
you will need to set them to the desired target state with
<a class="link" href="GstElement.html#gst-element-set-state" title="gst_element_set_state ()"><code class="function">gst_element_set_state()</code></a> or <a class="link" href="GstElement.html#gst-element-sync-state-with-parent" title="gst_element_sync_state_with_parent ()"><code class="function">gst_element_sync_state_with_parent()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>gstelement</code></em> :</span></p></td>
@@ -3693,8 +4042,11 @@ you will need to set them to the desired target state with
<p>
a <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> has been removed from the element
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>gstelement</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstElementFactory.html b/docs/gst/html/GstElementFactory.html
index c9aabd9..88f82b5 100644
--- a/docs/gst/html/GstElementFactory.html
+++ b/docs/gst/html/GstElementFactory.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstElementFactory</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstElement.html" title="GstElement">
@@ -141,7 +141,7 @@ The following code example shows you how to create a GstFileSrc element.
<p>
</p>
<div class="example">
-<a name="idp19070464"></a><p class="title"><b>Example 6. Using an element factory</b></p>
+<a name="idp20143840"></a><p class="title"><b>Example 6. Using an element factory</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -202,8 +202,11 @@ The opaque <a class="link" href="GstElementFactory.html" title="GstElementFactor
Create a new elementfactory capable of instantiating objects of the
<em class="parameter"><code>type</code></em> and add the factory to <em class="parameter"><code>plugin</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -239,8 +242,11 @@ a static element. <span class="annotation">[<acronym title="NULL is ok, both for
Search for an element factory of the given name. Refs the returned
element factory; caller is responsible for unreffing.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -265,8 +271,11 @@ Get the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-In
only be retrieved if the element factory is loaded, which can be
assured with <a class="link" href="GstPluginFeature.html#gst-plugin-feature-load" title="gst_plugin_feature_load ()"><code class="function">gst_plugin_feature_load()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -288,8 +297,11 @@ the factory is not loaded.</td>
<p>
Get the metadata on <em class="parameter"><code>factory</code></em> with <em class="parameter"><code>key</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -316,8 +328,11 @@ metadata with the given <em class="parameter"><code>key</code></em>.</td>
<p>
Get the available keys for the metadata on <em class="parameter"><code>factory</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -341,8 +356,11 @@ metadata. Free with <a href="http://library.gnome.org/devel/glib/unstable/glib-S
<p>
Gets the number of pad_templates in this factory.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -363,8 +381,11 @@ Gets the number of pad_templates in this factory.
<p>
Gets the type of URIs the element supports or <a class="link" href="gstreamer-GstUriHandler.html#GST-URI-UNKNOWN:CAPS"><span class="type">GST_URI_UNKNOWN</span></a> if none.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -389,8 +410,11 @@ no protocols are supported. You may not change the contents of the returned
array, as it is still owned by the element factory. Use <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strdupv"><code class="function">g_strdupv()</code></a> to
make a copy of the protocol string array if you need to.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -414,8 +438,11 @@ or NULL. <span class="annotation">[<acronym title="Don't free data after the cod
<p>
Check if <em class="parameter"><code>factory</code></em> implements the interface with name <em class="parameter"><code>interfacename</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -444,8 +471,11 @@ Create a new element of the type defined by the given elementfactory.
It will be given the name supplied, since all elements require a name as
their first argument.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -477,8 +507,11 @@ If name is NULL, then the element will receive a guaranteed unique name,
consisting of the element factory name and a number.
If name is given, it will be given the name supplied.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factoryname</code></em> :</span></p></td>
@@ -507,8 +540,11 @@ a unique name. <span class="annotation">[<acronym title="NULL is ok, both for pa
<p>
Checks if the factory can sink all possible capabilities.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -535,8 +571,11 @@ Checks if the factory can sink all possible capabilities.
<p>
Checks if the factory can src all possible capabilities.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -563,8 +602,11 @@ Checks if the factory can src all possible capabilities.
<p>
Checks if the factory can sink any possible capability.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -591,8 +633,11 @@ Checks if the factory can sink any possible capability.
<p>
Checks if the factory can src any possible capability.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -618,8 +663,11 @@ Checks if the factory can src any possible capability.
<p>
Gets the <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="GstPadTemplate.html#GstStaticPadTemplate" title="struct GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> for this factory.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -835,8 +883,11 @@ If <em class="parameter"><code>subsetonly</code></em> is <a href="http://library
are a complete superset of <em class="parameter"><code>caps</code></em> will be returned. Else any element
whose pad templates caps can intersect with <em class="parameter"><code>caps</code></em> will be returned.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -878,8 +929,11 @@ Get a list of factories that match the given <em class="parameter"><code>type</c
with a rank greater or equal to <em class="parameter"><code>minrank</code></em> will be returned.
The list of factories is returned by decreasing rank.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -908,8 +962,11 @@ usage. <span class="annotation">[<acronym title="Free data after the code is don
<p>
Check if <em class="parameter"><code>factory</code></em> is of the given types.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstGhostPad.html b/docs/gst/html/GstGhostPad.html
index c41b343..ab11667 100644
--- a/docs/gst/html/GstGhostPad.html
+++ b/docs/gst/html/GstGhostPad.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGhostPad</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstFormat.html" title="GstFormat">
@@ -152,8 +152,11 @@ from the target pad. <em class="parameter"><code>target</code></em> must be unli
<p>
Will ref the target.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -186,8 +189,11 @@ A target can be set on the ghostpad later with the
<p>
The created ghostpad will not have a padtemplate.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -219,8 +225,11 @@ from the target pad. The template used on the ghostpad will be <em class="parame
<p>
Will ref the target.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -255,8 +264,11 @@ Will ref the target.
Create a new ghostpad based on <em class="parameter"><code>templ</code></em>, without setting a target. The
direction will be taken from the <em class="parameter"><code>templ</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -286,8 +298,11 @@ Set the new target of the ghostpad <em class="parameter"><code>gpad</code></em>.
is unlinked and links to the new target are established. if <em class="parameter"><code>newtarget</code></em> is
NULL the target will be cleared.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>gpad</code></em> :</span></p></td>
@@ -315,8 +330,11 @@ can return FALSE when the internal pads could not be linked. <span class="annota
<p>
Get the target pad of <em class="parameter"><code>gpad</code></em>. Unref target pad after usage.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>gpad</code></em> :</span></p></td>
@@ -345,8 +363,11 @@ This function is most useful in language bindings and when subclassing
function. Call this function directly after a call to g_object_new
(GST_TYPE_GHOST_PAD, "direction", <em class="parameter"><code>dir</code></em>, ..., NULL).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>gpad</code></em> :</span></p></td>
@@ -370,8 +391,11 @@ function. Call this function directly after a call to g_object_new
<p>
Invoke the default activate mode function of a ghost pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -410,8 +434,11 @@ Invoke the default activate mode function of a ghost pad.
Invoke the default activate mode function of a proxy pad that is
owned by a ghost pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -449,8 +476,11 @@ Get the internal pad of <em class="parameter"><code>pad</code></em>. Unref targe
The internal pad of a <a class="link" href="GstGhostPad.html" title="GstGhostPad"><span class="type">GstGhostPad</span></a> is the internally used
pad of opposite direction, which is used to link to the target.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -475,8 +505,11 @@ Unref target pad after usage. <span class="annotation">[<acronym title="Free dat
<p>
Invoke the default iterate internal links function of the proxy pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -504,8 +537,11 @@ returned pad with <a class="link" href="GstObject.html#gst-object-unref" title="
<p>
Invoke the default chain function of the proxy pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -538,8 +574,11 @@ if not. <span class="annotation">[<acronym title="Free data after the code is do
<p>
Invoke the default chain list function of the proxy pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -574,8 +613,11 @@ if not. <span class="annotation">[<acronym title="Free data after the code is do
<p>
Invoke the default getrange function of the proxy pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstObject.html b/docs/gst/html/GstObject.html
index 2d108d8..72e4040 100644
--- a/docs/gst/html/GstObject.html
+++ b/docs/gst/html/GstObject.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstObject</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstMiniObject.html" title="GstMiniObject">
@@ -186,11 +186,11 @@ of the object.
<p>
</p>
<div class="refsect2">
-<a name="idp28825360"></a><h3>controlled properties</h3>
+<a name="idp28716320"></a><h3>controlled properties</h3>
<p>
Controlled properties offers a lightweight way to adjust gobject
properties over stream-time. It works by using time-stamped value pairs that
-are queued for element-properties. At run-time the elements continously pull
+are queued for element-properties. At run-time the elements continuously pull
values changes for the current stream-time.
</p>
<p>
@@ -257,8 +257,11 @@ Last reviewed on 2012-03-29 (0.11.3)
<p>
GStreamer base object class.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Threads.html#GMutex"><span class="type">GMutex</span></a> <em class="structfield"><code><a name="GstObject-struct.lock"></a>lock</code></em>;</span></p></td>
@@ -296,8 +299,11 @@ GStreamer base object class.
<p>
GStreamer base object class.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnownedClass"><span class="type">GInitiallyUnownedClass</span></a> <em class="structfield"><code><a name="GstObjectClass.parent-class"></a>parent_class</code></em>;</span></p></td>
@@ -326,8 +332,11 @@ GStreamer base object class.
<p>
The standard flags that an gstobject may have.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><a name="GST-OBJECT-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_OBJECT_FLAG_LAST</code></span></p></td>
<td>subclasses can add additional flags starting from this flag
@@ -343,8 +352,11 @@ The standard flags that an gstobject may have.
<p>
This macro returns the entire set of flags for the object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a>
@@ -360,8 +372,11 @@ This macro returns the entire set of flags for the object.
<p>
This macro checks to see if the given flag is set.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -383,8 +398,11 @@ This macro checks to see if the given flag is set.
<p>
This macro sets the given bits.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -406,8 +424,11 @@ This macro sets the given bits.
<p>
This macro usets the given bits.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -429,8 +450,11 @@ This macro usets the given bits.
<p>
Get the name of this object
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a>
@@ -446,8 +470,11 @@ Get the name of this object
<p>
Get the parent of this object
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a>
@@ -463,8 +490,11 @@ Get the parent of this object
<p>
Get access to the reference count field of the object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a>
@@ -480,8 +510,11 @@ Get access to the reference count field of the object.
<p>
Get the reference count value of the object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a>
@@ -498,8 +531,11 @@ Get the reference count value of the object.
This macro will obtain a lock on the object, making serialization possible.
It blocks until the lock can be obtained.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to lock</td>
@@ -515,8 +551,11 @@ It blocks until the lock can be obtained.
This macro will try to obtain a lock on the object, but will return with
FALSE if it can't get it immediately.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a>.</td>
@@ -531,8 +570,11 @@ FALSE if it can't get it immediately.
<p>
This macro releases a lock on the object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to unlock.</td>
@@ -547,8 +589,11 @@ This macro releases a lock on the object.
<p>
Acquire a reference to the mutex of this object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a>
@@ -567,8 +612,11 @@ name (if <em class="parameter"><code>name</code></em> is NULL).
This function makes a copy of the provided name, so the caller
retains ownership of the name it sent.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -602,8 +650,11 @@ as well.
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -628,8 +679,11 @@ MT safe. This function grabs and releases <em class="parameter"><code>object</co
Sets the parent of <em class="parameter"><code>object</code></em> to <em class="parameter"><code>parent</code></em>. The object's reference count will
be incremented, and any floating reference will be removed (see <a class="link" href="GstObject.html#gst-object-ref-sink" title="gst_object_ref_sink ()"><code class="function">gst_object_ref_sink()</code></a>).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -657,8 +711,11 @@ MT safe. Grabs and releases <em class="parameter"><code>object</code></em>'s LOC
Returns the parent of <em class="parameter"><code>object</code></em>. This function increases the refcount
of the parent object so you should <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> it after usage.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -686,8 +743,11 @@ This function decreases the refcount of <em class="parameter"><code>object</code
<p>
MT safe. Grabs and releases <em class="parameter"><code>object</code></em>'s lock.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to unparent</td>
@@ -711,8 +771,11 @@ using g_print.
MT safe. This function grabs and releases <em class="parameter"><code>object</code></em>'s LOCK for getting its
path string.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -748,8 +811,11 @@ and the optional debug sting..
<p>
The default handler will simply print the error string using g_print.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
@@ -780,8 +846,11 @@ provided list with the lock of the owner of the list. This function
will lock each <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> in the list to compare the name, so be
carefull when passing a list with a locked object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -811,8 +880,11 @@ MT safe. Grabs and releases the LOCK of each object in the list.</td>
Check if <em class="parameter"><code>object</code></em> has an ancestor <em class="parameter"><code>ancestor</code></em> somewhere up in
the hierarchy. One can e.g. check if a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> is inside a <a class="link" href="GstPipeline.html" title="GstPipeline"><span class="type">GstPipeline</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -844,8 +916,11 @@ This object returns the input parameter to ease writing
constructs like :
result = gst_object_ref (object-&gt;parent);
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -873,8 +948,11 @@ on <em class="parameter"><code>object</code></em> as it relies on atomic refcoun
The unref method should never be called with the LOCK held since
this might deadlock the dispose function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to unreference. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Gst.Object]</span>
@@ -897,8 +975,11 @@ the floating flag while leaving the reference count unchanged. If the object
is not floating, then this call adds a new normal reference increasing the
reference count by one.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
<td>a <a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> to sink</td>
@@ -918,8 +999,11 @@ The reference count of <em class="parameter"><code>oldobj</code></em> is decreas
<p>
Either <em class="parameter"><code>newobj</code></em> and the value pointed to by <em class="parameter"><code>oldobj</code></em> may be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>oldobj</code></em> :</span></p></td>
@@ -951,8 +1035,11 @@ the object hierarchy. Only useful (or used) for debugging.
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -978,8 +1065,11 @@ in the hierarchy. <span class="annotation">[<acronym title="Free data after the
Returns a suggestion for timestamps where buffers should be split
to get best controller results.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1006,8 +1096,11 @@ Sets the properties of the object, according to the <a href="http://gstreamer.fr
If this function fails, it is most likely the application developers fault.
Most probably the control sources are not setup correctly.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1034,8 +1127,11 @@ properties, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-
<p>
Check if the <em class="parameter"><code>object</code></em> has an active controlled properties.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1059,8 +1155,11 @@ Check if the <em class="parameter"><code>object</code></em> has an active contro
This function is used to disable all controlled properties of the <em class="parameter"><code>object</code></em> for
some time, i.e. <a class="link" href="GstObject.html#gst-object-sync-values" title="gst_object_sync_values ()"><code class="function">gst_object_sync_values()</code></a> will do nothing.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1082,12 +1181,15 @@ or not.</td>
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> disabled</code></em>);</pre>
<p>
-This function is used to disable the <span class="type">GstController</span> on a property for
-some time, i.e. <code class="function">gst_controller_sync_values()</code> will do nothing for the
+This function is used to disable the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstController.html"><span class="type">GstController</span></a> on a property for
+some time, i.e. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstController.html#gst-controller-sync-values"><code class="function">gst_controller_sync_values()</code></a> will do nothing for the
property.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1111,12 +1213,17 @@ or not.</td>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_object_add_control_binding (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *object</code></em>,
<em class="parameter"><code><a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> *binding</code></em>);</pre>
<p>
-Sets the <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a>. If there already was a <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a>
-for this property it will be replaced.
+Attach the <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> to the object. If there already was a
+<a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> for this property it will be replaced.
+</p>
+<p>
The <em class="parameter"><code>object</code></em> will take ownership of the <em class="parameter"><code>binding</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1130,8 +1237,8 @@ The <em class="parameter"><code>object</code></em> will take ownership of the <e
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the given <em class="parameter"><code>binding</code></em> has not been setup for this object or
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the given <em class="parameter"><code>binding</code></em> has not been setup for this object or
+has been setup for a non suitable property, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
@@ -1145,8 +1252,11 @@ The <em class="parameter"><code>object</code></em> will take ownership of the <e
Gets the corresponding <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a> for the property. This should be
unreferenced again after use.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1174,8 +1284,11 @@ the property is not controlled. <span class="annotation">[<acronym title="Free d
Removes the corresponding <a class="link" href="GstControlBinding.html" title="GstControlBinding"><span class="type">GstControlBinding</span></a>. If it was the
last ref of the binding, it will be disposed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1202,8 +1315,11 @@ last ref of the binding, it will be disposed.
<p>
Gets the value for the given controlled property at the requested time.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1248,8 +1364,11 @@ The values are unboxed and ready to be used. The similar function
<a class="link" href="GstObject.html#gst-object-get-g-value-array" title="gst_object_get_g_value_array ()"><code class="function">gst_object_get_g_value_array()</code></a> returns the array as <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValues</span></a> and is
better suites for bindings.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1301,8 +1420,11 @@ requested time. The array <em class="parameter"><code>values</code></em> need to
This function is useful if one wants to e.g. draw a graph of the control
curve or apply a control curve sample by sample.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1354,8 +1476,11 @@ If the <em class="parameter"><code>object</code></em> is not under property cont
The control-rate is not expected to change if the element is in
<a class="link" href="GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a> or <a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="literal">GST_STATE_PLAYING</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1383,8 +1508,11 @@ should be up to <em class="parameter"><code>control</code></em>-rate nanoseconds
The control-rate should not change if the element is in <a class="link" href="GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a> or
<a class="link" href="GstElement.html#GST-STATE-PLAYING:CAPS"><code class="literal">GST_STATE_PLAYING</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1426,8 +1554,11 @@ The deep notify signal is used to be notified of property changes. It is
typically attached to the toplevel bin to receive notifications from all
the elements contained in that bin.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>gstobject</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstPad.html b/docs/gst/html/GstPad.html
index 6453666..7c33751 100644
--- a/docs/gst/html/GstPad.html
+++ b/docs/gst/html/GstPad.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstPad</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstObject.html" title="GstObject">
@@ -310,6 +310,7 @@ struct <a class="link" href="GstPad.html#GstPadProbeInfo" title="st
<em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *parent</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stream_id</code></em>,
<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="GstPad.html#gst-pad-get-stream-id" title="gst_pad_get_stream_id ()">gst_pad_get_stream_id</a> (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="GstPad.html#GstPadForwardFunction" title="GstPadForwardFunction ()">*GstPadForwardFunction</a>) (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GstPad.html#gst-pad-forward" title="gst_pad_forward ()">gst_pad_forward</a> (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
@@ -390,7 +391,7 @@ dataflow on the pads.
<a class="link" href="GstPad.html#gst-pad-get-parent" title="gst_pad_get_parent()"><code class="function">gst_pad_get_parent()</code></a> will retrieve the <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> that owns the pad.
</p>
<p>
-After two pads are retrieved from an element with <code class="function">gst_element_get_pad()</code>,
+After two pads are retrieved from an element with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-pad"><code class="function">gst_element_get_pad()</code></a>,
the pads can be linked with <a class="link" href="GstPad.html#gst-pad-link" title="gst_pad_link ()"><code class="function">gst_pad_link()</code></a>. (For quick links,
you can also use <a class="link" href="GstElement.html#gst-element-link" title="gst_element_link ()"><code class="function">gst_element_link()</code></a>, which will make the obvious
link for you if it's straightforward.). Pads can be unlinked again with
@@ -454,8 +455,11 @@ Last reviewed on 2012-03-29 (0.11.3)
<p>
The <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> structure. Use the functions to update the variables.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstPad-struct.element-private"></a>element_private</code></em>;</span></p></td>
@@ -485,8 +489,11 @@ the pad.</td>
<p>
The direction of a pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PAD-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_PAD_UNKNOWN</code></span></p></td>
@@ -528,8 +535,11 @@ The direction of a pad.
<p>
Pad state flags
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PAD-FLAG-BLOCKED:CAPS"></a><span class="term"><code class="literal">GST_PAD_FLAG_BLOCKED</code></span></p></td>
@@ -621,8 +631,11 @@ Pad state flags
<p>
Result values from gst_pad_link and friends.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PAD-LINK-OK:CAPS"></a><span class="term"><code class="literal">GST_PAD_LINK_OK</code></span></p></td>
@@ -671,8 +684,11 @@ Result values from gst_pad_link and friends.
Macro to test if the given <a class="link" href="GstPad.html#GstPadLinkReturn" title="enum GstPadLinkReturn"><span class="type">GstPadLinkReturn</span></a> value indicates a failed
link step.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ret</code></em> :</span></p></td>
<td>the <a class="link" href="GstPad.html#GstPadLinkReturn" title="enum GstPadLinkReturn"><span class="type">GstPadLinkReturn</span></a> value</td>
@@ -688,8 +704,11 @@ link step.
Macro to test if the given <a class="link" href="GstPad.html#GstPadLinkReturn" title="enum GstPadLinkReturn"><span class="type">GstPadLinkReturn</span></a> value indicates a successful
link step.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ret</code></em> :</span></p></td>
<td>the <a class="link" href="GstPad.html#GstPadLinkReturn" title="enum GstPadLinkReturn"><span class="type">GstPadLinkReturn</span></a> value</td>
@@ -726,8 +745,11 @@ for linking the pads.
</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PAD-LINK-CHECK-NOTHING:CAPS"></a><span class="term"><code class="literal">GST_PAD_LINK_CHECK_NOTHING</code></span></p></td>
@@ -796,8 +818,11 @@ The result of passing data to a pad.
Note that the custom return values should not be exposed outside of the
element scope.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-FLOW-CUSTOM-SUCCESS-2:CAPS"></a><span class="term"><code class="literal">GST_FLOW_CUSTOM_SUCCESS_2</code></span></p></td>
@@ -883,8 +908,11 @@ element scope.
<p>
Gets a string representing the given flow return.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ret</code></em> :</span></p></td>
@@ -904,8 +932,11 @@ Gets a string representing the given flow return.
<p>
Get the unique quark for the given GstFlowReturn.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ret</code></em> :</span></p></td>
@@ -933,8 +964,11 @@ The status of a GstPad. After activating a pad, which usually happens when the
parent element goes from READY to PAUSED, the GstPadMode defines if the
pad operates in push or pull mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PAD-MODE-NONE:CAPS"></a><span class="term"><code class="literal">GST_PAD_MODE_NONE</code></span></p></td>
@@ -961,8 +995,11 @@ pad operates in push or pull mode.
<p>
Return the name of a pad mode, for use in debug messages mostly.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
@@ -987,8 +1024,11 @@ Get a copy of the name of the pad. <a href="http://library.gnome.org/devel/glib/
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
<td>the pad to get the name from</td>
@@ -1004,8 +1044,11 @@ Gets the direction of the pad. The direction of the pad is
decided at construction time so this function does not take
the LOCK.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1032,8 +1075,11 @@ Can return NULL if the pad did not have a parent.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
<td>the pad to get the parent of</td>
@@ -1048,8 +1094,11 @@ MT safe.
Gets the parent of <em class="parameter"><code>pad</code></em>, cast to a <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>. If a <em class="parameter"><code>pad</code></em> has no parent or
its parent is not an element, return NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1072,8 +1121,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
<p>
Gets the template for <em class="parameter"><code>pad</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1097,8 +1149,11 @@ usage. <span class="annotation">[<acronym title="Free data after the code is don
<p>
Links the source pad and the sink pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>srcpad</code></em> :</span></p></td>
@@ -1136,8 +1191,11 @@ for more information.
<p>
MT Safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>srcpad</code></em> :</span></p></td>
@@ -1168,8 +1226,11 @@ what went wrong.</td>
Unlinks the source pad from the sink pad. Will emit the <a class="link" href="GstPad.html#GstPad-unlinked" title='The "unlinked" signal'><span class="type">"unlinked"</span></a>
signal on both pads.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>srcpad</code></em> :</span></p></td>
@@ -1195,8 +1256,11 @@ MT safe.</td>
<p>
Checks if a <em class="parameter"><code>pad</code></em> is linked to another pad or not.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1219,8 +1283,11 @@ MT safe.</td>
Checks if the source pad and the sink pad are compatible so they can be
linked.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>srcpad</code></em> :</span></p></td>
@@ -1250,8 +1317,11 @@ The allowed capabilities is calculated as the intersection of the results of
calling <a class="link" href="GstPad.html#gst-pad-query-caps" title="gst_pad_query_caps ()"><code class="function">gst_pad_query_caps()</code></a> on <em class="parameter"><code>pad</code></em> and its peer. The caller owns a reference
on the resulting caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1276,8 +1346,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
Gets the capabilities currently configured on <em class="parameter"><code>pad</code></em> with the last
<a class="link" href="gstreamer-GstEvent.html#GST-EVENT-CAPS"><span class="type">GST_EVENT_CAPS</span></a> event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1297,8 +1370,11 @@ Gets the capabilities currently configured on <em class="parameter"><code>pad</c
<p>
Gets the capabilities for <em class="parameter"><code>pad</code></em>'s template.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1321,8 +1397,11 @@ Unref after usage. <span class="annotation">[<acronym title="Free data after the
Gets the peer of <em class="parameter"><code>pad</code></em>. This function refs the peer pad so
you need to unref it after use.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1351,8 +1430,11 @@ The negotiated caps are the caps of the last CAPS event that passed on the
pad. Use this function on a pad that, once it negotiated to a CAPS, cannot
be renegotiated to something else.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
<td>the pad to use</td>
@@ -1366,8 +1448,11 @@ be renegotiated to something else.
<p>
Check if <em class="parameter"><code>pad</code></em> has caps set on it with a <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-CAPS"><span class="type">GST_EVENT_CAPS</span></a> event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1390,8 +1475,11 @@ Check if <em class="parameter"><code>pad</code></em> has caps set on it with a <
Returns a new reference of the sticky event of type <em class="parameter"><code>event_type</code></em>
from the event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1430,12 +1518,15 @@ returned. When <a href="http://library.gnome.org/devel/glib/unstable/glib-Standa
</p>
<p>
When <em class="parameter"><code>event</code></em> is set to NULL, the item will be removed from the list of sticky events.
-When <em class="parameter"><code>event</code></em> has been made writable, the new buffer reference can be assigned
-to <em class="parameter"><code>event</code></em>. This function is responsible for unreffing the old event when
+<em class="parameter"><code>event</code></em> can be replaced by assigning a new reference to it.
+This function is responsible for unreffing the old event when
removing or modifying.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1467,8 +1558,11 @@ removing or modifying.
Iterates all sticky events on <em class="parameter"><code>pad</code></em> and calls <em class="parameter"><code>foreach_func</code></em> for every
event. If <em class="parameter"><code>foreach_func</code></em> returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> the iteration is immediately stopped.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1495,8 +1589,11 @@ should be called for every event. <span class="annotation">[<acronym title="The
<p>
Query if a pad is active
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1523,8 +1620,11 @@ MT safe.</td>
<p>
Different return values for the <a class="link" href="GstPad.html#GstPadProbeCallback" title="GstPadProbeCallback ()"><span class="type">GstPadProbeCallback</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PAD-PROBE-DROP:CAPS"></a><span class="term"><code class="literal">GST_PAD_PROBE_DROP</code></span></p></td>
@@ -1591,8 +1691,11 @@ The different probing types that can occur. When either one of
<em class="parameter"><code>GST_PAD_PROBE_TYPE_IDLE</code></em> or <em class="parameter"><code>GST_PAD_PROBE_TYPE_BLOCK</code></em> is used, the probe will be a
blocking probe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PAD-PROBE-TYPE-INVALID:CAPS"></a><span class="term"><code class="literal">GST_PAD_PROBE_TYPE_INVALID</code></span></p></td>
@@ -1724,8 +1827,11 @@ blocking probe.
<p>
Info passed in the <a class="link" href="GstPad.html#GstPadProbeCallback" title="GstPadProbeCallback ()"><span class="type">GstPadProbeCallback</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstPad.html#GstPadProbeType" title="enum GstPadProbeType"><span class="type">GstPadProbeType</span></a> <em class="structfield"><code><a name="GstPadProbeInfo.type"></a>type</code></em>;</span></p></td>
@@ -1801,8 +1907,11 @@ This field can be NULL.</td>
<div class="refsect2">
<a name="gst-pad-probe-info-get-buffer"></a><h3>gst_pad_probe_info_get_buffer ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> * gst_pad_probe_info_get_buffer (<em class="parameter"><code><a class="link" href="GstPad.html#GstPadProbeInfo" title="struct GstPadProbeInfo"><span class="type">GstPadProbeInfo</span></a> *info</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
@@ -1826,8 +1935,11 @@ This field can be NULL.</td>
<div class="refsect2">
<a name="gst-pad-probe-info-get-event"></a><h3>gst_pad_probe_info_get_event ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_pad_probe_info_get_event (<em class="parameter"><code><a class="link" href="GstPad.html#GstPadProbeInfo" title="struct GstPadProbeInfo"><span class="type">GstPadProbeInfo</span></a> *info</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
@@ -1846,8 +1958,11 @@ This field can be NULL.</td>
<div class="refsect2">
<a name="gst-pad-probe-info-get-query"></a><h3>gst_pad_probe_info_get_query ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * gst_pad_probe_info_get_query (<em class="parameter"><code><a class="link" href="GstPad.html#GstPadProbeInfo" title="struct GstPadProbeInfo"><span class="type">GstPadProbeInfo</span></a> *info</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
@@ -1887,8 +2002,11 @@ blocking type.
<p>
The callback is allowed to modify the data pointer in <em class="parameter"><code>info</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1922,8 +2040,11 @@ The callback is allowed to modify the data pointer in <em class="parameter"><cod
Be notified of different states of pads. The provided callback is called for
every state that matches <em class="parameter"><code>mask</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1969,8 +2090,11 @@ Remove the probe with <em class="parameter"><code>id</code></em> from <em class=
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -1992,8 +2116,11 @@ Checks if the pad is blocked or not. This function returns the
last requested state of the pad. It is not certain that the pad
is actually blocking at this point (see <a class="link" href="GstPad.html#gst-pad-is-blocking" title="gst_pad_is_blocking ()"><code class="function">gst_pad_is_blocking()</code></a>).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2015,8 +2142,11 @@ MT safe.</td>
Checks if the pad is blocking or not. This is a guaranteed state
of whether the pad is actually blocking on a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> or a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2038,8 +2168,11 @@ MT safe.</td>
Get the offset applied to the running time of <em class="parameter"><code>pad</code></em>. <em class="parameter"><code>pad</code></em> has to be a source
pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2061,8 +2194,11 @@ pad.
<p>
Set the offset that will be applied to the running time of <em class="parameter"><code>pad</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2087,8 +2223,11 @@ If name is NULL, a guaranteed unique name (across all pads)
will be assigned.
This function makes a copy of the name so you can safely free the name.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -2118,8 +2257,11 @@ If name is NULL, a guaranteed unique name (across all pads)
will be assigned.
This function makes a copy of the name so you can safely free the name.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>templ</code></em> :</span></p></td>
@@ -2148,8 +2290,11 @@ If name is NULL, a guaranteed unique name (across all pads)
will be assigned.
This function makes a copy of the name so you can safely free the name.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>templ</code></em> :</span></p></td>
@@ -2176,8 +2321,11 @@ This function makes a copy of the name so you can safely free the name.
Calls <a class="link" href="GstPad.html#gst-pad-set-chain-function-full" title="gst_pad_set_chain_function_full ()"><code class="function">gst_pad_set_chain_function_full()</code></a> with NULL for the user_data and
notify.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
@@ -2201,8 +2349,11 @@ notify.
Sets the given chain function for the pad. The chain function is called to
process a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> input buffer. see <a class="link" href="GstPad.html#GstPadChainFunction" title="GstPadChainFunction ()"><span class="type">GstPadChainFunction</span></a> for more details.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2243,8 +2394,11 @@ The implementer of this function receives a refcount to <em class="parameter"><c
When a chain function detects an error in the data stream, it must post an
error on the bus and return an appropriate <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2277,8 +2431,11 @@ execution of this function.</td>
Calls <a class="link" href="GstPad.html#gst-pad-set-chain-list-function-full" title="gst_pad_set_chain_list_function_full ()"><code class="function">gst_pad_set_chain_list_function_full()</code></a> with NULL for the user_data and
notify.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
@@ -2304,8 +2461,11 @@ Sets the given chain list function for the pad. The chainlist function is
called to process a <a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a> input buffer list. See
<a class="link" href="GstPad.html#GstPadChainListFunction" title="GstPadChainListFunction ()"><span class="type">GstPadChainListFunction</span></a> for more details.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2346,8 +2506,11 @@ should <a class="link" href="gstreamer-GstBufferList.html#gst-buffer-list-unref"
When a chainlist function detects an error in the data stream, it must
post an error on the bus and return an appropriate <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2412,8 +2575,11 @@ will be unchanged.
<p>
This is a lowlevel function. Usualy <a class="link" href="GstPad.html#gst-pad-pull-range" title="gst_pad_pull_range ()"><code class="function">gst_pad_pull_range()</code></a> is used.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2450,8 +2616,11 @@ MT safe.</td>
Calls <a class="link" href="GstPad.html#gst-pad-set-getrange-function-full" title="gst_pad_set_getrange_function_full ()"><code class="function">gst_pad_set_getrange_function_full()</code></a> with NULL for the user_data and
notify.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
@@ -2476,8 +2645,11 @@ Sets the given getrange function for the pad. The getrange function is
called to produce a new <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> to start the processing pipeline. see
<a class="link" href="GstPad.html#GstPadGetRangeFunction" title="GstPadGetRangeFunction ()"><span class="type">GstPadGetRangeFunction</span></a> for a description of the getrange function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2549,8 +2721,11 @@ When this function is called with a -1 <em class="parameter"><code>length</code>
optimal length is returned in <em class="parameter"><code>buffer</code></em>. The length might depend on the value
of <em class="parameter"><code>offset</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2592,8 +2767,11 @@ return value leaves <em class="parameter"><code>buffer</code></em> undefined.</t
Calls <a class="link" href="GstPad.html#gst-pad-set-event-function-full" title="gst_pad_set_event_function_full ()"><code class="function">gst_pad_set_event_function_full()</code></a> with NULL for the user_data and
notify.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
@@ -2616,8 +2794,11 @@ notify.
<p>
Sets the given event handler for the pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2648,8 +2829,11 @@ Sets the given event handler for the pad.
<p>
Function signature to handle an event for the pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2681,8 +2865,11 @@ execution of this function.</td>
Calls <a class="link" href="GstPad.html#gst-pad-set-link-function-full" title="gst_pad_set_link_function_full ()"><code class="function">gst_pad_set_link_function_full()</code></a> with NULL
for the user_data and notify.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
@@ -2718,8 +2905,11 @@ cannot be made for some reason.
If <em class="parameter"><code>link</code></em> is installed on a source pad, it should call the <a class="link" href="GstPad.html#GstPadLinkFunction" title="GstPadLinkFunction ()"><span class="type">GstPadLinkFunction</span></a>
of the peer sink pad, if present.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2750,8 +2940,11 @@ of the peer sink pad, if present.
<p>
Function signature to handle a new link on the pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2783,8 +2976,11 @@ execution of this function.</td>
Calls <a class="link" href="GstPad.html#gst-pad-set-unlink-function-full" title="gst_pad_set_unlink_function_full ()"><code class="function">gst_pad_set_unlink_function_full()</code></a> with NULL
for the user_data and notify.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
@@ -2808,8 +3004,11 @@ for the user_data and notify.
Sets the given unlink function for the pad. It will be called
when the pad is unlinked.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2839,8 +3038,11 @@ when the pad is unlinked.
<p>
Function signature to handle a unlinking the pad prom its peer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2869,8 +3071,11 @@ This function is useful as a default caps query function for an element
that can handle any stream format, but requires all its pads to have
the same caps. Two such elements are tee and adder.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2893,7 +3098,7 @@ the same caps. Two such elements are tee and adder.
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_pad_proxy_query_accept_caps (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre>
<p>
-Calls <code class="function">gst_pad_accept_caps()</code> for all internally linked pads of <em class="parameter"><code>pad</code></em> and
+Calls <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-accept-caps"><code class="function">gst_pad_accept_caps()</code></a> for all internally linked pads of <em class="parameter"><code>pad</code></em> and
returns the intersection of the results.
</p>
<p>
@@ -2901,8 +3106,11 @@ This function is useful as a default accept caps query function for an element
that can handle any stream format, but requires caps that are acceptable for
all oposite pads.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2928,8 +3136,11 @@ all oposite pads.
Calls <a class="link" href="GstPad.html#gst-pad-set-activate-function-full" title="gst_pad_set_activate_function_full ()"><code class="function">gst_pad_set_activate_function_full()</code></a> with NULL for the user_data and
notify.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
@@ -2957,8 +3168,11 @@ Only makes sense to set on sink pads.
<p>
Call this function if your sink pad can start a pull-based task.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -2991,8 +3205,11 @@ READY to PAUSED state change. By default this function will call the
activate function that puts the pad in push mode but elements can
override this function to activate the pad in pull mode if they wish.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3020,8 +3237,11 @@ override this function to activate the pad in pull mode if they wish.
Calls <a class="link" href="GstPad.html#gst-pad-set-activatemode-function-full" title="gst_pad_set_activatemode_function_full ()"><code class="function">gst_pad_set_activatemode_function_full()</code></a> with NULL for the user_data and
notify.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
@@ -3046,8 +3266,11 @@ notify.
Sets the given activate_mode function for the pad. An activate_mode function
prepares the element for data passing.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3079,8 +3302,11 @@ prepares the element for data passing.
<p>
The prototype of the push and pull activate functions.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3116,8 +3342,11 @@ The prototype of the push and pull activate functions.
Check the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-RECONFIGURE:CAPS"><span class="type">GST_PAD_FLAG_NEED_RECONFIGURE</span></a> flag on <em class="parameter"><code>pad</code></em> and return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>
if the flag was set.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3139,8 +3368,11 @@ if the flag was set.
Check and clear the <a class="link" href="GstPad.html#GST-PAD-FLAG-NEED-RECONFIGURE:CAPS"><span class="type">GST_PAD_FLAG_NEED_RECONFIGURE</span></a> flag on <em class="parameter"><code>pad</code></em> and return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>
if the flag was set.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3162,8 +3394,11 @@ if the flag was set.
Mark a pad for needing reconfiguration. The next call to
<a class="link" href="GstPad.html#gst-pad-check-reconfigure" title="gst_pad_check_reconfigure ()"><code class="function">gst_pad_check_reconfigure()</code></a> will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> after this call.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
<td>the <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> to mark</td>
@@ -3191,8 +3426,11 @@ be returned.
In all cases, success or failure, the caller loses its reference to <em class="parameter"><code>buffer</code></em>
after calling this function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3226,8 +3464,11 @@ elements.
This function takes owership of the provided event so you should
<a class="link" href="gstreamer-GstEvent.html#gst-event-ref" title="gst_event_ref ()"><code class="function">gst_event_ref()</code></a> it if you want to reuse the event after this call.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3269,8 +3510,11 @@ chained via <a class="link" href="GstPad.html#gst-pad-chain" title="gst_pad_chai
In all cases, success or failure, the caller loses its reference to <em class="parameter"><code>list</code></em>
after calling this function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3329,8 +3573,11 @@ Note that less than <em class="parameter"><code>size</code></em> bytes can be re
an EOS condition is near or when <em class="parameter"><code>buffer</code></em> is not large enough to hold <em class="parameter"><code>size</code></em>
bytes. The caller should check the result buffer size to get the result size.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3371,8 +3618,11 @@ pad's activatemodefunc. For use from within pad activation functions only.
<p>
If you don't know what this is, you probably don't want to call it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3424,8 +3674,11 @@ all necessary locks and checks.
This function takes owership of the provided event so you should
<a class="link" href="gstreamer-GstEvent.html#gst-event-ref" title="gst_event_ref ()"><code class="function">gst_event_ref()</code></a> it if you want to reuse the event after this call.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3460,8 +3713,11 @@ to all internally linked pads,
The the event is sent to all pads internally linked to <em class="parameter"><code>pad</code></em>. This function
takes ownership of <em class="parameter"><code>event</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3503,8 +3759,11 @@ the query structure.
<p>
Please also note that some queries might need a running pipeline to work.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3534,8 +3793,11 @@ Performs <a class="link" href="GstPad.html#gst-pad-query" title="gst_pad_query (
The caller is responsible for both the allocation and deallocation of
the query structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3567,8 +3829,11 @@ if there are many possible sink pads that are internally linked to
<em class="parameter"><code>pad</code></em>, only one will be sent the query.
Multi-sinkpad elements should implement custom query handlers.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3600,8 +3865,11 @@ Multi-sinkpad elements should implement custom query handlers.
<p>
Queries a pad for the stream position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3632,8 +3900,11 @@ Queries a pad for the stream position.
<p>
Queries a pad for the total stream duration.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3667,8 +3938,11 @@ duration, or NULL. <span class="annotation">[<acronym title="Parameter for retur
<p>
Queries a pad to convert <em class="parameter"><code>src_val</code></em> in <em class="parameter"><code>src_format</code></em> to <em class="parameter"><code>dest_format</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3706,8 +3980,11 @@ Queries a pad to convert <em class="parameter"><code>src_val</code></em> in <em
<p>
Check if the given pad accepts the caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3731,8 +4008,8 @@ Check if the given pad accepts the caps.
<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *filter</code></em>);</pre>
<p>
Gets the capabilities this pad can produce or consume.
-Note that this method doesn't necessarily return the caps set by
-<code class="function">gst_pad_set_caps()</code> - use <a class="link" href="GstPad.html#gst-pad-get-current-caps" title="gst_pad_get_current_caps ()"><code class="function">gst_pad_get_current_caps()</code></a> for that instead.
+Note that this method doesn't necessarily return the caps set by sending a
+<a class="link" href="gstreamer-GstEvent.html#gst-event-new-caps" title="gst_event_new_caps ()"><code class="function">gst_event_new_caps()</code></a> - use <a class="link" href="GstPad.html#gst-pad-get-current-caps" title="gst_pad_get_current_caps ()"><code class="function">gst_pad_get_current_caps()</code></a> for that instead.
gst_pad_query_caps returns all possible caps a pad can operate with, using
the pad's CAPS query function, If the query fails, this function will return
<em class="parameter"><code>filter</code></em>, if not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, otherwise ANY.
@@ -3748,8 +4025,11 @@ if it is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard
Note that this function does not return writable <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>, use
<a class="link" href="gstreamer-GstCaps.html#gst-caps-make-writable" title="gst_caps_make_writable()"><code class="function">gst_caps_make_writable()</code></a> before modifying the caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3777,8 +4057,11 @@ Note that this function does not return writable <a class="link" href="gstreamer
<p>
Queries the peer of a given sink pad for the stream position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3811,8 +4094,11 @@ position, or NULL. <span class="annotation">[<acronym title="Parameter for retur
<p>
Queries the peer pad of a given sink pad for the total stream duration.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3848,8 +4134,11 @@ duration, or NULL. <span class="annotation">[<acronym title="Parameter for retur
Queries the peer pad of a given sink pad to convert <em class="parameter"><code>src_val</code></em> in <em class="parameter"><code>src_format</code></em>
to <em class="parameter"><code>dest_format</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3889,8 +4178,11 @@ Must be a sink pad.</td>
Check if the peer of <em class="parameter"><code>pad</code></em> accepts <em class="parameter"><code>caps</code></em>. If <em class="parameter"><code>pad</code></em> has no peer, this function
returns TRUE.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3923,8 +4215,11 @@ called on sinkpads <em class="parameter"><code>filter</code></em> contains the c
downstream in the preffered order. <em class="parameter"><code>filter</code></em> might be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> but
if it is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> the returned caps will be a subset of <em class="parameter"><code>filter</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -3953,8 +4248,11 @@ caps.</td>
Calls <a class="link" href="GstPad.html#gst-pad-set-query-function-full" title="gst_pad_set_query_function_full ()"><code class="function">gst_pad_set_query_function_full()</code></a> with NULL for the user_data and
notify.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
@@ -3977,8 +4275,11 @@ notify.
<p>
Set the given query function for the pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4009,8 +4310,11 @@ Set the given query function for the pad.
<p>
The signature of the query function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4042,8 +4346,11 @@ execution of this function.</td>
Calls <a class="link" href="GstPad.html#gst-pad-set-iterate-internal-links-function-full" title="gst_pad_set_iterate_internal_links_function_full ()"><code class="function">gst_pad_set_iterate_internal_links_function_full()</code></a> with NULL
for the user_data and notify.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
@@ -4067,8 +4374,11 @@ for the user_data and notify.
<p>
Sets the given internal link iterator function for the pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4098,8 +4408,11 @@ Sets the given internal link iterator function for the pad.
<p>
The signature of the internal pad link iterator function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4135,8 +4448,11 @@ so unref after use.
<p>
Free-function: gst_iterator_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4167,8 +4483,11 @@ pads inside the parent element with opposite direction.
<p>
The caller must free this iterator after use with <a class="link" href="gstreamer-GstIterator.html#gst-iterator-free" title="gst_iterator_free ()"><code class="function">gst_iterator_free()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4197,8 +4516,11 @@ Set the given private data gpointer on the pad.
This function can only be used by the element that owns the pad.
No locking is performed in this function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4219,8 +4541,11 @@ No locking is performed in this function.
Gets the private data of a pad.
No locking is performed in this function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4256,8 +4581,16 @@ a random number. Source elements that don't implement the URI
handler interface should ideally generate a unique, deterministic
stream-id manually instead.
</p>
-<div class="variablelist"><table border="0">
+<p>
+Since stream IDs are sorted alphabetically, any numbers in the
+stream ID should be printed with a fixed number of characters,
+preceded by 0's, such as by using the format %<code class="literal">03u</code> instead of %<code class="literal">u</code>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4304,8 +4637,11 @@ a random number. Source elements that don't implement the URI
handler interface should ideally generate a unique, deterministic
stream-id manually instead.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4357,8 +4693,11 @@ a random number. Source elements that don't implement the URI
handler interface should ideally generate a unique, deterministic
stream-id manually instead.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4388,6 +4727,42 @@ stream-id manually instead.
</div>
<hr>
<div class="refsect2">
+<a name="gst-pad-get-stream-id"></a><h3>gst_pad_get_stream_id ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_pad_get_stream_id (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>);</pre>
+<p>
+Returns the current stream-id for the <em class="parameter"><code>pad</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none has been
+set yet, i.e. the pad has not received a stream-start event yet.
+</p>
+<p>
+This is a convenience wrapper around <a class="link" href="GstPad.html#gst-pad-get-sticky-event" title="gst_pad_get_sticky_event ()"><code class="function">gst_pad_get_sticky_event()</code></a> and
+<a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-start" title="gst_event_parse_stream_start ()"><code class="function">gst_event_parse_stream_start()</code></a>.
+</p>
+<p>
+The returned stream-id string should be treated as an opaque string, its
+contents should not be interpreted.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
+<td>A source <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a newly-allocated copy of the stream-idfor <em class="parameter"><code>pad</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> the returned string when no longer needed.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GstPadForwardFunction"></a><h3>GstPadForwardFunction ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*GstPadForwardFunction) (<em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
@@ -4395,8 +4770,11 @@ stream-id manually instead.
A forward function is called for all internally linked pads, see
<a class="link" href="GstPad.html#gst-pad-forward" title="gst_pad_forward ()"><code class="function">gst_pad_forward()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4427,8 +4805,11 @@ function is only called once for each pad.
<p>
When <em class="parameter"><code>forward</code></em> returns TRUE, no further pads will be processed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4478,8 +4859,11 @@ chain function.
In all cases, success or failure, the caller loses its reference to <em class="parameter"><code>buffer</code></em>
after calling this function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4527,8 +4911,11 @@ after calling this function.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4560,8 +4947,11 @@ is mostly used in pad activation functions to start the dataflow.
The <a class="link" href="GstPad.html#GST-PAD-STREAM-LOCK:CAPS" title="GST_PAD_STREAM_LOCK()"><span class="type">GST_PAD_STREAM_LOCK</span></a> of <em class="parameter"><code>pad</code></em> will automatically be acquired
before <em class="parameter"><code>func</code></em> is called.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4595,8 +4985,11 @@ Pause the task of <em class="parameter"><code>pad</code></em>. This function wil
function executed by the task is finished if this function is not
called from the task function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4627,8 +5020,11 @@ the task. Use <a class="link" href="GstTask.html#gst-task-pause" title="gst_task
Regardless of whether the pad has a task, the stream lock is acquired and
released so as to ensure that streaming through this pad has finished.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4659,8 +5055,11 @@ function to perform the actual activation.
If not <em class="parameter"><code>active</code></em>, calls <a class="link" href="GstPad.html#gst-pad-activate-mode" title="gst_pad_activate_mode ()"><code class="function">gst_pad_activate_mode()</code></a> with the pad's current mode
and a FALSE argument.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4688,8 +5087,11 @@ MT safe.</td>
Get the stream lock of <em class="parameter"><code>pad</code></em>. The stream lock is protecting the
resources used in the data processing functions of <em class="parameter"><code>pad</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
<td>a <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>
@@ -4705,8 +5107,11 @@ resources used in the data processing functions of <em class="parameter"><code>p
<p>
Lock the stream lock of <em class="parameter"><code>pad</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
<td>a <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>
@@ -4723,8 +5128,11 @@ Lock the stream lock of <em class="parameter"><code>pad</code></em>.
Try to Lock the stream lock of the pad, return TRUE if the lock could be
taken.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
<td>a <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>
@@ -4740,8 +5148,11 @@ taken.
<p>
Unlock the stream lock of <em class="parameter"><code>pad</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
<td>a <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>
@@ -4781,8 +5192,11 @@ Unlock the stream lock of <em class="parameter"><code>pad</code></em>.
<p>
Signals that a pad has been linked to the peer pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -4808,8 +5222,11 @@ Signals that a pad has been linked to the peer pad.
<p>
Signals that a pad has been unlinked from the peer pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstPadTemplate.html b/docs/gst/html/GstPadTemplate.html
index fecaa29..353e2d0 100644
--- a/docs/gst/html/GstPadTemplate.html
+++ b/docs/gst/html/GstPadTemplate.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstPadTemplate</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstPad.html" title="GstPad">
@@ -132,7 +132,7 @@ or <a class="link" href="GstPad.html#gst-pad-new-from-static-template" title="gs
The following code example shows the code to create a pad from a padtemplate.
</p>
<div class="example">
-<a name="idp3540608"></a><p class="title"><b>Example 11. Create a pad from a padtemplate</b></p>
+<a name="idp9615248"></a><p class="title"><b>Example 11. Create a pad from a padtemplate</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -228,8 +228,11 @@ Last reviewed on 2006-02-14 (0.10.3)
<p>
Structure describing the <a class="link" href="GstPadTemplate.html#GstStaticPadTemplate" title="struct GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstStaticPadTemplate.name-template"></a>name_template</code></em>;</span></p></td>
@@ -258,8 +261,11 @@ Structure describing the <a class="link" href="GstPadTemplate.html#GstStaticPadT
Convenience macro to fill the values of a GstStaticPadTemplate
structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>padname</code></em> :</span></p></td>
@@ -287,8 +293,11 @@ structure.
<p>
Converts a <a class="link" href="GstPadTemplate.html#GstStaticPadTemplate" title="struct GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> into a <a class="link" href="GstPadTemplate.html" title="GstPadTemplate"><span class="type">GstPadTemplate</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad_template</code></em> :</span></p></td>
@@ -309,8 +318,11 @@ Converts a <a class="link" href="GstPadTemplate.html#GstStaticPadTemplate" title
<p>
Gets the capabilities of the static pad template.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>templ</code></em> :</span></p></td>
@@ -346,8 +358,11 @@ The padtemplate object.
<p>
Flags for the padtemplate
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><a name="GST-PAD-TEMPLATE-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_PAD_TEMPLATE_FLAG_LAST</code></span></p></td>
<td>first flag that can be used by subclasses.
@@ -367,8 +382,11 @@ Flags for the padtemplate
<p>
Indicates when this pad will become available.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PAD-ALWAYS:CAPS"></a><span class="term"><code class="literal">GST_PAD_ALWAYS</code></span></p></td>
@@ -397,8 +415,11 @@ Indicates when this pad will become available.
<p>
Get the nametemplate of the padtemplate.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>templ</code></em> :</span></p></td>
<td>the template to query</td>
@@ -413,8 +434,11 @@ Get the nametemplate of the padtemplate.
<p>
Get the <a class="link" href="GstPad.html#GstPadDirection" title="enum GstPadDirection"><span class="type">GstPadDirection</span></a> of the padtemplate.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>templ</code></em> :</span></p></td>
<td>the template to query</td>
@@ -429,8 +453,11 @@ Get the <a class="link" href="GstPad.html#GstPadDirection" title="enum GstPadDir
<p>
Get the <a class="link" href="GstPadTemplate.html#GstPadPresence" title="enum GstPadPresence"><span class="type">GstPadPresence</span></a> of the padtemplate.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>templ</code></em> :</span></p></td>
<td>the template to query</td>
@@ -445,8 +472,11 @@ Get the <a class="link" href="GstPadTemplate.html#GstPadPresence" title="enum Gs
<p>
Get a handle to the padtemplate <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>templ</code></em> :</span></p></td>
<td>the template to query</td>
@@ -461,8 +491,11 @@ Get a handle to the padtemplate <a class="link" href="gstreamer-GstCaps.html#Gst
<p>
Check if the properties of the padtemplate are fixed
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>templ</code></em> :</span></p></td>
<td>the template to query</td>
@@ -480,8 +513,11 @@ Check if the properties of the padtemplate are fixed
Creates a new pad template with a name according to the given template
and with the given arguments.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name_template</code></em> :</span></p></td>
@@ -515,8 +551,11 @@ and with the given arguments.
<p>
Gets the capabilities of the pad template.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>templ</code></em> :</span></p></td>
@@ -579,8 +618,11 @@ When the pad described by the pad template will become available.
<p>
This signal is fired when an element creates a pad from this template.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad_template</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstPipeline.html b/docs/gst/html/GstPipeline.html
index 92171e2..9ae8297 100644
--- a/docs/gst/html/GstPipeline.html
+++ b/docs/gst/html/GstPipeline.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstPipeline</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstParse.html" title="GstParse">
@@ -163,8 +163,11 @@ Last reviewed on 2012-03-29 (0.11.3)
<p>
The <a class="link" href="GstPipeline.html" title="GstPipeline"><span class="type">GstPipeline</span></a> structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *<em class="structfield"><code><a name="GstPipeline-struct.fixed-clock"></a>fixed_clock</code></em>;</span></p></td>
@@ -198,8 +201,11 @@ when setting elements to PLAYING.</td>
<p>
Pipeline flags
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PIPELINE-FLAG-FIXED-CLOCK:CAPS"></a><span class="term"><code class="literal">GST_PIPELINE_FLAG_FIXED_CLOCK</code></span></p></td>
@@ -221,8 +227,11 @@ Pipeline flags
<p>
Create a new pipeline with the given name.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -246,8 +255,11 @@ MT safe. <span class="annotation">[transfer floating]</span>
Gets the <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> of <em class="parameter"><code>pipeline</code></em>. The bus allows applications to receive
<a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> packets.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pipeline</code></em> :</span></p></td>
@@ -272,8 +284,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
Set the clock for <em class="parameter"><code>pipeline</code></em>. The clock will be distributed
to all the elements managed by the pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pipeline</code></em> :</span></p></td>
@@ -301,8 +316,11 @@ MT safe.</td>
<p>
Gets the current clock used by <em class="parameter"><code>pipeline</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pipeline</code></em> :</span></p></td>
@@ -334,8 +352,11 @@ the pipeline run as fast as possible.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pipeline</code></em> :</span></p></td>
@@ -366,8 +387,11 @@ pipeline clock selection algorithm.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pipeline</code></em> :</span></p></td>
<td>a <a class="link" href="GstPipeline.html" title="GstPipeline"><span class="type">GstPipeline</span></a>
@@ -399,8 +423,11 @@ automatic flushing is disabled else memory leaks will be introduced.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pipeline</code></em> :</span></p></td>
@@ -423,8 +450,11 @@ the pipeline goes from READY to NULL state</td>
Check if <em class="parameter"><code>pipeline</code></em> will automatically flush messages when going to
the NULL state.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pipeline</code></em> :</span></p></td>
@@ -459,8 +489,11 @@ used.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pipeline</code></em> :</span></p></td>
@@ -481,8 +514,11 @@ MT safe.
<p>
Get the configured delay (see <a class="link" href="GstPipeline.html#gst-pipeline-set-delay" title="gst_pipeline_set_delay ()"><code class="function">gst_pipeline_set_delay()</code></a>).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pipeline</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstPlugin.html b/docs/gst/html/GstPlugin.html
index 58d40ba..acff08b 100644
--- a/docs/gst/html/GstPlugin.html
+++ b/docs/gst/html/GstPlugin.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstPlugin</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstPipeline.html" title="GstPipeline">
@@ -160,8 +160,11 @@ into memory.
<p>
Get the error quark.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The error quark used in GError messages</td>
@@ -189,8 +192,11 @@ The error message category quark
<p>
The plugin loading errors
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PLUGIN-ERROR-MODULE:CAPS"></a><span class="term"><code class="literal">GST_PLUGIN_ERROR_MODULE</code></span></p></td>
@@ -243,8 +249,11 @@ loader will use the data provided there to initialize the plugin.
The <em class="parameter"><code>licence</code></em> parameter must be one of: LGPL, GPL, QPL, GPL/QPL, MPL,
BSD, MIT/X11, Proprietary, unknown.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstPluginDesc.major-version"></a>major_version</code></em>;</span></p></td>
@@ -307,8 +316,11 @@ plugin_desc struct.
This function will be called by the loader at startup. One would then
register each <a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -334,8 +346,11 @@ The function will be called by the loader at startup. One would then
register each <a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a>. This version allows
user data to be passed to init function (useful for bindings).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -373,8 +388,11 @@ your application/package, e.g. 'someapp' or 'my-plugins-foo.
If defined, the GST_PACKAGE_RELEASE_DATETIME will also be used for the
<a class="link" href="GstPlugin.html#GstPluginDesc" title="struct GstPluginDesc"><span class="type">GstPluginDesc</span></a>,release_datetime field.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>major</code></em> :</span></p></td>
@@ -433,8 +451,11 @@ To be used in GST_PLUGIN_DEFINE if usure about the licence.
A function that can be used with e.g. <a class="link" href="GstRegistry.html#gst-registry-plugin-filter" title="gst_registry_plugin_filter ()"><code class="function">gst_registry_plugin_filter()</code></a>
to get a list of plugins that match certain criteria.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -459,8 +480,11 @@ to get a list of plugins that match certain criteria.
<p>
Get the short name of the plugin
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -480,8 +504,11 @@ Get the short name of the plugin
<p>
Get the long descriptive name of the plugin
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -501,8 +528,11 @@ Get the long descriptive name of the plugin
<p>
get the filename of the plugin
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -522,8 +552,11 @@ get the filename of the plugin
<p>
get the license of the plugin
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -543,8 +576,11 @@ get the license of the plugin
<p>
get the package the plugin belongs to.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -564,8 +600,11 @@ get the package the plugin belongs to.
<p>
get the URL where the plugin comes from
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -585,8 +624,11 @@ get the URL where the plugin comes from
<p>
get the source module the plugin belongs to.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -606,8 +648,11 @@ get the source module the plugin belongs to.
<p>
get the version of the plugin
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -636,8 +681,11 @@ formatted like "YYYY-MM-DDTHH:MMZ" (e.g. "2012-04-30T09:30Z").
<p>
There may be plugins that do not have a valid release date set on them.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -657,8 +705,11 @@ There may be plugins that do not have a valid release date set on them.
<p>
queries if the plugin is loaded into memory
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -679,8 +730,11 @@ queries if the plugin is loaded into memory
Gets the plugin specific data cache. If it is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> there is no cached data
stored. This is the case when the registry is getting rebuilt.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -706,8 +760,11 @@ the <em class="parameter"><code>plugin</code></em>.
<p>
The cache is flushed every time the registry is rebuilt.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -729,8 +786,11 @@ The cache is flushed every time the registry is rebuilt.
<p>
Loads the given plugin and refs it. Caller needs to unref after use.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
@@ -768,8 +828,11 @@ plugin = loaded_plugin;
</pre>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -791,8 +854,11 @@ plugin = loaded_plugin;
<p>
Load the named plugin. Refs the plugin.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -813,8 +879,11 @@ Load the named plugin. Refs the plugin.
<p>
Unrefs each member of <em class="parameter"><code>list</code></em>, then frees the list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
<td>list of <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gst.Plugin]</span>
@@ -844,8 +913,11 @@ being shipped as a separate module file).
You must make sure that GStreamer has been initialised (with <a class="link" href="gstreamer-Gst.html#gst-init" title="gst_init ()"><code class="function">gst_init()</code></a> or
via <a class="link" href="gstreamer-Gst.html#gst-init-get-option-group" title="gst_init_get_option_group ()"><code class="function">gst_init_get_option_group()</code></a>) before calling this function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>major_version</code></em> :</span></p></td>
@@ -925,8 +997,11 @@ for bindings).
You must make sure that GStreamer has been initialised (with <a class="link" href="gstreamer-Gst.html#gst-init" title="gst_init ()"><code class="function">gst_init()</code></a> or
via <a class="link" href="gstreamer-Gst.html#gst-init-get-option-group" title="gst_init_get_option_group ()"><code class="function">gst_init_get_option_group()</code></a>) before calling this function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>major_version</code></em> :</span></p></td>
@@ -997,8 +1072,11 @@ of this plugin. <span class="annotation">[<acronym title="The callback is valid
<p>
The plugin loading state
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PLUGIN-FLAG-CACHED:CAPS"></a><span class="term"><code class="literal">GST_PLUGIN_FLAG_CACHED</code></span></p></td>
@@ -1026,8 +1104,11 @@ The plugin loading state
<p>
Flags used in connection with <a class="link" href="GstPlugin.html#gst-plugin-add-dependency" title="gst_plugin_add_dependency ()"><code class="function">gst_plugin_add_dependency()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PLUGIN-DEPENDENCY-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_PLUGIN_DEPENDENCY_FLAG_NONE</code></span></p></td>
@@ -1075,8 +1156,11 @@ library and makes visualisations available as GStreamer elements, or a
codec loader which exposes elements and/or caps dependent on what external
codec libraries are currently installed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
@@ -1140,8 +1224,11 @@ Convenience wrapper function for <a class="link" href="GstPlugin.html#gst-plugin
takes simple strings as arguments instead of string arrays, with multiple
arguments separated by predefined delimiters (see above).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstPluginFeature.html b/docs/gst/html/GstPluginFeature.html
index b0082bc..f72e79c 100644
--- a/docs/gst/html/GstPluginFeature.html
+++ b/docs/gst/html/GstPluginFeature.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstPluginFeature</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstPlugin.html" title="GstPlugin">
@@ -53,6 +53,7 @@ enum <a class="link" href="GstPluginFeature.html#GstRank" title="
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="GstPluginFeature.html#gst-plugin-feature-get-rank" title="gst_plugin_feature_get_rank ()">gst_plugin_feature_get_rank</a> (<em class="parameter"><code><a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a> *feature</code></em>);
#define <a class="link" href="GstPluginFeature.html#gst-plugin-feature-get-name" title="gst_plugin_feature_get_name()">gst_plugin_feature_get_name</a> (feature)
<a class="link" href="GstPlugin.html" title="GstPlugin"><span class="returnvalue">GstPlugin</span></a> * <a class="link" href="GstPluginFeature.html#gst-plugin-feature-get-plugin" title="gst_plugin_feature_get_plugin ()">gst_plugin_feature_get_plugin</a> (<em class="parameter"><code><a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a> *feature</code></em>);
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="GstPluginFeature.html#gst-plugin-feature-get-plugin-name" title="gst_plugin_feature_get_plugin_name ()">gst_plugin_feature_get_plugin_name</a> (<em class="parameter"><code><a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a> *feature</code></em>);
<a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="returnvalue">GstPluginFeature</span></a> * <a class="link" href="GstPluginFeature.html#gst-plugin-feature-load" title="gst_plugin_feature_load ()">gst_plugin_feature_load</a> (<em class="parameter"><code><a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a> *feature</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GstPluginFeature.html#gst-plugin-feature-list-copy" title="gst_plugin_feature_list_copy ()">gst_plugin_feature_list_copy</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GstPluginFeature.html#gst-plugin-feature-list-free" title="gst_plugin_feature_list_free ()">gst_plugin_feature_list_free</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list</code></em>);
@@ -101,8 +102,11 @@ Opaque <a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><sp
A function that can be used with e.g. <a class="link" href="GstRegistry.html#gst-registry-feature-filter" title="gst_registry_feature_filter ()"><code class="function">gst_registry_feature_filter()</code></a>
to get a list of pluginfeature that match certain criteria.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
@@ -142,8 +146,11 @@ These constants serve as a rough guidance for defining the rank of a
<a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a>. Any value is valid, including values bigger than
<em class="parameter"><code>GST_RANK_PRIMARY</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-RANK-NONE:CAPS"></a><span class="term"><code class="literal">GST_RANK_NONE</code></span></p></td>
@@ -177,8 +184,11 @@ These constants serve as a rough guidance for defining the rank of a
Specifies a rank for a plugin feature, so that autoplugging uses
the most appropriate feature.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
@@ -199,8 +209,11 @@ the most appropriate feature.
<p>
Sets the name of the plugin feature, getting rid of the old name if there was one.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
@@ -220,8 +233,11 @@ Sets the name of the plugin feature, getting rid of the old name if there was on
<p>
Gets the rank of a plugin feature.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
@@ -243,8 +259,11 @@ Gets the rank of a plugin feature.
Returns the name of <em class="parameter"><code>feature</code></em>.
For a nameless plugin feature, this returns NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
@@ -265,8 +284,11 @@ For a nameless plugin feature, this returns NULL.
<p>
Get the plugin that provides this feature.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
@@ -283,6 +305,32 @@ Unref with <a class="link" href="GstObject.html#gst-object-unref" title="gst_obj
</div>
<hr>
<div class="refsect2">
+<a name="gst-plugin-feature-get-plugin-name"></a><h3>gst_plugin_feature_get_plugin_name ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_plugin_feature_get_plugin_name (<em class="parameter"><code><a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a> *feature</code></em>);</pre>
+<p>
+Get the name of the plugin that provides this feature.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
+<td>a feature</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the name of the plugin that provides this feature, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
+the feature is not associated with a plugin.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-plugin-feature-load"></a><h3>gst_plugin_feature_load ()</h3>
<pre class="programlisting"><a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="returnvalue">GstPluginFeature</span></a> * gst_plugin_feature_load (<em class="parameter"><code><a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a> *feature</code></em>);</pre>
<p>
@@ -315,8 +363,11 @@ feature <span class="gtkdoc opt">=</span> loaded_feature<span class="gtkdoc opt"
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
@@ -339,8 +390,11 @@ feature <span class="gtkdoc opt">=</span> loaded_feature<span class="gtkdoc opt"
Copies the list of features. Caller should call <em class="parameter"><code>gst_plugin_feature_list_free</code></em>
when done with the list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -364,8 +418,11 @@ with each feature's reference count incremented. <span class="annotation">[<acro
<p>
Unrefs each member of <em class="parameter"><code>list</code></em>, then frees the list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
<td>list
@@ -382,8 +439,11 @@ of <a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span c
<p>
Debug the plugin feature names in <em class="parameter"><code>list</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
@@ -403,8 +463,11 @@ plugin features. <span class="annotation">[<acronym title="Don't free data after
Checks whether the given plugin feature is at least
the required version
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
@@ -441,8 +504,11 @@ the required version, otherwise <a href="http://library.gnome.org/devel/glib/uns
Compares the two given <a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a> instances. This function can be
used as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GCompareFunc"><span class="type">GCompareFunc</span></a> when sorting by rank and then by name.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p1</code></em> :</span></p></td>
@@ -459,7 +525,7 @@ used as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Link
<td>negative value if the rank of p1 &gt; the rank of p2 or the ranks are
equal but the name of p1 comes before the name of p2; zero if the rank
and names are equal; positive value if the rank of p1 &lt; the rank of p2 or the
-ranks are equal but the name of p2 comes after the name of p1</td>
+ranks are equal but the name of p2 comes before the name of p1</td>
</tr>
</tbody>
</table></div>
diff --git a/docs/gst/html/GstPreset.html b/docs/gst/html/GstPreset.html
index d8effe2..f33f05b 100644
--- a/docs/gst/html/GstPreset.html
+++ b/docs/gst/html/GstPreset.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstPreset</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstPoll.html" title="GstPoll">
@@ -134,8 +134,11 @@ Opaque <a class="link" href="GstPreset.html" title="GstPreset"><span class="type
<p>
<a class="link" href="GstPreset.html" title="GstPreset"><span class="type">GstPreset</span></a> interface.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstPresetInterface.parent"></a>parent</code></em>;</span></p></td>
@@ -183,8 +186,11 @@ Opaque <a class="link" href="GstPreset.html" title="GstPreset"><span class="type
<p>
Get a copy of preset names as a NULL terminated string array.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>preset</code></em> :</span></p></td>
@@ -206,8 +212,11 @@ Get a copy of preset names as a NULL terminated string array.
<p>
Get a the names of the GObject properties that can be used for presets.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>preset</code></em> :</span></p></td>
@@ -231,8 +240,11 @@ array of property names which should be freed with <a href="http://library.gnome
<p>
Load the given preset.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>preset</code></em> :</span></p></td>
@@ -261,8 +273,11 @@ Load the given preset.
Save the current object settings as a preset under the given name. If there
is already a preset by this <em class="parameter"><code>name</code></em> it will be overwritten.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>preset</code></em> :</span></p></td>
@@ -292,8 +307,11 @@ is already a preset by this <em class="parameter"><code>name</code></em> it will
Renames a preset. If there is already a preset by the <em class="parameter"><code>new_name</code></em> it will be
overwritten.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>preset</code></em> :</span></p></td>
@@ -325,8 +343,11 @@ overwritten.
<p>
Delete the given preset.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>preset</code></em> :</span></p></td>
@@ -358,8 +379,11 @@ Sets a new <em class="parameter"><code>value</code></em> for an existing meta da
data <em class="parameter"><code>tag</code></em> names can be something like e.g. "comment". Supplying <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the
<em class="parameter"><code>value</code></em> will unset an existing value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>preset</code></em> :</span></p></td>
@@ -398,8 +422,11 @@ data <em class="parameter"><code>tag</code></em> names can be something like e.g
Gets the <em class="parameter"><code>value</code></em> for an existing meta data <em class="parameter"><code>tag</code></em>. Meta data <em class="parameter"><code>tag</code></em> names can be
something like e.g. "comment". Returned values need to be released when done.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>preset</code></em> :</span></p></td>
@@ -438,8 +465,11 @@ Sets an extra directory as an absolute path that should be considered when
looking for presets. Any presets in the application dir will shadow the
system presets.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>app_dir</code></em> :</span></p></td>
@@ -461,8 +491,11 @@ system presets.
Gets the directory for application specific presets if set by the
application.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the directory or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, don't free or modify the string</td>
diff --git a/docs/gst/html/GstRegistry.html b/docs/gst/html/GstRegistry.html
index 8b38553..119c55f 100644
--- a/docs/gst/html/GstRegistry.html
+++ b/docs/gst/html/GstRegistry.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstRegistry</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstQuery.html" title="GstQuery">
@@ -130,7 +130,7 @@ and location of the cache file is internal to gstreamer.
On startup, plugins are searched for in the plugin search path. The following
locations are checked in this order:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>location from --gst-plugin-path commandline option.</p></li>
<li class="listitem"><p>the GST_PLUGIN_PATH environment variable.</p></li>
<li class="listitem"><p>the GST_PLUGIN_SYSTEM_PATH environment variable.</p></li>
@@ -150,7 +150,7 @@ location is for testing.
For each plugin that is found in the plugin search path, there could be 3
possibilities for cached information:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>the cache may not contain information about a given file.</p></li>
<li class="listitem"><p>the cache may have stale information.</p></li>
<li class="listitem"><p>the cache may have current information.</p></li>
@@ -201,8 +201,11 @@ Retrieves the singleton plugin registry. The caller does not own a
reference on the registry, as it is alive as long as GStreamer is
initialized.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a class="link" href="GstRegistry.html" title="GstRegistry"><span class="type">GstRegistry</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
@@ -218,8 +221,11 @@ initialized.
<p>
Retrieves a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a> of <em class="parameter"><code>type</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -249,8 +255,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
Returns the registrys feature list cookie. This changes
every time a feature is added or removed from the registry.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -272,8 +281,11 @@ every time a feature is added or removed from the registry.
<p>
Retrieves a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of features of the plugin with name <em class="parameter"><code>name</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -300,8 +312,11 @@ Retrieves a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Li
Get a copy of all plugins registered in the given registry. The refcount
of each element in the list in incremented.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -326,8 +341,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
Add the plugin to the registry. The plugin-added signal will be emitted.
This function will sink <em class="parameter"><code>plugin</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -357,8 +375,11 @@ Remove the plugin from the registry.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -386,8 +407,11 @@ returned (as a list with a single object).
Every plugin is reffed; use <a class="link" href="GstPlugin.html#gst-plugin-list-free" title="gst_plugin_list_free ()"><code class="function">gst_plugin_list_free()</code></a> after use, which
will unref again.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -430,8 +454,11 @@ and returns a GList with the results.
If the first flag is set, only the first match is
returned (as a list with a single object).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -470,8 +497,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
Find the plugin with the given name in the registry.
The plugin will be reffed; caller is responsible for unreffing.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -500,8 +530,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
<p>
Find the pluginfeature with the given name and type in the registry.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -533,8 +566,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
<p>
Find a <a class="link" href="GstPluginFeature.html" title="GstPluginFeature"><span class="type">GstPluginFeature</span></a> with <em class="parameter"><code>name</code></em> in <em class="parameter"><code>registry</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -564,8 +600,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
Scan the given path for plugins to add to the registry. The syntax of the
path is specific to the registry.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -592,8 +631,11 @@ path is specific to the registry.
Look up a plugin in the given registry with the given filename.
If found, plugin is reffed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -623,8 +665,11 @@ Remove the feature from the registry.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -647,8 +692,11 @@ MT safe.
Add the feature to the registry. The feature-added signal will be emitted.
This function sinks <em class="parameter"><code>feature</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -680,8 +728,11 @@ Checks whether a plugin feature by the given name exists in
<em class="parameter"><code>registry</code></em> and whether its version is at least the
version required.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -725,8 +776,11 @@ the same as the required version or newer, and <a href="http://library.gnome.org
Signals that a feature has been added to the registry (possibly
replacing a previously-added one by the same name)
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
@@ -753,8 +807,11 @@ replacing a previously-added one by the same name)
Signals that a plugin has been added to the registry (possibly
replacing a previously-added one by the same name)
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>registry</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstSystemClock.html b/docs/gst/html/GstSystemClock.html
index 8b16062..b876de6 100644
--- a/docs/gst/html/GstSystemClock.html
+++ b/docs/gst/html/GstSystemClock.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstSystemClock</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstStructure.html" title="GstStructure">
@@ -97,8 +97,11 @@ Last reviewed on 2006-03-08 (0.10.4)
<p>
The different kind of clocks.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-CLOCK-TYPE-REALTIME:CAPS"></a><span class="term"><code class="literal">GST_CLOCK_TYPE_REALTIME</code></span></p></td>
@@ -136,8 +139,11 @@ Get a handle to the default system clock. The refcount of the
clock will be increased so you need to unref the clock after
usage.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the default clock.
diff --git a/docs/gst/html/GstTagSetter.html b/docs/gst/html/GstTagSetter.html
index ec59451..9e80f92 100644
--- a/docs/gst/html/GstTagSetter.html
+++ b/docs/gst/html/GstTagSetter.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTagSetter</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstTagList.html" title="GstTagList">
@@ -194,8 +194,11 @@ Opaque <a class="link" href="GstTagSetter.html" title="GstTagSetter"><span class
<p>
<a class="link" href="GstTagSetter.html#GstTagSetterInterface" title="struct GstTagSetterInterface"><span class="type">GstTagSetterInterface</span></a> interface.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstTagSetterInterface.g-iface"></a>g_iface</code></em>;</span></p></td>
<td>parent interface type.</td>
@@ -210,8 +213,11 @@ Opaque <a class="link" href="GstTagSetter.html" title="GstTagSetter"><span class
Reset the internal taglist. Elements should call this from within the
state-change handler.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
<td>a <a class="link" href="GstTagSetter.html" title="GstTagSetter"><span class="type">GstTagSetter</span></a>
@@ -228,8 +234,11 @@ state-change handler.
<p>
Merges the given list into the setter's list using the given mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
@@ -258,8 +267,11 @@ Merges the given list into the setter's list using the given mode.
Adds the given tag / value pairs on the setter using the given merge mode.
The list must be terminated with NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
@@ -291,8 +303,11 @@ The list must be terminated with NULL.
<p>
Adds the given tag / GValue pair on the setter using the given merge mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
@@ -325,8 +340,11 @@ Adds the given tag / GValue pair on the setter using the given merge mode.
Adds the given tag / GValue pairs on the setter using the given merge mode.
The list must be terminated with NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
@@ -359,8 +377,11 @@ The list must be terminated with NULL.
Adds the given tag / value pairs on the setter using the given merge mode.
The list must be terminated with NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
@@ -394,8 +415,11 @@ The list must be terminated with NULL.
Adds the given tag / GValue pairs on the setter using the given merge mode.
The list must be terminated with NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
@@ -428,8 +452,11 @@ modified or freed.
<p>
This function is not thread-safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
@@ -455,8 +482,11 @@ Sets the given merge mode that is used for adding tags from events to tags
specified by this interface. The default is <a class="link" href="gstreamer-GstTagList.html#GST-TAG-MERGE-KEEP:CAPS"><span class="type">GST_TAG_MERGE_KEEP</span></a>, which keeps
the tags set with this interface and discards tags from events.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
@@ -478,8 +508,11 @@ the tags set with this interface and discards tags from events.
Queries the mode by which tags inside the setter are overwritten by tags
from events
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstTask.html b/docs/gst/html/GstTask.html
index 28b3365..afb8400 100644
--- a/docs/gst/html/GstTask.html
+++ b/docs/gst/html/GstTask.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTask</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstTagSetter.html" title="GstTagSetter">
@@ -108,7 +108,7 @@ might sometimes be needed to create a <a class="link" href="GstTask.html" title=
a <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>.
</p>
<p>
-Before the <a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> can be run, it needs a <a href="http://library.gnome.org/devel/glib/unstable/glib-Deprecated-Thread-APIs.html#GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> that can be set with
+Before the <a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> can be run, it needs a <a href="http://library.gnome.org/devel/glib/unstable/glib-Threads.html#GRecMutex"><span class="type">GRecMutex</span></a> that can be set with
<a class="link" href="GstTask.html#gst-task-set-lock" title="gst_task_set_lock ()"><code class="function">gst_task_set_lock()</code></a>.
</p>
<p>
@@ -165,8 +165,11 @@ Last reviewed on 2012-03-29 (0.11.3)
<p>
The <a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a> object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstTask.html#GstTaskState" title="enum GstTaskState"><span class="type">GstTaskState</span></a> <em class="structfield"><code><a name="GstTask-struct.state"></a>state</code></em>;</span></p></td>
@@ -208,8 +211,11 @@ The <a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTa
A function that will repeatedly be called in the thread created by
a <a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data passed to the function</td>
@@ -228,8 +234,11 @@ a <a class="link" href="GstTask.html" title="GstTask"><span class="type">GstTask
<p>
The different states a task can be in
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-TASK-STARTED:CAPS"></a><span class="term"><code class="literal">GST_TASK_STARTED</code></span></p></td>
@@ -257,8 +266,11 @@ The different states a task can be in
<p>
Send a broadcast signal to all waiting task conds
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
<td>Task to broadcast</td>
@@ -273,8 +285,11 @@ Send a broadcast signal to all waiting task conds
<p>
Get access to the cond of the task.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
<td>Task to get the cond of</td>
@@ -289,8 +304,11 @@ Get access to the cond of the task.
<p>
Get access to the task lock.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
<td>Task to get the lock of</td>
@@ -305,8 +323,11 @@ Get access to the task lock.
<p>
Signal the task cond
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
<td>Task to signal</td>
@@ -321,8 +342,11 @@ Signal the task cond
<p>
Get access to the state of the task.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
<td>Task to get the state of</td>
@@ -337,8 +361,11 @@ Get access to the state of the task.
<p>
Wait for the task cond to be signalled
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
<td>Task to wait for</td>
@@ -365,12 +392,15 @@ This function will not yet create and start a thread. Use <a class="link" href="
<a class="link" href="GstTask.html#gst-task-pause" title="gst_task_pause ()"><code class="function">gst_task_pause()</code></a> to create and start the GThread.
</p>
<p>
-Before the task can be used, a <a href="http://library.gnome.org/devel/glib/unstable/glib-Deprecated-Thread-APIs.html#GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> must be configured using the
+Before the task can be used, a <a href="http://library.gnome.org/devel/glib/unstable/glib-Threads.html#GRecMutex"><span class="type">GRecMutex</span></a> must be configured using the
<a class="link" href="GstTask.html#gst-task-set-lock" title="gst_task_set_lock ()"><code class="function">gst_task_set_lock()</code></a> function. This lock will always be acquired while
<em class="parameter"><code>func</code></em> is called.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
@@ -410,8 +440,11 @@ This function has to be called before calling <a class="link" href="GstTask.html
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -436,8 +469,11 @@ will be created by <em class="parameter"><code>task</code></em> will now use <em
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -463,8 +499,11 @@ threads.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -489,8 +528,11 @@ after usage. <span class="annotation">[<acronym title="Free data after the code
<p>
Custom GstTask thread callback functions that can be installed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -521,8 +563,11 @@ Call <em class="parameter"><code>enter_func</code></em> when the task function o
be passed to <em class="parameter"><code>enter_func</code></em> and <em class="parameter"><code>notify</code></em> will be called when <em class="parameter"><code>user_data</code></em> is no
longer referenced.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -557,8 +602,11 @@ Call <em class="parameter"><code>leave_func</code></em> when the task function o
be passed to <em class="parameter"><code>leave_func</code></em> and <em class="parameter"><code>notify</code></em> will be called when <em class="parameter"><code>user_data</code></em> is no
longer referenced.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -588,8 +636,11 @@ longer referenced.
<p>
Get the current state of the task.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -619,8 +670,11 @@ this function will return <a href="http://library.gnome.org/devel/glib/unstable/
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -649,8 +703,11 @@ stopped state, in which case a thread will be started and will remain
in the paused state. This function does not wait for the task to complete
the paused state.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -673,8 +730,11 @@ MT safe.</td>
Starts <em class="parameter"><code>task</code></em>. The <em class="parameter"><code>task</code></em> must have a lock associated with it using
<a class="link" href="GstTask.html#gst-task-set-lock" title="gst_task_set_lock ()"><code class="function">gst_task_set_lock()</code></a> or this function will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -698,8 +758,11 @@ Stops <em class="parameter"><code>task</code></em>. This method merely schedules
will not wait for the task to have completely stopped. Use
<a class="link" href="GstTask.html#gst-task-join" title="gst_task_join ()"><code class="function">gst_task_join()</code></a> to stop and wait for completion.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
@@ -730,8 +793,11 @@ This function cannot be called from within a task function as this
would cause a deadlock. The function will detect this and print a
g_warning.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>task</code></em> :</span></p></td>
diff --git a/docs/gst/html/GstTaskPool.html b/docs/gst/html/GstTaskPool.html
index 50d58fb..6e349a9 100644
--- a/docs/gst/html/GstTaskPool.html
+++ b/docs/gst/html/GstTaskPool.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTaskPool</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstTask.html" title="GstTask">
@@ -105,8 +105,11 @@ The <a class="link" href="GstTaskPool.html" title="GstTaskPool"><span class="typ
<p>
The <a class="link" href="GstTaskPool.html#GstTaskPoolClass" title="struct GstTaskPoolClass"><span class="type">GstTaskPoolClass</span></a> object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> <em class="structfield"><code><a name="GstTaskPoolClass.parent-class"></a>parent_class</code></em>;</span></p></td>
@@ -138,8 +141,11 @@ The <a class="link" href="GstTaskPool.html#GstTaskPoolClass" title="struct GstTa
<p>
Task function, see <a class="link" href="GstTaskPool.html#gst-task-pool-push" title="gst_task_pool_push ()"><code class="function">gst_task_pool_push()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data for the task function</td>
@@ -154,8 +160,11 @@ Task function, see <a class="link" href="GstTaskPool.html#gst-task-pool-push" ti
Create a new default task pool. The default task pool will use a regular
GThreadPool for threads.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="GstTaskPool.html" title="GstTaskPool"><span class="type">GstTaskPool</span></a>. <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> after usage. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -174,8 +183,11 @@ Prepare the taskpool for accepting <a class="link" href="GstTaskPool.html#gst-ta
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
@@ -199,8 +211,11 @@ MT safe.
<p>
Start the execution of a new thread from <em class="parameter"><code>pool</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
@@ -240,8 +255,11 @@ check <em class="parameter"><code>error</code></em> to detect errors. <span clas
Join a task and/or return it to the pool. <em class="parameter"><code>id</code></em> is the id obtained from
<a class="link" href="GstTaskPool.html#gst-task-pool-push" title="gst_task_pool_push ()"><code class="function">gst_task_pool_push()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
@@ -266,8 +284,11 @@ to ensure proper cleanup of internal data structures in test suites.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
<td>a <a class="link" href="GstTaskPool.html" title="GstTaskPool"><span class="type">GstTaskPool</span></a>
diff --git a/docs/gst/html/GstTypeFindFactory.html b/docs/gst/html/GstTypeFindFactory.html
index 772c214..6b88634 100644
--- a/docs/gst/html/GstTypeFindFactory.html
+++ b/docs/gst/html/GstTypeFindFactory.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTypeFindFactory</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstTypeFind.html" title="GstTypeFind">
@@ -73,7 +73,7 @@ the section <GTKDOCLINK HREF="gstreamer-Writing-typefind-functions">
<p>
</p>
<div class="example">
-<a name="idp34431136"></a><p class="title"><b>Example 13. how to write a simple typefinder</b></p>
+<a name="idp16891792"></a><p class="title"><b>Example 13. how to write a simple typefinder</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -197,8 +197,11 @@ factory name.
<p>
Free-function: gst_plugin_feature_list_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the list of all
@@ -218,8 +221,11 @@ array should not be changed. If you need to change stuff in it, you should
copy it using <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strdupv"><code class="function">g_strdupv()</code></a>. This function may return NULL to indicate
a 0-length list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -242,8 +248,11 @@ NULL-terminated array of extensions associated with this factory. <span class="a
<p>
Gets the <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> associated with a typefind factory.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -267,8 +276,11 @@ Check whether the factory has a typefind function. Typefind factories
without typefind functions are a last-effort fallback mechanism to
e.g. assume a certain media type based on the file extension.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -290,8 +302,11 @@ e.g. assume a certain media type based on the file extension.
<p>
Calls the <a class="link" href="gstreamer-GstTypeFind.html#GstTypeFindFunction" title="GstTypeFindFunction ()"><span class="type">GstTypeFindFunction</span></a> associated with this factory.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
diff --git a/docs/gst/html/annotation-glossary.html b/docs/gst/html/annotation-glossary.html
index e48270b..4779246 100644
--- a/docs/gst/html/annotation-glossary.html
+++ b/docs/gst/html/annotation-glossary.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Annotation Glossary</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="prev" href="api-index-deprecated.html" title="Index of deprecated API">
@@ -36,69 +36,56 @@
 | 
<a class="shortcut" href="#glsE">E</a>
 | 
- <a class="shortcut" href="#glsI">I</a>
-  | 
<a class="shortcut" href="#glsT">T</a>
 | 
+ <a class="shortcut" href="#glsI">I</a>
+  | 
<a class="shortcut" href="#glsS">S</a>
 | 
<a class="shortcut" href="#glsT">T</a>
</td></tr>
</table>
<div class="glossary">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="annotation-glossary"></a>Annotation Glossary</h2></div></div></div>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
<a name="glsO"></a><h3 class="title">O</h3>
-<dt>
-<a name="annotation-glossterm-out"></a>out</dt>
-<dd><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-out"></a>out</span></dt>
+<dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
<a name="glsS"></a><h3 class="title">S</h3>
-<dt>
-<a name="annotation-glossterm-scope%20async"></a>scope async</dt>
-<dd><p>The callback is valid until first called.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-scope%20async"></a>scope async</span></dt>
+<dd class="glossdef"><p>The callback is valid until first called.</p></dd>
<a name="glsA"></a><h3 class="title">A</h3>
-<dt>
-<a name="annotation-glossterm-allow-none"></a>allow-none</dt>
-<dd><p>NULL is ok, both for passing and for returning.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-allow-none"></a>allow-none</span></dt>
+<dd class="glossdef"><p>NULL is ok, both for passing and for returning.</p></dd>
<a name="glsI"></a><h3 class="title">I</h3>
-<dt>
-<a name="annotation-glossterm-inout"></a>inout</dt>
-<dd><p>Parameter for input and for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-inout"></a>inout</span></dt>
+<dd class="glossdef"><p>Parameter for input and for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
<a name="glsC"></a><h3 class="title">C</h3>
-<dt>
-<a name="annotation-glossterm-closure"></a>closure</dt>
-<dd><p>This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-closure"></a>closure</span></dt>
+<dd class="glossdef"><p>This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.</p></dd>
<a name="glsT"></a><h3 class="title">T</h3>
-<dt>
-<a name="annotation-glossterm-transfer%20none"></a>transfer none</dt>
-<dd><p>Don't free data after the code is done.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20none"></a>transfer none</span></dt>
+<dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
<a name="glsA"></a><h3 class="title">A</h3>
-<dt>
-<a name="annotation-glossterm-array"></a>array</dt>
-<dd><p>Parameter points to an array of items.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-array"></a>array</span></dt>
+<dd class="glossdef"><p>Parameter points to an array of items.</p></dd>
<a name="glsE"></a><h3 class="title">E</h3>
-<dt>
-<a name="annotation-glossterm-element-type"></a>element-type</dt>
-<dd><p>Generics and defining elements of containers and arrays.</p></dd>
-<a name="glsI"></a><h3 class="title">I</h3>
-<dt>
-<a name="annotation-glossterm-in"></a>in</dt>
-<dd><p>Parameter for input. Default is <acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt>
+<dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd>
<a name="glsT"></a><h3 class="title">T</h3>
-<dt>
-<a name="annotation-glossterm-transfer%20container"></a>transfer container</dt>
-<dd><p>Free data container after the code is done.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20container"></a>transfer container</span></dt>
+<dd class="glossdef"><p>Free data container after the code is done.</p></dd>
+<a name="glsI"></a><h3 class="title">I</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-in"></a>in</span></dt>
+<dd class="glossdef"><p>Parameter for input. Default is <acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>.</p></dd>
<a name="glsS"></a><h3 class="title">S</h3>
-<dt>
-<a name="annotation-glossterm-scope%20call"></a>scope call</dt>
-<dd><p>The callback is valid only during the call to the method.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-scope%20call"></a>scope call</span></dt>
+<dd class="glossdef"><p>The callback is valid only during the call to the method.</p></dd>
<a name="glsT"></a><h3 class="title">T</h3>
-<dt>
-<a name="annotation-glossterm-transfer%20full"></a>transfer full</dt>
-<dd><p>Free data after the code is done.</p></dd>
-<dt>
-<a name="annotation-glossterm-type"></a>type</dt>
-<dd><p>Override the parsed C type with given type</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20full"></a>transfer full</span></dt>
+<dd class="glossdef"><p>Free data after the code is done.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-type"></a>type</span></dt>
+<dd class="glossdef"><p>Override the parsed C type with given type</p></dd>
</div>
<div class="footer">
<hr>
diff --git a/docs/gst/html/api-index-deprecated.html b/docs/gst/html/api-index-deprecated.html
index 30303d4..b509450 100644
--- a/docs/gst/html/api-index-deprecated.html
+++ b/docs/gst/html/api-index-deprecated.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index of deprecated API</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="prev" href="api-index-full.html" title="API Index">
@@ -12,17 +12,24 @@
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td> </td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th>
<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr></table>
+</tr>
+<tr><td colspan="5" class="shortcuts"><a class="shortcut" href="#idxT">T</a></td></tr>
+</table>
<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-deprecated"></a>Index of deprecated API</h2></div></div></div>
-<a name="idx"></a>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-deprecated"></a>Index of deprecated API</h1></div></div></div>
+<a name="idx"></a><a name="idxT"></a><h3 class="title">T</h3>
+<dt>
+<a class="link" href="gstreamer-GstTagList.html#gst-tag-list-free" title="gst_tag_list_free()">gst_tag_list_free</a>, macro in <a class="link" href="gstreamer-GstTagList.html" title="GstTagList">GstTagList</a>
+</dt>
+<dd></dd>
</div>
<div class="footer">
<hr>
diff --git a/docs/gst/html/api-index-full.html b/docs/gst/html/api-index-full.html
index 55c3510..a008e48 100644
--- a/docs/gst/html/api-index-full.html
+++ b/docs/gst/html/api-index-full.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>API Index</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="prev" href="gstreamer-hierarchy.html" title="Object Hierarchy">
@@ -63,8 +63,8 @@
</td></tr>
</table>
<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-full"></a>API Index</h2></div></div></div>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-full"></a>API Index</h1></div></div></div>
<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
<dt>
<a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams">GstAllocationParams</a>, struct in <a class="link" href="GstAllocator.html" title="GstAllocator">GstAllocator</a>
@@ -212,6 +212,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="GstBin.html#GST-BIN-IS-NO-RESYNC:CAPS" title="GST_BIN_IS_NO_RESYNC()">GST_BIN_IS_NO_RESYNC</a>, macro in <a class="link" href="GstBin.html" title="GstBin">GstBin</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="GstBin.html#gst-bin-iterate-all-by-interface" title="gst_bin_iterate_all_by_interface ()">gst_bin_iterate_all_by_interface</a>, function in <a class="link" href="GstBin.html" title="GstBin">GstBin</a>
</dt>
<dd></dd>
@@ -356,6 +360,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-extract-dup" title="gst_buffer_extract_dup ()">gst_buffer_extract_dup</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-fill" title="gst_buffer_fill ()">gst_buffer_fill</a>, function in <a class="link" href="gstreamer-GstBuffer.html" title="GstBuffer">GstBuffer</a>
</dt>
<dd></dd>
@@ -813,6 +821,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures">GstCapsFeatures</a>, struct in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstCaps.html#GstCapsFlags" title="enum GstCapsFlags">GstCapsFlags</a>, enum in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
</dt>
<dd></dd>
@@ -833,6 +845,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstCaps.html#gst-caps-append-structure-full" title="gst_caps_append_structure_full ()">gst_caps_append_structure_full</a>, function in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstCaps.html#gst-caps-can-intersect" title="gst_caps_can_intersect ()">gst_caps_can_intersect</a>, function in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
</dt>
<dd></dd>
@@ -845,6 +861,94 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-add" title="gst_caps_features_add ()">gst_caps_features_add</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-add-id" title="gst_caps_features_add_id ()">gst_caps_features_add_id</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-contains" title="gst_caps_features_contains ()">gst_caps_features_contains</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-contains-id" title="gst_caps_features_contains_id ()">gst_caps_features_contains_id</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-copy" title="gst_caps_features_copy ()">gst_caps_features_copy</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-free" title="gst_caps_features_free ()">gst_caps_features_free</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-from-string" title="gst_caps_features_from_string ()">gst_caps_features_from_string</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-get-nth" title="gst_caps_features_get_nth ()">gst_caps_features_get_nth</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-get-nth-id" title="gst_caps_features_get_nth_id ()">gst_caps_features_get_nth_id</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-get-size" title="gst_caps_features_get_size ()">gst_caps_features_get_size</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-is-any" title="gst_caps_features_is_any ()">gst_caps_features_is_any</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-is-equal" title="gst_caps_features_is_equal ()">gst_caps_features_is_equal</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new" title="gst_caps_features_new ()">gst_caps_features_new</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-any" title="gst_caps_features_new_any ()">gst_caps_features_new_any</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-empty" title="gst_caps_features_new_empty ()">gst_caps_features_new_empty</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-id" title="gst_caps_features_new_id ()">gst_caps_features_new_id</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-id-valist" title="gst_caps_features_new_id_valist ()">gst_caps_features_new_id_valist</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-valist" title="gst_caps_features_new_valist ()">gst_caps_features_new_valist</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-remove" title="gst_caps_features_remove ()">gst_caps_features_remove</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-remove-id" title="gst_caps_features_remove_id ()">gst_caps_features_remove_id</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-set-parent-refcount" title="gst_caps_features_set_parent_refcount ()">gst_caps_features_set_parent_refcount</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-to-string" title="gst_caps_features_to_string ()">gst_caps_features_to_string</a>, function in <a class="link" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">GstCapsFeatures</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstCaps.html#gst-caps-fixate" title="gst_caps_fixate ()">gst_caps_fixate</a>, function in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
</dt>
<dd></dd>
@@ -869,6 +973,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstCaps.html#gst-caps-get-features" title="gst_caps_get_features ()">gst_caps_get_features</a>, function in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstCaps.html#gst-caps-get-size" title="gst_caps_get_size ()">gst_caps_get_size</a>, function in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
</dt>
<dd></dd>
@@ -925,6 +1033,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstCaps.html#gst-caps-is-subset-structure-full" title="gst_caps_is_subset_structure_full ()">gst_caps_is_subset_structure_full</a>, function in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstCaps.html#gst-caps-is-writable" title="gst_caps_is_writable()">gst_caps_is_writable</a>, macro in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
</dt>
<dd></dd>
@@ -941,6 +1053,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstCaps.html#gst-caps-merge-structure-full" title="gst_caps_merge_structure_full ()">gst_caps_merge_structure_full</a>, function in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstCaps.html#gst-caps-new-any" title="gst_caps_new_any ()">gst_caps_new_any</a>, function in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
</dt>
<dd></dd>
@@ -993,6 +1109,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstCaps.html#gst-caps-set-features" title="gst_caps_set_features ()">gst_caps_set_features</a>, function in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstCaps.html#gst-caps-set-simple" title="gst_caps_set_simple ()">gst_caps_set_simple</a>, function in <a class="link" href="gstreamer-GstCaps.html" title="GstCaps">GstCaps</a>
</dt>
<dd></dd>
@@ -1361,6 +1481,46 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext">GstContext</a>, struct in <a class="link" href="gstreamer-GstContext.html" title="GstContext">GstContext</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstContext.html#gst-context-copy" title="gst_context_copy ()">gst_context_copy</a>, function in <a class="link" href="gstreamer-GstContext.html" title="GstContext">GstContext</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstContext.html#gst-context-get-structure" title="gst_context_get_structure ()">gst_context_get_structure</a>, function in <a class="link" href="gstreamer-GstContext.html" title="GstContext">GstContext</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstContext.html#gst-context-is-writable" title="gst_context_is_writable()">gst_context_is_writable</a>, macro in <a class="link" href="gstreamer-GstContext.html" title="GstContext">GstContext</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstContext.html#gst-context-make-writable" title="gst_context_make_writable()">gst_context_make_writable</a>, macro in <a class="link" href="gstreamer-GstContext.html" title="GstContext">GstContext</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstContext.html#gst-context-new" title="gst_context_new ()">gst_context_new</a>, function in <a class="link" href="gstreamer-GstContext.html" title="GstContext">GstContext</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstContext.html#gst-context-ref" title="gst_context_ref ()">gst_context_ref</a>, function in <a class="link" href="gstreamer-GstContext.html" title="GstContext">GstContext</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstContext.html#gst-context-replace" title="gst_context_replace ()">gst_context_replace</a>, function in <a class="link" href="gstreamer-GstContext.html" title="GstContext">GstContext</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstContext.html#gst-context-unref" title="gst_context_unref ()">gst_context_unref</a>, function in <a class="link" href="gstreamer-GstContext.html" title="GstContext">GstContext</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstContext.html#gst-context-writable-structure" title="gst_context_writable_structure ()">gst_context_writable_structure</a>, function in <a class="link" href="gstreamer-GstContext.html" title="GstContext">GstContext</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="GstControlBinding.html#GstControlBinding-struct" title="struct GstControlBinding">GstControlBinding</a>, struct in <a class="link" href="GstControlBinding.html" title="GstControlBinding">GstControlBinding</a>
</dt>
<dd></dd>
@@ -1730,6 +1890,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstInfo.html#gst-debug-set-threshold-from-string" title="gst_debug_set_threshold_from_string ()">gst_debug_set_threshold_from_string</a>, function in <a class="link" href="gstreamer-GstInfo.html" title="GstInfo">GstInfo</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstInfo.html#gst-debug-unset-threshold-for-name" title="gst_debug_unset_threshold_for_name ()">gst_debug_unset_threshold_for_name</a>, function in <a class="link" href="gstreamer-GstInfo.html" title="GstInfo">GstInfo</a>
</dt>
<dd></dd>
@@ -2043,6 +2207,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="GstElement.html#gst-element-get-context" title="gst_element_get_context ()">gst_element_get_context</a>, function in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="GstElement.html#gst-element-get-factory" title="gst_element_get_factory ()">gst_element_get_factory</a>, function in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
</dt>
<dd></dd>
@@ -2235,6 +2403,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="GstElement.html#gst-element-set-context" title="gst_element_set_context ()">gst_element_set_context</a>, function in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="GstElement.html#gst-element-set-locked-state" title="gst_element_set_locked_state ()">gst_element_set_locked_state</a>, function in <a class="link" href="GstElement.html" title="GstElement">GstElement</a>
</dt>
<dd></dd>
@@ -2371,6 +2543,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstEvent.html#gst-event-new-context" title="gst_event_new_context ()">gst_event_new_context</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstEvent.html#gst-event-new-custom" title="gst_event_new_custom ()">gst_event_new_custom</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
</dt>
<dd></dd>
@@ -2451,6 +2627,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstEvent.html#gst-event-parse-context" title="gst_event_parse_context ()">gst_event_parse_context</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstEvent.html#gst-event-parse-flush-stop" title="gst_event_parse_flush_stop ()">gst_event_parse_flush_stop</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
</dt>
<dd></dd>
@@ -2487,6 +2667,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-flags" title="gst_event_parse_stream_flags ()">gst_event_parse_stream_flags</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-start" title="gst_event_parse_stream_start ()">gst_event_parse_stream_start</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
</dt>
<dd></dd>
@@ -2519,6 +2703,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstEvent.html#gst-event-set-stream-flags" title="gst_event_set_stream_flags ()">gst_event_set_stream_flags</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstEvent.html#gst-event-steal" title="gst_event_steal ()">gst_event_steal</a>, function in <a class="link" href="gstreamer-GstEvent.html" title="GstEvent">GstEvent</a>
</dt>
<dd></dd>
@@ -2980,10 +3168,18 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-NOT-MAPPABLE:CAPS" title="GST_MEMORY_IS_NOT_MAPPABLE()">GST_MEMORY_IS_NOT_MAPPABLE</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-NO-SHARE:CAPS" title="GST_MEMORY_IS_NO_SHARE()">GST_MEMORY_IS_NO_SHARE</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-PHYSICALLY-CONTIGUOUS:CAPS" title="GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS()">GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-READONLY:CAPS" title="GST_MEMORY_IS_READONLY()">GST_MEMORY_IS_READONLY</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
</dt>
<dd></dd>
@@ -2992,6 +3188,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstMemory.html#gst-memory-is-type" title="gst_memory_is_type ()">gst_memory_is_type</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstMemory.html#gst-memory-is-writable" title="gst_memory_is_writable()">gst_memory_is_writable</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
</dt>
<dd></dd>
@@ -3012,6 +3212,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstMemory.html#gst-memory-make-writable" title="gst_memory_make_writable()">gst_memory_make_writable</a>, macro in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstMemory.html#gst-memory-map" title="gst_memory_map ()">gst_memory_map</a>, function in <a class="link" href="gstreamer-GstMemory.html" title="GstMemory">GstMemory</a>
</dt>
<dd></dd>
@@ -3052,10 +3256,18 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstMessage.html#gst-message-add-context-type" title="gst_message_add_context_type ()">gst_message_add_context_type</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstMessage.html#gst-message-copy" title="gst_message_copy ()">gst_message_copy</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstMessage.html#gst-message-get-n-context-types" title="gst_message_get_n_context_types ()">gst_message_get_n_context_types</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstMessage.html#gst-message-get-seqnum" title="gst_message_get_seqnum ()">gst_message_get_seqnum</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
</dt>
<dd></dd>
@@ -3124,6 +3336,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstMessage.html#gst-message-new-have-context" title="gst_message_new_have_context ()">gst_message_new_have_context</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstMessage.html#gst-message-new-info" title="gst_message_new_info ()">gst_message_new_info</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
</dt>
<dd></dd>
@@ -3132,6 +3348,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstMessage.html#gst-message-new-need-context" title="gst_message_new_need_context ()">gst_message_new_need_context</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstMessage.html#gst-message-new-new-clock" title="gst_message_new_new_clock ()">gst_message_new_new_clock</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
</dt>
<dd></dd>
@@ -3224,6 +3444,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstMessage.html#gst-message-parse-have-context" title="gst_message_parse_have_context ()">gst_message_parse_have_context</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstMessage.html#gst-message-parse-info" title="gst_message_parse_info ()">gst_message_parse_info</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
</dt>
<dd></dd>
@@ -3232,6 +3456,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstMessage.html#gst-message-parse-nth-context-type" title="gst_message_parse_nth_context_type ()">gst_message_parse_nth_context_type</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstMessage.html#gst-message-parse-progress" title="gst_message_parse_progress ()">gst_message_parse_progress</a>, function in <a class="link" href="gstreamer-GstMessage.html" title="GstMessage">GstMessage</a>
</dt>
<dd></dd>
@@ -3975,6 +4203,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="GstPad.html#gst-pad-get-stream-id" title="gst_pad_get_stream_id ()">gst_pad_get_stream_id</a>, function in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="GstPad.html#GST-PAD-GET-STREAM-LOCK:CAPS" title="GST_PAD_GET_STREAM_LOCK()">GST_PAD_GET_STREAM_LOCK</a>, macro in <a class="link" href="GstPad.html" title="GstPad">GstPad</a>
</dt>
<dd></dd>
@@ -4551,6 +4783,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="GstPluginFeature.html#gst-plugin-feature-get-plugin-name" title="gst_plugin_feature_get_plugin_name ()">gst_plugin_feature_get_plugin_name</a>, function in <a class="link" href="GstPluginFeature.html" title="GstPluginFeature">GstPluginFeature</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="GstPluginFeature.html#gst-plugin-feature-get-rank" title="gst_plugin_feature_get_rank ()">gst_plugin_feature_get_rank</a>, function in <a class="link" href="GstPluginFeature.html" title="GstPluginFeature">GstPluginFeature</a>
</dt>
<dd></dd>
@@ -4856,6 +5092,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstQuery.html#gst-query-add-context-type" title="gst_query_add_context_type ()">gst_query_add_context_type</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstQuery.html#gst-query-add-scheduling-mode" title="gst_query_add_scheduling_mode ()">gst_query_add_scheduling_mode</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
</dt>
<dd></dd>
@@ -4884,6 +5124,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstQuery.html#gst-query-get-n-context-types" title="gst_query_get_n_context_types ()">gst_query_get_n_context_types</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstQuery.html#gst-query-get-n-scheduling-modes" title="gst_query_get_n_scheduling_modes ()">gst_query_get_n_scheduling_modes</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
</dt>
<dd></dd>
@@ -4940,6 +5184,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstQuery.html#gst-query-new-context" title="gst_query_new_context ()">gst_query_new_context</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstQuery.html#gst-query-new-convert" title="gst_query_new_convert ()">gst_query_new_convert</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
</dt>
<dd></dd>
@@ -5016,6 +5264,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstQuery.html#gst-query-parse-context" title="gst_query_parse_context ()">gst_query_parse_context</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstQuery.html#gst-query-parse-convert" title="gst_query_parse_convert ()">gst_query_parse_convert</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
</dt>
<dd></dd>
@@ -5044,6 +5296,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-context-type" title="gst_query_parse_nth_context_type ()">gst_query_parse_nth_context_type</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-format" title="gst_query_parse_nth_format ()">gst_query_parse_nth_format</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
</dt>
<dd></dd>
@@ -5084,6 +5340,14 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstQuery.html#gst-query-remove-nth-allocation-param" title="gst_query_remove_nth_allocation_param ()">gst_query_remove_nth_allocation_param</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-GstQuery.html#gst-query-remove-nth-allocation-pool" title="gst_query_remove_nth_allocation_pool ()">gst_query_remove_nth_allocation_pool</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstQuery.html#gst-query-replace" title="gst_query_replace ()">gst_query_replace</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
</dt>
<dd></dd>
@@ -5108,6 +5372,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstQuery.html#gst-query-set-context" title="gst_query_set_context ()">gst_query_set_context</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstQuery.html#gst-query-set-convert" title="gst_query_set_convert ()">gst_query_set_convert</a>, function in <a class="link" href="gstreamer-GstQuery.html" title="GstQuery">GstQuery</a>
</dt>
<dd></dd>
@@ -5810,6 +6078,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstStructure.html#gst-structure-new-from-string" title="gst_structure_new_from_string ()">gst_structure_new_from_string</a>, function in <a class="link" href="gstreamer-GstStructure.html" title="GstStructure">GstStructure</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstStructure.html#gst-structure-new-id" title="gst_structure_new_id ()">gst_structure_new_id</a>, function in <a class="link" href="gstreamer-GstStructure.html" title="GstStructure">GstStructure</a>
</dt>
<dd></dd>
@@ -7229,6 +7501,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstValue.html#gst-value-get-caps-features" title="gst_value_get_caps_features ()">gst_value_get_caps_features</a>, function in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstValue.html#gst-value-get-double-range-max" title="gst_value_get_double_range_max ()">gst_value_get_double_range_max</a>, function in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
</dt>
<dd></dd>
@@ -7305,6 +7581,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstValue.html#GST-VALUE-HOLDS-CAPS-FEATURES:CAPS" title="GST_VALUE_HOLDS_CAPS_FEATURES()">GST_VALUE_HOLDS_CAPS_FEATURES</a>, macro in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstValue.html#GST-VALUE-HOLDS-DATE-TIME:CAPS" title="GST_VALUE_HOLDS_DATE_TIME()">GST_VALUE_HOLDS_DATE_TIME</a>, macro in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
</dt>
<dd></dd>
@@ -7405,6 +7685,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-GstValue.html#gst-value-set-caps-features" title="gst_value_set_caps_features ()">gst_value_set_caps_features</a>, function in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-GstValue.html#gst-value-set-double-range" title="gst_value_set_double_range ()">gst_value_set_double_range</a>, function in <a class="link" href="gstreamer-GstValue.html" title="GstValue">GstValue</a>
</dt>
<dd></dd>
diff --git a/docs/gst/html/gst-building.html b/docs/gst/html/gst-building.html
index ac7d148..c435b3b 100644
--- a/docs/gst/html/gst-building.html
+++ b/docs/gst/html/gst-building.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Building GStreamer and GStreamer Applications</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="gstreamer.html" title="GStreamer Overview">
<link rel="prev" href="gstreamer.html" title="GStreamer Overview">
@@ -31,7 +31,7 @@ How to build the GStreamer framework and applications using it.
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp7061968"></a><h2>Building GStreamer on UNIX</h2>
+<a name="idp9601680"></a><h2>Building GStreamer on UNIX</h2>
<p>
On UNIX, GStreamer uses the standard GNU build system,
using <span class="application">autoconf</span> for package
@@ -78,7 +78,7 @@ How to build the GStreamer framework and applications using it.
<p>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
<span class="symbol">GST_REMOVE_DEPRECATED</span> - Omit deprecated functions
from the library.
@@ -92,7 +92,7 @@ How to build the GStreamer framework and applications using it.
</p>
</div>
<div class="refsect1">
-<a name="idp7273552"></a><h2>Building GStreamer Applications</h2>
+<a name="idp6992976"></a><h2>Building GStreamer Applications</h2>
<p>
Applications and libraries can use <span class="command"><strong>pkg-config</strong></span> to get all the
needed compiler and linker flags to build against GStreamer. Please note that
diff --git a/docs/gst/html/gst-running.html b/docs/gst/html/gst-running.html
index a83817f..ab9f7cd 100644
--- a/docs/gst/html/gst-running.html
+++ b/docs/gst/html/gst-running.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Running GStreamer Applications</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="gstreamer.html" title="GStreamer Overview">
<link rel="prev" href="gst-building.html" title="Building GStreamer and GStreamer Applications">
@@ -31,25 +31,29 @@ How to run and debug your GStreamer application
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp7440000"></a><h2>Running and debugging GStreamer Applications</h2>
+<a name="idp7463296"></a><h2>Running and debugging GStreamer Applications</h2>
<div class="refsect2">
-<a name="idp6536032"></a><h3>Environment variables</h3>
+<a name="idp6761232"></a><h3>Environment variables</h3>
<p>
GStreamer inspects a few of environment variables in addition to standard
variables like <code class="envar">LANG</code>, <code class="envar">PATH</code> or <code class="envar">HOME</code>.
</p>
-<p><a name="GST_PLUGIN_SYSTEM_PATH"></a><b><code class="envar">GST_PLUGIN_SYSTEM_PATH</code>. </b>
+<p><a name="GST_PLUGIN_SYSTEM_PATH"></a><b><code class="envar">GST_PLUGIN_SYSTEM_PATH</code>,
+ <code class="envar">GST_PLUGIN_SYSTEM_PATH_1_0</code>. </b>
This environment variable can be set to a colon-separated list of paths.
If this variable is not set, GStreamer will fill in this list for you
with
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
-plug-ins in the user's home directory. These are stored in a directory called
+plug-ins in the user's home directory, or rather the user's "data home"
+directory according to the xdg base dir specification. Usually this will be
+a directory called
<code class="filename">plugins</code> inside the
-<code class="filename">.gstreamer-1.0</code> directory in the user's
-home directory.
+<code class="filename">.local/share/.gstreamer-1.0</code> directory in
+the user's home directory by default, though this search path may change if
+the XDG_DATA_HOME environment variable is set.
</p></li>
<li class="listitem"><p>
plug-ins installed system-wide. On this system, they are stored in
@@ -64,14 +68,24 @@ be loaded after the plug-ins in the GST_PLUGIN_PATH variable below.
The paths are scanned in the given order. This allows a user to override
system-installed plug-ins with his own versions.
+The GST_PLUGIN_SYSTEM_PATH_1_0 variant is useful if both the old GStreamer 0.10
+version and the new GStreamer 1.0 version need to be pointed to new plugin
+paths. The latter will use the _1_0 variant over the non-versioned one if
+it is set.
+
Setting this variable to an empty string will cause GStreamer not to scan any
system paths at all for plug-ins. This can be useful if you're running
uninstalled (for development purposes) or while running testsuites.
</p>
-<p><a name="GST_PLUGIN_PATH"></a><b><code class="envar">GST_PLUGIN_PATH</code>. </b>
+<p><a name="GST_PLUGIN_PATH"></a><b><code class="envar">GST_PLUGIN_PATH</code>, <code class="envar">GST_PLUGIN_PATH_1_0</code>. </b>
This environment variable can be set to a colon-separated list of paths.
GStreamer will scan these paths for GStreamer plug-ins. These plug-ins will
be loaded in addition to, and before, the plug-ins in the system paths.
+
+The GST_PLUGIN_PATH_1_0 variant is useful if both the old GStreamer 0.10
+version and the new GStreamer 1.0 version need to be pointed to new plugin
+paths. The latter will use the _1_0 variant over the non-versioned one if
+it is set.
</p>
<p><a name="GST_DEBUG"></a><b><code class="envar">GST_DEBUG</code>. </b>
If GStreamer has been configured with <code class="option">--enable-gst-debug=yes</code>,
@@ -82,8 +96,11 @@ The variable takes a comma-separated list of "category_name:level" pairs
to set specific levels for the individual categories.
The level value ranges from 0 (nothing) to 9 (MEMDUMP).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">1 - <code class="option">ERROR</code></span></p></td>
@@ -169,6 +186,9 @@ hides a lot of noise such as refs/unrefs. For bug reporting purposes, a
<code class="option">*:6</code> log is also what will be requested usually. It's often
also worth running with <code class="option">*:3</code> to see if there are any
non-fatal errors or warnings that might be related to the problem at hand.
+
+Since GStreamer 1.2 it is also possible to specify debug levels by name,
+e.g. GST_DEBUG=*:WARNING,*audio*:LOG
</p>
<p><a name="GST_DEBUG_NO_COLOR"></a><b><code class="envar">GST_DEBUG_NO_COLOR</code>. </b>
Set this environment variable to any value ("1" typically) to switch off
@@ -191,6 +211,22 @@ output into the log in case of large image tags and the like.
Set this environment variable to a path to turn on all
#GST_DEBUG_BIN_TO_DOT_FILE or #GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS calls
and have the dot files in that location.
+
+This will only work if the application in question makes these calls in
+strategic places (like when the pipeline state changes or an error occurs).
+gst-launch-1.0 is one such application.
+
+These .dot files can then be turned into images using the 'dot' utility
+from the graphviz set of tools, like this:
+ <span class="command"><strong>dot foo.dot -Tsvg -o foo.svg</strong></span> or
+ <span class="command"><strong>dot foo.dot -Tpng -o foo.png</strong></span> or
+ <span class="command"><strong>dot foo.dot -Tjpg -o foo.jpg</strong></span>.
+ </p>
+<p><a name="GST_REGISTRY"></a><b><code class="envar">GST_REGISTRY</code>, <code class="envar">GST_REGISTRY_1_0</code>. </b>
+Set this environment variable to make GStreamer use a different file for the
+plugin cache / registry than the default one. This is useful when operating
+in a separate environment which should not affect the default cache in the
+user's home directory.
</p>
<p><a name="GST_REGISTRY_FORK"></a><b><code class="envar">GST_REGISTRY_FORK</code>. </b>
Set this environment variable to "no" to prevent GStreamer from forking on
@@ -210,8 +246,11 @@ plugins frequently, it will save time when doing gst_init().
The variable takes a comma-separated list of tracing options to enable.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">live</span></p></td>
@@ -236,6 +275,11 @@ The variable takes a comma-separated list of tracing options to enable.
Use <code class="option">all</code> to enable all tracing flags.
</p>
+<p><a name="GST_DEBUG_FILE"></a><b><code class="envar">GST_DEBUG_FILE</code>. </b>
+ Set this variable to a file path to redirect all GStreamer debug
+ messages to this file. If left unset, debug messages with be output
+ unto the standard error.
+ </p>
<p><a name="ORC_CODE"></a><b><code class="envar">ORC_CODE</code>. </b>
Useful Orc environment variable. Set ORC_CODE=debug to enable debuggers
such as gdb to create useful backtraces from Orc-generated code. Set
diff --git a/docs/gst/html/gstreamer.devhelp2 b/docs/gst/html/gstreamer-1.0.devhelp2
index 6faf778..7112cae 100644
--- a/docs/gst/html/gstreamer.devhelp2
+++ b/docs/gst/html/gstreamer-1.0.devhelp2
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
-<book xmlns="http://www.devhelp.net/book" title="GStreamer 1.0 Core Reference Manual" link="index.html" author="" name="gstreamer" version="2" language="c">
+<book xmlns="http://www.devhelp.net/book" title="GStreamer 1.0 Core Reference Manual" link="index.html" author="" name="gstreamer-1.0" version="2" language="c">
<chapters>
<sub name="GStreamer Overview" link="gstreamer.html">
<sub name="Building GStreamer and GStreamer Applications" link="gst-building.html"/>
@@ -16,10 +16,12 @@
<sub name="GstBufferPool" link="gstreamer-GstBufferPool.html"/>
<sub name="GstBus" link="GstBus.html"/>
<sub name="GstCaps" link="gstreamer-GstCaps.html"/>
+ <sub name="GstCapsFeatures" link="gstreamer-GstCapsFeatures.html"/>
<sub name="GstSample" link="gstreamer-GstSample.html"/>
<sub name="GstChildProxy" link="GstChildProxy.html"/>
<sub name="GstClock" link="GstClock.html"/>
<sub name="gstconfig" link="gstreamer-gstconfig.html"/>
+ <sub name="GstContext" link="gstreamer-GstContext.html"/>
<sub name="GstControlBinding" link="GstControlBinding.html"/>
<sub name="GstControlSource" link="GstControlSource.html"/>
<sub name="GstDateTime" link="gstreamer-GstDateTime.html"/>
@@ -71,7 +73,7 @@
<sub name="Annotation Glossary" link="annotation-glossary.html"/>
</chapters>
<functions>
- <keyword type="" name="Environment variables" link="gst-running.html#idp6536032"/>
+ <keyword type="" name="Environment variables" link="gst-running.html#idp6761232"/>
<keyword type="function" name="gst_init ()" link="gstreamer-Gst.html#gst-init"/>
<keyword type="function" name="gst_init_check ()" link="gstreamer-Gst.html#gst-init-check"/>
<keyword type="function" name="gst_init_get_option_group ()" link="gstreamer-Gst.html#gst-init-get-option-group"/>
@@ -105,7 +107,7 @@
<keyword type="function" name="gst_atomic_queue_peek ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-peek"/>
<keyword type="function" name="gst_atomic_queue_pop ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-pop"/>
<keyword type="function" name="gst_atomic_queue_length ()" link="gstreamer-GstAtomicQueue.html#gst-atomic-queue-length"/>
- <keyword type="" name="Notes" link="GstBin.html#idp9877728"/>
+ <keyword type="" name="Notes" link="GstBin.html#idp9153312"/>
<keyword type="struct" name="struct GstBin" link="GstBin.html#GstBin-struct"/>
<keyword type="struct" name="struct GstBinClass" link="GstBin.html#GstBinClass"/>
<keyword type="function" name="gst_bin_new ()" link="GstBin.html#gst-bin-new"/>
@@ -125,6 +127,7 @@
<keyword type="function" name="gst_bin_remove_many ()" link="GstBin.html#gst-bin-remove-many"/>
<keyword type="function" name="gst_bin_find_unlinked_pad ()" link="GstBin.html#gst-bin-find-unlinked-pad"/>
<keyword type="enum" name="enum GstBinFlags" link="GstBin.html#GstBinFlags"/>
+ <keyword type="macro" name="GST_BIN_IS_NO_RESYNC()" link="GstBin.html#GST-BIN-IS-NO-RESYNC:CAPS" since="1.1.1"/>
<keyword type="macro" name="GST_BIN_CHILDREN()" link="GstBin.html#GST-BIN-CHILDREN:CAPS"/>
<keyword type="macro" name="GST_BIN_CHILDREN_COOKIE()" link="GstBin.html#GST-BIN-CHILDREN-COOKIE:CAPS"/>
<keyword type="macro" name="GST_BIN_NUMCHILDREN()" link="GstBin.html#GST-BIN-NUMCHILDREN:CAPS"/>
@@ -183,6 +186,7 @@
<keyword type="function" name="gst_buffer_unmap ()" link="gstreamer-GstBuffer.html#gst-buffer-unmap"/>
<keyword type="function" name="gst_buffer_memcmp ()" link="gstreamer-GstBuffer.html#gst-buffer-memcmp"/>
<keyword type="function" name="gst_buffer_extract ()" link="gstreamer-GstBuffer.html#gst-buffer-extract"/>
+ <keyword type="function" name="gst_buffer_extract_dup ()" link="gstreamer-GstBuffer.html#gst-buffer-extract-dup" since="3.2"/>
<keyword type="function" name="gst_buffer_fill ()" link="gstreamer-GstBuffer.html#gst-buffer-fill"/>
<keyword type="function" name="gst_buffer_memset ()" link="gstreamer-GstBuffer.html#gst-buffer-memset"/>
<keyword type="enum" name="enum GstBufferCopyFlags" link="gstreamer-GstBuffer.html#GstBufferCopyFlags"/>
@@ -298,11 +302,15 @@
<keyword type="function" name="gst_caps_append ()" link="gstreamer-GstCaps.html#gst-caps-append"/>
<keyword type="function" name="gst_caps_merge ()" link="gstreamer-GstCaps.html#gst-caps-merge"/>
<keyword type="function" name="gst_caps_append_structure ()" link="gstreamer-GstCaps.html#gst-caps-append-structure"/>
+ <keyword type="function" name="gst_caps_append_structure_full ()" link="gstreamer-GstCaps.html#gst-caps-append-structure-full"/>
<keyword type="function" name="gst_caps_remove_structure ()" link="gstreamer-GstCaps.html#gst-caps-remove-structure"/>
<keyword type="function" name="gst_caps_steal_structure ()" link="gstreamer-GstCaps.html#gst-caps-steal-structure"/>
<keyword type="function" name="gst_caps_merge_structure ()" link="gstreamer-GstCaps.html#gst-caps-merge-structure"/>
+ <keyword type="function" name="gst_caps_merge_structure_full ()" link="gstreamer-GstCaps.html#gst-caps-merge-structure-full"/>
<keyword type="function" name="gst_caps_get_size ()" link="gstreamer-GstCaps.html#gst-caps-get-size"/>
<keyword type="function" name="gst_caps_get_structure ()" link="gstreamer-GstCaps.html#gst-caps-get-structure"/>
+ <keyword type="function" name="gst_caps_get_features ()" link="gstreamer-GstCaps.html#gst-caps-get-features"/>
+ <keyword type="function" name="gst_caps_set_features ()" link="gstreamer-GstCaps.html#gst-caps-set-features"/>
<keyword type="function" name="gst_caps_set_value ()" link="gstreamer-GstCaps.html#gst-caps-set-value"/>
<keyword type="function" name="gst_caps_set_simple ()" link="gstreamer-GstCaps.html#gst-caps-set-simple"/>
<keyword type="function" name="gst_caps_set_simple_valist ()" link="gstreamer-GstCaps.html#gst-caps-set-simple-valist"/>
@@ -315,6 +323,7 @@
<keyword type="function" name="gst_caps_is_always_compatible ()" link="gstreamer-GstCaps.html#gst-caps-is-always-compatible"/>
<keyword type="function" name="gst_caps_is_subset ()" link="gstreamer-GstCaps.html#gst-caps-is-subset"/>
<keyword type="function" name="gst_caps_is_subset_structure ()" link="gstreamer-GstCaps.html#gst-caps-is-subset-structure"/>
+ <keyword type="function" name="gst_caps_is_subset_structure_full ()" link="gstreamer-GstCaps.html#gst-caps-is-subset-structure-full"/>
<keyword type="function" name="gst_caps_can_intersect ()" link="gstreamer-GstCaps.html#gst-caps-can-intersect"/>
<keyword type="function" name="gst_caps_intersect ()" link="gstreamer-GstCaps.html#gst-caps-intersect"/>
<keyword type="function" name="gst_caps_intersect_full ()" link="gstreamer-GstCaps.html#gst-caps-intersect-full"/>
@@ -330,6 +339,29 @@
<keyword type="function" name="gst_caps_fixate ()" link="gstreamer-GstCaps.html#gst-caps-fixate"/>
<keyword type="function" name="gst_caps_ref ()" link="gstreamer-GstCaps.html#gst-caps-ref"/>
<keyword type="function" name="gst_caps_unref ()" link="gstreamer-GstCaps.html#gst-caps-unref"/>
+ <keyword type="struct" name="GstCapsFeatures" link="gstreamer-GstCapsFeatures.html#GstCapsFeatures"/>
+ <keyword type="function" name="gst_caps_features_new ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-new" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_new_empty ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-new-empty" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_new_any ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-new-any" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_new_id ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-new-id" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_new_id_valist ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-new-id-valist" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_new_valist ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-new-valist" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_copy ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-copy" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_free ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-free" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_from_string ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-from-string" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_to_string ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-to-string" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_set_parent_refcount ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-set-parent-refcount" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_is_equal ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-is-equal" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_is_any ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-is-any" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_contains ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-contains" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_contains_id ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-contains-id" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_get_size ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-get-size" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_get_nth ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-get-nth" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_get_nth_id ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-get-nth-id" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_add ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-add" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_add_id ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-add-id" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_remove ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-remove" since="1.2"/>
+ <keyword type="function" name="gst_caps_features_remove_id ()" link="gstreamer-GstCapsFeatures.html#gst-caps-features-remove-id" since="1.2"/>
<keyword type="struct" name="GstSample" link="gstreamer-GstSample.html#GstSample"/>
<keyword type="function" name="gst_sample_get_buffer ()" link="gstreamer-GstSample.html#gst-sample-get-buffer"/>
<keyword type="function" name="gst_sample_get_caps ()" link="gstreamer-GstSample.html#gst-sample-get-caps"/>
@@ -419,6 +451,16 @@
<keyword type="macro" name="GST_DISABLE_ALLOC_TRACE" link="gstreamer-gstconfig.html#GST-DISABLE-ALLOC-TRACE:CAPS"/>
<keyword type="macro" name="GST_DISABLE_REGISTRY" link="gstreamer-gstconfig.html#GST-DISABLE-REGISTRY:CAPS"/>
<keyword type="macro" name="GST_DISABLE_PLUGIN" link="gstreamer-gstconfig.html#GST-DISABLE-PLUGIN:CAPS"/>
+ <keyword type="struct" name="GstContext" link="gstreamer-GstContext.html#GstContext"/>
+ <keyword type="function" name="gst_context_new ()" link="gstreamer-GstContext.html#gst-context-new" since="1.2"/>
+ <keyword type="function" name="gst_context_ref ()" link="gstreamer-GstContext.html#gst-context-ref"/>
+ <keyword type="function" name="gst_context_unref ()" link="gstreamer-GstContext.html#gst-context-unref"/>
+ <keyword type="function" name="gst_context_copy ()" link="gstreamer-GstContext.html#gst-context-copy"/>
+ <keyword type="function" name="gst_context_get_structure ()" link="gstreamer-GstContext.html#gst-context-get-structure" since="1.2"/>
+ <keyword type="function" name="gst_context_writable_structure ()" link="gstreamer-GstContext.html#gst-context-writable-structure" since="1.2"/>
+ <keyword type="macro" name="gst_context_make_writable()" link="gstreamer-GstContext.html#gst-context-make-writable"/>
+ <keyword type="macro" name="gst_context_is_writable()" link="gstreamer-GstContext.html#gst-context-is-writable"/>
+ <keyword type="function" name="gst_context_replace ()" link="gstreamer-GstContext.html#gst-context-replace"/>
<keyword type="struct" name="struct GstControlBinding" link="GstControlBinding.html#GstControlBinding-struct"/>
<keyword type="struct" name="struct GstControlBindingClass" link="GstControlBinding.html#GstControlBindingClass"/>
<keyword type="function" name="gst_control_binding_sync_values ()" link="GstControlBinding.html#gst-control-binding-sync-values"/>
@@ -536,6 +578,8 @@
<keyword type="function" name="gst_element_get_start_time ()" link="GstElement.html#gst-element-get-start-time"/>
<keyword type="function" name="gst_element_set_bus ()" link="GstElement.html#gst-element-set-bus"/>
<keyword type="function" name="gst_element_get_bus ()" link="GstElement.html#gst-element-get-bus"/>
+ <keyword type="function" name="gst_element_set_context ()" link="GstElement.html#gst-element-set-context"/>
+ <keyword type="function" name="gst_element_get_context ()" link="GstElement.html#gst-element-get-context"/>
<keyword type="function" name="gst_element_get_factory ()" link="GstElement.html#gst-element-get-factory"/>
<keyword type="macro" name="gst_element_set_name()" link="GstElement.html#gst-element-set-name"/>
<keyword type="macro" name="gst_element_get_name()" link="GstElement.html#gst-element-get-name"/>
@@ -658,6 +702,8 @@
<keyword type="function" name="gst_event_parse_gap ()" link="gstreamer-GstEvent.html#gst-event-parse-gap"/>
<keyword type="function" name="gst_event_new_stream_start ()" link="gstreamer-GstEvent.html#gst-event-new-stream-start"/>
<keyword type="function" name="gst_event_parse_stream_start ()" link="gstreamer-GstEvent.html#gst-event-parse-stream-start"/>
+ <keyword type="function" name="gst_event_set_stream_flags ()" link="gstreamer-GstEvent.html#gst-event-set-stream-flags" since="1.2"/>
+ <keyword type="function" name="gst_event_parse_stream_flags ()" link="gstreamer-GstEvent.html#gst-event-parse-stream-flags" since="1.2"/>
<keyword type="function" name="gst_event_new_segment ()" link="gstreamer-GstEvent.html#gst-event-new-segment"/>
<keyword type="function" name="gst_event_parse_segment ()" link="gstreamer-GstEvent.html#gst-event-parse-segment"/>
<keyword type="function" name="gst_event_copy_segment ()" link="gstreamer-GstEvent.html#gst-event-copy-segment"/>
@@ -688,6 +734,8 @@
<keyword type="function" name="gst_event_parse_toc_select ()" link="gstreamer-GstEvent.html#gst-event-parse-toc-select"/>
<keyword type="function" name="gst_event_new_segment_done ()" link="gstreamer-GstEvent.html#gst-event-new-segment-done"/>
<keyword type="function" name="gst_event_parse_segment_done ()" link="gstreamer-GstEvent.html#gst-event-parse-segment-done"/>
+ <keyword type="function" name="gst_event_new_context ()" link="gstreamer-GstEvent.html#gst-event-new-context" since="1.2"/>
+ <keyword type="function" name="gst_event_parse_context ()" link="gstreamer-GstEvent.html#gst-event-parse-context" since="1.2"/>
<keyword type="enum" name="enum GstFormat" link="gstreamer-GstFormat.html#GstFormat"/>
<keyword type="macro" name="GST_FORMAT_PERCENT_MAX" link="gstreamer-GstFormat.html#GST-FORMAT-PERCENT-MAX:CAPS"/>
<keyword type="macro" name="GST_FORMAT_PERCENT_SCALE" link="gstreamer-GstFormat.html#GST-FORMAT-PERCENT-SCALE:CAPS"/>
@@ -749,6 +797,8 @@
<keyword type="macro" name="GST_MEMORY_IS_NO_SHARE()" link="gstreamer-GstMemory.html#GST-MEMORY-IS-NO-SHARE:CAPS"/>
<keyword type="macro" name="GST_MEMORY_IS_ZERO_PADDED()" link="gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PADDED:CAPS"/>
<keyword type="macro" name="GST_MEMORY_IS_ZERO_PREFIXED()" link="gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PREFIXED:CAPS"/>
+ <keyword type="macro" name="GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS()" link="gstreamer-GstMemory.html#GST-MEMORY-IS-PHYSICALLY-CONTIGUOUS:CAPS" since="1.2"/>
+ <keyword type="macro" name="GST_MEMORY_IS_NOT_MAPPABLE()" link="gstreamer-GstMemory.html#GST-MEMORY-IS-NOT-MAPPABLE:CAPS" since="1.2"/>
<keyword type="struct" name="struct GstMemory" link="gstreamer-GstMemory.html#GstMemory"/>
<keyword type="enum" name="enum GstMapFlags" link="gstreamer-GstMemory.html#GstMapFlags"/>
<keyword type="macro" name="GST_MAP_READWRITE" link="gstreamer-GstMemory.html#GST-MAP-READWRITE:CAPS"/>
@@ -760,6 +810,7 @@
<keyword type="function" name="GstMemoryShareFunction ()" link="gstreamer-GstMemory.html#GstMemoryShareFunction"/>
<keyword type="function" name="GstMemoryIsSpanFunction ()" link="gstreamer-GstMemory.html#GstMemoryIsSpanFunction"/>
<keyword type="function" name="gst_memory_init ()" link="gstreamer-GstMemory.html#gst-memory-init"/>
+ <keyword type="function" name="gst_memory_is_type ()" link="gstreamer-GstMemory.html#gst-memory-is-type" since="1.2"/>
<keyword type="function" name="gst_memory_ref ()" link="gstreamer-GstMemory.html#gst-memory-ref"/>
<keyword type="function" name="gst_memory_unref ()" link="gstreamer-GstMemory.html#gst-memory-unref"/>
<keyword type="function" name="gst_memory_get_sizes ()" link="gstreamer-GstMemory.html#gst-memory-get-sizes"/>
@@ -767,6 +818,7 @@
<keyword type="macro" name="gst_memory_lock()" link="gstreamer-GstMemory.html#gst-memory-lock"/>
<keyword type="macro" name="gst_memory_unlock()" link="gstreamer-GstMemory.html#gst-memory-unlock"/>
<keyword type="macro" name="gst_memory_is_writable()" link="gstreamer-GstMemory.html#gst-memory-is-writable"/>
+ <keyword type="macro" name="gst_memory_make_writable()" link="gstreamer-GstMemory.html#gst-memory-make-writable"/>
<keyword type="function" name="gst_memory_make_mapped ()" link="gstreamer-GstMemory.html#gst-memory-make-mapped"/>
<keyword type="function" name="gst_memory_map ()" link="gstreamer-GstMemory.html#gst-memory-map"/>
<keyword type="function" name="gst_memory_unmap ()" link="gstreamer-GstMemory.html#gst-memory-unmap"/>
@@ -855,6 +907,12 @@
<keyword type="enum" name="enum GstProgressType" link="gstreamer-GstMessage.html#GstProgressType"/>
<keyword type="function" name="gst_message_new_progress ()" link="gstreamer-GstMessage.html#gst-message-new-progress"/>
<keyword type="function" name="gst_message_parse_progress ()" link="gstreamer-GstMessage.html#gst-message-parse-progress"/>
+ <keyword type="function" name="gst_message_new_need_context ()" link="gstreamer-GstMessage.html#gst-message-new-need-context"/>
+ <keyword type="function" name="gst_message_add_context_type ()" link="gstreamer-GstMessage.html#gst-message-add-context-type"/>
+ <keyword type="function" name="gst_message_get_n_context_types ()" link="gstreamer-GstMessage.html#gst-message-get-n-context-types"/>
+ <keyword type="function" name="gst_message_parse_nth_context_type ()" link="gstreamer-GstMessage.html#gst-message-parse-nth-context-type"/>
+ <keyword type="function" name="gst_message_new_have_context ()" link="gstreamer-GstMessage.html#gst-message-new-have-context"/>
+ <keyword type="function" name="gst_message_parse_have_context ()" link="gstreamer-GstMessage.html#gst-message-parse-have-context"/>
<keyword type="struct" name="struct GstMeta" link="gstreamer-GstMeta.html#GstMeta"/>
<keyword type="enum" name="enum GstMetaFlags" link="gstreamer-GstMeta.html#GstMetaFlags"/>
<keyword type="macro" name="GST_META_FLAGS()" link="gstreamer-GstMeta.html#GST-META-FLAGS:CAPS"/>
@@ -905,7 +963,7 @@
<keyword type="function" name="gst_mini_object_replace ()" link="gstreamer-GstMiniObject.html#gst-mini-object-replace"/>
<keyword type="function" name="gst_mini_object_take ()" link="gstreamer-GstMiniObject.html#gst-mini-object-take"/>
<keyword type="function" name="gst_mini_object_steal ()" link="gstreamer-GstMiniObject.html#gst-mini-object-steal"/>
- <keyword type="" name="controlled properties" link="GstObject.html#idp28825360"/>
+ <keyword type="" name="controlled properties" link="GstObject.html#idp28716320"/>
<keyword type="struct" name="struct GstObject" link="GstObject.html#GstObject-struct"/>
<keyword type="struct" name="struct GstObjectClass" link="GstObject.html#GstObjectClass"/>
<keyword type="enum" name="enum GstObjectFlags" link="GstObject.html#GstObjectFlags"/>
@@ -1072,6 +1130,7 @@
<keyword type="function" name="gst_pad_create_stream_id ()" link="GstPad.html#gst-pad-create-stream-id"/>
<keyword type="function" name="gst_pad_create_stream_id_printf ()" link="GstPad.html#gst-pad-create-stream-id-printf"/>
<keyword type="function" name="gst_pad_create_stream_id_printf_valist ()" link="GstPad.html#gst-pad-create-stream-id-printf-valist"/>
+ <keyword type="function" name="gst_pad_get_stream_id ()" link="GstPad.html#gst-pad-get-stream-id" since="1.2"/>
<keyword type="function" name="GstPadForwardFunction ()" link="GstPad.html#GstPadForwardFunction"/>
<keyword type="function" name="gst_pad_forward ()" link="GstPad.html#gst-pad-forward"/>
<keyword type="function" name="gst_pad_chain ()" link="GstPad.html#gst-pad-chain"/>
@@ -1183,6 +1242,7 @@
<keyword type="function" name="gst_plugin_feature_get_rank ()" link="GstPluginFeature.html#gst-plugin-feature-get-rank"/>
<keyword type="macro" name="gst_plugin_feature_get_name()" link="GstPluginFeature.html#gst-plugin-feature-get-name"/>
<keyword type="function" name="gst_plugin_feature_get_plugin ()" link="GstPluginFeature.html#gst-plugin-feature-get-plugin"/>
+ <keyword type="function" name="gst_plugin_feature_get_plugin_name ()" link="GstPluginFeature.html#gst-plugin-feature-get-plugin-name" since="1.2.0"/>
<keyword type="function" name="gst_plugin_feature_load ()" link="GstPluginFeature.html#gst-plugin-feature-load"/>
<keyword type="function" name="gst_plugin_feature_list_copy ()" link="GstPluginFeature.html#gst-plugin-feature-list-copy"/>
<keyword type="function" name="gst_plugin_feature_list_free ()" link="GstPluginFeature.html#gst-plugin-feature-list-free"/>
@@ -1297,10 +1357,12 @@
<keyword type="function" name="gst_query_get_n_allocation_pools ()" link="gstreamer-GstQuery.html#gst-query-get-n-allocation-pools"/>
<keyword type="function" name="gst_query_parse_nth_allocation_pool ()" link="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-pool"/>
<keyword type="function" name="gst_query_set_nth_allocation_pool ()" link="gstreamer-GstQuery.html#gst-query-set-nth-allocation-pool"/>
+ <keyword type="function" name="gst_query_remove_nth_allocation_pool ()" link="gstreamer-GstQuery.html#gst-query-remove-nth-allocation-pool"/>
<keyword type="function" name="gst_query_add_allocation_param ()" link="gstreamer-GstQuery.html#gst-query-add-allocation-param"/>
<keyword type="function" name="gst_query_get_n_allocation_params ()" link="gstreamer-GstQuery.html#gst-query-get-n-allocation-params"/>
<keyword type="function" name="gst_query_parse_nth_allocation_param ()" link="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-param"/>
<keyword type="function" name="gst_query_set_nth_allocation_param ()" link="gstreamer-GstQuery.html#gst-query-set-nth-allocation-param"/>
+ <keyword type="function" name="gst_query_remove_nth_allocation_param ()" link="gstreamer-GstQuery.html#gst-query-remove-nth-allocation-param"/>
<keyword type="function" name="gst_query_add_allocation_meta ()" link="gstreamer-GstQuery.html#gst-query-add-allocation-meta"/>
<keyword type="function" name="gst_query_get_n_allocation_metas ()" link="gstreamer-GstQuery.html#gst-query-get-n-allocation-metas"/>
<keyword type="function" name="gst_query_parse_nth_allocation_meta ()" link="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-meta"/>
@@ -1316,6 +1378,12 @@
<keyword type="function" name="gst_query_has_scheduling_mode ()" link="gstreamer-GstQuery.html#gst-query-has-scheduling-mode"/>
<keyword type="function" name="gst_query_has_scheduling_mode_with_flags ()" link="gstreamer-GstQuery.html#gst-query-has-scheduling-mode-with-flags"/>
<keyword type="function" name="gst_query_new_drain ()" link="gstreamer-GstQuery.html#gst-query-new-drain"/>
+ <keyword type="function" name="gst_query_new_context ()" link="gstreamer-GstQuery.html#gst-query-new-context"/>
+ <keyword type="function" name="gst_query_set_context ()" link="gstreamer-GstQuery.html#gst-query-set-context"/>
+ <keyword type="function" name="gst_query_parse_context ()" link="gstreamer-GstQuery.html#gst-query-parse-context"/>
+ <keyword type="function" name="gst_query_add_context_type ()" link="gstreamer-GstQuery.html#gst-query-add-context-type"/>
+ <keyword type="function" name="gst_query_get_n_context_types ()" link="gstreamer-GstQuery.html#gst-query-get-n-context-types"/>
+ <keyword type="function" name="gst_query_parse_nth_context_type ()" link="gstreamer-GstQuery.html#gst-query-parse-nth-context-type"/>
<keyword type="struct" name="struct GstRegistry" link="GstRegistry.html#GstRegistry-struct"/>
<keyword type="function" name="gst_registry_get ()" link="GstRegistry.html#gst-registry-get"/>
<keyword type="function" name="gst_registry_get_feature_list ()" link="GstRegistry.html#gst-registry-get-feature-list"/>
@@ -1357,6 +1425,7 @@
<keyword type="function" name="gst_structure_new ()" link="gstreamer-GstStructure.html#gst-structure-new"/>
<keyword type="function" name="gst_structure_new_valist ()" link="gstreamer-GstStructure.html#gst-structure-new-valist"/>
<keyword type="function" name="gst_structure_new_id ()" link="gstreamer-GstStructure.html#gst-structure-new-id"/>
+ <keyword type="function" name="gst_structure_new_from_string ()" link="gstreamer-GstStructure.html#gst-structure-new-from-string" since="1.2"/>
<keyword type="function" name="gst_structure_copy ()" link="gstreamer-GstStructure.html#gst-structure-copy"/>
<keyword type="function" name="gst_structure_free ()" link="gstreamer-GstStructure.html#gst-structure-free"/>
<keyword type="function" name="gst_structure_get_name ()" link="gstreamer-GstStructure.html#gst-structure-get-name"/>
@@ -1518,7 +1587,7 @@
<keyword type="function" name="gst_tag_list_new_empty ()" link="gstreamer-GstTagList.html#gst-tag-list-new-empty"/>
<keyword type="function" name="gst_tag_list_new_valist ()" link="gstreamer-GstTagList.html#gst-tag-list-new-valist"/>
<keyword type="function" name="gst_tag_list_new_from_string ()" link="gstreamer-GstTagList.html#gst-tag-list-new-from-string"/>
- <keyword type="macro" name="gst_tag_list_free()" link="gstreamer-GstTagList.html#gst-tag-list-free"/>
+ <keyword type="macro" name="gst_tag_list_free()" link="gstreamer-GstTagList.html#gst-tag-list-free" deprecated=""/>
<keyword type="function" name="gst_tag_list_get_scope ()" link="gstreamer-GstTagList.html#gst-tag-list-get-scope"/>
<keyword type="function" name="gst_tag_list_set_scope ()" link="gstreamer-GstTagList.html#gst-tag-list-set-scope"/>
<keyword type="function" name="gst_tag_list_to_string ()" link="gstreamer-GstTagList.html#gst-tag-list-to-string"/>
@@ -1814,6 +1883,9 @@
<keyword type="macro" name="GST_VALUE_HOLDS_CAPS()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-CAPS"/>
<keyword type="function" name="gst_value_set_caps ()" link="gstreamer-GstValue.html#gst-value-set-caps"/>
<keyword type="function" name="gst_value_get_caps ()" link="gstreamer-GstValue.html#gst-value-get-caps"/>
+ <keyword type="macro" name="GST_VALUE_HOLDS_CAPS_FEATURES()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-CAPS-FEATURES:CAPS"/>
+ <keyword type="function" name="gst_value_set_caps_features ()" link="gstreamer-GstValue.html#gst-value-set-caps-features"/>
+ <keyword type="function" name="gst_value_get_caps_features ()" link="gstreamer-GstValue.html#gst-value-get-caps-features"/>
<keyword type="macro" name="GST_VALUE_HOLDS_STRUCTURE()" link="gstreamer-GstValue.html#GST-VALUE-HOLDS-STRUCTURE:CAPS"/>
<keyword type="function" name="gst_value_set_structure ()" link="gstreamer-GstValue.html#gst-value-set-structure"/>
<keyword type="function" name="gst_value_get_structure ()" link="gstreamer-GstValue.html#gst-value-get-structure"/>
@@ -1879,6 +1951,7 @@
<keyword type="function" name="gst_debug_set_colored ()" link="gstreamer-GstInfo.html#gst-debug-set-colored"/>
<keyword type="function" name="gst_debug_is_colored ()" link="gstreamer-GstInfo.html#gst-debug-is-colored"/>
<keyword type="function" name="gst_debug_set_default_threshold ()" link="gstreamer-GstInfo.html#gst-debug-set-default-threshold"/>
+ <keyword type="function" name="gst_debug_set_threshold_from_string ()" link="gstreamer-GstInfo.html#gst-debug-set-threshold-from-string" since="1.2.0"/>
<keyword type="function" name="gst_debug_get_default_threshold ()" link="gstreamer-GstInfo.html#gst-debug-get-default-threshold"/>
<keyword type="function" name="gst_debug_set_threshold_for_name ()" link="gstreamer-GstInfo.html#gst-debug-set-threshold-for-name"/>
<keyword type="function" name="gst_debug_unset_threshold_for_name ()" link="gstreamer-GstInfo.html#gst-debug-unset-threshold-for-name"/>
@@ -1961,6 +2034,7 @@
<keyword type="constant" name="GST_BUFFER_COPY_META" link="gstreamer-GstBuffer.html#GST-BUFFER-COPY-META:CAPS"/>
<keyword type="constant" name="GST_BUFFER_COPY_MEMORY" link="gstreamer-GstBuffer.html#GST-BUFFER-COPY-MEMORY:CAPS"/>
<keyword type="constant" name="GST_BUFFER_COPY_MERGE" link="gstreamer-GstBuffer.html#GST-BUFFER-COPY-MERGE:CAPS"/>
+ <keyword type="constant" name="GST_BUFFER_COPY_DEEP" link="gstreamer-GstBuffer.html#GST-BUFFER-COPY-DEEP:CAPS"/>
<keyword type="constant" name="GST_BUFFER_POOL_ACQUIRE_FLAG_NONE" link="gstreamer-GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-NONE:CAPS"/>
<keyword type="constant" name="GST_BUFFER_POOL_ACQUIRE_FLAG_KEY_UNIT" link="gstreamer-GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-KEY-UNIT:CAPS"/>
<keyword type="constant" name="GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT" link="gstreamer-GstBufferPool.html#GST-BUFFER-POOL-ACQUIRE-FLAG-DONTWAIT:CAPS"/>
@@ -2080,6 +2154,7 @@
<keyword type="constant" name="GST_EVENT_SINK_MESSAGE" link="gstreamer-GstEvent.html#GST-EVENT-SINK-MESSAGE:CAPS"/>
<keyword type="constant" name="GST_EVENT_EOS" link="gstreamer-GstEvent.html#GST-EVENT-EOS:CAPS"/>
<keyword type="constant" name="GST_EVENT_TOC" link="gstreamer-GstEvent.html#GST-EVENT-TOC:CAPS"/>
+ <keyword type="constant" name="GST_EVENT_CONTEXT" link="gstreamer-GstEvent.html#GST-EVENT-CONTEXT:CAPS"/>
<keyword type="constant" name="GST_EVENT_SEGMENT_DONE" link="gstreamer-GstEvent.html#GST-EVENT-SEGMENT-DONE:CAPS"/>
<keyword type="constant" name="GST_EVENT_GAP" link="gstreamer-GstEvent.html#GST-EVENT-GAP:CAPS"/>
<keyword type="constant" name="GST_EVENT_QOS" link="gstreamer-GstEvent.html#GST-EVENT-QOS:CAPS"/>
@@ -2127,6 +2202,8 @@
<keyword type="constant" name="GST_MEMORY_FLAG_NO_SHARE" link="gstreamer-GstMemory.html#GST-MEMORY-FLAG-NO-SHARE:CAPS"/>
<keyword type="constant" name="GST_MEMORY_FLAG_ZERO_PREFIXED" link="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS"/>
<keyword type="constant" name="GST_MEMORY_FLAG_ZERO_PADDED" link="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PADDED:CAPS"/>
+ <keyword type="constant" name="GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS" link="gstreamer-GstMemory.html#GST-MEMORY-FLAG-PHYSICALLY-CONTIGUOUS:CAPS"/>
+ <keyword type="constant" name="GST_MEMORY_FLAG_NOT_MAPPABLE" link="gstreamer-GstMemory.html#GST-MEMORY-FLAG-NOT-MAPPABLE:CAPS"/>
<keyword type="constant" name="GST_MEMORY_FLAG_LAST" link="gstreamer-GstMemory.html#GST-MEMORY-FLAG-LAST:CAPS"/>
<keyword type="constant" name="GST_MAP_READ" link="gstreamer-GstMemory.html#GST-MAP-READ:CAPS"/>
<keyword type="constant" name="GST_MAP_WRITE" link="gstreamer-GstMemory.html#GST-MAP-WRITE:CAPS"/>
@@ -2161,6 +2238,8 @@
<keyword type="constant" name="GST_MESSAGE_TOC" link="gstreamer-GstMessage.html#GST-MESSAGE-TOC:CAPS"/>
<keyword type="constant" name="GST_MESSAGE_RESET_TIME" link="gstreamer-GstMessage.html#GST-MESSAGE-RESET-TIME:CAPS"/>
<keyword type="constant" name="GST_MESSAGE_STREAM_START" link="gstreamer-GstMessage.html#GST-MESSAGE-STREAM-START:CAPS"/>
+ <keyword type="constant" name="GST_MESSAGE_NEED_CONTEXT" link="gstreamer-GstMessage.html#GST-MESSAGE-NEED-CONTEXT:CAPS"/>
+ <keyword type="constant" name="GST_MESSAGE_HAVE_CONTEXT" link="gstreamer-GstMessage.html#GST-MESSAGE-HAVE-CONTEXT:CAPS"/>
<keyword type="constant" name="GST_MESSAGE_ANY" link="gstreamer-GstMessage.html#GST-MESSAGE-ANY:CAPS"/>
<keyword type="constant" name="GST_STRUCTURE_CHANGE_TYPE_PAD_LINK" link="gstreamer-GstMessage.html#GST-STRUCTURE-CHANGE-TYPE-PAD-LINK:CAPS"/>
<keyword type="constant" name="GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK" link="gstreamer-GstMessage.html#GST-STRUCTURE-CHANGE-TYPE-PAD-UNLINK:CAPS"/>
@@ -2307,12 +2386,14 @@
<keyword type="constant" name="GST_QUERY_ACCEPT_CAPS" link="gstreamer-GstQuery.html#GST-QUERY-ACCEPT-CAPS"/>
<keyword type="constant" name="GST_QUERY_CAPS" link="gstreamer-GstQuery.html#GST-QUERY-CAPS"/>
<keyword type="constant" name="GST_QUERY_DRAIN" link="gstreamer-GstQuery.html#GST-QUERY-DRAIN:CAPS"/>
+ <keyword type="constant" name="GST_QUERY_CONTEXT" link="gstreamer-GstQuery.html#GST-QUERY-CONTEXT:CAPS"/>
<keyword type="constant" name="GST_BUFFERING_STREAM" link="gstreamer-GstQuery.html#GST-BUFFERING-STREAM:CAPS"/>
<keyword type="constant" name="GST_BUFFERING_DOWNLOAD" link="gstreamer-GstQuery.html#GST-BUFFERING-DOWNLOAD:CAPS"/>
<keyword type="constant" name="GST_BUFFERING_TIMESHIFT" link="gstreamer-GstQuery.html#GST-BUFFERING-TIMESHIFT:CAPS"/>
<keyword type="constant" name="GST_BUFFERING_LIVE" link="gstreamer-GstQuery.html#GST-BUFFERING-LIVE:CAPS"/>
<keyword type="constant" name="GST_SCHEDULING_FLAG_SEEKABLE" link="gstreamer-GstQuery.html#GST-SCHEDULING-FLAG-SEEKABLE:CAPS"/>
<keyword type="constant" name="GST_SCHEDULING_FLAG_SEQUENTIAL" link="gstreamer-GstQuery.html#GST-SCHEDULING-FLAG-SEQUENTIAL:CAPS"/>
+ <keyword type="constant" name="GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED" link="gstreamer-GstQuery.html#GST-SCHEDULING-FLAG-BANDWIDTH-LIMITED:CAPS"/>
<keyword type="constant" name="GST_SEGMENT_FLAG_NONE" link="gstreamer-GstSegment.html#GST-SEGMENT-FLAG-NONE:CAPS"/>
<keyword type="constant" name="GST_SEGMENT_FLAG_RESET" link="gstreamer-GstSegment.html#GST-SEGMENT-FLAG-RESET:CAPS"/>
<keyword type="constant" name="GST_SEGMENT_FLAG_SKIP" link="gstreamer-GstSegment.html#GST-SEGMENT-FLAG-SKIP:CAPS"/>
diff --git a/docs/gst/html/gstreamer-Gst.html b/docs/gst/html/gstreamer-Gst.html
index 483e628..4aad1b5 100644
--- a/docs/gst/html/gstreamer-Gst.html
+++ b/docs/gst/html/gstreamer-Gst.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Gst</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="libgstreamer.html" title="GStreamer Core Library">
@@ -83,7 +83,7 @@ options, as shown in the following example.
<p>
</p>
<div class="example">
-<a name="idp8499728"></a><p class="title"><b>Example 1. Initializing the gstreamer library</b></p>
+<a name="idp8948784"></a><p class="title"><b>Example 1. Initializing the gstreamer library</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -119,7 +119,7 @@ You can also use GOption to initialize your own parameters as shown in
the next code fragment:
</p>
<div class="example">
-<a name="idp7349680"></a><p class="title"><b>Example 2. Initializing own parameters when initializing gstreamer</b></p>
+<a name="idp11022576"></a><p class="title"><b>Example 2. Initializing own parameters when initializing gstreamer</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -218,12 +218,15 @@ use <a class="link" href="gstreamer-Gst.html#gst-init-check" title="gst_init_che
</p>
<p>
WARNING: This function does not work in the same way as corresponding
-functions in other glib-style libraries, such as <a href="http://developer.gnome.org/devel/gtk/gtk3-General.html#gtk-init"><code class="function">gtk_init()</code></a>. In
+functions in other glib-style libraries, such as <a href="http://developer.gnome.org/gtk2/gtk3-General.html#gtk-init"><code class="function">gtk_init()</code></a>. In
particular, unknown command line options cause this function to
abort program execution.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>argc</code></em> :</span></p></td>
@@ -253,8 +256,11 @@ This function will return <a href="http://library.gnome.org/devel/glib/unstable/
for some reason. If you want your program to fail fatally,
use <a class="link" href="gstreamer-Gst.html#gst-init" title="gst_init ()"><code class="function">gst_init()</code></a> instead.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>argc</code></em> :</span></p></td>
@@ -297,8 +303,11 @@ If you use this function, you should make sure you initialise the GLib
threading system as one of the very first things in your program
(see the example at the beginning of this section).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a pointer to GStreamer's option group. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -314,8 +323,11 @@ threading system as one of the very first things in your program
Use this function to check if GStreamer has been initialized with <a class="link" href="gstreamer-Gst.html#gst-init" title="gst_init ()"><code class="function">gst_init()</code></a>
or <a class="link" href="gstreamer-Gst.html#gst-init-check" title="gst_init_check ()"><code class="function">gst_init_check()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE if initialization has been done, FALSE otherwise.</td>
@@ -349,8 +361,11 @@ After this call GStreamer (including this method) should not be used anymore.
<p>
Gets the version number of the GStreamer library.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>major</code></em> :</span></p></td>
@@ -383,8 +398,11 @@ Gets the version number of the GStreamer library.
This function returns a string that is useful for describing this version
of GStreamer to the outside world: user agent strings, logging, ...
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a newly allocated string describing this version
@@ -407,8 +425,11 @@ Applications might want to disable this behaviour with the
<a class="link" href="gstreamer-Gst.html#gst-segtrap-set-enabled" title="gst_segtrap_set_enabled ()"><code class="function">gst_segtrap_set_enabled()</code></a> function. This is typically done if the application
wants to install its own handler without GStreamer interfering.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
@@ -424,8 +445,11 @@ wants to install its own handler without GStreamer interfering.
Applications might want to disable/enable the SIGSEGV handling of
the GStreamer core. See <a class="link" href="gstreamer-Gst.html#gst-segtrap-is-enabled" title="gst_segtrap_is_enabled ()"><code class="function">gst_segtrap_is_enabled()</code></a> for more information.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>enabled</code></em> :</span></p></td>
<td>whether a custom SIGSEGV handler should be installed.</td>
@@ -445,8 +469,11 @@ Applications might want to disable this behaviour with the
<a class="link" href="gstreamer-Gst.html#gst-registry-fork-set-enabled" title="gst_registry_fork_set_enabled ()"><code class="function">gst_registry_fork_set_enabled()</code></a> function, in which case new plugins
are scanned (and loaded) into the application process.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
@@ -464,8 +491,11 @@ Applications might want to disable/enable spawning of a child helper process
when rebuilding the registry. See <a class="link" href="gstreamer-Gst.html#gst-registry-fork-is-enabled" title="gst_registry_fork_is_enabled ()"><code class="function">gst_registry_fork_is_enabled()</code></a> for more
information.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>enabled</code></em> :</span></p></td>
<td>whether rebuilding the registry can use a temporary child helper process.</td>
@@ -497,8 +527,11 @@ progress.
<p>
Note that this function may block for a significant amount of time.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
diff --git a/docs/gst/html/gstreamer-GstAtomicQueue.html b/docs/gst/html/gstreamer-GstAtomicQueue.html
index 8c6ca60..c305178 100644
--- a/docs/gst/html/gstreamer-GstAtomicQueue.html
+++ b/docs/gst/html/gstreamer-GstAtomicQueue.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstAtomicQueue</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstAllocator.html" title="GstAllocator">
@@ -78,8 +78,11 @@ Use the acessor functions to get the stored values.
Create a new atomic queue instance. <em class="parameter"><code>initial_size</code></em> will be rounded up to the
nearest power of 2 and used as the initial size of the queue.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>initial_size</code></em> :</span></p></td>
@@ -100,8 +103,11 @@ nearest power of 2 and used as the initial size of the queue.
<p>
Increase the refcount of <em class="parameter"><code>queue</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstAtomicQueue.html#GstAtomicQueue" title="GstAtomicQueue"><span class="type">GstAtomicQueue</span></a>
@@ -116,8 +122,11 @@ Increase the refcount of <em class="parameter"><code>queue</code></em>.
<p>
Unref <em class="parameter"><code>queue</code></em> and free the memory when the refcount reaches 0.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstAtomicQueue.html#GstAtomicQueue" title="GstAtomicQueue"><span class="type">GstAtomicQueue</span></a>
@@ -133,8 +142,11 @@ Unref <em class="parameter"><code>queue</code></em> and free the memory when the
<p>
Append <em class="parameter"><code>data</code></em> to the tail of the queue.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
@@ -155,8 +167,11 @@ Append <em class="parameter"><code>data</code></em> to the tail of the queue.
<p>
Peek the head element of the queue without removing it from the queue.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
@@ -179,8 +194,11 @@ the queue is empty. <span class="annotation">[<acronym title="Don't free data af
<p>
Get the head element of the queue.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
@@ -203,8 +221,11 @@ the queue is empty. <span class="annotation">[<acronym title="Free data after th
<p>
Get the amount of items in the queue.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstBuffer.html b/docs/gst/html/gstreamer-GstBuffer.html
index 7e4c053..c9231ad 100644
--- a/docs/gst/html/gstreamer-GstBuffer.html
+++ b/docs/gst/html/gstreamer-GstBuffer.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBuffer</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstBin.html" title="GstBin">
@@ -85,7 +85,7 @@ enum <a class="link" href="gstreamer-GstBuffer.html#GstBufferFlag
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> length</code></em>,
<em class="parameter"><code><span class="type">gsize</span> *offset</code></em>,
<em class="parameter"><code><span class="type">gsize</span> *maxsize</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize-range" title="gst_buffer_resize_range ()">gst_buffer_resize_range</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize-range" title="gst_buffer_resize_range ()">gst_buffer_resize_range</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> length</code></em>,
<em class="parameter"><code><span class="type">gssize</span> offset</code></em>,
@@ -150,6 +150,11 @@ enum <a class="link" href="gstreamer-GstBuffer.html#GstBufferFlag
<em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> dest</code></em>,
<em class="parameter"><code><span class="type">gsize</span> size</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-extract-dup" title="gst_buffer_extract_dup ()">gst_buffer_extract_dup</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+ <em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
+ <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *dest</code></em>,
+ <em class="parameter"><code><span class="type">gsize</span> *dest_size</code></em>);
<span class="returnvalue">gsize</span> <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-fill" title="gst_buffer_fill ()">gst_buffer_fill</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> src</code></em>,
@@ -162,7 +167,7 @@ enum <a class="link" href="gstreamer-GstBuffer.html#GstBufferCopy
#define <a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-COPY-METADATA:CAPS" title="GST_BUFFER_COPY_METADATA">GST_BUFFER_COPY_METADATA</a>
#define <a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-COPY-ALL:CAPS" title="GST_BUFFER_COPY_ALL">GST_BUFFER_COPY_ALL</a>
<a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="returnvalue">GstBuffer</span></a> * <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-copy" title="gst_buffer_copy ()">gst_buffer_copy</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buf</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-copy-into" title="gst_buffer_copy_into ()">gst_buffer_copy_into</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *dest</code></em>,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-copy-into" title="gst_buffer_copy_into ()">gst_buffer_copy_into</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *dest</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *src</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBufferCopyFlags" title="enum GstBufferCopyFlags"><span class="type">GstBufferCopyFlags</span></a> flags</code></em>,
<em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
@@ -212,7 +217,7 @@ The following example creates a buffer that can hold a given video frame
with a given width, height and bits per plane.
</p>
<div class="example">
-<a name="idp12963552"></a><p class="title"><b>Example 3. Creating a buffer for a video frame</b></p>
+<a name="idp12040000"></a><p class="title"><b>Example 3. Creating a buffer for a video frame</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -295,7 +300,7 @@ only be made when it is necessary.
<p>
Several flags of the buffer can be set and unset with the
<a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-FLAG-SET:CAPS" title="GST_BUFFER_FLAG_SET()"><code class="function">GST_BUFFER_FLAG_SET()</code></a> and <a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-FLAG-UNSET:CAPS" title="GST_BUFFER_FLAG_UNSET()"><code class="function">GST_BUFFER_FLAG_UNSET()</code></a> macros. Use
-<a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-FLAG-IS-SET:CAPS" title="GST_BUFFER_FLAG_IS_SET()"><code class="function">GST_BUFFER_FLAG_IS_SET()</code></a> to test if a certain <span class="type">GstBufferFlag</span> is set.
+<a class="link" href="gstreamer-GstBuffer.html#GST-BUFFER-FLAG-IS-SET:CAPS" title="GST_BUFFER_FLAG_IS_SET()"><code class="function">GST_BUFFER_FLAG_IS_SET()</code></a> to test if a certain <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBufferFlag"><span class="type">GstBufferFlag</span></a> is set.
</p>
<p>
Buffers can be efficiently merged into a larger buffer with
@@ -343,8 +348,11 @@ Last reviewed on 2012-03-28 (0.11.3)
The structure of a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>. Use the associated macros to access the public
variables.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstBuffer.mini-object"></a>mini_object</code></em>;</span></p></td>
@@ -408,8 +416,11 @@ format as <em class="parameter"><code>offset</code></em>.</td>
<p>
A set of buffer flags used to describe properties of a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-BUFFER-FLAG-LIVE:CAPS"></a><span class="term"><code class="literal">GST_BUFFER_FLAG_LIVE</code></span></p></td>
@@ -490,10 +501,13 @@ A set of buffer flags used to describe properties of a <a class="link" href="gst
<pre class="programlisting">#define GST_BUFFER_FLAGS(buf) GST_MINI_OBJECT_FLAGS(buf)
</pre>
<p>
-A flags word containing <span class="type">GstBufferFlag</span> flags set on this buffer.
+A flags word containing <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBufferFlag"><span class="type">GstBufferFlag</span></a> flags set on this buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
@@ -508,8 +522,11 @@ A flags word containing <span class="type">GstBufferFlag</span> flags set on thi
<p>
Gives the status of a specific flag on a buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
@@ -517,7 +534,7 @@ Gives the status of a specific flag on a buffer.
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flag</code></em> :</span></p></td>
-<td>the <span class="type">GstBufferFlag</span> to check.</td>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBufferFlag"><span class="type">GstBufferFlag</span></a> to check.</td>
</tr>
</tbody>
</table></div>
@@ -530,8 +547,11 @@ Gives the status of a specific flag on a buffer.
<p>
Sets a buffer flag on a buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
@@ -539,7 +559,7 @@ Sets a buffer flag on a buffer.
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flag</code></em> :</span></p></td>
-<td>the <span class="type">GstBufferFlag</span> to set.</td>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBufferFlag"><span class="type">GstBufferFlag</span></a> to set.</td>
</tr>
</tbody>
</table></div>
@@ -552,8 +572,11 @@ Sets a buffer flag on a buffer.
<p>
Clears a buffer flag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
@@ -561,7 +584,7 @@ Clears a buffer flag.
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flag</code></em> :</span></p></td>
-<td>the <span class="type">GstBufferFlag</span> to clear.</td>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBufferFlag"><span class="type">GstBufferFlag</span></a> to clear.</td>
</tr>
</tbody>
</table></div>
@@ -577,8 +600,11 @@ of the data in the buffer. This is the timestamp when the media should be
presented to the user.
Value will be <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><code class="literal">GST_CLOCK_TIME_NONE</code></a> if the pts is unknown.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.:</td>
@@ -596,8 +622,11 @@ of the data in the buffer. This is the timestamp when the media should be
decoded or processed otherwise.
Value will be <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><code class="literal">GST_CLOCK_TIME_NONE</code></a> if the dts is unknown.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.:</td>
@@ -613,8 +642,11 @@ Value will be <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" titl
The duration in nanoseconds (as a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>) of the data in the buffer.
Value will be <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><code class="literal">GST_CLOCK_TIME_NONE</code></a> if the duration is unknown.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
@@ -629,8 +661,11 @@ Value will be <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" titl
<p>
The offset in the source file of the beginning of this buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
@@ -645,8 +680,11 @@ The offset in the source file of the beginning of this buffer.
<p>
The offset in the source file of the end of this buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
@@ -670,8 +708,11 @@ Constant for no-offset return results.
<p>
Tests if the duration is known.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>
@@ -687,8 +728,11 @@ Tests if the duration is known.
<p>
Tests if the pts is known.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>
@@ -704,8 +748,11 @@ Tests if the pts is known.
<p>
Tests if the dts is known.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>
@@ -721,8 +768,11 @@ Tests if the dts is known.
<p>
Tests if the start offset is known.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>
@@ -738,8 +788,11 @@ Tests if the start offset is known.
<p>
Tests if the end offset is known.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>
@@ -755,8 +808,11 @@ Tests if the end offset is known.
<p>
Tests if the buffer marks a discontinuity in the stream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>
@@ -774,8 +830,11 @@ Creates a newly allocated buffer without any data.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the new <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -803,8 +862,11 @@ Note that when <em class="parameter"><code>size</code></em> == 0, the buffer wil
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
@@ -842,8 +904,11 @@ with g_free and will be marked writable.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -885,8 +950,11 @@ When the buffer is destroyed, <em class="parameter"><code>notify</code></em> wil
The prefix/padding must be filled with 0 if <em class="parameter"><code>flags</code></em> contains
<a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PREFIXED</span></a> and <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PADDED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PADDED</span></a> respectively.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
@@ -943,8 +1011,11 @@ It is important to note that keeping additional references to
GstBuffer instances can potentially increase the number
of memcpy operations in a pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
@@ -967,8 +1038,11 @@ of memcpy operations in a pipeline.
Decreases the refcount of the buffer. If the refcount reaches 0, the buffer
with the associated metadata and memory will be freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -992,8 +1066,11 @@ the size and <em class="parameter"><code>offset</code></em> and the amount of ex
memory block. <em class="parameter"><code>offset</code></em> and <em class="parameter"><code>maxsize</code></em> can be used to resize the
buffer memory blocks with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize" title="gst_buffer_resize ()"><code class="function">gst_buffer_resize()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1023,8 +1100,11 @@ buffer memory blocks with <a class="link" href="gstreamer-GstBuffer.html#gst-buf
<p>
Get the total size of the memory blocks in <em class="parameter"><code>buffer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1056,8 +1136,11 @@ and <em class="parameter"><code>offset</code></em> and the amount of extra paddi
<em class="parameter"><code>offset</code></em> and <em class="parameter"><code>maxsize</code></em> can be used to resize the buffer memory blocks with
<a class="link" href="gstreamer-GstBuffer.html#gst-buffer-resize-range" title="gst_buffer_resize_range ()"><code class="function">gst_buffer_resize_range()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1091,7 +1174,7 @@ and <em class="parameter"><code>offset</code></em> and the amount of extra paddi
<hr>
<div class="refsect2">
<a name="gst-buffer-resize-range"></a><h3>gst_buffer_resize_range ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> gst_buffer_resize_range (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_buffer_resize_range (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> length</code></em>,
<em class="parameter"><code><span class="type">gssize</span> offset</code></em>,
@@ -1100,8 +1183,11 @@ and <em class="parameter"><code>offset</code></em> and the amount of extra paddi
Set the total size of the <em class="parameter"><code>length</code></em> memory blocks starting at <em class="parameter"><code>idx</code></em> in
<em class="parameter"><code>buffer</code></em>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1123,6 +1209,11 @@ Set the total size of the <em class="parameter"><code>length</code></em> memory
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
<td>the new size or -1 to just adjust the offset</td>
</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if resizing succeeded, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
+</tr>
</tbody>
</table></div>
</div>
@@ -1135,8 +1226,11 @@ Set the total size of the <em class="parameter"><code>length</code></em> memory
<p>
Set the offset and total size of the memory blocks in <em class="parameter"><code>buffer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1161,8 +1255,11 @@ Set the offset and total size of the memory blocks in <em class="parameter"><cod
<p>
Set the total size of the memory blocks in <em class="parameter"><code>buffer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1190,8 +1287,11 @@ Since this call does not influence the refcount of the memory,
<a class="link" href="gstreamer-GstMemory.html#gst-memory-is-writable" title="gst_memory_is_writable()"><code class="function">gst_memory_is_writable()</code></a> can be used to check if <em class="parameter"><code>buffer</code></em> is the sole owner
of the returned memory.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1214,10 +1314,14 @@ of the returned memory.
<a name="gst-buffer-n-memory"></a><h3>gst_buffer_n_memory ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_buffer_n_memory (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
<p>
-Get the amount of memory blocks that this buffer has.
+Get the amount of memory blocks that this buffer has. This amount is never
+larger than what <code class="function">gst_buffer_get_max_memory()</code> returns.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1241,8 +1345,16 @@ Get the amount of memory blocks that this buffer has.
Insert the memory block <em class="parameter"><code>mem</code></em> to <em class="parameter"><code>buffer</code></em> at <em class="parameter"><code>idx</code></em>. This function takes ownership
of <em class="parameter"><code>mem</code></em> and thus doesn't increase its refcount.
</p>
-<div class="variablelist"><table border="0">
+<p>
+Only <code class="function">gst_buffer_get_max_memory()</code> can be added to a buffer. If more memory is
+added, existing memory blocks will automatically be merged to make room for
+the new memory.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1277,8 +1389,11 @@ replaced with <em class="parameter"><code>mem</code></em>.
<p>
<em class="parameter"><code>buffer</code></em> should be writable.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1313,8 +1428,11 @@ be merged into one large <a class="link" href="gstreamer-GstMemory.html#GstMemor
<p>
If <em class="parameter"><code>length</code></em> is -1, all memory starting from <em class="parameter"><code>idx</code></em> is merged.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1349,8 +1467,11 @@ Remove <em class="parameter"><code>length</code></em> memory blocks in <em class
<p>
<em class="parameter"><code>length</code></em> can be -1, in which case all memory starting from <em class="parameter"><code>idx</code></em> is removed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1390,8 +1511,11 @@ for <em class="parameter"><code>offset</code></em>.
<p>
<em class="parameter"><code>size</code></em> can be -1 to get all the memory blocks after <em class="parameter"><code>idx</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1438,8 +1562,15 @@ for <em class="parameter"><code>offset</code></em>.
Prepend the memory block <em class="parameter"><code>mem</code></em> to <em class="parameter"><code>buffer</code></em>. This function takes
ownership of <em class="parameter"><code>mem</code></em> and thus doesn't increase its refcount.
</p>
-<div class="variablelist"><table border="0">
+<p>
+This function is identical to <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-insert-memory" title="gst_buffer_insert_memory ()"><code class="function">gst_buffer_insert_memory()</code></a> with an index of 0.
+See <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-insert-memory" title="gst_buffer_insert_memory ()"><code class="function">gst_buffer_insert_memory()</code></a> for more details.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1462,8 +1593,15 @@ ownership of <em class="parameter"><code>mem</code></em> and thus doesn't increa
Append the memory block <em class="parameter"><code>mem</code></em> to <em class="parameter"><code>buffer</code></em>. This function takes
ownership of <em class="parameter"><code>mem</code></em> and thus doesn't increase its refcount.
</p>
-<div class="variablelist"><table border="0">
+<p>
+This function is identical to <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-insert-memory" title="gst_buffer_insert_memory ()"><code class="function">gst_buffer_insert_memory()</code></a> with an index of -1.
+See <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-insert-memory" title="gst_buffer_insert_memory ()"><code class="function">gst_buffer_insert_memory()</code></a> for more details.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1486,8 +1624,11 @@ ownership of <em class="parameter"><code>mem</code></em> and thus doesn't increa
<p>
Replaces the memory block at index <em class="parameter"><code>idx</code></em> in <em class="parameter"><code>buffer</code></em> with <em class="parameter"><code>mem</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1513,8 +1654,11 @@ Replaces the memory block at index <em class="parameter"><code>idx</code></em> i
<p>
Replaces all memory in <em class="parameter"><code>buffer</code></em> with <em class="parameter"><code>mem</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1536,8 +1680,11 @@ Replaces all memory in <em class="parameter"><code>buffer</code></em> with <em c
<p>
Get the memory block at index <em class="parameter"><code>idx</code></em> in <em class="parameter"><code>buffer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1564,8 +1711,11 @@ memory block at <em class="parameter"><code>idx</code></em>. Use <a class="link"
Get all the memory block in <em class="parameter"><code>buffer</code></em>. The memory blocks will be merged
into one large <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1588,8 +1738,11 @@ Use <a class="link" href="gstreamer-GstMemory.html#gst-memory-unref" title="gst_
<p>
Remove the memory block in <em class="parameter"><code>b</code></em> at index <em class="parameter"><code>i</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1609,8 +1762,11 @@ Remove the memory block in <em class="parameter"><code>b</code></em> at index <e
<p>
Remove all the memory blocks in <em class="parameter"><code>buffer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.</td>
@@ -1641,8 +1797,11 @@ buffer memory will then also be replaced with this writable copy.
The memory in <em class="parameter"><code>info</code></em> should be unmapped with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-unmap" title="gst_buffer_unmap ()"><code class="function">gst_buffer_unmap()</code></a> after
usage.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1691,8 +1850,11 @@ will then also be replaced with this writable copy.
<p>
The memory in <em class="parameter"><code>info</code></em> should be unmapped with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-unmap" title="gst_buffer_unmap ()"><code class="function">gst_buffer_unmap()</code></a> after usage.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1732,8 +1894,11 @@ data.</td>
<p>
Release the memory previously mapped with <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-map" title="gst_buffer_map ()"><code class="function">gst_buffer_map()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1757,8 +1922,11 @@ Release the memory previously mapped with <a class="link" href="gstreamer-GstBuf
<p>
Compare <em class="parameter"><code>size</code></em> bytes starting from <em class="parameter"><code>offset</code></em> in <em class="parameter"><code>buffer</code></em> with the memory in <em class="parameter"><code>mem</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1795,8 +1963,11 @@ Compare <em class="parameter"><code>size</code></em> bytes starting from <em cla
<p>
Copy <em class="parameter"><code>size</code></em> bytes starting from <em class="parameter"><code>offset</code></em> in <em class="parameter"><code>buffer</code></em> to <em class="parameter"><code>dest</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1824,6 +1995,52 @@ when <em class="parameter"><code>buffer</code></em> did not contain enough data.
</div>
<hr>
<div class="refsect2">
+<a name="gst-buffer-extract-dup"></a><h3>gst_buffer_extract_dup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_buffer_extract_dup (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
+ <em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
+ <em class="parameter"><code><span class="type">gsize</span> size</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *dest</code></em>,
+ <em class="parameter"><code><span class="type">gsize</span> *dest_size</code></em>);</pre>
+<p>
+Extracts a copy of at most <em class="parameter"><code>size</code></em> bytes the data at <em class="parameter"><code>offset</code></em> into a <a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a>.
+<em class="parameter"><code>dest</code></em> must be freed using <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
+<td>the offset to extract</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
+<td>the size to extract</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
+<td>A pointer where
+the destination array will be written. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=dest_size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>dest_size</code></em> :</span></p></td>
+<td>A location where the size of <em class="parameter"><code>dest</code></em> can be written. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 3.2</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-buffer-fill"></a><h3>gst_buffer_fill ()</h3>
<pre class="programlisting"><span class="returnvalue">gsize</span> gst_buffer_fill (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
@@ -1832,8 +2049,11 @@ when <em class="parameter"><code>buffer</code></em> did not contain enough data.
<p>
Copy <em class="parameter"><code>size</code></em> bytes from <em class="parameter"><code>src</code></em> to <em class="parameter"><code>buffer</code></em> at <em class="parameter"><code>offset</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1870,8 +2090,11 @@ when <em class="parameter"><code>buffer</code></em> did not contain enough data.
<p>
Fill <em class="parameter"><code>buf</code></em> with <em class="parameter"><code>size</code></em> bytes with <em class="parameter"><code>val</code></em> starting from <em class="parameter"><code>offset</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -1907,15 +2130,19 @@ when <em class="parameter"><code>buffer</code></em> did not contain enough data.
GST_BUFFER_COPY_TIMESTAMPS = (1 &lt;&lt; 1),
GST_BUFFER_COPY_META = (1 &lt;&lt; 2),
GST_BUFFER_COPY_MEMORY = (1 &lt;&lt; 3),
- GST_BUFFER_COPY_MERGE = (1 &lt;&lt; 4)
+ GST_BUFFER_COPY_MERGE = (1 &lt;&lt; 4),
+ GST_BUFFER_COPY_DEEP = (1 &lt;&lt; 5)
} GstBufferCopyFlags;
</pre>
<p>
A set of flags that can be provided to the <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-copy-into" title="gst_buffer_copy_into ()"><code class="function">gst_buffer_copy_into()</code></a>
function to specify which items should be copied.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-BUFFER-COPY-NONE:CAPS"></a><span class="term"><code class="literal">GST_BUFFER_COPY_NONE</code></span></p></td>
@@ -1930,25 +2157,33 @@ function to specify which items should be copied.
<tr>
<td><p><a name="GST-BUFFER-COPY-TIMESTAMPS:CAPS"></a><span class="term"><code class="literal">GST_BUFFER_COPY_TIMESTAMPS</code></span></p></td>
<td>flag indicating that buffer pts, dts,
-duration, offset and offset_end should be copied
+ duration, offset and offset_end should be copied
</td>
</tr>
<tr>
<td><p><a name="GST-BUFFER-COPY-META:CAPS"></a><span class="term"><code class="literal">GST_BUFFER_COPY_META</code></span></p></td>
<td>flag indicating that buffer meta should be
-copied
+ copied
</td>
</tr>
<tr>
<td><p><a name="GST-BUFFER-COPY-MEMORY:CAPS"></a><span class="term"><code class="literal">GST_BUFFER_COPY_MEMORY</code></span></p></td>
-<td>flag indicating that buffer memory should be copied
-and appended to already existing memory
+<td>flag indicating that buffer memory should be reffed
+ and appended to already existing memory. Unless the memory is marked as
+ NO_SHARE, no actual copy of the memory is made but it is simply reffed.
+ Add <em class="parameter"><code>GST_BUFFER_COPY_DEEP</code></em> to force a real copy.
</td>
</tr>
<tr>
<td><p><a name="GST-BUFFER-COPY-MERGE:CAPS"></a><span class="term"><code class="literal">GST_BUFFER_COPY_MERGE</code></span></p></td>
<td>flag indicating that buffer memory should be
-merged
+ merged
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-BUFFER-COPY-DEEP:CAPS"></a><span class="term"><code class="literal">GST_BUFFER_COPY_DEEP</code></span></p></td>
+<td>flag indicating that memory should always be
+ copied instead of reffed (Since 1.2)
</td>
</tr>
</tbody>
@@ -1981,8 +2216,11 @@ Combination of all possible fields that can be copied with
Create a copy of the given buffer. This will also make a newly allocated
copy of the data the source buffer contains.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
@@ -1999,7 +2237,7 @@ copy of the data the source buffer contains.
<hr>
<div class="refsect2">
<a name="gst-buffer-copy-into"></a><h3>gst_buffer_copy_into ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> gst_buffer_copy_into (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *dest</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_buffer_copy_into (<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *dest</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> *src</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstBuffer.html#GstBufferCopyFlags" title="enum GstBufferCopyFlags"><span class="type">GstBufferCopyFlags</span></a> flags</code></em>,
<em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
@@ -2014,8 +2252,11 @@ the memory from <em class="parameter"><code>src</code></em> will be appended to
<p>
<em class="parameter"><code>flags</code></em> indicate which fields will be copied.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -2039,6 +2280,11 @@ the memory from <em class="parameter"><code>src</code></em> will be appended to
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
<td>total size to copy. If -1, all data is copied.</td>
</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the copying succeeded, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
+</tr>
</tbody>
</table></div>
</div>
@@ -2062,8 +2308,11 @@ to <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOC
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
@@ -2102,8 +2351,11 @@ Tests if you can safely write to a buffer's metadata or its memory array.
It is only safe to change buffer metadata when the current reference is
writable, i.e. nobody can see the modifications you will make.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>
@@ -2121,8 +2373,11 @@ Makes a writable buffer from the given buffer. If the source buffer is
already writable, this will simply return the same buffer. A copy will
otherwise be made using <a class="link" href="gstreamer-GstBuffer.html#gst-buffer-copy" title="gst_buffer_copy ()"><code class="function">gst_buffer_copy()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
@@ -2152,8 +2407,11 @@ buffer is unreffed, the new is reffed).
<p>
Either <em class="parameter"><code>nbuf</code></em> or the <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a> pointed to by <em class="parameter"><code>obuf</code></em> may be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obuf</code></em> :</span></p></td>
@@ -2183,8 +2441,11 @@ replace the buffer pointed to by <em class="parameter"><code>obuf</code></em>. <
Append all the memory from <em class="parameter"><code>buf2</code></em> to <em class="parameter"><code>buf1</code></em>. The result buffer will contain a
concatenation of the memory of <em class="parameter"><code>buf1</code></em> and <em class="parameter"><code>buf2</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buf1</code></em> :</span></p></td>
@@ -2217,8 +2478,11 @@ Append <em class="parameter"><code>size</code></em> bytes at <em class="paramete
contain a concatenation of the memory of <em class="parameter"><code>buf1</code></em> and the requested region of
<em class="parameter"><code>buf2</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buf1</code></em> :</span></p></td>
@@ -2258,8 +2522,11 @@ of the two source buffers. <span class="annotation">[<acronym title="Free data a
Get the metadata for <em class="parameter"><code>api</code></em> on buffer. When there is no such
metadata, NULL is returned.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -2287,8 +2554,11 @@ metadata, NULL is returned.
<p>
Add metadata for <em class="parameter"><code>info</code></em> to <em class="parameter"><code>buffer</code></em> using the parameters in <em class="parameter"><code>params</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -2321,8 +2591,11 @@ Add metadata for <em class="parameter"><code>info</code></em> to <em class="para
<p>
Remove the metadata for <em class="parameter"><code>meta</code></em> on <em class="parameter"><code>buffer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -2355,8 +2628,11 @@ to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.ht
<p>
<em class="parameter"><code>state</code></em> will be updated with an opage state pointer
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -2396,8 +2672,11 @@ returned. When <a href="http://library.gnome.org/devel/glib/unstable/glib-Standa
<p>
When <em class="parameter"><code>meta</code></em> is set to NULL, the item will be removed from the buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -2436,8 +2715,11 @@ Call <em class="parameter"><code>func</code></em> with <em class="parameter"><co
of <em class="parameter"><code>func</code></em> define if this function returns or if the remaining metadata items
in the buffer should be skipped.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstBufferList.html b/docs/gst/html/gstreamer-GstBufferList.html
index 9175146..5863c56 100644
--- a/docs/gst/html/gstreamer-GstBufferList.html
+++ b/docs/gst/html/gstreamer-GstBufferList.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBufferList</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstBuffer.html" title="GstBuffer">
@@ -105,8 +105,11 @@ the returned <a class="link" href="gstreamer-GstBufferList.html#GstBufferList" t
<p>
Free-function: gst_buffer_list_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the new <a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a>. <a class="link" href="gstreamer-GstBufferList.html#gst-buffer-list-unref" title="gst_buffer_list_unref ()"><code class="function">gst_buffer_list_unref()</code></a>
@@ -127,8 +130,11 @@ that memory reallocations can be avoided.
<p>
Free-function: gst_buffer_list_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
@@ -150,8 +156,11 @@ after usage. <span class="annotation">[<acronym title="Free data after the code
<p>
Returns the number of buffers in <em class="parameter"><code>list</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -173,8 +182,11 @@ Returns the number of buffers in <em class="parameter"><code>list</code></em>.
<p>
Append <em class="parameter"><code>b</code></em> at the end of <em class="parameter"><code>l</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>l</code></em> :</span></p></td>
@@ -202,8 +214,11 @@ this new buffer.
<p>
A -1 value for <em class="parameter"><code>idx</code></em> will append the buffer at the end.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -232,8 +247,11 @@ A -1 value for <em class="parameter"><code>idx</code></em> will append the buffe
Remove <em class="parameter"><code>length</code></em> buffers starting from <em class="parameter"><code>idx</code></em> in <em class="parameter"><code>list</code></em>. The following buffers are
moved to close the gap.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -264,8 +282,11 @@ Note that the refcount affects the writeability of <em class="parameter"><code>l
additional references to GstBufferList instances can potentially increase
the number of memcpy operations in a pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -289,8 +310,11 @@ the number of memcpy operations in a pipeline.
Decreases the refcount of the buffer list. If the refcount reaches 0, the
buffer list will be freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -307,8 +331,11 @@ Create a shallow copy of the given buffer list. This will make a newly
allocated copy of the source list with copies of buffer pointers. The
refcount of buffers pointed to will be increased by one.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -331,8 +358,11 @@ refcount of buffers pointed to will be increased by one.
<p>
Tests if you can safely add buffers and groups into a buffer list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstBufferList.html#GstBufferList" title="GstBufferList"><span class="type">GstBufferList</span></a>
@@ -350,8 +380,11 @@ Makes a writable buffer list from the given buffer list. If the source buffer
list is already writable, this will simply return the same buffer list. A
copy will otherwise be made using <a class="link" href="gstreamer-GstBufferList.html#gst-buffer-list-copy" title="gst_buffer_list_copy ()"><code class="function">gst_buffer_list_copy()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -387,8 +420,11 @@ When <em class="parameter"><code>buffer</code></em> has been made writable, the
to <em class="parameter"><code>buffer</code></em>. This function is responsible for unreffing the old buffer when
removing or modifying.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -426,8 +462,11 @@ Call <em class="parameter"><code>func</code></em> with <em class="parameter"><co
of <em class="parameter"><code>func</code></em> define if this function returns or if the remaining buffers in
the list should be skipped.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -461,8 +500,11 @@ the list should be skipped.
<p>
Get the buffer at <em class="parameter"><code>idx</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstBufferPool.html b/docs/gst/html/gstreamer-GstBufferPool.html
index ddf2a95..5a00ca9 100644
--- a/docs/gst/html/gstreamer-GstBufferPool.html
+++ b/docs/gst/html/gstreamer-GstBufferPool.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBufferPool</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstBufferList.html" title="GstBufferList">
@@ -153,8 +153,11 @@ Last reviewed on 2012-03-28 (0.11.3)
The structure of a <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a>. Use the associated macros to access the public
variables.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> <em class="structfield"><code><a name="GstBufferPool.object"></a>object</code></em>;</span></p></td>
<td>the parent structure</td>
@@ -186,8 +189,11 @@ variables.
<p>
The GstBufferPool class.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstObject.html#GstObjectClass" title="struct GstObjectClass"><span class="type">GstObjectClass</span></a> <em class="structfield"><code><a name="GstBufferPoolClass.object-class"></a>object_class</code></em>;</span></p></td>
@@ -256,8 +262,11 @@ blocking acquire_buffer calls.</td>
Check if the bufferpool is flushing. Subclasses might want to check the
state of the pool in the acquire function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
<td>a GstBufferPool</td>
@@ -271,8 +280,11 @@ state of the pool in the acquire function.
<p>
Creates a new <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> instance. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -291,8 +303,11 @@ Creates a new <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool"
<p>
Get the configuration values from <em class="parameter"><code>config</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td>
@@ -338,8 +353,11 @@ Get the configuration values from <em class="parameter"><code>config</code></em>
<p>
Configure <em class="parameter"><code>config</code></em> with the given parameters.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td>
@@ -374,8 +392,11 @@ Configure <em class="parameter"><code>config</code></em> with the given paramete
<p>
Get the allocator and params from <em class="parameter"><code>config</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td>
@@ -417,8 +438,11 @@ to operate with different allocators or cannot allocate with the values
specified in <em class="parameter"><code>params</code></em>. Use <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-get-config" title="gst_buffer_pool_get_config ()"><code class="function">gst_buffer_pool_get_config()</code></a> to get the currently
used values.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td>
@@ -444,8 +468,11 @@ used values.
Retrieve the number of values currently stored in the
options array of the <em class="parameter"><code>config</code></em> structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td>
@@ -470,8 +497,11 @@ the specified option on the buffers that it allocates.
<p>
The supported options by <em class="parameter"><code>pool</code></em> can be retrieved with <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-get-options" title="gst_buffer_pool_get_options ()"><code class="function">gst_buffer_pool_get_options()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td>
@@ -493,8 +523,11 @@ The supported options by <em class="parameter"><code>pool</code></em> can be ret
Parse an available <em class="parameter"><code>config</code></em> and get the option
at <em class="parameter"><code>index</code></em> of the options API array.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td>
@@ -519,8 +552,11 @@ at <em class="parameter"><code>index</code></em> of the options API array.
<p>
Check if <em class="parameter"><code>config</code></em> contains <em class="parameter"><code>option</code></em>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>config</code></em> :</span></p></td>
@@ -546,8 +582,11 @@ Get a NULL terminated array of string with supported bufferpool options for
<em class="parameter"><code>pool</code></em>. An option would typically be enabled with
<a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-config-add-option" title="gst_buffer_pool_config_add_option ()"><code class="function">gst_buffer_pool_config_add_option()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
@@ -570,8 +609,11 @@ Get a NULL terminated array of string with supported bufferpool options for
<p>
Check if the bufferpool supports <em class="parameter"><code>option</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
@@ -598,8 +640,11 @@ Get a copy of the current configuration of the pool. This configuration
can either be modified and used for the <a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-set-config" title="gst_buffer_pool_set_config ()"><code class="function">gst_buffer_pool_set_config()</code></a> call
or it must be freed after usage.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
@@ -639,8 +684,11 @@ then be retrieved and refined with <a class="link" href="gstreamer-GstBufferPool
<p>
This function takes ownership of <em class="parameter"><code>config</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
@@ -677,8 +725,11 @@ Deactivating will free the resources again when there are no outstanding
buffers. When there are outstanding buffers, they will be freed as soon as
they are all returned to the pool.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
@@ -706,8 +757,11 @@ buffers failed.</td>
Check if <em class="parameter"><code>pool</code></em> is active. A pool can be activated with the
<a class="link" href="gstreamer-GstBufferPool.html#gst-buffer-pool-set-active" title="gst_buffer_pool_set_active ()"><code class="function">gst_buffer_pool_set_active()</code></a> call.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
@@ -736,8 +790,11 @@ Check if <em class="parameter"><code>pool</code></em> is active. A pool can be a
<p>
Additional flags to control the allocation of a buffer
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-BUFFER-POOL-ACQUIRE-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_BUFFER_POOL_ACQUIRE_FLAG_NONE</code></span></p></td>
@@ -789,8 +846,11 @@ The default implementation ignores the <em class="parameter"><code>start</code><
implementations can use this extra information to decide what buffer to
return.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> <em class="structfield"><code><a name="GstBufferPoolAcquireParams.format"></a>format</code></em>;</span></p></td>
@@ -825,8 +885,11 @@ can hold a pointer to the new buffer.
<p>
<em class="parameter"><code>params</code></em> can be NULL or contain optional parameters to influence the allocation.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
@@ -863,8 +926,11 @@ Release <em class="parameter"><code>buffer</code></em> to <em class="parameter">
This function is usually called automatically when the last ref on <em class="parameter"><code>buffer</code></em>
disappears.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstCaps.html b/docs/gst/html/gstreamer-GstCaps.html
index 4bc35c9..831fc39 100644
--- a/docs/gst/html/gstreamer-GstCaps.html
+++ b/docs/gst/html/gstreamer-GstCaps.html
@@ -3,11 +3,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstCaps</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstBus.html" title="GstBus">
-<link rel="next" href="gstreamer-GstSample.html" title="GstSample">
+<link rel="next" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
@@ -18,7 +18,7 @@
<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th>
-<td><a accesskey="n" href="gstreamer-GstSample.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gstreamer-GstCapsFeatures.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gstreamer-GstCaps.synopsis" class="shortcut">Top</a>
@@ -81,15 +81,26 @@ enum <a class="link" href="gstreamer-GstCaps.html#GstCapsFlags" t
<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps2</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstCaps.html#gst-caps-append-structure" title="gst_caps_append_structure ()">gst_caps_append_structure</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstCaps.html#gst-caps-append-structure-full" title="gst_caps_append_structure_full ()">gst_caps_append_structure_full</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstCaps.html#gst-caps-remove-structure" title="gst_caps_remove_structure ()">gst_caps_remove_structure</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);
<a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstCaps.html#gst-caps-steal-structure" title="gst_caps_steal_structure ()">gst_caps_steal_structure</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);
<a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="returnvalue">GstCaps</span></a> * <a class="link" href="gstreamer-GstCaps.html#gst-caps-merge-structure" title="gst_caps_merge_structure ()">gst_caps_merge_structure</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);
+<a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="returnvalue">GstCaps</span></a> * <a class="link" href="gstreamer-GstCaps.html#gst-caps-merge-structure-full" title="gst_caps_merge_structure_full ()">gst_caps_merge_structure_full</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-GstCaps.html#gst-caps-get-size" title="gst_caps_get_size ()">gst_caps_get_size</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);
<a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstCaps.html#gst-caps-get-structure" title="gst_caps_get_structure ()">gst_caps_get_structure</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * <a class="link" href="gstreamer-GstCaps.html#gst-caps-get-features" title="gst_caps_get_features ()">gst_caps_get_features</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstCaps.html#gst-caps-set-features" title="gst_caps_set_features ()">gst_caps_set_features</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstCaps.html#gst-caps-set-value" title="gst_caps_set_value ()">gst_caps_set_value</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *field</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);
@@ -114,6 +125,9 @@ enum <a class="link" href="gstreamer-GstCaps.html#GstCapsFlags" t
<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *superset</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstCaps.html#gst-caps-is-subset-structure" title="gst_caps_is_subset_structure ()">gst_caps_is_subset_structure</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
<em class="parameter"><code>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstCaps.html#gst-caps-is-subset-structure-full" title="gst_caps_is_subset_structure_full ()">gst_caps_is_subset_structure_full</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstCaps.html#gst-caps-can-intersect" title="gst_caps_can_intersect ()">gst_caps_can_intersect</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps1</code></em>,
<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps2</code></em>);
<a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="returnvalue">GstCaps</span></a> * <a class="link" href="gstreamer-GstCaps.html#gst-caps-intersect" title="gst_caps_intersect ()">gst_caps_intersect</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps1</code></em>,
@@ -160,7 +174,7 @@ A <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><
<p>
</p>
<div class="example">
-<a name="idp17106768"></a><p class="title"><b>Example 4. Creating caps</b></p>
+<a name="idp16071872"></a><p class="title"><b>Example 4. Creating caps</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -213,8 +227,11 @@ Last reviewed on 2011-03-28 (0.11.3)
<p>
Object describing media types.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstCaps.mini-object"></a>mini_object</code></em>;</span></p></td>
<td>the parent type</td>
@@ -234,8 +251,11 @@ Datastructure to initialize <a class="link" href="gstreamer-GstCaps.html#GstCaps
used in conjunction with <a class="link" href="gstreamer-GstCaps.html#GST-STATIC-CAPS" title="GST_STATIC_CAPS()"><code class="function">GST_STATIC_CAPS()</code></a> and <a class="link" href="gstreamer-GstCaps.html#gst-static-caps-get" title="gst_static_caps_get ()"><code class="function">gst_static_caps_get()</code></a> to
instantiate a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *<em class="structfield"><code><a name="GstStaticCaps.caps"></a>caps</code></em>;</span></p></td>
@@ -294,8 +314,11 @@ another element's caps priority order when intersecting with its own caps.
Example: If caps1 is [A, B, C] and caps2 is [E, B, D, A], the result
would be [A, B], maintaining the first caps priority on the intersection.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-CAPS-INTERSECT-ZIG-ZAG:CAPS"></a><span class="term"><code class="literal">GST_CAPS_INTERSECT_ZIG_ZAG</code></span></p></td>
@@ -320,8 +343,11 @@ would be [A, B], maintaining the first caps priority on the intersection.
<p>
Extra flags for a caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><a name="GST-CAPS-FLAG-ANY:CAPS"></a><span class="term"><code class="literal">GST_CAPS_FLAG_ANY</code></span></p></td>
<td>Caps has no specific content, but can contain
@@ -360,8 +386,11 @@ and should not be unreffed.
<p>
Get access to the reference count field of the caps
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>
@@ -377,8 +406,11 @@ Get access to the reference count field of the caps
<p>
Get the reference count value of the caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>
@@ -415,8 +447,11 @@ This can be used in pad templates.
Convenience macro that checks if the number of structures in the given caps
is exactly one.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
<td>the <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> instance to check</td>
@@ -431,8 +466,11 @@ is exactly one.
Creates a new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> static caps from an input string.
This can be used in pad templates.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
<td>the string describing the caps</td>
@@ -447,8 +485,11 @@ This can be used in pad templates.
<p>
A flags word containing <a class="link" href="gstreamer-GstCaps.html#GstCapsFlags" title="enum GstCapsFlags"><span class="type">GstCapsFlags</span></a> flags set on this caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>.</td>
@@ -463,8 +504,11 @@ A flags word containing <a class="link" href="gstreamer-GstCaps.html#GstCapsFlag
<p>
Gives the status of a specific flag on a caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -485,8 +529,11 @@ Gives the status of a specific flag on a caps.
<p>
Sets a caps flag on a caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -507,8 +554,11 @@ Sets a caps flag on a caps.
<p>
Clears a caps flag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -531,8 +581,11 @@ Creates a new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struc
The <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> is guaranteed to be writable.
Caller is responsible for unreffing the returned caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -549,8 +602,11 @@ Creates a new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struc
<em class="parameter"><code>media_type</code></em>.
Caller is responsible for unreffing the returned caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>media_type</code></em> :</span></p></td>
@@ -572,8 +628,11 @@ Caller is responsible for unreffing the returned caps.
Creates a new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> that indicates that it is compatible with
any media format.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -593,8 +652,11 @@ structure is defined by the arguments, which have the same format
as <a class="link" href="gstreamer-GstStructure.html#gst-structure-new" title="gst_structure_new ()"><code class="function">gst_structure_new()</code></a>.
Caller is responsible for unreffing the returned caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>media_type</code></em> :</span></p></td>
@@ -626,8 +688,11 @@ Creates a new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struc
arguments. The list must be NULL-terminated. The structures
are not copied; the returned <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> owns the structures.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>struct1</code></em> :</span></p></td>
@@ -655,8 +720,11 @@ Creates a new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struc
arguments. The list must be NULL-terminated. The structures
are not copied; the returned <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> owns the structures.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -683,8 +751,11 @@ are not copied; the returned <a class="link" href="gstreamer-GstCaps.html#GstCap
Tests if you can safely modify <em class="parameter"><code>caps</code></em>. It is only safe to modify caps when
there is only one owner of the caps - ie, the object is writable.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>
@@ -708,8 +779,11 @@ reference to the data, you should use <a class="link" href="gstreamer-GstCaps.ht
<p>
When you are finished with the caps, call <a class="link" href="gstreamer-GstCaps.html#gst-caps-unref" title="gst_caps_unref ()"><code class="function">gst_caps_unref()</code></a> on it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -732,8 +806,11 @@ When you are finished with the caps, call <a class="link" href="gstreamer-GstCap
Creates a new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> and appends a copy of the nth structure
contained in <em class="parameter"><code>caps</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -758,8 +835,11 @@ contained in <em class="parameter"><code>caps</code></em>.
<p>
Converts a <a class="link" href="gstreamer-GstCaps.html#GstStaticCaps" title="struct GstStaticCaps"><span class="type">GstStaticCaps</span></a> to a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>static_caps</code></em> :</span></p></td>
@@ -782,8 +862,11 @@ use <a class="link" href="gstreamer-GstCaps.html#gst-caps-make-writable" title="
<p>
Clean up the cached caps contained in <em class="parameter"><code>static_caps</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>static_caps</code></em> :</span></p></td>
<td>the <a class="link" href="gstreamer-GstCaps.html#GstStaticCaps" title="struct GstStaticCaps"><span class="type">GstStaticCaps</span></a> to clean</td>
@@ -800,8 +883,11 @@ Appends the structures contained in <em class="parameter"><code>caps2</code></em
<em class="parameter"><code>caps2</code></em> are not copied -- they are transferred to <em class="parameter"><code>caps1</code></em>, and then <em class="parameter"><code>caps2</code></em> is
freed. If either caps is ANY, the resulting caps will be ANY.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps1</code></em> :</span></p></td>
@@ -826,8 +912,11 @@ expressed by <em class="parameter"><code>caps1</code></em>. The structures in <e
transferred to a writable copy of <em class="parameter"><code>caps1</code></em>, and then <em class="parameter"><code>caps2</code></em> is freed.
If either caps is ANY, the resulting caps will be ANY.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps1</code></em> :</span></p></td>
@@ -856,8 +945,11 @@ If either caps is ANY, the resulting caps will be ANY.
Appends <em class="parameter"><code>structure</code></em> to <em class="parameter"><code>caps</code></em>. The structure is not copied; <em class="parameter"><code>caps</code></em>
becomes the owner of <em class="parameter"><code>structure</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -873,6 +965,39 @@ becomes the owner of <em class="parameter"><code>structure</code></em>.
</div>
<hr>
<div class="refsect2">
+<a name="gst-caps-append-structure-full"></a><h3>gst_caps_append_structure_full ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_caps_append_structure_full (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);</pre>
+<p>
+Appends <em class="parameter"><code>structure</code></em> with <em class="parameter"><code>features</code></em> to <em class="parameter"><code>caps</code></em>. The structure is not copied; <em class="parameter"><code>caps</code></em>
+becomes the owner of <em class="parameter"><code>structure</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
+<td>the <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> that will be appended to</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
+<td>the <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> to append. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>the <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> to append. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-caps-remove-structure"></a><h3>gst_caps_remove_structure ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_caps_remove_structure (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
@@ -880,8 +1005,11 @@ becomes the owner of <em class="parameter"><code>structure</code></em>.
removes the stucture with the given index from the list of structures
contained in <em class="parameter"><code>caps</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -903,8 +1031,11 @@ contained in <em class="parameter"><code>caps</code></em>.
Retrieves the structure with the given index from the list of structures
contained in <em class="parameter"><code>caps</code></em>. The caller becomes the owner of the returned structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -931,8 +1062,44 @@ to <em class="parameter"><code>index</code></em>. <span class="annotation">[<acr
<p>
Appends <em class="parameter"><code>structure</code></em> to <em class="parameter"><code>caps</code></em> if its not already expressed by <em class="parameter"><code>caps</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
+<td>the <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> to merge into. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
+<td>the <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> to merge. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the merged caps. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-merge-structure-full"></a><h3>gst_caps_merge_structure_full ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="returnvalue">GstCaps</span></a> * gst_caps_merge_structure_full (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);</pre>
+<p>
+Appends <em class="parameter"><code>structure</code></em> with <em class="parameter"><code>features</code></em> to <em class="parameter"><code>caps</code></em> if its not already expressed by <em class="parameter"><code>caps</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -945,6 +1112,11 @@ Appends <em class="parameter"><code>structure</code></em> to <em class="paramete
</td>
</tr>
<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>the <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> to merge. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the merged caps. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
@@ -959,8 +1131,11 @@ Appends <em class="parameter"><code>structure</code></em> to <em class="paramete
<p>
Gets the number of structures contained in <em class="parameter"><code>caps</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -997,8 +1172,11 @@ structure returned in the usual way, e.g. with functions like
You do not need to free or unref the structure returned, it
belongs to the <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1020,6 +1198,85 @@ to <em class="parameter"><code>index</code></em>. <span class="annotation">[<acr
</div>
<hr>
<div class="refsect2">
+<a name="gst-caps-get-features"></a><h3>gst_caps_get_features ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * gst_caps_get_features (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);</pre>
+<p>
+Finds the features in <em class="parameter"><code>caps</code></em> that has the index <em class="parameter"><code>index</code></em>, and
+returns it.
+</p>
+<p>
+WARNING: This function takes a const GstCaps *, but returns a
+non-const GstCapsFeatures *. This is for programming convenience --
+the caller should be aware that structures inside a constant
+<a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> should not be modified. However, if you know the caps
+are writable, either because you have just copied them or made
+them writable with <a class="link" href="gstreamer-GstCaps.html#gst-caps-make-writable" title="gst_caps_make_writable()"><code class="function">gst_caps_make_writable()</code></a>, you may modify the
+features returned in the usual way, e.g. with functions like
+<a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-add" title="gst_caps_features_add ()"><code class="function">gst_caps_features_add()</code></a>.
+</p>
+<p>
+You do not need to free or unref the structure returned, it
+belongs to the <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
+<td>the index of the structure</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a pointer to the <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> corresponding
+to <em class="parameter"><code>index</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-set-features"></a><h3>gst_caps_set_features ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_caps_set_features (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);</pre>
+<p>
+Sets the <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> <em class="parameter"><code>features</code></em> for the structure at <em class="parameter"><code>index</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
+<td>the index of the structure</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>the <span class="type">GstFeatures</span> to set. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-caps-set-value"></a><h3>gst_caps_set_value ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_caps_set_value (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *field</code></em>,
@@ -1029,8 +1286,11 @@ Sets the given <em class="parameter"><code>field</code></em> on all structures o
This is a convenience function for calling <a class="link" href="gstreamer-GstStructure.html#gst-structure-set-value" title="gst_structure_set_value ()"><code class="function">gst_structure_set_value()</code></a> on
all structures of <em class="parameter"><code>caps</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1057,8 +1317,11 @@ all structures of <em class="parameter"><code>caps</code></em>.
Sets fields in a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>. The arguments must be passed in the same
manner as <a class="link" href="gstreamer-GstStructure.html#gst-structure-set" title="gst_structure_set ()"><code class="function">gst_structure_set()</code></a>, and be NULL-terminated.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1085,8 +1348,11 @@ manner as <a class="link" href="gstreamer-GstStructure.html#gst-structure-set" t
Sets fields in a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>. The arguments must be passed in the same
manner as <a class="link" href="gstreamer-GstStructure.html#gst-structure-set" title="gst_structure_set ()"><code class="function">gst_structure_set()</code></a>, and be NULL-terminated.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1110,8 +1376,11 @@ manner as <a class="link" href="gstreamer-GstStructure.html#gst-structure-set" t
<p>
Determines if <em class="parameter"><code>caps</code></em> represents any media format.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1131,8 +1400,11 @@ Determines if <em class="parameter"><code>caps</code></em> represents any media
<p>
Determines if <em class="parameter"><code>caps</code></em> represents no media formats.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1154,8 +1426,11 @@ Fixed <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCap
one structure, and each field in the structure describes a fixed type.
Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1176,13 +1451,11 @@ Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST.
<p>
Checks if the given caps represent the same set of caps.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Note</h3>This function does not work reliably if optional properties for caps
-are included on one caps and omitted on the other.</div>
-<p>
-</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps1</code></em> :</span></p></td>
@@ -1210,8 +1483,11 @@ are included on one caps and omitted on the other.</div>
Tests if two <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> are equal. This function only works on fixed
<a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps1</code></em> :</span></p></td>
@@ -1236,8 +1512,11 @@ Tests if two <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct
<p>
Checks if the given caps are exactly the same set of caps.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps1</code></em> :</span></p></td>
@@ -1266,8 +1545,11 @@ A given <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstC
every media format that is in the first is also contained in the
second. That is, <em class="parameter"><code>caps1</code></em> is a subset of <em class="parameter"><code>caps2</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps1</code></em> :</span></p></td>
@@ -1292,13 +1574,11 @@ second. That is, <em class="parameter"><code>caps1</code></em> is a subset of <
<p>
Checks if all caps represented by <em class="parameter"><code>subset</code></em> are also represented by <em class="parameter"><code>superset</code></em>.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Note</h3>This function does not work reliably if optional properties for caps
-are included on one caps and omitted on the other.</div>
-<p>
-</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>subset</code></em> :</span></p></td>
@@ -1328,8 +1608,46 @@ are included on one caps and omitted on the other.</div>
Checks if <em class="parameter"><code>structure</code></em> is a subset of <em class="parameter"><code>caps</code></em>. See <a class="link" href="gstreamer-GstCaps.html#gst-caps-is-subset" title="gst_caps_is_subset ()"><code class="function">gst_caps_is_subset()</code></a>
for more information.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
+<td>a potential <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> subset of <em class="parameter"><code>caps</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>structure</code></em> is a subset of <em class="parameter"><code>caps</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-is-subset-structure-full"></a><h3>gst_caps_is_subset_structure_full ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_caps_is_subset_structure_full (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);</pre>
+<p>
+Checks if <em class="parameter"><code>structure</code></em> is a subset of <em class="parameter"><code>caps</code></em>. See <a class="link" href="gstreamer-GstCaps.html#gst-caps-is-subset" title="gst_caps_is_subset ()"><code class="function">gst_caps_is_subset()</code></a>
+for more information.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1342,6 +1660,11 @@ for more information.
</td>
</tr>
<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> for <em class="parameter"><code>structure</code></em>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>structure</code></em> is a subset of <em class="parameter"><code>caps</code></em>
@@ -1359,8 +1682,11 @@ for more information.
Tries intersecting <em class="parameter"><code>caps1</code></em> and <em class="parameter"><code>caps2</code></em> and reports whether the result would not
be empty
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps1</code></em> :</span></p></td>
@@ -1387,8 +1713,11 @@ be empty
Creates a new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> that contains all the formats that are common
to both <em class="parameter"><code>caps1</code></em> and <em class="parameter"><code>caps2</code></em>. Defaults to <a class="link" href="gstreamer-GstCaps.html#GST-CAPS-INTERSECT-ZIG-ZAG:CAPS"><code class="literal">GST_CAPS_INTERSECT_ZIG_ZAG</code></a> mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps1</code></em> :</span></p></td>
@@ -1417,8 +1746,11 @@ Creates a new <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struc
to both <em class="parameter"><code>caps1</code></em> and <em class="parameter"><code>caps2</code></em>, the order is defined by the <a class="link" href="gstreamer-GstCaps.html#GstCapsIntersectMode" title="enum GstCapsIntersectMode"><span class="type">GstCapsIntersectMode</span></a>
used.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps1</code></em> :</span></p></td>
@@ -1452,8 +1784,11 @@ Returns a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct Gs
<p>
This function takes ownership of <em class="parameter"><code>caps</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1481,8 +1816,11 @@ merged are also merged.
<p>
This method does not preserve the original order of <em class="parameter"><code>caps</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1510,8 +1848,11 @@ caps is unreffed, the new is reffed).
<p>
Either <em class="parameter"><code>ncaps</code></em> or the <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> pointed to by <em class="parameter"><code>ocaps</code></em> may be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>old_caps</code></em> :</span></p></td>
@@ -1543,8 +1884,11 @@ Modifies a pointer to a <a class="link" href="gstreamer-GstCaps.html#GstCaps" ti
function is similar to <a class="link" href="gstreamer-GstCaps.html#gst-caps-replace" title="gst_caps_replace ()"><code class="function">gst_caps_replace()</code></a> except that it takes ownership
of <em class="parameter"><code>new_caps</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>old_caps</code></em> :</span></p></td>
@@ -1591,8 +1935,11 @@ For debugging purposes its easier to do something like this:
<p>
This prints the caps in human readable form.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1614,8 +1961,11 @@ This prints the caps in human readable form.
<p>
Converts <em class="parameter"><code>caps</code></em> from a string representation.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
@@ -1643,8 +1993,11 @@ Subtracts the <em class="parameter"><code>subtrahend</code></em> from the <em cl
are included on one caps and omitted on the other.</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>minuend</code></em> :</span></p></td>
@@ -1683,8 +2036,11 @@ In short, this function unrefs the caps in the argument and refs the caps
that it returns. Don't access the argument after calling this function. See
also: <a class="link" href="gstreamer-GstCaps.html#gst-caps-ref" title="gst_caps_ref ()"><code class="function">gst_caps_ref()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1708,8 +2064,11 @@ same as <em class="parameter"><code>caps</code></em>. <span class="annotation">[
Discard all but the first structure from <em class="parameter"><code>caps</code></em>. Useful when
fixating.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1733,8 +2092,11 @@ Modifies the given <em class="parameter"><code>caps</code></em> into a represent
values. First the caps will be truncated and then the first structure will be
fixated with <a class="link" href="gstreamer-GstStructure.html#gst-structure-fixate" title="gst_structure_fixate ()"><code class="function">gst_structure_fixate()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1764,8 +2126,11 @@ object, you must always have a refcount on it -- either the one made
implicitly by e.g. <a class="link" href="gstreamer-GstCaps.html#gst-caps-new-simple" title="gst_caps_new_simple ()"><code class="function">gst_caps_new_simple()</code></a>, or via taking one explicitly with
this function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1786,8 +2151,11 @@ this function.
Unref a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> and and free all its structures and the
structures' values when the refcount reaches 0.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>.</td>
diff --git a/docs/gst/html/gstreamer-GstCapsFeatures.html b/docs/gst/html/gstreamer-GstCapsFeatures.html
new file mode 100644
index 0000000..89a3144
--- /dev/null
+++ b/docs/gst/html/gstreamer-GstCapsFeatures.html
@@ -0,0 +1,783 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GstCapsFeatures</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
+<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
+<link rel="prev" href="gstreamer-GstCaps.html" title="GstCaps">
+<link rel="next" href="gstreamer-GstSample.html" title="GstSample">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="gstreamer-GstCaps.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th>
+<td><a accesskey="n" href="gstreamer-GstSample.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#gstreamer-GstCapsFeatures.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#gstreamer-GstCapsFeatures.description" class="shortcut">Description</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="gstreamer-GstCapsFeatures"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gstreamer-GstCapsFeatures.top_of_page"></a>GstCapsFeatures</span></h2>
+<p>GstCapsFeatures — A set of features in caps</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<a name="gstreamer-GstCapsFeatures.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">
+#include &lt;gst/gst.h&gt;
+
+ <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures">GstCapsFeatures</a>;
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new" title="gst_caps_features_new ()">gst_caps_features_new</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature1</code></em>,
+ <em class="parameter"><code>...</code></em>);
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-empty" title="gst_caps_features_new_empty ()">gst_caps_features_new_empty</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-any" title="gst_caps_features_new_any ()">gst_caps_features_new_any</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-id" title="gst_caps_features_new_id ()">gst_caps_features_new_id</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> feature1</code></em>,
+ <em class="parameter"><code>...</code></em>);
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-id-valist" title="gst_caps_features_new_id_valist ()">gst_caps_features_new_id_valist</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> feature1</code></em>,
+ <em class="parameter"><code><span class="type">va_list</span> varargs</code></em>);
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-valist" title="gst_caps_features_new_valist ()">gst_caps_features_new_valist</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature1</code></em>,
+ <em class="parameter"><code><span class="type">va_list</span> varargs</code></em>);
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-copy" title="gst_caps_features_copy ()">gst_caps_features_copy</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-free" title="gst_caps_features_free ()">gst_caps_features_free</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-from-string" title="gst_caps_features_from_string ()">gst_caps_features_from_string</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *features</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-to-string" title="gst_caps_features_to_string ()">gst_caps_features_to_string</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-set-parent-refcount" title="gst_caps_features_set_parent_refcount ()">gst_caps_features_set_parent_refcount</a>
+ (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *refcount</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-is-equal" title="gst_caps_features_is_equal ()">gst_caps_features_is_equal</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features2</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-is-any" title="gst_caps_features_is_any ()">gst_caps_features_is_any</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-contains" title="gst_caps_features_contains ()">gst_caps_features_contains</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-contains-id" title="gst_caps_features_contains_id ()">gst_caps_features_contains_id</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> feature</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-get-size" title="gst_caps_features_get_size ()">gst_caps_features_get_size</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-get-nth" title="gst_caps_features_get_nth ()">gst_caps_features_get_nth</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> i</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-get-nth-id" title="gst_caps_features_get_nth_id ()">gst_caps_features_get_nth_id</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> i</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-add" title="gst_caps_features_add ()">gst_caps_features_add</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-add-id" title="gst_caps_features_add_id ()">gst_caps_features_add_id</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> feature</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-remove" title="gst_caps_features_remove ()">gst_caps_features_remove</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-remove-id" title="gst_caps_features_remove_id ()">gst_caps_features_remove_id</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> feature</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="gstreamer-GstCapsFeatures.description"></a><h2>Description</h2>
+<p>
+<a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> can optionally be set on a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> to add requirements
+for additional features for a specific <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>. Caps structures with
+the same name but with a non-equal set of caps features are not compatible.
+If a pad supports multiple sets of features it has to add multiple equal
+structures with different feature sets to the caps.
+</p>
+<p>
+Empty <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> are equivalent with the <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> that only
+contain <span class="type">GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY</span>. ANY <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> as
+created by <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-new-any" title="gst_caps_features_new_any ()"><code class="function">gst_caps_features_new_any()</code></a> are equal to any other <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>
+and can be used to specify that any <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> would be supported, e.g.
+for elements that don't touch buffer memory. <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> with ANY <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>
+are considered non-fixed and during negotiation some <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> have
+to be selected.
+</p>
+<p>
+Examples for caps features would be the requirement of a specific <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>
+types or the requirement of having a specific <a class="link" href="gstreamer-GstMeta.html#GstMeta" title="struct GstMeta"><span class="type">GstMeta</span></a> on the buffer. Features
+are given as a string of the format "memory:GstMemoryTypeName" or
+"meta:GstMetaAPIName".
+</p>
+</div>
+<div class="refsect1">
+<a name="gstreamer-GstCapsFeatures.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="GstCapsFeatures"></a><h3>GstCapsFeatures</h3>
+<pre class="programlisting">typedef struct _GstCapsFeatures GstCapsFeatures;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-new"></a><h3>gst_caps_features_new ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * gst_caps_features_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature1</code></em>,
+ <em class="parameter"><code>...</code></em>);</pre>
+<p>
+Creates a new <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> with the given features.
+The last argument must be NULL.
+</p>
+<p>
+Free-function: gst_caps_features_free
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature1</code></em> :</span></p></td>
+<td>name of first feature to set</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
+<td>additional features</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new, empty <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-new-empty"></a><h3>gst_caps_features_new_empty ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * gst_caps_features_new_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+Creates a new, empty <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.
+</p>
+<p>
+Free-function: gst_caps_features_free
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new, empty <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-new-any"></a><h3>gst_caps_features_new_any ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * gst_caps_features_new_any (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+Creates a new, ANY <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. This will be equal
+to any other <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> but caps with these are
+unfixed.
+</p>
+<p>
+Free-function: gst_caps_features_free
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new, ANY <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-new-id"></a><h3>gst_caps_features_new_id ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * gst_caps_features_new_id (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> feature1</code></em>,
+ <em class="parameter"><code>...</code></em>);</pre>
+<p>
+Creates a new <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> with the given features.
+The last argument must be 0.
+</p>
+<p>
+Free-function: gst_caps_features_free
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature1</code></em> :</span></p></td>
+<td>name of first feature to set</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
+<td>additional features</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new, empty <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-new-id-valist"></a><h3>gst_caps_features_new_id_valist ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * gst_caps_features_new_id_valist (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> feature1</code></em>,
+ <em class="parameter"><code><span class="type">va_list</span> varargs</code></em>);</pre>
+<p>
+Creates a new <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> with the given features.
+</p>
+<p>
+Free-function: gst_caps_features_free
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature1</code></em> :</span></p></td>
+<td>name of first feature to set</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>varargs</code></em> :</span></p></td>
+<td>variable argument list</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new, empty <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-new-valist"></a><h3>gst_caps_features_new_valist ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * gst_caps_features_new_valist (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature1</code></em>,
+ <em class="parameter"><code><span class="type">va_list</span> varargs</code></em>);</pre>
+<p>
+Creates a new <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> with the given features.
+</p>
+<p>
+Free-function: gst_caps_features_free
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature1</code></em> :</span></p></td>
+<td>name of first feature to set</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>varargs</code></em> :</span></p></td>
+<td>variable argument list</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new, empty <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-copy"></a><h3>gst_caps_features_copy ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * gst_caps_features_copy (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);</pre>
+<p>
+Duplicates a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> and all its values.
+</p>
+<p>
+Free-function: gst_caps_features_free
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> to duplicate</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-free"></a><h3>gst_caps_features_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_caps_features_free (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);</pre>
+<p>
+Frees a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> and all its values. The caps features must not
+have a parent when this function is called.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>the <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> to free. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-from-string"></a><h3>gst_caps_features_from_string ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * gst_caps_features_from_string (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *features</code></em>);</pre>
+<p>
+Creates a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> from a string representation.
+</p>
+<p>
+Free-function: gst_caps_features_free
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a string representation of a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> or NULL when the string could
+not be parsed. Free with <a class="link" href="gstreamer-GstCapsFeatures.html#gst-caps-features-free" title="gst_caps_features_free ()"><code class="function">gst_caps_features_free()</code></a> after use. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-to-string"></a><h3>gst_caps_features_to_string ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_caps_features_to_string (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);</pre>
+<p>
+Converts <em class="parameter"><code>features</code></em> to a human-readable string representation.
+</p>
+<p>
+For debugging purposes its easier to do something like this:
+</p>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-LOG:CAPS">GST_LOG</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;features is %&quot;</span> GST_PTR_FORMAT<span class="gtkdoc opt">,</span> features<span class="gtkdoc opt">);</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<p>
+This prints the features in human readble form.
+</p>
+<p>
+Free-function: g_free
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a pointer to string allocated by <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-malloc"><code class="function">g_malloc()</code></a>.
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-set-parent-refcount"></a><h3>gst_caps_features_set_parent_refcount ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_caps_features_set_parent_refcount
+ (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *refcount</code></em>);</pre>
+<p>
+Sets the parent_refcount field of <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>. This field is used to
+determine whether a caps features is mutable or not. This function should only be
+called by code implementing parent objects of <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>, as described in
+the MT Refcounting section of the design documents.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>refcount</code></em> :</span></p></td>
+<td>a pointer to the parent's refcount. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the parent refcount could be set.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-is-equal"></a><h3>gst_caps_features_is_equal ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_caps_features_is_equal (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features2</code></em>);</pre>
+<p>
+Check if <em class="parameter"><code>features1</code></em> and <em class="parameter"><code>features2</code></em> are equal.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features1</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features2</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>features1</code></em> and <em class="parameter"><code>features2</code></em> are equal.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-is-any"></a><h3>gst_caps_features_is_any ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_caps_features_is_any (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);</pre>
+<p>
+Check if <em class="parameter"><code>features</code></em> is <code class="literal">GST_CAPS_FEATURES_ANY</code>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>features</code></em> is <code class="literal">GST_CAPS_FEATURES_ANY</code>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-contains"></a><h3>gst_caps_features_contains ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_caps_features_contains (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature</code></em>);</pre>
+<p>
+Check if <em class="parameter"><code>features</code></em> contains <em class="parameter"><code>feature</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
+<td>a feature</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>features</code></em> contains <em class="parameter"><code>feature</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-contains-id"></a><h3>gst_caps_features_contains_id ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_caps_features_contains_id (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> feature</code></em>);</pre>
+<p>
+Check if <em class="parameter"><code>features</code></em> contains <em class="parameter"><code>feature</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
+<td>a feature</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>features</code></em> contains <em class="parameter"><code>feature</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-get-size"></a><h3>gst_caps_features_get_size ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_caps_features_get_size (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);</pre>
+<p>
+Returns the number of features in <em class="parameter"><code>features</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The number of features in <em class="parameter"><code>features</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-get-nth"></a><h3>gst_caps_features_get_nth ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_caps_features_get_nth (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> i</code></em>);</pre>
+<p>
+Returns the <em class="parameter"><code>i</code></em>-th feature of <em class="parameter"><code>features</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>i</code></em> :</span></p></td>
+<td>index of the feature</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The <em class="parameter"><code>i</code></em>-th feature of <em class="parameter"><code>features</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-get-nth-id"></a><h3>gst_caps_features_get_nth_id ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a> gst_caps_features_get_nth_id (<em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> i</code></em>);</pre>
+<p>
+Returns the <em class="parameter"><code>i</code></em>-th feature of <em class="parameter"><code>features</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>i</code></em> :</span></p></td>
+<td>index of the feature</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The <em class="parameter"><code>i</code></em>-th feature of <em class="parameter"><code>features</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-add"></a><h3>gst_caps_features_add ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_caps_features_add (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature</code></em>);</pre>
+<p>
+Adds <em class="parameter"><code>feature</code></em> to <em class="parameter"><code>features</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
+<td>a feature.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-add-id"></a><h3>gst_caps_features_add_id ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_caps_features_add_id (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> feature</code></em>);</pre>
+<p>
+Adds <em class="parameter"><code>feature</code></em> to <em class="parameter"><code>features</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
+<td>a feature.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-remove"></a><h3>gst_caps_features_remove ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_caps_features_remove (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature</code></em>);</pre>
+<p>
+Removes <em class="parameter"><code>feature</code></em> from <em class="parameter"><code>features</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
+<td>a feature.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-caps-features-remove-id"></a><h3>gst_caps_features_remove_id ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_caps_features_remove_id (<em class="parameter"><code><a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> feature</code></em>);</pre>
+<p>
+Removes <em class="parameter"><code>feature</code></em> from <em class="parameter"><code>features</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
+<td>a feature.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gstreamer-GstCapsFeatures.see-also"></a><h2>See Also</h2>
+<a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstContext.html b/docs/gst/html/gstreamer-GstContext.html
new file mode 100644
index 0000000..2ec329e
--- /dev/null
+++ b/docs/gst/html/gstreamer-GstContext.html
@@ -0,0 +1,340 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GstContext</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
+<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
+<link rel="prev" href="gstreamer-gstconfig.html" title="gstconfig">
+<link rel="next" href="GstControlBinding.html" title="GstControlBinding">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="gstreamer-gstconfig.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th>
+<td><a accesskey="n" href="GstControlBinding.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#gstreamer-GstContext.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#gstreamer-GstContext.description" class="shortcut">Description</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="gstreamer-GstContext"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gstreamer-GstContext.top_of_page"></a>GstContext</span></h2>
+<p>GstContext — Lightweight objects to represent element contexts</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<a name="gstreamer-GstContext.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">
+#include &lt;gst/gst.h&gt;
+
+ <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext">GstContext</a>;
+<a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="returnvalue">GstContext</span></a> * <a class="link" href="gstreamer-GstContext.html#gst-context-new" title="gst_context_new ()">gst_context_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="returnvalue">GstContext</span></a> * <a class="link" href="gstreamer-GstContext.html#gst-context-ref" title="gst_context_ref ()">gst_context_ref</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstContext.html#gst-context-unref" title="gst_context_unref ()">gst_context_unref</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);
+<a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="returnvalue">GstContext</span></a> * <a class="link" href="gstreamer-GstContext.html#gst-context-copy" title="gst_context_copy ()">gst_context_copy</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);
+const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstContext.html#gst-context-get-structure" title="gst_context_get_structure ()">gst_context_get_structure</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);
+<a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstContext.html#gst-context-writable-structure" title="gst_context_writable_structure ()">gst_context_writable_structure</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);
+#define <a class="link" href="gstreamer-GstContext.html#gst-context-make-writable" title="gst_context_make_writable()">gst_context_make_writable</a> (context)
+#define <a class="link" href="gstreamer-GstContext.html#gst-context-is-writable" title="gst_context_is_writable()">gst_context_is_writable</a> (context)
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstContext.html#gst-context-replace" title="gst_context_replace ()">gst_context_replace</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> **old_context</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *new_context</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="gstreamer-GstContext.description"></a><h2>Description</h2>
+<p>
+<a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> is a container object used to store contexts like a device
+context, a display server connection and similar concepts that should
+be shared between multiple elements.
+</p>
+<p>
+Applications can set a context on a complete pipeline by using
+<a class="link" href="GstElement.html#gst-element-set-context" title="gst_element_set_context ()"><code class="function">gst_element_set_context()</code></a>, which will then be propagated to all
+child elements. Elements can handle these in GstElement::<code class="function">set_context()</code>
+and merge them with the context information they already have.
+</p>
+<p>
+When an element needs a context it will do the following actions in this
+order until one step succeeds:
+1) Check if the element already has a context
+2) Query downstream with GST_QUERY_CONTEXT for the context
+3) Post a GST_MESSAGE_NEED_CONTEXT message on the bus with the required
+ context types and afterwards check if a usable context was set now
+4) Create a context by itself and post a GST_MESSAGE_HAVE_CONTEXT message
+ and send a GST_EVENT_CONTEXT event downstream, containing the complete
+ context information at this time.
+</p>
+<p>
+Applications should catch the GST_MESSAGE_HAVE_CONTEXT messages and remember
+any content from it unless it has a custom version of a specific context. If
+later an element is posting a GST_MESSAGE_NEED_CONTEXT message for a specific
+context that was created by an element before, the application should pass it
+to the element or the complete pipeline.
+</p>
+</div>
+<div class="refsect1">
+<a name="gstreamer-GstContext.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="GstContext"></a><h3>GstContext</h3>
+<pre class="programlisting">typedef struct _GstContext GstContext;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-context-new"></a><h3>gst_context_new ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="returnvalue">GstContext</span></a> * gst_context_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+Create a new context.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The new context. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-context-ref"></a><h3>gst_context_ref ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="returnvalue">GstContext</span></a> * gst_context_ref (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);</pre>
+<p>
+Convenience macro to increase the reference count of the context.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the context to ref</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<em class="parameter"><code>context</code></em> (for convenience when doing assignments)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-context-unref"></a><h3>gst_context_unref ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_context_unref (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);</pre>
+<p>
+Convenience macro to decrease the reference count of the context, possibly
+freeing it.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the context to unref</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-context-copy"></a><h3>gst_context_copy ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="returnvalue">GstContext</span></a> * gst_context_copy (<em class="parameter"><code>const <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);</pre>
+<p>
+Creates a copy of the context. Returns a copy of the context.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the context to copy</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new copy of <em class="parameter"><code>context</code></em>.
+MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-context-get-structure"></a><h3>gst_context_get_structure ()</h3>
+<pre class="programlisting">const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * gst_context_get_structure (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);</pre>
+<p>
+Access the structure of the context.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>The <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The structure of the context. The structure is
+still owned by the context, which means that you should not modify it,
+free it and that the pointer becomes invalid when you free the context. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-context-writable-structure"></a><h3>gst_context_writable_structure ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * gst_context_writable_structure (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);</pre>
+<p>
+Get a writable version of the structure.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>The <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The structure of the context. The structure is still
+owned by the event, which means that you should not free it and
+that the pointer becomes invalid when you free the event.
+This function checks if <em class="parameter"><code>context</code></em> is writable.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-context-make-writable"></a><h3>gst_context_make_writable()</h3>
+<pre class="programlisting">#define gst_context_make_writable(context) GST_CONTEXT_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (context)))
+</pre>
+<p>
+Checks if a context is writable. If not, a writable copy is made and
+returned.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the context to make writable. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a context (possibly a duplicate) that is writable.
+MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-context-is-writable"></a><h3>gst_context_is_writable()</h3>
+<pre class="programlisting">#define gst_context_is_writable(context) gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (context))
+</pre>
+<p>
+Tests if you can safely write into a context's structure or validly
+modify the seqnum and timestamp fields.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-context-replace"></a><h3>gst_context_replace ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_context_replace (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> **old_context</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *new_context</code></em>);</pre>
+<p>
+Modifies a pointer to a <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> to point to a different <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a>. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+context is unreffed, the new one is reffed).
+</p>
+<p>
+Either <em class="parameter"><code>new_context</code></em> or the <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> pointed to by <em class="parameter"><code>old_context</code></em> may be NULL.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>old_context</code></em> :</span></p></td>
+<td>pointer to a pointer to a <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a>
+to be replaced. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>new_context</code></em> :</span></p></td>
+<td>pointer to a <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> that will
+replace the context pointed to by <em class="parameter"><code>old_context</code></em>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE if <em class="parameter"><code>new_context</code></em> was different from <em class="parameter"><code>old_context</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gstreamer-GstContext.see-also"></a><h2>See Also</h2>
+<a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a>, <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/gst/html/gstreamer-GstDateTime.html b/docs/gst/html/gstreamer-GstDateTime.html
index 0377c07..9f1d52d 100644
--- a/docs/gst/html/gstreamer-GstDateTime.html
+++ b/docs/gst/html/gstreamer-GstDateTime.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstDateTime</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstControlSource.html" title="GstControlSource">
@@ -124,8 +124,11 @@ Use the acessor functions to get the stored values.
<p>
a boxed <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type for <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> that represents a date and time.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstDateTime</td>
@@ -140,8 +143,11 @@ a boxed <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic
Returns the day of the month of this <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>.
Call gst_date_time_has_day before, to avoid warnings.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -164,8 +170,11 @@ Call gst_date_time_has_day before, to avoid warnings.
Returns the month of this <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>. January is 1, February is 2, etc..
Call gst_date_time_has_month before, to avoid warnings.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -189,8 +198,11 @@ Retrieves the hour of the day represented by <em class="parameter"><code>datetim
calendar. The return is in the range of 0 to 23.
Call gst_date_time_has_haur before, to avoid warnings.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -212,8 +224,11 @@ Call gst_date_time_has_haur before, to avoid warnings.
Retrieves the fractional part of the seconds in microseconds represented by
<em class="parameter"><code>datetime</code></em> in the gregorian calendar.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -236,8 +251,11 @@ Retrieves the minute of the hour represented by <em class="parameter"><code>date
calendar.
Call gst_date_time_has_minute before, to avoid warnings.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -261,8 +279,11 @@ by <em class="parameter"><code>datetime</code></em> represents. Timezones ahead
values, timezones before (to the west) of UTC have negative values.
If <em class="parameter"><code>datetime</code></em> represents UTC time, then the offset is zero.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -285,8 +306,11 @@ Retrieves the second of the minute represented by <em class="parameter"><code>da
calendar.
Call gst_date_time_has_second before, to avoid warnings.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -309,8 +333,11 @@ Call gst_date_time_has_second before, to avoid warnings.
Returns the year of this <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>
Call gst_date_time_has_year before, to avoid warnings.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -357,8 +384,11 @@ so on.
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>tzoffset</code></em> :</span></p></td>
@@ -419,8 +449,11 @@ so on.
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>year</code></em> :</span></p></td>
@@ -461,8 +494,11 @@ if <em class="parameter"><code>month</code></em> == -1, then <a class="link" hre
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>year</code></em> :</span></p></td>
@@ -494,8 +530,11 @@ in the local timezone.
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>year</code></em> :</span></p></td>
@@ -521,8 +560,11 @@ Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" titl
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>secs</code></em> :</span></p></td>
@@ -548,8 +590,11 @@ Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" titl
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>secs</code></em> :</span></p></td>
@@ -596,8 +641,11 @@ case <em class="parameter"><code>minute</code></em> and <em class="parameter"><c
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>year</code></em> :</span></p></td>
@@ -641,8 +689,11 @@ Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" titl
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the newly created <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> which should
@@ -662,8 +713,11 @@ coordinated time.
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the newly created <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> which should
@@ -679,8 +733,11 @@ be freed with <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-unr
<p>
Atomically increments the reference count of <em class="parameter"><code>datetime</code></em> by one.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -703,8 +760,11 @@ Atomically increments the reference count of <em class="parameter"><code>datetim
Atomically decrements the reference count of <em class="parameter"><code>datetime</code></em> by one. When the
reference count reaches zero, the structure is freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -716,8 +776,11 @@ reference count reaches zero, the structure is freed.
<div class="refsect2">
<a name="gst-date-time-has-day"></a><h3>gst_date_time_has_day ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_date_time_has_day (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -735,8 +798,11 @@ reference count reaches zero, the structure is freed.
<div class="refsect2">
<a name="gst-date-time-has-month"></a><h3>gst_date_time_has_month ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_date_time_has_month (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -754,8 +820,11 @@ reference count reaches zero, the structure is freed.
<div class="refsect2">
<a name="gst-date-time-has-second"></a><h3>gst_date_time_has_second ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_date_time_has_second (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -773,8 +842,11 @@ reference count reaches zero, the structure is freed.
<div class="refsect2">
<a name="gst-date-time-has-time"></a><h3>gst_date_time_has_time ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_date_time_has_time (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -793,8 +865,11 @@ otherwise FALSE</td>
<div class="refsect2">
<a name="gst-date-time-has-year"></a><h3>gst_date_time_has_year ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_date_time_has_year (<em class="parameter"><code>const <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" title="GstDateTime"><span class="type">GstDateTime</span></a> *datetime</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -821,8 +896,11 @@ Tries to parse common variants of ISO-8601 datetime strings into a
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
@@ -845,8 +923,11 @@ Create a minimal string compatible with ISO-8601. Possible output formats
are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z,
2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
@@ -871,8 +952,11 @@ Creates a new <a class="link" href="gstreamer-GstDateTime.html#GstDateTime" titl
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dt</code></em> :</span></p></td>
@@ -897,8 +981,11 @@ Creates a new <a href="http://library.gnome.org/devel/glib/unstable/glib-GDateTi
<p>
Free-function: g_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>datetime</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstEvent.html b/docs/gst/html/gstreamer-GstEvent.html
index 99af592..213f10e 100644
--- a/docs/gst/html/gstreamer-GstEvent.html
+++ b/docs/gst/html/gstreamer-GstEvent.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstEvent</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstGError.html" title="GstGError">
@@ -90,6 +90,10 @@ const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="str
<a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-stream-start" title="gst_event_new_stream_start ()">gst_event_new_stream_start</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stream_id</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-start" title="gst_event_parse_stream_start ()">gst_event_parse_stream_start</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **stream_id</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-set-stream-flags" title="gst_event_set_stream_flags ()">gst_event_set_stream_flags</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
+ <em class="parameter"><code><span class="type">GstStreamFlags</span> flags</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-flags" title="gst_event_parse_stream_flags ()">gst_event_parse_stream_flags</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
+ <em class="parameter"><code><span class="type">GstStreamFlags</span> *flags</code></em>);
<a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-segment" title="gst_event_new_segment ()">gst_event_new_segment</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> *segment</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-segment" title="gst_event_parse_segment ()">gst_event_parse_segment</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
<em class="parameter"><code>const <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> **segment</code></em>);
@@ -170,6 +174,9 @@ enum <a class="link" href="gstreamer-GstEvent.html#GstSeekFlags"
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-segment-done" title="gst_event_parse_segment_done ()">gst_event_parse_segment_done</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
<em class="parameter"><code><span class="type">gint64</span> *position</code></em>);
+<a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-context" title="gst_event_new_context ()">gst_event_new_context</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-context" title="gst_event_parse_context ()">gst_event_parse_context</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> **context</code></em>);
</pre>
</div>
<div class="refsect1">
@@ -206,7 +213,7 @@ To do that <a class="link" href="gstreamer-GstEvent.html#gst-event-new-seek" tit
the needed parameters to specify seeking time and mode.
</p>
<div class="example">
-<a name="idp21558560"></a><p class="title"><b>Example 8. performing a seek on a pipeline</b></p>
+<a name="idp22429776"></a><p class="title"><b>Example 8. performing a seek on a pipeline</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -268,8 +275,11 @@ Last reviewed on 2012-03-28 (0.11.3)
<p>
A <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstEvent.mini-object"></a>mini_object</code></em>;</span></p></td>
@@ -306,8 +316,11 @@ A <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent
values. You can get the type flags of a <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> with the
<a class="link" href="gstreamer-GstEvent.html#gst-event-type-get-flags" title="gst_event_type_get_flags ()"><code class="function">gst_event_type_get_flags()</code></a> function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-EVENT-TYPE-UPSTREAM:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TYPE_UPSTREAM</code></span></p></td>
@@ -355,8 +368,11 @@ The same thing as <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-TYPE-U
when making custom event types, use this macro with the num and
the given flags
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
@@ -388,6 +404,7 @@ the given flags
GST_EVENT_SINK_MESSAGE = GST_EVENT_MAKE_TYPE (100, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
GST_EVENT_EOS = GST_EVENT_MAKE_TYPE (110, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
GST_EVENT_TOC = GST_EVENT_MAKE_TYPE (120, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
+ GST_EVENT_CONTEXT = GST_EVENT_MAKE_TYPE (130, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
/* non-sticky downstream serialized */
GST_EVENT_SEGMENT_DONE = GST_EVENT_MAKE_TYPE (150, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
@@ -421,8 +438,11 @@ GStreamer buffer passing semantics. Custom events carry an arbitrary
<a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>.
Specific custom events are distinguished by the name of the structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-EVENT-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_EVENT_UNKNOWN</code></span></p></td>
@@ -493,6 +513,12 @@ Specific custom events are distinguished by the name of the structure.
</td>
</tr>
<tr>
+<td><p><a name="GST-EVENT-CONTEXT:CAPS"></a><span class="term"><code class="literal">GST_EVENT_CONTEXT</code></span></p></td>
+<td>An event to communicate a <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> to other
+ elements (Since 1.2)
+</td>
+</tr>
+<tr>
<td><p><a name="GST-EVENT-SEGMENT-DONE:CAPS"></a><span class="term"><code class="literal">GST_EVENT_SEGMENT_DONE</code></span></p></td>
<td>Marks the end of a segment playback.
</td>
@@ -587,8 +613,11 @@ Specific custom events are distinguished by the name of the structure.
<p>
Get the <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> of the event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>the event to query</td>
@@ -603,8 +632,11 @@ Get the <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum
<p>
Get a constant string representation of the <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> of the event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>the event to query</td>
@@ -620,8 +652,11 @@ Get a constant string representation of the <a class="link" href="gstreamer-GstE
Get the <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp of the event. This is the time when the event
was created.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>the event to query</td>
@@ -636,8 +671,11 @@ was created.
<p>
The sequence number of <em class="parameter"><code>event</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>the event to query</td>
@@ -652,8 +690,11 @@ The sequence number of <em class="parameter"><code>event</code></em>.
<p>
Check if an event can travel upstream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>the event to query</td>
@@ -668,8 +709,11 @@ Check if an event can travel upstream.
<p>
Check if an event can travel downstream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>the event to query</td>
@@ -684,8 +728,11 @@ Check if an event can travel downstream.
<p>
Check if an event is serialized with the data stream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>the event to query</td>
@@ -700,8 +747,11 @@ Check if an event is serialized with the data stream.
<p>
Check if an event is sticky on the pads.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>the event to query</td>
@@ -715,8 +765,11 @@ Check if an event is sticky on the pads.
<p>
Gets the <a class="link" href="gstreamer-GstEvent.html#GstEventTypeFlags" title="enum GstEventTypeFlags"><span class="type">GstEventTypeFlags</span></a> associated with <em class="parameter"><code>type</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -737,8 +790,11 @@ Gets the <a class="link" href="gstreamer-GstEvent.html#GstEventTypeFlags" title=
<p>
Get a printable name for the given event type. Do not modify or free.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -758,8 +814,11 @@ Get a printable name for the given event type. Do not modify or free.
<p>
Get the unique quark for the given event type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -779,8 +838,11 @@ Get the unique quark for the given event type.
<p>
Increase the refcount of this event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -802,8 +864,11 @@ Increase the refcount of this event.
<p>
Decrease the refcount of an event, freeing it if the refcount reaches 0.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>the event to refcount. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -825,8 +890,11 @@ event is unreffed, the new one is reffed).
<p>
Either <em class="parameter"><code>new_event</code></em> or the <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> pointed to by <em class="parameter"><code>old_event</code></em> may be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>old_event</code></em> :</span></p></td>
@@ -855,8 +923,11 @@ replace the event pointed to by <em class="parameter"><code>old_event</code></em
<p>
Copy the event using the event specific copy function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -878,8 +949,11 @@ Copy the event using the event specific copy function.
Atomically replace the <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> pointed to by <em class="parameter"><code>old_event</code></em> with NULL and
return the original event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>old_event</code></em> :</span></p></td>
@@ -908,8 +982,11 @@ function is similar to <a class="link" href="gstreamer-GstEvent.html#gst-event-r
<p>
Either <em class="parameter"><code>new_event</code></em> or the <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> pointed to by <em class="parameter"><code>old_event</code></em> may be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>old_event</code></em> :</span></p></td>
@@ -940,8 +1017,11 @@ replace the event pointed to by <em class="parameter"><code>old_event</code></em
Tests if you can safely write data into a event's structure or validly
modify the seqnum and timestamp field.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>
@@ -959,8 +1039,11 @@ Makes a writable event from the given event. If the source event is
already writable, this will simply return the same event. A copy will
otherwise be made using <a class="link" href="gstreamer-GstEvent.html#gst-event-copy" title="gst_event_copy ()"><code class="function">gst_event_copy()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
@@ -983,8 +1066,11 @@ same as <em class="parameter"><code>ev</code></em>. <span class="annotation">[<a
<p>
Get a writable version of the structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1020,8 +1106,11 @@ serialization flags.
New custom events can also be created by subclassing the event type if
needed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -1048,8 +1137,11 @@ take ownership of the structure. <span class="annotation">[<acronym title="Free
<p>
Access the structure of the event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1074,8 +1166,11 @@ MT safe.</td>
Checks if <em class="parameter"><code>event</code></em> has the given <em class="parameter"><code>name</code></em>. This function is usually used to
check the name of a custom event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1113,8 +1208,11 @@ Note that events and messages share the same sequence number incrementor;
two events or messages will never have the same sequence number unless
that correspondence was made explicitly.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1144,8 +1242,11 @@ more information.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1181,8 +1282,11 @@ functions as fast as possible when this event is received.
This event is typically generated after a seek to flush out all queued data
in the pipeline so that the new media is played as soon as possible.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new flush start event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -1208,8 +1312,11 @@ the preceeding FLUSH_START event stopped the dataflow.
This event is typically generated to complete a seek and to resume
dataflow.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reset_time</code></em> :</span></p></td>
@@ -1231,8 +1338,11 @@ dataflow.
<p>
Parse the FLUSH_STOP event and retrieve the <em class="parameter"><code>reset_time</code></em> member.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1268,8 +1378,11 @@ forwarded to the application.
<p>
The EOS event itself will not cause any state transitions of the pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the new EOS event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -1289,8 +1402,11 @@ amount of time. This is useful to signal a gap to downstream elements
which may wait for data, such as muxers or mixers or overlays, especially
for sparse streams such as subtitle streams.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td>
@@ -1317,8 +1433,11 @@ for sparse streams such as subtitle streams.
<p>
Extract timestamp and duration from a new GAP event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1366,8 +1485,11 @@ but not for every single element in the pipeline.
<a class="link" href="GstPad.html#gst-pad-create-stream-id" title="gst_pad_create_stream_id ()"><code class="function">gst_pad_create_stream_id()</code></a> or <a class="link" href="GstPad.html#gst-pad-create-stream-id-printf" title="gst_pad_create_stream_id_printf ()"><code class="function">gst_pad_create_stream_id_printf()</code></a> can be
used to create a stream-id.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>stream_id</code></em> :</span></p></td>
@@ -1392,8 +1514,11 @@ location. The string stored in <em class="parameter"><code>stream_id</code></em>
remain valid only until <em class="parameter"><code>event</code></em> gets freed. Make a copy if you want to
modify it or store it for later use.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1409,6 +1534,53 @@ modify it or store it for later use.
</div>
<hr>
<div class="refsect2">
+<a name="gst-event-set-stream-flags"></a><h3>gst_event_set_stream_flags ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_event_set_stream_flags (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
+ <em class="parameter"><code><span class="type">GstStreamFlags</span> flags</code></em>);</pre>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
+<td>a stream-start event</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
+<td>the stream flags to set</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-event-parse-stream-flags"></a><h3>gst_event_parse_stream_flags ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_stream_flags (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
+ <em class="parameter"><code><span class="type">GstStreamFlags</span> *flags</code></em>);</pre>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
+<td>a stream-start event</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
+<td>address of variable where to store the stream flags. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-event-new-segment"></a><h3>gst_event_new_segment ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_segment (<em class="parameter"><code>const <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> *segment</code></em>);</pre>
<p>
@@ -1450,8 +1622,11 @@ After a newsegment event, the buffer stream time is calculated with:
<p>
time + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate)
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td>
@@ -1476,8 +1651,11 @@ Parses a segment <em class="parameter"><code>event</code></em> and stores the re
<em class="parameter"><code>segment</code></em> remains valid only until the <em class="parameter"><code>event</code></em> is freed. Don't modify the segment
and make a copy if you want to modify it or store it for later use.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1500,8 +1678,11 @@ and make a copy if you want to modify it or store it for later use.
Parses a segment <em class="parameter"><code>event</code></em> and copies the <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> into the location
given by <em class="parameter"><code>segment</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1529,8 +1710,11 @@ is a sticky event, elements should merge tags received from
upstream with a given scope with their own tags with the same
scope and create a new tag event from it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>taglist</code></em> :</span></p></td>
@@ -1557,8 +1741,11 @@ No reference to the taglist will be returned, it remains valid only until
the <em class="parameter"><code>event</code></em> is freed. Don't modify or free the taglist, make a copy if you
want to modify it or store it for later use.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1586,8 +1773,11 @@ elements that they should provide a buffer of the specified dimensions.
<p>
When the <em class="parameter"><code>async</code></em> flag is set, a thread boundary is preferred.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -1624,8 +1814,11 @@ When the <em class="parameter"><code>async</code></em> flag is set, a thread bou
<p>
Get the format, minsize, maxsize and async-flag in the buffersize event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1667,8 +1860,11 @@ Get the format, minsize, maxsize and async-flag in the buffersize event.
The different types of QoS events that can be given to the
<a class="link" href="gstreamer-GstEvent.html#gst-event-new-qos" title="gst_event_new_qos ()"><code class="function">gst_event_new_qos()</code></a> method.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-QOS-TYPE-OVERFLOW:CAPS"></a><span class="term"><code class="literal">GST_QOS_TYPE_OVERFLOW</code></span></p></td>
@@ -1751,8 +1947,11 @@ result smaller than 0 is not allowed.
The application can use general event probes to intercept the QoS
event and implement custom application specific QoS handling.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -1790,8 +1989,11 @@ event and implement custom application specific QoS handling.
Get the type, proportion, diff and timestamp in the qos event. See
<a class="link" href="gstreamer-GstEvent.html#gst-event-new-qos" title="gst_event_new_qos ()"><code class="function">gst_event_new_qos()</code></a> for more information about the different QoS values.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -1834,8 +2036,11 @@ Get the type, proportion, diff and timestamp in the qos event. See
The different types of seek events. When constructing a seek event with
<a class="link" href="gstreamer-GstEvent.html#gst-event-new-seek" title="gst_event_new_seek ()"><code class="function">gst_event_new_seek()</code></a> or when doing <a class="link" href="gstreamer-GstSegment.html#gst-segment-do-seek" title="gst_segment_do_seek ()"><code class="function">gst_segment_do_seek()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-SEEK-TYPE-NONE:CAPS"></a><span class="term"><code class="literal">GST_SEEK_TYPE_NONE</code></span></p></td>
@@ -1914,8 +2119,11 @@ Also see part-seeking.txt in the GStreamer design documentation for more
details on the meaning of these flags and the behaviour expected of
elements that handle them.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-SEEK-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_NONE</code></span></p></td>
@@ -2026,8 +2234,11 @@ this, PAUSE the pipeline, query the current playback position with
<a class="link" href="gstreamer-GstQuery.html#GST-QUERY-POSITION:CAPS"><span class="type">GST_QUERY_POSITION</span></a> and update the playback segment current position with a
<a class="link" href="gstreamer-GstEvent.html#GST-SEEK-TYPE-SET:CAPS"><span class="type">GST_SEEK_TYPE_SET</span></a> to the desired position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>rate</code></em> :</span></p></td>
@@ -2079,8 +2290,11 @@ this, PAUSE the pipeline, query the current playback position with
<p>
Parses a seek <em class="parameter"><code>event</code></em> and stores the results in the given result locations.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -2131,8 +2345,11 @@ Parses a seek <em class="parameter"><code>event</code></em> and stores the resul
<p>
Create a new navigation event from the given description.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -2161,8 +2378,11 @@ running time before synchronising against the clock.
The latency is mostly used in live sinks and is always expressed in
the time format.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>latency</code></em> :</span></p></td>
@@ -2184,8 +2404,11 @@ the time format.
<p>
Get the latency in the latency event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -2225,8 +2448,11 @@ the step operation.
The <em class="parameter"><code>intermediate</code></em> flag instructs the pipeline that this step operation is
part of a larger step operation.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -2269,8 +2495,11 @@ part of a larger step operation.
<p>
Parse the step event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -2318,8 +2547,11 @@ with the stream.
<p>
<em class="parameter"><code>name</code></em> is used to store multiple sticky events on one pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -2346,8 +2578,11 @@ with the stream.
<p>
Parse the sink-message event. Unref <em class="parameter"><code>msg</code></em> after usage.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -2371,8 +2606,11 @@ to travel upstream and make elements renegotiate their caps or reconfigure
their buffer pools. This is useful when changing properties on elements
or changing the topology of the pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -2389,8 +2627,11 @@ Create a new CAPS event for <em class="parameter"><code>caps</code></em>. The ca
synchronized with the buffer flow and contains the format of the buffers
that will follow after the event.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -2414,8 +2655,11 @@ that will follow after the event.
Get the caps from <em class="parameter"><code>event</code></em>. The caps remains valid as long as <em class="parameter"><code>event</code></em> remains
valid.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -2438,8 +2682,11 @@ valid.
Generate a TOC event from the given <em class="parameter"><code>toc</code></em>. The purpose of the TOC event is to
inform elements that some kind of the TOC was found.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
@@ -2468,8 +2715,11 @@ inform elements that some kind of the TOC was found.
<p>
Parse a TOC <em class="parameter"><code>event</code></em> and store the results in the given <em class="parameter"><code>toc</code></em> and <em class="parameter"><code>updated</code></em> locations.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -2497,8 +2747,11 @@ Generate a TOC select event with the given <em class="parameter"><code>uid</code
TOC select event is to start playback based on the TOC's entry with the
given <em class="parameter"><code>uid</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uid</code></em> :</span></p></td>
@@ -2519,8 +2772,11 @@ given <em class="parameter"><code>uid</code></em>.
<p>
Parse a TOC select <em class="parameter"><code>event</code></em> and store the results in the given <em class="parameter"><code>uid</code></em> location.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -2543,8 +2799,11 @@ Parse a TOC select <em class="parameter"><code>event</code></em> and store the r
Create a new segment-done event. This event is sent by elements that
finish playback of a segment as a result of a segment seek.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -2571,8 +2830,11 @@ finish playback of a segment as a result of a segment seek.
<p>
Extracts the position and format from the segment done message.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
@@ -2591,6 +2853,61 @@ Extracts the position and format from the segment done message.
</tbody>
</table></div>
</div>
+<hr>
+<div class="refsect2">
+<a name="gst-event-new-context"></a><h3>gst_event_new_context ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_context (<em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);</pre>
+<p>
+Create a new context event. The purpose of the context event is
+to pass a pipeline-local context to downstream elements.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-event-parse-context"></a><h3>gst_event_parse_context ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_context (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> **context</code></em>);</pre>
+<p>
+Parse the context event. Unref <em class="parameter"><code>context</code></em> after usage.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
+<td>The event to query</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>a pointer to store the <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
</div>
<div class="refsect1">
<a name="gstreamer-GstEvent.see-also"></a><h2>See Also</h2>
diff --git a/docs/gst/html/gstreamer-GstFormat.html b/docs/gst/html/gstreamer-GstFormat.html
index a65df6e..45a75f4 100644
--- a/docs/gst/html/gstreamer-GstFormat.html
+++ b/docs/gst/html/gstreamer-GstFormat.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstFormat</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstEvent.html" title="GstEvent">
@@ -79,8 +79,11 @@ operations.
<p>
Standard predefined formats
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-FORMAT-UNDEFINED:CAPS"></a><span class="term"><code class="literal">GST_FORMAT_UNDEFINED</code></span></p></td>
@@ -152,8 +155,11 @@ its real value.
<p>
A format definition
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> <em class="structfield"><code><a name="GstFormatDefinition.value"></a>value</code></em>;</span></p></td>
@@ -181,8 +187,11 @@ A format definition
<p>
Get a printable name for the given format. Do not modify or free.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -204,8 +213,11 @@ the format is unknown.</td>
<p>
Get the unique quark for the given format.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -229,8 +241,11 @@ is unknown.</td>
Create a new GstFormat based on the nick or return an
already registered format with that nick.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>nick</code></em> :</span></p></td>
@@ -256,8 +271,11 @@ MT safe.</td>
<p>
Return the format registered with the given nick.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>nick</code></em> :</span></p></td>
@@ -279,8 +297,11 @@ if the format was not registered.</td>
<p>
See if the given format is inside the format array.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>formats</code></em> :</span></p></td>
@@ -305,8 +326,11 @@ See if the given format is inside the format array.
<p>
Get details about the given format.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -328,8 +352,11 @@ MT safe.</td>
Iterate all the registered formats. The format definition is read
only.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a GstIterator of <a class="link" href="gstreamer-GstFormat.html#GstFormatDefinition" title="struct GstFormatDefinition"><span class="type">GstFormatDefinition</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
diff --git a/docs/gst/html/gstreamer-GstGError.html b/docs/gst/html/gstreamer-GstGError.html
index 2a8da3a..ed808c1 100644
--- a/docs/gst/html/gstreamer-GstGError.html
+++ b/docs/gst/html/gstreamer-GstGError.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGError</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstElementFactory.html" title="GstElementFactory">
@@ -70,7 +70,7 @@ similarly.
Errors from elements are the combination of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> and a debug string.
The <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> contains:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>a domain type: CORE, LIBRARY, RESOURCE or STREAM</p></li>
<li class="listitem"><p>a code: an enum value specific to the domain</p></li>
<li class="listitem"><p>a translated, human-readable message</p></li>
@@ -115,7 +115,7 @@ Elements throw errors using the <a class="link" href="GstElement.html#GST-ELEMEN
<p>
</p>
<div class="example">
-<a name="idp6829744"></a><p class="title"><b>Example 7. Throwing an error</b></p>
+<a name="idp6585536"></a><p class="title"><b>Example 7. Throwing an error</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -135,7 +135,7 @@ Elements throw errors using the <a class="link" href="GstElement.html#GST-ELEMEN
<p>
Things to keep in mind:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>Don't go off inventing new error codes. The ones
currently provided should be enough. If you find your type of error
does not fit the current codes, you should use FAILED.</p></li>
@@ -185,8 +185,11 @@ Last reviewed on 2006-09-15 (0.10.10)
<p>
Core errors are errors inside the core GStreamer library.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-CORE-ERROR-FAILED:CAPS"></a><span class="term"><code class="literal">GST_CORE_ERROR_FAILED</code></span></p></td>
@@ -287,8 +290,11 @@ this functionality yet.
Library errors are for errors from the library being used by elements
(initializing, finalizing, settings, ...)
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-LIBRARY-ERROR-FAILED:CAPS"></a><span class="term"><code class="literal">GST_LIBRARY_ERROR_FAILED</code></span></p></td>
@@ -356,8 +362,11 @@ Resource errors are for any resource used by an element:
memory, files, network connections, process space, ...
They're typically used by source and sink elements.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-RESOURCE-ERROR-FAILED:CAPS"></a><span class="term"><code class="literal">GST_RESOURCE_ERROR_FAILED</code></span></p></td>
@@ -465,8 +474,11 @@ Stream errors are for anything related to the stream being processed:
format errors, media type errors, ...
They're typically used by decoders, demuxers, converters, ...
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-STREAM-ERROR-FAILED:CAPS"></a><span class="term"><code class="literal">GST_STREAM_ERROR_FAILED</code></span></p></td>
@@ -612,8 +624,11 @@ call. To be used as the debug argument in <a class="link" href="GstElement.html
<p>
Get a string describing the error message in the current locale.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>domain</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstInfo.html b/docs/gst/html/gstreamer-GstInfo.html
index 17948ca..2e612c3 100644
--- a/docs/gst/html/gstreamer-GstInfo.html
+++ b/docs/gst/html/gstreamer-GstInfo.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="gstreamer-support.html" title="GStreamer Core Support">
<link rel="prev" href="gstreamer-support.html" title="GStreamer Core Support">
@@ -93,6 +93,8 @@ const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.htm
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstInfo.html#gst-debug-set-colored" title="gst_debug_set_colored ()">gst_debug_set_colored</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> colored</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstInfo.html#gst-debug-is-colored" title="gst_debug_is_colored ()">gst_debug_is_colored</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstInfo.html#gst-debug-set-default-threshold" title="gst_debug_set_default_threshold ()">gst_debug_set_default_threshold</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstInfo.html#GstDebugLevel" title="enum GstDebugLevel"><span class="type">GstDebugLevel</span></a> level</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstInfo.html#gst-debug-set-threshold-from-string" title="gst_debug_set_threshold_from_string ()">gst_debug_set_threshold_from_string</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *list</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> reset</code></em>);
<a class="link" href="gstreamer-GstInfo.html#GstDebugLevel" title="enum GstDebugLevel"><span class="returnvalue">GstDebugLevel</span></a> <a class="link" href="gstreamer-GstInfo.html#gst-debug-get-default-threshold" title="gst_debug_get_default_threshold ()">gst_debug_get_default_threshold</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstInfo.html#gst-debug-set-threshold-for-name" title="gst_debug_set_threshold_for_name ()">gst_debug_set_threshold_for_name</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstInfo.html#GstDebugLevel" title="enum GstDebugLevel"><span class="type">GstDebugLevel</span></a> level</code></em>);
@@ -223,7 +225,7 @@ methods (g_warning and friends) for that.
<p>
The debugging subsystem works only after GStreamer has been initialized
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>for example by calling <a class="link" href="gstreamer-Gst.html#gst-init" title="gst_init ()"><code class="function">gst_init()</code></a>.</p></li></ul></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>for example by calling <a class="link" href="gstreamer-Gst.html#gst-init" title="gst_init ()"><code class="function">gst_init()</code></a>.</p></li></ul></div>
<p>
</p>
<p>
@@ -322,8 +324,11 @@ categories. These are explained at <a class="link" href="gstreamer-GstInfo.html#
The level defines the importance of a debugging message. The more important a
message is, the greater the probability that the debugging system outputs it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-LEVEL-NONE:CAPS"></a><span class="term"><code class="literal">GST_LEVEL_NONE</code></span></p></td>
@@ -450,8 +455,11 @@ reset the debugging output to default behaviour.
These are some terminal style flags you can use when creating your
debugging categories to make them stand out in debugging output.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-DEBUG-FG-BLACK:CAPS"></a><span class="term"><code class="literal">GST_DEBUG_FG_BLACK</code></span></p></td>
@@ -572,8 +580,11 @@ This is the struct that describes the categories. Once initialized with
Available details for pipeline graphs produced by <a class="link" href="gstreamer-GstInfo.html#GST-DEBUG-BIN-TO-DOT-FILE:CAPS" title="GST_DEBUG_BIN_TO_DOT_FILE()"><code class="function">GST_DEBUG_BIN_TO_DOT_FILE()</code></a>
and <a class="link" href="gstreamer-GstInfo.html#GST-DEBUG-BIN-TO-DOT-FILE-WITH-TS:CAPS" title="GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS()"><code class="function">GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-DEBUG-GRAPH-SHOW-MEDIA-TYPE:CAPS"></a><span class="term"><code class="literal">GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE</code></span></p></td>
@@ -615,8 +626,11 @@ In GStreamer printf string arguments may not be NULL, because on some
platforms (ie Solaris) the libc crashes in that case. This includes debugging
strings.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
<td>The string to check.</td>
@@ -631,8 +645,11 @@ strings.
Evaluates to 2 strings, that describe the pad. Often used in debugging
statements.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
<td>The pad to debug.</td>
@@ -671,8 +688,11 @@ Function prototype for a logging function that can be registered with
<a class="link" href="gstreamer-GstInfo.html#gst-debug-add-log-function" title="gst_debug_add_log_function ()"><code class="function">gst_debug_add_log_function()</code></a>.
Use G_GNUC_NO_INSTRUMENT on that function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
@@ -726,8 +746,11 @@ Use G_GNUC_NO_INSTRUMENT on that function.
<p>
Logs the given message using the currently registered debugging handlers.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
@@ -780,8 +803,11 @@ or NULL if none. <span class="annotation">[<acronym title="Don't free data after
<p>
Logs the given message using the currently registered debugging handlers.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
@@ -828,8 +854,11 @@ or NULL if none. <span class="annotation">[<acronym title="Don't free data after
Gets the string representation of a <span class="type">GstDebugMessage</span>. This function is used
in debug handlers to extract the message.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -864,8 +893,11 @@ You can add other handlers by using <a class="link" href="gstreamer-GstInfo.html
And you can remove this handler by calling
gst_debug_remove_log_function(gst_debug_log_default);
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
@@ -911,8 +943,11 @@ or NULL if none. <span class="annotation">[<acronym title="Don't free data after
<p>
Get the string representation of a debugging level
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>level</code></em> :</span></p></td>
@@ -935,8 +970,11 @@ Get the string representation of a debugging level
Adds the logging function to the list of logging functions.
Be sure to use <a href="http://library.gnome.org/devel/glib/unstable/glib-Miscellaneous-Macros.html#G-GNUC-NO-INSTRUMENT:CAPS"><span class="type">G_GNUC_NO_INSTRUMENT</span></a> on that function, it is needed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
@@ -960,8 +998,11 @@ Be sure to use <a href="http://library.gnome.org/devel/glib/unstable/glib-Miscel
<p>
Removes all registered instances of the given logging functions.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
@@ -983,8 +1024,11 @@ Removes all registered instances of the given logging functions.
<p>
Removes all registered instances of log functions with the given user data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -1013,8 +1057,11 @@ during initialization.</p>
</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>active</code></em> :</span></p></td>
<td>Whether to use debugging output or not</td>
@@ -1028,8 +1075,11 @@ during initialization.</p>
<p>
Checks if debugging output is activated.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE, if debugging is activated</td>
@@ -1046,8 +1096,11 @@ Sets or unsets the use of coloured debugging output.
<p>
This function may be called before <a class="link" href="gstreamer-Gst.html#gst-init" title="gst_init ()"><code class="function">gst_init()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>colored</code></em> :</span></p></td>
<td>Whether to use colored output or not</td>
@@ -1061,8 +1114,11 @@ This function may be called before <a class="link" href="gstreamer-Gst.html#gst-
<p>
Checks if the debugging output should be colored.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE, if the debug output should be colored.</td>
@@ -1080,8 +1136,11 @@ use this threshold.
<p>
This function may be called before <a class="link" href="gstreamer-Gst.html#gst-init" title="gst_init ()"><code class="function">gst_init()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>level</code></em> :</span></p></td>
<td>level to set</td>
@@ -1090,13 +1149,49 @@ This function may be called before <a class="link" href="gstreamer-Gst.html#gst-
</div>
<hr>
<div class="refsect2">
+<a name="gst-debug-set-threshold-from-string"></a><h3>gst_debug_set_threshold_from_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_debug_set_threshold_from_string (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *list</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> reset</code></em>);</pre>
+<p>
+Sets the debug logging wanted in the same form as with the GST_DEBUG
+environment variable. You can use wildcards such as '*', but note that
+the order matters when you use wild cards, e.g. "foosrc:6,*src:3,*:2" sets
+everything to log level 2.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
+<td>comma-separated list of "category:level" pairs to be used
+as debug logging levels</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>reset</code></em> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to clear all previously-set debug levels before setting
+new thresholds
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if adding the threshold described by <em class="parameter"><code>list</code></em> to the one already set.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-debug-get-default-threshold"></a><h3>gst_debug_get_default_threshold ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstInfo.html#GstDebugLevel" title="enum GstDebugLevel"><span class="returnvalue">GstDebugLevel</span></a> gst_debug_get_default_threshold (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
Returns the default threshold that is used for new categories.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the default threshold level</td>
@@ -1112,8 +1207,11 @@ Returns the default threshold that is used for new categories.
Sets all categories which match the given glob style pattern to the given
level.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -1133,8 +1231,11 @@ level.
<p>
Resets all categories with the given name back to the default level.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>name of the categories to set</td>
@@ -1150,8 +1251,11 @@ Resets all categories with the given name back to the default level.
Defines a GstDebugCategory variable.
This macro expands to nothing if debugging is disabled.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
<td>the category</td>
@@ -1167,8 +1271,11 @@ This macro expands to nothing if debugging is disabled.
Declares a GstDebugCategory variable as extern. Use in header files.
This macro expands to nothing if debugging is disabled.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
<td>the category</td>
@@ -1184,8 +1291,11 @@ This macro expands to nothing if debugging is disabled.
Defines a static GstDebugCategory variable.
This macro expands to nothing if debugging is disabled.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
<td>the category</td>
@@ -1229,8 +1339,11 @@ to include uppercase letters.
</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1285,8 +1398,11 @@ category is not found, but GST_CAT_DEFAULT is defined, that is assigned to
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1306,8 +1422,11 @@ category is not found, but GST_CAT_DEFAULT is defined, that is assigned to
<p>
Removes and frees the category and all associated resources.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
<td>
@@ -1335,8 +1454,11 @@ function to use when debugging (even from gdb).
</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
@@ -1360,8 +1482,11 @@ debugging message.
Use this function to set the threshold back to where it was after using
<a class="link" href="gstreamer-GstInfo.html#gst-debug-category-set-threshold" title="gst_debug_category_set_threshold ()"><code class="function">gst_debug_category_set_threshold()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstInfo.html#GstDebugCategory" title="struct GstDebugCategory"><span class="type">GstDebugCategory</span></a> to reset threshold of.</td>
@@ -1375,8 +1500,11 @@ Use this function to set the threshold back to where it was after using
<p>
Returns the threshold of a <a class="link" href="gstreamer-GstInfo.html#GstDebugCategory" title="struct GstDebugCategory"><span class="type">GstDebugCategory</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
@@ -1396,8 +1524,11 @@ Returns the threshold of a <a class="link" href="gstreamer-GstInfo.html#GstDebug
<p>
Returns the name of a debug category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
@@ -1418,8 +1549,11 @@ Returns the name of a debug category.
Returns the color of a debug category used when printing output in this
category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
@@ -1439,8 +1573,11 @@ category.
<p>
Returns the description of a debug category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>category</code></em> :</span></p></td>
@@ -1462,8 +1599,11 @@ Returns a snapshot of a all categories that are currently in use . This list
may change anytime.
The caller has to free the list after use.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the list of
@@ -1481,8 +1621,11 @@ Constructs a string that can be used for getting the desired color in color
terminals.
You need to free the string after use.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>colorinfo</code></em> :</span></p></td>
@@ -1509,8 +1652,11 @@ ignore this attribute.
<p>
This function returns 0 on non-windows machines.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>colorinfo</code></em> :</span></p></td>
@@ -1532,8 +1678,11 @@ Outputs a debugging message. This is the most general macro for outputting
debugging messages. You will probably want to use one of the ones described
below.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1563,8 +1712,11 @@ below.
<p>
Output an error message belonging to the given object in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1589,8 +1741,11 @@ Output an error message belonging to the given object in the given category.
<p>
Output a warning message belonging to the given object in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1616,8 +1771,11 @@ Output a warning message belonging to the given object in the given category.
Output an informational message belonging to the given object in the given
category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1642,8 +1800,11 @@ category.
<p>
Output an debugging message belonging to the given object in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1668,8 +1829,11 @@ Output an debugging message belonging to the given object in the given category.
<p>
Output an logging message belonging to the given object in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1694,8 +1858,11 @@ Output an logging message belonging to the given object in the given category.
<p>
Output a fixme message belonging to the given object in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1721,8 +1888,11 @@ Output a fixme message belonging to the given object in the given category.
Output a tracing message belonging to the given object in the given
category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1747,8 +1917,11 @@ category.
Output a hexdump of <em class="parameter"><code>data</code></em> relating to the given object in the given
category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1781,8 +1954,11 @@ category.
<p>
Output an error message in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1803,8 +1979,11 @@ Output an error message in the given category.
<p>
Output an warning message in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1825,8 +2004,11 @@ Output an warning message in the given category.
<p>
Output an informational message in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1847,8 +2029,11 @@ Output an informational message in the given category.
<p>
Output an debugging message in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1869,8 +2054,11 @@ Output an debugging message in the given category.
<p>
Output an logging message in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1891,8 +2079,11 @@ Output an logging message in the given category.
<p>
Output an fixme message in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1913,8 +2104,11 @@ Output an fixme message in the given category.
<p>
Output a tracing message in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1934,8 +2128,11 @@ Output a tracing message in the given category.
<p>
Output a hexdump of <em class="parameter"><code>data</code></em> in the given category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cat</code></em> :</span></p></td>
@@ -1964,8 +2161,11 @@ Output a hexdump of <em class="parameter"><code>data</code></em> in the given ca
<p>
Output an error message belonging to the given object in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -1986,8 +2186,11 @@ Output an error message belonging to the given object in the default category.
<p>
Output a warning message belonging to the given object in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -2009,8 +2212,11 @@ Output a warning message belonging to the given object in the default category.
Output an informational message belonging to the given object in the default
category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -2032,8 +2238,11 @@ category.
Output a debugging message belonging to the given object in the default
category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -2054,8 +2263,11 @@ category.
<p>
Output a logging message belonging to the given object in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -2076,8 +2288,11 @@ Output a logging message belonging to the given object in the default category.
<p>
Output a fixme message belonging to the given object in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -2098,8 +2313,11 @@ Output a fixme message belonging to the given object in the default category.
<p>
Output a tracing message belonging to the given object in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -2119,8 +2337,11 @@ Output a tracing message belonging to the given object in the default category.
<p>
Output a logging message belonging to the given object in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -2149,8 +2370,11 @@ Output a logging message belonging to the given object in the default category.
<p>
Output an error message in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>printf-style message to output</td>
@@ -2165,8 +2389,11 @@ Output an error message in the default category.
<p>
Output a warning message in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>printf-style message to output</td>
@@ -2181,8 +2408,11 @@ Output a warning message in the default category.
<p>
Output an informational message in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>printf-style message to output</td>
@@ -2197,8 +2427,11 @@ Output an informational message in the default category.
<p>
Output a debugging message in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>printf-style message to output</td>
@@ -2213,8 +2446,11 @@ Output a debugging message in the default category.
<p>
Output a logging message in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>printf-style message to output</td>
@@ -2229,8 +2465,11 @@ Output a logging message in the default category.
<p>
Output a fixme message in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>printf-style message to output</td>
@@ -2245,8 +2484,11 @@ Output a fixme message in the default category.
<p>
Output a tracing message in the default category.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>printf-style message to output</td>
@@ -2260,8 +2502,11 @@ Output a tracing message in the default category.
<p>
Output a hexdump of <em class="parameter"><code>data</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
@@ -2289,8 +2534,11 @@ Register a pointer to a function with its name, so it can later be used by
<p>
Use this variant of <a class="link" href="gstreamer-GstInfo.html#GST-DEBUG-FUNCPTR:CAPS" title="GST_DEBUG_FUNCPTR()"><span class="type">GST_DEBUG_FUNCPTR</span></a> if you do not need to use <em class="parameter"><code>ptr</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ptr</code></em> :</span></p></td>
<td>pointer to the function to register</td>
@@ -2305,8 +2553,11 @@ Use this variant of <a class="link" href="gstreamer-GstInfo.html#GST-DEBUG-FUNCP
Register a pointer to a function with its name, so it can later be used by
<a class="link" href="gstreamer-GstInfo.html#GST-DEBUG-FUNCPTR-NAME:CAPS" title="GST_DEBUG_FUNCPTR_NAME()"><code class="function">GST_DEBUG_FUNCPTR_NAME()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ptr</code></em> :</span></p></td>
@@ -2331,8 +2582,11 @@ Retrieves the name of the function, if it was previously registered with
This macro returns a constant string which must not be modified or
freed by the caller.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ptr</code></em> :</span></p></td>
<td>address of the function of which to look up the name</td>
@@ -2367,8 +2621,11 @@ The macro is only active if gstreamer is configured with
"--gst-enable-gst-debug" and the environment variable
GST_DEBUG_DUMP_DOT_DIR is set to a basepath (e.g. /tmp).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -2395,8 +2652,11 @@ one or more other <a class="link" href="gstreamer-GstInfo.html#GstDebugGraphDeta
This works like <a class="link" href="gstreamer-GstInfo.html#GST-DEBUG-BIN-TO-DOT-FILE:CAPS" title="GST_DEBUG_BIN_TO_DOT_FILE()"><code class="function">GST_DEBUG_BIN_TO_DOT_FILE()</code></a>, but adds the current timestamp
to the filename, so that it can be used to take multiple snapshots.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -2458,8 +2718,11 @@ Example:
Format <em class="parameter"><code>t</code></em> for the <a class="link" href="gstreamer-GstInfo.html#GST-TIME-FORMAT:CAPS" title="GST_TIME_FORMAT"><span class="type">GST_TIME_FORMAT</span></a> format string. Note: <em class="parameter"><code>t</code></em> will be
evaluated more than once.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>t</code></em> :</span></p></td>
<td>a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>
diff --git a/docs/gst/html/gstreamer-GstIterator.html b/docs/gst/html/gstreamer-GstIterator.html
index 5517fda..fcf4a81 100644
--- a/docs/gst/html/gstreamer-GstIterator.html
+++ b/docs/gst/html/gstreamer-GstIterator.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstIterator</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstGhostPad.html" title="GstGhostPad">
@@ -122,7 +122,7 @@ The basic use pattern of an iterator is as follows:
<p>
</p>
<div class="example">
-<a name="idp21270944"></a><p class="title"><b>Example 9. Using an iterator</b></p>
+<a name="idp20845248"></a><p class="title"><b>Example 9. Using an iterator</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -196,8 +196,11 @@ Last reviewed on 2009-06-16 (0.10.24)
<a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> base structure. The values of this structure are
protected for subclasses, use the methods to use the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody></tbody>
</table></div>
</div>
@@ -213,8 +216,11 @@ protected for subclasses, use the methods to use the <a class="link" href="gstre
<p>
The result of a <a class="link" href="gstreamer-GstIterator.html#GstIteratorItemFunction" title="GstIteratorItemFunction ()"><span class="type">GstIteratorItemFunction</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-ITERATOR-ITEM-SKIP:CAPS"></a><span class="term"><code class="literal">GST_ITERATOR_ITEM_SKIP</code></span></p></td>
@@ -247,8 +253,11 @@ The result of a <a class="link" href="gstreamer-GstIterator.html#GstIteratorItem
<p>
The result of <a class="link" href="gstreamer-GstIterator.html#gst-iterator-next" title="gst_iterator_next ()"><code class="function">gst_iterator_next()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-ITERATOR-DONE:CAPS"></a><span class="term"><code class="literal">GST_ITERATOR_DONE</code></span></p></td>
@@ -283,8 +292,11 @@ This function will be called when creating a copy of <em class="parameter"><code
create a copy of all custom iterator fields or increase their
reference counts.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
@@ -311,8 +323,11 @@ Implementors of a <a class="link" href="gstreamer-GstIterator.html#GstIterator"
function and pass it to the constructor of the custom iterator.
The function will be called with the iterator lock held.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
@@ -342,8 +357,11 @@ the iterator.
<p>
The function will be called with the iterator lock held.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
@@ -375,8 +393,11 @@ Implementors of a <a class="link" href="gstreamer-GstIterator.html#GstIterator"
function and pass it to the constructor of the custom iterator.
The function will be called with the iterator lock held.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
<td>the iterator</td>
@@ -395,8 +416,11 @@ Implementors of a <a class="link" href="gstreamer-GstIterator.html#GstIterator"
function and pass it to the constructor of the custom iterator.
The function will be called with the iterator lock held.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
<td>the iterator</td>
@@ -411,8 +435,11 @@ The function will be called with the iterator lock held.
<p>
A function that is called by <a class="link" href="gstreamer-GstIterator.html#gst-iterator-foreach" title="gst_iterator_foreach ()"><code class="function">gst_iterator_foreach()</code></a> for every element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>item</code></em> :</span></p></td>
@@ -434,8 +461,11 @@ A function that is called by <a class="link" href="gstreamer-GstIterator.html#gs
<p>
A function to be passed to <a class="link" href="gstreamer-GstIterator.html#gst-iterator-fold" title="gst_iterator_fold ()"><code class="function">gst_iterator_fold()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>item</code></em> :</span></p></td>
@@ -465,8 +495,11 @@ A function to be passed to <a class="link" href="gstreamer-GstIterator.html#gst-
<p>
Macro to cast to a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
<td>the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> value</td>
@@ -481,8 +514,11 @@ Macro to cast to a <a class="link" href="gstreamer-GstIterator.html#GstIterator"
<p>
Macro to get the lock protecting the datastructure being iterated.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
<td>the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> to get the lock of</td>
@@ -502,8 +538,11 @@ Whenever the iterator is iterated, the value is compared to the
value of the master cookie. If they are different, a concurrent
modification happened to the iterator and a resync is needed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
<td>the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> to get the cookie of</td>
@@ -520,8 +559,11 @@ Macro to get a pointer to where the master cookie is stored. The
master cookie protects the structure being iterated and gets updated
whenever the datastructure changes.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
<td>the <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> to get the master cookie of</td>
@@ -548,8 +590,11 @@ implementing the next/resync/free function to iterate a data structure.
For each item retrieved, the <em class="parameter"><code>item</code></em> function is called with the lock
held. The <em class="parameter"><code>free</code></em> function is called when the iterator is freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
@@ -623,8 +668,11 @@ holding <em class="parameter"><code>lock</code></em>, <em class="parameter"><cod
will notice the update of the cookie and will return <a class="link" href="gstreamer-GstIterator.html#GST-ITERATOR-RESYNC:CAPS"><code class="literal">GST_ITERATOR_RESYNC</code></a> to
the user of the iterator in the next call to <a class="link" href="gstreamer-GstIterator.html#gst-iterator-next" title="gst_iterator_next ()"><code class="function">gst_iterator_next()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -671,8 +719,11 @@ case where a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title
a single object has to be considered. This happens often
for the <a class="link" href="GstPad.html#GstPadIterIntLinkFunction" title="GstPadIterIntLinkFunction ()"><span class="type">GstPadIterIntLinkFunction</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -697,8 +748,11 @@ for the <a class="link" href="GstPad.html#GstPadIterIntLinkFunction" title="GstP
<p>
Copy the iterator and its state.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
@@ -722,8 +776,11 @@ Free the iterator.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
<td>The <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> to free</td>
@@ -757,8 +814,11 @@ get the newly updated list.
<p>
A return value of <a class="link" href="gstreamer-GstIterator.html#GST-ITERATOR-ERROR:CAPS"><code class="literal">GST_ITERATOR_ERROR</code></a> indicates an unrecoverable fatal error.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
@@ -792,8 +852,11 @@ with this function.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
<td>The <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> to resync</td>
@@ -821,8 +884,11 @@ popped.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
@@ -851,8 +917,11 @@ return 0 for elements that should be included in the filtered iterator.
<p>
When this iterator is freed, <em class="parameter"><code>it</code></em> will also be freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
@@ -904,8 +973,11 @@ appropriate.
<p>
The iterator will not be freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
@@ -943,8 +1015,11 @@ MT safe.</td>
Iterate over all element of <em class="parameter"><code>it</code></em> and call the given function <em class="parameter"><code>func</code></em> for
each element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
@@ -990,8 +1065,11 @@ The iterator will not be freed.
This function will return FALSE if an error happened to the iterator
or if the element wasn't found.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>it</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstMemory.html b/docs/gst/html/gstreamer-GstMemory.html
index 624a605..b94574a 100644
--- a/docs/gst/html/gstreamer-GstMemory.html
+++ b/docs/gst/html/gstreamer-GstMemory.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstMemory</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstIterator.html" title="GstIterator">
@@ -50,6 +50,8 @@ enum <a class="link" href="gstreamer-GstMemory.html#GstMemoryFlag
#define <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-NO-SHARE:CAPS" title="GST_MEMORY_IS_NO_SHARE()">GST_MEMORY_IS_NO_SHARE</a> (mem)
#define <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PADDED:CAPS" title="GST_MEMORY_IS_ZERO_PADDED()">GST_MEMORY_IS_ZERO_PADDED</a> (mem)
#define <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PREFIXED:CAPS" title="GST_MEMORY_IS_ZERO_PREFIXED()">GST_MEMORY_IS_ZERO_PREFIXED</a> (mem)
+#define <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-PHYSICALLY-CONTIGUOUS:CAPS" title="GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS()">GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS</a> (mem)
+#define <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-IS-NOT-MAPPABLE:CAPS" title="GST_MEMORY_IS_NOT_MAPPABLE()">GST_MEMORY_IS_NOT_MAPPABLE</a> (mem)
struct <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory">GstMemory</a>;
enum <a class="link" href="gstreamer-GstMemory.html#GstMapFlags" title="enum GstMapFlags">GstMapFlags</a>;
#define <a class="link" href="gstreamer-GstMemory.html#GST-MAP-READWRITE:CAPS" title="GST_MAP_READWRITE">GST_MAP_READWRITE</a>
@@ -76,6 +78,8 @@ enum <a class="link" href="gstreamer-GstMemory.html#GstMapFlags"
<em class="parameter"><code><span class="type">gsize</span> align</code></em>,
<em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
<em class="parameter"><code><span class="type">gsize</span> size</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstMemory.html#gst-memory-is-type" title="gst_memory_is_type ()">gst_memory_is_type</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mem_type</code></em>);
<a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> * <a class="link" href="gstreamer-GstMemory.html#gst-memory-ref" title="gst_memory_ref ()">gst_memory_ref</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *memory</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstMemory.html#gst-memory-unref" title="gst_memory_unref ()">gst_memory_unref</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *memory</code></em>);
<span class="returnvalue">gsize</span> <a class="link" href="gstreamer-GstMemory.html#gst-memory-get-sizes" title="gst_memory_get_sizes ()">gst_memory_get_sizes</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>,
@@ -89,6 +93,7 @@ enum <a class="link" href="gstreamer-GstMemory.html#GstMapFlags"
#define <a class="link" href="gstreamer-GstMemory.html#gst-memory-unlock" title="gst_memory_unlock()">gst_memory_unlock</a> (m,
f)
#define <a class="link" href="gstreamer-GstMemory.html#gst-memory-is-writable" title="gst_memory_is_writable()">gst_memory_is_writable</a> (m)
+#define <a class="link" href="gstreamer-GstMemory.html#gst-memory-make-writable" title="gst_memory_make_writable()">gst_memory_make_writable</a> (m)
<a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> * <a class="link" href="gstreamer-GstMemory.html#gst-memory-make-mapped" title="gst_memory_make_mapped ()">gst_memory_make_mapped</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMapInfo" title="GstMapInfo"><span class="type">GstMapInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMapFlags" title="enum GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>);
@@ -170,6 +175,8 @@ Last reviewed on 2012-03-28 (0.11.3)
GST_MEMORY_FLAG_NO_SHARE = (GST_MINI_OBJECT_FLAG_LAST &lt;&lt; 0),
GST_MEMORY_FLAG_ZERO_PREFIXED = (GST_MINI_OBJECT_FLAG_LAST &lt;&lt; 1),
GST_MEMORY_FLAG_ZERO_PADDED = (GST_MINI_OBJECT_FLAG_LAST &lt;&lt; 2),
+ GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS = (GST_MINI_OBJECT_FLAG_LAST &lt;&lt; 3),
+ GST_MEMORY_FLAG_NOT_MAPPABLE = (GST_MINI_OBJECT_FLAG_LAST &lt;&lt; 4),
GST_MEMORY_FLAG_LAST = (GST_MINI_OBJECT_FLAG_LAST &lt;&lt; 16)
} GstMemoryFlags;
@@ -177,8 +184,11 @@ Last reviewed on 2012-03-28 (0.11.3)
<p>
Flags for wrapped memory.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-MEMORY-FLAG-READONLY:CAPS"></a><span class="term"><code class="literal">GST_MEMORY_FLAG_READONLY</code></span></p></td>
@@ -203,6 +213,16 @@ made when this memory needs to be shared between buffers.
</td>
</tr>
<tr>
+<td><p><a name="GST-MEMORY-FLAG-PHYSICALLY-CONTIGUOUS:CAPS"></a><span class="term"><code class="literal">GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS</code></span></p></td>
+<td>the memory is physically contiguous. Since 1.2
+</td>
+</tr>
+<tr>
+<td><p><a name="GST-MEMORY-FLAG-NOT-MAPPABLE:CAPS"></a><span class="term"><code class="literal">GST_MEMORY_FLAG_NOT_MAPPABLE</code></span></p></td>
+<td>the memory can't be mapped via <a class="link" href="gstreamer-GstMemory.html#gst-memory-map" title="gst_memory_map ()"><code class="function">gst_memory_map()</code></a> without any preconditions. Since 1.2
+</td>
+</tr>
+<tr>
<td><p><a name="GST-MEMORY-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_MEMORY_FLAG_LAST</code></span></p></td>
<td>first flag that can be used for custom purposes
</td>
@@ -218,8 +238,11 @@ made when this memory needs to be shared between buffers.
<p>
A flags word containing <a class="link" href="gstreamer-GstMemory.html#GstMemoryFlags" title="enum GstMemoryFlags"><span class="type">GstMemoryFlags</span></a> flags set on <em class="parameter"><code>mem</code></em>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.</td>
@@ -234,8 +257,11 @@ A flags word containing <a class="link" href="gstreamer-GstMemory.html#GstMemory
<p>
Gives the status of a specific flag on a <em class="parameter"><code>mem</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -256,8 +282,11 @@ Gives the status of a specific flag on a <em class="parameter"><code>mem</code><
<p>
Clear a specific flag on a <em class="parameter"><code>mem</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -278,8 +307,11 @@ Clear a specific flag on a <em class="parameter"><code>mem</code></em>.
<p>
Check if <em class="parameter"><code>mem</code></em> is readonly.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.</td>
@@ -294,8 +326,11 @@ Check if <em class="parameter"><code>mem</code></em> is readonly.
<p>
Check if <em class="parameter"><code>mem</code></em> cannot be shared between buffers
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.</td>
@@ -310,8 +345,11 @@ Check if <em class="parameter"><code>mem</code></em> cannot be shared between bu
<p>
Check if the padding in <em class="parameter"><code>mem</code></em> is 0 filled.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.</td>
@@ -326,13 +364,56 @@ Check if the padding in <em class="parameter"><code>mem</code></em> is 0 filled.
<p>
Check if the prefix in <em class="parameter"><code>mem</code></em> is 0 filled.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-MEMORY-IS-PHYSICALLY-CONTIGUOUS:CAPS"></a><h3>GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS()</h3>
+<pre class="programlisting">#define GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS(mem) GST_MEMORY_FLAG_IS_SET(mem,GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS)
+</pre>
+<p>
+Check if <em class="parameter"><code>mem</code></em> is physically contiguous.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-MEMORY-IS-NOT-MAPPABLE:CAPS"></a><h3>GST_MEMORY_IS_NOT_MAPPABLE()</h3>
+<pre class="programlisting">#define GST_MEMORY_IS_NOT_MAPPABLE(mem) GST_MEMORY_FLAG_IS_SET(mem,GST_MEMORY_FLAG_NOT_MAPPABLE)
+</pre>
+<p>
+Check if <em class="parameter"><code>mem</code></em> can't be mapped via <a class="link" href="gstreamer-GstMemory.html#gst-memory-map" title="gst_memory_map ()"><code class="function">gst_memory_map()</code></a> without any preconditions
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.</td>
</tr></tbody>
</table></div>
+<p class="since">Since 1.2</p>
</div>
<hr>
<div class="refsect2">
@@ -353,8 +434,11 @@ Check if the prefix in <em class="parameter"><code>mem</code></em> is 0 filled.
Base structure for memory implementations. Custom memory will put this structure
as the first member of their structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstMemory.mini-object"></a>mini_object</code></em>;</span></p></td>
@@ -401,8 +485,11 @@ as the first member of their structure.
<p>
Flags used when mapping memory
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-MAP-READ:CAPS"></a><span class="term"><code class="literal">GST_MAP_READ</code></span></p></td>
@@ -446,8 +533,11 @@ GstMapFlags value alias for GST_MAP_READ | GST_MAP_WRITE
A structure containing the result of a map operation such as
<a class="link" href="gstreamer-GstMemory.html#gst-memory-map" title="gst_memory_map ()"><code class="function">gst_memory_map()</code></a>. It contains the data and size.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *<em class="structfield"><code><a name="GstMapInfo.memory"></a>memory</code></em>;</span></p></td>
@@ -495,8 +585,11 @@ Get the memory of <em class="parameter"><code>mem</code></em> that can be access
in <em class="parameter"><code>flags</code></em>. The function should return a pointer that contains at least
<em class="parameter"><code>maxsize</code></em> bytes.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -526,8 +619,11 @@ accessed according to the access pattern in <em class="parameter"><code>flags</c
<p>
Return the pointer previously retrieved with <a class="link" href="gstreamer-GstMemory.html#gst-memory-map" title="gst_memory_map ()"><code class="function">gst_memory_map()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -553,8 +649,11 @@ Copy <em class="parameter"><code>size</code></em> bytes from <em class="paramete
new GstMemory object.
If <em class="parameter"><code>size</code></em> is set to -1, all bytes starting at <em class="parameter"><code>offset</code></em> are copied.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -588,8 +687,11 @@ Share <em class="parameter"><code>size</code></em> bytes from <em class="paramet
new GstMemory object. If <em class="parameter"><code>size</code></em> is set to -1, all bytes starting at <em class="parameter"><code>offset</code></em> are
shared. This function does not make a copy of the bytes in <em class="parameter"><code>mem</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -621,8 +723,11 @@ shared. This function does not make a copy of the bytes in <em class="parameter"
Check if <em class="parameter"><code>mem1</code></em> and <em class="parameter"><code>mem2</code></em> occupy contiguous memory and return the offset of
<em class="parameter"><code>mem1</code></em> in the parent buffer in <em class="parameter"><code>offset</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem1</code></em> :</span></p></td>
@@ -661,8 +766,11 @@ Check if <em class="parameter"><code>mem1</code></em> and <em class="parameter">
Initializes a newly allocated <em class="parameter"><code>mem</code></em> with the given parameters. This function
will call <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-init" title="gst_mini_object_init ()"><code class="function">gst_mini_object_init()</code></a> with the default memory parameters.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -704,13 +812,48 @@ will call <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-ini
</div>
<hr>
<div class="refsect2">
+<a name="gst-memory-is-type"></a><h3>gst_memory_is_type ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_memory_is_type (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mem_type</code></em>);</pre>
+<p>
+Check if <em class="parameter"><code>mem</code></em> if allocated with an allocator for <em class="parameter"><code>mem_type</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>mem_type</code></em> :</span></p></td>
+<td>a memory type</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>mem</code></em> was allocated from an allocator for <em class="parameter"><code>mem_type</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-memory-ref"></a><h3>gst_memory_ref ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> * gst_memory_ref (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *memory</code></em>);</pre>
<p>
Increase the refcount of this memory.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>memory</code></em> :</span></p></td>
@@ -732,8 +875,11 @@ Increase the refcount of this memory.
<p>
Decrease the refcount of an memory, freeing it if the refcount reaches 0.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>memory</code></em> :</span></p></td>
<td>the memory to refcount. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -750,8 +896,11 @@ Decrease the refcount of an memory, freeing it if the refcount reaches 0.
<p>
Get the current <em class="parameter"><code>size</code></em>, <em class="parameter"><code>offset</code></em> and <em class="parameter"><code>maxsize</code></em> of <em class="parameter"><code>mem</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -788,8 +937,11 @@ less than the maxsize of <em class="parameter"><code>mem</code></em>.
<a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PREFIXED</span></a> and <a class="link" href="gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PADDED:CAPS"><span class="type">GST_MEMORY_FLAG_ZERO_PADDED</span></a> will be
cleared when offset or padding is increased respectively.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -827,6 +979,12 @@ cleared when offset or padding is increased respectively.
</div>
<hr>
<div class="refsect2">
+<a name="gst-memory-make-writable"></a><h3>gst_memory_make_writable()</h3>
+<pre class="programlisting">#define gst_memory_make_writable(m) GST_MEMORY_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (m)))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-memory-make-mapped"></a><h3>gst_memory_make_mapped ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="returnvalue">GstMemory</span></a> * gst_memory_make_mapped (<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a> *mem</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstMapInfo" title="GstMapInfo"><span class="type">GstMapInfo</span></a> *info</code></em>,
@@ -840,8 +998,11 @@ mapped copy of <em class="parameter"><code>mem</code></em> is returned.
This function takes ownership of old <em class="parameter"><code>mem</code></em> and returns a reference to a new
<a class="link" href="gstreamer-GstMemory.html#GstMemory" title="struct GstMemory"><span class="type">GstMemory</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -879,7 +1040,7 @@ accessed according to <em class="parameter"><code>flags</code></em>.
<p>
This function can return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> for various reasons:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>the memory backed by <em class="parameter"><code>mem</code></em> is not accessible with the given <em class="parameter"><code>flags</code></em>.</p></li>
<li class="listitem"><p>the memory was already mapped with a different mapping.</p></li>
</ul></div>
@@ -893,8 +1054,11 @@ until <a class="link" href="gstreamer-GstMemory.html#gst-memory-unmap" title="gs
For each <a class="link" href="gstreamer-GstMemory.html#gst-memory-map" title="gst_memory_map ()"><code class="function">gst_memory_map()</code></a> call, a corresponding <a class="link" href="gstreamer-GstMemory.html#gst-memory-unmap" title="gst_memory_unmap ()"><code class="function">gst_memory_unmap()</code></a> call
should be done.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -926,8 +1090,11 @@ should be done.
<p>
Release the memory obtained with <a class="link" href="gstreamer-GstMemory.html#gst-memory-map" title="gst_memory_map ()"><code class="function">gst_memory_map()</code></a>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -953,8 +1120,11 @@ Return a copy of <em class="parameter"><code>size</code></em> bytes from <em cla
guaranteed to be writable. <em class="parameter"><code>size</code></em> can be set to -1 to return a copy all bytes
from <em class="parameter"><code>offset</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -988,8 +1158,11 @@ memory copy is performed and the memory region is simply shared. The result
is guaranteed to be not-writable. <em class="parameter"><code>size</code></em> can be set to -1 to return a share
all bytes from <em class="parameter"><code>offset</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -1026,8 +1199,11 @@ If this is the case, the memory of <em class="parameter"><code>mem1</code></em>
efficiently by performing <a class="link" href="gstreamer-GstMemory.html#gst-memory-share" title="gst_memory_share ()"><code class="function">gst_memory_share()</code></a> on the parent object from
the returned <em class="parameter"><code>offset</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem1</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstMessage.html b/docs/gst/html/gstreamer-GstMessage.html
index 00ac3ec..c35a7e7 100644
--- a/docs/gst/html/gstreamer-GstMessage.html
+++ b/docs/gst/html/gstreamer-GstMessage.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstMessage</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstMemory.html" title="GstMemory">
@@ -253,6 +253,17 @@ enum <a class="link" href="gstreamer-GstMessage.html#GstProgressT
<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstProgressType" title="enum GstProgressType"><span class="type">GstProgressType</span></a> *type</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **code</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **text</code></em>);
+<a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> * <a class="link" href="gstreamer-GstMessage.html#gst-message-new-need-context" title="gst_message_new_need_context ()">gst_message_new_need_context</a> (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstMessage.html#gst-message-add-context-type" title="gst_message_add_context_type ()">gst_message_add_context_type</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *context_type</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-GstMessage.html#gst-message-get-n-context-types" title="gst_message_get_n_context_types ()">gst_message_get_n_context_types</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-nth-context-type" title="gst_message_parse_nth_context_type ()">gst_message_parse_nth_context_type</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> i</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **context_type</code></em>);
+<a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> * <a class="link" href="gstreamer-GstMessage.html#gst-message-new-have-context" title="gst_message_new_have_context ()">gst_message_new_have_context</a> (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-have-context" title="gst_message_parse_have_context ()">gst_message_parse_have_context</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> **context</code></em>);
</pre>
</div>
<div class="refsect1">
@@ -273,7 +284,7 @@ The basic use pattern of posting a message on a <a class="link" href="GstBus.htm
<p>
</p>
<div class="example">
-<a name="idp30206864"></a><p class="title"><b>Example 10. Posting a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a></b></p>
+<a name="idp30142336"></a><p class="title"><b>Example 10. Posting a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a></b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -312,8 +323,11 @@ Last reviewed on 2005-11-09 (0.9.4)
<p>
A <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstMessage.mini-object"></a>mini_object</code></em>;</span></p></td>
@@ -372,14 +386,19 @@ A <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstM
GST_MESSAGE_TOC = (1 &lt;&lt; 26),
GST_MESSAGE_RESET_TIME = (1 &lt;&lt; 27),
GST_MESSAGE_STREAM_START = (1 &lt;&lt; 28),
+ GST_MESSAGE_NEED_CONTEXT = (1 &lt;&lt; 29),
+ GST_MESSAGE_HAVE_CONTEXT = (1 &lt;&lt; 30),
GST_MESSAGE_ANY = ~0
} GstMessageType;
</pre>
<p>
The different message types that are available.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-MESSAGE-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_UNKNOWN</code></span></p></td>
@@ -571,6 +590,14 @@ was updated.
</td>
</tr>
<tr>
+<td><p><a name="GST-MESSAGE-NEED-CONTEXT:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_NEED_CONTEXT</code></span></p></td>
+<td></td>
+</tr>
+<tr>
+<td><p><a name="GST-MESSAGE-HAVE-CONTEXT:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_HAVE_CONTEXT</code></span></p></td>
+<td></td>
+</tr>
+<tr>
<td><p><a name="GST-MESSAGE-ANY:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_ANY</code></span></p></td>
<td>mask for all of the above messages.
</td>
@@ -586,8 +613,11 @@ was updated.
<p>
Get the object that posted <em class="parameter"><code>message</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
@@ -603,8 +633,11 @@ Get the object that posted <em class="parameter"><code>message</code></em>.
Get the name of the object that posted <em class="parameter"><code>message</code></em>. Returns "(NULL)" if
the message has no source object set.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
@@ -621,8 +654,11 @@ the message has no source object set.
Get the timestamp of <em class="parameter"><code>message</code></em>. This is the timestamp when the message
was created.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
@@ -638,8 +674,11 @@ was created.
<p>
Get the sequence number of <em class="parameter"><code>message</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
@@ -655,8 +694,11 @@ Get the sequence number of <em class="parameter"><code>message</code></em>.
<p>
Get the <a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> of <em class="parameter"><code>message</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
@@ -672,8 +714,11 @@ Get the <a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="e
<p>
Get a constant string representation of the <a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> of <em class="parameter"><code>message</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
@@ -688,8 +733,11 @@ Get a constant string representation of the <a class="link" href="gstreamer-GstM
<p>
Get the unique quark for the given message type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -709,8 +757,11 @@ Get the unique quark for the given message type.
<p>
Get a printable name for the given message type. Do not modify or free.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -730,8 +781,11 @@ Get a printable name for the given message type. Do not modify or free.
<p>
Convenience macro to increase the reference count of the message.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
@@ -753,8 +807,11 @@ Convenience macro to increase the reference count of the message.
Convenience macro to decrease the reference count of the message, possibly
freeing it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
<td>the message to unref</td>
@@ -768,8 +825,11 @@ freeing it.
<p>
Creates a copy of the message. Returns a copy of the message.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
@@ -791,8 +851,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
<p>
Access the structure of the message.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -818,8 +881,11 @@ MT safe. <span class="annotation">[<acronym title="Don't free data after the cod
Checks if a message is writable. If not, a writable copy is made and
returned.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
@@ -855,8 +921,11 @@ Note that events and messages share the same sequence number incrementor;
two events or messages will never have the same sequence number unless
that correspondence was made explicitly.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -886,8 +955,11 @@ for more information.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -909,8 +981,11 @@ MT safe.
Checks if <em class="parameter"><code>message</code></em> has the given <em class="parameter"><code>name</code></em>. This function is usually used to
check the name of a custom message.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -937,8 +1012,11 @@ check the name of a custom message.
Tests if you can safely write into a message's structure or validly
modify the seqnum and timestamp fields.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
@@ -960,8 +1038,11 @@ message is unreffed, the new one is reffed).
<p>
Either <em class="parameter"><code>new_message</code></em> or the <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> pointed to by <em class="parameter"><code>old_message</code></em> may be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>old_message</code></em> :</span></p></td>
@@ -992,8 +1073,11 @@ Create a new eos message. This message is generated and posted in
the sink elements of a GstBin. The bin will only forward the EOS
message to the application if all sinks have posted an EOS message.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1021,8 +1105,11 @@ Create a new error message. The message will copy <em class="parameter"><code>er
occured. The pipeline will probably (partially) stop. The application
receiving this message should stop the pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1108,8 +1195,11 @@ Typical usage of this function might be:
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1139,8 +1229,11 @@ or NULL. <span class="annotation">[<acronym title="Parameter for returning resul
Create a new warning message. The message will make copies of <em class="parameter"><code>error</code></em> and
<em class="parameter"><code>debug</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1178,8 +1271,11 @@ in the output arguments are copies; the caller must free them when done.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1212,8 +1308,11 @@ Create a new info message. The message will make copies of <em class="parameter"
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1250,8 +1349,11 @@ in the output arguments are copies; the caller must free them when done.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1280,8 +1382,11 @@ or NULL. <span class="annotation">[<acronym title="Parameter for returning resul
Create a new tag message. The message will take ownership of the tag list.
The message is posted by elements that discovered a new taglist.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1356,8 +1461,11 @@ Typical usage of this function might be:
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1392,8 +1500,11 @@ completed prerolling.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1424,8 +1535,11 @@ Extracts the buffering percent from the GstMessage. see also
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1450,8 +1564,11 @@ MT safe.
<p>
Configures the buffering stats values in <em class="parameter"><code>message</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1487,8 +1604,11 @@ Configures the buffering stats values in <em class="parameter"><code>message</co
<p>
Extracts the buffering stats values from <em class="parameter"><code>message</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1529,8 +1649,11 @@ milliseconds, or NULL. <span class="annotation">[<acronym title="Parameter for r
Create a state change message. This message is posted whenever an element
changed its state.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1615,8 +1738,11 @@ Typical usage of this function might be:
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1649,8 +1775,11 @@ Create a state dirty message. This message is posted whenever an element
changed its state asynchronously and is used internally to update the
states of container objects.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1685,8 +1814,11 @@ to TRUE, or a complete step operation.
<em class="parameter"><code>duration</code></em> will contain the amount of time (in GST_FORMAT_TIME) of the stepped
<em class="parameter"><code>amount</code></em> of media in format <em class="parameter"><code>format</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1747,8 +1879,11 @@ Extract the values the step_done message.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1807,8 +1942,11 @@ a clock (maybe because it paused or became EOS).
This message is mainly used internally to manage the clock
selection.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1846,8 +1984,11 @@ The clock object returned remains valid until the message is freed.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1881,8 +2022,11 @@ If this message is posted by the pipeline, the pipeline will
select a new clock again when it goes to PLAYING. It might therefore
be needed to set the pipeline to PAUSED and PLAYING again.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1915,8 +2059,11 @@ The clock object returned remains valid until the message is freed.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1939,8 +2086,11 @@ MT safe.
Create a new clock message. This message is posted whenever the
pipeline selectes a new clock for the pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1973,8 +2123,11 @@ The clock object returned remains valid until the message is freed.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -1998,8 +2151,11 @@ new clock. <span class="annotation">[<acronym title="Parameter for returning res
Create a new application-typed message. GStreamer will never create these
messages; they are a gift from us to you. Enjoy.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2032,8 +2188,11 @@ allowing one-way communication from an element to an application, for example
"the firewire cable was unplugged". The format of the message should be
documented in the element's documentation. The structure field can be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2066,8 +2225,11 @@ Create a new custom-typed message. This can be used for anything not
handled by other message-specific functions to pass a message to the
app. The structure field can be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -2104,8 +2266,11 @@ start playback of a segment as a result of a segment seek. This message
is not received by the application but is used for maintenance reasons in
container elements.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2141,8 +2306,11 @@ Extracts the position and format from the segment start message.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2173,8 +2341,11 @@ finish playback of a segment as a result of a segment seek. This message
is received by the application after all elements that posted a segment_start
have posted the segment_done.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2205,13 +2376,16 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
<em class="parameter"><code><span class="type">gint64</span> *position</code></em>);</pre>
<p>
-Extracts the position and format from the segment start message.
+Extracts the position and format from the segment done message.
</p>
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2243,8 +2417,11 @@ GST_CLOCK_TIME_NONE to indicate that the duration has changed and the
cached duration should be discarded. The new duration can then be
retrieved via a query.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2268,8 +2445,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
This message can be posted by elements when their latency requirements have
changed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2292,8 +2472,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
<p>
This message is posted by elements when they start an ASYNC state change.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2321,8 +2504,11 @@ elements goes to PLAYING. A value of <a class="link" href="GstClock.html#GST-CLO
means that the element has no clock interaction and thus doesn't care about
the running_time of the pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2353,8 +2539,11 @@ Extract the running_time from the async_done message.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2392,8 +2581,11 @@ is now ready to start executing the step in the streaming thread. After this
message is emited, the application can queue a new step operation in the
element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2449,8 +2641,11 @@ Extract the values from step_start message.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2515,8 +2710,11 @@ respective running-time, stream-time, timestamp and duration of the (dropped)
buffer that generated the QoS event. Values can be left to
GST_CLOCK_TIME_NONE when unknown.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2564,8 +2762,11 @@ Set the QoS values that have been calculated/analysed from the QoS data
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2606,8 +2807,11 @@ invalid. Values of -1 for either <em class="parameter"><code>processed</code></e
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2652,8 +2856,11 @@ values.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2704,8 +2911,11 @@ Extract the QoS values that have been calculated/analysed from the QoS data
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2751,8 +2961,11 @@ invalid. Values of -1 for either <em class="parameter"><code>processed</code></e
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2791,8 +3004,11 @@ state change to READY or a flushing operation. <span class="annotation">[<acrony
Create a new TOC message. The message is posted by elements
that discovered or updated a TOC.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2831,8 +3047,11 @@ output argument is a copy; the caller must free it with
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2860,8 +3079,11 @@ MT safe.
This message is posted when the pipeline running-time should be reset to
<em class="parameter"><code>running_time</code></em>, like after a flushing seek.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2892,8 +3114,11 @@ Extract the running-time from the RESET_TIME message.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -2917,8 +3142,11 @@ Create a new stream_start message. This message is generated and posted in
the sink elements of a GstBin. The bin will only forward the STREAM_START
message to the application if all sinks have posted an STREAM_START message.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -2945,8 +3173,11 @@ MT safe. <span class="annotation">[<acronym title="Free data after the code is d
<p>
The type of a <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-STRUCTURE-CHANGE:CAPS"><code class="literal">GST_MESSAGE_STRUCTURE_CHANGE</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-STRUCTURE-CHANGE-TYPE-PAD-LINK:CAPS"></a><span class="term"><code class="literal">GST_STRUCTURE_CHANGE_TYPE_PAD_LINK</code></span></p></td>
@@ -2976,8 +3207,11 @@ when pads are linked or unlinked.
<p>
<em class="parameter"><code>src</code></em> should be the sinkpad that unlinked or linked.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -3019,8 +3253,11 @@ Extracts the change type and completion status from the GstMessage.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -3056,8 +3293,11 @@ This message can be posted by elements when they want to have their state
changed. A typical use case would be an audio server that wants to pause the
pipeline because a higher priority stream is being played.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -3088,8 +3328,11 @@ Extract the requested state from the request_state message.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -3121,8 +3364,11 @@ MT safe.
The type of a <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-STREAM-STATUS:CAPS"><code class="literal">GST_MESSAGE_STREAM_STATUS</code></a>. The stream status messages inform the
application of new streaming threads and their status.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-STREAM-STATUS-TYPE-CREATE:CAPS"></a><span class="term"><code class="literal">GST_STREAM_STATUS_TYPE_CREATE</code></span></p></td>
@@ -3172,8 +3418,11 @@ application of new streaming threads and their status.
Create a new stream status message. This message is posted when a streaming
thread is created/destroyed or when the state changed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -3211,8 +3460,11 @@ should thus not be unreffed.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -3241,8 +3493,11 @@ MT safe.
Configures the object handling the streaming thread. This is usually a
GstTask object but other objects might be added in the future.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -3263,8 +3518,11 @@ GstTask object but other objects might be added in the future.
<p>
Extracts the object managing the streaming thread from <em class="parameter"><code>message</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -3294,8 +3552,11 @@ future. The object remains valid as long as <em class="parameter"><code>message<
The type of a <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-PROGRESS:CAPS"><code class="literal">GST_MESSAGE_PROGRESS</code></a>. The progress messages inform the
application of the status of assynchronous tasks.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PROGRESS-TYPE-START:CAPS"></a><span class="term"><code class="literal">GST_PROGRESS_TYPE_START</code></span></p></td>
@@ -3341,8 +3602,11 @@ to perform actions triggered by a state change.
<em class="parameter"><code>code</code></em> contains a well defined string describing the action.
<em class="parameter"><code>test</code></em> should contain a user visible string detailing the current action.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -3379,8 +3643,11 @@ to perform actions triggered by a state change.
<p>
Parses the progress <em class="parameter"><code>type</code></em>, <em class="parameter"><code>code</code></em> and <em class="parameter"><code>text</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
@@ -3404,6 +3671,178 @@ Parses the progress <em class="parameter"><code>type</code></em>, <em class="par
</tbody>
</table></div>
</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-need-context"></a><h3>gst_message_new_need_context ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> * gst_message_new_need_context (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);</pre>
+<p>
+This message is posted when an element needs a specific <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
+<td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The new need-context message.
+MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-add-context-type"></a><h3>gst_message_add_context_type ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_message_add_context_type (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *context_type</code></em>);</pre>
+<p>
+Add a new context type to <em class="parameter"><code>message</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
+<td>a GST_MESSAGE_NEED_CONTEXT type message</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context_type</code></em> :</span></p></td>
+<td>a context type</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-get-n-context-types"></a><h3>gst_message_get_n_context_types ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_message_get_n_context_types (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);</pre>
+<p>
+Retrieve the number of values currently stored in the
+context-types array of the message's structure.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
+<td>a GST_MESSAGE_NEED_CONTEXT type message</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the context-types array size as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-nth-context-type"></a><h3>gst_message_parse_nth_context_type ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_message_parse_nth_context_type (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> i</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **context_type</code></em>);</pre>
+<p>
+Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message
+from <em class="parameter"><code>index</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
+<td>a GST_MESSAGE_NEED_CONTEXT type message</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context_type</code></em> :</span></p></td>
+<td>the context type, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating if the parsing succeeded.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-have-context"></a><h3>gst_message_new_have_context ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> * gst_message_new_have_context (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);</pre>
+<p>
+This message is posted when an element has a new local <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
+<td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the context. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The new have-context message.
+MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-have-context"></a><h3>gst_message_parse_have_context ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_message_parse_have_context (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> **context</code></em>);</pre>
+<p>
+Extract the context from the HAVE_CONTEXT message.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
+<td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_HAVE_CONTEXT.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>Result location for the
+context or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
</div>
<div class="refsect1">
<a name="gstreamer-GstMessage.see-also"></a><h2>See Also</h2>
diff --git a/docs/gst/html/gstreamer-GstMeta.html b/docs/gst/html/gstreamer-GstMeta.html
index 996ae4e..5391baf 100644
--- a/docs/gst/html/gstreamer-GstMeta.html
+++ b/docs/gst/html/gstreamer-GstMeta.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstMeta</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstMessage.html" title="GstMessage">
@@ -120,8 +120,11 @@ Last reviewed on 2012-03-28 (0.11.3)
Base structure for metadata. Custom metadata will put this structure
as the first member of their structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstMeta.html#GstMetaFlags" title="enum GstMetaFlags"><span class="type">GstMetaFlags</span></a> <em class="structfield"><code><a name="GstMeta.flags"></a>flags</code></em>;</span></p></td>
@@ -150,8 +153,11 @@ as the first member of their structure.
<p>
Extra metadata flags.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-META-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_META_FLAG_NONE</code></span></p></td>
@@ -189,8 +195,11 @@ Extra metadata flags.
<p>
A flags word containing <a class="link" href="gstreamer-GstMeta.html#GstMetaFlags" title="enum GstMetaFlags"><span class="type">GstMetaFlags</span></a> flags set on <em class="parameter"><code>meta</code></em>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>meta</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMeta.html#GstMeta" title="struct GstMeta"><span class="type">GstMeta</span></a>.</td>
@@ -205,8 +214,11 @@ A flags word containing <a class="link" href="gstreamer-GstMeta.html#GstMetaFlag
<p>
Gives the status of a specific flag on a metadata.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>meta</code></em> :</span></p></td>
@@ -227,8 +239,11 @@ Gives the status of a specific flag on a metadata.
<p>
Sets a metadata flag on a metadata.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>meta</code></em> :</span></p></td>
@@ -249,8 +264,11 @@ Sets a metadata flag on a metadata.
<p>
Clears a metadata flag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>meta</code></em> :</span></p></td>
@@ -280,8 +298,11 @@ Clears a metadata flag.
The <a class="link" href="gstreamer-GstMeta.html#GstMetaInfo" title="struct GstMetaInfo"><span class="type">GstMetaInfo</span></a> provides information about a specific metadata
structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> <em class="structfield"><code><a name="GstMetaInfo.api"></a>api</code></em>;</span></p></td>
@@ -319,8 +340,11 @@ structure.
<p>
Function called when <em class="parameter"><code>meta</code></em> is initialized in <em class="parameter"><code>buffer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>meta</code></em> :</span></p></td>
@@ -347,8 +371,11 @@ Function called when <em class="parameter"><code>meta</code></em> is initialized
<p>
Function called when <em class="parameter"><code>meta</code></em> is freed in <em class="parameter"><code>buffer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>meta</code></em> :</span></p></td>
@@ -381,8 +408,11 @@ Implementations should check the <em class="parameter"><code>type</code></em> of
additional type specific fields in <em class="parameter"><code>data</code></em> that should be used to update
the metadata on <em class="parameter"><code>transbuf</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>transbuf</code></em> :</span></p></td>
@@ -427,8 +457,11 @@ the metadata on <em class="parameter"><code>transbuf</code></em>.
<p>
Extra data passed to a "gst-copy" transform <a class="link" href="gstreamer-GstMeta.html#GstMetaTransformFunction" title="GstMetaTransformFunction ()"><span class="type">GstMetaTransformFunction</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMetaTransformCopy.region"></a>region</code></em>;</span></p></td>
@@ -455,8 +488,11 @@ Extra data passed to a "gst-copy" transform <a class="link" href="gstreamer-GstM
<p>
Check if the transform type is a copy transform
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td>a transform type</td>
@@ -472,8 +508,11 @@ Check if the transform type is a copy transform
Register and return a GType for the <em class="parameter"><code>api</code></em> and associate it with
<em class="parameter"><code>tags</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>api</code></em> :</span></p></td>
@@ -499,8 +538,11 @@ Register and return a GType for the <em class="parameter"><code>api</code></em>
<p>
Check if <em class="parameter"><code>api</code></em> was registered with <em class="parameter"><code>tag</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>api</code></em> :</span></p></td>
@@ -544,8 +586,11 @@ Register a new <a class="link" href="gstreamer-GstMeta.html#GstMeta" title="stru
The same <em class="parameter"><code>info</code></em> can be retrieved later with <a class="link" href="gstreamer-GstMeta.html#gst-meta-get-info" title="gst_meta_get_info ()"><code class="function">gst_meta_get_info()</code></a> by using
<em class="parameter"><code>impl</code></em> as the key.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>api</code></em> :</span></p></td>
@@ -590,8 +635,11 @@ The same <em class="parameter"><code>info</code></em> can be retrieved later wit
Lookup a previously registered meta info structure by its implementation name
<em class="parameter"><code>impl</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>impl</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstMiniObject.html b/docs/gst/html/gstreamer-GstMiniObject.html
index de97a37..d4d1ace 100644
--- a/docs/gst/html/gstreamer-GstMiniObject.html
+++ b/docs/gst/html/gstreamer-GstMiniObject.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstMiniObject</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstMeta.html" title="GstMeta">
@@ -160,8 +160,11 @@ Unref Func: gst_mini_object_unref
Set Value Func: g_value_set_boxed
Get Value Func: g_value_get_boxed
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> <em class="structfield"><code><a name="GstMiniObject.type"></a>type</code></em>;</span></p></td>
@@ -201,8 +204,11 @@ Get Value Func: g_value_get_boxed
<p>
Function prototype for methods to create copies of instances.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -226,8 +232,11 @@ passed object by doing a <a class="link" href="gstreamer-GstMiniObject.html#gst-
revived after the dispose function, the function should return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>
and the memory associated with the object is freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -249,8 +258,11 @@ and the memory associated with the object is freed.
Virtual function prototype for methods to free ressources used by
mini-objects.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>MiniObject to free</td>
@@ -267,8 +279,11 @@ A <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObjectNotify" title=
callback that gets triggered when <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-unref" title="gst_mini_object_unref ()"><code class="function">gst_mini_object_unref()</code></a> drops the
last ref and <em class="parameter"><code>obj</code></em> is about to be freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
@@ -289,8 +304,11 @@ last ref and <em class="parameter"><code>obj</code></em> is about to be freed.
<p>
This macro returns the type of the mini-object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>MiniObject to return type for.</td>
@@ -310,8 +328,11 @@ This macro returns the type of the mini-object.
<p>
Flags for the mini object
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-MINI-OBJECT-FLAG-LOCKABLE:CAPS"></a><span class="term"><code class="literal">GST_MINI_OBJECT_FLAG_LOCKABLE</code></span></p></td>
@@ -341,8 +362,11 @@ READONLY mode. Only read locks can be performed on the object.
<p>
This macro returns the entire set of flags for the mini-object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>MiniObject to return flags for.</td>
@@ -357,8 +381,11 @@ This macro returns the entire set of flags for the mini-object.
<p>
This macro checks to see if the given flag is set.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -379,8 +406,11 @@ This macro checks to see if the given flag is set.
<p>
This macro sets the given bits.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -401,8 +431,11 @@ This macro sets the given bits.
<p>
This macro usets the given bits.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -424,8 +457,11 @@ This macro usets the given bits.
Check if <em class="parameter"><code>obj</code></em> is lockable. A lockable object can be locked and unlocked with
<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-lock" title="gst_mini_object_lock ()"><code class="function">gst_mini_object_lock()</code></a> and <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-unlock" title="gst_mini_object_unlock ()"><code class="function">gst_mini_object_unlock()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a>
@@ -447,8 +483,11 @@ Check if <em class="parameter"><code>obj</code></em> is lockable. A lockable obj
<p>
Flags used when locking miniobjects
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-LOCK-FLAG-READ:CAPS"></a><span class="term"><code class="literal">GST_LOCK_FLAG_READ</code></span></p></td>
@@ -490,8 +529,11 @@ GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE
<p>
Get access to the reference count field of the mini-object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a>
@@ -507,8 +549,11 @@ Get access to the reference count field of the mini-object.
<p>
Get the reference count value of the mini-object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a>
@@ -523,8 +568,11 @@ Get the reference count value of the mini-object.
<p>
Define a new mini-object type with the given name
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>TypeName</code></em> :</span></p></td>
@@ -550,8 +598,11 @@ Define a new mini-object type with the given name
Initializes a mini-object with the desired type and copy/dispose/free
functions.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mini_object</code></em> :</span></p></td>
@@ -600,8 +651,11 @@ GstMiniObject instances can potentially increase the number
of memcpy operations in a pipeline, especially if the miniobject
is a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct GstBuffer"><span class="type">GstBuffer</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mini_object</code></em> :</span></p></td>
@@ -623,8 +677,11 @@ is a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="struct Gst
Decreases the reference count of the mini-object, possibly freeing
the mini-object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>mini_object</code></em> :</span></p></td>
<td>the mini-object</td>
@@ -645,8 +702,11 @@ to the mini object without calling <a class="link" href="gstreamer-GstMiniObject
(<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-ref" title="gst_mini_object_ref ()"><code class="function">gst_mini_object_ref()</code></a> adds a strong reference, that is, forces the object
to stay alive).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -673,8 +733,11 @@ to stay alive).
<p>
Removes a weak reference callback from a mini object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -700,8 +763,11 @@ Removes a weak reference callback from a mini object.
<p>
Lock the mini-object with the specified access mode in <em class="parameter"><code>flags</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -727,8 +793,11 @@ Lock the mini-object with the specified access mode in <em class="parameter"><co
<p>
Unlock the mini-object with the specified access mode in <em class="parameter"><code>flags</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -759,8 +828,11 @@ object is therefore writable.
Modification of a mini-object should only be done after verifying that it
is writable.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mini_object</code></em> :</span></p></td>
@@ -785,8 +857,11 @@ and returns a reference to the new object.
<p>
MT safe
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mini_object</code></em> :</span></p></td>
@@ -812,8 +887,11 @@ Creates a copy of the mini-object.
<p>
MT safe
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mini_object</code></em> :</span></p></td>
@@ -849,8 +927,11 @@ removes the data stored.
when the <em class="parameter"><code>object</code></em> is disposed, or the data is being overwritten by
a call to <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-set-qdata" title="gst_mini_object_set_qdata ()"><code class="function">gst_mini_object_set_qdata()</code></a> with the same <em class="parameter"><code>quark</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -882,8 +963,11 @@ needs to be freed</td>
This function gets back user data pointers stored via
<a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-set-qdata" title="gst_mini_object_set_qdata ()"><code class="function">gst_mini_object_set_qdata()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -911,8 +995,11 @@ This function gets back user data pointers stored via <a class="link" href="gstr
and removes the data from <em class="parameter"><code>object</code></em> without invoking its <code class="function">destroy()</code> function (if
any was set).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -943,8 +1030,11 @@ The reference count of <em class="parameter"><code>olddata</code></em> is decrea
<p>
Either <em class="parameter"><code>newdata</code></em> and the value pointed to by <em class="parameter"><code>olddata</code></em> may be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>olddata</code></em> :</span></p></td>
@@ -978,8 +1068,11 @@ takes ownership of <em class="parameter"><code>newdata</code></em>.
<p>
Either <em class="parameter"><code>newdata</code></em> and the value pointed to by <em class="parameter"><code>olddata</code></em> may be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>olddata</code></em> :</span></p></td>
@@ -1007,8 +1100,11 @@ be replaced. <span class="annotation">[<acronym title="Parameter for input and f
Replace the current <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> pointer to by <em class="parameter"><code>olddata</code></em> with NULL and
return the old value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>olddata</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstParamSpec.html b/docs/gst/html/gstreamer-GstParamSpec.html
index f160059..136e40f 100644
--- a/docs/gst/html/gstreamer-GstParamSpec.html
+++ b/docs/gst/html/gstreamer-GstParamSpec.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstParamSpec</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstPadTemplate.html" title="GstPadTemplate">
@@ -136,8 +136,11 @@ they can be changed when the element is in the READY or lower state.
A GParamSpec derived structure that contains the meta data for fractional
properties.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> <em class="structfield"><code><a name="GstParamSpecFraction.parent-instance"></a>parent_instance</code></em>;</span></p></td>
@@ -189,8 +192,11 @@ that want to expose properties of fraction type. This function is typically
used in connection with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-class-install-property"><code class="function">g_object_class_install_property()</code></a> in a GObjects's
instance_init function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstParse.html b/docs/gst/html/gstreamer-GstParse.html
index a073684..c95f148 100644
--- a/docs/gst/html/gstreamer-GstParse.html
+++ b/docs/gst/html/gstreamer-GstParse.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstParse</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstParamSpec.html" title="GstParamSpec">
@@ -92,8 +92,11 @@ reusable (set the state to NULL and back to PLAYING).
<p>
Get the error quark used by the parsing subsystem.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the quark of the parse errors.</td>
@@ -125,8 +128,11 @@ Get access to the error quark of the parse subsystem.
<p>
The different parsing errors that can occur.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PARSE-ERROR-SYNTAX:CAPS"></a><span class="term"><code class="literal">GST_PARSE_ERROR_SYNTAX</code></span></p></td>
@@ -185,8 +191,11 @@ Opaque structure.
<p>
Parsing options.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-PARSE-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_PARSE_FLAG_NONE</code></span></p></td>
@@ -214,8 +223,11 @@ Please note that you might get a return value that is not <a href="http://librar
the <em class="parameter"><code>error</code></em> is set. In this case there was a recoverable parsing error and you
can try to play the pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pipeline_description</code></em> :</span></p></td>
@@ -248,8 +260,11 @@ Please note that you might get a return value that is not <a href="http://librar
the <em class="parameter"><code>error</code></em> is set. In this case there was a recoverable parsing error and you
can try to play the pipeline.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pipeline_description</code></em> :</span></p></td>
@@ -290,8 +305,11 @@ Create a new element based on command line syntax.
<em class="parameter"><code>error</code></em> will contain an error message if an erroneuos pipeline is specified.
An error does not mean that the pipeline could not be constructed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>argv</code></em> :</span></p></td>
@@ -323,8 +341,11 @@ Create a new element based on command line syntax.
<em class="parameter"><code>error</code></em> will contain an error message if an erroneous pipeline is specified.
An error does not mean that the pipeline could not be constructed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>argv</code></em> :</span></p></td>
@@ -374,8 +395,11 @@ multiple unlinked source pads or multiple unlinked sink pads
and want them all ghosted, you will have to create the ghost pads
yourself).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin_description</code></em> :</span></p></td>
@@ -418,8 +442,11 @@ multiple unlinked source pads or multiple unlinked sink pads
and want them all ghosted, you will have to create the ghost pads
yourself).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin_description</code></em> :</span></p></td>
@@ -465,8 +492,11 @@ Allocates a parse context for use with <a class="link" href="gstreamer-GstParse.
<p>
Free-function: gst_parse_context_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a newly-allocated parse context. Free with
@@ -482,8 +512,11 @@ Free-function: gst_parse_context_free
<p>
Frees a parse context previously allocated with <a class="link" href="gstreamer-GstParse.html#gst-parse-context-new" title="gst_parse_context_new ()"><code class="function">gst_parse_context_new()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstParse.html#GstParseContext" title="GstParseContext"><span class="type">GstParseContext</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -501,8 +534,11 @@ Retrieve missing elements from a previous run of <a class="link" href="gstreamer
or <a class="link" href="gstreamer-GstParse.html#gst-parse-launchv-full" title="gst_parse_launchv_full ()"><code class="function">gst_parse_launchv_full()</code></a>. Will only return results if an error code
of <a class="link" href="gstreamer-GstParse.html#GST-PARSE-ERROR-NO-SUCH-ELEMENT:CAPS"><code class="literal">GST_PARSE_ERROR_NO_SUCH_ELEMENT</code></a> was returned.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstPoll.html b/docs/gst/html/gstreamer-GstPoll.html
index d83e95b..fea00f3 100644
--- a/docs/gst/html/gstreamer-GstPoll.html
+++ b/docs/gst/html/gstreamer-GstPoll.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstPoll</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstPluginFeature.html" title="GstPluginFeature">
@@ -131,8 +131,11 @@ A set of file/network descriptors.
<p>
A file descriptor object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="type">int</span> <em class="structfield"><code><a name="GstPollFD.fd"></a>fd</code></em>;</span></p></td>
<td>a file descriptor</td>
@@ -159,8 +162,11 @@ be assigned to a variable. In that case you have to use
<p>
Add a file descriptor to the file descriptor set.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -186,8 +192,11 @@ Add a file descriptor to the file descriptor set.
<p>
Check if <em class="parameter"><code>fd</code></em> in <em class="parameter"><code>set</code></em> has data to be read.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -213,8 +222,11 @@ Check if <em class="parameter"><code>fd</code></em> in <em class="parameter"><co
<p>
Check if <em class="parameter"><code>fd</code></em> in <em class="parameter"><code>set</code></em> can be used for writing.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -242,8 +254,11 @@ Check if <em class="parameter"><code>fd</code></em> in <em class="parameter"><co
Control whether the descriptor <em class="parameter"><code>fd</code></em> in <em class="parameter"><code>set</code></em> will be monitored for
readability.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -275,8 +290,11 @@ readability.
Control whether the descriptor <em class="parameter"><code>fd</code></em> in <em class="parameter"><code>set</code></em> will be monitored for
writability.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -306,8 +324,11 @@ writability.
<p>
Check if <em class="parameter"><code>fd</code></em> in <em class="parameter"><code>set</code></em> has closed the connection.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -333,8 +354,11 @@ Check if <em class="parameter"><code>fd</code></em> in <em class="parameter"><co
<p>
Check if <em class="parameter"><code>fd</code></em> in <em class="parameter"><code>set</code></em> has an error.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -368,8 +392,11 @@ The reason why this is needed is because the underlying implementation
might not allow querying the fd more than once between calls to one of
the re-enabling operations.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -390,8 +417,11 @@ the re-enabling operations.
Initializes <em class="parameter"><code>fd</code></em>. Alternatively you can initialize it with
<a class="link" href="gstreamer-GstPoll.html#GST-POLL-FD-INIT:CAPS" title="GST_POLL_FD_INIT"><span class="type">GST_POLL_FD_INIT</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>fd</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstPoll.html#GstPollFD" title="GstPollFD"><span class="type">GstPollFD</span></a>
@@ -406,8 +436,11 @@ Initializes <em class="parameter"><code>fd</code></em>. Alternatively you can in
<p>
Free a file descriptor set.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
<td>a file descriptor set. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -427,8 +460,11 @@ is possible to restart or flush a call to <a class="link" href="gstreamer-GstPol
<p>
Free-function: gst_poll_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>controllable</code></em> :</span></p></td>
@@ -458,8 +494,11 @@ performed from different threads.
<p>
Free-function: gst_poll_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="gstreamer-GstPoll.html#GstPoll" title="GstPoll"><span class="type">GstPoll</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case of an error.
@@ -477,8 +516,11 @@ Free with <a class="link" href="gstreamer-GstPoll.html#gst-poll-free" title="gst
Get a GPollFD for the reading part of the control socket. This is useful when
integrating with a GSource and GMainLoop.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -501,8 +543,11 @@ integrating with a GSource and GMainLoop.
<p>
Remove a file descriptor from the file descriptor set.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -531,8 +576,11 @@ used after adding or removing descriptors to <em class="parameter"><code>set</co
<p>
If <em class="parameter"><code>set</code></em> is not controllable, then this call will have no effect.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstPoll.html#GstPoll" title="GstPoll"><span class="type">GstPoll</span></a>.</td>
@@ -549,8 +597,11 @@ When <em class="parameter"><code>controllable</code></em> is <a href="http://lib
<a class="link" href="gstreamer-GstPoll.html#gst-poll-wait" title="gst_poll_wait ()"><code class="function">gst_poll_wait()</code></a> will be affected by <a class="link" href="gstreamer-GstPoll.html#gst-poll-restart" title="gst_poll_restart ()"><code class="function">gst_poll_restart()</code></a> and
<a class="link" href="gstreamer-GstPoll.html#gst-poll-set-flushing" title="gst_poll_set_flushing ()"><code class="function">gst_poll_set_flushing()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -580,8 +631,11 @@ to <a class="link" href="gstreamer-GstPoll.html#gst-poll-wait" title="gst_poll_w
<p>
Unsetting the flushing state will restore normal operation of <em class="parameter"><code>set</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -613,8 +667,11 @@ This is not true for timer <a class="link" href="gstreamer-GstPoll.html#GstPoll"
<a class="link" href="gstreamer-GstPoll.html#gst-poll-new-timer" title="gst_poll_new_timer ()"><code class="function">gst_poll_new_timer()</code></a>, where it is allowed to have multiple threads waiting
simultaneously.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -642,8 +699,11 @@ Read a byte from the control socket of the controllable <em class="parameter"><c
This function is mostly useful for timer <a class="link" href="gstreamer-GstPoll.html#GstPoll" title="GstPoll"><span class="type">GstPoll</span></a> objects created with
<a class="link" href="gstreamer-GstPoll.html#gst-poll-new-timer" title="gst_poll_new_timer ()"><code class="function">gst_poll_new_timer()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
@@ -673,8 +733,11 @@ It will make any current and future <a class="link" href="gstreamer-GstPoll.html
<a class="link" href="gstreamer-GstPoll.html#gst-poll-read-control" title="gst_poll_read_control ()"><code class="function">gst_poll_read_control()</code></a> have been performed, calls to <a class="link" href="gstreamer-GstPoll.html#gst-poll-wait" title="gst_poll_wait ()"><code class="function">gst_poll_wait()</code></a> will
block again until their timeout expired.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>set</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstQuery.html b/docs/gst/html/gstreamer-GstQuery.html
index fc2bc12..4c13eca 100644
--- a/docs/gst/html/gstreamer-GstQuery.html
+++ b/docs/gst/html/gstreamer-GstQuery.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstQuery</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstPreset.html" title="GstPreset">
@@ -214,6 +214,9 @@ enum <a class="link" href="gstreamer-GstQuery.html#GstBufferingMo
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> min_buffers</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> max_buffers</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-remove-nth-allocation-pool" title="gst_query_remove_nth_allocation_pool ()">gst_query_remove_nth_allocation_pool</a>
+ (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-add-allocation-param" title="gst_query_add_allocation_param ()">gst_query_add_allocation_param</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
<em class="parameter"><code>const <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
@@ -227,6 +230,9 @@ enum <a class="link" href="gstreamer-GstQuery.html#GstBufferingMo
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>,
<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
<em class="parameter"><code>const <a class="link" href="GstAllocator.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-remove-nth-allocation-param" title="gst_query_remove_nth_allocation_param ()">gst_query_remove_nth_allocation_param</a>
+ (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-add-allocation-meta" title="gst_query_add_allocation_meta ()">gst_query_add_allocation_meta</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> api</code></em>,
<em class="parameter"><code>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *params</code></em>);
@@ -264,6 +270,17 @@ enum <a class="link" href="gstreamer-GstQuery.html#GstSchedulingF
<em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags"><span class="type">GstSchedulingFlags</span></a> flags</code></em>);
<a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-drain" title="gst_query_new_drain ()">gst_query_new_drain</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-context" title="gst_query_new_context ()">gst_query_new_context</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-context" title="gst_query_set_context ()">gst_query_set_context</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-context" title="gst_query_parse_context ()">gst_query_parse_context</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> **context</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-add-context-type" title="gst_query_add_context_type ()">gst_query_add_context_type</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *context_type</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-get-n-context-types" title="gst_query_get_n_context_types ()">gst_query_get_n_context_types</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-context-type" title="gst_query_parse_nth_context_type ()">gst_query_parse_nth_context_type</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> i</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **context_type</code></em>);
</pre>
</div>
<div class="refsect1">
@@ -284,7 +301,7 @@ The following example shows how to query the duration of a pipeline:
<p>
</p>
<div class="example">
-<a name="idp40146848"></a><p class="title"><b>Example 12. Query duration on a pipeline</b></p>
+<a name="idp39942192"></a><p class="title"><b>Example 12. Query duration on a pipeline</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -340,8 +357,11 @@ Last reviewed on 2012-03-29 (0.11.3)
<p>
The <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstQuery.mini-object"></a>mini_object</code></em>;</span></p></td>
@@ -369,8 +389,11 @@ The <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQue
values. You can get the type flags of a <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> with the
<a class="link" href="gstreamer-GstQuery.html#gst-query-type-get-flags" title="gst_query_type_get_flags ()"><code class="function">gst_query_type_get_flags()</code></a> function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-QUERY-TYPE-UPSTREAM:CAPS"></a><span class="term"><code class="literal">GST_QUERY_TYPE_UPSTREAM</code></span></p></td>
@@ -407,8 +430,11 @@ The same thing as <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-TYPE-U
when making custom query types, use this macro with the num and
the given flags
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
@@ -442,14 +468,18 @@ the given flags
GST_QUERY_SCHEDULING = GST_QUERY_MAKE_TYPE (150, FLAG(UPSTREAM)),
GST_QUERY_ACCEPT_CAPS = GST_QUERY_MAKE_TYPE (160, FLAG(BOTH)),
GST_QUERY_CAPS = GST_QUERY_MAKE_TYPE (170, FLAG(BOTH)),
- GST_QUERY_DRAIN = GST_QUERY_MAKE_TYPE (180, FLAG(DOWNSTREAM) | FLAG(SERIALIZED))
+ GST_QUERY_DRAIN = GST_QUERY_MAKE_TYPE (180, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
+ GST_QUERY_CONTEXT = GST_QUERY_MAKE_TYPE (190, FLAG(DOWNSTREAM))
} GstQueryType;
</pre>
<p>
Standard predefined Query types
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-QUERY-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_QUERY_UNKNOWN</code></span></p></td>
@@ -541,6 +571,11 @@ Standard predefined Query types
<td>wait till all serialized data is consumed downstream
</td>
</tr>
+<tr>
+<td><p><a name="GST-QUERY-CONTEXT:CAPS"></a><span class="term"><code class="literal">GST_QUERY_CONTEXT</code></span></p></td>
+<td>query the pipeline-local context from downstream
+</td>
+</tr>
</tbody>
</table></div>
</div>
@@ -552,8 +587,11 @@ Standard predefined Query types
<p>
Get the <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> of the query.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
<td>the query to query</td>
@@ -568,8 +606,11 @@ Get the <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum
<p>
Get a constant string representation of the <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> of the query.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
<td>the query to query</td>
@@ -584,8 +625,11 @@ Get a constant string representation of the <a class="link" href="gstreamer-GstQ
<p>
Check if an query can travel upstream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>the query to query</td>
@@ -600,8 +644,11 @@ Check if an query can travel upstream.
<p>
Check if an query can travel downstream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>the query to query</td>
@@ -616,8 +663,11 @@ Check if an query can travel downstream.
<p>
Check if an query is serialized with the data stream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>the query to query</td>
@@ -631,8 +681,11 @@ Check if an query is serialized with the data stream.
<p>
Gets the <a class="link" href="gstreamer-GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags"><span class="type">GstQueryTypeFlags</span></a> associated with <em class="parameter"><code>type</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -653,8 +706,11 @@ Gets the <a class="link" href="gstreamer-GstQuery.html#GstQueryTypeFlags" title=
<p>
Get a printable name for the given query type. Do not modify or free.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -674,8 +730,11 @@ Get a printable name for the given query type. Do not modify or free.
<p>
Get the unique quark for the given query type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -695,8 +754,11 @@ Get the unique quark for the given query type.
<p>
Increases the refcount of the given query by one.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
@@ -717,8 +779,11 @@ Increases the refcount of the given query by one.
Decreases the refcount of the query. If the refcount reaches 0, the query
will be freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> to decrease the refcount of.</td>
@@ -735,8 +800,11 @@ Copies the given query using the copy function of the parent <a class="link" hre
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
@@ -758,8 +826,11 @@ Free-function: gst_query_unref
<p>
Makes a writable query from the given query.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
@@ -782,8 +853,11 @@ Makes a writable query from the given query.
<p>
Tests if you can safely write data into a query's structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>
@@ -805,8 +879,11 @@ query is unreffed, the new one is reffed).
<p>
Either <em class="parameter"><code>new_query</code></em> or the <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> pointed to by <em class="parameter"><code>old_query</code></em> may be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>old_query</code></em> :</span></p></td>
@@ -836,8 +913,11 @@ replace the query pointed to by <em class="parameter"><code>old_query</code></em
Get the structure of a query. This method should be called with a writable
<em class="parameter"><code>query</code></em> so that the returned structure is guranteed to be writable.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -866,8 +946,11 @@ when done with it.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -892,8 +975,11 @@ Free-function: gst_query_unref
<p>
Get the structure of a query.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -924,8 +1010,11 @@ one format and another.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src_format</code></em> :</span></p></td>
@@ -959,8 +1048,11 @@ Free-function: gst_query_unref
<p>
Answer a convert query by setting the requested values.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1000,8 +1092,11 @@ Answer a convert query by setting the requested values.
Parse a convert query answer. Any of <em class="parameter"><code>src_format</code></em>, <em class="parameter"><code>src_value</code></em>, <em class="parameter"><code>dest_format</code></em>,
and <em class="parameter"><code>dest_value</code></em> may be NULL, in which case that value is omitted.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1046,8 +1141,11 @@ of playback in the streams, in some format.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -1070,8 +1168,11 @@ Free-function: gst_query_unref
<p>
Answer a position query by setting the requested value in the given format.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1099,8 +1200,11 @@ Answer a position query by setting the requested value in the given format.
Parse a position query, writing the format into <em class="parameter"><code>format</code></em>, and the position
into <em class="parameter"><code>cur</code></em>, if the respective parameters are non-NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1133,8 +1237,11 @@ total length of the stream.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -1157,8 +1264,11 @@ Free-function: gst_query_unref
<p>
Answer a duration query by setting the requested value in the given format.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1186,8 +1296,11 @@ Answer a duration query by setting the requested value in the given format.
Parse a duration query answer. Write the format of the duration into <em class="parameter"><code>format</code></em>,
and the value into <em class="parameter"><code>duration</code></em>, if the respective variables are non-NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1221,8 +1334,11 @@ pipeline.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -1240,8 +1356,11 @@ Free-function: gst_query_unref
<p>
Parse a latency query answer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1276,8 +1395,11 @@ Parse a latency query answer.
<p>
Answer a latency query by setting the requested values in the given format.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1310,8 +1432,11 @@ the stream.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -1336,8 +1461,11 @@ Free-function: gst_query_unref
<p>
Set the seeking query result fields in <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1376,8 +1504,11 @@ Parse a seeking query, writing the format into <em class="parameter"><code>forma
other results into the passed parameters, if the respective parameters
are non-NULL
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1419,8 +1550,11 @@ the stream.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -1438,8 +1572,11 @@ Free-function: gst_query_unref
Set the formats query result fields in <em class="parameter"><code>query</code></em>. The number of formats passed
must be equal to <em class="parameter"><code>n_formats</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1467,8 +1604,11 @@ must be equal to <em class="parameter"><code>n_formats</code></em>.
Set the formats query result fields in <em class="parameter"><code>query</code></em>. The number of formats passed
in the <em class="parameter"><code>formats</code></em> array must be equal to <em class="parameter"><code>n_formats</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1496,8 +1636,11 @@ in the <em class="parameter"><code>formats</code></em> array must be equal to <e
<p>
Parse the number of formats in the formats <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1523,8 +1666,11 @@ Parse the format query and retrieve the <em class="parameter"><code>nth</code></
<em class="parameter"><code>format</code></em>. If the list contains less elements than <em class="parameter"><code>nth</code></em>, <em class="parameter"><code>format</code></em> will be
set to GST_FORMAT_UNDEFINED.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1556,8 +1702,11 @@ currently configured segment for playback.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -1593,8 +1742,11 @@ The values are always between 0 and the duration of the media and
negative rates, playback will actually happen from <em class="parameter"><code>stop_value</code></em> to
<em class="parameter"><code>start_value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1635,8 +1787,11 @@ Parse a segment query answer. Any of <em class="parameter"><code>rate</code></em
<p>
See <a class="link" href="gstreamer-GstQuery.html#gst-query-set-segment" title="gst_query_set_segment ()"><code class="function">gst_query_set_segment()</code></a> for an explanation of the function arguments.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1697,8 +1852,11 @@ greatly reduce the amount of processing an element needs to do.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
@@ -1721,8 +1879,11 @@ Free-function: gst_query_unref
Get the filter from the caps <em class="parameter"><code>query</code></em>. The caps remains valid as long as
<em class="parameter"><code>query</code></em> remains valid.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1744,8 +1905,11 @@ Get the filter from the caps <em class="parameter"><code>query</code></em>. The
<p>
Set the <em class="parameter"><code>caps</code></em> result in <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1768,8 +1932,11 @@ Set the <em class="parameter"><code>caps</code></em> result in <em class="parame
Get the caps result from <em class="parameter"><code>query</code></em>. The caps remains valid as long as
<em class="parameter"><code>query</code></em> remains valid.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1793,8 +1960,11 @@ Constructs a new query object for querying if <em class="parameter"><code>caps</
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -1818,8 +1988,11 @@ Free-function: gst_query_unref
Get the caps from <em class="parameter"><code>query</code></em>. The caps remains valid as long as <em class="parameter"><code>query</code></em> remains
valid.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1841,8 +2014,11 @@ valid.
<p>
Set <em class="parameter"><code>result</code></em> as the result for the <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1864,8 +2040,11 @@ Set <em class="parameter"><code>result</code></em> as the result for the <em cla
<p>
Parse the result from <em class="parameter"><code>query</code></em> and store in <em class="parameter"><code>result</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1892,8 +2071,11 @@ Parse the result from <em class="parameter"><code>query</code></em> and store in
<p>
The different types of buffering methods.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-BUFFERING-STREAM:CAPS"></a><span class="term"><code class="literal">GST_BUFFERING_STREAM</code></span></p></td>
@@ -1929,8 +2111,11 @@ a stream.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
@@ -1954,8 +2139,11 @@ Free-function: gst_query_unref
Set the percentage of buffered data. This is a value between 0 and 100.
The <em class="parameter"><code>busy</code></em> indicator is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when the buffering is in progress.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -1982,8 +2170,11 @@ The <em class="parameter"><code>busy</code></em> indicator is <a href="http://li
Get the percentage of buffered data. This is a value between 0 and 100.
The <em class="parameter"><code>busy</code></em> indicator is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when the buffering is in progress.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2013,8 +2204,11 @@ The <em class="parameter"><code>busy</code></em> indicator is <a href="http://li
<p>
Configures the buffering stats values in <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2050,8 +2244,11 @@ Configures the buffering stats values in <em class="parameter"><code>query</code
<p>
Extracts the buffering stats values from <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2092,8 +2289,11 @@ milliseconds, or NULL. <span class="annotation">[<acronym title="Parameter for r
<p>
Set the available query result fields in <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2132,8 +2332,11 @@ Parse an available query, writing the format into <em class="parameter"><code>fo
other results into the passed parameters, if the respective parameters
are non-NULL
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2175,8 +2378,11 @@ time, or NULL. <span class="annotation">[<acronym title="Parameter for returning
Set the buffering-ranges array field in <em class="parameter"><code>query</code></em>. The current last
start position of the array should be inferior to <em class="parameter"><code>start</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2206,8 +2412,11 @@ start position of the array should be inferior to <em class="parameter"><code>st
Retrieve the number of values currently stored in the
buffered-ranges array of the query's structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2232,8 +2441,11 @@ buffered-ranges array of the query's structure.
Parse an available query and get the start and stop values stored
at the <em class="parameter"><code>index</code></em> of the buffered ranges array.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2273,8 +2485,11 @@ that is used by the source or sink.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -2292,8 +2507,11 @@ Parse an URI query, writing the URI into <em class="parameter"><code>uri</code><
allocated string, if the respective parameters are non-NULL.
Free the string with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2317,8 +2535,11 @@ Free the string with <a href="http://library.gnome.org/devel/glib/unstable/glib-
<p>
Answer a URI query by setting the requested URI.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2342,8 +2563,11 @@ Constructs a new query object for querying the allocation properties.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
@@ -2372,8 +2596,11 @@ Parse an allocation query, writing the requested caps in <em class="parameter"><
whether a pool is needed in <em class="parameter"><code>need_pool</code></em>, if the respective parameters
are non-NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2404,8 +2631,11 @@ are non-NULL.
<p>
Set the pool parameters in <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2439,8 +2669,11 @@ Set the pool parameters in <em class="parameter"><code>query</code></em>.
Retrieve the number of values currently stored in the
pool array of the query's structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2469,8 +2702,11 @@ Get the pool parameters in <em class="parameter"><code>query</code></em>.
<p>
Unref <em class="parameter"><code>pool</code></em> with <a class="link" href="GstObject.html#gst-object-unref" title="gst_object_unref ()"><code class="function">gst_object_unref()</code></a> when it's not needed any more.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2515,8 +2751,11 @@ Unref <em class="parameter"><code>pool</code></em> with <a class="link" href="Gs
<p>
Set the pool parameters in <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
@@ -2548,6 +2787,33 @@ Set the pool parameters in <em class="parameter"><code>query</code></em>.
</div>
<hr>
<div class="refsect2">
+<a name="gst-query-remove-nth-allocation-pool"></a><h3>gst_query_remove_nth_allocation_pool ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_query_remove_nth_allocation_pool
+ (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);</pre>
+<p>
+Remove the allocation pool at <em class="parameter"><code>index</code></em> of the allocation pool array.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
+<td>a GST_QUERY_ALLOCATION type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
+<td>position in the allocation pool array to remove</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-query-add-allocation-param"></a><h3>gst_query_add_allocation_param ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_query_add_allocation_param (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a class="link" href="GstAllocator.html" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>,
@@ -2555,8 +2821,11 @@ Set the pool parameters in <em class="parameter"><code>query</code></em>.
<p>
Add <em class="parameter"><code>allocator</code></em> and its <em class="parameter"><code>params</code></em> as a supported memory allocator.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2586,10 +2855,15 @@ allocator params array of the query's structure.
</p>
<p>
If no memory allocator is specified, the downstream element can handle
-the default memory allocator.
+the default memory allocator. The first memory allocator in the query
+should be generic and allow mapping to system memory, all following
+allocators should be ordered by preference with the preferred one first.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2615,8 +2889,11 @@ the default memory allocator.
Parse an available query and get the alloctor and its params
at <em class="parameter"><code>index</code></em> of the allocator array.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2629,7 +2906,7 @@ at <em class="parameter"><code>index</code></em> of the allocator array.
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td>variable to hold the result. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<td>variable to hold the result. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
@@ -2651,8 +2928,11 @@ at <em class="parameter"><code>index</code></em> of the allocator array.
Parse an available query and get the alloctor and its params
at <em class="parameter"><code>index</code></em> of the allocator array.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2678,6 +2958,33 @@ at <em class="parameter"><code>index</code></em> of the allocator array.
</div>
<hr>
<div class="refsect2">
+<a name="gst-query-remove-nth-allocation-param"></a><h3>gst_query_remove_nth_allocation_param ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_query_remove_nth_allocation_param
+ (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);</pre>
+<p>
+Remove the allocation param at <em class="parameter"><code>index</code></em> of the allocation param array.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
+<td>a GST_QUERY_ALLOCATION type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
+<td>position in the allocation param array to remove</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-query-add-allocation-meta"></a><h3>gst_query_add_allocation_meta ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_query_add_allocation_meta (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> api</code></em>,
@@ -2685,8 +2992,11 @@ at <em class="parameter"><code>index</code></em> of the allocator array.
<p>
Add <em class="parameter"><code>api</code></em> with <em class="parameter"><code>params</code></em> as one of the supported metadata API to <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2713,8 +3023,11 @@ Add <em class="parameter"><code>api</code></em> with <em class="parameter"><code
Retrieve the number of values currently stored in the
meta API array of the query's structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2738,8 +3051,11 @@ meta API array of the query's structure.
Parse an available query and get the metadata API
at <em class="parameter"><code>index</code></em> of the metadata API array.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2771,8 +3087,11 @@ at <em class="parameter"><code>index</code></em> of the metadata API array.
<p>
Remove the metadata API at <em class="parameter"><code>index</code></em> of the metadata API array.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2797,8 +3116,11 @@ Check if <em class="parameter"><code>query</code></em> has metadata <em class="p
<em class="parameter"><code>index</code></em> will contain the index where the requested API and the flags can be
found.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2825,15 +3147,19 @@ found.
<div class="refsect2">
<a name="GstSchedulingFlags"></a><h3>enum GstSchedulingFlags</h3>
<pre class="programlisting">typedef enum {
- GST_SCHEDULING_FLAG_SEEKABLE = (1 &lt;&lt; 0),
- GST_SCHEDULING_FLAG_SEQUENTIAL = (1 &lt;&lt; 1)
+ GST_SCHEDULING_FLAG_SEEKABLE = (1 &lt;&lt; 0),
+ GST_SCHEDULING_FLAG_SEQUENTIAL = (1 &lt;&lt; 1),
+ GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED = (1 &lt;&lt; 2)
} GstSchedulingFlags;
</pre>
<p>
The different scheduling flags.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-SCHEDULING-FLAG-SEEKABLE:CAPS"></a><span class="term"><code class="literal">GST_SCHEDULING_FLAG_SEEKABLE</code></span></p></td>
@@ -2845,6 +3171,11 @@ The different scheduling flags.
<td>if sequential access is recommended
</td>
</tr>
+<tr>
+<td><p><a name="GST-SCHEDULING-FLAG-BANDWIDTH-LIMITED:CAPS"></a><span class="term"><code class="literal">GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED</code></span></p></td>
+<td>if bandwidth is limited and buffering possible
+</td>
+</tr>
</tbody>
</table></div>
</div>
@@ -2858,8 +3189,11 @@ Constructs a new query object for querying the scheduling properties.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -2878,8 +3212,11 @@ Free-function: gst_query_unref
<p>
Set the scheduling properties.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2920,8 +3257,11 @@ Set the scheduling properties.
<p>
Set the scheduling properties.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2954,8 +3294,11 @@ Set the scheduling properties.
<p>
Add <em class="parameter"><code>mode</code></em> as aone of the supported scheduling modes to <em class="parameter"><code>query</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -2978,8 +3321,11 @@ Add <em class="parameter"><code>mode</code></em> as aone of the supported schedu
Retrieve the number of values currently stored in the
scheduling mode array of the query's structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -3002,8 +3348,11 @@ scheduling mode array of the query's structure.
Parse an available query and get the scheduling mode
at <em class="parameter"><code>index</code></em> of the scheduling modes array.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -3043,8 +3392,11 @@ Check if <em class="parameter"><code>query</code></em> has scheduling mode set.
</div>
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -3073,8 +3425,11 @@ Check if <em class="parameter"><code>query</code></em> has scheduling mode set.
Check if <em class="parameter"><code>query</code></em> has scheduling mode set and <em class="parameter"><code>flags</code></em> is set in
query scheduling flags.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
@@ -3107,8 +3462,33 @@ Constructs a new query object for querying the drain state.
<p>
Free-function: gst_query_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-query-new-context"></a><h3>gst_query_new_context ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * gst_query_new_context (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+Constructs a new query object for querying the pipeline-local context.
+</p>
+<p>
+Free-function: gst_query_unref
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -3116,6 +3496,141 @@ Free-function: gst_query_unref
</tr></tbody>
</table></div>
</div>
+<hr>
+<div class="refsect2">
+<a name="gst-query-set-context"></a><h3>gst_query_set_context ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_context (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);</pre>
+<p>
+Answer a context query by setting the requested context.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> with query type GST_QUERY_CONTEXT</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the requested <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-query-parse-context"></a><h3>gst_query_parse_context ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_context (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a> **context</code></em>);</pre>
+<p>
+Get the context from the context <em class="parameter"><code>query</code></em>. The context remains valid as long as
+<em class="parameter"><code>query</code></em> remains valid.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
+<td>The query to parse</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>A pointer to store the <a class="link" href="gstreamer-GstContext.html#GstContext" title="GstContext"><span class="type">GstContext</span></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-query-add-context-type"></a><h3>gst_query_add_context_type ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_query_add_context_type (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *context_type</code></em>);</pre>
+<p>
+Add a new context type to <em class="parameter"><code>query</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
+<td>a GST_QUERY_NEED_CONTEXT type query</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context_type</code></em> :</span></p></td>
+<td>a context type</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-query-get-n-context-types"></a><h3>gst_query_get_n_context_types ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_query_get_n_context_types (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre>
+<p>
+Retrieve the number of values currently stored in the
+context-types array of the query's structure.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
+<td>a GST_QUERY_NEED_CONTEXT type query</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the context-types array size as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-query-parse-nth-context-type"></a><h3>gst_query_parse_nth_context_type ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_query_parse_nth_context_type (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> i</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **context_type</code></em>);</pre>
+<p>
+Parse a context type from an existing GST_QUERY_NEED_CONTEXT query
+from <em class="parameter"><code>index</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
+<td>a GST_QUERY_NEED_CONTEXT type query</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context_type</code></em> :</span></p></td>
+<td>the context type, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating if the parsing succeeded.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
</div>
<div class="refsect1">
<a name="gstreamer-GstQuery.see-also"></a><h2>See Also</h2>
diff --git a/docs/gst/html/gstreamer-GstSample.html b/docs/gst/html/gstreamer-GstSample.html
index 23fba64..230b214 100644
--- a/docs/gst/html/gstreamer-GstSample.html
+++ b/docs/gst/html/gstreamer-GstSample.html
@@ -3,10 +3,10 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstSample</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
-<link rel="prev" href="gstreamer-GstCaps.html" title="GstCaps">
+<link rel="prev" href="gstreamer-GstCapsFeatures.html" title="GstCapsFeatures">
<link rel="next" href="GstChildProxy.html" title="GstChildProxy">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
@@ -14,7 +14,7 @@
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
-<td><a accesskey="p" href="gstreamer-GstCaps.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gstreamer-GstCapsFeatures.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th>
@@ -81,8 +81,11 @@ exchange buffers with an application.
<p>
Get the buffer associated with <em class="parameter"><code>sample</code></em>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sample</code></em> :</span></p></td>
@@ -105,8 +108,11 @@ is no buffer. The buffer remains valid as long as <em class="parameter"><code>sa
<p>
Get the caps associated with <em class="parameter"><code>sample</code></em>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sample</code></em> :</span></p></td>
@@ -129,8 +135,11 @@ is no caps. The caps remain valid as long as <em class="parameter"><code>sample<
<p>
Get extra information associated with <em class="parameter"><code>sample</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sample</code></em> :</span></p></td>
@@ -153,8 +162,11 @@ The info remains valid as long as <em class="parameter"><code>sample</code></em>
<p>
Get the segment associated with <em class="parameter"><code>sample</code></em>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sample</code></em> :</span></p></td>
@@ -183,8 +195,11 @@ Create a new <a class="link" href="gstreamer-GstSample.html#GstSample" title="Gs
<p>
Free-function: gst_sample_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -222,8 +237,11 @@ after usage. <span class="annotation">[<acronym title="Free data after the code
<p>
Increases the refcount of the given sample by one.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sample</code></em> :</span></p></td>
@@ -247,8 +265,11 @@ Increases the refcount of the given sample by one.
Decreases the refcount of the sample. If the refcount reaches 0, the
sample will be freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>sample</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstSample.html#GstSample" title="GstSample"><span class="type">GstSample</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
diff --git a/docs/gst/html/gstreamer-GstSegment.html b/docs/gst/html/gstreamer-GstSegment.html
index 4c29d7a..bcb8b80 100644
--- a/docs/gst/html/gstreamer-GstSegment.html
+++ b/docs/gst/html/gstreamer-GstSegment.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstSegment</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstRegistry.html" title="GstRegistry">
@@ -88,7 +88,7 @@ interest in a media file, called a segment.
<p>
The structure can be used for two purposes:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>performing seeks (handling seek events)</p></li>
<li class="listitem"><p>tracking playback regions (handling newsegment events)</p></li>
</ul></div>
@@ -171,8 +171,11 @@ Last reviewed on 2012-03-29 (0.11.3)
A helper structure that holds the configured region of
interest in a media file.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstSegment.html#GstSegmentFlags" title="enum GstSegmentFlags"><span class="type">GstSegmentFlags</span></a> <em class="structfield"><code><a name="GstSegment.flags"></a>flags</code></em>;</span></p></td>
@@ -237,8 +240,11 @@ interest in a media file.
Flags for the GstSegment structure. Currently mapped to the corresponding
values of the seek flags.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-SEGMENT-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_SEGMENT_FLAG_NONE</code></span></p></td>
@@ -291,8 +297,11 @@ respectively, the region fell partially in the segment.
Note that when <em class="parameter"><code>stop</code></em> is -1, <em class="parameter"><code>clip_stop</code></em> will be set to the end of the
segment. Depending on the use case, this may or may not be what you want.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td>
@@ -342,8 +351,11 @@ flags are set.
<p>
Initialize <em class="parameter"><code>segment</code></em> to its default values.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td>
@@ -367,8 +379,11 @@ Allocate a new <a class="link" href="gstreamer-GstSegment.html#GstSegment" title
<p>
Free-function: gst_segment_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a>, free with <a class="link" href="gstreamer-GstSegment.html#gst-segment-free" title="gst_segment_free ()"><code class="function">gst_segment_free()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -386,8 +401,11 @@ Create a copy of given <em class="parameter"><code>segment</code></em>.
<p>
Free-function: gst_segment_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td>
@@ -409,8 +427,11 @@ Free-function: gst_segment_free
<p>
Free the allocated segment <em class="parameter"><code>segment</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a>. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -464,8 +485,11 @@ rate and applied_rate after calling this function.
position field. This field can be FALSE if, for example, only the <em class="parameter"><code>rate</code></em>
has been changed but not the playback position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td>
@@ -530,8 +554,11 @@ starting from 0. When <a class="link" href="gstreamer-GstSegment.html#gst-segmen
<p>
This function returns -1 if the position is outside of <em class="parameter"><code>segment</code></em> start and stop.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td>
@@ -572,8 +599,11 @@ clock time that one wants to convert to the stream time.
The stream time is always between 0 and the total duration of the
media stream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td>
@@ -605,8 +635,11 @@ was given.</td>
Convert <em class="parameter"><code>running_time</code></em> into a position in the segment so that
<a class="link" href="gstreamer-GstSegment.html#gst-segment-to-running-time" title="gst_segment_to_running_time ()"><code class="function">gst_segment_to_running_time()</code></a> with that position returns <em class="parameter"><code>running_time</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td>
@@ -638,8 +671,11 @@ Convert <em class="parameter"><code>running_time</code></em> into a position in
Adjust the start/stop and base values of <em class="parameter"><code>segment</code></em> such that the next valid
buffer will be one with <em class="parameter"><code>running_time</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td>
@@ -670,8 +706,11 @@ returned, <em class="parameter"><code>running_time</code></em> is -1 or not in <
<p>
Copy the contents of <em class="parameter"><code>src</code></em> into <em class="parameter"><code>dest</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstStructure.html b/docs/gst/html/gstreamer-GstStructure.html
index 4538ac2..5cbf6c8 100644
--- a/docs/gst/html/gstreamer-GstStructure.html
+++ b/docs/gst/html/gstreamer-GstStructure.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstStructure</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstSegment.html" title="GstSegment">
@@ -58,6 +58,7 @@ struct <a class="link" href="gstreamer-GstStructure.html#GstStructu
<a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstStructure.html#gst-structure-new-id" title="gst_structure_new_id ()">gst_structure_new_id</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> name_quark</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> field_quark</code></em>,
<em class="parameter"><code>...</code></em>);
+<a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstStructure.html#gst-structure-new-from-string" title="gst_structure_new_from_string ()">gst_structure_new_from_string</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *string</code></em>);
<a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstStructure.html#gst-structure-copy" title="gst_structure_copy ()">gst_structure_copy</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstStructure.html#gst-structure-free" title="gst_structure_free ()">gst_structure_free</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);
const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gstreamer-GstStructure.html#gst-structure-get-name" title="gst_structure_get_name ()">gst_structure_get_name</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);
@@ -258,8 +259,11 @@ Last reviewed on 2012-03-29 (0.11.3)
<p>
The GstStructure object. Most fields are private.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> <em class="structfield"><code><a name="GstStructure.type"></a>type</code></em>;</span></p></td>
<td>the GType of a structure</td>
@@ -276,8 +280,11 @@ The GstStructure object. Most fields are private.
A function that will be called in <a class="link" href="gstreamer-GstStructure.html#gst-structure-foreach" title="gst_structure_foreach ()"><code class="function">gst_structure_foreach()</code></a>. The function may
not modify <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>field_id</code></em> :</span></p></td>
@@ -309,8 +316,11 @@ the foreach operation should stop with FALSE.</td>
A function that will be called in <a class="link" href="gstreamer-GstStructure.html#gst-structure-map-in-place" title="gst_structure_map_in_place ()"><code class="function">gst_structure_map_in_place()</code></a>. The function
may modify <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>field_id</code></em> :</span></p></td>
@@ -345,8 +355,11 @@ See <a class="link" href="gstreamer-GstStructure.html#gst-structure-set-name" ti
<p>
Free-function: gst_structure_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -370,8 +383,11 @@ Creates a new, empty <a class="link" href="gstreamer-GstStructure.html#GstStruct
<p>
Free-function: gst_structure_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
@@ -400,8 +416,11 @@ and value. Last variable argument should be NULL.
<p>
Free-function: gst_structure_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -440,8 +459,11 @@ See <a class="link" href="gstreamer-GstStructure.html#gst-structure-set-name" ti
<p>
Free-function: gst_structure_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -481,8 +503,11 @@ The last variable argument must be NULL (or 0).
<p>
Free-function: gst_structure_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name_quark</code></em> :</span></p></td>
@@ -506,6 +531,39 @@ Free-function: gst_structure_free
</div>
<hr>
<div class="refsect2">
+<a name="gst-structure-new-from-string"></a><h3>gst_structure_new_from_string ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * gst_structure_new_from_string (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
+<p>
+Creates a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> from a string representation.
+If end is not NULL, a pointer to the place inside the given string
+where parsing ended will be returned.
+</p>
+<p>
+Free-function: gst_structure_free
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
+<td>a string representation of a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> or NULL when the string could
+not be parsed. Free with <a class="link" href="gstreamer-GstStructure.html#gst-structure-free" title="gst_structure_free ()"><code class="function">gst_structure_free()</code></a> after use. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="gst-structure-copy"></a><h3>gst_structure_copy ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * gst_structure_copy (<em class="parameter"><code>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre>
<p>
@@ -514,8 +572,11 @@ Duplicates a <a class="link" href="gstreamer-GstStructure.html#GstStructure" tit
<p>
Free-function: gst_structure_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -523,7 +584,7 @@ Free-function: gst_structure_free
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a new <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>a new <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
@@ -537,8 +598,11 @@ Free-function: gst_structure_free
Frees a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> and all its fields and values. The structure must not
have a parent when this function is called.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
<td>the <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> to free. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -553,8 +617,11 @@ have a parent when this function is called.
<p>
Get the name of <em class="parameter"><code>structure</code></em> as a string.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -576,8 +643,11 @@ Get the name of <em class="parameter"><code>structure</code></em> as a string.
<p>
Checks if the structure has the given name
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -605,8 +675,11 @@ Sets the name of the structure to the given <em class="parameter"><code>name</co
provided is copied before being used. It must not be empty, start with a
letter and can be followed by letters, numbers and any of "/-_.:".
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -627,8 +700,11 @@ letter and can be followed by letters, numbers and any of "/-_.:".
<p>
Get the name of <em class="parameter"><code>structure</code></em> as a GQuark.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -667,8 +743,11 @@ you must release with a suitable <code class="function">_unref()</code> when no
strings and boxed types you will receive a copy which you will need to
release with either <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> or the suitable function for the boxed type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -703,8 +782,11 @@ Parses the variable arguments and reads fields from <em class="parameter"><code>
valist-variant of <a class="link" href="gstreamer-GstStructure.html#gst-structure-id-get" title="gst_structure_id_get ()"><code class="function">gst_structure_id_get()</code></a>. Look at the documentation of
<a class="link" href="gstreamer-GstStructure.html#gst-structure-id-get" title="gst_structure_id_get ()"><code class="function">gst_structure_id_get()</code></a> for more details.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -734,8 +816,11 @@ valist-variant of <a class="link" href="gstreamer-GstStructure.html#gst-structur
<p>
Get the value of the field with GQuark <em class="parameter"><code>field</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -765,8 +850,11 @@ Sets the field with the given GQuark <em class="parameter"><code>field</code></e
does not exist, it is created. If the field exists, the previous
value is replaced and freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -795,8 +883,11 @@ Sets the field with the given GQuark <em class="parameter"><code>field</code></e
does not exist, it is created. If the field exists, the previous
value is replaced and freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -833,8 +924,11 @@ you must release with a suitable <code class="function">_unref()</code> when no
strings and boxed types you will receive a copy which you will need to
release with either <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> or the suitable function for the boxed type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -869,8 +963,11 @@ Parses the variable arguments and reads fields from <em class="parameter"><code>
valist-variant of <a class="link" href="gstreamer-GstStructure.html#gst-structure-get" title="gst_structure_get ()"><code class="function">gst_structure_get()</code></a>. Look at the documentation of
<a class="link" href="gstreamer-GstStructure.html#gst-structure-get" title="gst_structure_get ()"><code class="function">gst_structure_get()</code></a> for more details.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -900,8 +997,11 @@ valist-variant of <a class="link" href="gstreamer-GstStructure.html#gst-structur
<p>
Get the value of the field with name <em class="parameter"><code>fieldname</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -930,8 +1030,11 @@ Sets the field with the given name <em class="parameter"><code>field</code></em>
does not exist, it is created. If the field exists, the previous
value is replaced and freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -960,8 +1063,11 @@ Sets the field with the given name <em class="parameter"><code>field</code></em>
does not exist, it is created. If the field exists, the previous
value is replaced and freed. The function will take ownership of <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -991,8 +1097,11 @@ Parses the variable arguments and sets fields accordingly.
Variable arguments should be in the form field name, field type
(as a GType), value(s). The last variable argument should be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1019,8 +1128,11 @@ Variable arguments should be in the form field name, field type
<p>
va_list form of <a class="link" href="gstreamer-GstStructure.html#gst-structure-set" title="gst_structure_set ()"><code class="function">gst_structure_set()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1051,8 +1163,11 @@ setting of the structure if the caller already knows the associated
quark values.
The last variable argument must be NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1079,8 +1194,11 @@ The last variable argument must be NULL.
<p>
va_list form of <a class="link" href="gstreamer-GstStructure.html#gst-structure-id-set" title="gst_structure_id_set ()"><code class="function">gst_structure_id_set()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1107,8 +1225,11 @@ va_list form of <a class="link" href="gstreamer-GstStructure.html#gst-structure-
Removes the field with the given name. If the field with the given
name does not exist, the structure is unchanged.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1132,8 +1253,11 @@ name does not exist, the structure is unchanged.
Removes the fields with the given names. If a field does not exist, the
argument is ignored.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1160,8 +1284,11 @@ argument is ignored.
<p>
va_list form of <a class="link" href="gstreamer-GstStructure.html#gst-structure-remove-fields" title="gst_structure_remove_fields ()"><code class="function">gst_structure_remove_fields()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1186,8 +1313,11 @@ va_list form of <a class="link" href="gstreamer-GstStructure.html#gst-structure-
<p>
Removes all fields in a GstStructure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>
@@ -1205,8 +1335,11 @@ Finds the field with the given name, and returns the type of the
value it contains. If the field is not found, G_TYPE_INVALID is
returned.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1234,8 +1367,11 @@ returned.
Calls the provided function once for each field in the <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>. The
function must not modify the fields. Also see <a class="link" href="gstreamer-GstStructure.html#gst-structure-map-in-place" title="gst_structure_map_in_place ()"><code class="function">gst_structure_map_in_place()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1267,8 +1403,11 @@ FALSE otherwise.</td>
<p>
Get the number of fields in the structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1290,8 +1429,11 @@ Get the number of fields in the structure.
<p>
Check if <em class="parameter"><code>structure</code></em> contains a field named <em class="parameter"><code>fieldname</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1318,8 +1460,11 @@ Check if <em class="parameter"><code>structure</code></em> contains a field name
<p>
Check if <em class="parameter"><code>structure</code></em> contains a field named <em class="parameter"><code>fieldname</code></em> and with GType <em class="parameter"><code>type</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1349,8 +1494,11 @@ Check if <em class="parameter"><code>structure</code></em> contains a field name
<p>
Tests if the two <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> are equal.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure1</code></em> :</span></p></td>
@@ -1377,8 +1525,11 @@ Checks if <em class="parameter"><code>subset</code></em> is a subset of <em clas
structure name and for all fields that are existing in <em class="parameter"><code>superset</code></em>,
<em class="parameter"><code>subset</code></em> has a value that is a subset of the value in <em class="parameter"><code>superset</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>subset</code></em> :</span></p></td>
@@ -1408,8 +1559,11 @@ structure name and for all fields that are existing in <em class="parameter"><co
Tries intersecting <em class="parameter"><code>struct1</code></em> and <em class="parameter"><code>struct2</code></em> and reports whether the result
would not be empty.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>struct1</code></em> :</span></p></td>
@@ -1437,8 +1591,11 @@ would not be empty.
<p>
Interesects <em class="parameter"><code>struct1</code></em> and <em class="parameter"><code>struct2</code></em> and returns the intersection.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>struct1</code></em> :</span></p></td>
@@ -1466,8 +1623,11 @@ Interesects <em class="parameter"><code>struct1</code></em> and <em class="param
<p>
Check if <em class="parameter"><code>structure</code></em> contains a field named <em class="parameter"><code>field</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1495,8 +1655,11 @@ Check if <em class="parameter"><code>structure</code></em> contains a field name
<p>
Check if <em class="parameter"><code>structure</code></em> contains a field named <em class="parameter"><code>field</code></em> and with GType <em class="parameter"><code>type</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1530,8 +1693,11 @@ Sets the boolean pointed to by <em class="parameter"><code>value</code></em> cor
given field. Caller is responsible for making sure the field exists
and has the correct type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1567,8 +1733,11 @@ Sets the int pointed to by <em class="parameter"><code>value</code></em> corresp
given field. Caller is responsible for making sure the field exists
and has the correct type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1605,8 +1774,11 @@ Sets the uint pointed to by <em class="parameter"><code>value</code></em> corres
given field. Caller is responsible for making sure the field exists
and has the correct type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1643,8 +1815,11 @@ Sets the double pointed to by <em class="parameter"><code>value</code></em> corr
given field. Caller is responsible for making sure the field exists
and has the correct type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1683,8 +1858,11 @@ sure the field exists and has the correct type.
The string should not be modified, and remains valid until the next
call to a gst_structure_*() function with the given structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1720,8 +1898,11 @@ should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-
inconsistent with e.g. <a class="link" href="gstreamer-GstStructure.html#gst-structure-get-string" title="gst_structure_get_string ()"><code class="function">gst_structure_get_string()</code></a> which doesn't return a
copy of the string).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1763,8 +1944,11 @@ should be unreffed with <a class="link" href="gstreamer-GstDateTime.html#gst-dat
(note: this is inconsistent with e.g. <a class="link" href="gstreamer-GstStructure.html#gst-structure-get-string" title="gst_structure_get_string ()"><code class="function">gst_structure_get_string()</code></a>
which doesn't return a copy of the string).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1800,8 +1984,11 @@ Sets the clock time pointed to by <em class="parameter"><code>value</code></em>
of the given field. Caller is responsible for making sure the field exists
and has the correct type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1838,8 +2025,11 @@ Sets the int pointed to by <em class="parameter"><code>value</code></em> corresp
given field. Caller is responsible for making sure the field exists,
has the correct type and that the enumtype is correct.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1880,8 +2070,11 @@ Sets the integers pointed to by <em class="parameter"><code>value_numerator</cod
corresponding to the value of the given field. Caller is responsible
for making sure the field exists and has the correct type.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1922,8 +2115,11 @@ Calls the provided function once for each field in the <a class="link" href="gst
contrast to <a class="link" href="gstreamer-GstStructure.html#gst-structure-foreach" title="gst_structure_foreach ()"><code class="function">gst_structure_foreach()</code></a>, the function may modify but not delete the
fields. The structure must be mutable.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1956,8 +2152,11 @@ FALSE otherwise.</td>
<p>
Get the name of the given field number, counting from 0 onwards.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -1986,8 +2185,11 @@ determine whether a structure is mutable or not. This function should only be
called by code implementing parent objects of <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>, as described in
the MT Refcounting section of the design documents.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -2034,8 +2236,11 @@ This prints the structure in human readble form.
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -2064,8 +2269,11 @@ where parsing ended will be returned.
<p>
Free-function: gst_structure_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
@@ -2073,7 +2281,7 @@ Free-function: gst_structure_free
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
-<td>pointer to store the end of the string in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>pointer to store the end of the string in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][skip]</span>
</td>
</tr>
<tr>
@@ -2093,8 +2301,11 @@ not be parsed. Free with <a class="link" href="gstreamer-GstStructure.html#gst-s
Fixate all values in <em class="parameter"><code>structure</code></em> using <a class="link" href="gstreamer-GstValue.html#gst-value-fixate" title="gst_value_fixate ()"><code class="function">gst_value_fixate()</code></a>.
<em class="parameter"><code>structure</code></em> will be modified in-place and should be writable.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>
@@ -2110,8 +2321,11 @@ Fixate all values in <em class="parameter"><code>structure</code></em> using <a
<p>
Fixates a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> by changing the given field with its fixated value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -2141,8 +2355,11 @@ Fixates a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title=
Fixates a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> by changing the given field to the nearest
integer to <em class="parameter"><code>target</code></em> that is a subset of the existing field.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -2176,8 +2393,11 @@ integer to <em class="parameter"><code>target</code></em> that is a subset of th
Fixates a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> by changing the given field to the nearest
double to <em class="parameter"><code>target</code></em> that is a subset of the existing field.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -2213,8 +2433,11 @@ Fixates a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title=
fraction to <em class="parameter"><code>target_numerator</code></em>/<em class="parameter"><code>target_denominator</code></em> that is a subset
of the existing field.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -2251,8 +2474,11 @@ of the existing field.
Fixates a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> by changing the given <em class="parameter"><code>field_name</code></em> field to the given
<em class="parameter"><code>target</code></em> boolean if that field is not fixed yet.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
@@ -2285,8 +2511,11 @@ Fixates a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title=
Fixates a <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> by changing the given <em class="parameter"><code>field_name</code></em> field to the given
<em class="parameter"><code>target</code></em> string if that field is not fixed yet.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstTagList.html b/docs/gst/html/gstreamer-GstTagList.html
index 841850c..fa1c675 100644
--- a/docs/gst/html/gstreamer-GstTagList.html
+++ b/docs/gst/html/gstreamer-GstTagList.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTagList</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstSystemClock.html" title="GstSystemClock">
@@ -324,8 +324,11 @@ Last reviewed on 2009-06-09 (0.10.23)
<p>
Object describing tags / metadata.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstTagList.mini-object"></a>mini_object</code></em>;</span></p></td>
<td>the parent type</td>
@@ -359,7 +362,7 @@ In the table below this is shown for the cases that a tag exists in the list
<p>
</p>
<div class="table">
-<a name="idp44880240"></a><p class="title"><b>Table 1. merge mode</b></p>
+<a name="idp45082624"></a><p class="title"><b>Table 1. merge mode</b></p>
<div class="table-contents"><table summary="merge mode" border="1">
<colgroup>
<col>
@@ -423,8 +426,11 @@ In the table below this is shown for the cases that a tag exists in the list
</div>
<p><br class="table-break">
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-TAG-MERGE-UNDEFINED:CAPS"></a><span class="term"><code class="literal">GST_TAG_MERGE_UNDEFINED</code></span></p></td>
@@ -483,8 +489,11 @@ In the table below this is shown for the cases that a tag exists in the list
<p>
Extra tag flags used when registering tags.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-TAG-FLAG-UNDEFINED:CAPS"></a><span class="term"><code class="literal">GST_TAG_FLAG_UNDEFINED</code></span></p></td>
@@ -524,8 +533,11 @@ Extra tag flags used when registering tags.
A function that will be called in <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-foreach" title="gst_tag_list_foreach ()"><code class="function">gst_tag_list_foreach()</code></a>. The function may
not modify the tag list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -553,8 +565,11 @@ not modify the tag list.
A function for merging multiple values of a tag used when registering
tags.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -581,8 +596,11 @@ tags.
GstTagScope specifies if a taglist applies to the complete
medium or only to one single stream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-TAG-SCOPE-STREAM:CAPS"></a><span class="term"><code class="literal">GST_TAG_SCOPE_STREAM</code></span></p></td>
@@ -1456,8 +1474,11 @@ merge function was supplied and if so which one.
Two default merge functions are provided: <a class="link" href="gstreamer-GstTagList.html#gst-tag-merge-use-first" title="gst_tag_merge_use_first ()"><code class="function">gst_tag_merge_use_first()</code></a> and
<a class="link" href="gstreamer-GstTagList.html#gst-tag-merge-strings-with-comma" title="gst_tag_merge_strings_with_comma ()"><code class="function">gst_tag_merge_strings_with_comma()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -1505,8 +1526,11 @@ static strings or inlined strings, as they will not be copied. (GStreamer
plugins will be made resident once loaded, so this function can be used
even from dynamically loaded plugins.)
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
@@ -1545,8 +1569,11 @@ even from dynamically loaded plugins.)
This is a convenience function for the func argument of <a class="link" href="gstreamer-GstTagList.html#gst-tag-register" title="gst_tag_register ()"><code class="function">gst_tag_register()</code></a>.
It creates a copy of the first value from the list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -1570,8 +1597,11 @@ This is a convenience function for the func argument of <a class="link" href="gs
It concatenates all given strings using a comma. The tag must be registered
as a G_TYPE_STRING or this function will fail.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -1592,8 +1622,11 @@ as a G_TYPE_STRING or this function will fail.
<p>
Checks if the given type is already registered.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
@@ -1613,8 +1646,11 @@ Checks if the given type is already registered.
<p>
Gets the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> used for this tag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
@@ -1635,8 +1671,11 @@ Gets the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-I
Returns the human-readable name of this tag, You must not change or free
this string.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
@@ -1657,8 +1696,11 @@ this string.
Returns the human-readable description of this tag, You must not change or
free this string.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
@@ -1678,8 +1720,11 @@ free this string.
<p>
Gets the flag of <em class="parameter"><code>tag</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
@@ -1700,8 +1745,11 @@ Gets the flag of <em class="parameter"><code>tag</code></em>.
Checks if the given tag is fixed. A fixed tag can only contain one value.
Unfixed tags can contain lists of values.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
@@ -1736,8 +1784,11 @@ default stream scope is assumes. See <a class="link" href="gstreamer-GstTagList.
<p>
Free-function: gst_tag_list_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
@@ -1766,8 +1817,11 @@ Creates a new empty GstTagList.
<p>
Free-function: gst_tag_list_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>An empty tag list. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -1786,8 +1840,11 @@ Useful mostly for language bindings.
<p>
Free-function: gst_tag_list_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
@@ -1809,8 +1866,11 @@ when no longer needed. <span class="annotation">[<acronym title="Free data after
<p>
Deserializes a tag list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
@@ -1829,6 +1889,10 @@ Deserializes a tag list.
<a name="gst-tag-list-free"></a><h3>gst_tag_list_free()</h3>
<pre class="programlisting">#define gst_tag_list_free(taglist) gst_tag_list_unref(taglist)
</pre>
+<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Warning</h3>
+<p><code class="literal">gst_tag_list_free</code> is deprecated and should not be used in newly-written code.</p>
+</div>
</div>
<hr>
<div class="refsect2">
@@ -1837,8 +1901,11 @@ Deserializes a tag list.
<p>
Gets the scope of <em class="parameter"><code>list</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -1862,8 +1929,11 @@ Gets the scope of <em class="parameter"><code>list</code></em>.
Sets the scope of <em class="parameter"><code>list</code></em> to <em class="parameter"><code>scope</code></em>. By default the scope
of a taglist is stream scope.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -1885,8 +1955,11 @@ of a taglist is stream scope.
<p>
Serializes a tag list to a string.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -1908,8 +1981,11 @@ string must be freed with <a href="http://library.gnome.org/devel/glib/unstable/
<p>
Checks if the given taglist is empty.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -1930,8 +2006,11 @@ Checks if the given taglist is empty.
<p>
Checks if the two given taglists are equal.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list1</code></em> :</span></p></td>
@@ -1965,8 +2044,11 @@ reference to the data, you should use <a class="link" href="gstreamer-GstTagList
<p>
When you are finished with the taglist, call <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-unref" title="gst_tag_list_unref ()"><code class="function">gst_tag_list_unref()</code></a> on it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>taglist</code></em> :</span></p></td>
@@ -1994,8 +2076,11 @@ not change. To use a <a class="link" href="gstreamer-GstTagList.html#GstTagList"
it -- either the one made implicitly by e.g. <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-new" title="gst_tag_list_new ()"><code class="function">gst_tag_list_new()</code></a>, or via
taking one explicitly with this function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>taglist</code></em> :</span></p></td>
@@ -2015,8 +2100,11 @@ taking one explicitly with this function.
<p>
Unref a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a>, and and free all its memory when the refcount reaches 0.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>taglist</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a>.</td>
@@ -2032,8 +2120,11 @@ Unref a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struc
Tests if you can safely modify <em class="parameter"><code>taglist</code></em>. It is only safe to modify taglist
when there is only one owner of the taglist - ie, the refcount is 1.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>taglist</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a>
@@ -2062,8 +2153,11 @@ In short, this function unrefs the taglist in the argument and refs the
taglist that it returns. Don't access the argument after calling this
function. See also: <a class="link" href="gstreamer-GstTagList.html#gst-tag-list-ref" title="gst_tag_list_ref ()"><code class="function">gst_tag_list_ref()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>taglist</code></em> :</span></p></td>
@@ -2088,8 +2182,11 @@ same as <em class="parameter"><code>taglist</code></em>. <span class="annotation
<p>
Inserts the tags of the <em class="parameter"><code>from</code></em> list into the first list using the given mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>into</code></em> :</span></p></td>
@@ -2119,8 +2216,11 @@ copy of the other is returned. If both lists are NULL, NULL is returned.
<p>
Free-function: gst_tag_list_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list1</code></em> :</span></p></td>
@@ -2150,8 +2250,11 @@ Free-function: gst_tag_list_unref
<p>
Checks how many value are stored in this tag list for the given tag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2175,8 +2278,11 @@ Checks how many value are stored in this tag list for the given tag.
<p>
Get the number of tags in <em class="parameter"><code>list</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2197,8 +2303,11 @@ Get the number of tags in <em class="parameter"><code>list</code></em>.
<p>
Get the name of the tag in <em class="parameter"><code>list</code></em> at <em class="parameter"><code>index</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2225,8 +2334,11 @@ Get the name of the tag in <em class="parameter"><code>list</code></em> at <em c
<p>
Sets the values for the given tags using the specified mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2257,8 +2369,11 @@ Sets the values for the given tags using the specified mode.
<p>
Sets the GValue for a given tag using the specified mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2289,8 +2404,11 @@ Sets the GValue for a given tag using the specified mode.
<p>
Sets the GValues for the given tags using the specified mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2321,8 +2439,11 @@ Sets the GValues for the given tags using the specified mode.
<p>
Sets the values for the given tags using the specified mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2353,8 +2474,11 @@ Sets the values for the given tags using the specified mode.
<p>
Sets the GValues for the given tags using the specified mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2383,8 +2507,11 @@ Sets the GValues for the given tags using the specified mode.
<p>
Removes the given tag from the taglist.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2407,8 +2534,11 @@ Removes the given tag from the taglist.
Calls the given function for each tag inside the tag list. Note that if there
is no tag, the function won't be called at all.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2437,8 +2567,11 @@ is no tag, the function won't be called at all.
Gets the value that is at the given index for the given tag in the given
list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2474,8 +2607,11 @@ merging multiple values into one if multiple values are associated
with the tag.
You must <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#g-value-unset"><code class="function">g_value_unset()</code></a> the value after use.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -2508,8 +2644,11 @@ given list.</td>
Copies the contents for the given tag into the value, merging multiple values
into one if multiple values are associated with the tag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2543,8 +2682,11 @@ given list.</td>
Gets the value that is at the given index for the given tag in the given
list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2581,8 +2723,11 @@ given list.</td>
Copies the contents for the given tag into the value, merging multiple values
into one if multiple values are associated with the tag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2616,8 +2761,11 @@ given list.</td>
Gets the value that is at the given index for the given tag in the given
list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2654,8 +2802,11 @@ given list.</td>
Copies the contents for the given tag into the value, merging multiple values
into one if multiple values are associated with the tag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2689,8 +2840,11 @@ given list.</td>
Gets the value that is at the given index for the given tag in the given
list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2735,8 +2889,11 @@ given list.</td>
Gets the value that is at the given index for the given tag in the given
list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2773,8 +2930,11 @@ given list.</td>
Copies the contents for the given tag into the value, merging multiple values
into one if multiple values are associated with the tag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2808,8 +2968,11 @@ given list.</td>
Gets the value that is at the given index for the given tag in the given
list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2846,8 +3009,11 @@ given list.</td>
Copies the contents for the given tag into the value, merging multiple values
into one if multiple values are associated with the tag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2881,8 +3047,11 @@ given list.</td>
Gets the value that is at the given index for the given tag in the given
list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2919,8 +3088,11 @@ given list.</td>
Copies the contents for the given tag into the value, merging multiple values
into one if multiple values are associated with the tag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -2954,8 +3126,11 @@ given list.</td>
Gets the value that is at the given index for the given tag in the given
list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3004,8 +3179,11 @@ returned string is also guaranteed to be non-NULL and non-empty.
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3047,8 +3225,11 @@ returned string is also guaranteed to be non-NULL and non-empty.
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3091,8 +3272,11 @@ The resulting string in <em class="parameter"><code>value</code></em> will be in
to be freed by the caller. The returned string is also guaranteed to
be non-NULL and non-empty.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3129,8 +3313,11 @@ given list.</td>
Copies the contents for the given tag into the value, merging multiple values
into one if multiple values are associated with the tag.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3164,8 +3351,11 @@ given list.</td>
Gets the value that is at the given index for the given tag in the given
list.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3206,8 +3396,11 @@ needed.
<p>
Free-function: g_date_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3246,8 +3439,11 @@ with <a href="http://library.gnome.org/devel/glib/unstable/glib-Date-and-Time-Fu
<p>
Free-function: g_date_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3288,8 +3484,11 @@ it is no longer needed.
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3328,8 +3527,11 @@ with <a class="link" href="gstreamer-GstDateTime.html#gst-date-time-unref" title
<p>
Free-function: gst_date_time_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3372,8 +3574,11 @@ no longer needed. You can retrieve the buffer from the sample using
<p>
Free-function: gst_sample_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
@@ -3414,8 +3619,11 @@ caps (if any) with <a class="link" href="gstreamer-GstSample.html#gst-sample-get
<p>
Free-function: gst_sample_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstToc.html b/docs/gst/html/gstreamer-GstToc.html
index d39f836..a46af2a 100644
--- a/docs/gst/html/gstreamer-GstToc.html
+++ b/docs/gst/html/gstreamer-GstToc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstToc</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstTaskPool.html" title="GstTaskPool">
@@ -139,6 +139,16 @@ chapters and angles, for example, while the current TOC would only contain
the chapters for the currently playing title if playback of a specific
title was requested.
</p>
+<p>
+Applications and plugins should not rely on TOCs having a certain kind of
+structure, but should allow for different alternatives. For example, a
+simple CUE sheet embedded in a file may be presented as a flat list of
+track entries, or could have a top-level edition node (or some other
+alternative type entry) with track entries underneath that node; or even
+multiple top-level edition nodes (or some other alternative type entries)
+each with track entries underneath, in case the source file has extracted
+a track listing from different sources).
+</p>
</div>
<div class="refsect1">
<a name="gstreamer-GstToc.details"></a><h2>Details</h2>
@@ -157,8 +167,11 @@ title was requested.
<p>
The scope of a TOC.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-TOC-SCOPE-GLOBAL:CAPS"></a><span class="term"><code class="literal">GST_TOC_SCOPE_GLOBAL</code></span></p></td>
@@ -203,8 +216,11 @@ The different types of TOC entries (see <a class="link" href="gstreamer-GstToc.h
<p>
There are two types of TOC entries: alternatives or parts in a sequence.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-TOC-ENTRY-TYPE-ANGLE:CAPS"></a><span class="term"><code class="literal">GST_TOC_ENTRY_TYPE_ANGLE</code></span></p></td>
@@ -251,8 +267,11 @@ There are two types of TOC entries: alternatives or parts in a sequence.
<p>
Create a new <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>scope</code></em> :</span></p></td>
@@ -287,8 +306,11 @@ with <a class="link" href="gstreamer-GstToc.html#gst-toc-unref" title="gst_toc_u
<p>
Copy <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> with all subentries (deep copy).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
@@ -313,8 +335,11 @@ free it when done with <a class="link" href="gstreamer-GstToc.html#gst-toc-unref
<div class="refsect2">
<a name="gst-toc-get-scope"></a><h3>gst_toc_get_scope ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocScope" title="enum GstTocScope"><span class="returnvalue">GstTocScope</span></a> gst_toc_get_scope (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
@@ -335,8 +360,11 @@ free it when done with <a class="link" href="gstreamer-GstToc.html#gst-toc-unref
<p>
Gets the list of <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> of <em class="parameter"><code>toc</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
@@ -358,8 +386,11 @@ Gets the list of <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title=
<p>
Appends the <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> <em class="parameter"><code>entry</code></em> to <em class="parameter"><code>toc</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
@@ -380,8 +411,11 @@ Appends the <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstT
<p>
Gets the tags for <em class="parameter"><code>toc</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
@@ -404,8 +438,11 @@ Gets the tags for <em class="parameter"><code>toc</code></em>.
<p>
Merge <em class="parameter"><code>tags</code></em> into the existing tags of <em class="parameter"><code>toc</code></em> using <em class="parameter"><code>mode</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
@@ -432,8 +469,11 @@ Merge <em class="parameter"><code>tags</code></em> into the existing tags of <em
<p>
Set a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> with tags for the complete <em class="parameter"><code>toc</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
@@ -460,8 +500,11 @@ Set a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct
<p>
Create new <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -498,8 +541,11 @@ Create new <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTo
<p>
Copy <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> with all subentries (deep copy).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -528,8 +574,11 @@ free it when done with <a class="link" href="gstreamer-GstToc.html#gst-toc-entry
<p>
Find <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> with given <em class="parameter"><code>uid</code></em> in the <em class="parameter"><code>toc</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td>
@@ -556,8 +605,11 @@ Find <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry
<p>
Gets the parent <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> of <em class="parameter"><code>entry</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -578,8 +630,11 @@ Gets the parent <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstTo
<p>
Gets the UID of <em class="parameter"><code>entry</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -600,8 +655,11 @@ Gets the UID of <em class="parameter"><code>entry</code></em>.
<p>
Gets the parent <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> of <em class="parameter"><code>entry</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -622,8 +680,11 @@ Gets the parent <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="
<p>
Gets the sub-entries of <em class="parameter"><code>entry</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -645,8 +706,11 @@ Gets the sub-entries of <em class="parameter"><code>entry</code></em>.
<p>
Appends the <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> <em class="parameter"><code>subentry</code></em> to <em class="parameter"><code>entry</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -669,8 +733,11 @@ Appends the <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstT
<p>
Get start and stop values from the <em class="parameter"><code>entry</code></em> and write them into appropriate storages.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -704,8 +771,11 @@ FALSE otherwise.</td>
<p>
Set <em class="parameter"><code>start</code></em> and <em class="parameter"><code>stop</code></em> values for the <em class="parameter"><code>entry</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -730,8 +800,11 @@ Set <em class="parameter"><code>start</code></em> and <em class="parameter"><cod
<p>
Gets the tags for <em class="parameter"><code>entry</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -754,8 +827,11 @@ Gets the tags for <em class="parameter"><code>entry</code></em>.
<p>
Merge <em class="parameter"><code>tags</code></em> into the existing tags of <em class="parameter"><code>entry</code></em> using <em class="parameter"><code>mode</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -782,8 +858,11 @@ Merge <em class="parameter"><code>tags</code></em> into the existing tags of <em
<p>
Set a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> with tags for the complete <em class="parameter"><code>entry</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -804,8 +883,11 @@ Set a <a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct
<p>
Converts <em class="parameter"><code>type</code></em> to a string representation.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -824,8 +906,11 @@ interface.</td>
<div class="refsect2">
<a name="gst-toc-entry-get-entry-type"></a><h3>gst_toc_entry_get_entry_type ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstToc.html#GstTocEntryType" title="enum GstTocEntryType"><span class="returnvalue">GstTocEntryType</span></a> gst_toc_entry_get_entry_type (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -844,8 +929,11 @@ interface.</td>
<div class="refsect2">
<a name="gst-toc-entry-is-alternative"></a><h3>gst_toc_entry_is_alternative ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_toc_entry_is_alternative (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
@@ -865,8 +953,11 @@ interface.</td>
<div class="refsect2">
<a name="gst-toc-entry-is-sequence"></a><h3>gst_toc_entry_is_sequence ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_toc_entry_is_sequence (<em class="parameter"><code>const <a class="link" href="gstreamer-GstToc.html#GstTocEntry" title="GstTocEntry"><span class="type">GstTocEntry</span></a> *entry</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstTocSetter.html b/docs/gst/html/gstreamer-GstTocSetter.html
index f5fe714..9486980 100644
--- a/docs/gst/html/gstreamer-GstTocSetter.html
+++ b/docs/gst/html/gstreamer-GstTocSetter.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTocSetter</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstToc.html" title="GstToc">
@@ -94,8 +94,11 @@ Opaque <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="Gs
<p>
<a class="link" href="gstreamer-GstTocSetter.html#GstTocSetterInterface" title="struct GstTocSetterInterface"><span class="type">GstTocSetterInterface</span></a> interface.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstTocSetterInterface.g-iface"></a>g_iface</code></em>;</span></p></td>
<td>parent interface type.</td>
@@ -111,8 +114,11 @@ Opaque <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="Gs
Set the given TOC on the setter. Previously setted TOC will be
unrefed before setting a new one.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
@@ -134,8 +140,11 @@ unrefed before setting a new one.
Return current TOC the setter uses. The TOC should not be
modified without making it writable first.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
@@ -158,8 +167,11 @@ when no longer needed. <span class="annotation">[<acronym title="Free data after
Reset the internal TOC. Elements should call this from within the
state-change handler.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>setter</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-GstTocSetter.html#GstTocSetter" title="GstTocSetter"><span class="type">GstTocSetter</span></a>.</td>
diff --git a/docs/gst/html/gstreamer-GstTypeFind.html b/docs/gst/html/gstreamer-GstTypeFind.html
index 79eb47b..f88bba9 100644
--- a/docs/gst/html/gstreamer-GstTypeFind.html
+++ b/docs/gst/html/gstreamer-GstTypeFind.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTypeFind</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstTocSetter.html" title="GstTocSetter">
@@ -99,8 +99,11 @@ Last reviewed on 2005-11-09 (0.9.4)
<p>
Object that stores typefind callbacks. To use with <a class="link" href="GstTypeFindFactory.html" title="GstTypeFindFactory"><span class="type">GstTypeFindFactory</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="GstTypeFind.peek"></a>peek</code></em> ()</span></p></td>
@@ -129,8 +132,11 @@ Object that stores typefind callbacks. To use with <a class="link" href="GstType
<p>
A function that will be called by typefinding.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>find</code></em> :</span></p></td>
@@ -159,8 +165,11 @@ A function that will be called by typefinding.
The probability of the typefind function. Higher values have more certainty
in doing a reliable typefind.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-TYPE-FIND-NONE:CAPS"></a><span class="term"><code class="literal">GST_TYPE_FIND_NONE</code></span></p></td>
@@ -208,8 +217,11 @@ stream, if offset is a negative number the offset is relative to the end of
the stream. The returned memory is valid until the typefinding function
returns and must not be freed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>find</code></em> :</span></p></td>
@@ -244,8 +256,11 @@ given probability. A <a class="link" href="gstreamer-GstTypeFind.html#GstTypeFin
in one call.
It is up to the caller of the <a class="link" href="gstreamer-GstTypeFind.html#GstTypeFindFunction" title="GstTypeFindFunction ()"><span class="type">GstTypeFindFunction</span></a> to interpret these values.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>find</code></em> :</span></p></td>
@@ -287,8 +302,11 @@ the values passed have the correct type (in terms of width in bytes when
passed to the vararg function - this applies particularly to gdouble and
guint64 arguments).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>find</code></em> :</span></p></td>
@@ -323,8 +341,11 @@ field GType and field value)</td>
<p>
Get the length of the data stream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>find</code></em> :</span></p></td>
@@ -353,8 +374,11 @@ Registers a new typefind function to be used for typefinding. After
registering this function will be available for typefinding.
This function is typically called during an element's plugin initialization.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>plugin</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstUriHandler.html b/docs/gst/html/gstreamer-GstUriHandler.html
index 6cd2789..e3701fe 100644
--- a/docs/gst/html/gstreamer-GstUriHandler.html
+++ b/docs/gst/html/gstreamer-GstUriHandler.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstUriHandler</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstTypeFindFactory.html" title="GstTypeFindFactory">
@@ -127,8 +127,11 @@ Opaque <a class="link" href="gstreamer-GstUriHandler.html#GstURIHandler"><span c
<p>
Any <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> using this interface should implement these methods.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstURIHandlerInterface.parent"></a>parent</code></em>;</span></p></td>
@@ -165,8 +168,11 @@ Any <a class="link" href="GstElement.html" title="GstElement"><span class="type"
<p>
The different types of URI direction.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-URI-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_URI_UNKNOWN</code></span></p></td>
@@ -199,8 +205,11 @@ The different types of URI direction.
<p>
Different URI-related errors that can occur.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-URI-ERROR-UNSUPPORTED-PROTOCOL:CAPS"></a><span class="term"><code class="literal">GST_URI_ERROR_UNSUPPORTED_PROTOCOL</code></span></p></td>
@@ -240,8 +249,11 @@ Different URI-related errors that can occur.
<p>
Tests if the type direction is valid.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td>A <a class="link" href="gstreamer-GstUriHandler.html#GstURIType" title="enum GstURIType"><span class="type">GstURIType</span></a>
@@ -258,8 +270,11 @@ Tests if the given string is a valid protocol identifier. Protocols
must consist of alphanumeric characters, '+', '-' and '.' and must
start with a alphabetic character. See RFC 3986 Section 3.1.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>protocol</code></em> :</span></p></td>
@@ -282,8 +297,11 @@ Checks if an element exists that supports the given URI protocol. Note
that a positive return value does not imply that a subsequent call to
<a class="link" href="gstreamer-GstUriHandler.html#gst-element-make-from-uri" title="gst_element_make_from_uri ()"><code class="function">gst_element_make_from_uri()</code></a> is guaranteed to work.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -308,8 +326,11 @@ that a positive return value does not imply that a subsequent call to
Tests if the given string is a valid URI identifier. URIs start with a valid
scheme followed by ":" and maybe a string identifying the location.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
@@ -330,8 +351,11 @@ scheme followed by ":" and maybe a string identifying the location.
<p>
Checks if the protocol of a given valid URI matches <em class="parameter"><code>protocol</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
@@ -357,8 +381,11 @@ Checks if the protocol of a given valid URI matches <em class="parameter"><code>
Extracts the protocol out of a given valid URI. The returned string must be
freed using <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
@@ -384,8 +411,11 @@ the hostname if one is specified. The returned string must be freed using
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
@@ -412,8 +442,11 @@ Constructs a URI for a given valid protocol and location.
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>protocol</code></em> :</span></p></td>
@@ -447,8 +480,11 @@ will be canonicalised so that it doesn't contain any './' or '../' segments.
<p>
On Windows <span class="type">filename</span> should be in UTF-8 encoding.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
@@ -471,8 +507,11 @@ On Windows <span class="type">filename</span> should be in UTF-8 encoding.
<p>
Creates an element for handling the given URI.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
@@ -507,8 +546,11 @@ Creates an element for handling the given URI.
<p>
Gets the type of the given URI handler
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler</code></em> :</span></p></td>
@@ -530,8 +572,11 @@ Returns <a class="link" href="gstreamer-GstUriHandler.html#GST-URI-UNKNOWN:CAPS"
Gets the list of protocols supported by <em class="parameter"><code>handler</code></em>. This list may not be
modified.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler</code></em> :</span></p></td>
@@ -554,8 +599,11 @@ doesn't support any protocols. <span class="annotation">[<acronym title="Don't f
<p>
Gets the currently handled URI.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler</code></em> :</span></p></td>
@@ -581,8 +629,11 @@ returned string must be freed with <a href="http://library.gnome.org/devel/glib/
<p>
Tries to set the URI of the given handler.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstUtils.html b/docs/gst/html/gstreamer-GstUtils.html
index ae19c23..705af8e 100644
--- a/docs/gst/html/gstreamer-GstUtils.html
+++ b/docs/gst/html/gstreamer-GstUtils.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstUtils</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstUriHandler.html" title="GstUriHandler">
@@ -190,8 +190,11 @@ named parent_class that points to the (duh!) parent class. Note that
this macro is not to be used with things that return something, use
the _WITH_DEFAULT version for that
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parent_class_cast</code></em> :</span></p></td>
@@ -216,8 +219,11 @@ the _WITH_DEFAULT version for that
Same as <a class="link" href="gstreamer-GstUtils.html#GST-CALL-PARENT:CAPS" title="GST_CALL_PARENT()"><code class="function">GST_CALL_PARENT()</code></a>, but in case there is no implementation, it
evaluates to <em class="parameter"><code>def_return</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parent_class_cast</code></em> :</span></p></td>
@@ -246,8 +252,11 @@ evaluates to <em class="parameter"><code>def_return</code></em>.
<p>
Read an 8 bit unsigned integer value from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>memory location</td>
@@ -262,8 +271,11 @@ Read an 8 bit unsigned integer value from the memory buffer.
<p>
Read a 16 bit unsigned integer value in little endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>memory location</td>
@@ -278,8 +290,11 @@ Read a 16 bit unsigned integer value in little endian format from the memory buf
<p>
Read a 16 bit unsigned integer value in big endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>memory location</td>
@@ -289,12 +304,16 @@ Read a 16 bit unsigned integer value in big endian format from the memory buffer
<hr>
<div class="refsect2">
<a name="GST-READ-UINT24-LE:CAPS"></a><h3>GST_READ_UINT24_LE()</h3>
-<pre class="programlisting">#define GST_READ_UINT24_LE(data)</pre>
+<pre class="programlisting">#define GST_READ_UINT24_LE(data) __gst_slow_read24_le((const guint8 *)(data))
+</pre>
<p>
Read a 24 bit unsigned integer value in little endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>memory location</td>
@@ -304,12 +323,16 @@ Read a 24 bit unsigned integer value in little endian format from the memory buf
<hr>
<div class="refsect2">
<a name="GST-READ-UINT24-BE:CAPS"></a><h3>GST_READ_UINT24_BE()</h3>
-<pre class="programlisting">#define GST_READ_UINT24_BE(data)</pre>
+<pre class="programlisting">#define GST_READ_UINT24_BE(data) __gst_slow_read24_be((const guint8 *)(data))
+</pre>
<p>
Read a 24 bit unsigned integer value in big endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>memory location</td>
@@ -324,8 +347,11 @@ Read a 24 bit unsigned integer value in big endian format from the memory buffer
<p>
Read a 32 bit unsigned integer value in little endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>memory location</td>
@@ -340,8 +366,11 @@ Read a 32 bit unsigned integer value in little endian format from the memory buf
<p>
Read a 32 bit unsigned integer value in big endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>memory location</td>
@@ -356,8 +385,11 @@ Read a 32 bit unsigned integer value in big endian format from the memory buffer
<p>
Read a 64 bit unsigned integer value in little endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>memory location</td>
@@ -372,8 +404,11 @@ Read a 64 bit unsigned integer value in little endian format from the memory buf
<p>
Read a 64 bit unsigned integer value in big endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>memory location</td>
@@ -387,8 +422,11 @@ Read a 64 bit unsigned integer value in big endian format from the memory buffer
<p>
Read a 32 bit float value in little endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -409,8 +447,11 @@ Read a 32 bit float value in little endian format from the memory buffer.
<p>
Read a 32 bit float value in big endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -431,8 +472,11 @@ Read a 32 bit float value in big endian format from the memory buffer.
<p>
Read a 64 bit double value in little endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -453,8 +497,11 @@ Read a 64 bit double value in little endian format from the memory buffer.
<p>
Read a 64 bit double value in big endian format from the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -475,8 +522,11 @@ Read a 64 bit double value in big endian format from the memory buffer.
<p>
Store an 8 bit unsigned integer value into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -496,8 +546,11 @@ Store an 8 bit unsigned integer value into the memory buffer.
<p>
Store a 16 bit unsigned integer value in little endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -517,8 +570,11 @@ Store a 16 bit unsigned integer value in little endian format into the memory bu
<p>
Store a 16 bit unsigned integer value in big endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -538,8 +594,11 @@ Store a 16 bit unsigned integer value in big endian format into the memory buffe
<p>
Store a 24 bit unsigned integer value in little endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -559,8 +618,11 @@ Store a 24 bit unsigned integer value in little endian format into the memory bu
<p>
Store a 24 bit unsigned integer value in big endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -580,8 +642,11 @@ Store a 24 bit unsigned integer value in big endian format into the memory buffe
<p>
Store a 32 bit unsigned integer value in little endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -601,8 +666,11 @@ Store a 32 bit unsigned integer value in little endian format into the memory bu
<p>
Store a 32 bit unsigned integer value in big endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -622,8 +690,11 @@ Store a 32 bit unsigned integer value in big endian format into the memory buffe
<p>
Store a 64 bit unsigned integer value in little endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -643,8 +714,11 @@ Store a 64 bit unsigned integer value in little endian format into the memory bu
<p>
Store a 64 bit unsigned integer value in big endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -665,8 +739,11 @@ Store a 64 bit unsigned integer value in big endian format into the memory buffe
<p>
Store a 32 bit float value in little endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -687,8 +764,11 @@ Store a 32 bit float value in little endian format into the memory buffer.
<p>
Store a 32 bit float value in big endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -709,8 +789,11 @@ Store a 32 bit float value in big endian format into the memory buffer.
<p>
Store a 64 bit double value in little endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -731,8 +814,11 @@ Store a 64 bit double value in little endian format into the memory buffer.
<p>
Store a 64 bit double value in big endian format into the memory buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -753,8 +839,11 @@ Store a 64 bit double value in big endian format into the memory buffer.
<p>
Rounds an integer value up to the next multiple of 2.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round up</td>
@@ -769,8 +858,11 @@ Rounds an integer value up to the next multiple of 2.
<p>
Rounds an integer value up to the next multiple of 4.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round up</td>
@@ -785,8 +877,11 @@ Rounds an integer value up to the next multiple of 4.
<p>
Rounds an integer value up to the next multiple of 8.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round up</td>
@@ -801,8 +896,11 @@ Rounds an integer value up to the next multiple of 8.
<p>
Rounds an integer value up to the next multiple of 16.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round up</td>
@@ -817,8 +915,11 @@ Rounds an integer value up to the next multiple of 16.
<p>
Rounds an integer value up to the next multiple of 32.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round up</td>
@@ -833,8 +934,11 @@ Rounds an integer value up to the next multiple of 32.
<p>
Rounds an integer value up to the next multiple of 64.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round up</td>
@@ -849,8 +953,11 @@ Rounds an integer value up to the next multiple of 64.
<p>
Rounds an integer value down to the next multiple of 2.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round down</td>
@@ -865,8 +972,11 @@ Rounds an integer value down to the next multiple of 2.
<p>
Rounds an integer value down to the next multiple of 4.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round down</td>
@@ -881,8 +991,11 @@ Rounds an integer value down to the next multiple of 4.
<p>
Rounds an integer value down to the next multiple of 8.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round down</td>
@@ -897,8 +1010,11 @@ Rounds an integer value down to the next multiple of 8.
<p>
Rounds an integer value down to the next multiple of 16.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round down</td>
@@ -913,8 +1029,11 @@ Rounds an integer value down to the next multiple of 16.
<p>
Rounds an integer value down to the next multiple of 32.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round down</td>
@@ -929,8 +1048,11 @@ Rounds an integer value down to the next multiple of 32.
<p>
Rounds an integer value down to the next multiple of 64.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
<td>integer value to round down</td>
@@ -946,8 +1068,11 @@ Rounds an integer value down to the next multiple of 64.
Convert 64-bit floating point value (double) from big endian byte order
into native byte order.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
<td>value</td>
@@ -963,8 +1088,11 @@ into native byte order.
Convert 64-bit floating point value (double) from little endian byte order
into native byte order.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
<td>value</td>
@@ -978,8 +1106,11 @@ into native byte order.
<p>
Swap byte order of a 64-bit floating point value (double).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
@@ -1002,8 +1133,11 @@ Swap byte order of a 64-bit floating point value (double).
Convert 64-bit floating point value (double) from native byte order into
big endian byte order.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
<td>value</td>
@@ -1019,8 +1153,11 @@ big endian byte order.
Convert 64-bit floating point value (double) from native byte order into
little endian byte order.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
<td>value</td>
@@ -1036,8 +1173,11 @@ little endian byte order.
Convert 32-bit floating point value (float) from big endian byte order
into native byte order.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
<td>value</td>
@@ -1053,8 +1193,11 @@ into native byte order.
Convert 32-bit floating point value (float) from little endian byte order
into native byte order.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
<td>value</td>
@@ -1068,8 +1211,11 @@ into native byte order.
<p>
Swap byte order of a 32-bit floating point value (float).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
@@ -1092,8 +1238,11 @@ Swap byte order of a 32-bit floating point value (float).
Convert 32-bit floating point value (float) from native byte order into
big endian byte order.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
<td>value</td>
@@ -1109,8 +1258,11 @@ big endian byte order.
Convert 32-bit floating point value (float) from native byte order into
little endian byte order.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
<td>value</td>
@@ -1125,8 +1277,11 @@ little endian byte order.
<p>
Convert <em class="parameter"><code>value</code></em> to a gdouble.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1148,8 +1303,11 @@ Convert <em class="parameter"><code>value</code></em> to a gdouble.
<p>
Convert <em class="parameter"><code>value</code></em> to a guint64.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1171,8 +1329,11 @@ Convert <em class="parameter"><code>value</code></em> to a guint64.
<p>
Dumps the memory block into a hex representation. Useful for debugging.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
@@ -1199,8 +1360,11 @@ underflows and without loss of precision.
This function can potentially be very slow if val and num are both
greater than G_MAXUINT32.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
@@ -1241,8 +1405,11 @@ underflows and without loss of precision.
This function can potentially be very slow if val and num are both
greater than G_MAXUINT32.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
@@ -1283,8 +1450,11 @@ underflows and without loss of precision.
This function can potentially be very slow if val and num are both
greater than G_MAXUINT32.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
@@ -1322,8 +1492,11 @@ Scale <em class="parameter"><code>val</code></em> by the rational number <em cla
underflows and without loss of precision. <em class="parameter"><code>num</code></em> must be non-negative and
<em class="parameter"><code>denom</code></em> must be positive.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
@@ -1361,8 +1534,11 @@ Scale <em class="parameter"><code>val</code></em> by the rational number <em cla
underflows and without loss of precision. <em class="parameter"><code>num</code></em> must be non-negative and
<em class="parameter"><code>denom</code></em> must be positive.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
@@ -1400,8 +1576,11 @@ Scale <em class="parameter"><code>val</code></em> by the rational number <em cla
underflows and without loss of precision. <em class="parameter"><code>num</code></em> must be non-negative and
<em class="parameter"><code>denom</code></em> must be positive.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
@@ -1437,8 +1616,11 @@ representable as an integer, it is rounded up. See also
Calculates the greatest common divisor of <em class="parameter"><code>a</code></em>
and <em class="parameter"><code>b</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -1468,8 +1650,11 @@ and <em class="parameter"><code>b</code></em>.
Calculates the greatest common divisor of <em class="parameter"><code>a</code></em>
and <em class="parameter"><code>b</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -1498,8 +1683,11 @@ and <em class="parameter"><code>b</code></em>.
<p>
Transforms a fraction to a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src_n</code></em> :</span></p></td>
@@ -1529,8 +1717,11 @@ Transforms a fraction to a <a href="http://library.gnome.org/devel/glib/unstable
Transforms a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> to a fraction and simplifies
the result.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -1563,8 +1754,11 @@ the result.
Multiplies the fractions <em class="parameter"><code>a_n</code></em>/<em class="parameter"><code>a_d</code></em> and <em class="parameter"><code>b_n</code></em>/<em class="parameter"><code>b_d</code></em> and stores
the result in <em class="parameter"><code>res_n</code></em> and <em class="parameter"><code>res_d</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a_n</code></em> :</span></p></td>
@@ -1613,8 +1807,11 @@ the result in <em class="parameter"><code>res_n</code></em> and <em class="param
Adds the fractions <em class="parameter"><code>a_n</code></em>/<em class="parameter"><code>a_d</code></em> and <em class="parameter"><code>b_n</code></em>/<em class="parameter"><code>b_d</code></em> and stores
the result in <em class="parameter"><code>res_n</code></em> and <em class="parameter"><code>res_d</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a_n</code></em> :</span></p></td>
@@ -1661,8 +1858,11 @@ the result in <em class="parameter"><code>res_n</code></em> and <em class="param
Compares the fractions <em class="parameter"><code>a_n</code></em>/<em class="parameter"><code>a_d</code></em> and <em class="parameter"><code>b_n</code></em>/<em class="parameter"><code>b_d</code></em> and returns
-1 if a &lt; b, 0 if a = b and 1 if a &gt; b.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a_n</code></em> :</span></p></td>
@@ -1700,8 +1900,11 @@ events and messages are "the same". For example, elements may set the seqnum
on a segment-done message to be the same as that of the last seek event, to
indicate that event and the message correspond to the same segment.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A constantly incrementing 32-bit unsigned integer, which might
@@ -1721,8 +1924,11 @@ Compare two sequence numbers, handling wraparound.
<p>
The current implementation just returns (gint32)(<em class="parameter"><code>s1</code></em> - <em class="parameter"><code>s2</code></em>).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>s1</code></em> :</span></p></td>
@@ -1754,8 +1960,11 @@ sets the argument with it.
Note that this function silently returns if <em class="parameter"><code>object</code></em> has no property named
<em class="parameter"><code>name</code></em> or when <em class="parameter"><code>value</code></em> cannot be converted to the type of the property.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
@@ -1785,8 +1994,11 @@ sets the value with it.
Note that this function is dangerous as it does not return any indication
if the conversion worked or not.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1808,8 +2020,11 @@ if the conversion worked or not.
Get a timestamp as GstClockTime to be used for interval measurements.
The timestamp should not be interpreted in any other way.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the timestamp</td>
@@ -1828,8 +2043,11 @@ The timestamp should not be interpreted in any other way.
<p>
The different search modes.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-SEARCH-MODE-EXACT:CAPS"></a><span class="term"><code class="literal">GST_SEARCH_MODE_EXACT</code></span></p></td>
@@ -1870,8 +2088,11 @@ not required that <em class="parameter"><code>search_data</code></em> has the sa
<p>
The complexity of this search function is O(log (num_elements)).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>array</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstValue.html b/docs/gst/html/gstreamer-GstValue.html
index 88a6fc9..3867591 100644
--- a/docs/gst/html/gstreamer-GstValue.html
+++ b/docs/gst/html/gstreamer-GstValue.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstValue</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstUtils.html" title="GstUtils">
@@ -141,6 +141,11 @@ const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-v
<em class="parameter"><code>const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);
const <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="returnvalue">GstCaps</span></a> * <a class="link" href="gstreamer-GstValue.html#gst-value-get-caps" title="gst_value_get_caps ()">gst_value_get_caps</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);
+#define <a class="link" href="gstreamer-GstValue.html#GST-VALUE-HOLDS-CAPS-FEATURES:CAPS" title="GST_VALUE_HOLDS_CAPS_FEATURES()">GST_VALUE_HOLDS_CAPS_FEATURES</a> (x)
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstValue.html#gst-value-set-caps-features" title="gst_value_set_caps_features ()">gst_value_set_caps_features</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);
+const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * <a class="link" href="gstreamer-GstValue.html#gst-value-get-caps-features" title="gst_value_get_caps_features ()">gst_value_get_caps_features</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);
+
#define <a class="link" href="gstreamer-GstValue.html#GST-VALUE-HOLDS-STRUCTURE:CAPS" title="GST_VALUE_HOLDS_STRUCTURE()">GST_VALUE_HOLDS_STRUCTURE</a> (x)
<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstValue.html#gst-value-set-structure" title="gst_value_set_structure ()">gst_value_set_structure</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
<em class="parameter"><code>const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);
@@ -245,8 +250,11 @@ endianness.
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -291,8 +299,11 @@ four characters.
<p>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>f</code></em> :</span></p></td>
<td>a string with at least four characters</td>
@@ -330,8 +341,11 @@ Can be used together with <a class="link" href="gstreamer-GstValue.html#GST-FOUR
Can be used together with <a class="link" href="gstreamer-GstValue.html#GST-FOURCC-FORMAT:CAPS" title="GST_FOURCC_FORMAT"><span class="type">GST_FOURCC_FORMAT</span></a> to properly output a
<span class="type">guint32</span> fourcc value in a <code class="function">printf()</code>-style text message.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>fourcc</code></em> :</span></p></td>
<td>a <span class="type">guint32</span> fourcc value to output</td>
@@ -346,8 +360,11 @@ Can be used together with <a class="link" href="gstreamer-GstValue.html#GST-FOUR
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-INT-RANGE:CAPS" title="GST_TYPE_INT_RANGE"><span class="type">GST_TYPE_INT_RANGE</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -362,8 +379,11 @@ Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gob
<p>
a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents an integer range
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstIntRange</td>
@@ -379,8 +399,11 @@ a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-value
<p>
Sets <em class="parameter"><code>value</code></em> to the range specified by <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -404,8 +427,11 @@ Sets <em class="parameter"><code>value</code></em> to the range specified by <em
<p>
Gets the minimum of the range specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -425,8 +451,11 @@ Gets the minimum of the range specified by <em class="parameter"><code>value</co
<p>
Gets the maximum of the range specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -449,8 +478,11 @@ Gets the maximum of the range specified by <em class="parameter"><code>value</co
<p>
Sets <em class="parameter"><code>value</code></em> to the range specified by <em class="parameter"><code>start</code></em>, <em class="parameter"><code>end</code></em> and <em class="parameter"><code>step</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -478,8 +510,11 @@ Sets <em class="parameter"><code>value</code></em> to the range specified by <em
<p>
Gets the step of the range specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -500,8 +535,11 @@ Gets the step of the range specified by <em class="parameter"><code>value</code>
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-BITMASK:CAPS" title="GST_TYPE_BITMASK"><span class="type">GST_TYPE_BITMASK</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -516,8 +554,11 @@ Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gob
<p>
a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents a 64-bit bitmask.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstBitmask (which is not explicitly typed)</td>
@@ -532,8 +573,11 @@ a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-value
<p>
Sets <em class="parameter"><code>value</code></em> to the bitmask specified by <em class="parameter"><code>bitmask</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -554,8 +598,11 @@ Sets <em class="parameter"><code>value</code></em> to the bitmask specified by <
<p>
Gets the bitmask specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -577,8 +624,11 @@ Gets the bitmask specified by <em class="parameter"><code>value</code></em>.
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-INT64-RANGE:CAPS" title="GST_TYPE_INT64_RANGE"><span class="type">GST_TYPE_INT64_RANGE</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -593,8 +643,11 @@ Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gob
<p>
a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents an <span class="type">gint64</span> range
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstInt64Range</td>
@@ -610,8 +663,11 @@ a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-value
<p>
Sets <em class="parameter"><code>value</code></em> to the range specified by <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -635,8 +691,11 @@ Sets <em class="parameter"><code>value</code></em> to the range specified by <em
<p>
Gets the minimum of the range specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -656,8 +715,11 @@ Gets the minimum of the range specified by <em class="parameter"><code>value</co
<p>
Gets the maximum of the range specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -680,8 +742,11 @@ Gets the maximum of the range specified by <em class="parameter"><code>value</co
<p>
Sets <em class="parameter"><code>value</code></em> to the range specified by <em class="parameter"><code>start</code></em>, <em class="parameter"><code>end</code></em> and <em class="parameter"><code>step</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -709,8 +774,11 @@ Sets <em class="parameter"><code>value</code></em> to the range specified by <em
<p>
Gets the step of the range specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -731,8 +799,11 @@ Gets the step of the range specified by <em class="parameter"><code>value</code>
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-DOUBLE-RANGE:CAPS" title="GST_TYPE_DOUBLE_RANGE"><span class="type">GST_TYPE_DOUBLE_RANGE</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -747,8 +818,11 @@ Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gob
<p>
a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents a floating point range with double precission
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstIntRange</td>
@@ -764,8 +838,11 @@ a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-value
<p>
Sets <em class="parameter"><code>value</code></em> to the range specified by <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -789,8 +866,11 @@ Sets <em class="parameter"><code>value</code></em> to the range specified by <em
<p>
Gets the minimum of the range specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -810,8 +890,11 @@ Gets the minimum of the range specified by <em class="parameter"><code>value</co
<p>
Gets the maximum of the range specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -832,8 +915,11 @@ Gets the maximum of the range specified by <em class="parameter"><code>value</co
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-LIST:CAPS" title="GST_TYPE_LIST"><span class="type">GST_TYPE_LIST</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -852,8 +938,11 @@ a caps structure, like a list of possible sample rates, of which only one
will be chosen in the end. This means that all values in the list are
meaningful on their own.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstValueList (which is not explicitly typed)</td>
@@ -868,8 +957,11 @@ meaningful on their own.
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-ARRAY:CAPS" title="GST_TYPE_ARRAY"><span class="type">GST_TYPE_ARRAY</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -889,8 +981,11 @@ meaningful, only the ordered array in its entirety is meaningful. This is
used for example to express channel layouts for multichannel audio where
each channel needs to be mapped to a position in the room.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstArrayList (which is not explicitly typed)</td>
@@ -905,8 +1000,11 @@ each channel needs to be mapped to a position in the room.
<p>
Appends <em class="parameter"><code>append_value</code></em> to the GstValueList in <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -915,7 +1013,8 @@ Appends <em class="parameter"><code>append_value</code></em> to the GstValueList
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>append_value</code></em> :</span></p></td>
-<td>the value to append</td>
+<td>the value to append. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
</tr>
</tbody>
</table></div>
@@ -928,8 +1027,11 @@ Appends <em class="parameter"><code>append_value</code></em> to the GstValueList
<p>
Prepends <em class="parameter"><code>prepend_value</code></em> to the GstValueList in <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -954,8 +1056,11 @@ Concatenates copies of <em class="parameter"><code>value1</code></em> and <em cl
of type <a class="link" href="gstreamer-GstValue.html#GST-TYPE-LIST:CAPS" title="GST_TYPE_LIST"><span class="type">GST_TYPE_LIST</span></a> are treated as if they were lists of length 1.
<em class="parameter"><code>dest</code></em> will be initialized to the type <a class="link" href="gstreamer-GstValue.html#GST-TYPE-LIST:CAPS" title="GST_TYPE_LIST"><span class="type">GST_TYPE_LIST</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -990,8 +1095,11 @@ The result will be put into <em class="parameter"><code>dest</code></em> and wil
contain any duplicates, or a non-list type (if <em class="parameter"><code>value1</code></em> and <em class="parameter"><code>value2</code></em>
were equal).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -1018,8 +1126,11 @@ were equal).
<p>
Gets the number of values contained in <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1042,8 +1153,11 @@ Gets the number of values contained in <em class="parameter"><code>value</code><
Gets the value that is a member of the list contained in <em class="parameter"><code>value</code></em> and
has the index <em class="parameter"><code>index</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1070,8 +1184,11 @@ has the index <em class="parameter"><code>index</code></em>.
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-FRACTION:CAPS" title="GST_TYPE_FRACTION"><span class="type">GST_TYPE_FRACTION</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -1087,8 +1204,11 @@ Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gob
a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents a fraction of an integer numerator over
an integer denominator
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstFraction (which is not explicitly typed)</td>
@@ -1106,8 +1226,11 @@ Sets <em class="parameter"><code>value</code></em> to the fraction specified by
The fraction gets reduced to the smallest numerator and denominator,
and if necessary the sign is moved to the numerator.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1132,8 +1255,11 @@ and if necessary the sign is moved to the numerator.
<p>
Gets the numerator of the fraction specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1154,8 +1280,11 @@ Gets the numerator of the fraction specified by <em class="parameter"><code>valu
<p>
Gets the denominator of the fraction specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1179,8 +1308,11 @@ Gets the denominator of the fraction specified by <em class="parameter"><code>va
Multiplies the two <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> items containing a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-FRACTION:CAPS" title="GST_TYPE_FRACTION"><span class="type">GST_TYPE_FRACTION</span></a> and sets
<em class="parameter"><code>product</code></em> to the product of the two fractions.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>product</code></em> :</span></p></td>
@@ -1213,8 +1345,11 @@ Multiplies the two <a href="http://library.gnome.org/devel/gobject/unstable/gobj
<p>
Subtracts the <em class="parameter"><code>subtrahend</code></em> from the <em class="parameter"><code>minuend</code></em> and sets <em class="parameter"><code>dest</code></em> to the result.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -1246,8 +1381,11 @@ Subtracts the <em class="parameter"><code>subtrahend</code></em> from the <em cl
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstValue.html#GST-TYPE-FRACTION-RANGE:CAPS" title="GST_TYPE_FRACTION_RANGE"><span class="type">GST_TYPE_FRACTION_RANGE</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -1262,8 +1400,11 @@ Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gob
<p>
a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type that represents a GstFraction range
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of GstFractionRange</td>
@@ -1279,8 +1420,11 @@ a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-value
<p>
Sets <em class="parameter"><code>value</code></em> to the range specified by <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1304,8 +1448,11 @@ Sets <em class="parameter"><code>value</code></em> to the range specified by <em
<p>
Gets the minimum of the range specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1325,8 +1472,11 @@ Gets the minimum of the range specified by <em class="parameter"><code>value</co
<p>
Gets the maximum of the range specified by <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1351,8 +1501,11 @@ Gets the maximum of the range specified by <em class="parameter"><code>value</co
Sets <em class="parameter"><code>value</code></em> to the range specified by <em class="parameter"><code>numerator_start</code></em>/<em class="parameter"><code>denominator_start</code></em>
and <em class="parameter"><code>numerator_end</code></em>/<em class="parameter"><code>denominator_end</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1385,8 +1538,11 @@ and <em class="parameter"><code>numerator_end</code></em>/<em class="parameter">
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <a class="link" href="gstreamer-GstDateTime.html#GST-TYPE-DATE-TIME:CAPS" title="GST_TYPE_DATE_TIME"><span class="type">GST_TYPE_DATE_TIME</span></a> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -1401,8 +1557,11 @@ Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gob
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <span class="type">GST_TYPE_CAPS</span> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -1418,8 +1577,11 @@ Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gob
Sets the contents of <em class="parameter"><code>value</code></em> to <em class="parameter"><code>caps</code></em>. A reference to the
provided <em class="parameter"><code>caps</code></em> will be taken by the <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1442,8 +1604,11 @@ Gets the contents of <em class="parameter"><code>value</code></em>. The referenc
<a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> will not be modified, therefore the caller must take one
before getting rid of the <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1459,14 +1624,86 @@ before getting rid of the <em class="parameter"><code>value</code></em>.
</div>
<hr>
<div class="refsect2">
+<a name="GST-VALUE-HOLDS-CAPS-FEATURES:CAPS"></a><h3>GST_VALUE_HOLDS_CAPS_FEATURES()</h3>
+<pre class="programlisting">#define GST_VALUE_HOLDS_CAPS_FEATURES(x) (G_VALUE_HOLDS((x), GST_TYPE_CAPS_FEATURES))
+</pre>
+<p>
+Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <span class="type">GST_TYPE_CAPS_FEATURES</span> value.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
+<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-value-set-caps-features"></a><h3>gst_value_set_caps_features ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_value_set_caps_features (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="type">GstCapsFeatures</span></a> *features</code></em>);</pre>
+<p>
+Sets the contents of <em class="parameter"><code>value</code></em> to <em class="parameter"><code>features</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a GValue initialized to GST_TYPE_CAPS_FEATURES</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>features</code></em> :</span></p></td>
+<td>the features to set the value to</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-value-get-caps-features"></a><h3>gst_value_get_caps_features ()</h3>
+<pre class="programlisting">const <a class="link" href="gstreamer-GstCapsFeatures.html#GstCapsFeatures" title="GstCapsFeatures"><span class="returnvalue">GstCapsFeatures</span></a> * gst_value_get_caps_features (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
+<p>
+Gets the contents of <em class="parameter"><code>value</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a GValue initialized to GST_TYPE_CAPS_FEATURES</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the contents of <em class="parameter"><code>value</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
<a name="GST-VALUE-HOLDS-STRUCTURE:CAPS"></a><h3>GST_VALUE_HOLDS_STRUCTURE()</h3>
<pre class="programlisting">#define GST_VALUE_HOLDS_STRUCTURE(x) (G_VALUE_HOLDS((x), GST_TYPE_STRUCTURE))
</pre>
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <span class="type">GST_TYPE_STRUCTURE</span> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -1481,8 +1718,11 @@ Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gob
<p>
Sets the contents of <em class="parameter"><code>value</code></em> to <em class="parameter"><code>structure</code></em>. The actual
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1502,8 +1742,11 @@ Sets the contents of <em class="parameter"><code>value</code></em> to <em class=
<p>
Gets the contents of <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1525,8 +1768,11 @@ Gets the contents of <em class="parameter"><code>value</code></em>.
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <span class="type">GST_TYPE_BUFFER</span> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -1543,8 +1789,11 @@ Receives a <a class="link" href="gstreamer-GstBuffer.html#GstBuffer" title="stru
the buffer, so the pointer is only valid for as long as the caller owns
a reference to <em class="parameter"><code>v</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
@@ -1566,8 +1815,11 @@ a reference to <em class="parameter"><code>v</code></em>.
<p>
Sets <em class="parameter"><code>b</code></em> as the value of <em class="parameter"><code>v</code></em>. Caller retains reference to buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
@@ -1589,8 +1841,11 @@ Sets <em class="parameter"><code>b</code></em> as the value of <em class="parame
<p>
Sets <em class="parameter"><code>b</code></em> as the value of <em class="parameter"><code>v</code></em>. Caller gives away reference to buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
@@ -1612,8 +1867,11 @@ Sets <em class="parameter"><code>b</code></em> as the value of <em class="parame
<p>
Checks if the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> contains a <span class="type">GST_TYPE_SAMPLE</span> value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to check</td>
@@ -1630,8 +1888,11 @@ Receives a <a class="link" href="gstreamer-GstSample.html#GstSample" title="GstS
the sample, so the pointer is only valid for as long as the caller owns
a reference to <em class="parameter"><code>v</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
@@ -1653,8 +1914,11 @@ a reference to <em class="parameter"><code>v</code></em>.
<p>
Sets <em class="parameter"><code>b</code></em> as the value of <em class="parameter"><code>v</code></em>. Caller retains reference to sample.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
@@ -1676,8 +1940,11 @@ Sets <em class="parameter"><code>b</code></em> as the value of <em class="parame
<p>
Sets <em class="parameter"><code>b</code></em> as the value of <em class="parameter"><code>v</code></em>. Caller gives away reference to sample.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>v</code></em> :</span></p></td>
@@ -1739,8 +2006,11 @@ determine a order for the two provided values.
<p>
Used together with <a class="link" href="gstreamer-GstValue.html#gst-value-compare" title="gst_value_compare ()"><code class="function">gst_value_compare()</code></a> to compare <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> items.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value1</code></em> :</span></p></td>
@@ -1768,8 +2038,11 @@ Used by <a class="link" href="gstreamer-GstValue.html#gst-value-serialize" title
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value1</code></em> :</span></p></td>
@@ -1792,8 +2065,11 @@ Free-function: g_free
<p>
Used by <a class="link" href="gstreamer-GstValue.html#gst-value-deserialize" title="gst_value_deserialize ()"><code class="function">gst_value_deserialize()</code></a> to parse a non-binary form into the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -1825,8 +2101,11 @@ Used by <a class="link" href="gstreamer-GstValue.html#gst-value-deserialize" tit
<p>
VTable for the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> <em class="parameter"><code>type</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> <em class="structfield"><code><a name="GstValueTable.type"></a>type</code></em>;</span></p></td>
@@ -1861,8 +2140,11 @@ container) contains a "fixed" (which means: one value) or an "unfixed"
(which means: multiple possible values, such as data lists or data
ranges) value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1883,8 +2165,11 @@ ranges) value.
Registers functions to perform calculations on <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> items of a given
type. Each type can only be added once.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>table</code></em> :</span></p></td>
<td>structure containing functions to register</td>
@@ -1900,8 +2185,11 @@ type. Each type can only be added once.
Initialises the target value to be of the same type as source and then copies
the contents from source to target.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -1926,8 +2214,11 @@ getting back this string later on using <a class="link" href="gstreamer-GstValue
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -1950,8 +2241,11 @@ Free-function: g_free
Tries to deserialize a string into the type specified by the given GValue.
If the operation succeeds, TRUE is returned, FALSE otherwise.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -1983,8 +2277,11 @@ if <em class="parameter"><code>value1</code></em> is greater than <em class="par
If <em class="parameter"><code>value1</code></em> is less than <em class="parameter"><code>value2</code></em>, GST_VALUE_LESS_THAN is returned.
If the values are equal, GST_VALUE_EQUAL is returned.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value1</code></em> :</span></p></td>
@@ -2009,8 +2306,11 @@ If the values are equal, GST_VALUE_EQUAL is returned.
<p>
Determines if <em class="parameter"><code>value1</code></em> and <em class="parameter"><code>value2</code></em> can be compared.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value1</code></em> :</span></p></td>
@@ -2036,8 +2336,11 @@ Determines if <em class="parameter"><code>value1</code></em> and <em class="para
<p>
Creates a GValue corresponding to the union of <em class="parameter"><code>value1</code></em> and <em class="parameter"><code>value2</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -2073,8 +2376,11 @@ and an integer can be unioned if the integer is a subset of the
integer range. If there is the possibility that two values can
be unioned, this function returns TRUE.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value1</code></em> :</span></p></td>
@@ -2102,8 +2408,11 @@ be unioned.</td>
Subtracts <em class="parameter"><code>subtrahend</code></em> from <em class="parameter"><code>minuend</code></em> and stores the result in <em class="parameter"><code>dest</code></em>.
Note that this means subtraction as in sets, not as in mathematics.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -2136,8 +2445,11 @@ will not be computed, which can give a fair speedup. <span class="annotation">[<
<p>
Checks if it's possible to subtract <em class="parameter"><code>subtrahend</code></em> from <em class="parameter"><code>minuend</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>minuend</code></em> :</span></p></td>
@@ -2166,8 +2478,11 @@ a non-empty intersection, the value representing the intersection
is placed in <em class="parameter"><code>dest</code></em>, unless NULL. If the intersection is non-empty,
<em class="parameter"><code>dest</code></em> is not modified.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
@@ -2199,10 +2514,13 @@ intersection value. May be NULL if the resulting set if not needed. <span class=
Determines if intersecting two values will produce a valid result.
Two values will produce a valid intersection if they have the same
type, or if there is a method (registered by
-<code class="function">gst_value_register_intersect_func()</code>) to calculate the intersection.
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstValue.html#gst-value-register-intersect-func"><code class="function">gst_value_register_intersect_func()</code></a>) to calculate the intersection.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value1</code></em> :</span></p></td>
@@ -2230,8 +2548,11 @@ Check that <em class="parameter"><code>value1</code></em> is a subset of <em cla
<p>
Return: <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is <em class="parameter"><code>value1</code></em> is a subset of <em class="parameter"><code>value2</code></em>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value1</code></em> :</span></p></td>
@@ -2254,8 +2575,11 @@ Return: <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macr
<p>
Appends <em class="parameter"><code>append_value</code></em> to the GstValueArray in <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -2276,8 +2600,11 @@ Appends <em class="parameter"><code>append_value</code></em> to the GstValueArra
<p>
Gets the number of values contained in <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -2300,8 +2627,11 @@ Gets the number of values contained in <em class="parameter"><code>value</code><
Gets the value that is a member of the array contained in <em class="parameter"><code>value</code></em> and
has the index <em class="parameter"><code>index</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -2328,8 +2658,11 @@ has the index <em class="parameter"><code>index</code></em>.
<p>
Prepends <em class="parameter"><code>prepend_value</code></em> to the GstValueArray in <em class="parameter"><code>value</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
@@ -2354,8 +2687,11 @@ For ranges, the first element is taken. For lists and arrays, the
first item is fixated and returned.
If <em class="parameter"><code>src</code></em> is already fixed, this function returns FALSE.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-GstVersion.html b/docs/gst/html/gstreamer-GstVersion.html
index 4ae2dcc..ba3bf4c 100644
--- a/docs/gst/html/gstreamer-GstVersion.html
+++ b/docs/gst/html/gstreamer-GstVersion.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstVersion</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstValue.html" title="GstValue">
@@ -79,7 +79,7 @@ The major version of GStreamer at compile time:
<hr>
<div class="refsect2">
<a name="GST-VERSION-MINOR:CAPS"></a><h3>GST_VERSION_MINOR</h3>
-<pre class="programlisting">#define GST_VERSION_MINOR (0)
+<pre class="programlisting">#define GST_VERSION_MINOR (1)
</pre>
<p>
The minor version of GStreamer at compile time:
@@ -88,7 +88,7 @@ The minor version of GStreamer at compile time:
<hr>
<div class="refsect2">
<a name="GST-VERSION-MICRO:CAPS"></a><h3>GST_VERSION_MICRO</h3>
-<pre class="programlisting">#define GST_VERSION_MICRO (8)
+<pre class="programlisting">#define GST_VERSION_MICRO (2)
</pre>
<p>
The micro version of GStreamer at compile time:
@@ -112,8 +112,11 @@ Actual releases have 0, GIT versions have 1, prerelease versions have 2-...
Check whether a GStreamer version equal to or greater than
major.minor.micro is present.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>major</code></em> :</span></p></td>
diff --git a/docs/gst/html/gstreamer-gstconfig.html b/docs/gst/html/gstreamer-gstconfig.html
index fda86e4..7a7ccdd 100644
--- a/docs/gst/html/gstreamer-gstconfig.html
+++ b/docs/gst/html/gstreamer-gstconfig.html
@@ -3,11 +3,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstconfig</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstClock.html" title="GstClock">
-<link rel="next" href="GstControlBinding.html" title="GstControlBinding">
+<link rel="next" href="gstreamer-GstContext.html" title="GstContext">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
@@ -18,7 +18,7 @@
<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th>
-<td><a accesskey="n" href="GstControlBinding.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gstreamer-GstContext.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gstreamer-gstconfig.synopsis" class="shortcut">Top</a>
diff --git a/docs/gst/html/gstreamer-hierarchy.html b/docs/gst/html/gstreamer-hierarchy.html
index bcd681f..e7c93e3 100644
--- a/docs/gst/html/gstreamer-hierarchy.html
+++ b/docs/gst/html/gstreamer-hierarchy.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Object Hierarchy</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="prev" href="gstreamer-GstInfo.html" title="GstInfo">
@@ -20,8 +20,8 @@
<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="gstreamer-hierarchy"></a>Object Hierarchy</h2></div></div></div>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="gstreamer-hierarchy"></a>Object Hierarchy</h1></div></div></div>
<pre class="screen">
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
diff --git a/docs/gst/html/gstreamer-support.html b/docs/gst/html/gstreamer-support.html
index 2994b72..ed925ac 100644
--- a/docs/gst/html/gstreamer-support.html
+++ b/docs/gst/html/gstreamer-support.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Core Support</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="prev" href="gstreamer-GstVersion.html" title="GstVersion">
@@ -20,9 +20,9 @@
<td><a accesskey="n" href="gstreamer-GstInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="gstreamer-support"></a>GStreamer Core Support</h2></div></div></div>
-<div class="toc"><dl><dt>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="gstreamer-support"></a>GStreamer Core Support</h1></div></div></div>
+<div class="toc"><dl class="toc"><dt>
<span class="refentrytitle"><a href="gstreamer-GstInfo.html">GstInfo</a></span><span class="refpurpose"> — Debugging and logging facilities</span>
</dt></dl></div>
<p>
diff --git a/docs/gst/html/gstreamer.html b/docs/gst/html/gstreamer.html
index e25f192..7278eb7 100644
--- a/docs/gst/html/gstreamer.html
+++ b/docs/gst/html/gstreamer.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Overview</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="prev" href="index.html" title="GStreamer 1.0 Core Reference Manual">
@@ -20,9 +20,9 @@
<td><a accesskey="n" href="gst-building.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="gstreamer"></a>GStreamer Overview</h2></div></div></div>
-<div class="toc"><dl>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="gstreamer"></a>GStreamer Overview</h1></div></div></div>
+<div class="toc"><dl class="toc">
<dt>
<span class="refentrytitle"><a href="gst-building.html">Building GStreamer and GStreamer Applications</a></span><span class="refpurpose"> —
How to build the GStreamer framework and applications using it.
diff --git a/docs/gst/html/index.html b/docs/gst/html/index.html
index f1e14f7..ec40ed2 100644
--- a/docs/gst/html/index.html
+++ b/docs/gst/html/index.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer 1.0 Core Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="next" href="gstreamer.html" title="GStreamer Overview">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
@@ -15,14 +15,14 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer 1.0 Core Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GStreamer Core 1.0 (1.0.8)
+ for GStreamer Core 1.0 (1.1.2)
The latest version of this documentation can be found on-line at
<a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/</a>.
</p></div>
</div>
<hr>
</div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="chapter"><a href="gstreamer.html">GStreamer Overview</a></span></dt>
<dd><dl>
<dt>
@@ -67,6 +67,9 @@ How to run and debug your GStreamer application
<span class="refentrytitle"><a href="gstreamer-GstCaps.html">GstCaps</a></span><span class="refpurpose"> — Structure describing sets of media formats</span>
</dt>
<dt>
+<span class="refentrytitle"><a href="gstreamer-GstCapsFeatures.html">GstCapsFeatures</a></span><span class="refpurpose"> — A set of features in caps</span>
+</dt>
+<dt>
<span class="refentrytitle"><a href="gstreamer-GstSample.html">GstSample</a></span><span class="refpurpose"> — A media sample</span>
</dt>
<dt>
@@ -79,6 +82,9 @@ How to run and debug your GStreamer application
<span class="refentrytitle"><a href="gstreamer-gstconfig.html">gstconfig</a></span><span class="refpurpose"> — Build configuration options</span>
</dt>
<dt>
+<span class="refentrytitle"><a href="gstreamer-GstContext.html">GstContext</a></span><span class="refpurpose"> — Lightweight objects to represent element contexts</span>
+</dt>
+<dt>
<span class="refentrytitle"><a href="GstControlBinding.html">GstControlBinding</a></span><span class="refpurpose"> — attachment for control source sources</span>
</dt>
<dt>
@@ -162,7 +168,7 @@ to GStreamer</span>
values in them.</span>
</dt>
<dt>
-<span class="refentrytitle"><a href="GstRegistry.html">GstRegistry</a></span><span class="refpurpose"> — Abstract base class for management of <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> objects</span>
+<span class="refentrytitle"><a href="GstRegistry.html">GstRegistry</a></span><span class="refpurpose">Abstract base class for management of <span class="type">GstPlugin</span> objects</span>
</dt>
<dt>
<span class="refentrytitle"><a href="gstreamer-GstSegment.html">GstSegment</a></span><span class="refpurpose"> — Structure describing the configured region of interest
diff --git a/docs/gst/html/index.sgml b/docs/gst/html/index.sgml
index ce3c4ea..38f7011 100644
--- a/docs/gst/html/index.sgml
+++ b/docs/gst/html/index.sgml
@@ -79,6 +79,7 @@
<ANCHOR id="GstBinFlags" href="gstreamer-1.0/GstBin.html#GstBinFlags">
<ANCHOR id="GST-BIN-FLAG-NO-RESYNC:CAPS" href="gstreamer-1.0/GstBin.html#GST-BIN-FLAG-NO-RESYNC:CAPS">
<ANCHOR id="GST-BIN-FLAG-LAST:CAPS" href="gstreamer-1.0/GstBin.html#GST-BIN-FLAG-LAST:CAPS">
+<ANCHOR id="GST-BIN-IS-NO-RESYNC:CAPS" href="gstreamer-1.0/GstBin.html#GST-BIN-IS-NO-RESYNC:CAPS">
<ANCHOR id="GST-BIN-CHILDREN:CAPS" href="gstreamer-1.0/GstBin.html#GST-BIN-CHILDREN:CAPS">
<ANCHOR id="GST-BIN-CHILDREN-COOKIE:CAPS" href="gstreamer-1.0/GstBin.html#GST-BIN-CHILDREN-COOKIE:CAPS">
<ANCHOR id="GST-BIN-NUMCHILDREN:CAPS" href="gstreamer-1.0/GstBin.html#GST-BIN-NUMCHILDREN:CAPS">
@@ -154,6 +155,7 @@
<ANCHOR id="gst-buffer-unmap" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-unmap">
<ANCHOR id="gst-buffer-memcmp" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-memcmp">
<ANCHOR id="gst-buffer-extract" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-extract">
+<ANCHOR id="gst-buffer-extract-dup" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-extract-dup">
<ANCHOR id="gst-buffer-fill" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-fill">
<ANCHOR id="gst-buffer-memset" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-memset">
<ANCHOR id="GstBufferCopyFlags" href="gstreamer-1.0/gstreamer-GstBuffer.html#GstBufferCopyFlags">
@@ -163,6 +165,7 @@
<ANCHOR id="GST-BUFFER-COPY-META:CAPS" href="gstreamer-1.0/gstreamer-GstBuffer.html#GST-BUFFER-COPY-META:CAPS">
<ANCHOR id="GST-BUFFER-COPY-MEMORY:CAPS" href="gstreamer-1.0/gstreamer-GstBuffer.html#GST-BUFFER-COPY-MEMORY:CAPS">
<ANCHOR id="GST-BUFFER-COPY-MERGE:CAPS" href="gstreamer-1.0/gstreamer-GstBuffer.html#GST-BUFFER-COPY-MERGE:CAPS">
+<ANCHOR id="GST-BUFFER-COPY-DEEP:CAPS" href="gstreamer-1.0/gstreamer-GstBuffer.html#GST-BUFFER-COPY-DEEP:CAPS">
<ANCHOR id="GST-BUFFER-COPY-METADATA:CAPS" href="gstreamer-1.0/gstreamer-GstBuffer.html#GST-BUFFER-COPY-METADATA:CAPS">
<ANCHOR id="GST-BUFFER-COPY-ALL:CAPS" href="gstreamer-1.0/gstreamer-GstBuffer.html#GST-BUFFER-COPY-ALL:CAPS">
<ANCHOR id="gst-buffer-copy" href="gstreamer-1.0/gstreamer-GstBuffer.html#gst-buffer-copy">
@@ -313,11 +316,15 @@
<ANCHOR id="gst-caps-append" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-append">
<ANCHOR id="gst-caps-merge" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-merge">
<ANCHOR id="gst-caps-append-structure" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-append-structure">
+<ANCHOR id="gst-caps-append-structure-full" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-append-structure-full">
<ANCHOR id="gst-caps-remove-structure" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-remove-structure">
<ANCHOR id="gst-caps-steal-structure" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-steal-structure">
<ANCHOR id="gst-caps-merge-structure" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-merge-structure">
+<ANCHOR id="gst-caps-merge-structure-full" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-merge-structure-full">
<ANCHOR id="gst-caps-get-size" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-get-size">
<ANCHOR id="gst-caps-get-structure" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-get-structure">
+<ANCHOR id="gst-caps-get-features" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-get-features">
+<ANCHOR id="gst-caps-set-features" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-set-features">
<ANCHOR id="gst-caps-set-value" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-set-value">
<ANCHOR id="gst-caps-set-simple" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-set-simple">
<ANCHOR id="gst-caps-set-simple-valist" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-set-simple-valist">
@@ -330,6 +337,7 @@
<ANCHOR id="gst-caps-is-always-compatible" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-is-always-compatible">
<ANCHOR id="gst-caps-is-subset" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-is-subset">
<ANCHOR id="gst-caps-is-subset-structure" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-is-subset-structure">
+<ANCHOR id="gst-caps-is-subset-structure-full" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-is-subset-structure-full">
<ANCHOR id="gst-caps-can-intersect" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-can-intersect">
<ANCHOR id="gst-caps-intersect" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-intersect">
<ANCHOR id="gst-caps-intersect-full" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-intersect-full">
@@ -346,6 +354,34 @@
<ANCHOR id="gst-caps-ref" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-ref">
<ANCHOR id="gst-caps-unref" href="gstreamer-1.0/gstreamer-GstCaps.html#gst-caps-unref">
<ANCHOR id="gstreamer-GstCaps.see-also" href="gstreamer-1.0/gstreamer-GstCaps.html#gstreamer-GstCaps.see-also">
+<ANCHOR id="gstreamer-GstCapsFeatures" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html">
+<ANCHOR id="gstreamer-GstCapsFeatures.synopsis" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gstreamer-GstCapsFeatures.synopsis">
+<ANCHOR id="gstreamer-GstCapsFeatures.description" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gstreamer-GstCapsFeatures.description">
+<ANCHOR id="gstreamer-GstCapsFeatures.details" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gstreamer-GstCapsFeatures.details">
+<ANCHOR id="GstCapsFeatures" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#GstCapsFeatures">
+<ANCHOR id="gst-caps-features-new" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-new">
+<ANCHOR id="gst-caps-features-new-empty" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-new-empty">
+<ANCHOR id="gst-caps-features-new-any" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-new-any">
+<ANCHOR id="gst-caps-features-new-id" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-new-id">
+<ANCHOR id="gst-caps-features-new-id-valist" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-new-id-valist">
+<ANCHOR id="gst-caps-features-new-valist" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-new-valist">
+<ANCHOR id="gst-caps-features-copy" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-copy">
+<ANCHOR id="gst-caps-features-free" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-free">
+<ANCHOR id="gst-caps-features-from-string" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-from-string">
+<ANCHOR id="gst-caps-features-to-string" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-to-string">
+<ANCHOR id="gst-caps-features-set-parent-refcount" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-set-parent-refcount">
+<ANCHOR id="gst-caps-features-is-equal" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-is-equal">
+<ANCHOR id="gst-caps-features-is-any" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-is-any">
+<ANCHOR id="gst-caps-features-contains" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-contains">
+<ANCHOR id="gst-caps-features-contains-id" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-contains-id">
+<ANCHOR id="gst-caps-features-get-size" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-get-size">
+<ANCHOR id="gst-caps-features-get-nth" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-get-nth">
+<ANCHOR id="gst-caps-features-get-nth-id" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-get-nth-id">
+<ANCHOR id="gst-caps-features-add" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-add">
+<ANCHOR id="gst-caps-features-add-id" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-add-id">
+<ANCHOR id="gst-caps-features-remove" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-remove">
+<ANCHOR id="gst-caps-features-remove-id" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gst-caps-features-remove-id">
+<ANCHOR id="gstreamer-GstCapsFeatures.see-also" href="gstreamer-1.0/gstreamer-GstCapsFeatures.html#gstreamer-GstCapsFeatures.see-also">
<ANCHOR id="gstreamer-GstSample" href="gstreamer-1.0/gstreamer-GstSample.html">
<ANCHOR id="gstreamer-GstSample.synopsis" href="gstreamer-1.0/gstreamer-GstSample.html#gstreamer-GstSample.synopsis">
<ANCHOR id="gstreamer-GstSample.description" href="gstreamer-1.0/gstreamer-GstSample.html#gstreamer-GstSample.description">
@@ -479,6 +515,21 @@
<ANCHOR id="GST-DISABLE-ALLOC-TRACE:CAPS" href="gstreamer-1.0/gstreamer-gstconfig.html#GST-DISABLE-ALLOC-TRACE:CAPS">
<ANCHOR id="GST-DISABLE-REGISTRY:CAPS" href="gstreamer-1.0/gstreamer-gstconfig.html#GST-DISABLE-REGISTRY:CAPS">
<ANCHOR id="GST-DISABLE-PLUGIN:CAPS" href="gstreamer-1.0/gstreamer-gstconfig.html#GST-DISABLE-PLUGIN:CAPS">
+<ANCHOR id="gstreamer-GstContext" href="gstreamer-1.0/gstreamer-GstContext.html">
+<ANCHOR id="gstreamer-GstContext.synopsis" href="gstreamer-1.0/gstreamer-GstContext.html#gstreamer-GstContext.synopsis">
+<ANCHOR id="gstreamer-GstContext.description" href="gstreamer-1.0/gstreamer-GstContext.html#gstreamer-GstContext.description">
+<ANCHOR id="gstreamer-GstContext.details" href="gstreamer-1.0/gstreamer-GstContext.html#gstreamer-GstContext.details">
+<ANCHOR id="GstContext" href="gstreamer-1.0/gstreamer-GstContext.html#GstContext">
+<ANCHOR id="gst-context-new" href="gstreamer-1.0/gstreamer-GstContext.html#gst-context-new">
+<ANCHOR id="gst-context-ref" href="gstreamer-1.0/gstreamer-GstContext.html#gst-context-ref">
+<ANCHOR id="gst-context-unref" href="gstreamer-1.0/gstreamer-GstContext.html#gst-context-unref">
+<ANCHOR id="gst-context-copy" href="gstreamer-1.0/gstreamer-GstContext.html#gst-context-copy">
+<ANCHOR id="gst-context-get-structure" href="gstreamer-1.0/gstreamer-GstContext.html#gst-context-get-structure">
+<ANCHOR id="gst-context-writable-structure" href="gstreamer-1.0/gstreamer-GstContext.html#gst-context-writable-structure">
+<ANCHOR id="gst-context-make-writable" href="gstreamer-1.0/gstreamer-GstContext.html#gst-context-make-writable">
+<ANCHOR id="gst-context-is-writable" href="gstreamer-1.0/gstreamer-GstContext.html#gst-context-is-writable">
+<ANCHOR id="gst-context-replace" href="gstreamer-1.0/gstreamer-GstContext.html#gst-context-replace">
+<ANCHOR id="gstreamer-GstContext.see-also" href="gstreamer-1.0/gstreamer-GstContext.html#gstreamer-GstContext.see-also">
<ANCHOR id="GstControlBinding" href="gstreamer-1.0/GstControlBinding.html">
<ANCHOR id="GstControlBinding.synopsis" href="gstreamer-1.0/GstControlBinding.html#GstControlBinding.synopsis">
<ANCHOR id="GstControlBinding.object-hierarchy" href="gstreamer-1.0/GstControlBinding.html#GstControlBinding.object-hierarchy">
@@ -641,6 +692,8 @@
<ANCHOR id="gst-element-get-start-time" href="gstreamer-1.0/GstElement.html#gst-element-get-start-time">
<ANCHOR id="gst-element-set-bus" href="gstreamer-1.0/GstElement.html#gst-element-set-bus">
<ANCHOR id="gst-element-get-bus" href="gstreamer-1.0/GstElement.html#gst-element-get-bus">
+<ANCHOR id="gst-element-set-context" href="gstreamer-1.0/GstElement.html#gst-element-set-context">
+<ANCHOR id="gst-element-get-context" href="gstreamer-1.0/GstElement.html#gst-element-get-context">
<ANCHOR id="gst-element-get-factory" href="gstreamer-1.0/GstElement.html#gst-element-get-factory">
<ANCHOR id="gst-element-set-name" href="gstreamer-1.0/GstElement.html#gst-element-set-name">
<ANCHOR id="gst-element-get-name" href="gstreamer-1.0/GstElement.html#gst-element-get-name">
@@ -814,6 +867,7 @@
<ANCHOR id="GST-EVENT-SINK-MESSAGE:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-SINK-MESSAGE:CAPS">
<ANCHOR id="GST-EVENT-EOS:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-EOS:CAPS">
<ANCHOR id="GST-EVENT-TOC:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-TOC:CAPS">
+<ANCHOR id="GST-EVENT-CONTEXT:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-CONTEXT:CAPS">
<ANCHOR id="GST-EVENT-SEGMENT-DONE:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-SEGMENT-DONE:CAPS">
<ANCHOR id="GST-EVENT-GAP:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-GAP:CAPS">
<ANCHOR id="GST-EVENT-QOS:CAPS" href="gstreamer-1.0/gstreamer-GstEvent.html#GST-EVENT-QOS:CAPS">
@@ -862,6 +916,8 @@
<ANCHOR id="gst-event-parse-gap" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-gap">
<ANCHOR id="gst-event-new-stream-start" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-stream-start">
<ANCHOR id="gst-event-parse-stream-start" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-stream-start">
+<ANCHOR id="gst-event-set-stream-flags" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-set-stream-flags">
+<ANCHOR id="gst-event-parse-stream-flags" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-stream-flags">
<ANCHOR id="gst-event-new-segment" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-segment">
<ANCHOR id="gst-event-parse-segment" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-segment">
<ANCHOR id="gst-event-copy-segment" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-copy-segment">
@@ -907,6 +963,8 @@
<ANCHOR id="gst-event-parse-toc-select" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-toc-select">
<ANCHOR id="gst-event-new-segment-done" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-segment-done">
<ANCHOR id="gst-event-parse-segment-done" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-segment-done">
+<ANCHOR id="gst-event-new-context" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-new-context">
+<ANCHOR id="gst-event-parse-context" href="gstreamer-1.0/gstreamer-GstEvent.html#gst-event-parse-context">
<ANCHOR id="gstreamer-GstEvent.see-also" href="gstreamer-1.0/gstreamer-GstEvent.html#gstreamer-GstEvent.see-also">
<ANCHOR id="gstreamer-GstFormat" href="gstreamer-1.0/gstreamer-GstFormat.html">
<ANCHOR id="gstreamer-GstFormat.synopsis" href="gstreamer-1.0/gstreamer-GstFormat.html#gstreamer-GstFormat.synopsis">
@@ -1000,6 +1058,8 @@
<ANCHOR id="GST-MEMORY-FLAG-NO-SHARE:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-FLAG-NO-SHARE:CAPS">
<ANCHOR id="GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PREFIXED:CAPS">
<ANCHOR id="GST-MEMORY-FLAG-ZERO-PADDED:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-FLAG-ZERO-PADDED:CAPS">
+<ANCHOR id="GST-MEMORY-FLAG-PHYSICALLY-CONTIGUOUS:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-FLAG-PHYSICALLY-CONTIGUOUS:CAPS">
+<ANCHOR id="GST-MEMORY-FLAG-NOT-MAPPABLE:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-FLAG-NOT-MAPPABLE:CAPS">
<ANCHOR id="GST-MEMORY-FLAG-LAST:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-FLAG-LAST:CAPS">
<ANCHOR id="GST-MEMORY-FLAGS:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-FLAGS:CAPS">
<ANCHOR id="GST-MEMORY-FLAG-IS-SET:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-FLAG-IS-SET:CAPS">
@@ -1008,6 +1068,8 @@
<ANCHOR id="GST-MEMORY-IS-NO-SHARE:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-IS-NO-SHARE:CAPS">
<ANCHOR id="GST-MEMORY-IS-ZERO-PADDED:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PADDED:CAPS">
<ANCHOR id="GST-MEMORY-IS-ZERO-PREFIXED:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-IS-ZERO-PREFIXED:CAPS">
+<ANCHOR id="GST-MEMORY-IS-PHYSICALLY-CONTIGUOUS:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-IS-PHYSICALLY-CONTIGUOUS:CAPS">
+<ANCHOR id="GST-MEMORY-IS-NOT-MAPPABLE:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MEMORY-IS-NOT-MAPPABLE:CAPS">
<ANCHOR id="GstMemory" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemory">
<ANCHOR id="GstMapFlags" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMapFlags">
<ANCHOR id="GST-MAP-READ:CAPS" href="gstreamer-1.0/gstreamer-GstMemory.html#GST-MAP-READ:CAPS">
@@ -1022,6 +1084,7 @@
<ANCHOR id="GstMemoryShareFunction" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemoryShareFunction">
<ANCHOR id="GstMemoryIsSpanFunction" href="gstreamer-1.0/gstreamer-GstMemory.html#GstMemoryIsSpanFunction">
<ANCHOR id="gst-memory-init" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-init">
+<ANCHOR id="gst-memory-is-type" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-is-type">
<ANCHOR id="gst-memory-ref" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-ref">
<ANCHOR id="gst-memory-unref" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-unref">
<ANCHOR id="gst-memory-get-sizes" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-get-sizes">
@@ -1029,6 +1092,7 @@
<ANCHOR id="gst-memory-lock" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-lock">
<ANCHOR id="gst-memory-unlock" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-unlock">
<ANCHOR id="gst-memory-is-writable" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-is-writable">
+<ANCHOR id="gst-memory-make-writable" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-make-writable">
<ANCHOR id="gst-memory-make-mapped" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-make-mapped">
<ANCHOR id="gst-memory-map" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-map">
<ANCHOR id="gst-memory-unmap" href="gstreamer-1.0/gstreamer-GstMemory.html#gst-memory-unmap">
@@ -1072,6 +1136,8 @@
<ANCHOR id="GST-MESSAGE-TOC:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-TOC:CAPS">
<ANCHOR id="GST-MESSAGE-RESET-TIME:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-RESET-TIME:CAPS">
<ANCHOR id="GST-MESSAGE-STREAM-START:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-STREAM-START:CAPS">
+<ANCHOR id="GST-MESSAGE-NEED-CONTEXT:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-NEED-CONTEXT:CAPS">
+<ANCHOR id="GST-MESSAGE-HAVE-CONTEXT:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-HAVE-CONTEXT:CAPS">
<ANCHOR id="GST-MESSAGE-ANY:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-ANY:CAPS">
<ANCHOR id="GST-MESSAGE-SRC:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-SRC:CAPS">
<ANCHOR id="GST-MESSAGE-SRC-NAME:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-MESSAGE-SRC-NAME:CAPS">
@@ -1167,6 +1233,12 @@
<ANCHOR id="GST-PROGRESS-TYPE-ERROR:CAPS" href="gstreamer-1.0/gstreamer-GstMessage.html#GST-PROGRESS-TYPE-ERROR:CAPS">
<ANCHOR id="gst-message-new-progress" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-progress">
<ANCHOR id="gst-message-parse-progress" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-progress">
+<ANCHOR id="gst-message-new-need-context" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-need-context">
+<ANCHOR id="gst-message-add-context-type" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-add-context-type">
+<ANCHOR id="gst-message-get-n-context-types" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-get-n-context-types">
+<ANCHOR id="gst-message-parse-nth-context-type" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-nth-context-type">
+<ANCHOR id="gst-message-new-have-context" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-new-have-context">
+<ANCHOR id="gst-message-parse-have-context" href="gstreamer-1.0/gstreamer-GstMessage.html#gst-message-parse-have-context">
<ANCHOR id="gstreamer-GstMessage.see-also" href="gstreamer-1.0/gstreamer-GstMessage.html#gstreamer-GstMessage.see-also">
<ANCHOR id="gstreamer-GstMeta" href="gstreamer-1.0/gstreamer-GstMeta.html">
<ANCHOR id="gstreamer-GstMeta.synopsis" href="gstreamer-1.0/gstreamer-GstMeta.html#gstreamer-GstMeta.synopsis">
@@ -1490,6 +1562,7 @@
<ANCHOR id="gst-pad-create-stream-id" href="gstreamer-1.0/GstPad.html#gst-pad-create-stream-id">
<ANCHOR id="gst-pad-create-stream-id-printf" href="gstreamer-1.0/GstPad.html#gst-pad-create-stream-id-printf">
<ANCHOR id="gst-pad-create-stream-id-printf-valist" href="gstreamer-1.0/GstPad.html#gst-pad-create-stream-id-printf-valist">
+<ANCHOR id="gst-pad-get-stream-id" href="gstreamer-1.0/GstPad.html#gst-pad-get-stream-id">
<ANCHOR id="GstPadForwardFunction" href="gstreamer-1.0/GstPad.html#GstPadForwardFunction">
<ANCHOR id="gst-pad-forward" href="gstreamer-1.0/GstPad.html#gst-pad-forward">
<ANCHOR id="gst-pad-chain" href="gstreamer-1.0/GstPad.html#gst-pad-chain">
@@ -1670,6 +1743,7 @@
<ANCHOR id="gst-plugin-feature-get-rank" href="gstreamer-1.0/GstPluginFeature.html#gst-plugin-feature-get-rank">
<ANCHOR id="gst-plugin-feature-get-name" href="gstreamer-1.0/GstPluginFeature.html#gst-plugin-feature-get-name">
<ANCHOR id="gst-plugin-feature-get-plugin" href="gstreamer-1.0/GstPluginFeature.html#gst-plugin-feature-get-plugin">
+<ANCHOR id="gst-plugin-feature-get-plugin-name" href="gstreamer-1.0/GstPluginFeature.html#gst-plugin-feature-get-plugin-name">
<ANCHOR id="gst-plugin-feature-load" href="gstreamer-1.0/GstPluginFeature.html#gst-plugin-feature-load">
<ANCHOR id="gst-plugin-feature-list-copy" href="gstreamer-1.0/GstPluginFeature.html#gst-plugin-feature-list-copy">
<ANCHOR id="gst-plugin-feature-list-free" href="gstreamer-1.0/GstPluginFeature.html#gst-plugin-feature-list-free">
@@ -1751,6 +1825,7 @@
<ANCHOR id="GST-QUERY-ACCEPT-CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-ACCEPT-CAPS">
<ANCHOR id="GST-QUERY-CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-CAPS">
<ANCHOR id="GST-QUERY-DRAIN:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-DRAIN:CAPS">
+<ANCHOR id="GST-QUERY-CONTEXT:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-CONTEXT:CAPS">
<ANCHOR id="GST-QUERY-TYPE:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-TYPE:CAPS">
<ANCHOR id="GST-QUERY-TYPE-NAME:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-TYPE-NAME:CAPS">
<ANCHOR id="GST-QUERY-IS-UPSTREAM:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-QUERY-IS-UPSTREAM:CAPS">
@@ -1823,10 +1898,12 @@
<ANCHOR id="gst-query-get-n-allocation-pools" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-get-n-allocation-pools">
<ANCHOR id="gst-query-parse-nth-allocation-pool" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-nth-allocation-pool">
<ANCHOR id="gst-query-set-nth-allocation-pool" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-set-nth-allocation-pool">
+<ANCHOR id="gst-query-remove-nth-allocation-pool" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-remove-nth-allocation-pool">
<ANCHOR id="gst-query-add-allocation-param" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-add-allocation-param">
<ANCHOR id="gst-query-get-n-allocation-params" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-get-n-allocation-params">
<ANCHOR id="gst-query-parse-nth-allocation-param" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-nth-allocation-param">
<ANCHOR id="gst-query-set-nth-allocation-param" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-set-nth-allocation-param">
+<ANCHOR id="gst-query-remove-nth-allocation-param" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-remove-nth-allocation-param">
<ANCHOR id="gst-query-add-allocation-meta" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-add-allocation-meta">
<ANCHOR id="gst-query-get-n-allocation-metas" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-get-n-allocation-metas">
<ANCHOR id="gst-query-parse-nth-allocation-meta" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-nth-allocation-meta">
@@ -1835,6 +1912,7 @@
<ANCHOR id="GstSchedulingFlags" href="gstreamer-1.0/gstreamer-GstQuery.html#GstSchedulingFlags">
<ANCHOR id="GST-SCHEDULING-FLAG-SEEKABLE:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-SCHEDULING-FLAG-SEEKABLE:CAPS">
<ANCHOR id="GST-SCHEDULING-FLAG-SEQUENTIAL:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-SCHEDULING-FLAG-SEQUENTIAL:CAPS">
+<ANCHOR id="GST-SCHEDULING-FLAG-BANDWIDTH-LIMITED:CAPS" href="gstreamer-1.0/gstreamer-GstQuery.html#GST-SCHEDULING-FLAG-BANDWIDTH-LIMITED:CAPS">
<ANCHOR id="gst-query-new-scheduling" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-new-scheduling">
<ANCHOR id="gst-query-parse-scheduling" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-scheduling">
<ANCHOR id="gst-query-set-scheduling" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-set-scheduling">
@@ -1844,6 +1922,12 @@
<ANCHOR id="gst-query-has-scheduling-mode" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-has-scheduling-mode">
<ANCHOR id="gst-query-has-scheduling-mode-with-flags" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-has-scheduling-mode-with-flags">
<ANCHOR id="gst-query-new-drain" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-new-drain">
+<ANCHOR id="gst-query-new-context" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-new-context">
+<ANCHOR id="gst-query-set-context" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-set-context">
+<ANCHOR id="gst-query-parse-context" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-context">
+<ANCHOR id="gst-query-add-context-type" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-add-context-type">
+<ANCHOR id="gst-query-get-n-context-types" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-get-n-context-types">
+<ANCHOR id="gst-query-parse-nth-context-type" href="gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-nth-context-type">
<ANCHOR id="gstreamer-GstQuery.see-also" href="gstreamer-1.0/gstreamer-GstQuery.html#gstreamer-GstQuery.see-also">
<ANCHOR id="GstRegistry" href="gstreamer-1.0/GstRegistry.html">
<ANCHOR id="GstRegistry.synopsis" href="gstreamer-1.0/GstRegistry.html#GstRegistry.synopsis">
@@ -1907,6 +1991,7 @@
<ANCHOR id="gst-structure-new" href="gstreamer-1.0/gstreamer-GstStructure.html#gst-structure-new">
<ANCHOR id="gst-structure-new-valist" href="gstreamer-1.0/gstreamer-GstStructure.html#gst-structure-new-valist">
<ANCHOR id="gst-structure-new-id" href="gstreamer-1.0/gstreamer-GstStructure.html#gst-structure-new-id">
+<ANCHOR id="gst-structure-new-from-string" href="gstreamer-1.0/gstreamer-GstStructure.html#gst-structure-new-from-string">
<ANCHOR id="gst-structure-copy" href="gstreamer-1.0/gstreamer-GstStructure.html#gst-structure-copy">
<ANCHOR id="gst-structure-free" href="gstreamer-1.0/gstreamer-GstStructure.html#gst-structure-free">
<ANCHOR id="gst-structure-get-name" href="gstreamer-1.0/gstreamer-GstStructure.html#gst-structure-get-name">
@@ -2473,6 +2558,9 @@
<ANCHOR id="GST-VALUE-HOLDS-CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-CAPS">
<ANCHOR id="gst-value-set-caps" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-caps">
<ANCHOR id="gst-value-get-caps" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-caps">
+<ANCHOR id="GST-VALUE-HOLDS-CAPS-FEATURES:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-CAPS-FEATURES:CAPS">
+<ANCHOR id="gst-value-set-caps-features" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-caps-features">
+<ANCHOR id="gst-value-get-caps-features" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-caps-features">
<ANCHOR id="GST-VALUE-HOLDS-STRUCTURE:CAPS" href="gstreamer-1.0/gstreamer-GstValue.html#GST-VALUE-HOLDS-STRUCTURE:CAPS">
<ANCHOR id="gst-value-set-structure" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-set-structure">
<ANCHOR id="gst-value-get-structure" href="gstreamer-1.0/gstreamer-GstValue.html#gst-value-get-structure">
@@ -2579,6 +2667,7 @@
<ANCHOR id="gst-debug-set-colored" href="gstreamer-1.0/gstreamer-GstInfo.html#gst-debug-set-colored">
<ANCHOR id="gst-debug-is-colored" href="gstreamer-1.0/gstreamer-GstInfo.html#gst-debug-is-colored">
<ANCHOR id="gst-debug-set-default-threshold" href="gstreamer-1.0/gstreamer-GstInfo.html#gst-debug-set-default-threshold">
+<ANCHOR id="gst-debug-set-threshold-from-string" href="gstreamer-1.0/gstreamer-GstInfo.html#gst-debug-set-threshold-from-string">
<ANCHOR id="gst-debug-get-default-threshold" href="gstreamer-1.0/gstreamer-GstInfo.html#gst-debug-get-default-threshold">
<ANCHOR id="gst-debug-set-threshold-for-name" href="gstreamer-1.0/gstreamer-GstInfo.html#gst-debug-set-threshold-for-name">
<ANCHOR id="gst-debug-unset-threshold-for-name" href="gstreamer-1.0/gstreamer-GstInfo.html#gst-debug-unset-threshold-for-name">
@@ -2649,8 +2738,8 @@
<ANCHOR id="annotation-glossterm-transfer none" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-transfer none">
<ANCHOR id="annotation-glossterm-array" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-array">
<ANCHOR id="annotation-glossterm-element-type" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-element-type">
-<ANCHOR id="annotation-glossterm-in" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-in">
<ANCHOR id="annotation-glossterm-transfer container" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-transfer container">
+<ANCHOR id="annotation-glossterm-in" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-in">
<ANCHOR id="annotation-glossterm-scope call" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-scope call">
<ANCHOR id="annotation-glossterm-transfer full" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-transfer full">
<ANCHOR id="annotation-glossterm-type" href="gstreamer-1.0/annotation-glossary.html#annotation-glossterm-type">
diff --git a/docs/gst/html/libgstreamer.html b/docs/gst/html/libgstreamer.html
index 79587dc..a25908e 100644
--- a/docs/gst/html/libgstreamer.html
+++ b/docs/gst/html/libgstreamer.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Core Library</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="prev" href="gst-running.html" title="Running GStreamer Applications">
@@ -20,9 +20,9 @@
<td><a accesskey="n" href="gstreamer-Gst.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="libgstreamer"></a>GStreamer Core Library</h2></div></div></div>
-<div class="toc"><dl>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="libgstreamer"></a>GStreamer Core Library</h1></div></div></div>
+<div class="toc"><dl class="toc">
<dt>
<span class="refentrytitle"><a href="gstreamer-Gst.html">Gst</a></span><span class="refpurpose"> — Media library supporting arbitrary formats and filter
graphs.</span>
@@ -52,6 +52,9 @@
<span class="refentrytitle"><a href="gstreamer-GstCaps.html">GstCaps</a></span><span class="refpurpose"> — Structure describing sets of media formats</span>
</dt>
<dt>
+<span class="refentrytitle"><a href="gstreamer-GstCapsFeatures.html">GstCapsFeatures</a></span><span class="refpurpose"> — A set of features in caps</span>
+</dt>
+<dt>
<span class="refentrytitle"><a href="gstreamer-GstSample.html">GstSample</a></span><span class="refpurpose"> — A media sample</span>
</dt>
<dt>
@@ -64,6 +67,9 @@
<span class="refentrytitle"><a href="gstreamer-gstconfig.html">gstconfig</a></span><span class="refpurpose"> — Build configuration options</span>
</dt>
<dt>
+<span class="refentrytitle"><a href="gstreamer-GstContext.html">GstContext</a></span><span class="refpurpose"> — Lightweight objects to represent element contexts</span>
+</dt>
+<dt>
<span class="refentrytitle"><a href="GstControlBinding.html">GstControlBinding</a></span><span class="refpurpose"> — attachment for control source sources</span>
</dt>
<dt>
@@ -147,7 +153,7 @@ to GStreamer</span>
values in them.</span>
</dt>
<dt>
-<span class="refentrytitle"><a href="GstRegistry.html">GstRegistry</a></span><span class="refpurpose"> — Abstract base class for management of <a class="link" href="GstPlugin.html" title="GstPlugin"><span class="type">GstPlugin</span></a> objects</span>
+<span class="refentrytitle"><a href="GstRegistry.html">GstRegistry</a></span><span class="refpurpose">Abstract base class for management of <span class="type">GstPlugin</span> objects</span>
</dt>
<dt>
<span class="refentrytitle"><a href="gstreamer-GstSegment.html">GstSegment</a></span><span class="refpurpose"> — Structure describing the configured region of interest
diff --git a/docs/gst/running.xml b/docs/gst/running.xml
index b6bf59a..5564a1b 100644
--- a/docs/gst/running.xml
+++ b/docs/gst/running.xml
@@ -31,7 +31,8 @@ variables like <envar>LANG</envar>, <envar>PATH</envar> or <envar>HOME</envar>.
</para>
<formalpara id="GST_PLUGIN_SYSTEM_PATH">
- <title><envar>GST_PLUGIN_SYSTEM_PATH</envar></title>
+ <title><envar>GST_PLUGIN_SYSTEM_PATH</envar>,
+ <envar>GST_PLUGIN_SYSTEM_PATH_1_0</envar></title>
<para>
@@ -41,10 +42,13 @@ with
<itemizedlist>
<listitem>
<para>
-plug-ins in the user's home directory. These are stored in a directory called
+plug-ins in the user's home directory, or rather the user's "data home"
+directory according to the xdg base dir specification. Usually this will be
+a directory called
<filename>plugins</filename> inside the
-<filename>.gstreamer-&GST_API_VERSION;</filename> directory in the user's
-home directory.
+<filename>.local/share/.gstreamer-&GST_API_VERSION;</filename> directory in
+the user's home directory by default, though this search path may change if
+the XDG_DATA_HOME environment variable is set.
</para>
</listitem>
<listitem>
@@ -64,6 +68,12 @@ be loaded after the plug-ins in the GST_PLUGIN_PATH variable below.
The paths are scanned in the given order. This allows a user to override
system-installed plug-ins with his own versions.
</para>
+ <para>
+The GST_PLUGIN_SYSTEM_PATH_1_0 variant is useful if both the old GStreamer 0.10
+version and the new GStreamer 1.0 version need to be pointed to new plugin
+paths. The latter will use the _1_0 variant over the non-versioned one if
+it is set.
+ </para>
<para>
Setting this variable to an empty string will cause GStreamer not to scan any
@@ -74,14 +84,19 @@ uninstalled (for development purposes) or while running testsuites.
</formalpara>
<formalpara id="GST_PLUGIN_PATH">
- <title><envar>GST_PLUGIN_PATH</envar></title>
+ <title><envar>GST_PLUGIN_PATH</envar>, <envar>GST_PLUGIN_PATH_1_0</envar></title>
<para>
This environment variable can be set to a colon-separated list of paths.
GStreamer will scan these paths for GStreamer plug-ins. These plug-ins will
be loaded in addition to, and before, the plug-ins in the system paths.
</para>
-
+ <para>
+The GST_PLUGIN_PATH_1_0 variant is useful if both the old GStreamer 0.10
+version and the new GStreamer 1.0 version need to be pointed to new plugin
+paths. The latter will use the _1_0 variant over the non-versioned one if
+it is set.
+ </para>
</formalpara>
<formalpara id="GST_DEBUG">
@@ -209,6 +224,11 @@ also worth running with <option>*:3</option> to see if there are any
non-fatal errors or warnings that might be related to the problem at hand.
</para>
+ <para>
+Since GStreamer 1.2 it is also possible to specify debug levels by name,
+e.g. GST_DEBUG=*:WARNING,*audio*:LOG
+ </para>
+
</formalpara>
<formalpara id="GST_DEBUG_NO_COLOR">
@@ -248,6 +268,30 @@ Set this environment variable to a path to turn on all
#GST_DEBUG_BIN_TO_DOT_FILE or #GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS calls
and have the dot files in that location.
</para>
+ <para>
+This will only work if the application in question makes these calls in
+strategic places (like when the pipeline state changes or an error occurs).
+gst-launch-&GST_API_VERSION; is one such application.
+ </para>
+ <para>
+These .dot files can then be turned into images using the 'dot' utility
+from the graphviz set of tools, like this:
+ <command>dot foo.dot -Tsvg -o foo.svg</command> or
+ <command>dot foo.dot -Tpng -o foo.png</command> or
+ <command>dot foo.dot -Tjpg -o foo.jpg</command>.
+ </para>
+
+</formalpara>
+
+<formalpara id="GST_REGISTRY">
+ <title><envar>GST_REGISTRY</envar>, <envar>GST_REGISTRY_1_0</envar></title>
+
+ <para>
+Set this environment variable to make GStreamer use a different file for the
+plugin cache / registry than the default one. This is useful when operating
+in a separate environment which should not affect the default cache in the
+user's home directory.
+ </para>
</formalpara>
@@ -314,6 +358,17 @@ The variable takes a comma-separated list of tracing options to enable.
</para>
</formalpara>
+<formalpara id="GST_DEBUG_FILE">
+ <title><envar>GST_DEBUG_FILE</envar></title>
+
+ <para>
+ Set this variable to a file path to redirect all GStreamer debug
+ messages to this file. If left unset, debug messages with be output
+ unto the standard error.
+ </para>
+
+</formalpara>
+
<formalpara id="ORC_CODE">
<title><envar>ORC_CODE</envar></title>
diff --git a/docs/libs/Makefile.am b/docs/libs/Makefile.am
index 4c621b5..a8837f4 100644
--- a/docs/libs/Makefile.am
+++ b/docs/libs/Makefile.am
@@ -62,13 +62,14 @@ GTKDOC_LIBS = \
$(top_builddir)/libs/gst/controller/libgstcontroller-@GST_API_VERSION@.la \
$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
$(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la \
+ $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
$(GST_OBJ_LIBS)
GTKDOC_CC=$(LIBTOOL) --tag=CC --mode=compile $(CC)
GTKDOC_LD=$(LIBTOOL) --tag=CC --mode=link $(CC)
GTKDOC_EXTRA_ENVIRONMENT= \
- GST_PLUGIN_SCANNER=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
+ GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
# If you need to override some of the declarations, place them in this file
# and uncomment this line.
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index db18f79..ef106d4 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -34,23 +33,51 @@
###########################################################################
# thomas: except of course that we did
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -70,9 +97,9 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/common/gtk-doc.mak \
- $(top_srcdir)/common/upload-doc.mak
+DIST_COMMON = $(top_srcdir)/common/upload-doc.mak \
+ $(top_srcdir)/common/gtk-doc.mak $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am
subdir = docs/libs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -80,7 +107,6 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -104,24 +130,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -129,6 +163,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -230,15 +265,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -248,11 +279,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -260,6 +289,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -322,6 +352,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -477,12 +508,13 @@ GTKDOC_LIBS = \
$(top_builddir)/libs/gst/controller/libgstcontroller-@GST_API_VERSION@.la \
$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
$(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la \
+ $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
$(GST_OBJ_LIBS)
GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC)
GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC)
GTKDOC_EXTRA_ENVIRONMENT = \
- GST_PLUGIN_SCANNER=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
+ GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
# If you need to override some of the declarations, place them in this file
@@ -570,11 +602,11 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -713,18 +745,18 @@ uninstall-am: uninstall-local
.MAKE: install-am install-strip
.PHONY: all all-am all-local check check-am clean clean-generic \
- clean-libtool clean-local dist-hook distclean \
- distclean-generic distclean-libtool distclean-local distdir \
- dvi dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-data-local install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic \
+ clean-libtool clean-local cscopelist-am ctags-am dist-hook \
+ distclean distclean-generic distclean-libtool distclean-local \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-data-local \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
maintainer-clean-local mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-local
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-local
html: html-build.stamp
@@ -808,9 +840,9 @@ upload: $(FORMATS)
@ENABLE_GTK_DOC_TRUE@ --ignore-headers="$(IGNORE_HFILES)"
@ENABLE_GTK_DOC_TRUE@ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null; then \
@ENABLE_GTK_DOC_TRUE@ echo " DOC Introspecting gobjects"; \
-@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_SYSTEM_PATH=`cd $(top_builddir) && pwd` \
-@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_PATH= \
-@ENABLE_GTK_DOC_TRUE@ GST_REGISTRY=doc-registry.xml \
+@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_SYSTEM_PATH_1_0=`cd $(top_builddir) && pwd` \
+@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_PATH_1_0= \
+@ENABLE_GTK_DOC_TRUE@ GST_REGISTRY_1_0=doc-registry.xml \
@ENABLE_GTK_DOC_TRUE@ $(GTKDOC_EXTRA_ENVIRONMENT) \
@ENABLE_GTK_DOC_TRUE@ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" \
@ENABLE_GTK_DOC_TRUE@ CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" \
@@ -857,10 +889,7 @@ upload: $(FORMATS)
@ENABLE_GTK_DOC_TRUE@ if test "$(?)" = "0"; then \
@ENABLE_GTK_DOC_TRUE@ mkhtml_options=--path="$(abs_srcdir)"; \
@ENABLE_GTK_DOC_TRUE@ fi; \
-@ENABLE_GTK_DOC_TRUE@ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
-@ENABLE_GTK_DOC_TRUE@ @mv html/index.sgml html/index.sgml.bak
-@ENABLE_GTK_DOC_TRUE@ @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_API_VERSION@\//g" html/index.sgml.bak >html/index.sgml
-@ENABLE_GTK_DOC_TRUE@ @rm -f html/index.sgml.bak
+@ENABLE_GTK_DOC_TRUE@ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE)-@GST_API_VERSION@ ../$(DOC_MAIN_SGML_FILE)
@ENABLE_GTK_DOC_TRUE@ @rm -rf html/xml
@ENABLE_GTK_DOC_TRUE@ @rm -f version.entities
@ENABLE_GTK_DOC_TRUE@ @test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) $(abs_builddir)/html )
@@ -914,9 +943,9 @@ install-data-local:
echo '-- Installing '$$i ; \
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
done; \
- echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \
- if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \
- $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
+ echo '-- Installing $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2' ; \
+ if test -e $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; then \
+ $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2 \
$(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
fi; \
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
diff --git a/docs/libs/gstreamer-libs-docs.sgml b/docs/libs/gstreamer-libs-docs.sgml
index ac6f0b4..92d25fb 100644
--- a/docs/libs/gstreamer-libs-docs.sgml
+++ b/docs/libs/gstreamer-libs-docs.sgml
@@ -45,6 +45,8 @@
<xi:include href="xml/gstbytewriter.xml" />
<xi:include href="xml/gstcollectpads.xml" />
<xi:include href="xml/gsttypefindhelper.xml" />
+ <xi:include href="xml/gstdataqueue.xml" />
+ <xi:include href="xml/gstqueuearray.xml" />
</chapter>
<chapter id="gstreamer-control">
@@ -84,6 +86,7 @@
<xi:include href="xml/gstcheck.xml" />
<xi:include href="xml/gstcheckbufferstraw.xml" />
<xi:include href="xml/gstcheckconsistencychecker.xml" />
+ <xi:include href="xml/gsttestclock.xml" />
</chapter>
</part>
diff --git a/docs/libs/gstreamer-libs-sections.txt b/docs/libs/gstreamer-libs-sections.txt
index c9ea916..cdcd21c 100644
--- a/docs/libs/gstreamer-libs-sections.txt
+++ b/docs/libs/gstreamer-libs-sections.txt
@@ -749,6 +749,53 @@ gst_type_find_helper_get_range_ext
<SUBSECTION Private>
</SECTION>
+<SECTION>
+<FILE>gstdataqueue</FILE>
+<TITLE>GstDataQueue</TITLE>
+<INCLUDE>gst/base/gstdataqueue.h</INCLUDE>
+GstDataQueue
+GstDataQueueSize
+GstDataQueueCheckFullFunction
+GstDataQueueItem
+GstDataQueueEmptyCallback
+GstDataQueueFullCallback
+gst_data_queue_new
+gst_data_queue_push
+gst_data_queue_pop
+gst_data_queue_flush
+gst_data_queue_set_flushing
+gst_data_queue_drop_head
+gst_data_queue_is_full
+gst_data_queue_is_empty
+gst_data_queue_get_level
+gst_data_queue_limits_changed
+<SUBSECTION Standard>
+GstDataQueueClass
+GST_DATA_QUEUE
+GST_IS_DATA_QUEUE
+GST_TYPE_DATA_QUEUE
+GST_DATA_QUEUE_CLASS
+GST_IS_DATA_QUEUE_CLASS
+<SUBSECTION Private>
+gst_data_queue_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gstqueuearray</FILE>
+<TITLE>GstQueueArray</TITLE>
+<INCLUDE>gst/base/gstqueuearray.h</INCLUDE>
+GstQueueArray
+gst_queue_array_new
+gst_queue_array_free
+gst_queue_array_get_length
+gst_queue_array_pop_head
+gst_queue_array_peek_head
+gst_queue_array_push_tail
+gst_queue_array_is_empty
+gst_queue_array_drop_element
+gst_queue_array_find
+</SECTION>
+
# net
<SECTION>
@@ -825,6 +872,11 @@ fail_unless_equals_float
fail_unless_equals_string
fail_unless_equals_uint64
fail_unless_equals_int64
+fail_unless_equals_int_hex
+fail_unless_equals_int64_hex
+fail_unless_equals_uint64_hex
+fail_unless_equals_pointer
+
fail_unless_message_error
assert_equals_int
@@ -832,6 +884,10 @@ assert_equals_float
assert_equals_string
assert_equals_uint64
assert_equals_int64
+assert_equals_int_hex
+assert_equals_int64_hex
+assert_equals_uint64_hex
+assert_equals_pointer
assert_message_error
gst_check_init
@@ -851,6 +907,8 @@ gst_check_caps_equal
gst_check_element_push_buffer_list
gst_check_element_push_buffer
gst_check_run_suite
+gst_check_setup_events
+gst_check_setup_events_with_stream_id
<SUBSECTION Private>
MAIN_INIT
@@ -990,3 +1048,32 @@ gst_consistency_checker_reset
gst_consistency_checker_free
</SECTION>
+<SECTION>
+<FILE>gsttestclock</FILE>
+<TITLE>GstTestClock</TITLE>
+<INCLUDE>gst/check/gsttestclock.h</INCLUDE>
+GstTestClock
+GstTestClockClass
+gst_test_clock_new
+gst_test_clock_new_with_start_time
+gst_test_clock_set_time
+gst_test_clock_advance_time
+gst_test_clock_peek_id_count
+gst_test_clock_has_id
+gst_test_clock_peek_next_pending_id
+gst_test_clock_wait_for_next_pending_id
+gst_test_clock_wait_for_pending_id_count
+gst_test_clock_process_next_clock_id
+gst_test_clock_get_next_entry_time
+<SUBSECTION Standard>
+GST_TEST_CLOCK
+GST_IS_TEST_CLOCK
+GST_TYPE_TEST_CLOCK
+GST_TEST_CLOCK_CLASS
+GST_IS_TEST_CLOCK_CLASS
+GST_TEST_CLOCK_GET_CLASS
+GST_TEST_CLOCK_CAST
+<SUBSECTION Private>
+GstTestClockPrivate
+gst_test_clock_get_type
+</SECTION>
diff --git a/docs/libs/gstreamer-libs.types b/docs/libs/gstreamer-libs.types
index 98f9ad8..8681c4c 100644
--- a/docs/libs/gstreamer-libs.types
+++ b/docs/libs/gstreamer-libs.types
@@ -38,3 +38,9 @@ gst_trigger_control_source_get_type
gst_net_client_clock_get_type
gst_net_time_provider_get_type
+
+% check
+
+#include <gst/check/gsttestclock.h>
+
+gst_test_clock_get_type
diff --git a/docs/libs/html/GstAdapter.html b/docs/libs/html/GstAdapter.html
index 35e594f..08a3a36 100644
--- a/docs/libs/html/GstAdapter.html
+++ b/docs/libs/html/GstAdapter.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstAdapter</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="GstPushSrc.html" title="GstPushSrc">
@@ -68,12 +68,12 @@
<em class="parameter"><code><span class="type">guint64</span> *distance</code></em>);
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a> <a class="link" href="GstAdapter.html#gst-adapter-prev-dts" title="gst_adapter_prev_dts ()">gst_adapter_prev_dts</a> (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
<em class="parameter"><code><span class="type">guint64</span> *distance</code></em>);
-<span class="returnvalue">gsize</span> <a class="link" href="GstAdapter.html#gst-adapter-masked-scan-uint32" title="gst_adapter_masked_scan_uint32 ()">gst_adapter_masked_scan_uint32</a> (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<span class="returnvalue">gssize</span> <a class="link" href="GstAdapter.html#gst-adapter-masked-scan-uint32" title="gst_adapter_masked_scan_uint32 ()">gst_adapter_masked_scan_uint32</a> (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
<em class="parameter"><code><span class="type">guint32</span> mask</code></em>,
<em class="parameter"><code><span class="type">guint32</span> pattern</code></em>,
<em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
<em class="parameter"><code><span class="type">gsize</span> size</code></em>);
-<span class="returnvalue">gsize</span> <a class="link" href="GstAdapter.html#gst-adapter-masked-scan-uint32-peek" title="gst_adapter_masked_scan_uint32_peek ()">gst_adapter_masked_scan_uint32_peek</a> (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<span class="returnvalue">gssize</span> <a class="link" href="GstAdapter.html#gst-adapter-masked-scan-uint32-peek" title="gst_adapter_masked_scan_uint32_peek ()">gst_adapter_masked_scan_uint32_peek</a> (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
<em class="parameter"><code><span class="type">guint32</span> mask</code></em>,
<em class="parameter"><code><span class="type">guint32</span> pattern</code></em>,
<em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
@@ -193,12 +193,14 @@ need to clear the adapter after a discontinuity.
<p>
The adapter will keep track of the timestamps of the buffers
that were pushed. The last seen timestamp before the current position
-can be queried with <code class="function">gst_adapter_prev_timestamp()</code>. This function can
-optionally return the amount of bytes between the start of the buffer that
+can be queried with <a class="link" href="GstAdapter.html#gst-adapter-prev-pts" title="gst_adapter_prev_pts ()"><code class="function">gst_adapter_prev_pts()</code></a>. This function can
+optionally return the number of bytes between the start of the buffer that
carried the timestamp and the current adapter position. The distance is
useful when dealing with, for example, raw audio samples because it allows
you to calculate the timestamp of the current adapter position by using the
-last seen timestamp and the amount of bytes since.
+last seen timestamp and the amount of bytes since. Additionally, the
+<code class="function">gst_adapter_prev_pts_at_offset()</code> can be used to determine the last
+seen timestamp at a particular offset in the adapter.
</p>
<p>
A last thing to note is that while GstAdapter is pretty optimized,
@@ -241,8 +243,11 @@ The opaque <a class="link" href="GstAdapter.html" title="GstAdapter"><span class
<p>
Creates a new <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a>. Free with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -257,8 +262,11 @@ Creates a new <a class="link" href="GstAdapter.html" title="GstAdapter"><span cl
<p>
Removes all buffers from <em class="parameter"><code>adapter</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
<td>a <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a>
@@ -275,8 +283,11 @@ Removes all buffers from <em class="parameter"><code>adapter</code></em>.
Adds the data from <em class="parameter"><code>buf</code></em> to the data stored inside <em class="parameter"><code>adapter</code></em> and takes
ownership of the buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -313,8 +324,11 @@ as <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/h
<p>
Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>size</code></em> bytes are not available.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -340,8 +354,11 @@ Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macr
<p>
Releases the memory obtained with the last <a class="link" href="GstAdapter.html#gst-adapter-map" title="gst_adapter_map ()"><code class="function">gst_adapter_map()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
<td>a <a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a>
@@ -365,8 +382,11 @@ The array <em class="parameter"><code>dest</code></em> should be large enough to
The user should check that the adapter has (<em class="parameter"><code>offset</code></em> + <em class="parameter"><code>size</code></em>) bytes
available before calling this function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -401,8 +421,11 @@ at least this many bytes are available.
<p>
See also: <a class="link" href="GstAdapter.html#gst-adapter-map" title="gst_adapter_map ()"><code class="function">gst_adapter_map()</code></a>, <a class="link" href="GstAdapter.html#gst-adapter-unmap" title="gst_adapter_unmap ()"><code class="function">gst_adapter_unmap()</code></a>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -425,8 +448,11 @@ Gets the maximum amount of bytes available, that is it returns the maximum
value that can be supplied to <a class="link" href="GstAdapter.html#gst-adapter-map" title="gst_adapter_map ()"><code class="function">gst_adapter_map()</code></a> without that function
returning NULL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -450,8 +476,11 @@ Gets the maximum number of bytes that are immediately available without
requiring any expensive operations (like copying the data into a
temporary buffer).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -481,8 +510,11 @@ Caller owns returned value. g_free after usage.
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -526,8 +558,11 @@ usage.
<p>
Free-function: gst_buffer_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -563,8 +598,11 @@ performant because no memory should be copied.
Caller owns returned list and contained buffers. <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref"><code class="function">gst_buffer_unref()</code></a> each
buffer in the list before freeing the list after usage.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -601,8 +639,11 @@ the adapter is first created or when it is cleared. This also means that before
the first byte with a pts is removed from the adapter, the pts
and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -637,8 +678,11 @@ the adapter is first created or when it is cleared. This also means that before
the first byte with a dts is removed from the adapter, the dts
and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -660,7 +704,7 @@ and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.
<hr>
<div class="refsect2">
<a name="gst-adapter-masked-scan-uint32"></a><h3>gst_adapter_masked_scan_uint32 ()</h3>
-<pre class="programlisting"><span class="returnvalue">gsize</span> gst_adapter_masked_scan_uint32 (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<pre class="programlisting"><span class="returnvalue">gssize</span> gst_adapter_masked_scan_uint32 (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
<em class="parameter"><code><span class="type">guint32</span> mask</code></em>,
<em class="parameter"><code><span class="type">guint32</span> pattern</code></em>,
<em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
@@ -682,8 +726,11 @@ enough data (offset+size bytes) in the adapter.
This function calls <a class="link" href="GstAdapter.html#gst-adapter-masked-scan-uint32-peek" title="gst_adapter_masked_scan_uint32_peek ()"><code class="function">gst_adapter_masked_scan_uint32_peek()</code></a> passing NULL
for value.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
@@ -737,7 +784,7 @@ gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4);
<hr>
<div class="refsect2">
<a name="gst-adapter-masked-scan-uint32-peek"></a><h3>gst_adapter_masked_scan_uint32_peek ()</h3>
-<pre class="programlisting"><span class="returnvalue">gsize</span> gst_adapter_masked_scan_uint32_peek (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
+<pre class="programlisting"><span class="returnvalue">gssize</span> gst_adapter_masked_scan_uint32_peek (<em class="parameter"><code><a class="link" href="GstAdapter.html" title="GstAdapter"><span class="type">GstAdapter</span></a> *adapter</code></em>,
<em class="parameter"><code><span class="type">guint32</span> mask</code></em>,
<em class="parameter"><code><span class="type">guint32</span> pattern</code></em>,
<em class="parameter"><code><span class="type">gsize</span> offset</code></em>,
@@ -757,8 +804,11 @@ adapter for it to match, even if the first or last bytes are masked out.
It is an error to call this function without making sure that there is
enough data (offset+size bytes) in the adapter.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>adapter</code></em> :</span></p></td>
diff --git a/docs/libs/html/GstBaseSink.html b/docs/libs/html/GstBaseSink.html
index d435cee..becbf55 100644
--- a/docs/libs/html/GstBaseSink.html
+++ b/docs/libs/html/GstBaseSink.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBaseSink</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="GstBaseSrc.html" title="GstBaseSrc">
@@ -111,6 +111,7 @@ struct <a class="link" href="GstBaseSink.html#GstBaseSinkClass" tit
"<a class="link" href="GstBaseSink.html#GstBaseSink--blocksize" title='The "blocksize" property'>blocksize</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="GstBaseSink.html#GstBaseSink--enable-last-sample" title='The "enable-last-sample" property'>enable-last-sample</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="GstBaseSink.html#GstBaseSink--last-sample" title='The "last-sample" property'>last-sample</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>* : Read
+ "<a class="link" href="GstBaseSink.html#GstBaseSink--max-bitrate" title='The "max-bitrate" property'>max-bitrate</a>" <span class="type">guint64</span> : Read / Write
"<a class="link" href="GstBaseSink.html#GstBaseSink--max-lateness" title='The "max-lateness" property'>max-lateness</a>" <span class="type">gint64</span> : Read / Write
"<a class="link" href="GstBaseSink.html#GstBaseSink--qos" title='The "qos" property'>qos</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="GstBaseSink.html#GstBaseSink--render-delay" title='The "render-delay" property'>render-delay</a>" <span class="type">guint64</span> : Read / Write
@@ -350,8 +351,11 @@ Subclasses can override any of the available virtual methods or not, as
needed. At the minimum, the <em class="parameter"><code>render</code></em> method should be overridden to
output/present buffers.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseSinkClass.parent-class"></a>parent_class</code></em>;</span></p></td>
@@ -468,8 +472,11 @@ for the latency introduced by the upstream elements by setting the
<p>
This function is mostly used by subclasses.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -509,8 +516,11 @@ This function is mostly used by subclasses.
<p>
Get the currently configured latency.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -537,8 +547,11 @@ until the element state is changed.
<p>
This function should be called with the PREROLL_LOCK held.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -577,8 +590,11 @@ returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstrea
This function should only be called with the PREROLL_LOCK held, like in the
render function.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -619,8 +635,11 @@ The <em class="parameter"><code>time</code></em> argument should be the running_
return and is not adjusted with any latency or offset configured in the
sink.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -654,8 +673,11 @@ possible. If <em class="parameter"><code>sync</code></em> is TRUE, the timestamp
buffers will be used to schedule the exact render time of its
contents.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -676,8 +698,11 @@ contents.
Checks if <em class="parameter"><code>sink</code></em> is currently configured to synchronize against the
clock.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -701,8 +726,11 @@ used to decide if a buffer should be dropped or not based on the
buffer timestamp and the current clock time. A value of -1 means
an unlimited time.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -723,8 +751,11 @@ an unlimited time.
Gets the max lateness value. See gst_base_sink_set_max_lateness for
more details.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -747,8 +778,11 @@ unlimited time.</td>
<p>
Configures <em class="parameter"><code>sink</code></em> to send Quality-of-Service events upstream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -769,8 +803,11 @@ Configures <em class="parameter"><code>sink</code></em> to send Quality-of-Servi
Checks if <em class="parameter"><code>sink</code></em> is currently configured to send Quality-of-Service events
upstream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -794,8 +831,11 @@ disabled, the sink will immediately go to PAUSED instead of waiting for a
preroll buffer. This feature is useful if the sink does not synchronize
against the clock or when it is dealing with sparse streams.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -816,8 +856,11 @@ against the clock or when it is dealing with sparse streams.
Checks if <em class="parameter"><code>sink</code></em> is currently configured to perform asynchronous state
changes to PAUSED.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -842,8 +885,11 @@ render buffers earlier than their timestamp. A positive value will delay
rendering. This function can be used to fix playback of badly timestamped
buffers.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -863,8 +909,11 @@ buffers.
<p>
Get the synchronisation offset of <em class="parameter"><code>sink</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -895,8 +944,11 @@ other sinks will adjust their latency to delay the rendering of their media.
<p>
This function is usually called by subclasses.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -918,8 +970,11 @@ This function is usually called by subclasses.
Get the render delay of <em class="parameter"><code>sink</code></em>. see <a class="link" href="GstBaseSink.html#gst-base-sink-set-render-delay" title="gst_base_sink_set_render_delay ()"><code class="function">gst_base_sink_set_render_delay()</code></a> for more
information about the render delay.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -947,8 +1002,11 @@ The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/
<p>
Free-function: gst_sample_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -973,8 +1031,11 @@ or when the sink is not in PAUSED or PLAYING. <span class="annotation">[<acronym
Set the number of bytes that the sink will pull when it is operating in pull
mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -996,8 +1057,11 @@ mode.
Get the number of bytes that the sink will pull when it is operating in pull
mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -1019,8 +1083,11 @@ mode.
Get the time that will be inserted between frames to control the
maximum buffers per second.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -1044,8 +1111,11 @@ Set the time that will be inserted between rendered buffers. This
can be used to control the maximum buffers per second that the sink
will render.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sink</code></em> :</span></p></td>
@@ -1067,8 +1137,11 @@ will render.
<p>
Gives the pointer to the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>base sink instance</td>
@@ -1169,6 +1242,18 @@ can be NULL when the sink has not yet received a bufer.
</div>
<hr>
<div class="refsect2">
+<a name="GstBaseSink--max-bitrate"></a><h3>The <code class="literal">"max-bitrate"</code> property</h3>
+<pre class="programlisting"> "max-bitrate" <span class="type">guint64</span> : Read / Write</pre>
+<p>
+Control the maximum amount of bits that will be rendered per second.
+Setting this property to a value bigger than 0 will make the sink delay
+rendering of the buffers when it would exceed to max-bitrate.
+</p>
+<p>Default value: 0</p>
+<p class="since">Since 1.1.1</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GstBaseSink--max-lateness"></a><h3>The <code class="literal">"max-lateness"</code> property</h3>
<pre class="programlisting"> "max-lateness" <span class="type">gint64</span> : Read / Write</pre>
<p>Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited).</p>
diff --git a/docs/libs/html/GstBaseSrc.html b/docs/libs/html/GstBaseSrc.html
index a9376ae..5eddb03 100644
--- a/docs/libs/html/GstBaseSrc.html
+++ b/docs/libs/html/GstBaseSrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBaseSrc</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="gstreamer-libs-GstBaseParse.html" title="GstBaseParse">
@@ -104,7 +104,7 @@ enum <a class="link" href="GstBaseSrc.html#GstBaseSrcFlags" title
This is a generice base class for source elements. The following
types of sources are supported:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>random access sources like files</p></li>
<li class="listitem"><p>seekable sources</p></li>
<li class="listitem"><p>live sources</p></li>
@@ -121,7 +121,7 @@ events. The default format for <a class="link" href="GstBaseSrc.html" title="Gst
<a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> always supports push mode scheduling. If the following
conditions are met, it also supports pull mode scheduling:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>The format is set to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a> (default).</p></li>
<li class="listitem"><p><a class="link" href="GstBaseSrc.html#GstBaseSrcClass.is-seekable"><code class="function">GstBaseSrcClass.is_seekable()</code></a> returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p></li>
</ul></div>
@@ -133,7 +133,7 @@ automatically seekable in push mode as well. The following conditions must
be met to make the element seekable in push mode when the format is not
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GST-FORMAT-BYTES:CAPS"><span class="type">GST_FORMAT_BYTES</span></a>:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
<a class="link" href="GstBaseSrc.html#GstBaseSrcClass.is-seekable"><code class="function">GstBaseSrcClass.is_seekable()</code></a> returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.
</p></li>
@@ -248,7 +248,7 @@ should install a pad template in its class_init function, like so:
<p>
</p>
<div class="refsect2">
-<a name="idp8146128"></a><h3>Controlled shutdown of live sources in applications</h3>
+<a name="idp6538368"></a><h3>Controlled shutdown of live sources in applications</h3>
<p>
Applications that record from a live source may want to stop recording
in a controlled way, so that the recording is stopped, but the data
@@ -358,8 +358,11 @@ Subclasses can override any of the available virtual methods or not, as
needed. At the minimum, the <em class="parameter"><code>create</code></em> method should be overridden to produce
buffers.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseSrcClass.parent-class"></a>parent_class</code></em>;</span></p></td>
@@ -480,8 +483,11 @@ passed buffer is guaranteed to hold the requested amount of bytes.</td>
<p>
The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> flags that a basesrc element may have.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-BASE-SRC-FLAG-STARTING:CAPS"></a><span class="term"><code class="literal">GST_BASE_SRC_FLAG_STARTING</code></span></p></td>
@@ -516,8 +522,11 @@ case this function returns <a href="http://gstreamer.freedesktop.org/data/doc/gs
to a state change to READY or a FLUSH event (in which case this function
returns <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a>).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -539,8 +548,11 @@ continue. Any other return value should be returned from the create vmethod.</td
<p>
Check if an element is in live mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -570,8 +582,11 @@ of a pipeline. To signal this fact to the application and the
pipeline, the state change return value of the live source will
be GST_STATE_CHANGE_NO_PREROLL.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -600,8 +615,11 @@ operate in pull mode if the <a class="link" href="GstBaseSrc.html#GstBaseSrcClas
<p>
This function must only be called in states &lt; <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -630,8 +648,11 @@ between the running time and the timestamp of the first buffer.
<p>
This function is mostly used by subclasses.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -666,8 +687,11 @@ This function is mostly used by subclasses.
<p>
Get the number of bytes that <em class="parameter"><code>src</code></em> will push out with each buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -689,8 +713,11 @@ Get the number of bytes that <em class="parameter"><code>src</code></em> will pu
Set the number of bytes that <em class="parameter"><code>src</code></em> will push out with each buffer. When
<em class="parameter"><code>blocksize</code></em> is set to -1, a default length will be used.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -710,8 +737,11 @@ Set the number of bytes that <em class="parameter"><code>src</code></em> will pu
<p>
Query if <em class="parameter"><code>src</code></em> timestamps outgoing buffers based on the current running_time.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -735,8 +765,11 @@ Configure <em class="parameter"><code>src</code></em> to automatically timestamp
current running_time of the pipeline. This property is mostly useful for live
sources.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -759,8 +792,11 @@ If not <em class="parameter"><code>dynamic</code></em>, size is only updated whe
read past current tracked size. Otherwise, size is checked for upon each
read.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -789,8 +825,11 @@ as the stream-lock needs to be held.
The format for the new segment will be the current format of the source, as
configured with <a class="link" href="GstBaseSrc.html#gst-base-src-set-format" title="gst_base_src_set_format ()"><code class="function">gst_base_src_set_format()</code></a>
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -824,8 +863,11 @@ configured with <a class="link" href="GstBaseSrc.html#gst-base-src-set-format" t
<p>
Set new caps on the basesrc source pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -858,8 +900,11 @@ used by the base class and its <em class="parameter"><code>params</code></em>.
<p>
Unref the <em class="parameter"><code>allocator</code></em> after use it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -885,8 +930,11 @@ used. <span class="annotation">[<acronym title="Parameter for returning results.
<div class="refsect2">
<a name="gst-base-src-get-buffer-pool"></a><h3>gst_base_src_get_buffer_pool ()</h3>
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferPool.html#GstBufferPool"><span class="returnvalue">GstBufferPool</span></a> * gst_base_src_get_buffer_pool (<em class="parameter"><code><a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> *src</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -910,8 +958,11 @@ by the src; free it after use it. <span class="annotation">[<acronym title="Free
<p>
Gives the pointer to the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>base source instance</td>
diff --git a/docs/libs/html/GstBaseTransform.html b/docs/libs/html/GstBaseTransform.html
index 7ca5a28..b52ccd1 100644
--- a/docs/libs/html/GstBaseTransform.html
+++ b/docs/libs/html/GstBaseTransform.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBaseTransform</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="GstBaseSink.html" title="GstBaseSink">
@@ -99,7 +99,7 @@ This base class is for filter elements that process data.
<p>
It provides for:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>one sinkpad and one srcpad</p></li>
<li class="listitem"><p>
Possible formats on sink and source pad implemented
@@ -118,14 +118,14 @@ It provides for:
<p>
</p>
<div class="refsect2">
-<a name="idp8789696"></a><h3>Use Cases</h3>
+<a name="idp6953552"></a><h3>Use Cases</h3>
<p>
</p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<div class="itemizedlist">
<p class="title"><b>Passthrough mode</b></p>
-<ul class="itemizedlist" type="disc">
+<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
Element has no interest in modifying the buffer. It may want to inspect it,
in which case the element should have a transform_ip function. If there
@@ -146,7 +146,7 @@ It provides for:
</div>
<div class="itemizedlist">
<p class="title"><b>Example elements</b></p>
-<ul class="itemizedlist" type="disc">
+<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">Level</li>
<li class="listitem">Videoscale, audioconvert, videoconvert, audioresample in
certain modes.</li>
@@ -157,7 +157,7 @@ It provides for:
<div class="itemizedlist">
<p class="title"><b>Modifications in-place - input buffer and output buffer are the
same thing.</b></p>
-<ul class="itemizedlist" type="disc">
+<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
The element must implement a transform_ip function.
</p></li>
@@ -180,7 +180,7 @@ It provides for:
</div>
<div class="itemizedlist">
<p class="title"><b>Example elements</b></p>
-<ul class="itemizedlist" type="disc">
+<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">Volume</li>
<li class="listitem">Audioconvert in certain modes (signed/unsigned
conversion)</li>
@@ -192,7 +192,7 @@ It provides for:
<li class="listitem">
<div class="itemizedlist">
<p class="title"><b>Modifications only to the caps/metadata of a buffer</b></p>
-<ul class="itemizedlist" type="disc">
+<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
The element does not require writable data, but non-writable buffers
should be subbuffered so that the meta-information can be replaced.
@@ -206,7 +206,7 @@ It provides for:
</div>
<div class="itemizedlist">
<p class="title"><b>Example elements</b></p>
-<ul class="itemizedlist" type="disc">
+<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">Capsfilter when setting caps on outgoing buffers that have
none.</li>
<li class="listitem">identity when it is going to re-timestamp buffers by
@@ -217,7 +217,7 @@ It provides for:
<li class="listitem">
<div class="itemizedlist">
<p class="title"><b>Normal mode</b></p>
-<ul class="itemizedlist" type="disc">
+<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
always_in_place flag is not set, or there is no transform_ip function
</p></li>
@@ -231,23 +231,22 @@ It provides for:
</div>
<div class="itemizedlist">
<p class="title"><b>Example elements</b></p>
-<ul class="itemizedlist" type="disc"><li class="listitem">Videoscale, videoconvert, audioconvert when doing
+<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">Videoscale, videoconvert, audioconvert when doing
scaling/conversions</li></ul>
</div>
</li>
<li class="listitem">
<div class="itemizedlist">
<p class="title"><b>Special output buffer allocations</b></p>
-<ul class="itemizedlist" type="disc"><li class="listitem"><p>
+<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
Elements which need to do special allocation of their output buffers
- other than what gst_buffer_pad_alloc allows should implement a
- prepare_output_buffer method, which calls the parent implementation and
- passes the newly allocated buffer.
+ beyond allocating output buffers via the negotiated allocator or
+ buffer pool should implement the prepare_output_buffer method.
</p></li></ul>
</div>
<div class="itemizedlist">
<p class="title"><b>Example elements</b></p>
-<ul class="itemizedlist" type="disc"><li class="listitem">efence</li></ul>
+<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">efence</li></ul>
</div>
</li>
</ol></div>
@@ -258,16 +257,16 @@ It provides for:
</p>
<hr>
<div class="refsect2">
-<a name="idp5740896"></a><h3>Sub-class settable flags on GstBaseTransform</h3>
+<a name="idp5222304"></a><h3>Sub-class settable flags on GstBaseTransform</h3>
<p>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<p>
</p>
<div class="itemizedlist">
<p class="title"><b>passthrough</b></p>
-<ul class="itemizedlist" type="circle">
+<ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem"><p>
Implies that in the current configuration, the sub-class is not
interested in modifying the buffers.
@@ -287,7 +286,7 @@ It provides for:
</p>
<div class="itemizedlist">
<p class="title"><b>always_in_place</b></p>
-<ul class="itemizedlist" type="circle">
+<ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem"><p>
Determines whether a non-writable buffer will be copied before passing
to the transform_ip function.
@@ -391,8 +390,11 @@ needed. At minimum either <em class="parameter"><code>transform</code></em> or <
If the element can overwrite the input data with the results (data is of the
same type and quantity) it should provide <em class="parameter"><code>transform_ip</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseTransformClass.parent-class"></a>parent_class</code></em>;</span></p></td>
@@ -563,8 +565,11 @@ Transform the incoming buffer in-place.</td>
<p>
See if <em class="parameter"><code>trans</code></em> is configured as a passthrough transform.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -594,8 +599,11 @@ or transform_ip method.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -629,8 +637,11 @@ capsfilter.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -652,8 +663,11 @@ MT safe.
<p>
See if <em class="parameter"><code>trans</code></em> is configured as a in_place transform.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -676,7 +690,7 @@ MT safe.</td>
Determines whether a non-writable buffer will be copied before passing
to the transform_ip function.
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">Always TRUE if no transform function is implemented.</li>
<li class="listitem">Always FALSE if ONLY transform function is implemented.</li>
</ul></div>
@@ -685,8 +699,11 @@ to the transform_ip function.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -707,8 +724,11 @@ on in_place buffers.</td>
<p>
Queries if the transform will handle QoS.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -734,8 +754,11 @@ Enable or disable QoS handling in the transform.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -764,8 +787,11 @@ when needed.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -805,8 +831,11 @@ unset the flag if the output is no neutral data.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -833,8 +862,11 @@ used by the base class and its <em class="parameter"><code>params</code></em>.
<p>
Unref the <em class="parameter"><code>allocator</code></em> after use it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -860,8 +892,11 @@ used. <span class="annotation">[<acronym title="Parameter for returning results.
<div class="refsect2">
<a name="gst-base-transform-get-buffer-pool"></a><h3>gst_base_transform_get_buffer_pool ()</h3>
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferPool.html#GstBufferPool"><span class="returnvalue">GstBufferPool</span></a> * gst_base_transform_get_buffer_pool (<em class="parameter"><code><a class="link" href="GstBaseTransform.html" title="GstBaseTransform"><span class="type">GstBaseTransform</span></a> *trans</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>trans</code></em> :</span></p></td>
@@ -903,8 +938,11 @@ The name of the templates for the source pad.
<p>
Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>base transform instance</td>
@@ -919,8 +957,11 @@ Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc
<p>
Gives the pointer to the source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>base transform instance</td>
diff --git a/docs/libs/html/GstCollectPads.html b/docs/libs/html/GstCollectPads.html
index 2355dfe..aa9dafd 100644
--- a/docs/libs/html/GstCollectPads.html
+++ b/docs/libs/html/GstCollectPads.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstCollectPads</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="gstreamer-libs-GstByteWriter.html" title="GstByteWriter">
@@ -140,7 +140,7 @@ enum <a class="link" href="GstCollectPads.html#GstCollectPadsStat
Manages a set of pads that operate in collect mode. This means that control
is given to the manager of this object when all pads have data.
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
Collectpads are created with <a class="link" href="GstCollectPads.html#gst-collect-pads-new" title="gst_collect_pads_new ()"><code class="function">gst_collect_pads_new()</code></a>. A callback should then
be installed with <a class="link" href="GstCollectPads.html#gst-collect-pads-set-function" title="gst_collect_pads_set_function ()"><code class="function">gst_collect_pads_set_function()</code></a>.
@@ -168,7 +168,7 @@ is given to the manager of this object when all pads have data.
</p></li>
<li class="listitem"><p>
Data can also be dequeued in byte units using the <a class="link" href="GstCollectPads.html#gst-collect-pads-available" title="gst_collect_pads_available ()"><code class="function">gst_collect_pads_available()</code></a>,
- <code class="function">gst_collect_pads_read()</code> and <a class="link" href="GstCollectPads.html#gst-collect-pads-flush" title="gst_collect_pads_flush ()"><code class="function">gst_collect_pads_flush()</code></a> calls.
+ <a class="link" href="GstCollectPads.html#gst-collect-pads-read-buffer" title="gst_collect_pads_read_buffer ()"><code class="function">gst_collect_pads_read_buffer()</code></a> and <a class="link" href="GstCollectPads.html#gst-collect-pads-flush" title="gst_collect_pads_flush ()"><code class="function">gst_collect_pads_flush()</code></a> calls.
</p></li>
<li class="listitem"><p>
Elements should call <a class="link" href="GstCollectPads.html#gst-collect-pads-start" title="gst_collect_pads_start ()"><code class="function">gst_collect_pads_start()</code></a> and <a class="link" href="GstCollectPads.html#gst-collect-pads-stop" title="gst_collect_pads_stop ()"><code class="function">gst_collect_pads_stop()</code></a> in
@@ -178,7 +178,7 @@ is given to the manager of this object when all pads have data.
no pad is blocked and the element can finish streaming.
</p></li>
<li class="listitem"><p>
- <code class="function">gst_collect_pads_collect()</code> and <code class="function">gst_collect_pads_collect_range()</code> can be used by
+ <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstCollectPads.html#gst-collect-pads-collect"><code class="function">gst_collect_pads_collect()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstCollectPads.html#gst-collect-pads-collect-range"><code class="function">gst_collect_pads_collect_range()</code></a> can be used by
elements that start a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTask.html"><span class="type">GstTask</span></a> to drive the collect_pads. This feature is however
not yet implemented.
</p></li>
@@ -206,8 +206,11 @@ Last reviewed on 2011-10-28 (0.10.36)
<p>
Collectpads object.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> *<em class="structfield"><code><a name="GstCollectPads-struct.data"></a>data</code></em>;</span></p></td>
<td>
@@ -230,8 +233,11 @@ Collectpads object.
<p>
Structure used by the collect_pads.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a> *<em class="structfield"><code><a name="GstCollectData.collect"></a>collect</code></em>;</span></p></td>
@@ -267,8 +273,11 @@ A function that will be called when the <a class="link" href="GstCollectPads.htm
It is passed the pointer to the structure and should free any custom
memory and resources allocated for it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>the <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a> that will be freed</td>
@@ -287,8 +296,11 @@ A function that will be called when a (considered oldest) buffer can be muxed.
If all pads have reached EOS, this function is called with NULL <em class="parameter"><code>buffer</code></em>
and NULL <em class="parameter"><code>data</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -328,8 +340,11 @@ and NULL <em class="parameter"><code>data</code></em>.
<p>
A function for comparing two timestamps of buffers or newsegments collected on one pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -380,8 +395,11 @@ ownership of the event and is responsible for chaining up (to
<code class="function">gst_collect_pads_event_default()</code>) or dropping events (such typical cases
being handled by the default handler).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -428,8 +446,11 @@ the pad to perform clipping of <em class="parameter"><code>inbuffer</code></em>.
This function takes ownership of <em class="parameter"><code>inbuffer</code></em> and should output a buffer in
<em class="parameter"><code>outbuffer</code></em> or return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in <em class="parameter"><code>outbuffer</code></em> if the buffer should be dropped.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -470,8 +491,11 @@ This function takes ownership of <em class="parameter"><code>inbuffer</code></em
<p>
A function that will be called when all pads have received data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -501,8 +525,11 @@ A function that will be called when all pads have received data.
GST_COLLECT_PADS_STATE_LOCKED = 1 &lt;&lt; 4
} GstCollectPadsStateFlags;
</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-COLLECT-PADS-STATE-EOS:CAPS"></a><span class="term"><code class="literal">GST_COLLECT_PADS_STATE_EOS</code></span></p></td>
@@ -545,8 +572,11 @@ A function that will be called when all pads have received data.
A flags word containing <a class="link" href="GstCollectPads.html#GstCollectPadsStateFlags" title="enum GstCollectPadsStateFlags"><span class="type">GstCollectPadsStateFlags</span></a> flags set
on this collected pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>a <a class="link" href="GstCollectPads.html#GstCollectData" title="struct GstCollectData"><span class="type">GstCollectData</span></a>.</td>
@@ -561,8 +591,11 @@ on this collected pad.
<p>
Gives the status of a specific flag on a collected pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -583,8 +616,11 @@ Gives the status of a specific flag on a collected pad.
<p>
Sets a state flag on a collected pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -605,8 +641,11 @@ Sets a state flag on a collected pad.
<p>
Clears a state flag on a collected pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -629,8 +668,11 @@ Get the stream lock of <em class="parameter"><code>pads</code></em>. The stream
serialize execution among the various streams being collected, and in
protecting the resources used to accomplish this.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
<td>a <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a>
@@ -646,8 +688,11 @@ protecting the resources used to accomplish this.
<p>
Lock the stream lock of <em class="parameter"><code>pads</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
<td>a <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a>
@@ -663,8 +708,11 @@ Lock the stream lock of <em class="parameter"><code>pads</code></em>.
<p>
Unlock the stream lock of <em class="parameter"><code>pads</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
<td>a <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a>
@@ -682,8 +730,11 @@ Create a new instance of <a class="link" href="GstCollectPads.html" title="GstCo
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a class="link" href="GstCollectPads.html" title="GstCollectPads"><span class="type">GstCollectPads</span></a>, or NULL in case of an error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -731,8 +782,11 @@ started.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -780,8 +834,11 @@ The pad will be deactivated automatically when <em class="parameter"><code>pads<
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -810,8 +867,11 @@ Starts the processing of data in the collect_pads.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
<td>the collectpads to use</td>
@@ -829,8 +889,11 @@ will also unblock any blocking operations.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
<td>the collectpads to use</td>
@@ -853,8 +916,11 @@ in the callback.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -884,8 +950,11 @@ in the callback.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -920,8 +989,11 @@ handler.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -952,8 +1024,11 @@ handler.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -988,8 +1063,11 @@ callback.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -1030,8 +1108,11 @@ callback.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -1070,8 +1151,11 @@ it.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -1102,8 +1186,11 @@ Set the timestamp comparison function.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -1138,8 +1225,11 @@ if so (unusually) needed.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -1166,8 +1256,11 @@ MT safe.
Install a clipping function that is called right after a buffer is received
on a pad managed by <em class="parameter"><code>pads</code></em>. See <a class="link" href="GstCollectPads.html#GstCollectPadsClipFunction" title="GstCollectPadsClipFunction ()"><span class="type">GstCollectPadsClipFunction</span></a> for more info.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -1200,8 +1293,11 @@ e.g. by sending a FLUSH_START downstream.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -1234,8 +1330,11 @@ If this callback is set, the former will be unset.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
@@ -1270,8 +1369,11 @@ in the callback.
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pads</code></em> :</span></p></td>
diff --git a/docs/libs/html/GstInterpolationControlSource.html b/docs/libs/html/GstInterpolationControlSource.html
index 2b865b6..c53b95d 100644
--- a/docs/libs/html/GstInterpolationControlSource.html
+++ b/docs/libs/html/GstInterpolationControlSource.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstInterpolationControlSource</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
<link rel="prev" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">
@@ -103,8 +103,11 @@ The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gst
<p>
The various interpolation modes available.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-INTERPOLATION-MODE-NONE:CAPS"></a><span class="term"><code class="literal">GST_INTERPOLATION_MODE_NONE</code></span></p></td>
@@ -132,8 +135,11 @@ The various interpolation modes available.
<p>
This returns a new, unbound <a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource"><span class="type">GstInterpolationControlSource</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new, unbound <a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource"><span class="type">GstInterpolationControlSource</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
diff --git a/docs/libs/html/GstLFOControlSource.html b/docs/libs/html/GstLFOControlSource.html
index 143e430..4df5e48 100644
--- a/docs/libs/html/GstLFOControlSource.html
+++ b/docs/libs/html/GstLFOControlSource.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstLFOControlSource</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
<link rel="prev" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource">
@@ -72,13 +72,13 @@ enum <a class="link" href="GstLFOControlSource.html#GstLFOWavefor
<div class="refsect1">
<a name="GstLFOControlSource.description"></a><h2>Description</h2>
<p>
-<a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a> is a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>, that provides several periodic waveforms
-as control values. It supports all fundamental, numeric GValue types as property.
+<a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a> is a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a>, that provides several periodic
+waveforms as control values.
</p>
<p>
-To use <a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a> get a new instance by calling <a class="link" href="GstLFOControlSource.html#gst-lfo-control-source-new" title="gst_lfo_control_source_new ()"><code class="function">gst_lfo_control_source_new()</code></a>,
-bind it to a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> and set the relevant properties or use
-gst_lfo_control_source_set_waveform.
+To use <a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a> get a new instance by calling
+<a class="link" href="GstLFOControlSource.html#gst-lfo-control-source-new" title="gst_lfo_control_source_new ()"><code class="function">gst_lfo_control_source_new()</code></a>, bind it to a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> and set the relevant
+properties.
</p>
<p>
All functions are MT-safe.
@@ -107,8 +107,11 @@ The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gst
<p>
The various waveform modes available.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-LFO-WAVEFORM-SINE:CAPS"></a><span class="term"><code class="literal">GST_LFO_WAVEFORM_SINE</code></span></p></td>
@@ -145,8 +148,11 @@ The various waveform modes available.
<p>
This returns a new, unbound <a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new, unbound <a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -175,7 +181,7 @@ Specifies the frequency that should be used for the waveform
of this <a class="link" href="GstLFOControlSource.html" title="GstLFOControlSource"><span class="type">GstLFOControlSource</span></a>. It should be large enough
so that the period is longer than one nanosecond.
</p>
-<p>Allowed values: &gt;= 0</p>
+<p>Allowed values: &gt;= G_MINDOUBLE</p>
<p>Default value: 1</p>
</div>
<hr>
diff --git a/docs/libs/html/GstNetClientClock.html b/docs/libs/html/GstNetClientClock.html
index e4f308f..8162bbb 100644
--- a/docs/libs/html/GstNetClientClock.html
+++ b/docs/libs/html/GstNetClientClock.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstNetClientClock</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-net.html" title="GStreamer Network Classes">
<link rel="prev" href="gstreamer-net.html" title="GStreamer Network Classes">
@@ -118,8 +118,11 @@ Create a new <a class="link" href="GstNetClientClock.html" title="GstNetClientCl
provided by the <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"><span class="type">GstNetTimeProvider</span></a> on <em class="parameter"><code>remote_address</code></em> and
<em class="parameter"><code>remote_port</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
diff --git a/docs/libs/html/GstNetTimeProvider.html b/docs/libs/html/GstNetTimeProvider.html
index 33f4f99..8d5ab30 100644
--- a/docs/libs/html/GstNetTimeProvider.html
+++ b/docs/libs/html/GstNetTimeProvider.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstNetTimeProvider</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-net.html" title="GStreamer Network Classes">
<link rel="prev" href="gstreamer-libs-GstNetTimePacket.html" title="GstNetTimePacket">
@@ -107,8 +107,11 @@ Opaque <a class="link" href="GstNetTimeProvider.html" title="GstNetTimeProvider"
<p>
Allows network clients to get the current time of <em class="parameter"><code>clock</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
@@ -116,7 +119,7 @@ Allows network clients to get the current time of <em class="parameter"><code>cl
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
-<td>an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), or NULL
+<td>an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), IPv6 address, or NULL
to bind to all addresses</td>
</tr>
<tr>
diff --git a/docs/libs/html/GstPushSrc.html b/docs/libs/html/GstPushSrc.html
index d6b1e3d..d02cab5 100644
--- a/docs/libs/html/GstPushSrc.html
+++ b/docs/libs/html/GstPushSrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstPushSrc</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="GstBaseTransform.html" title="GstBaseTransform">
diff --git a/docs/libs/html/GstTestClock.html b/docs/libs/html/GstTestClock.html
new file mode 100644
index 0000000..3305e55
--- /dev/null
+++ b/docs/libs/html/GstTestClock.html
@@ -0,0 +1,754 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GstTestClock</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
+<link rel="up" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
+<link rel="prev" href="gstreamer-libs-GstStreamConsistency.html" title="GstStreamConsistency">
+<link rel="next" href="gstreamer-hierarchy.html" title="Object Hierarchy">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="gstreamer-libs-GstStreamConsistency.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="gstreamer-check.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">GStreamer 1.0 Library Reference Manual</th>
+<td><a accesskey="n" href="gstreamer-hierarchy.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#GstTestClock.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#GstTestClock.description" class="shortcut">Description</a>
+  | 
+ <a href="#GstTestClock.object-hierarchy" class="shortcut">Object Hierarchy</a>
+  | 
+ <a href="#GstTestClock.properties" class="shortcut">Properties</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="GstTestClock"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="GstTestClock.top_of_page"></a>GstTestClock</span></h2>
+<p>GstTestClock — Controllable, deterministic clock for GStreamer unit tests</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<a name="GstTestClock.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">
+#include &lt;gst/check/gsttestclock.h&gt;
+
+struct <a class="link" href="GstTestClock.html#GstTestClock-struct" title="struct GstTestClock">GstTestClock</a>;
+struct <a class="link" href="GstTestClock.html#GstTestClockClass" title="struct GstTestClockClass">GstTestClockClass</a>;
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> * <a class="link" href="GstTestClock.html#gst-test-clock-new" title="gst_test_clock_new ()">gst_test_clock_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> * <a class="link" href="GstTestClock.html#gst-test-clock-new-with-start-time" title="gst_test_clock_new_with_start_time ()">gst_test_clock_new_with_start_time</a> (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> start_time</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="GstTestClock.html#gst-test-clock-set-time" title="gst_test_clock_set_time ()">gst_test_clock_set_time</a> (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> new_time</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="GstTestClock.html#gst-test-clock-advance-time" title="gst_test_clock_advance_time ()">gst_test_clock_advance_time</a> (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> delta</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="GstTestClock.html#gst-test-clock-peek-id-count" title="gst_test_clock_peek_id_count ()">gst_test_clock_peek_id_count</a> (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GstTestClock.html#gst-test-clock-has-id" title="gst_test_clock_has_id ()">gst_test_clock_has_id</a> (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="type">GstClockID</span></a> id</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GstTestClock.html#gst-test-clock-peek-next-pending-id" title="gst_test_clock_peek_next_pending_id ()">gst_test_clock_peek_next_pending_id</a> (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="type">GstClockID</span></a> *pending_id</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="GstTestClock.html#gst-test-clock-wait-for-next-pending-id" title="gst_test_clock_wait_for_next_pending_id ()">gst_test_clock_wait_for_next_pending_id</a>
+ (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="type">GstClockID</span></a> *pending_id</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="GstTestClock.html#gst-test-clock-wait-for-pending-id-count" title="gst_test_clock_wait_for_pending_id_count ()">gst_test_clock_wait_for_pending_id_count</a>
+ (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="returnvalue">GstClockID</span></a> <a class="link" href="GstTestClock.html#gst-test-clock-process-next-clock-id" title="gst_test_clock_process_next_clock_id ()">gst_test_clock_process_next_clock_id</a>
+ (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>);
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a> <a class="link" href="GstTestClock.html#gst-test-clock-get-next-entry-time" title="gst_test_clock_get_next_entry_time ()">gst_test_clock_get_next_entry_time</a> (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="GstTestClock.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+ +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+ +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html">GstClock</a>
+ +----GstTestClock
+</pre>
+</div>
+<div class="refsect1">
+<a name="GstTestClock.properties"></a><h2>Properties</h2>
+<pre class="synopsis">
+ "<a class="link" href="GstTestClock.html#GstTestClock--start-time" title='The "start-time" property'>start-time</a>" <span class="type">guint64</span> : Read / Write / Construct Only
+</pre>
+</div>
+<div class="refsect1">
+<a name="GstTestClock.description"></a><h2>Description</h2>
+<p>
+GstTestClock is an implementation of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> which has different
+behaviour compared to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSystemClock.html"><span class="type">GstSystemClock</span></a>. Time for <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSystemClock.html"><span class="type">GstSystemClock</span></a> advances
+according to the system time, while time for <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> changes only
+when <a class="link" href="GstTestClock.html#gst-test-clock-set-time" title="gst_test_clock_set_time ()"><code class="function">gst_test_clock_set_time()</code></a> or <a class="link" href="GstTestClock.html#gst-test-clock-advance-time" title="gst_test_clock_advance_time ()"><code class="function">gst_test_clock_advance_time()</code></a> are
+called. <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> provides unit tests with the possibility to
+precisely advance the time in a deterministic manner, independent of the
+system time or any other external factors.
+</p>
+<p>
+</p>
+<div class="example">
+<a name="idp10016464"></a><p class="title"><b>Example 1. Advancing the time of a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a></b></p>
+<div class="example-contents">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include &lt;gst/gst.h&gt;</span>
+<span class="gtkdoc ppc">#include &lt;gst/check/gsttestclock.h&gt;</span>
+
+GstClock <span class="gtkdoc opt">*</span>clock<span class="gtkdoc opt">;</span>
+GstTestClock <span class="gtkdoc opt">*</span>test_clock<span class="gtkdoc opt">;</span>
+
+clock <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-new">gst_test_clock_new</a></span> <span class="gtkdoc opt">();</span>
+test_clock <span class="gtkdoc opt">=</span> <span class="function">GST_TEST_CLOCK</span> <span class="gtkdoc opt">(</span>clock<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Time: %&quot;</span> GST_TIME_FORMAT<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-get-time">gst_clock_get_time</a></span> <span class="gtkdoc opt">(</span>clock<span class="gtkdoc opt">)));</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-advance-time">gst_test_clock_advance_time</a></span> <span class="gtkdoc opt">(</span> test_clock<span class="gtkdoc opt">,</span> <span class="number">1</span> <span class="gtkdoc opt">*</span> GST_SECOND<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Time: %&quot;</span> GST_TIME_FORMAT<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-get-time">gst_clock_get_time</a></span> <span class="gtkdoc opt">(</span>clock<span class="gtkdoc opt">)));</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Date-and-Time-Functions.html#g-usleep">g_usleep</a></span> <span class="gtkdoc opt">(</span><span class="number">10</span> <span class="gtkdoc opt">*</span> G_USEC_PER_SEC<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Time: %&quot;</span> GST_TIME_FORMAT<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-get-time">gst_clock_get_time</a></span> <span class="gtkdoc opt">(</span>clock<span class="gtkdoc opt">)));</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-set-time">gst_test_clock_set_time</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">,</span> <span class="number">42</span> <span class="gtkdoc opt">*</span> GST_SECOND<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Time: %&quot;</span> GST_TIME_FORMAT<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-get-time">gst_clock_get_time</a></span> <span class="gtkdoc opt">(</span>clock<span class="gtkdoc opt">)));</span>
+<span class="gtkdoc opt">...</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+</div>
+<p><br class="example-break">
+</p>
+<p>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> allows for setting up single shot or periodic clock notifications
+as well as waiting for these notifications synchronously (using
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-id-wait"><code class="function">gst_clock_id_wait()</code></a>) or asynchronously (using <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-id-wait-async"><code class="function">gst_clock_id_wait_async()</code></a> or
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-id-wait-async-full"><code class="function">gst_clock_id_wait_async_full()</code></a>). This is used by many GStreamer elements,
+among them <a class="link" href="GstBaseSrc.html" title="GstBaseSrc"><span class="type">GstBaseSrc</span></a> and <a class="link" href="GstBaseSink.html" title="GstBaseSink"><span class="type">GstBaseSink</span></a>.
+</p>
+<p>
+<a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> keeps track of these clock notifications. By calling
+<a class="link" href="GstTestClock.html#gst-test-clock-wait-for-next-pending-id" title="gst_test_clock_wait_for_next_pending_id ()"><code class="function">gst_test_clock_wait_for_next_pending_id()</code></a> or
+<a class="link" href="GstTestClock.html#gst-test-clock-wait-for-pending-id-count" title="gst_test_clock_wait_for_pending_id_count ()"><code class="function">gst_test_clock_wait_for_pending_id_count()</code></a> a unit tests may wait for the
+next one or several clock notifications to be requested. Additionally unit
+tests may release blocked waits in a controlled fashion by calling
+<a class="link" href="GstTestClock.html#gst-test-clock-process-next-clock-id" title="gst_test_clock_process_next_clock_id ()"><code class="function">gst_test_clock_process_next_clock_id()</code></a>. This way a unit test can control the
+inaccuracy (jitter) of clock notifications, since the test can decide to
+release blocked waits when the clock time has advanced exactly to, or past,
+the requested clock notification time.
+</p>
+<p>
+There are also interfaces for determining if a notification belongs to a
+<a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> or not, as well as getting the number of requested clock
+notifications so far.
+</p>
+<p>
+N.B.: When a unit test waits for a certain amount of clock notifications to
+be requested in <a class="link" href="GstTestClock.html#gst-test-clock-wait-for-next-pending-id" title="gst_test_clock_wait_for_next_pending_id ()"><code class="function">gst_test_clock_wait_for_next_pending_id()</code></a> or
+<a class="link" href="GstTestClock.html#gst-test-clock-wait-for-pending-id-count" title="gst_test_clock_wait_for_pending_id_count ()"><code class="function">gst_test_clock_wait_for_pending_id_count()</code></a> then these functions may block
+for a long time. If they block forever then the expected clock notifications
+were never requested from <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a>, and so the assumptions in the code
+of the unit test are wrong. The unit test case runner in <span class="type">GstCheck</span> is
+expected to catch these cases either by the default test case timeout or the
+one set for the unit test by calling <code class="function">tcase_set_timeout()</code>.
+</p>
+<p>
+The sample code below assumes that the element under test will delay a
+buffer pushed on the source pad by some latency until it arrives on the sink
+pad. Moreover it is assumed that the element will at some point call
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-id-wait"><code class="function">gst_clock_id_wait()</code></a> to synchronously wait for a specific time. The first
+buffer sent will arrive exactly on time only delayed by the latency. The
+second buffer will arrive a little late (7ms) due to simulated jitter in the
+clock notification.
+</p>
+<p>
+</p>
+<div class="example">
+<a name="idp14901808"></a><p class="title"><b>Example 2. Demonstration of how to work with clock notifications and <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a></b></p>
+<div class="example-contents">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include &lt;gst/gst.h&gt;</span>
+<span class="gtkdoc ppc">#include &lt;gst/check/gstcheck.h&gt;</span>
+<span class="gtkdoc ppc">#include &lt;gst/check/gsttestclock.h&gt;</span>
+
+GstClockTime latency<span class="gtkdoc opt">;</span>
+GstElement <span class="gtkdoc opt">*</span>element<span class="gtkdoc opt">;</span>
+GstPad <span class="gtkdoc opt">*</span>srcpad<span class="gtkdoc opt">;</span>
+GstClock <span class="gtkdoc opt">*</span>clock<span class="gtkdoc opt">;</span>
+GstTestClock <span class="gtkdoc opt">*</span>test_clock<span class="gtkdoc opt">;</span>
+GstBuffer buf<span class="gtkdoc opt">;</span>
+GstClockID pending_id<span class="gtkdoc opt">;</span>
+GstClockID processed_id<span class="gtkdoc opt">;</span>
+
+latency <span class="gtkdoc opt">=</span> <span class="number">42</span> <span class="gtkdoc opt">*</span> GST_MSECOND<span class="gtkdoc opt">;</span>
+element <span class="gtkdoc opt">=</span> <span class="function">create_element</span> <span class="gtkdoc opt">(</span>latency<span class="gtkdoc opt">, ...);</span>
+srcpad <span class="gtkdoc opt">=</span> <span class="function">get_source_pad</span> <span class="gtkdoc opt">(</span>element<span class="gtkdoc opt">);</span>
+
+clock <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-new">gst_test_clock_new</a></span> <span class="gtkdoc opt">();</span>
+test_clock <span class="gtkdoc opt">=</span> <span class="function">GST_TEST_CLOCK</span> <span class="gtkdoc opt">(</span>clock<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-set-clock">gst_element_set_clock</a></span> <span class="gtkdoc opt">(</span>element<span class="gtkdoc opt">,</span> clock<span class="gtkdoc opt">);</span>
+
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Set time, create and push the first buffer</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-set-time">gst_test_clock_set_time</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
+buf <span class="gtkdoc opt">=</span> <span class="function">create_test_buffer</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-get-time">gst_clock_get_time</a></span> <span class="gtkdoc opt">(</span>clock<span class="gtkdoc opt">), ...);</span>
+<span class="function">gst_assert_cmpint</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-push">gst_pad_push</a></span> <span class="gtkdoc opt">(</span>srcpad<span class="gtkdoc opt">,</span> buf<span class="gtkdoc opt">), ==,</span> GST_FLOW_OK<span class="gtkdoc opt">);</span>
+
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Block until element is waiting for a clock notification</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-wait-for-next-pending-id">gst_test_clock_wait_for_next_pending_id</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">, &amp;</span>pending_id<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Advance to the requested time of the clock notification</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-advance-time">gst_test_clock_advance_time</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">,</span> latency<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Release the next blocking wait and make sure it is the one from element</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+processed_id <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-process-next-clock-id">gst_test_clock_process_next_clock_id</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert">g_assert</a></span> <span class="gtkdoc opt">(</span>processed_id <span class="gtkdoc opt">==</span> pending_id<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert-cmpint">g_assert_cmpint</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-ENTRY-STATUS:CAPS">GST_CLOCK_ENTRY_STATUS</a></span> <span class="gtkdoc opt">(</span>processed_id<span class="gtkdoc opt">), ==,</span> GST_CLOCK_OK<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-id-unref">gst_clock_id_unref</a></span> <span class="gtkdoc opt">(</span>pending_id<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-id-unref">gst_clock_id_unref</a></span> <span class="gtkdoc opt">(</span>processed_id<span class="gtkdoc opt">);</span>
+
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Validate that element produced an output buffer and check its timestamp</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert-cmpint">g_assert_cmpint</a></span> <span class="gtkdoc opt">(</span><span class="function">get_number_of_output_buffer</span> <span class="gtkdoc opt">(...), ==,</span> <span class="number">1</span><span class="gtkdoc opt">);</span>
+buf <span class="gtkdoc opt">=</span> <span class="function">get_buffer_pushed_by_element</span> <span class="gtkdoc opt">(</span>element<span class="gtkdoc opt">, ...);</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert-cmpint">g_assert_cmpint</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GST-BUFFER-TIMESTAMP:CAPS">GST_BUFFER_TIMESTAMP</a></span> <span class="gtkdoc opt">(</span>buf<span class="gtkdoc opt">), ==,</span> latency<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref">gst_buffer_unref</a></span> <span class="gtkdoc opt">(</span>buf<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Check that element does not wait for any clock notification</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert">g_assert</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-peek-next-pending-id">gst_test_clock_peek_next_pending_id</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">) ==</span> FALSE<span class="gtkdoc opt">);</span>
+
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Set time, create and push the second buffer</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-advance-time">gst_test_clock_advance_time</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">,</span> <span class="number">10</span> <span class="gtkdoc opt">*</span> GST_SECOND<span class="gtkdoc opt">);</span>
+buf <span class="gtkdoc opt">=</span> <span class="function">create_test_buffer</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-get-time">gst_clock_get_time</a></span> <span class="gtkdoc opt">(</span>clock<span class="gtkdoc opt">), ...);</span>
+<span class="function">gst_assert_cmpint</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-push">gst_pad_push</a></span> <span class="gtkdoc opt">(</span>srcpad<span class="gtkdoc opt">,</span> buf<span class="gtkdoc opt">), ==,</span> GST_FLOW_OK<span class="gtkdoc opt">);</span>
+
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Block until element is waiting for a new clock notification</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+<span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-wait-for-next-pending-id">gst_test_clock_wait_for_next_pending_id</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">, &amp;</span>pending_id<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Advance past 7ms beyond the requested time of the clock notification</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-advance-time">gst_test_clock_advance_time</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">,</span> latency <span class="gtkdoc opt">+</span> <span class="number">7</span> <span class="gtkdoc opt">*</span> GST_MSECOND<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Release the next blocking wait and make sure it is the one from element</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+processed_id <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-process-next-clock-id">gst_test_clock_process_next_clock_id</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert">g_assert</a></span> <span class="gtkdoc opt">(</span>processed_id <span class="gtkdoc opt">==</span> pending_id<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert-cmpint">g_assert_cmpint</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-ENTRY-STATUS:CAPS">GST_CLOCK_ENTRY_STATUS</a></span> <span class="gtkdoc opt">(</span>processed_id<span class="gtkdoc opt">), ==,</span> GST_CLOCK_OK<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-id-unref">gst_clock_id_unref</a></span> <span class="gtkdoc opt">(</span>pending_id<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-id-unref">gst_clock_id_unref</a></span> <span class="gtkdoc opt">(</span>processed_id<span class="gtkdoc opt">);</span>
+
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Validate that element produced an output buffer and check its timestamp</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert-cmpint">g_assert_cmpint</a></span> <span class="gtkdoc opt">(</span><span class="function">get_number_of_output_buffer</span> <span class="gtkdoc opt">(...), ==,</span> <span class="number">1</span><span class="gtkdoc opt">);</span>
+buf <span class="gtkdoc opt">=</span> <span class="function">get_buffer_pushed_by_element</span> <span class="gtkdoc opt">(</span>element<span class="gtkdoc opt">, ...);</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert-cmpint">g_assert_cmpint</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GST-BUFFER-TIMESTAMP:CAPS">GST_BUFFER_TIMESTAMP</a></span> <span class="gtkdoc opt">(</span>buf<span class="gtkdoc opt">), ==,</span>
+ <span class="number">10</span> <span class="gtkdoc opt">*</span> GST_SECOND <span class="gtkdoc opt">+</span> latency <span class="gtkdoc opt">+</span> <span class="number">7</span> <span class="gtkdoc opt">*</span> GST_MSECOND<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#gst-buffer-unref">gst_buffer_unref</a></span> <span class="gtkdoc opt">(</span>buf<span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#GST-INFO:CAPS">GST_INFO</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Check that element does not wait for any clock notification</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">);</span>
+<span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert">g_assert</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#gst-test-clock-peek-next-pending-id">gst_test_clock_peek_next_pending_id</a></span> <span class="gtkdoc opt">(</span>test_clock<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">) ==</span> FALSE<span class="gtkdoc opt">);</span>
+<span class="gtkdoc opt">...</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+</div>
+<p><br class="example-break">
+</p>
+<p>
+Since <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> is only supposed to be used in unit tests it calls
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert"><code class="function">g_assert()</code></a>, <a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert-cmpint"><code class="function">g_assert_cmpint()</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Testing.html#g-assert-cmpuint"><code class="function">g_assert_cmpuint()</code></a> to validate all function
+arguments. This will highlight any issues with the unit test code itself.
+</p>
+</div>
+<div class="refsect1">
+<a name="GstTestClock.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="GstTestClock-struct"></a><h3>struct GstTestClock</h3>
+<pre class="programlisting">struct GstTestClock;</pre>
+<p>
+A <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> structure which is based on a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a> along with some
+private data.
+</p>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstTestClockClass"></a><h3>struct GstTestClockClass</h3>
+<pre class="programlisting">struct GstTestClockClass {
+ GstClockClass parent_class;
+};
+</pre>
+<p>
+The class of a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a>, which has no virtual methods to override.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockClass"><span class="type">GstClockClass</span></a> <em class="structfield"><code><a name="GstTestClockClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td>the parent class structure</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-new"></a><h3>gst_test_clock_new ()</h3>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> * gst_test_clock_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+Creates a new test clock with its time set to zero.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> cast to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-new-with-start-time"></a><h3>gst_test_clock_new_with_start_time ()</h3>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="returnvalue">GstClock</span></a> * gst_test_clock_new_with_start_time (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> start_time</code></em>);</pre>
+<p>
+Creates a new test clock with its time set to the specified time.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>start_time</code></em> :</span></p></td>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> set to the desired start time of the clock.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> cast to <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-set-time"></a><h3>gst_test_clock_set_time ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_test_clock_set_time (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> new_time</code></em>);</pre>
+<p>
+Sets the time of <em class="parameter"><code>test_clock</code></em> to the time given by <em class="parameter"><code>new_time</code></em>. The time of
+<em class="parameter"><code>test_clock</code></em> is monotonically increasing, therefore providing a <em class="parameter"><code>new_time</code></em>
+which is earlier or equal to the time of the clock as given by
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-get-time"><code class="function">gst_clock_get_time()</code></a> is a programming error.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>test_clock</code></em> :</span></p></td>
+<td>a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> of which to set the time</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>new_time</code></em> :</span></p></td>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> later than that returned by <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#gst-clock-get-time"><code class="function">gst_clock_get_time()</code></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-advance-time"></a><h3>gst_test_clock_advance_time ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_test_clock_advance_time (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> delta</code></em>);</pre>
+<p>
+Advances the time of the <em class="parameter"><code>test_clock</code></em> by the amount given by <em class="parameter"><code>delta</code></em>. The
+time of <em class="parameter"><code>test_clock</code></em> is monotonically increasing, therefore providing a
+<em class="parameter"><code>delta</code></em> which is negative or zero is a programming error.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>test_clock</code></em> :</span></p></td>
+<td>a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> for which to increase the time</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>delta</code></em> :</span></p></td>
+<td>a positive <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> to be added to the time of the clock</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-peek-id-count"></a><h3>gst_test_clock_peek_id_count ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_test_clock_peek_id_count (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>);</pre>
+<p>
+Determine the number of pending clock notifications that have been
+requested from the <em class="parameter"><code>test_clock</code></em>.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>test_clock</code></em> :</span></p></td>
+<td>a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> for which to count notifications</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the number of pending clock notifications.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-has-id"></a><h3>gst_test_clock_has_id ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_test_clock_has_id (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="type">GstClockID</span></a> id</code></em>);</pre>
+<p>
+Checks whether <em class="parameter"><code>test_clock</code></em> was requested to provide the clock notification
+given by <em class="parameter"><code>id</code></em>.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>test_clock</code></em> :</span></p></td>
+<td>a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> to ask if it provided the notification</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="type">GstClockID</span></a> clock notification. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the clock has been asked to provide the given clock
+notification, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-peek-next-pending-id"></a><h3>gst_test_clock_peek_next_pending_id ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_test_clock_peek_next_pending_id (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="type">GstClockID</span></a> *pending_id</code></em>);</pre>
+<p>
+Determines if the <em class="parameter"><code>pending_id</code></em> is the next clock notification scheduled to
+be triggered given the current time of the <em class="parameter"><code>test_clock</code></em>.
+</p>
+<p>
+MT safe.
+</p>
+<p>
+Return: <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>pending_id</code></em> is the next clock notification to be
+triggered, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>test_clock</code></em> :</span></p></td>
+<td>a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> to check the clock notifications for</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>pending_id</code></em> :</span></p></td>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="type">GstClockID</span></a> clock
+notification to look for. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-wait-for-next-pending-id"></a><h3>gst_test_clock_wait_for_next_pending_id ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_test_clock_wait_for_next_pending_id
+ (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="type">GstClockID</span></a> *pending_id</code></em>);</pre>
+<p>
+Waits until a clock notification is requested from <em class="parameter"><code>test_clock</code></em>. There is no
+timeout for this wait, see the main description of <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a>. A reference
+to the pending clock notification is stored in <em class="parameter"><code>pending_id</code></em>.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>test_clock</code></em> :</span></p></td>
+<td>
+<a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> for which to get the pending clock notification</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>pending_id</code></em> :</span></p></td>
+<td>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="type">GstClockID</span></a>
+with information about the pending clock notification. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-wait-for-pending-id-count"></a><h3>gst_test_clock_wait_for_pending_id_count ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_test_clock_wait_for_pending_id_count
+ (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);</pre>
+<p>
+Blocks until at least <em class="parameter"><code>count</code></em> clock notifications have been requested from
+<em class="parameter"><code>test_clock</code></em>. There is no timeout for this wait, see the main description of
+<a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a>.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>test_clock</code></em> :</span></p></td>
+<td>
+<a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> for which to await having enough pending clock</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
+<td>the number of pending clock notifications to wait for</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-process-next-clock-id"></a><h3>gst_test_clock_process_next_clock_id ()</h3>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="returnvalue">GstClockID</span></a> gst_test_clock_process_next_clock_id
+ (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>);</pre>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>test_clock</code></em> :</span></p></td>
+<td>a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> for which to retrive the next pending clock
+notification</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockID"><span class="type">GstClockID</span></a> containing the next pending clock
+notification. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-test-clock-get-next-entry-time"></a><h3>gst_test_clock_get_next_entry_time ()</h3>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a> gst_test_clock_get_next_entry_time (<em class="parameter"><code><a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> *test_clock</code></em>);</pre>
+<p>
+Retrieve the requested time for the next pending clock notification.
+</p>
+<p>
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>test_clock</code></em> :</span></p></td>
+<td>a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> to fetch the next clock notification time for</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> set to the time of the next pending clock
+notification. If no clock notifications have been requested
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><code class="literal">GST_CLOCK_TIME_NONE</code></a> will be returned.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="GstTestClock.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstTestClock--start-time"></a><h3>The <code class="literal">"start-time"</code> property</h3>
+<pre class="programlisting"> "start-time" <span class="type">guint64</span> : Read / Write / Construct Only</pre>
+<p>
+When a <a class="link" href="GstTestClock.html" title="GstTestClock"><span class="type">GstTestClock</span></a> is constructed it will have a certain start time set.
+If the clock was created using <a class="link" href="GstTestClock.html#gst-test-clock-new-with-start-time" title="gst_test_clock_new_with_start_time ()"><code class="function">gst_test_clock_new_with_start_time()</code></a> then
+this property contains the value of the <em class="parameter"><code>start_time</code></em> argument. If
+<a class="link" href="GstTestClock.html#gst-test-clock-new" title="gst_test_clock_new ()"><code class="function">gst_test_clock_new()</code></a> was called the clock started at time zero, and thus
+this property contains the value 0.
+</p>
+<p>Default value: 0</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="GstTestClock.see-also"></a><h2>See Also</h2>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSystemClock.html"><span class="type">GstSystemClock</span></a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html"><span class="type">GstClock</span></a>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/libs/html/GstTimedValueControlSource.html b/docs/libs/html/GstTimedValueControlSource.html
index 42a9159..dbe52ab 100644
--- a/docs/libs/html/GstTimedValueControlSource.html
+++ b/docs/libs/html/GstTimedValueControlSource.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTimedValueControlSource</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
<link rel="prev" href="gstreamer-libs-GstDirectControlBinding.html" title="GstDirectControlBinding">
@@ -113,8 +113,11 @@ timestamp or no values exist, <a href="http://library.gnome.org/devel/glib/unsta
<p>
For use in control source implementations.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
@@ -141,8 +144,11 @@ For use in control source implementations.
<p>
Set the value of given controller-handled property at a certain time.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
@@ -172,8 +178,11 @@ Set the value of given controller-handled property at a certain time.
<p>
Sets multiple timed values at once.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
@@ -201,8 +210,11 @@ with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer
Returns a read-only copy of the list of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html#GstTimedValue"><span class="type">GstTimedValue</span></a> for the given property.
Free the list after done with it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
@@ -227,8 +239,11 @@ of the list, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Stand
Used to remove the value of given controller-handled property at a certain
time.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
@@ -253,8 +268,11 @@ time.
<p>
Used to remove all time-stamped values of given controller-handled property
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
<td>the <a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a> object</td>
@@ -269,8 +287,11 @@ Used to remove all time-stamped values of given controller-handled property
<p>
Get the number of control points that are set.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
@@ -291,8 +312,11 @@ Get the number of control points that are set.
<p>
Reset the controlled value cache.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
<td>the <a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource"><span class="type">GstTimedValueControlSource</span></a>
diff --git a/docs/libs/html/GstTriggerControlSource.html b/docs/libs/html/GstTriggerControlSource.html
index 86e4975..33329d3 100644
--- a/docs/libs/html/GstTriggerControlSource.html
+++ b/docs/libs/html/GstTriggerControlSource.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTriggerControlSource</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
<link rel="prev" href="GstLFOControlSource.html" title="GstLFOControlSource">
@@ -96,8 +96,11 @@ The instance structure of <a href="http://gstreamer.freedesktop.org/data/doc/gst
<p>
This returns a new, unbound <a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource"><span class="type">GstTriggerControlSource</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new, unbound <a class="link" href="GstTriggerControlSource.html" title="GstTriggerControlSource"><span class="type">GstTriggerControlSource</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
diff --git a/docs/libs/html/annotation-glossary.html b/docs/libs/html/annotation-glossary.html
index b55e929..0d1abd7 100644
--- a/docs/libs/html/annotation-glossary.html
+++ b/docs/libs/html/annotation-glossary.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Annotation Glossary</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="prev" href="api-index-deprecated.html" title="Index of deprecated API">
@@ -42,51 +42,40 @@
</td></tr>
</table>
<div class="glossary">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="annotation-glossary"></a>Annotation Glossary</h2></div></div></div>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
<a name="glsO"></a><h3 class="title">O</h3>
-<dt>
-<a name="annotation-glossterm-out"></a>out</dt>
-<dd><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-out"></a>out</span></dt>
+<dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
<a name="glsA"></a><h3 class="title">A</h3>
-<dt>
-<a name="annotation-glossterm-allow-none"></a>allow-none</dt>
-<dd><p>NULL is ok, both for passing and for returning.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-allow-none"></a>allow-none</span></dt>
+<dd class="glossdef"><p>NULL is ok, both for passing and for returning.</p></dd>
<a name="glsC"></a><h3 class="title">C</h3>
-<dt>
-<a name="annotation-glossterm-closure"></a>closure</dt>
-<dd><p>This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-closure"></a>closure</span></dt>
+<dd class="glossdef"><p>This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.</p></dd>
<a name="glsT"></a><h3 class="title">T</h3>
-<dt>
-<a name="annotation-glossterm-transfer%20none"></a>transfer none</dt>
-<dd><p>Don't free data after the code is done.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20none"></a>transfer none</span></dt>
+<dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
<a name="glsA"></a><h3 class="title">A</h3>
-<dt>
-<a name="annotation-glossterm-array"></a>array</dt>
-<dd><p>Parameter points to an array of items.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-array"></a>array</span></dt>
+<dd class="glossdef"><p>Parameter points to an array of items.</p></dd>
<a name="glsE"></a><h3 class="title">E</h3>
-<dt>
-<a name="annotation-glossterm-element-type"></a>element-type</dt>
-<dd><p>Generics and defining elements of containers and arrays.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt>
+<dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd>
<a name="glsT"></a><h3 class="title">T</h3>
-<dt>
-<a name="annotation-glossterm-transfer%20container"></a>transfer container</dt>
-<dd><p>Free data container after the code is done.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20container"></a>transfer container</span></dt>
+<dd class="glossdef"><p>Free data container after the code is done.</p></dd>
<a name="glsI"></a><h3 class="title">I</h3>
-<dt>
-<a name="annotation-glossterm-in"></a>in</dt>
-<dd><p>Parameter for input. Default is <acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-in"></a>in</span></dt>
+<dd class="glossdef"><p>Parameter for input. Default is <acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>.</p></dd>
<a name="glsS"></a><h3 class="title">S</h3>
-<dt>
-<a name="annotation-glossterm-scope%20call"></a>scope call</dt>
-<dd><p>The callback is valid only during the call to the method.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-scope%20call"></a>scope call</span></dt>
+<dd class="glossdef"><p>The callback is valid only during the call to the method.</p></dd>
<a name="glsT"></a><h3 class="title">T</h3>
-<dt>
-<a name="annotation-glossterm-transfer%20full"></a>transfer full</dt>
-<dd><p>Free data after the code is done.</p></dd>
-<dt>
-<a name="annotation-glossterm-type"></a>type</dt>
-<dd><p>Override the parsed C type with given type</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20full"></a>transfer full</span></dt>
+<dd class="glossdef"><p>Free data after the code is done.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-type"></a>type</span></dt>
+<dd class="glossdef"><p>Override the parsed C type with given type</p></dd>
</div>
<div class="footer">
<hr>
diff --git a/docs/libs/html/api-index-deprecated.html b/docs/libs/html/api-index-deprecated.html
index 36e79ce..7eb345b 100644
--- a/docs/libs/html/api-index-deprecated.html
+++ b/docs/libs/html/api-index-deprecated.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index of deprecated API</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="prev" href="api-index-full.html" title="API Index">
@@ -20,8 +20,8 @@
<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-deprecated"></a>Index of deprecated API</h2></div></div></div>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-deprecated"></a>Index of deprecated API</h1></div></div></div>
<a name="idx"></a>
</div>
<div class="footer">
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index e90c739..f98bef7 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>API Index</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="prev" href="gstreamer-hierarchy.html" title="Object Hierarchy">
@@ -41,14 +41,16 @@
 | 
<a class="shortcut" href="#idxP">P</a>
 | 
+ <a class="shortcut" href="#idxQ">Q</a>
+  | 
<a class="shortcut" href="#idxS">S</a>
 | 
<a class="shortcut" href="#idxT">T</a>
</td></tr>
</table>
<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-full"></a>API Index</h2></div></div></div>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-full"></a>API Index</h1></div></div></div>
<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
<dt>
<a class="link" href="GstAdapter.html#GstAdapter-struct" title="GstAdapter">GstAdapter</a>, struct in <a class="link" href="GstAdapter.html" title="GstAdapter">GstAdapter</a>
@@ -147,6 +149,18 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-libs-GstCheck.html#assert-equals-int64-hex" title="assert_equals_int64_hex()">assert_equals_int64_hex</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstCheck.html#assert-equals-int-hex" title="assert_equals_int_hex()">assert_equals_int_hex</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstCheck.html#assert-equals-pointer" title="assert_equals_pointer()">assert_equals_pointer</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-libs-GstCheck.html#assert-equals-string" title="assert_equals_string()">assert_equals_string</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
</dt>
<dd></dd>
@@ -155,6 +169,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-libs-GstCheck.html#assert-equals-uint64-hex" title="assert_equals_uint64_hex()">assert_equals_uint64_hex</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-libs-GstCheck.html#assert-message-error" title="assert_message_error()">assert_message_error</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
</dt>
<dd></dd>
@@ -216,6 +234,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="GstBaseSink.html#GstBaseSink--max-bitrate" title='The "max-bitrate" property'>GstBaseSink:max-bitrate</a>, object property in <a class="link" href="GstBaseSink.html" title="GstBaseSink">GstBaseSink</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="GstBaseSink.html#GstBaseSink--max-lateness" title='The "max-lateness" property'>GstBaseSink:max-lateness</a>, object property in <a class="link" href="GstBaseSink.html" title="GstBaseSink">GstBaseSink</a>
</dt>
<dd></dd>
@@ -1537,6 +1559,14 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-events" title="gst_check_setup_events ()">gst_check_setup_events</a>, function in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-events-with-stream-id" title="gst_check_setup_events_with_stream_id ()">gst_check_setup_events_with_stream_id</a>, function in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-sink-pad" title="gst_check_setup_sink_pad ()">gst_check_setup_sink_pad</a>, function in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
</dt>
<dd></dd>
@@ -1718,6 +1748,70 @@
<dd></dd>
<a name="idxD"></a><h3 class="title">D</h3>
<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue">GstDataQueue</a>, struct in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueCheckFullFunction" title="GstDataQueueCheckFullFunction ()">GstDataQueueCheckFullFunction</a>, user_function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueEmptyCallback" title="GstDataQueueEmptyCallback ()">GstDataQueueEmptyCallback</a>, user_function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueFullCallback" title="GstDataQueueFullCallback ()">GstDataQueueFullCallback</a>, user_function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem">GstDataQueueItem</a>, struct in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueSize" title="struct GstDataQueueSize">GstDataQueueSize</a>, struct in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-drop-head" title="gst_data_queue_drop_head ()">gst_data_queue_drop_head</a>, function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-flush" title="gst_data_queue_flush ()">gst_data_queue_flush</a>, function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-get-level" title="gst_data_queue_get_level ()">gst_data_queue_get_level</a>, function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-is-empty" title="gst_data_queue_is_empty ()">gst_data_queue_is_empty</a>, function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-is-full" title="gst_data_queue_is_full ()">gst_data_queue_is_full</a>, function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-limits-changed" title="gst_data_queue_limits_changed ()">gst_data_queue_limits_changed</a>, function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-new" title="gst_data_queue_new ()">gst_data_queue_new</a>, function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-pop" title="gst_data_queue_pop ()">gst_data_queue_pop</a>, function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-push" title="gst_data_queue_push ()">gst_data_queue_push</a>, function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-set-flushing" title="gst_data_queue_set_flushing ()">gst_data_queue_set_flushing</a>, function in <a class="link" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">GstDataQueue</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-libs-GstDirectControlBinding.html#gst-direct-control-binding-new" title="gst_direct_control_binding_new ()">gst_direct_control_binding_new</a>, function in <a class="link" href="gstreamer-libs-GstDirectControlBinding.html" title="GstDirectControlBinding">GstDirectControlBinding</a>
</dt>
<dd></dd>
@@ -1740,6 +1834,18 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-equals-int64-hex" title="fail_unless_equals_int64_hex()">fail_unless_equals_int64_hex</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-equals-int-hex" title="fail_unless_equals_int_hex()">fail_unless_equals_int_hex</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-equals-pointer" title="fail_unless_equals_pointer()">fail_unless_equals_pointer</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-equals-string" title="fail_unless_equals_string()">fail_unless_equals_string</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
</dt>
<dd></dd>
@@ -1748,6 +1854,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-equals-uint64-hex" title="fail_unless_equals_uint64_hex()">fail_unless_equals_uint64_hex</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-message-error" title="fail_unless_message_error()">fail_unless_message_error</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
</dt>
<dd></dd>
@@ -1871,6 +1981,47 @@
<a class="link" href="GstPushSrc.html#GstPushSrc-struct" title="struct GstPushSrc">GstPushSrc</a>, struct in <a class="link" href="GstPushSrc.html" title="GstPushSrc">GstPushSrc</a>
</dt>
<dd></dd>
+<a name="idxQ"></a><h3 class="title">Q</h3>
+<dt>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray">GstQueueArray</a>, struct in <a class="link" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">GstQueueArray</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-drop-element" title="gst_queue_array_drop_element ()">gst_queue_array_drop_element</a>, function in <a class="link" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">GstQueueArray</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-find" title="gst_queue_array_find ()">gst_queue_array_find</a>, function in <a class="link" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">GstQueueArray</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-free" title="gst_queue_array_free ()">gst_queue_array_free</a>, function in <a class="link" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">GstQueueArray</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-get-length" title="gst_queue_array_get_length ()">gst_queue_array_get_length</a>, function in <a class="link" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">GstQueueArray</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-is-empty" title="gst_queue_array_is_empty ()">gst_queue_array_is_empty</a>, function in <a class="link" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">GstQueueArray</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-new" title="gst_queue_array_new ()">gst_queue_array_new</a>, function in <a class="link" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">GstQueueArray</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-peek-head" title="gst_queue_array_peek_head ()">gst_queue_array_peek_head</a>, function in <a class="link" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">GstQueueArray</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-pop-head" title="gst_queue_array_pop_head ()">gst_queue_array_pop_head</a>, function in <a class="link" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">GstQueueArray</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-push-tail" title="gst_queue_array_push_tail ()">gst_queue_array_push_tail</a>, function in <a class="link" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">GstQueueArray</a>
+</dt>
+<dd></dd>
<a name="idxS"></a><h3 class="title">S</h3>
<dt>
<a class="link" href="gstreamer-libs-GstCheck.html#GST-START-TEST:CAPS" title="GST_START_TEST()">GST_START_TEST</a>, macro in <a class="link" href="gstreamer-libs-GstCheck.html" title="GstCheck">GstCheck</a>
@@ -1882,6 +2033,62 @@
<dd></dd>
<a name="idxT"></a><h3 class="title">T</h3>
<dt>
+<a class="link" href="GstTestClock.html#GstTestClock-struct" title="struct GstTestClock">GstTestClock</a>, struct in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#GstTestClock--start-time" title='The "start-time" property'>GstTestClock:start-time</a>, object property in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#GstTestClockClass" title="struct GstTestClockClass">GstTestClockClass</a>, struct in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-advance-time" title="gst_test_clock_advance_time ()">gst_test_clock_advance_time</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-get-next-entry-time" title="gst_test_clock_get_next_entry_time ()">gst_test_clock_get_next_entry_time</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-has-id" title="gst_test_clock_has_id ()">gst_test_clock_has_id</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-new" title="gst_test_clock_new ()">gst_test_clock_new</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-new-with-start-time" title="gst_test_clock_new_with_start_time ()">gst_test_clock_new_with_start_time</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-peek-id-count" title="gst_test_clock_peek_id_count ()">gst_test_clock_peek_id_count</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-peek-next-pending-id" title="gst_test_clock_peek_next_pending_id ()">gst_test_clock_peek_next_pending_id</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-process-next-clock-id" title="gst_test_clock_process_next_clock_id ()">gst_test_clock_process_next_clock_id</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-set-time" title="gst_test_clock_set_time ()">gst_test_clock_set_time</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-wait-for-next-pending-id" title="gst_test_clock_wait_for_next_pending_id ()">gst_test_clock_wait_for_next_pending_id</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GstTestClock.html#gst-test-clock-wait-for-pending-id-count" title="gst_test_clock_wait_for_pending_id_count ()">gst_test_clock_wait_for_pending_id_count</a>, function in <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="GstTimedValueControlSource.html#GstTimedValueControlSource-struct" title="struct GstTimedValueControlSource">GstTimedValueControlSource</a>, struct in <a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">GstTimedValueControlSource</a>
</dt>
<dd></dd>
diff --git a/docs/libs/html/gstreamer-base.html b/docs/libs/html/gstreamer-base.html
index 0738a4c..dd8deee 100644
--- a/docs/libs/html/gstreamer-base.html
+++ b/docs/libs/html/gstreamer-base.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Base and Utillity Classes</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
<link rel="prev" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
@@ -22,7 +22,7 @@
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="gstreamer-base"></a>GStreamer Base and Utillity Classes</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt>
<span class="refentrytitle"><a href="gstreamer-libs-GstBaseParse.html">GstBaseParse</a></span><span class="refpurpose"> — Base class for stream parsers</span>
</dt>
@@ -58,6 +58,12 @@
<dt>
<span class="refentrytitle"><a href="gstreamer-libs-GstTypeFindHelper.html">GstTypeFindHelper</a></span><span class="refpurpose"> — Utility functions for typefinding</span>
</dt>
+<dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstDataQueue.html">GstDataQueue</a></span><span class="refpurpose"> — Threadsafe queueing object</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstQueueArray.html">GstQueueArray</a></span><span class="refpurpose"> — Array based queue object</span>
+</dt>
</dl></div>
<p>
libgstbase-1.0.so provides some base classes to be extended
diff --git a/docs/libs/html/gstreamer-check.html b/docs/libs/html/gstreamer-check.html
index c15f61c..460be7d 100644
--- a/docs/libs/html/gstreamer-check.html
+++ b/docs/libs/html/gstreamer-check.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Check Unit Testing</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
<link rel="prev" href="GstNetTimeProvider.html" title="GstNetTimeProvider">
@@ -22,7 +22,7 @@
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="gstreamer-check"></a>GStreamer Check Unit Testing</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt>
<span class="refentrytitle"><a href="gstreamer-libs-GstCheck.html">GstCheck</a></span><span class="refpurpose"> — Common code for GStreamer unit tests</span>
</dt>
@@ -32,6 +32,9 @@
<dt>
<span class="refentrytitle"><a href="gstreamer-libs-GstStreamConsistency.html">GstStreamConsistency</a></span><span class="refpurpose"> — Data flow consistency checker for GStreamer unit tests.</span>
</dt>
+<dt>
+<span class="refentrytitle"><a href="GstTestClock.html">GstTestClock</a></span><span class="refpurpose"> — Controllable, deterministic clock for GStreamer unit tests</span>
+</dt>
</dl></div>
<p>
libgstcheck-1.0.so provides functionality for writing
diff --git a/docs/libs/html/gstreamer-control.html b/docs/libs/html/gstreamer-control.html
index 2f3a72c..f576f16 100644
--- a/docs/libs/html/gstreamer-control.html
+++ b/docs/libs/html/gstreamer-control.html
@@ -3,17 +3,17 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Dynamic Parameter Control</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
-<link rel="prev" href="gstreamer-libs-GstTypeFindHelper.html" title="GstTypeFindHelper">
+<link rel="prev" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">
<link rel="next" href="gstreamer-libs-GstARGBControlBinding.html" title="GstARGBControlBinding">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="gstreamer-libs-GstTypeFindHelper.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gstreamer-libs-GstQueueArray.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="gstreamer-libs.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer 1.0 Library Reference Manual</th>
@@ -22,7 +22,7 @@
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="gstreamer-control"></a>GStreamer Dynamic Parameter Control</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt>
<span class="refentrytitle"><a href="gstreamer-libs-GstARGBControlBinding.html">GstARGBControlBinding</a></span><span class="refpurpose"> — attachment for control sources to argb properties</span>
</dt>
diff --git a/docs/libs/html/gstreamer-hierarchy.html b/docs/libs/html/gstreamer-hierarchy.html
index 144cbbe..3aebd8d 100644
--- a/docs/libs/html/gstreamer-hierarchy.html
+++ b/docs/libs/html/gstreamer-hierarchy.html
@@ -3,25 +3,25 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Object Hierarchy</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Library Reference Manual">
-<link rel="prev" href="gstreamer-libs-GstStreamConsistency.html" title="GstStreamConsistency">
+<link rel="prev" href="GstTestClock.html" title="GstTestClock">
<link rel="next" href="api-index-full.html" title="API Index">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="gstreamer-libs-GstStreamConsistency.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="GstTestClock.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td> </td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer 1.0 Library Reference Manual</th>
<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="gstreamer-hierarchy"></a>Object Hierarchy</h2></div></div></div>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="gstreamer-hierarchy"></a>Object Hierarchy</h1></div></div></div>
<pre class="screen">
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
@@ -34,6 +34,7 @@
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html">GstClock</a>
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSystemClock.html">GstSystemClock</a>
<a class="link" href="GstNetClientClock.html" title="GstNetClientClock">GstNetClientClock</a>
+ <a class="link" href="GstTestClock.html" title="GstTestClock">GstTestClock</a>
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html">GstControlSource</a>
<a class="link" href="GstTimedValueControlSource.html" title="GstTimedValueControlSource">GstTimedValueControlSource</a>
<a class="link" href="GstInterpolationControlSource.html" title="GstInterpolationControlSource">GstInterpolationControlSource</a>
diff --git a/docs/libs/html/gstreamer-libs.devhelp2 b/docs/libs/html/gstreamer-libs-1.0.devhelp2
index 5e02baf..cf343de 100644
--- a/docs/libs/html/gstreamer-libs.devhelp2
+++ b/docs/libs/html/gstreamer-libs-1.0.devhelp2
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
-<book xmlns="http://www.devhelp.net/book" title="GStreamer 1.0 Library Reference Manual" link="index.html" author="" name="gstreamer-libs" version="2" language="c">
+<book xmlns="http://www.devhelp.net/book" title="GStreamer 1.0 Library Reference Manual" link="index.html" author="" name="gstreamer-libs-1.0" version="2" language="c">
<chapters>
<sub name="GStreamer Libraries" link="gstreamer-libs.html">
<sub name="GStreamer Base and Utillity Classes" link="gstreamer-base.html">
@@ -15,6 +15,8 @@
<sub name="GstByteWriter" link="gstreamer-libs-GstByteWriter.html"/>
<sub name="GstCollectPads" link="GstCollectPads.html"/>
<sub name="GstTypeFindHelper" link="gstreamer-libs-GstTypeFindHelper.html"/>
+ <sub name="GstDataQueue" link="gstreamer-libs-GstDataQueue.html"/>
+ <sub name="GstQueueArray" link="gstreamer-libs-GstQueueArray.html"/>
</sub>
<sub name="GStreamer Dynamic Parameter Control" link="gstreamer-control.html">
<sub name="GstARGBControlBinding" link="gstreamer-libs-GstARGBControlBinding.html"/>
@@ -33,6 +35,7 @@
<sub name="GstCheck" link="gstreamer-libs-GstCheck.html"/>
<sub name="GstBufferStraw" link="gstreamer-libs-GstBufferStraw.html"/>
<sub name="GstStreamConsistency" link="gstreamer-libs-GstStreamConsistency.html"/>
+ <sub name="GstTestClock" link="GstTestClock.html"/>
</sub>
</sub>
<sub name="Object Hierarchy" link="gstreamer-hierarchy.html"/>
@@ -67,7 +70,7 @@
<keyword type="macro" name="GST_BASE_PARSE_LOST_SYNC()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-LOST-SYNC:CAPS"/>
<keyword type="macro" name="GST_BASE_PARSE_SINK_PAD()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-SINK-PAD:CAPS"/>
<keyword type="macro" name="GST_BASE_PARSE_SRC_PAD()" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-SRC-PAD:CAPS"/>
- <keyword type="" name="Controlled shutdown of live sources in applications" link="GstBaseSrc.html#idp8146128"/>
+ <keyword type="" name="Controlled shutdown of live sources in applications" link="GstBaseSrc.html#idp6538368"/>
<keyword type="struct" name="struct GstBaseSrc" link="GstBaseSrc.html#GstBaseSrc-struct"/>
<keyword type="struct" name="struct GstBaseSrcClass" link="GstBaseSrc.html#GstBaseSrcClass"/>
<keyword type="enum" name="enum GstBaseSrcFlags" link="GstBaseSrc.html#GstBaseSrcFlags"/>
@@ -127,14 +130,15 @@
<keyword type="property" name="The &quot;blocksize&quot; property" link="GstBaseSink.html#GstBaseSink--blocksize"/>
<keyword type="property" name="The &quot;enable-last-sample&quot; property" link="GstBaseSink.html#GstBaseSink--enable-last-sample"/>
<keyword type="property" name="The &quot;last-sample&quot; property" link="GstBaseSink.html#GstBaseSink--last-sample"/>
+ <keyword type="property" name="The &quot;max-bitrate&quot; property" link="GstBaseSink.html#GstBaseSink--max-bitrate"/>
<keyword type="property" name="The &quot;max-lateness&quot; property" link="GstBaseSink.html#GstBaseSink--max-lateness"/>
<keyword type="property" name="The &quot;qos&quot; property" link="GstBaseSink.html#GstBaseSink--qos"/>
<keyword type="property" name="The &quot;render-delay&quot; property" link="GstBaseSink.html#GstBaseSink--render-delay"/>
<keyword type="property" name="The &quot;sync&quot; property" link="GstBaseSink.html#GstBaseSink--sync"/>
<keyword type="property" name="The &quot;throttle-time&quot; property" link="GstBaseSink.html#GstBaseSink--throttle-time"/>
<keyword type="property" name="The &quot;ts-offset&quot; property" link="GstBaseSink.html#GstBaseSink--ts-offset"/>
- <keyword type="" name="Use Cases" link="GstBaseTransform.html#idp8789696"/>
- <keyword type="" name="Sub-class settable flags on GstBaseTransform" link="GstBaseTransform.html#idp5740896"/>
+ <keyword type="" name="Use Cases" link="GstBaseTransform.html#idp6953552"/>
+ <keyword type="" name="Sub-class settable flags on GstBaseTransform" link="GstBaseTransform.html#idp5222304"/>
<keyword type="struct" name="struct GstBaseTransform" link="GstBaseTransform.html#GstBaseTransform-struct"/>
<keyword type="struct" name="struct GstBaseTransformClass" link="GstBaseTransform.html#GstBaseTransformClass"/>
<keyword type="function" name="gst_base_transform_is_passthrough ()" link="GstBaseTransform.html#gst-base-transform-is-passthrough"/>
@@ -429,6 +433,32 @@
<keyword type="function" name="gst_type_find_helper_for_data ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-data"/>
<keyword type="function" name="GstTypeFindHelperGetRangeFunction ()" link="gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction"/>
<keyword type="function" name="gst_type_find_helper_get_range ()" link="gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-get-range"/>
+ <keyword type="struct" name="struct GstDataQueue" link="gstreamer-libs-GstDataQueue.html#GstDataQueue"/>
+ <keyword type="struct" name="struct GstDataQueueSize" link="gstreamer-libs-GstDataQueue.html#GstDataQueueSize"/>
+ <keyword type="function" name="GstDataQueueCheckFullFunction ()" link="gstreamer-libs-GstDataQueue.html#GstDataQueueCheckFullFunction"/>
+ <keyword type="struct" name="struct GstDataQueueItem" link="gstreamer-libs-GstDataQueue.html#GstDataQueueItem"/>
+ <keyword type="function" name="GstDataQueueEmptyCallback ()" link="gstreamer-libs-GstDataQueue.html#GstDataQueueEmptyCallback"/>
+ <keyword type="function" name="GstDataQueueFullCallback ()" link="gstreamer-libs-GstDataQueue.html#GstDataQueueFullCallback"/>
+ <keyword type="function" name="gst_data_queue_new ()" link="gstreamer-libs-GstDataQueue.html#gst-data-queue-new" since="1.2.0"/>
+ <keyword type="function" name="gst_data_queue_push ()" link="gstreamer-libs-GstDataQueue.html#gst-data-queue-push" since="1.2.0"/>
+ <keyword type="function" name="gst_data_queue_pop ()" link="gstreamer-libs-GstDataQueue.html#gst-data-queue-pop" since="1.2.0"/>
+ <keyword type="function" name="gst_data_queue_flush ()" link="gstreamer-libs-GstDataQueue.html#gst-data-queue-flush" since="1.2.0"/>
+ <keyword type="function" name="gst_data_queue_set_flushing ()" link="gstreamer-libs-GstDataQueue.html#gst-data-queue-set-flushing" since="1.2.0"/>
+ <keyword type="function" name="gst_data_queue_drop_head ()" link="gstreamer-libs-GstDataQueue.html#gst-data-queue-drop-head" since="1.2.0"/>
+ <keyword type="function" name="gst_data_queue_is_full ()" link="gstreamer-libs-GstDataQueue.html#gst-data-queue-is-full" since="1.2.0"/>
+ <keyword type="function" name="gst_data_queue_is_empty ()" link="gstreamer-libs-GstDataQueue.html#gst-data-queue-is-empty" since="1.2.0"/>
+ <keyword type="function" name="gst_data_queue_get_level ()" link="gstreamer-libs-GstDataQueue.html#gst-data-queue-get-level" since="1.2.0"/>
+ <keyword type="function" name="gst_data_queue_limits_changed ()" link="gstreamer-libs-GstDataQueue.html#gst-data-queue-limits-changed" since="1.2.0"/>
+ <keyword type="struct" name="GstQueueArray" link="gstreamer-libs-GstQueueArray.html#GstQueueArray"/>
+ <keyword type="function" name="gst_queue_array_new ()" link="gstreamer-libs-GstQueueArray.html#gst-queue-array-new" since="1.2.0"/>
+ <keyword type="function" name="gst_queue_array_free ()" link="gstreamer-libs-GstQueueArray.html#gst-queue-array-free" since="1.2.0"/>
+ <keyword type="function" name="gst_queue_array_get_length ()" link="gstreamer-libs-GstQueueArray.html#gst-queue-array-get-length" since="1.2.0"/>
+ <keyword type="function" name="gst_queue_array_pop_head ()" link="gstreamer-libs-GstQueueArray.html#gst-queue-array-pop-head" since="1.2.0"/>
+ <keyword type="function" name="gst_queue_array_peek_head ()" link="gstreamer-libs-GstQueueArray.html#gst-queue-array-peek-head"/>
+ <keyword type="function" name="gst_queue_array_push_tail ()" link="gstreamer-libs-GstQueueArray.html#gst-queue-array-push-tail" since="1.2.0"/>
+ <keyword type="function" name="gst_queue_array_is_empty ()" link="gstreamer-libs-GstQueueArray.html#gst-queue-array-is-empty" since="1.2.0"/>
+ <keyword type="function" name="gst_queue_array_drop_element ()" link="gstreamer-libs-GstQueueArray.html#gst-queue-array-drop-element" since="1.2.0"/>
+ <keyword type="function" name="gst_queue_array_find ()" link="gstreamer-libs-GstQueueArray.html#gst-queue-array-find" since="1.2.0"/>
<keyword type="function" name="gst_argb_control_binding_new ()" link="gstreamer-libs-GstARGBControlBinding.html#gst-argb-control-binding-new"/>
<keyword type="function" name="gst_direct_control_binding_new ()" link="gstreamer-libs-GstDirectControlBinding.html#gst-direct-control-binding-new"/>
<keyword type="struct" name="struct GstTimedValueControlSource" link="GstTimedValueControlSource.html#GstTimedValueControlSource-struct"/>
@@ -486,12 +516,20 @@
<keyword type="macro" name="fail_unless_equals_string()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-string"/>
<keyword type="macro" name="fail_unless_equals_uint64()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-uint64"/>
<keyword type="macro" name="fail_unless_equals_int64()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-int64"/>
+ <keyword type="macro" name="fail_unless_equals_int_hex()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-int-hex" since="1.2"/>
+ <keyword type="macro" name="fail_unless_equals_int64_hex()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-int64-hex" since="1.2"/>
+ <keyword type="macro" name="fail_unless_equals_uint64_hex()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-uint64-hex" since="1.2"/>
+ <keyword type="macro" name="fail_unless_equals_pointer()" link="gstreamer-libs-GstCheck.html#fail-unless-equals-pointer" since="1.2"/>
<keyword type="macro" name="fail_unless_message_error()" link="gstreamer-libs-GstCheck.html#fail-unless-message-error"/>
<keyword type="macro" name="assert_equals_int()" link="gstreamer-libs-GstCheck.html#assert-equals-int"/>
<keyword type="macro" name="assert_equals_float()" link="gstreamer-libs-GstCheck.html#assert-equals-float"/>
<keyword type="macro" name="assert_equals_string()" link="gstreamer-libs-GstCheck.html#assert-equals-string"/>
<keyword type="macro" name="assert_equals_uint64()" link="gstreamer-libs-GstCheck.html#assert-equals-uint64"/>
<keyword type="macro" name="assert_equals_int64()" link="gstreamer-libs-GstCheck.html#assert-equals-int64"/>
+ <keyword type="macro" name="assert_equals_int_hex()" link="gstreamer-libs-GstCheck.html#assert-equals-int-hex" since="1.2"/>
+ <keyword type="macro" name="assert_equals_int64_hex()" link="gstreamer-libs-GstCheck.html#assert-equals-int64-hex" since="1.2"/>
+ <keyword type="macro" name="assert_equals_uint64_hex()" link="gstreamer-libs-GstCheck.html#assert-equals-uint64-hex" since="1.2"/>
+ <keyword type="macro" name="assert_equals_pointer()" link="gstreamer-libs-GstCheck.html#assert-equals-pointer" since="1.2"/>
<keyword type="macro" name="assert_message_error()" link="gstreamer-libs-GstCheck.html#assert-message-error"/>
<keyword type="function" name="gst_check_init ()" link="gstreamer-libs-GstCheck.html#gst-check-init"/>
<keyword type="function" name="gst_check_message_error ()" link="gstreamer-libs-GstCheck.html#gst-check-message-error"/>
@@ -510,6 +548,8 @@
<keyword type="function" name="gst_check_element_push_buffer_list ()" link="gstreamer-libs-GstCheck.html#gst-check-element-push-buffer-list"/>
<keyword type="function" name="gst_check_element_push_buffer ()" link="gstreamer-libs-GstCheck.html#gst-check-element-push-buffer"/>
<keyword type="function" name="gst_check_run_suite ()" link="gstreamer-libs-GstCheck.html#gst-check-run-suite"/>
+ <keyword type="function" name="gst_check_setup_events ()" link="gstreamer-libs-GstCheck.html#gst-check-setup-events"/>
+ <keyword type="function" name="gst_check_setup_events_with_stream_id ()" link="gstreamer-libs-GstCheck.html#gst-check-setup-events-with-stream-id"/>
<keyword type="function" name="gst_buffer_straw_start_pipeline ()" link="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline"/>
<keyword type="function" name="gst_buffer_straw_get_buffer ()" link="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-get-buffer"/>
<keyword type="function" name="gst_buffer_straw_stop_pipeline ()" link="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-stop-pipeline"/>
@@ -517,6 +557,20 @@
<keyword type="function" name="gst_consistency_checker_new ()" link="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-new"/>
<keyword type="function" name="gst_consistency_checker_reset ()" link="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-reset"/>
<keyword type="function" name="gst_consistency_checker_free ()" link="gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-free"/>
+ <keyword type="struct" name="struct GstTestClock" link="GstTestClock.html#GstTestClock-struct"/>
+ <keyword type="struct" name="struct GstTestClockClass" link="GstTestClock.html#GstTestClockClass" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_new ()" link="GstTestClock.html#gst-test-clock-new" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_new_with_start_time ()" link="GstTestClock.html#gst-test-clock-new-with-start-time" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_set_time ()" link="GstTestClock.html#gst-test-clock-set-time" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_advance_time ()" link="GstTestClock.html#gst-test-clock-advance-time" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_peek_id_count ()" link="GstTestClock.html#gst-test-clock-peek-id-count" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_has_id ()" link="GstTestClock.html#gst-test-clock-has-id" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_peek_next_pending_id ()" link="GstTestClock.html#gst-test-clock-peek-next-pending-id" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_wait_for_next_pending_id ()" link="GstTestClock.html#gst-test-clock-wait-for-next-pending-id" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_wait_for_pending_id_count ()" link="GstTestClock.html#gst-test-clock-wait-for-pending-id-count" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_process_next_clock_id ()" link="GstTestClock.html#gst-test-clock-process-next-clock-id" since="1.2"/>
+ <keyword type="function" name="gst_test_clock_get_next_entry_time ()" link="GstTestClock.html#gst-test-clock-get-next-entry-time" since="1.2"/>
+ <keyword type="property" name="The &quot;start-time&quot; property" link="GstTestClock.html#GstTestClock--start-time"/>
<keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_NONE" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NONE:CAPS"/>
<keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_NEW_FRAME" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NEW-FRAME:CAPS"/>
<keyword type="constant" name="GST_BASE_PARSE_FRAME_FLAG_NO_FRAME" link="gstreamer-libs-GstBaseParse.html#GST-BASE-PARSE-FRAME-FLAG-NO-FRAME:CAPS"/>
diff --git a/docs/libs/html/gstreamer-libs-GstARGBControlBinding.html b/docs/libs/html/gstreamer-libs-GstARGBControlBinding.html
index beb4720..767b86c 100644
--- a/docs/libs/html/gstreamer-libs-GstARGBControlBinding.html
+++ b/docs/libs/html/gstreamer-libs-GstARGBControlBinding.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstARGBControlBinding</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
<link rel="prev" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
@@ -70,8 +70,11 @@ color component off and a value of 1.0 will be the color level.
Create a new control-binding that attaches the given <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a> to the
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> property.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
diff --git a/docs/libs/html/gstreamer-libs-GstBaseParse.html b/docs/libs/html/gstreamer-libs-GstBaseParse.html
index ad6f454..f41f4d9 100644
--- a/docs/libs/html/gstreamer-libs-GstBaseParse.html
+++ b/docs/libs/html/gstreamer-libs-GstBaseParse.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBaseParse</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
@@ -104,7 +104,7 @@ into separate audio/video/whatever frames.
<p>
It provides for:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>provides one sink pad and one source pad</p></li>
<li class="listitem"><p>handles state changes</p></li>
<li class="listitem"><p>can operate in pull mode or push mode</p></li>
@@ -127,7 +127,7 @@ Description of the parsing mechanism:
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><div class="itemizedlist">
<p class="title"><b>Set-up phase</b></p>
-<ul class="itemizedlist" type="disc">
+<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
GstBaseParse calls <em class="parameter"><code>start</code></em> to inform subclass that data processing is
about to start now.
@@ -151,7 +151,7 @@ Description of the parsing mechanism:
</div></li>
<li class="listitem"><div class="itemizedlist">
<p class="title"><b>Parsing phase</b></p>
-<ul class="itemizedlist" type="disc">
+<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
GstBaseParse gathers at least min_frame_size bytes of data either
by pulling it from upstream or collecting buffers in an internal
@@ -209,7 +209,7 @@ Description of the parsing mechanism:
</div></li>
<li class="listitem"><div class="itemizedlist">
<p class="title"><b>Shutdown phase</b></p>
-<ul class="itemizedlist" type="disc"><li class="listitem"><p>
+<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
GstBaseParse class calls <em class="parameter"><code>stop</code></em> to inform the subclass that data
parsing will be stopped.
</p></li></ul>
@@ -240,7 +240,7 @@ and end of data processing.
<p>
Things that subclass need to take care of:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>Provide pad templates</p></li>
<li class="listitem"><p>
Fixate the source pad caps when appropriate
@@ -292,8 +292,11 @@ Things that subclass need to take care of:
<p>
The opaque <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> data structure.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> <em class="structfield"><code><a name="GstBaseParse.element"></a>element</code></em>;</span></p></td>
<td>the parent element.</td>
@@ -339,6 +342,12 @@ The opaque <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse"
GstFlowReturn (*detect) (GstBaseParse * parse,
GstBuffer * buffer);
+
+ gboolean (*sink_query) (GstBaseParse * parse,
+ GstQuery * query);
+
+ gboolean (*src_query) (GstBaseParse * parse,
+ GstQuery * query);
};
</pre>
<p>
@@ -346,8 +355,11 @@ Subclasses can override any of the available virtual methods or not, as
needed. At minimum <em class="parameter"><code>check_valid_frame</code></em> and <em class="parameter"><code>parse_frame</code></em> needs to be
overridden.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseParseClass.parent-class"></a>parent_class</code></em>;</span></p></td>
@@ -420,6 +432,19 @@ Called until it doesn't return GST_FLOW_OK anymore for
the first buffers. Can be used by the subclass to detect
the stream format.</td>
</tr>
+<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="GstBaseParseClass.sink-query"></a>sink_query</code></em> ()</span></p></td>
+<td>Optional.
+Query handler on the sink pad. This function should chain
+up to the parent implementation to let the default handler
+run (Since 1.2)</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="GstBaseParseClass.src-query"></a>src_query</code></em> ()</span></p></td>
+<td>Optional.
+Query handler on the source pad. Should chain up to the
+parent to let the default handler run (Since 1.2)</td>
+</tr>
</tbody>
</table></div>
</div>
@@ -437,8 +462,11 @@ duration. Alternatively, if <em class="parameter"><code>interval</code></em> is
duration is determined based on estimated bitrate, and updated every <em class="parameter"><code>interval</code></em>
frames.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -476,8 +504,11 @@ is used to estimate the total duration of the stream and to estimate
a seek position, if there's no index and the format is syncable
(see <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-set-syncable" title="gst_base_parse_set_syncable ()"><code class="function">gst_base_parse_set_syncable()</code></a>).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -500,8 +531,11 @@ a seek position, if there's no index and the format is syncable
Subclass can use this function to tell the base class that it needs to
give at least <span class="type">min_size</span> buffers.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -530,8 +564,11 @@ callbacks will be invoked, but <em class="parameter"><code>pre_push_frame</code>
so subclass can perform as much or as little is appropriate for
passthrough semantics in <em class="parameter"><code>pre_push_frame</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -556,8 +593,11 @@ Set if frame starts can be identified. This is set by default and
determines whether seeking based on bitrate averages
is possible for a format/stream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -581,8 +621,11 @@ Set if frames carry timing information which the subclass can (generally)
parse and provide. In particular, intrinsic (rather than estimated) time
can be obtained following a seek.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -611,8 +654,11 @@ location, a corresponding decoder might need an initial <em class="parameter"><c
following <em class="parameter"><code>lead_out</code></em> number of frames to ensure the desired segment is
entirely filled upon decoding.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -648,8 +694,11 @@ Sets the minimum and maximum (which may likely be equal) latency introduced
by the parsing process. If there is such a latency, which depends on the
particular parsing of the format, it typically corresponds to 1 frame duration.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -678,8 +727,11 @@ particular parsing of the format, it typically corresponds to 1 frame duration.
<p>
Default implementation of "convert" vmethod in <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParse" title="struct GstBaseParse"><span class="type">GstBaseParse</span></a> class.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -725,8 +777,11 @@ to only add keyframe entries. <em class="parameter"><code>force</code></em> all
whether the stream is (upstream) seekable, another entry is already "close"
to the new entry, etc.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -777,8 +832,11 @@ than global parameters). Some of these may apply to each parsing stage, others
only to some a particular one. These parameters are effectively zeroed at start
of each frame's processing, i.e. parsing virtual method invocation sequence.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstBaseParseFrame.buffer"></a>buffer</code></em>;</span></p></td>
@@ -824,8 +882,11 @@ skipped in bitrate calculation.</td>
<p>
Flags to be used in a <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-BASE-PARSE-FRAME-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_BASE_PARSE_FRAME_FLAG_NONE</code></span></p></td>
@@ -882,8 +943,11 @@ Allocates a new <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBasePa
elements written in C should usually allocate the frame on the stack and
then use <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame-init" title="gst_base_parse_frame_init ()"><code class="function">gst_base_parse_frame_init()</code></a> to initialise it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -919,8 +983,11 @@ sure <a class="link" href="gstreamer-libs-GstBaseParse.html#gst-base-parse-frame
the actual frame. Use this function to initialise a <a class="link" href="gstreamer-libs-GstBaseParse.html#GstBaseParseFrame" title="GstBaseParseFrame"><span class="type">GstBaseParseFrame</span></a>
allocated on the stack.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
<td>
@@ -946,8 +1013,11 @@ frame's buffer, though caller retains ownership of <em class="parameter"><code>f
<p>
This must be called with sinkpad STREAM_LOCK held.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -987,8 +1057,11 @@ ignored for any but the above purpose/information).
Note that the latter buffer is invalidated by this call, whereas the
caller retains ownership of <em class="parameter"><code>frame</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
@@ -1020,8 +1093,11 @@ caller retains ownership of <em class="parameter"><code>frame</code></em>.
Obtains current drain status (ie. whether EOS has been received and
the parser is now processing the frames at the end of the stream)
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
<td>base parse instance</td>
@@ -1059,8 +1135,11 @@ to forego pushing buffer.
<p>
Obtains current sync status.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>parse</code></em> :</span></p></td>
<td>base parse instance</td>
@@ -1075,8 +1154,11 @@ Obtains current sync status.
<p>
Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>base parse instance</td>
@@ -1091,8 +1173,11 @@ Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc
<p>
Gives the pointer to the source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>base parse instance</td>
diff --git a/docs/libs/html/gstreamer-libs-GstBitReader.html b/docs/libs/html/gstreamer-libs-GstBitReader.html
index d6e7c01..54669a7 100644
--- a/docs/libs/html/gstreamer-libs-GstBitReader.html
+++ b/docs/libs/html/gstreamer-libs-GstBitReader.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBitReader</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="GstAdapter.html" title="GstAdapter">
@@ -134,8 +134,11 @@ into 8, 16, 32 and 64 bit variables.
<p>
A bit reader instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">const <span class="type">guint8</span> *<em class="structfield"><code><a name="GstBitReader.data"></a>data</code></em>;</span></p></td>
@@ -169,8 +172,11 @@ used. This macro can used be to initialize a variable, but it cannot
be assigned to a variable. In that case you have to use
<a class="link" href="gstreamer-libs-GstBitReader.html#gst-bit-reader-init" title="gst_bit_reader_init ()"><code class="function">gst_bit_reader_init()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -194,8 +200,11 @@ Create a new <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader
<p>
Free-function: gst_bit_reader_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -223,8 +232,11 @@ should read. <span class="annotation">[<acronym title="Parameter points to an ar
Frees a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance, which was previously allocated by
<a class="link" href="gstreamer-libs-GstBitReader.html#gst-bit-reader-new" title="gst_bit_reader_new ()"><code class="function">gst_bit_reader_new()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -242,8 +254,11 @@ Frees a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" tit
Initializes a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance to read from <em class="parameter"><code>data</code></em>. This function
can be called on already initialized instances.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -268,8 +283,11 @@ can be called on already initialized instances.
<p>
Returns the current position of a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance in bits.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -289,8 +307,11 @@ Returns the current position of a <a class="link" href="gstreamer-libs-GstBitRea
<p>
Returns the remaining number of bits of a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -311,8 +332,11 @@ Returns the remaining number of bits of a <a class="link" href="gstreamer-libs-G
<p>
Sets the new position of a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance to <em class="parameter"><code>pos</code></em> in bits.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -338,8 +362,11 @@ otherwise.</td>
<p>
Returns the total number of bits of a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -360,8 +387,11 @@ Returns the total number of bits of a <a class="link" href="gstreamer-libs-GstBi
<p>
Skips <em class="parameter"><code>nbits</code></em> bits of the <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -386,8 +416,11 @@ Skips <em class="parameter"><code>nbits</code></em> bits of the <a class="link"
<p>
Skips until the next byte.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -410,8 +443,11 @@ Skips until the next byte.
<p>
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -443,8 +479,11 @@ Read <em class="parameter"><code>nbits</code></em> bits into <em class="paramete
<p>
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -476,8 +515,11 @@ Read <em class="parameter"><code>nbits</code></em> bits into <em class="paramete
<p>
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -509,8 +551,11 @@ Read <em class="parameter"><code>nbits</code></em> bits into <em class="paramete
<p>
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -542,8 +587,11 @@ Read <em class="parameter"><code>nbits</code></em> bits into <em class="paramete
<p>
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -575,8 +623,11 @@ Read <em class="parameter"><code>nbits</code></em> bits into <em class="paramete
<p>
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -608,8 +659,11 @@ Read <em class="parameter"><code>nbits</code></em> bits into <em class="paramete
<p>
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -641,8 +695,11 @@ Read <em class="parameter"><code>nbits</code></em> bits into <em class="paramete
<p>
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -674,8 +731,11 @@ Read <em class="parameter"><code>nbits</code></em> bits into <em class="paramete
Skips <em class="parameter"><code>nbits</code></em> bits of the <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance without checking if there
are enough bits available in the bit reader.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -697,8 +757,11 @@ are enough bits available in the bit reader.
Skips until the next byte without checking if there are enough bits
available in the bit reader.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance</td>
@@ -715,8 +778,11 @@ available in the bit reader.
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> and update the current position without
checking if there are enough bits available in the bit reader.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -743,8 +809,11 @@ checking if there are enough bits available in the bit reader.
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> and update the current position without
checking if there are enough bits available in the bit reader.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -771,8 +840,11 @@ checking if there are enough bits available in the bit reader.
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> and update the current position without
checking if there are enough bits available in the bit reader.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -799,8 +871,11 @@ checking if there are enough bits available in the bit reader.
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> and update the current position without
checking if there are enough bits available in the bit reader.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -827,8 +902,11 @@ checking if there are enough bits available in the bit reader.
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> but keep the current position without
checking if there are enough bits available in the bit reader
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -840,7 +918,7 @@ checking if there are enough bits available in the bit reader
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>unsigned 64 bit integer with the bits.</td>
+<td>unsigned 16 bit integer with the bits.</td>
</tr>
</tbody>
</table></div>
@@ -855,8 +933,11 @@ checking if there are enough bits available in the bit reader
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> but keep the current position without
checking if there are enough bits available in the bit reader
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -879,6 +960,30 @@ checking if there are enough bits available in the bit reader
<pre class="programlisting"><span class="returnvalue">guint64</span> gst_bit_reader_peek_bits_uint64_unchecked
(<em class="parameter"><code>const <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> *reader</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> nbits</code></em>);</pre>
+<p>
+Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> but keep the current position without
+checking if there are enough bits available in the bit reader
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstBitReader.html#GstBitReader" title="GstBitReader"><span class="type">GstBitReader</span></a> instance</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>nbits</code></em> :</span></p></td>
+<td>number of bits to read</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>unsigned 64 bit integer with the bits.</td>
+</tr>
+</tbody>
+</table></div>
</div>
<hr>
<div class="refsect2">
@@ -890,8 +995,11 @@ checking if there are enough bits available in the bit reader
Read <em class="parameter"><code>nbits</code></em> bits into <em class="parameter"><code>val</code></em> but keep the current position without
checking if there are enough bits available in the bit reader
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
diff --git a/docs/libs/html/gstreamer-libs-GstBufferStraw.html b/docs/libs/html/gstreamer-libs-GstBufferStraw.html
index ae88b32..ef96ffe 100644
--- a/docs/libs/html/gstreamer-libs-GstBufferStraw.html
+++ b/docs/libs/html/gstreamer-libs-GstBufferStraw.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstBufferStraw</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
<link rel="prev" href="gstreamer-libs-GstCheck.html" title="GstCheck">
@@ -81,8 +81,11 @@ Note that you may not start two buffer straws at the same time. This function
is intended for unit tests, not general API use. In fact it calls fail_if
from libcheck, so you cannot use it outside unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -111,8 +114,11 @@ buffer never arrives.
You must have previously called <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline" title="gst_buffer_straw_start_pipeline ()"><code class="function">gst_buffer_straw_start_pipeline()</code></a> on
<em class="parameter"><code>pipeline</code></em> and <em class="parameter"><code>pad</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
@@ -144,8 +150,11 @@ Set <em class="parameter"><code>bin</code></em> to <a href="http://gstreamer.fre
You must have previously called <a class="link" href="gstreamer-libs-GstBufferStraw.html#gst-buffer-straw-start-pipeline" title="gst_buffer_straw_start_pipeline ()"><code class="function">gst_buffer_straw_start_pipeline()</code></a> on
<em class="parameter"><code>pipeline</code></em> and <em class="parameter"><code>pad</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
diff --git a/docs/libs/html/gstreamer-libs-GstByteReader.html b/docs/libs/html/gstreamer-libs-GstByteReader.html
index c04fe48..902c08a 100644
--- a/docs/libs/html/gstreamer-libs-GstByteReader.html
+++ b/docs/libs/html/gstreamer-libs-GstByteReader.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstByteReader</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="gstreamer-libs-GstBitReader.html" title="GstBitReader">
@@ -298,8 +298,11 @@ in various character encodings.
<p>
A byte reader instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">const <span class="type">guint8</span> *<em class="structfield"><code><a name="GstByteReader.data"></a>data</code></em>;</span></p></td>
@@ -329,8 +332,11 @@ used. This macro can used be to initialize a variable, but it cannot
be assigned to a variable. In that case you have to use
<a class="link" href="gstreamer-libs-GstByteReader.html#gst-byte-reader-init" title="gst_byte_reader_init ()"><code class="function">gst_byte_reader_init()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -354,8 +360,11 @@ Create a new <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteRead
<p>
Free-function: gst_byte_reader_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -383,8 +392,11 @@ Free-function: gst_byte_reader_free
Frees a <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> instance, which was previously allocated by
<a class="link" href="gstreamer-libs-GstByteReader.html#gst-byte-reader-new" title="gst_byte_reader_new ()"><code class="function">gst_byte_reader_new()</code></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
<td>a <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> instance. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -402,8 +414,11 @@ Frees a <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" t
Initializes a <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> instance to read from <em class="parameter"><code>data</code></em>. This function
can be called on already initialized instances.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -429,8 +444,11 @@ the <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title
<p>
Returns the current position of a <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> instance in bytes.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -450,8 +468,11 @@ Returns the current position of a <a class="link" href="gstreamer-libs-GstByteRe
<p>
Returns the remaining number of bytes of a <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -472,8 +493,11 @@ Returns the remaining number of bytes of a <a class="link" href="gstreamer-libs-
<p>
Sets the new position of a <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> instance to <em class="parameter"><code>pos</code></em> in bytes.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -499,8 +523,11 @@ otherwise.</td>
<p>
Returns the total number of bytes of a <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -521,8 +548,11 @@ Returns the total number of bytes of a <a class="link" href="gstreamer-libs-GstB
<p>
Skips <em class="parameter"><code>nbytes</code></em> bytes of the <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -548,8 +578,11 @@ Skips <em class="parameter"><code>nbytes</code></em> bytes of the <a class="link
<p>
Read a signed 8 bit integer into <em class="parameter"><code>val</code></em> and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -577,8 +610,11 @@ Read a signed 8 bit integer into <em class="parameter"><code>val</code></em> and
Read a signed 16 bit big endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -606,8 +642,11 @@ and update the current position.
Read a signed 16 bit little endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -635,8 +674,11 @@ and update the current position.
Read a signed 24 bit big endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -664,8 +706,11 @@ and update the current position.
Read a signed 24 bit little endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -693,8 +738,11 @@ and update the current position.
Read a signed 32 bit big endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -722,8 +770,11 @@ and update the current position.
Read a signed 32 bit little endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -751,8 +802,11 @@ and update the current position.
Read a signed 64 bit big endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -780,8 +834,11 @@ and update the current position.
Read a signed 64 bit little endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -808,8 +865,11 @@ and update the current position.
<p>
Read an unsigned 8 bit integer into <em class="parameter"><code>val</code></em> and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -837,8 +897,11 @@ Read an unsigned 8 bit integer into <em class="parameter"><code>val</code></em>
Read an unsigned 16 bit big endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -866,8 +929,11 @@ and update the current position.
Read an unsigned 16 bit little endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -895,8 +961,11 @@ and update the current position.
Read an unsigned 24 bit big endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -924,8 +993,11 @@ and update the current position.
Read an unsigned 24 bit little endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -953,8 +1025,11 @@ and update the current position.
Read an unsigned 32 bit big endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -982,8 +1057,11 @@ and update the current position.
Read an unsigned 32 bit little endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1011,8 +1089,11 @@ and update the current position.
Read an unsigned 64 bit big endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1040,8 +1121,11 @@ and update the current position.
Read an unsigned 64 bit little endian integer into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1068,8 +1152,11 @@ and update the current position.
<p>
Read a signed 8 bit integer into <em class="parameter"><code>val</code></em> but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1097,8 +1184,11 @@ Read a signed 8 bit integer into <em class="parameter"><code>val</code></em> but
Read a signed 16 bit big endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1126,8 +1216,11 @@ but keep the current position.
Read a signed 16 bit little endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1155,8 +1248,11 @@ but keep the current position.
Read a signed 24 bit big endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1184,8 +1280,11 @@ but keep the current position.
Read a signed 24 bit little endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1213,8 +1312,11 @@ but keep the current position.
Read a signed 32 bit big endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1242,8 +1344,11 @@ but keep the current position.
Read a signed 32 bit little endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1271,8 +1376,11 @@ but keep the current position.
Read a signed 64 bit big endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1300,8 +1408,11 @@ but keep the current position.
Read a signed 64 bit little endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1328,8 +1439,11 @@ but keep the current position.
<p>
Read an unsigned 8 bit integer into <em class="parameter"><code>val</code></em> but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1357,8 +1471,11 @@ Read an unsigned 8 bit integer into <em class="parameter"><code>val</code></em>
Read an unsigned 16 bit big endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1386,8 +1503,11 @@ but keep the current position.
Read an unsigned 16 bit little endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1415,8 +1535,11 @@ but keep the current position.
Read an unsigned 24 bit big endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1444,8 +1567,11 @@ but keep the current position.
Read an unsigned 24 bit little endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1473,8 +1599,11 @@ but keep the current position.
Read an unsigned 32 bit big endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1502,8 +1631,11 @@ but keep the current position.
Read an unsigned 32 bit little endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1531,8 +1663,11 @@ but keep the current position.
Read an unsigned 64 bit big endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1560,8 +1695,11 @@ but keep the current position.
Read an unsigned 64 bit little endian integer into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1589,8 +1727,11 @@ but keep the current position.
Read a 32 bit little endian floating point value into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1618,8 +1759,11 @@ and update the current position.
Read a 32 bit big endian floating point value into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1647,8 +1791,11 @@ and update the current position.
Read a 64 bit little endian floating point value into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1676,8 +1823,11 @@ and update the current position.
Read a 64 bit big endian floating point value into <em class="parameter"><code>val</code></em>
and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1705,8 +1855,11 @@ and update the current position.
Read a 32 bit little endian floating point value into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1734,8 +1887,11 @@ but keep the current position.
Read a 32 bit big endian floating point value into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1763,8 +1919,11 @@ but keep the current position.
Read a 64 bit little endian floating point value into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1792,8 +1951,11 @@ but keep the current position.
Read a 64 bit big endian floating point value into <em class="parameter"><code>val</code></em>
but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1823,8 +1985,11 @@ Returns a constant pointer to the current data
position if at least <em class="parameter"><code>size</code></em> bytes are left and
updates the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1862,8 +2027,11 @@ Returns a newly-allocated copy of the current data
position if at least <em class="parameter"><code>size</code></em> bytes are left and
updates the current position. Free with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1898,8 +2066,11 @@ Returns a constant pointer to the current data
position if at least <em class="parameter"><code>size</code></em> bytes are left and
keeps the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -1945,8 +2116,11 @@ out.
It is an error to call this function without making sure that there is
enough data (offset+size bytes) in the byte reader.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2020,8 +2194,11 @@ No input checking for valid UTF-8 is done.
<p>
This function will fail if no NUL-terminator was found in in the data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2055,8 +2232,11 @@ UTF-8, ISO-8859-N etc.
<p>
This function will fail if no NUL-terminator was found in in the data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2094,8 +2274,11 @@ No input checking for valid UTF-8 is done.
<p>
This function will fail if no NUL-terminator was found in in the data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2137,8 +2320,11 @@ UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
<p>
This function will fail if no NUL-terminator was found in in the data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2184,8 +2370,11 @@ This function will fail if no NUL-terminator was found in in the data.
Note: there is no peek or get variant of this function to ensure correct
byte alignment of the UTF-16 string.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2231,8 +2420,11 @@ This function will fail if no NUL-terminator was found in in the data.
Note: there is no peek or get variant of this function to ensure correct
byte alignment of the UTF-32 string.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2266,8 +2458,11 @@ UTF-8, ISO-8859-N etc.
<p>
This function will fail if no NUL-terminator was found in in the data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2294,8 +2489,11 @@ UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
<p>
This function will fail if no NUL-terminator was found in in the data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2323,8 +2521,11 @@ No input checking for valid UTF-16 is done.
<p>
This function will fail if no NUL-terminator was found in in the data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2352,8 +2553,11 @@ No input checking for valid UTF-32 is done.
<p>
This function will fail if no NUL-terminator was found in in the data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2376,8 +2580,11 @@ This function will fail if no NUL-terminator was found in in the data.
Skips <em class="parameter"><code>nbytes</code></em> bytes of the <a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> instance without checking if
there are enough bytes available in the byte reader.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2398,8 +2605,11 @@ there are enough bytes available in the byte reader.
Read an signed 8 bit integer without checking if there are enough bytes
available in the byte reader and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2422,8 +2632,11 @@ Read a signed 16 bit integer in big endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2446,8 +2659,11 @@ Read a signed 16 bit integer in little endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2470,8 +2686,11 @@ Read a signed 24 bit integer in big endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2494,8 +2713,11 @@ Read a signed 24 bit integer in little endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2518,8 +2740,11 @@ Read a signed 32 bit integer in big endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2542,8 +2767,11 @@ Read a signed 32 bit integer in little endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2566,8 +2794,11 @@ Read a signed 64 bit integer in big endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2590,8 +2821,11 @@ Read a signed 64 bit integer in little endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2612,8 +2846,11 @@ current position.
Read an unsigned 8 bit integer without checking if there are enough bytes
available in the byte reader and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2636,8 +2873,11 @@ Read an unsigned 16 bit integer in big endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2660,8 +2900,11 @@ Read an unsigned 16 bit integer in little endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2684,8 +2927,11 @@ Read an unsigned 24 bit integer in big endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2708,8 +2954,11 @@ Read an unsigned 24 bit integer in little endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2732,8 +2981,11 @@ Read an unsigned 32 bit integer in big endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2756,8 +3008,11 @@ Read an unsigned 32 bit integer in little endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2780,8 +3035,11 @@ Read an unsigned 64 bit integer in big endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2804,8 +3062,11 @@ Read an unsigned 64 bit integer in little endian format without checking
if there are enough bytes available in the byte reader and update the
current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2826,8 +3087,11 @@ current position.
Read an signed 8 bit integer without checking if there are enough bytes
available in the byte reader, but do not advance the current read position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2850,8 +3114,11 @@ Read a signed 16 bit integer in big endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2874,8 +3141,11 @@ Read a signed 16 bit integer in little endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2898,8 +3168,11 @@ Read a signed 24 bit integer in big endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2922,8 +3195,11 @@ Read a signed 24 bit integer in little endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2946,8 +3222,11 @@ Read a signed 32 bit integer in big endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2970,8 +3249,11 @@ Read a signed 32 bit integer in little endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -2994,8 +3276,11 @@ Read a signed 64 bit integer in big endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3018,8 +3303,11 @@ Read a signed 64 bit integer in little endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3041,8 +3329,11 @@ the current position.
Read an unsigned 8 bit integer without checking if there are enough bytes
available in the byte reader, but do not advance the current read position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3065,8 +3356,11 @@ Read an unsigned 16 bit integer in big endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3089,8 +3383,11 @@ Read an unsigned 16 bit integer in little endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3113,8 +3410,11 @@ Read an unsigned 24 bit integer in big endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3137,8 +3437,11 @@ Read an unsigned 24 bit integer in little endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3161,8 +3464,11 @@ Read an unsigned 32 bit integer in big endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3185,8 +3491,11 @@ Read an unsigned 32 bit integer in little endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3209,8 +3518,11 @@ Read an unsigned 64 bit integer in big endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3233,8 +3545,11 @@ Read an unsigned 64 bit integer in little endian format without checking
if there are enough bytes available in the byte reader, but do not advance
the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3256,8 +3571,11 @@ the current position.
Read a 32 bit little endian float without checking if there is enough
data available and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3279,8 +3597,11 @@ data available and update the current position.
Read a 32 bit big endian float without checking if there is enough
data available and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3302,8 +3623,11 @@ data available and update the current position.
Read a 64 bit little endian float without checking if there is enough
data available and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3325,8 +3649,11 @@ data available and update the current position.
Read a 64 bit big endian float without checking if there is enough
data available and update the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3348,8 +3675,11 @@ data available and update the current position.
Read a 32 bit little endian float without checking if there is enough
data available, but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3371,8 +3701,11 @@ data available, but keep the current position.
Read a 32 bit big endian float without checking if there is enough
data available, but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3394,8 +3727,11 @@ data available, but keep the current position.
Read a 64 bit little endian float without checking if there is enough
data available, but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3417,8 +3753,11 @@ data available, but keep the current position.
Read a 64 bit big endian float without checking if there is enough
data available, but keep the current position.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3444,8 +3783,11 @@ position by <em class="parameter"><code>size</code></em> bytes.
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3474,8 +3816,11 @@ Returns a constant pointer to the current data position without checking
if at least <em class="parameter"><code>size</code></em> bytes are left. Advances the current read position by
<em class="parameter"><code>size</code></em> bytes.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
@@ -3498,8 +3843,11 @@ current data position. <span class="annotation">[<acronym title="Don't free data
<div class="refsect2">
<a name="gst-byte-reader-peek-data-unchecked"></a><h3>gst_byte_reader_peek_data_unchecked ()</h3>
<pre class="programlisting">const <span class="returnvalue">guint8</span> * gst_byte_reader_peek_data_unchecked (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> *reader</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>reader</code></em> :</span></p></td>
diff --git a/docs/libs/html/gstreamer-libs-GstByteWriter.html b/docs/libs/html/gstreamer-libs-GstByteWriter.html
index 5bb39f6..55b301e 100644
--- a/docs/libs/html/gstreamer-libs-GstByteWriter.html
+++ b/docs/libs/html/gstreamer-libs-GstByteWriter.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstByteWriter</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="gstreamer-libs-GstByteReader.html" title="GstByteReader">
@@ -227,8 +227,11 @@ in various character encodings.
<p>
A byte writer instance.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-libs-GstByteReader.html#GstByteReader" title="GstByteReader"><span class="type">GstByteReader</span></a> <em class="structfield"><code><a name="GstByteWriter.parent"></a>parent</code></em>;</span></p></td>
@@ -260,8 +263,11 @@ Creates a new, empty <a class="link" href="gstreamer-libs-GstByteWriter.html#Gst
<p>
Free-function: gst_byte_writer_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new, empty <a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> instance. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
@@ -283,8 +289,11 @@ read <em class="parameter"><code>size</code></em> bytes from the <a class="link"
<p>
Free-function: gst_byte_writer_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
@@ -318,8 +327,11 @@ initial data size.
<p>
Free-function: gst_byte_writer_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
@@ -344,8 +356,11 @@ Free-function: gst_byte_writer_free
<p>
Initializes <em class="parameter"><code>writer</code></em> to an empty instance
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
<td>
@@ -365,8 +380,11 @@ Initializes <em class="parameter"><code>writer</code></em> with the given
memory area. If <em class="parameter"><code>initialized</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> it is possible to
read <em class="parameter"><code>size</code></em> bytes from the <a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> from the beginning.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -398,8 +416,11 @@ read <em class="parameter"><code>size</code></em> bytes from the <a class="link"
<p>
Initializes <em class="parameter"><code>writer</code></em> with the given initial data size.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -424,8 +445,11 @@ Initializes <em class="parameter"><code>writer</code></em> with the given initia
<p>
Frees <em class="parameter"><code>writer</code></em> and all memory allocated by it.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
<td>
@@ -445,8 +469,11 @@ the current data, which is returned as <a href="http://gstreamer.freedesktop.org
<p>
Free-function: gst_buffer_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -474,8 +501,11 @@ the current data, which is returned.
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -499,8 +529,11 @@ Free-function: g_free
Resets <em class="parameter"><code>writer</code></em> and frees the data if it's
owned by <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
<td>
@@ -518,8 +551,11 @@ Resets <em class="parameter"><code>writer</code></em> and returns the current da
<p>
Free-function: g_free
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -546,8 +582,11 @@ Resets <em class="parameter"><code>writer</code></em> and returns the current da
<p>
Free-function: gst_buffer_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -567,8 +606,11 @@ after usage. <span class="annotation">[<acronym title="Free data after the code
<div class="refsect2">
<a name="gst-byte-writer-get-pos"></a><h3>gst_byte_writer_get_pos ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_byte_writer_get_pos (<em class="parameter"><code>const <a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -591,8 +633,11 @@ after usage. <span class="annotation">[<acronym title="Free data after the code
Sets the current read/write cursor of <em class="parameter"><code>writer</code></em>. The new position
can only be between 0 and the current size.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -619,8 +664,11 @@ can only be between 0 and the current size.
Returns the remaining size of data that can still be written. If
-1 is returned the remaining size is only limited by system resources.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -638,8 +686,11 @@ Returns the remaining size of data that can still be written. If
<div class="refsect2">
<a name="gst-byte-writer-get-size"></a><h3>gst_byte_writer_get_size ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_byte_writer_get_size (<em class="parameter"><code>const <a class="link" href="gstreamer-libs-GstByteWriter.html#GstByteWriter" title="GstByteWriter"><span class="type">GstByteWriter</span></a> *writer</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -662,8 +713,11 @@ Returns the remaining size of data that can still be written. If
Checks if enough free space from the current write cursor is
available and reallocates if necessary.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -690,8 +744,11 @@ available and reallocates if necessary.
<p>
Writes a signed 8 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -718,8 +775,11 @@ Writes a signed 8 bit integer to <em class="parameter"><code>writer</code></em>.
<p>
Writes a signed big endian 16 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -746,8 +806,11 @@ Writes a signed big endian 16 bit integer to <em class="parameter"><code>writer<
<p>
Writes a signed little endian 16 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -774,8 +837,11 @@ Writes a signed little endian 16 bit integer to <em class="parameter"><code>writ
<p>
Writes a signed big endian 24 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -802,8 +868,11 @@ Writes a signed big endian 24 bit integer to <em class="parameter"><code>writer<
<p>
Writes a signed little endian 24 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -830,8 +899,11 @@ Writes a signed little endian 24 bit integer to <em class="parameter"><code>writ
<p>
Writes a signed big endian 32 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -858,8 +930,11 @@ Writes a signed big endian 32 bit integer to <em class="parameter"><code>writer<
<p>
Writes a signed little endian 32 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -886,8 +961,11 @@ Writes a signed little endian 32 bit integer to <em class="parameter"><code>writ
<p>
Writes a signed big endian 64 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -914,8 +992,11 @@ Writes a signed big endian 64 bit integer to <em class="parameter"><code>writer<
<p>
Writes a signed little endian 64 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -942,8 +1023,11 @@ Writes a signed little endian 64 bit integer to <em class="parameter"><code>writ
<p>
Writes a unsigned 8 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -970,8 +1054,11 @@ Writes a unsigned 8 bit integer to <em class="parameter"><code>writer</code></em
<p>
Writes a unsigned big endian 16 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -998,8 +1085,11 @@ Writes a unsigned big endian 16 bit integer to <em class="parameter"><code>write
<p>
Writes a unsigned little endian 16 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1026,8 +1116,11 @@ Writes a unsigned little endian 16 bit integer to <em class="parameter"><code>wr
<p>
Writes a unsigned big endian 24 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1054,8 +1147,11 @@ Writes a unsigned big endian 24 bit integer to <em class="parameter"><code>write
<p>
Writes a unsigned little endian 24 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1082,8 +1178,11 @@ Writes a unsigned little endian 24 bit integer to <em class="parameter"><code>wr
<p>
Writes a unsigned big endian 32 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1110,8 +1209,11 @@ Writes a unsigned big endian 32 bit integer to <em class="parameter"><code>write
<p>
Writes a unsigned little endian 32 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1138,8 +1240,11 @@ Writes a unsigned little endian 32 bit integer to <em class="parameter"><code>wr
<p>
Writes a unsigned big endian 64 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1166,8 +1271,11 @@ Writes a unsigned big endian 64 bit integer to <em class="parameter"><code>write
<p>
Writes a unsigned little endian 64 bit integer to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1194,8 +1302,11 @@ Writes a unsigned little endian 64 bit integer to <em class="parameter"><code>wr
<p>
Writes a big endian 32 bit float to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1222,8 +1333,11 @@ Writes a big endian 32 bit float to <em class="parameter"><code>writer</code></e
<p>
Writes a little endian 32 bit float to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1250,8 +1364,11 @@ Writes a little endian 32 bit float to <em class="parameter"><code>writer</code>
<p>
Writes a big endian 64 bit float to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1278,8 +1395,11 @@ Writes a big endian 64 bit float to <em class="parameter"><code>writer</code></e
<p>
Writes a little endian 64 bit float to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1307,8 +1427,11 @@ Write a NUL-terminated string to <em class="parameter"><code>writer</code></em>
string is assumed to be in an 8-bit encoding (e.g. ASCII,UTF-8 or
ISO-8859-1).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1336,8 +1459,11 @@ ISO-8859-1).
<p>
Writes a NUL-terminated UTF16 string to <em class="parameter"><code>writer</code></em> (including the terminator).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1365,8 +1491,11 @@ Writes a NUL-terminated UTF16 string to <em class="parameter"><code>writer</code
<p>
Writes a NUL-terminated UTF32 string to <em class="parameter"><code>writer</code></em> (including the terminator).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1394,8 +1523,11 @@ Writes a NUL-terminated UTF32 string to <em class="parameter"><code>writer</code
<p>
Writes a NUL-terminated UTF8 string to <em class="parameter"><code>writer</code></em> (including the terminator).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1425,8 +1557,11 @@ write. <span class="annotation">[<acronym title="Don't free data after the code
<p>
Writes <em class="parameter"><code>size</code></em> bytes of <em class="parameter"><code>data</code></em> to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1459,8 +1594,11 @@ Writes <em class="parameter"><code>size</code></em> bytes of <em class="paramete
<p>
Writes <em class="parameter"><code>size</code></em> bytes containing <em class="parameter"><code>value</code></em> to <em class="parameter"><code>writer</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1499,8 +1637,11 @@ Writes <em class="parameter"><code>size</code></em> bytes containing <em class="
Writes a signed big endian 16 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1524,8 +1665,11 @@ checking if there is enough free space available in the byte writer.
Writes a signed little endian 16 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1549,8 +1693,11 @@ checking if there is enough free space available in the byte writer.
Writes a signed big endian 24 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1574,8 +1721,11 @@ checking if there is enough free space available in the byte writer.
Writes a signed little endian 24 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1599,8 +1749,11 @@ checking if there is enough free space available in the byte writer.
Writes a signed big endian 32 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1624,8 +1777,11 @@ checking if there is enough free space available in the byte writer.
Writes a signed little endian 32 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1649,8 +1805,11 @@ checking if there is enough free space available in the byte writer.
Writes a signed big endian 64 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1674,8 +1833,11 @@ checking if there is enough free space available in the byte writer.
Writes a signed little endian 64 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1698,8 +1860,11 @@ checking if there is enough free space available in the byte writer.
Writes a unsigned 8 bit integer to <em class="parameter"><code>writer</code></em> without checking if there
is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1723,8 +1888,11 @@ is enough free space available in the byte writer.
Writes a unsigned big endian 16 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1748,8 +1916,11 @@ checking if there is enough free space available in the byte writer.
Writes a unsigned little endian 16 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1773,8 +1944,11 @@ checking if there is enough free space available in the byte writer.
Writes a unsigned big endian 24 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1798,8 +1972,11 @@ checking if there is enough free space available in the byte writer.
Writes a unsigned little endian 24 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1823,8 +2000,11 @@ checking if there is enough free space available in the byte writer.
Writes a unsigned big endian 32 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1848,8 +2028,11 @@ checking if there is enough free space available in the byte writer.
Writes a unsigned little endian 32 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1873,8 +2056,11 @@ checking if there is enough free space available in the byte writer.
Writes a unsigned big endian 64 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1898,8 +2084,11 @@ checking if there is enough free space available in the byte writer.
Writes a unsigned little endian 64 bit integer to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1923,8 +2112,11 @@ checking if there is enough free space available in the byte writer.
Writes a big endian 32 bit float to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1948,8 +2140,11 @@ checking if there is enough free space available in the byte writer.
Writes a little endian 32 bit float to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1973,8 +2168,11 @@ checking if there is enough free space available in the byte writer.
Writes a big endian 64 bit float to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -1998,8 +2196,11 @@ checking if there is enough free space available in the byte writer.
Writes a little endian 64 bit float to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -2023,8 +2224,11 @@ checking if there is enough free space available in the byte writer.
Writes <em class="parameter"><code>size</code></em> bytes of <em class="parameter"><code>data</code></em> to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
@@ -2053,8 +2257,11 @@ checking if there is enough free space available in the byte writer.
Writes <em class="parameter"><code>size</code></em> bytes containing <em class="parameter"><code>value</code></em> to <em class="parameter"><code>writer</code></em> without
checking if there is enough free space available in the byte writer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
diff --git a/docs/libs/html/gstreamer-libs-GstCheck.html b/docs/libs/html/gstreamer-libs-GstCheck.html
index 31b36ab..f397c83 100644
--- a/docs/libs/html/gstreamer-libs-GstCheck.html
+++ b/docs/libs/html/gstreamer-libs-GstCheck.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstCheck</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
<link rel="prev" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
@@ -73,6 +73,14 @@
b)
#define <a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-equals-int64" title="fail_unless_equals_int64()">fail_unless_equals_int64</a> (a,
b)
+#define <a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-equals-int-hex" title="fail_unless_equals_int_hex()">fail_unless_equals_int_hex</a> (a,
+ b)
+#define <a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-equals-int64-hex" title="fail_unless_equals_int64_hex()">fail_unless_equals_int64_hex</a> (a,
+ b)
+#define <a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-equals-uint64-hex" title="fail_unless_equals_uint64_hex()">fail_unless_equals_uint64_hex</a> (a,
+ b)
+#define <a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-equals-pointer" title="fail_unless_equals_pointer()">fail_unless_equals_pointer</a> (a,
+ b)
#define <a class="link" href="gstreamer-libs-GstCheck.html#fail-unless-message-error" title="fail_unless_message_error()">fail_unless_message_error</a> (msg,
domain,
code)
@@ -86,6 +94,14 @@
b)
#define <a class="link" href="gstreamer-libs-GstCheck.html#assert-equals-int64" title="assert_equals_int64()">assert_equals_int64</a> (a,
b)
+#define <a class="link" href="gstreamer-libs-GstCheck.html#assert-equals-int-hex" title="assert_equals_int_hex()">assert_equals_int_hex</a> (a,
+ b)
+#define <a class="link" href="gstreamer-libs-GstCheck.html#assert-equals-int64-hex" title="assert_equals_int64_hex()">assert_equals_int64_hex</a> (a,
+ b)
+#define <a class="link" href="gstreamer-libs-GstCheck.html#assert-equals-uint64-hex" title="assert_equals_uint64_hex()">assert_equals_uint64_hex</a> (a,
+ b)
+#define <a class="link" href="gstreamer-libs-GstCheck.html#assert-equals-pointer" title="assert_equals_pointer()">assert_equals_pointer</a> (a,
+ b)
#define <a class="link" href="gstreamer-libs-GstCheck.html#assert-message-error" title="assert_message_error()">assert_message_error</a> (m,
d,
c)
@@ -131,6 +147,16 @@
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-run-suite" title="gst_check_run_suite ()">gst_check_run_suite</a> (<em class="parameter"><code><span class="type">Suite</span> *suite</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *fname</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-events" title="gst_check_setup_events ()">gst_check_setup_events</a> (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *srcpad</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-events-with-stream-id" title="gst_check_setup_events_with_stream_id ()">gst_check_setup_events_with_stream_id</a>
+ (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *srcpad</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stream_id</code></em>);
</pre>
</div>
<div class="refsect1">
@@ -148,8 +174,11 @@ inside the 'check' directories of various GStreamer packages.
<p>
wrapper for checks START_TEST
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>__testname</code></em> :</span></p></td>
<td>test function name</td>
@@ -213,8 +242,11 @@ This macro checks that <em class="parameter"><code>a</code></em> and <em class="
case, printing both expressions and the values they evaluated to. This
macro is for use in unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -236,8 +268,11 @@ This macro checks that <em class="parameter"><code>a</code></em> and <em class="
is not the case, printing both expressions and the values they evaluated
to. This macro is for use in unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -259,8 +294,11 @@ This macro checks that <em class="parameter"><code>a</code></em> and <em class="
this is not the case, printing both expressions and the values they
evaluated to. This macro is for use in unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -282,8 +320,11 @@ This macro checks that <em class="parameter"><code>a</code></em> and <em class="
case, printing both expressions and the values they evaluated to. This
macro is for use in unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -305,8 +346,91 @@ This macro checks that <em class="parameter"><code>a</code></em> and <em class="
case, printing both expressions and the values they evaluated to. This
macro is for use in unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
+<td>a <span class="type">gint64</span> value or expression</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td>a <span class="type">gint64</span> value or expression</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="fail-unless-equals-int-hex"></a><h3>fail_unless_equals_int_hex()</h3>
+<pre class="programlisting">#define fail_unless_equals_int_hex(a, b)</pre>
+<p>
+This macro checks that <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> are equal and aborts if this is not the
+case, printing both expressions and the values they evaluated to in
+hexadecimal format. This macro is for use in unit tests.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> value or expression</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> value or expression</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="fail-unless-equals-int64-hex"></a><h3>fail_unless_equals_int64_hex()</h3>
+<pre class="programlisting">#define fail_unless_equals_int64_hex(a, b)</pre>
+<p>
+This macro checks that <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> are equal and aborts if this is not the
+case, printing both expressions and the values they evaluated to in
+hexadecimal format. This macro is for use in unit tests.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
+<td>a <span class="type">gint64</span> value or expression</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td>a <span class="type">gint64</span> value or expression</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="fail-unless-equals-uint64-hex"></a><h3>fail_unless_equals_uint64_hex()</h3>
+<pre class="programlisting">#define fail_unless_equals_uint64_hex(a, b)</pre>
+<p>
+This macro checks that <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> are equal and aborts if this is not the
+case, printing both expressions and the values they evaluated to in
+hexadecimal format. This macro is for use in unit tests.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -318,6 +442,34 @@ macro is for use in unit tests.
</tr>
</tbody>
</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="fail-unless-equals-pointer"></a><h3>fail_unless_equals_pointer()</h3>
+<pre class="programlisting">#define fail_unless_equals_pointer(a, b)</pre>
+<p>
+This macro checks that <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> are equal and aborts if this
+is not the case, printing both expressions and the values they
+evaluated to. This macro is for use in unit tests.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
+<td>a pointer value or expression</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td>a pointer value or expression</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
</div>
<hr>
<div class="refsect2">
@@ -334,8 +486,11 @@ This macro checks that <em class="parameter"><code>a</code></em> and <em class="
case, printing both expressions and the values they evaluated to. This
macro is for use in unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -358,8 +513,11 @@ This macro checks that <em class="parameter"><code>a</code></em> and <em class="
is not the case, printing both expressions and the values they evaluated
to. This macro is for use in unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -382,8 +540,11 @@ This macro checks that <em class="parameter"><code>a</code></em> and <em class="
this is not the case, printing both expressions and the values they
evaluated to. This macro is for use in unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -406,8 +567,11 @@ This macro checks that <em class="parameter"><code>a</code></em> and <em class="
case, printing both expressions and the values they evaluated to. This
macro is for use in unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -430,8 +594,66 @@ This macro checks that <em class="parameter"><code>a</code></em> and <em class="
case, printing both expressions and the values they evaluated to. This
macro is for use in unit tests.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
+<td>a <span class="type">gint64</span> value or expression</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td>a <span class="type">gint64</span> value or expression</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="assert-equals-int-hex"></a><h3>assert_equals_int_hex()</h3>
+<pre class="programlisting">#define assert_equals_int_hex(a, b) fail_unless_equals_int_hex(a, b)
+</pre>
+<p>
+This macro checks that <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> are equal and aborts if this is not the
+case, printing both expressions and the values they evaluated to in
+hexadecimal format. This macro is for use in unit tests.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> value or expression</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> value or expression</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="assert-equals-int64-hex"></a><h3>assert_equals_int64_hex()</h3>
+<pre class="programlisting">#define assert_equals_int64_hex(a,b) fail_unless_equals_int64_hex(a,b)
+</pre>
+<p>
+This macro checks that <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> are equal and aborts if this is not the
+case, printing both expressions and the values they evaluated to in
+hexadecimal format. This macro is for use in unit tests.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
@@ -443,6 +665,63 @@ macro is for use in unit tests.
</tr>
</tbody>
</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="assert-equals-uint64-hex"></a><h3>assert_equals_uint64_hex()</h3>
+<pre class="programlisting">#define assert_equals_uint64_hex(a,b) fail_unless_equals_uint64_hex(a,b)
+</pre>
+<p>
+This macro checks that <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> are equal and aborts if this is not the
+case, printing both expressions and the values they evaluated to in
+hexadecimal format. This macro is for use in unit tests.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
+<td>a <span class="type">guint64</span> value or expression</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td>a <span class="type">guint64</span> value or expression</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="assert-equals-pointer"></a><h3>assert_equals_pointer()</h3>
+<pre class="programlisting">#define assert_equals_pointer(a, b) fail_unless_equals_pointer(a, b)
+</pre>
+<p>
+This macro checks that <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> are equal and aborts if this
+is not the case, printing both expressions and the values they
+evaluated to. This macro is for use in unit tests.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
+<td>a pointer value or expression</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
+<td>a pointer value or expression</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2</p>
</div>
<hr>
<div class="refsect2">
@@ -471,8 +750,11 @@ macro is for use in unit tests.
<p>
setup an element for a filter test with mysrcpad and mysinkpad
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
@@ -491,8 +773,11 @@ setup an element for a filter test with mysrcpad and mysinkpad
<a name="gst-check-setup-sink-pad"></a><h3>gst_check_setup_sink_pad ()</h3>
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> * gst_check_setup_sink_pad (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -515,8 +800,11 @@ setup an element for a filter test with mysrcpad and mysinkpad
<a name="gst-check-setup-src-pad"></a><h3>gst_check_setup_src_pad ()</h3>
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> * gst_check_setup_src_pad (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -540,8 +828,11 @@ setup an element for a filter test with mysrcpad and mysinkpad
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> * gst_check_setup_sink_pad_by_name (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -569,8 +860,11 @@ setup an element for a filter test with mysrcpad and mysinkpad
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a> * gst_check_setup_src_pad_by_name (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPadTemplate.html#GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> *tmpl</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
@@ -631,8 +925,11 @@ emptying the list.
<p>
Compare the buffer contents with <em class="parameter"><code>data</code></em> and <em class="parameter"><code>size</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -658,8 +955,11 @@ Compare the buffer contents with <em class="parameter"><code>data</code></em> an
Compare two caps with gst_caps_is_equal and fail unless they are
equal.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps1</code></em> :</span></p></td>
@@ -691,8 +991,11 @@ pushing the final buffer in the list.
This can be used to set up a test which pushes some buffers and then an
invalid buffer, when the final buffer is expected to fail, for example.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element_name</code></em> :</span></p></td>
@@ -731,8 +1034,11 @@ Create an <em class="parameter"><code>element</code></em> with the factory with
and this will be compared with <em class="parameter"><code>buffer_out</code></em>. We only check the caps
and the data of the buffers. This function unrefs the buffers.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>element_name</code></em> :</span></p></td>
@@ -756,6 +1062,91 @@ and the data of the buffers. This function unrefs the buffers.
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *fname</code></em>);</pre>
</div>
+<hr>
+<div class="refsect2">
+<a name="gst-check-setup-events"></a><h3>gst_check_setup_events ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_check_setup_events (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *srcpad</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
+<p>
+Push stream-start, caps and segment event, which concist of the minimum
+required events to allow streaming. Caps is optional to allow raw src
+testing. If <em class="parameter"><code>element</code></em> has more than one src or sink pad, use
+<a class="link" href="gstreamer-libs-GstCheck.html#gst-check-setup-events-with-stream-id" title="gst_check_setup_events_with_stream_id ()"><code class="function">gst_check_setup_events_with_stream_id()</code></a> instead.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>srcpad</code></em> :</span></p></td>
+<td>The src <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> to push on</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
+<td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> use to create the stream id</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
+<td>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> in case caps event must be sent. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
+<td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> of the default segment to send</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-check-setup-events-with-stream-id"></a><h3>gst_check_setup_events_with_stream_id ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_check_setup_events_with_stream_id
+ (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *srcpad</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
+ <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stream_id</code></em>);</pre>
+<p>
+Push stream-start, caps and segment event, which concist of the minimum
+required events to allow streaming. Caps is optional to allow raw src
+testing.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>srcpad</code></em> :</span></p></td>
+<td>The src <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> to push on</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
+<td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> use to create the stream id</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
+<td>
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> in case caps event must be sent. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
+<td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> of the default segment to send</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>stream_id</code></em> :</span></p></td>
+<td>A unique identifier for the stream</td>
+</tr>
+</tbody>
+</table></div>
+</div>
</div>
</div>
<div class="footer">
diff --git a/docs/libs/html/gstreamer-libs-GstDataQueue.html b/docs/libs/html/gstreamer-libs-GstDataQueue.html
new file mode 100644
index 0000000..3eee495
--- /dev/null
+++ b/docs/libs/html/gstreamer-libs-GstDataQueue.html
@@ -0,0 +1,556 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GstDataQueue</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
+<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
+<link rel="prev" href="gstreamer-libs-GstTypeFindHelper.html" title="GstTypeFindHelper">
+<link rel="next" href="gstreamer-libs-GstQueueArray.html" title="GstQueueArray">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="gstreamer-libs-GstTypeFindHelper.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="gstreamer-base.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">GStreamer 1.0 Library Reference Manual</th>
+<td><a accesskey="n" href="gstreamer-libs-GstQueueArray.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#gstreamer-libs-GstDataQueue.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#gstreamer-libs-GstDataQueue.description" class="shortcut">Description</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="gstreamer-libs-GstDataQueue"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gstreamer-libs-GstDataQueue.top_of_page"></a>GstDataQueue</span></h2>
+<p>GstDataQueue — Threadsafe queueing object</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<a name="gstreamer-libs-GstDataQueue.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">
+#include &lt;gst/base/gstdataqueue.h&gt;
+
+struct <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue">GstDataQueue</a>;
+struct <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueSize" title="struct GstDataQueueSize">GstDataQueueSize</a>;
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueCheckFullFunction" title="GstDataQueueCheckFullFunction ()">*GstDataQueueCheckFullFunction</a>) (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> visible</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> bytes</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> time</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> checkdata</code></em>);
+struct <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem">GstDataQueueItem</a>;
+<span class="returnvalue">void</span> (<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueEmptyCallback" title="GstDataQueueEmptyCallback ()">*GstDataQueueEmptyCallback</a>) (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> checkdata</code></em>);
+<span class="returnvalue">void</span> (<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueFullCallback" title="GstDataQueueFullCallback ()">*GstDataQueueFullCallback</a>) (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> checkdata</code></em>);
+<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="returnvalue">GstDataQueue</span></a> * <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-new" title="gst_data_queue_new ()">gst_data_queue_new</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueCheckFullFunction" title="GstDataQueueCheckFullFunction ()"><span class="type">GstDataQueueCheckFullFunction</span></a> checkfull</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueFullCallback" title="GstDataQueueFullCallback ()"><span class="type">GstDataQueueFullCallback</span></a> fullcallback</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueEmptyCallback" title="GstDataQueueEmptyCallback ()"><span class="type">GstDataQueueEmptyCallback</span></a> emptycallback</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> checkdata</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-push" title="gst_data_queue_push ()">gst_data_queue_push</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem"><span class="type">GstDataQueueItem</span></a> *item</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-pop" title="gst_data_queue_pop ()">gst_data_queue_pop</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem"><span class="type">GstDataQueueItem</span></a> **item</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-flush" title="gst_data_queue_flush ()">gst_data_queue_flush</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-set-flushing" title="gst_data_queue_set_flushing ()">gst_data_queue_set_flushing</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flushing</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-drop-head" title="gst_data_queue_drop_head ()">gst_data_queue_drop_head</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-is-full" title="gst_data_queue_is_full ()">gst_data_queue_is_full</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-is-empty" title="gst_data_queue_is_empty ()">gst_data_queue_is_empty</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-get-level" title="gst_data_queue_get_level ()">gst_data_queue_get_level</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueSize" title="struct GstDataQueueSize"><span class="type">GstDataQueueSize</span></a> *level</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-limits-changed" title="gst_data_queue_limits_changed ()">gst_data_queue_limits_changed</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstDataQueue.description"></a><h2>Description</h2>
+<p>
+<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> is an object that handles threadsafe queueing of objects. It
+also provides size-related functionality. This object should be used for
+any <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> that wishes to provide some sort of queueing functionality.
+</p>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstDataQueue.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="GstDataQueue"></a><h3>struct GstDataQueue</h3>
+<pre class="programlisting">struct GstDataQueue {
+ GObject object;
+};
+</pre>
+<p>
+Opaque <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> structure.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> <em class="structfield"><code><a name="GstDataQueue.object"></a>object</code></em>;</span></p></td>
+<td>the parent structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstDataQueueSize"></a><h3>struct GstDataQueueSize</h3>
+<pre class="programlisting">struct GstDataQueueSize {
+ guint visible;
+ guint bytes;
+ guint64 time;
+};
+</pre>
+<p>
+Structure describing the size of a queue.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstDataQueueSize.visible"></a>visible</code></em>;</span></p></td>
+<td>number of buffers</td>
+</tr>
+<tr>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstDataQueueSize.bytes"></a>bytes</code></em>;</span></p></td>
+<td>number of bytes</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="type">guint64</span> <em class="structfield"><code><a name="GstDataQueueSize.time"></a>time</code></em>;</span></p></td>
+<td>amount of time</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstDataQueueCheckFullFunction"></a><h3>GstDataQueueCheckFullFunction ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*GstDataQueueCheckFullFunction) (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> visible</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> bytes</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> time</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> checkdata</code></em>);</pre>
+<p>
+The prototype of the function used to inform the queue that it should be
+considered as full.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
+<td>The number of visible items currently in the queue.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>bytes</code></em> :</span></p></td>
+<td>The amount of bytes currently in the queue.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
+<td>The accumulated duration of the items currently in the queue.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>checkdata</code></em> :</span></p></td>
+<td>The <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> registered when the <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> was created.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the queue should be considered full.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstDataQueueItem"></a><h3>struct GstDataQueueItem</h3>
+<pre class="programlisting">struct GstDataQueueItem {
+ GstMiniObject *object;
+ guint size;
+ guint64 duration;
+ gboolean visible;
+
+ /* user supplied destroy function */
+ GDestroyNotify destroy;
+};
+</pre>
+<p>
+Structure used by <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>. You can supply a different structure, as
+long as the top of the structure is identical to this structure.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> *<em class="structfield"><code><a name="GstDataQueueItem.object"></a>object</code></em>;</span></p></td>
+<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> to queue.</td>
+</tr>
+<tr>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstDataQueueItem.size"></a>size</code></em>;</span></p></td>
+<td>the size in bytes of the miniobject.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="type">guint64</span> <em class="structfield"><code><a name="GstDataQueueItem.duration"></a>duration</code></em>;</span></p></td>
+<td>the duration in <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> of the miniobject. Can not be
+<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><span class="type">GST_CLOCK_TIME_NONE</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstDataQueueItem.visible"></a>visible</code></em>;</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>object</code></em> should be considered as a visible object.</td>
+</tr>
+<tr>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> <em class="structfield"><code><a name="GstDataQueueItem.destroy"></a>destroy</code></em>;</span></p></td>
+<td>The <a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> function to use to free the <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem"><span class="type">GstDataQueueItem</span></a>.
+This function should also drop the reference to <em class="parameter"><code>object</code></em> the owner of the
+<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem"><span class="type">GstDataQueueItem</span></a> is assumed to hold.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstDataQueueEmptyCallback"></a><h3>GstDataQueueEmptyCallback ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> (*GstDataQueueEmptyCallback) (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> checkdata</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstDataQueueFullCallback"></a><h3>GstDataQueueFullCallback ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> (*GstDataQueueFullCallback) (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> checkdata</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-data-queue-new"></a><h3>gst_data_queue_new ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="returnvalue">GstDataQueue</span></a> * gst_data_queue_new (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueCheckFullFunction" title="GstDataQueueCheckFullFunction ()"><span class="type">GstDataQueueCheckFullFunction</span></a> checkfull</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueFullCallback" title="GstDataQueueFullCallback ()"><span class="type">GstDataQueueFullCallback</span></a> fullcallback</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueEmptyCallback" title="GstDataQueueEmptyCallback ()"><span class="type">GstDataQueueEmptyCallback</span></a> emptycallback</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> checkdata</code></em>);</pre>
+<p>
+Creates a new <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>. The difference with <em class="parameter"><code>gst_data_queue_new</code></em> is that it will
+not emit the 'full' and 'empty' signals, but instead calling directly <em class="parameter"><code>fullcallback</code></em>
+or <em class="parameter"><code>emptycallback</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>checkfull</code></em> :</span></p></td>
+<td>the callback used to tell if the element considers the queue full
+or not.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>fullcallback</code></em> :</span></p></td>
+<td>the callback which will be called when the queue is considered full.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>emptycallback</code></em> :</span></p></td>
+<td>the callback which will be called when the queue is considered empty.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>checkdata</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> that will be given in the <em class="parameter"><code>checkfull</code></em> callback.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-data-queue-push"></a><h3>gst_data_queue_push ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_data_queue_push (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem"><span class="type">GstDataQueueItem</span></a> *item</code></em>);</pre>
+<p>
+Pushes a <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem"><span class="type">GstDataQueueItem</span></a> (or a structure that begins with the same fields)
+on the <em class="parameter"><code>queue</code></em>. If the <em class="parameter"><code>queue</code></em> is full, the call will block until space is
+available, OR the <em class="parameter"><code>queue</code></em> is set to flushing state.
+MT safe.
+</p>
+<p>
+Note that this function has slightly different semantics than <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-push"><code class="function">gst_pad_push()</code></a>
+and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-push-event"><code class="function">gst_pad_push_event()</code></a>: this function only takes ownership of <em class="parameter"><code>item</code></em> and
+the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> contained in <em class="parameter"><code>item</code></em> if the push was successful. If FALSE
+is returned, the caller is responsible for freeing <em class="parameter"><code>item</code></em> and its contents.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>item</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem"><span class="type">GstDataQueueItem</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the <em class="parameter"><code>item</code></em> was successfully pushed on the <em class="parameter"><code>queue</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-data-queue-pop"></a><h3>gst_data_queue_pop ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_data_queue_pop (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem"><span class="type">GstDataQueueItem</span></a> **item</code></em>);</pre>
+<p>
+Retrieves the first <em class="parameter"><code>item</code></em> available on the <em class="parameter"><code>queue</code></em>. If the queue is currently
+empty, the call will block until at least one item is available, OR the
+<em class="parameter"><code>queue</code></em> is set to the flushing state.
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>item</code></em> :</span></p></td>
+<td>pointer to store the returned <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueItem" title="struct GstDataQueueItem"><span class="type">GstDataQueueItem</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if an <em class="parameter"><code>item</code></em> was successfully retrieved from the <em class="parameter"><code>queue</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-data-queue-flush"></a><h3>gst_data_queue_flush ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_data_queue_flush (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>);</pre>
+<p>
+Flushes all the contents of the <em class="parameter"><code>queue</code></em>. Any call to <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-push" title="gst_data_queue_push ()"><span class="type">gst_data_queue_push</span></a> and
+<a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-pop" title="gst_data_queue_pop ()"><span class="type">gst_data_queue_pop</span></a> will be released.
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>.</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-data-queue-set-flushing"></a><h3>gst_data_queue_set_flushing ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_data_queue_set_flushing (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flushing</code></em>);</pre>
+<p>
+Sets the queue to flushing state if <em class="parameter"><code>flushing</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a>. If set to flushing
+state, any incoming data on the <em class="parameter"><code>queue</code></em> will be discarded. Any call currently
+blocking on <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-push" title="gst_data_queue_push ()"><span class="type">gst_data_queue_push</span></a> or <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-pop" title="gst_data_queue_pop ()"><span class="type">gst_data_queue_pop</span></a> will return straight
+away with a return value of <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>. While the <em class="parameter"><code>queue</code></em> is in flushing state,
+all calls to those two functions will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.
+</p>
+<p>
+MT Safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>flushing</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> stating if the queue will be flushing or not.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-data-queue-drop-head"></a><h3>gst_data_queue_drop_head ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_data_queue_drop_head (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);</pre>
+<p>
+Pop and unref the head-most <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMiniObject.html#GstMiniObject"><span class="type">GstMiniObject</span></a> with the given <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
+<td>The <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> to drop an item from.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
+<td>The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the item to drop.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE if an element was removed.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-data-queue-is-full"></a><h3>gst_data_queue_is_full ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_data_queue_is_full (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>);</pre>
+<p>
+Queries if <em class="parameter"><code>queue</code></em> is full. This check will be done using the
+<a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueCheckFullFunction" title="GstDataQueueCheckFullFunction ()"><span class="type">GstDataQueueCheckFullFunction</span></a> registered with <em class="parameter"><code>queue</code></em>.
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>queue</code></em> is full.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-data-queue-is-empty"></a><h3>gst_data_queue_is_empty ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_data_queue_is_empty (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>);</pre>
+<p>
+Queries if there are any items in the <em class="parameter"><code>queue</code></em>.
+MT safe.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>queue</code></em> is empty.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-data-queue-get-level"></a><h3>gst_data_queue_get_level ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_data_queue_get_level (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueueSize" title="struct GstDataQueueSize"><span class="type">GstDataQueueSize</span></a> *level</code></em>);</pre>
+<p>
+Get the current level of the queue.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
+<td>The <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>level</code></em> :</span></p></td>
+<td>the location to store the result</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-data-queue-limits-changed"></a><h3>gst_data_queue_limits_changed ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_data_queue_limits_changed (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a> *queue</code></em>);</pre>
+<p>
+Inform the queue that the limits for the fullness check have changed and that
+any blocking <a class="link" href="gstreamer-libs-GstDataQueue.html#gst-data-queue-push" title="gst_data_queue_push ()"><code class="function">gst_data_queue_push()</code></a> should be unblocked to recheck the limts.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
+<td>The <a class="link" href="gstreamer-libs-GstDataQueue.html#GstDataQueue" title="struct GstDataQueue"><span class="type">GstDataQueue</span></a>
+</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstDirectControlBinding.html b/docs/libs/html/gstreamer-libs-GstDirectControlBinding.html
index 923ef7c..c600fd5 100644
--- a/docs/libs/html/gstreamer-libs-GstDirectControlBinding.html
+++ b/docs/libs/html/gstreamer-libs-GstDirectControlBinding.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstDirectControlBinding</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
<link rel="prev" href="gstreamer-libs-GstARGBControlBinding.html" title="GstARGBControlBinding">
@@ -49,7 +49,8 @@
<a name="gstreamer-libs-GstDirectControlBinding.description"></a><h2>Description</h2>
<p>
A value mapping object that attaches control sources to gobject properties. It
-will map the control values [0.0 ... 1.0] to the target property range.
+will map the control values [0.0 ... 1.0] to the target property range. If a
+control value is outside of the range, it will be clipped.
</p>
</div>
<div class="refsect1">
@@ -63,8 +64,11 @@ will map the control values [0.0 ... 1.0] to the target property range.
Create a new control-binding that attaches the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstControlSource.html"><span class="type">GstControlSource</span></a> to the
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> property.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
diff --git a/docs/libs/html/gstreamer-libs-GstNetTimePacket.html b/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
index b4d3d36..ef7a465 100644
--- a/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
+++ b/docs/libs/html/gstreamer-libs-GstNetTimePacket.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstNetTimePacket</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-net.html" title="GStreamer Network Classes">
<link rel="prev" href="GstNetClientClock.html" title="GstNetClientClock">
@@ -76,8 +76,11 @@ Last reviewed on 2005-11-23 (0.9.5)
<p>
Content of a <a class="link" href="gstreamer-libs-GstNetTimePacket.html#GstNetTimePacket" title="struct GstNetTimePacket"><span class="type">GstNetTimePacket</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstNetTimePacket.local-time"></a>local_time</code></em>;</span></p></td>
@@ -115,8 +118,11 @@ If <em class="parameter"><code>buffer</code></em> is <a href="http://library.gno
<p>
MT safe. Caller owns return value (gst_net_time_packet_free to free).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
@@ -140,8 +146,11 @@ MT safe. Caller owns return value (gst_net_time_packet_free to free).
Receives a <a class="link" href="gstreamer-libs-GstNetTimePacket.html#GstNetTimePacket" title="struct GstNetTimePacket"><span class="type">GstNetTimePacket</span></a> over a socket. Handles interrupted system
calls, but otherwise returns NULL on error.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>socket</code></em> :</span></p></td>
@@ -178,8 +187,11 @@ Sends a <a class="link" href="gstreamer-libs-GstNetTimePacket.html#GstNetTimePac
<p>
MT safe.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>packet</code></em> :</span></p></td>
@@ -217,8 +229,11 @@ network.
<p>
MT safe. Caller owns return value (g_free to free).
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>packet</code></em> :</span></p></td>
diff --git a/docs/libs/html/gstreamer-libs-GstQueueArray.html b/docs/libs/html/gstreamer-libs-GstQueueArray.html
new file mode 100644
index 0000000..02ff96b
--- /dev/null
+++ b/docs/libs/html/gstreamer-libs-GstQueueArray.html
@@ -0,0 +1,306 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GstQueueArray</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
+<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
+<link rel="prev" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">
+<link rel="next" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="gstreamer-libs-GstDataQueue.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="gstreamer-base.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">GStreamer 1.0 Library Reference Manual</th>
+<td><a accesskey="n" href="gstreamer-control.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#gstreamer-libs-GstQueueArray.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#gstreamer-libs-GstQueueArray.description" class="shortcut">Description</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="gstreamer-libs-GstQueueArray"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gstreamer-libs-GstQueueArray.top_of_page"></a>GstQueueArray</span></h2>
+<p>GstQueueArray — Array based queue object</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<a name="gstreamer-libs-GstQueueArray.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">
+#include &lt;gst/base/gstqueuearray.h&gt;
+
+ <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray">GstQueueArray</a>;
+<a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="returnvalue">GstQueueArray</span></a> * <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-new" title="gst_queue_array_new ()">gst_queue_array_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> initial_size</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-free" title="gst_queue_array_free ()">gst_queue_array_free</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-get-length" title="gst_queue_array_get_length ()">gst_queue_array_get_length</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-pop-head" title="gst_queue_array_pop_head ()">gst_queue_array_pop_head</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-peek-head" title="gst_queue_array_peek_head ()">gst_queue_array_peek_head</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-push-tail" title="gst_queue_array_push_tail ()">gst_queue_array_push_tail</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-is-empty" title="gst_queue_array_is_empty ()">gst_queue_array_is_empty</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-drop-element" title="gst_queue_array_drop_element ()">gst_queue_array_drop_element</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-find" title="gst_queue_array_find ()">gst_queue_array_find</a> (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GCompareFunc"><span class="type">GCompareFunc</span></a> func</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstQueueArray.description"></a><h2>Description</h2>
+<p>
+<a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> is an object that provides standard queue functionality
+based on an array instead of linked lists. This reduces the overhead
+caused by memory managment by a large factor.
+</p>
+</div>
+<div class="refsect1">
+<a name="gstreamer-libs-GstQueueArray.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="GstQueueArray"></a><h3>GstQueueArray</h3>
+<pre class="programlisting">typedef struct _GstQueueArray GstQueueArray;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-queue-array-new"></a><h3>gst_queue_array_new ()</h3>
+<pre class="programlisting"><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="returnvalue">GstQueueArray</span></a> * gst_queue_array_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> initial_size</code></em>);</pre>
+<p>
+Allocates a new <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object with an initial
+queue size of <em class="parameter"><code>initial_size</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>initial_size</code></em> :</span></p></td>
+<td>Initial size of the new queue</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-queue-array-free"></a><h3>gst_queue_array_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_queue_array_free (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);</pre>
+<p>
+Frees queue <em class="parameter"><code>array</code></em> and all memory associated to it.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>array</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-queue-array-get-length"></a><h3>gst_queue_array_get_length ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_queue_array_get_length (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);</pre>
+<p>
+Returns the length of the queue <em class="parameter"><code>array</code></em>
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>array</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the length of the queue <em class="parameter"><code>array</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-queue-array-pop-head"></a><h3>gst_queue_array_pop_head ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> gst_queue_array_pop_head (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);</pre>
+<p>
+Returns and head of the queue <em class="parameter"><code>array</code></em> and does not
+remove it from the queue.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>array</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The head of the queue</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-queue-array-peek-head"></a><h3>gst_queue_array_peek_head ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> gst_queue_array_peek_head (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-queue-array-push-tail"></a><h3>gst_queue_array_push_tail ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> gst_queue_array_push_tail (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
+<p>
+Pushes <em class="parameter"><code>data</code></em> to the tail of the queue <em class="parameter"><code>array</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>array</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
+<td>object to push</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-queue-array-is-empty"></a><h3>gst_queue_array_is_empty ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_queue_array_is_empty (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>);</pre>
+<p>
+Checks if the queue <em class="parameter"><code>array</code></em> is empty.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>array</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the queue <em class="parameter"><code>array</code></em> is empty</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-queue-array-drop-element"></a><h3>gst_queue_array_drop_element ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> gst_queue_array_drop_element (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
+<p>
+Drops the queue element at position <em class="parameter"><code>idx</code></em> from queue <em class="parameter"><code>array</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>array</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
+<td>index to drop</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the dropped element</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-queue-array-find"></a><h3>gst_queue_array_find ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_queue_array_find (<em class="parameter"><code><a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> *array</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GCompareFunc"><span class="type">GCompareFunc</span></a> func</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
+<p>
+Finds an element in the queue <em class="parameter"><code>array</code></em>, either by comparing every element
+with <em class="parameter"><code>func</code></em> or by looking up <em class="parameter"><code>data</code></em> if no compare function <em class="parameter"><code>func</code></em> is provided,
+and returning the index of the found element.
+</p>
+<p>
+Note that the index is not 0-based, but an internal index number with a
+random offset. The index can be used in connection with
+<a class="link" href="gstreamer-libs-GstQueueArray.html#gst-queue-array-drop-element" title="gst_queue_array_drop_element ()"><code class="function">gst_queue_array_drop_element()</code></a>. FIXME: return index 0-based and make
+<code class="function">_drop_element()</code> take a 0-based index.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>array</code></em> :</span></p></td>
+<td>a <a class="link" href="gstreamer-libs-GstQueueArray.html#GstQueueArray" title="GstQueueArray"><span class="type">GstQueueArray</span></a> object</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
+<td>comparison function, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to find <em class="parameter"><code>data</code></em> by value. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
+<td>data for comparison function</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>Index of the found element or -1 if nothing was found.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 1.2.0</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/libs/html/gstreamer-libs-GstStreamConsistency.html b/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
index 408ba59..7aec343 100644
--- a/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
+++ b/docs/libs/html/gstreamer-libs-GstStreamConsistency.html
@@ -3,11 +3,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstStreamConsistency</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-check.html" title="GStreamer Check Unit Testing">
<link rel="prev" href="gstreamer-libs-GstBufferStraw.html" title="GstBufferStraw">
-<link rel="next" href="gstreamer-hierarchy.html" title="Object Hierarchy">
+<link rel="next" href="GstTestClock.html" title="GstTestClock">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
@@ -18,7 +18,7 @@
<td><a accesskey="u" href="gstreamer-check.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer 1.0 Library Reference Manual</th>
-<td><a accesskey="n" href="gstreamer-hierarchy.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="GstTestClock.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gstreamer-libs-GstStreamConsistency.synopsis" class="shortcut">Top</a>
@@ -70,8 +70,11 @@ Opaque consistency checker handle.
Sets up a data probe on the given pad which will raise assertions if the
data flow is inconsistent.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
@@ -91,8 +94,11 @@ data flow is inconsistent.
<p>
Reset the stream checker's internal variables.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>consist</code></em> :</span></p></td>
<td>The <a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="type">GstStreamConsistency</span></a> to reset.</td>
@@ -106,8 +112,11 @@ Reset the stream checker's internal variables.
<p>
Frees the allocated data and probes associated with <em class="parameter"><code>consist</code></em>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>consist</code></em> :</span></p></td>
<td>The <a class="link" href="gstreamer-libs-GstStreamConsistency.html#GstStreamConsistency" title="GstStreamConsistency"><span class="type">GstStreamConsistency</span></a> to free.</td>
diff --git a/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html b/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
index cbf51c9..e045069 100644
--- a/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
+++ b/docs/libs/html/gstreamer-libs-GstTypeFindHelper.html
@@ -3,11 +3,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstTypeFindHelper</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-base.html" title="GStreamer Base and Utillity Classes">
<link rel="prev" href="GstCollectPads.html" title="GstCollectPads">
-<link rel="next" href="gstreamer-control.html" title="GStreamer Dynamic Parameter Control">
+<link rel="next" href="gstreamer-libs-GstDataQueue.html" title="GstDataQueue">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
@@ -18,7 +18,7 @@
<td><a accesskey="u" href="gstreamer-base.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer 1.0 Library Reference Manual</th>
-<td><a accesskey="n" href="gstreamer-control.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gstreamer-libs-GstDataQueue.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gstreamer-libs-GstTypeFindHelper.synopsis" class="shortcut">Top</a>
@@ -86,8 +86,11 @@ Tries to find what type of data is flowing from the given source <a href="http:/
<p>
Free-function: gst_caps_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
@@ -129,8 +132,11 @@ the content of the buffer could not be identified.
<p>
Free-function: gst_caps_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -174,8 +180,11 @@ returned.
<p>
Free-function: gst_caps_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -219,8 +228,11 @@ the content of <em class="parameter"><code>data</code></em> could not be identif
<p>
Free-function: gst_caps_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -272,8 +284,11 @@ return value.
<p>
This function is supposed to behave exactly like a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstPadGetRangeFunction"><span class="type">GstPadGetRangeFunction</span></a>.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
@@ -330,8 +345,11 @@ in many cases.
<p>
Free-function: gst_caps_unref
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
diff --git a/docs/libs/html/gstreamer-libs.html b/docs/libs/html/gstreamer-libs.html
index 1723b14..463f9d0 100644
--- a/docs/libs/html/gstreamer-libs.html
+++ b/docs/libs/html/gstreamer-libs.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Part I. GStreamer Libraries</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="prev" href="index.html" title="GStreamer 1.0 Library Reference Manual">
@@ -24,7 +24,7 @@
<a name="gstreamer-libs"></a>Part I. GStreamer Libraries</h1></div></div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
-<dl>
+<dl class="toc">
<dt><span class="chapter"><a href="gstreamer-base.html">GStreamer Base and Utillity Classes</a></span></dt>
<dd><dl>
<dt>
@@ -62,6 +62,12 @@
<dt>
<span class="refentrytitle"><a href="gstreamer-libs-GstTypeFindHelper.html">GstTypeFindHelper</a></span><span class="refpurpose"> — Utility functions for typefinding</span>
</dt>
+<dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstDataQueue.html">GstDataQueue</a></span><span class="refpurpose"> — Threadsafe queueing object</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstQueueArray.html">GstQueueArray</a></span><span class="refpurpose"> — Array based queue object</span>
+</dt>
</dl></dd>
<dt><span class="chapter"><a href="gstreamer-control.html">GStreamer Dynamic Parameter Control</a></span></dt>
<dd><dl>
@@ -110,6 +116,9 @@
<dt>
<span class="refentrytitle"><a href="gstreamer-libs-GstStreamConsistency.html">GstStreamConsistency</a></span><span class="refpurpose"> — Data flow consistency checker for GStreamer unit tests.</span>
</dt>
+<dt>
+<span class="refentrytitle"><a href="GstTestClock.html">GstTestClock</a></span><span class="refpurpose"> — Controllable, deterministic clock for GStreamer unit tests</span>
+</dt>
</dl></dd>
</dl>
</div>
diff --git a/docs/libs/html/gstreamer-net.html b/docs/libs/html/gstreamer-net.html
index bddefc7..a65bec8 100644
--- a/docs/libs/html/gstreamer-net.html
+++ b/docs/libs/html/gstreamer-net.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Network Classes</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
<link rel="prev" href="GstTriggerControlSource.html" title="GstTriggerControlSource">
@@ -22,7 +22,7 @@
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="gstreamer-net"></a>GStreamer Network Classes</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt>
<span class="refentrytitle"><a href="GstNetClientClock.html">GstNetClientClock</a></span><span class="refpurpose"> — Special clock that synchronizes to a remote time
provider.</span>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index 292a681..ffb6236 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Library Reference Manual">
<link rel="next" href="gstreamer-libs.html" title="Part I. GStreamer Libraries">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
@@ -15,14 +15,14 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer 1.0 Library Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GStreamer Library 1.0 (1.0.8)
+ for GStreamer Library 1.0 (1.1.1.1)
The latest version of this documentation can be found on-line at
<a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/</a>.
</p></div>
</div>
<hr>
</div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="part"><a href="gstreamer-libs.html">I. GStreamer Libraries</a></span></dt>
<dd><dl>
<dt><span class="chapter"><a href="gstreamer-base.html">GStreamer Base and Utillity Classes</a></span></dt>
@@ -62,6 +62,12 @@
<dt>
<span class="refentrytitle"><a href="gstreamer-libs-GstTypeFindHelper.html">GstTypeFindHelper</a></span><span class="refpurpose"> — Utility functions for typefinding</span>
</dt>
+<dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstDataQueue.html">GstDataQueue</a></span><span class="refpurpose"> — Threadsafe queueing object</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gstreamer-libs-GstQueueArray.html">GstQueueArray</a></span><span class="refpurpose"> — Array based queue object</span>
+</dt>
</dl></dd>
<dt><span class="chapter"><a href="gstreamer-control.html">GStreamer Dynamic Parameter Control</a></span></dt>
<dd><dl>
@@ -110,6 +116,9 @@
<dt>
<span class="refentrytitle"><a href="gstreamer-libs-GstStreamConsistency.html">GstStreamConsistency</a></span><span class="refpurpose"> — Data flow consistency checker for GStreamer unit tests.</span>
</dt>
+<dt>
+<span class="refentrytitle"><a href="GstTestClock.html">GstTestClock</a></span><span class="refpurpose"> — Controllable, deterministic clock for GStreamer unit tests</span>
+</dt>
</dl></dd>
</dl></dd>
<dt><span class="chapter"><a href="gstreamer-hierarchy.html">Object Hierarchy</a></span></dt>
diff --git a/docs/libs/html/index.sgml b/docs/libs/html/index.sgml
index 99109c8..ab5cf11 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -113,6 +113,7 @@
<ANCHOR id="GstBaseSink--blocksize" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--blocksize">
<ANCHOR id="GstBaseSink--enable-last-sample" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--enable-last-sample">
<ANCHOR id="GstBaseSink--last-sample" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--last-sample">
+<ANCHOR id="GstBaseSink--max-bitrate" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--max-bitrate">
<ANCHOR id="GstBaseSink--max-lateness" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--max-lateness">
<ANCHOR id="GstBaseSink--qos" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--qos">
<ANCHOR id="GstBaseSink--render-delay" href="gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink--render-delay">
@@ -459,6 +460,40 @@
<ANCHOR id="gst-type-find-helper-for-data" href="gstreamer-libs-1.0/gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-for-data">
<ANCHOR id="GstTypeFindHelperGetRangeFunction" href="gstreamer-libs-1.0/gstreamer-libs-GstTypeFindHelper.html#GstTypeFindHelperGetRangeFunction">
<ANCHOR id="gst-type-find-helper-get-range" href="gstreamer-libs-1.0/gstreamer-libs-GstTypeFindHelper.html#gst-type-find-helper-get-range">
+<ANCHOR id="gstreamer-libs-GstDataQueue" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html">
+<ANCHOR id="gstreamer-libs-GstDataQueue.synopsis" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gstreamer-libs-GstDataQueue.synopsis">
+<ANCHOR id="gstreamer-libs-GstDataQueue.description" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gstreamer-libs-GstDataQueue.description">
+<ANCHOR id="gstreamer-libs-GstDataQueue.details" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gstreamer-libs-GstDataQueue.details">
+<ANCHOR id="GstDataQueue" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#GstDataQueue">
+<ANCHOR id="GstDataQueueSize" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#GstDataQueueSize">
+<ANCHOR id="GstDataQueueCheckFullFunction" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#GstDataQueueCheckFullFunction">
+<ANCHOR id="GstDataQueueItem" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#GstDataQueueItem">
+<ANCHOR id="GstDataQueueEmptyCallback" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#GstDataQueueEmptyCallback">
+<ANCHOR id="GstDataQueueFullCallback" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#GstDataQueueFullCallback">
+<ANCHOR id="gst-data-queue-new" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gst-data-queue-new">
+<ANCHOR id="gst-data-queue-push" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gst-data-queue-push">
+<ANCHOR id="gst-data-queue-pop" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gst-data-queue-pop">
+<ANCHOR id="gst-data-queue-flush" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gst-data-queue-flush">
+<ANCHOR id="gst-data-queue-set-flushing" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gst-data-queue-set-flushing">
+<ANCHOR id="gst-data-queue-drop-head" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gst-data-queue-drop-head">
+<ANCHOR id="gst-data-queue-is-full" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gst-data-queue-is-full">
+<ANCHOR id="gst-data-queue-is-empty" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gst-data-queue-is-empty">
+<ANCHOR id="gst-data-queue-get-level" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gst-data-queue-get-level">
+<ANCHOR id="gst-data-queue-limits-changed" href="gstreamer-libs-1.0/gstreamer-libs-GstDataQueue.html#gst-data-queue-limits-changed">
+<ANCHOR id="gstreamer-libs-GstQueueArray" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html">
+<ANCHOR id="gstreamer-libs-GstQueueArray.synopsis" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gstreamer-libs-GstQueueArray.synopsis">
+<ANCHOR id="gstreamer-libs-GstQueueArray.description" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gstreamer-libs-GstQueueArray.description">
+<ANCHOR id="gstreamer-libs-GstQueueArray.details" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gstreamer-libs-GstQueueArray.details">
+<ANCHOR id="GstQueueArray" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#GstQueueArray">
+<ANCHOR id="gst-queue-array-new" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gst-queue-array-new">
+<ANCHOR id="gst-queue-array-free" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gst-queue-array-free">
+<ANCHOR id="gst-queue-array-get-length" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gst-queue-array-get-length">
+<ANCHOR id="gst-queue-array-pop-head" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gst-queue-array-pop-head">
+<ANCHOR id="gst-queue-array-peek-head" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gst-queue-array-peek-head">
+<ANCHOR id="gst-queue-array-push-tail" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gst-queue-array-push-tail">
+<ANCHOR id="gst-queue-array-is-empty" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gst-queue-array-is-empty">
+<ANCHOR id="gst-queue-array-drop-element" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gst-queue-array-drop-element">
+<ANCHOR id="gst-queue-array-find" href="gstreamer-libs-1.0/gstreamer-libs-GstQueueArray.html#gst-queue-array-find">
<ANCHOR id="gstreamer-libs-GstARGBControlBinding" href="gstreamer-libs-1.0/gstreamer-libs-GstARGBControlBinding.html">
<ANCHOR id="gstreamer-libs-GstARGBControlBinding.synopsis" href="gstreamer-libs-1.0/gstreamer-libs-GstARGBControlBinding.html#gstreamer-libs-GstARGBControlBinding.synopsis">
<ANCHOR id="gstreamer-libs-GstARGBControlBinding.description" href="gstreamer-libs-1.0/gstreamer-libs-GstARGBControlBinding.html#gstreamer-libs-GstARGBControlBinding.description">
@@ -583,12 +618,20 @@
<ANCHOR id="fail-unless-equals-string" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#fail-unless-equals-string">
<ANCHOR id="fail-unless-equals-uint64" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#fail-unless-equals-uint64">
<ANCHOR id="fail-unless-equals-int64" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#fail-unless-equals-int64">
+<ANCHOR id="fail-unless-equals-int-hex" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#fail-unless-equals-int-hex">
+<ANCHOR id="fail-unless-equals-int64-hex" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#fail-unless-equals-int64-hex">
+<ANCHOR id="fail-unless-equals-uint64-hex" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#fail-unless-equals-uint64-hex">
+<ANCHOR id="fail-unless-equals-pointer" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#fail-unless-equals-pointer">
<ANCHOR id="fail-unless-message-error" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#fail-unless-message-error">
<ANCHOR id="assert-equals-int" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#assert-equals-int">
<ANCHOR id="assert-equals-float" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#assert-equals-float">
<ANCHOR id="assert-equals-string" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#assert-equals-string">
<ANCHOR id="assert-equals-uint64" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#assert-equals-uint64">
<ANCHOR id="assert-equals-int64" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#assert-equals-int64">
+<ANCHOR id="assert-equals-int-hex" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#assert-equals-int-hex">
+<ANCHOR id="assert-equals-int64-hex" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#assert-equals-int64-hex">
+<ANCHOR id="assert-equals-uint64-hex" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#assert-equals-uint64-hex">
+<ANCHOR id="assert-equals-pointer" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#assert-equals-pointer">
<ANCHOR id="assert-message-error" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#assert-message-error">
<ANCHOR id="gst-check-init" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#gst-check-init">
<ANCHOR id="gst-check-message-error" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#gst-check-message-error">
@@ -607,6 +650,8 @@
<ANCHOR id="gst-check-element-push-buffer-list" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#gst-check-element-push-buffer-list">
<ANCHOR id="gst-check-element-push-buffer" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#gst-check-element-push-buffer">
<ANCHOR id="gst-check-run-suite" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#gst-check-run-suite">
+<ANCHOR id="gst-check-setup-events" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#gst-check-setup-events">
+<ANCHOR id="gst-check-setup-events-with-stream-id" href="gstreamer-libs-1.0/gstreamer-libs-GstCheck.html#gst-check-setup-events-with-stream-id">
<ANCHOR id="gstreamer-libs-GstBufferStraw" href="gstreamer-libs-1.0/gstreamer-libs-GstBufferStraw.html">
<ANCHOR id="gstreamer-libs-GstBufferStraw.synopsis" href="gstreamer-libs-1.0/gstreamer-libs-GstBufferStraw.html#gstreamer-libs-GstBufferStraw.synopsis">
<ANCHOR id="gstreamer-libs-GstBufferStraw.description" href="gstreamer-libs-1.0/gstreamer-libs-GstBufferStraw.html#gstreamer-libs-GstBufferStraw.description">
@@ -622,6 +667,28 @@
<ANCHOR id="gst-consistency-checker-new" href="gstreamer-libs-1.0/gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-new">
<ANCHOR id="gst-consistency-checker-reset" href="gstreamer-libs-1.0/gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-reset">
<ANCHOR id="gst-consistency-checker-free" href="gstreamer-libs-1.0/gstreamer-libs-GstStreamConsistency.html#gst-consistency-checker-free">
+<ANCHOR id="GstTestClock" href="gstreamer-libs-1.0/GstTestClock.html">
+<ANCHOR id="GstTestClock.synopsis" href="gstreamer-libs-1.0/GstTestClock.html#GstTestClock.synopsis">
+<ANCHOR id="GstTestClock.object-hierarchy" href="gstreamer-libs-1.0/GstTestClock.html#GstTestClock.object-hierarchy">
+<ANCHOR id="GstTestClock.properties" href="gstreamer-libs-1.0/GstTestClock.html#GstTestClock.properties">
+<ANCHOR id="GstTestClock.description" href="gstreamer-libs-1.0/GstTestClock.html#GstTestClock.description">
+<ANCHOR id="GstTestClock.details" href="gstreamer-libs-1.0/GstTestClock.html#GstTestClock.details">
+<ANCHOR id="GstTestClock-struct" href="gstreamer-libs-1.0/GstTestClock.html#GstTestClock-struct">
+<ANCHOR id="GstTestClockClass" href="gstreamer-libs-1.0/GstTestClock.html#GstTestClockClass">
+<ANCHOR id="gst-test-clock-new" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-new">
+<ANCHOR id="gst-test-clock-new-with-start-time" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-new-with-start-time">
+<ANCHOR id="gst-test-clock-set-time" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-set-time">
+<ANCHOR id="gst-test-clock-advance-time" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-advance-time">
+<ANCHOR id="gst-test-clock-peek-id-count" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-peek-id-count">
+<ANCHOR id="gst-test-clock-has-id" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-has-id">
+<ANCHOR id="gst-test-clock-peek-next-pending-id" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-peek-next-pending-id">
+<ANCHOR id="gst-test-clock-wait-for-next-pending-id" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-wait-for-next-pending-id">
+<ANCHOR id="gst-test-clock-wait-for-pending-id-count" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-wait-for-pending-id-count">
+<ANCHOR id="gst-test-clock-process-next-clock-id" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-process-next-clock-id">
+<ANCHOR id="gst-test-clock-get-next-entry-time" href="gstreamer-libs-1.0/GstTestClock.html#gst-test-clock-get-next-entry-time">
+<ANCHOR id="GstTestClock.property-details" href="gstreamer-libs-1.0/GstTestClock.html#GstTestClock.property-details">
+<ANCHOR id="GstTestClock--start-time" href="gstreamer-libs-1.0/GstTestClock.html#GstTestClock--start-time">
+<ANCHOR id="GstTestClock.see-also" href="gstreamer-libs-1.0/GstTestClock.html#GstTestClock.see-also">
<ANCHOR id="annotation-glossterm-out" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-out">
<ANCHOR id="annotation-glossterm-allow-none" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-allow-none">
<ANCHOR id="annotation-glossterm-closure" href="gstreamer-libs-1.0/annotation-glossary.html#annotation-glossterm-closure">
diff --git a/docs/manual/Makefile.in b/docs/manual/Makefile.in
index d7663b5..5b2341f 100644
--- a/docs/manual/Makefile.in
+++ b/docs/manual/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -38,23 +37,51 @@
# install directory trees :(
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -74,9 +101,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-DIST_COMMON = README $(srcdir)/../htmlinstall.mak \
- $(srcdir)/../manuals.mak $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(top_srcdir)/common/upload-doc.mak
+DIST_COMMON = $(srcdir)/../manuals.mak \
+ $(top_srcdir)/common/upload-doc.mak \
+ $(srcdir)/../htmlinstall.mak $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am README
subdir = docs/manual
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -84,7 +112,6 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -108,24 +135,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -162,6 +197,7 @@ am__uninstall_files_from_dir = { \
}
am__installdirs = "$(DESTDIR)$(manualdir)"
DATA = $(manual_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -261,15 +297,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -279,11 +311,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -291,6 +321,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -353,6 +384,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -585,11 +617,11 @@ uninstall-manualDATA:
@list='$(manual_DATA)'; test -n "$(manualdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(manualdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -723,17 +755,18 @@ uninstall-am: uninstall-local uninstall-manualDATA
.MAKE: check-am install-am install-strip
.PHONY: all all-am all-local check check-am check-local clean \
- clean-generic clean-libtool clean-local distclean \
- distclean-generic distclean-libtool distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-data-local install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-manualDATA \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-local uninstall-manualDATA
+ clean-generic clean-libtool clean-local cscopelist-am ctags-am \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-manualDATA install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags-am uninstall uninstall-am uninstall-local \
+ uninstall-manualDATA
### generate all documentation by default
@@ -773,20 +806,12 @@ $(BUILDDIR)/$(MAIN): $(XML) $(CSS) $(EXTRA_SRC)
cp ../version.entities $(BUILDDIR) ; \
cp $(top_srcdir)/docs/url.entities $(BUILDDIR)
-# we should switch to xsltproc
-# docbook2html aka jade can't add the encoding easily to the html meta
-# (but we are lazy and just abuse sed to add it)
-# jw -f docbook -b html -d pwg.dsl -o ../html -V '%use-id-as-filename%' $(MAIN)
-# this is a starting point
-# xsltproc --nonet /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl pwg.xml
-#
html/index.html: $(BUILDDIR)/$(MAIN) $(PNG_BUILT) $(FIG_SRC)
@$(MAKE) check-local
@echo "*** Generating HTML output ***"
@-mkdir -p html
@cp -f $(srcdir)/../image-png $(BUILDDIR)/image.entities
- @cd $(BUILDDIR) && SP_ENCODING="UTF-8" docbook2html -o ../html -V '%use-id-as-filename%' $(MAIN)
- @$(SED) -i -e 's/\(^CONTENT.*\)\(.>\)/\1;charset=UTF-8\2/' html/*html
+ @cd $(BUILDDIR) && $(XSLTPROC) -o ../html/ --stringparam chunker.output.encoding UTF-8 --stringparam use.id.as.filename 1 $(XSLTPROC_FLAGS) "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" $(MAIN)
@test "x$(CSS)" != "x" && \
echo "Copying .css files: $(CSS)" && \
cp $(srcdir)/$(CSS) html
@@ -860,7 +885,20 @@ $(BUILDIMAGESDIR)/%.ps: %.png
# make sure xml validates properly
check-local: $(BUILDDIR)/$(MAIN)
@cp -f $(srcdir)/../image-png $(BUILDDIR)/image.entities
- cd $(BUILDDIR) && xmllint -noout -valid $(MAIN)
+ @cd $(BUILDDIR) && xmllint -noout -valid $(MAIN)
+ @cd $(BUILDDIR) && \
+ if [ `which curl` ]; then \
+ links=`$(XSLTPROC) $(XSLTPROC_FLAGS) --xinclude $(abs_top_srcdir)/docs/list-ulink.xsl $(MAIN) | egrep '^http' | sort | uniq` && \
+ have_error=0 && \
+ for link in $$links; do \
+ code=`curl -s -m20 -o /dev/null -I -w "%{http_code}" $$link`; \
+ if [ \( $$? -ne 0 \) -o \( $$code -gt 399 \) ]; then \
+ echo "exit_status=$$?, http_code=$$code: $$link"; \
+ grep -Hnr "$$link" .; \
+ have_error=1; \
+ fi; \
+ done \
+ fi
# avoid 'cp: cannot create regular file `build/image.entities': File exists'
# errors during 'make distcheck' by disabling parallel builds
diff --git a/docs/manual/advanced-dataaccess.xml b/docs/manual/advanced-dataaccess.xml
index 983d757..7661191 100644
--- a/docs/manual/advanced-dataaccess.xml
+++ b/docs/manual/advanced-dataaccess.xml
@@ -579,7 +579,7 @@ main (gint argc,
</listitem>
<listitem>
<para>
- It the appsrc operates in live mode or not. This can be configured
+ If the appsrc operates in live mode or not. This can be configured
with the is-live property. When operating in live-mode it is
important to configure the min-latency and max-latency in appsrc.
The min-latency should be set to the amount of time it takes between
@@ -1396,7 +1396,7 @@ event_probe_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
gst_pad_remove_probe (pad, GST_PAD_PROBE_INFO_ID (info));
- /* push current event back into the queue */
+ /* push current effect back into the queue */
g_queue_push_tail (&effects, gst_object_ref (cur_effect));
/* take next effect from the queue */
next = g_queue_pop_head (&effects);
diff --git a/docs/manual/advanced-dparams.xml b/docs/manual/advanced-dparams.xml
index b7730af..4459e01 100644
--- a/docs/manual/advanced-dparams.xml
+++ b/docs/manual/advanced-dparams.xml
@@ -5,86 +5,97 @@
<title>Getting Started</title>
<para>
The controller subsystem offers a lightweight way to adjust gobject
- properties over stream-time. Normaly these properties are changed using
+ properties over stream-time. Normally these properties are changed using
<function>g_object_set()</function>. Timing those calls reliably so that
the changes affect certain stream times is close to impossible. The
controller takes time into account. It works by attaching control-sources
- to properties. Control-sources can provide new values for the properties
- for a given timestamp. At run-time the elements continously pull values
- changes for the current stream-time. GStreamer includes a few different
- control-sources, but applications can define their own by subclassing.
+ to properties using control-bindings. Control-sources provide values for a
+ given time-stamp that are usually in the range of 0.0 to 1.0.
+ Control-bindings map the control-value to a gobject property they are bound to
+ - converting the type and scaling to the target property value range.
+ At run-time the elements continuously pull values changes for the current
+ stream-time to update the gobject properties. GStreamer includes a few
+ different control-sources and control-bindings already, but applications can
+ define their own by sub-classing from the respective base classes.
</para>
<para>
- This subsystem is contained within the
+ Most parts of the controller mechanism is implemented in GstObject. Also the
+ base classes for control-sources and control-bindings are included in the core
+ library. The existing implementations are contained within the
<filename>gstcontroller</filename> library.
You need to include the header in your application's source file:
</para>
<programlisting>
...
#include &lt;gst/gst.h&gt;
-#include &lt;gst/controller/gstcontroller.h&gt;
+#include &lt;gst/controller/gstinterpolationcontrolsource.h&gt;
+#include &lt;gst/controller/gstdirectcontrolbinding.h&gt;
...
</programlisting>
<para>
- Your application should link to the shared library <filename>gstreamer-controller</filename>.
+ Your application should link to the shared library
+ <filename>gstreamer-controller</filename>. One can get the required flag for
+ compiler and linker by using pkg-config for gstreamer-controller-1.0.
</para>
- <para>
- The <filename>gstreamer-controller</filename> library needs to be initialized
- when your application is run. This can be done after the GStreamer
- library has been initialized.
- </para>
- <programlisting>
- ...
- gst_init (&amp;argc, &amp;argv);
- gst_controller_init (&amp;argc, &amp;argv);
- ...
- </programlisting>
</sect1>
<sect1 id="section-dparams-parameters">
<title>Setting up parameter control</title>
<para>
- Create a control-source. Lets use an interpolation control-source:
+ If we have our pipeline set up and want to control some parameters, we first
+ need to create a control-source. Lets use an interpolation control-source:
</para>
<programlisting>
csource = gst_interpolation_control_source_new ();
g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
</programlisting>
<para>
- Now we need to assign the control-source to the gobject property. One
- control source can only be assigned to one property.
+ Now we need to attach the control-source to the gobject property. This is done
+ with a control-binding. One control source can be attached to several object
+ properties (even in different objects) using separate control-bindings.
</para>
<programlisting>
gst_object_add_control_binding (object, gst_direct_control_binding_new (object, "prop1", csource));
</programlisting>
<para>
- This control-source takes new property values from a list of time-stamped
- parameter changes. The source can e.g. fill gaps by smoothing parameter
- changes. This behaviour can be configured by setting the
- interpolation-mode.
+ This type control-source takes new property values from a list of time-stamped
+ parameter changes. The source can e.g. fill gaps by smoothing parameter changes
+ This behavior can be configured by setting the mode property of the
+ control-source. Other control sources e.g. produce a stream of values by
+ calling <function>sin()</function> function. They have parameters to control
+ e.g. the frequency. As control-sources are GstObjects too, one can attach
+ control-sources to these properties too.
</para>
<para>
- Now we can set some control points. These are time-stamped GValues.
+ Now we can set some control points. These are time-stamped gdouble values and
+ are usually in the range of 0.0 to 1.0. A value of 1.0 is later mapped to the
+ maximum value in the target properties value range.
The values become active when the timestamp is reached. They still stay
in the list. If e.g. the pipeline runs a loop (using a segmented seek),
- the control-curve gets repeated as well. Other control-sources have
- different functions to specify the control-changes over time.
+ the control-curve gets repeated as well.
</para>
<programlisting>
- gst_timed_value_control_source_set ((GstTimedValueControlSource *)csource,0 * GST_SECOND, value1);
- gst_timed_value_control_source_set ((GstTimedValueControlSource *)csource,1 * GST_SECOND, value2);
+ GstTimedValueControlSource *tv_csource = (GstTimedValueControlSource *)csource;
+ gst_timed_value_control_source_set (tv_csource, 0 * GST_SECOND, 0.0);
+ gst_timed_value_control_source_set (tv_csource, 1 * GST_SECOND, 1.0);
</programlisting>
<para>
- Now everything is ready to play. One final note - the controller subsystem
- has a builtin live-mode. Even though a property has a control-source
- assigned one can change the GObject property through the
- <function>g_object_set()</function>.
+ Now everything is ready to play. If the control-source is e.g. bound to a
+ volume property, we will head a fade-in over 1 second. One word of caution,
+ the volume element that comes with gstreamer has a value range of 0.0 to 4.0
+ on its volume property. If the above control-source is attached to the property
+ the volume will ramp up to 400%!
+ </para>
+ <para>
+ One final note - the controller subsystem has a built-in live-mode. Even though
+ a property has a control-source assigned one can change the GObject property
+ through the <function>g_object_set()</function>.
This is highly useful when binding the GObject properties to GUI widgets.
When the user adjusts the value with the widget, one can set the GObject
property and this remains active until the next programmed control-source
- value overrides it. This also works with smoothed parameters. It might not
- work for control-sources that constantly update the property (e.g. the lfo
- control-source).
+ value overrides it. This also works with smoothed parameters. It does not
+ work for control-sources that constantly update the property (e.g. the
+ lfo_control_source).
</para>
</sect1>
diff --git a/docs/manual/advanced-metadata.xml b/docs/manual/advanced-metadata.xml
index ec34a2e..78a3677 100644
--- a/docs/manual/advanced-metadata.xml
+++ b/docs/manual/advanced-metadata.xml
@@ -10,7 +10,8 @@
description of the properties of a stream. This can include video size,
audio samplerate, codecs used and so on. Tags are handled using the
&GStreamer; tagging system. Stream-info can be retrieved from a
- <classname>GstPad</classname>.
+ <classname>GstPad</classname> by getting the current (negotiated)
+ <classname>GstCaps</classname> for that pad.
</para>
<sect1 id="section-tags-read">
@@ -59,7 +60,7 @@ print_one_tag (const GstTagList * list, const gchar * tag, gpointer user_data)
for (i = 0; i &lt; num; ++i) {
const GValue *val;
- /* Note: when looking for specific tags, use the g_tag_list_get_xyz() API,
+ /* Note: when looking for specific tags, use the gst_tag_list_get_xyz() API,
* we only use the GValue approach here because it is more generic */
val = gst_tag_list_get_value_index (list, tag, i);
if (G_VALUE_HOLDS_STRING (val)) {
@@ -72,11 +73,16 @@ print_one_tag (const GstTagList * list, const gchar * tag, gpointer user_data)
g_print ("\t%20s : %s\n", tag,
(g_value_get_boolean (val)) ? "true" : "false");
} else if (GST_VALUE_HOLDS_BUFFER (val)) {
- g_print ("\t%20s : buffer of size %u\n", tag,
- GST_BUFFER_SIZE (gst_value_get_buffer (val)));
- } else if (GST_VALUE_HOLDS_DATE (val)) {
- g_print ("\t%20s : date (year=%u,...)\n", tag,
- g_date_get_year (gst_value_get_date (val)));
+ GstBuffer *buf = gst_value_get_buffer (val);
+ guint buffer_size = gst_buffer_get_size (buf);
+
+ g_print ("\t%20s : buffer of size %u\n", tag, buffer_size);
+ } else if (GST_VALUE_HOLDS_DATE_TIME (val)) {
+ GstDateTime *dt = g_value_get_boxed (val);
+ gchar *dt_str = gst_date_time_to_iso8601_string (dt);
+
+ g_print ("\t%20s : %s\n", tag, dt_str);
+ g_free (dt_str);
} else {
g_print ("\t%20s : tag of type '%s'\n", tag, G_VALUE_TYPE_NAME (val));
}
diff --git a/docs/manual/advanced-threads.xml b/docs/manual/advanced-threads.xml
index 5925640..cf2f50c 100644
--- a/docs/manual/advanced-threads.xml
+++ b/docs/manual/advanced-threads.xml
@@ -101,8 +101,8 @@
<itemizedlist>
<listitem>
<para>
- When going from READY to PAUSED state, udpsrc will require a
- streaming thread for pushing data into the depayloader. It will
+ When going from READY to PAUSED state, fakesrc will require a
+ streaming thread for pushing data into the fakesink. It will
post a STREAM_STATUS message indicating its requirement for a
streaming thread.
</para>
diff --git a/docs/manual/appendix-integration.xml b/docs/manual/appendix-integration.xml
index 9be6602..67c8916 100644
--- a/docs/manual/appendix-integration.xml
+++ b/docs/manual/appendix-integration.xml
@@ -57,7 +57,7 @@
onwards. Nowadays, a whole bunch of GNOME applications make use of
&GStreamer; for media-processing, including (but not limited to)
<ulink type="http" url="http://www.rhythmbox.org/">Rhythmbox</ulink>,
- <ulink type="http" url="http://www.hadess.net/totem.php3">Totem</ulink>
+ <ulink type="http" url="http://projects.gnome.org/totem/">Totem</ulink>
and <ulink type="http"
url="http://www.burtonini.com/blog/computers/sound-juicer">Sound
Juicer</ulink>.
@@ -153,14 +153,8 @@ main (gint argc, gchar **argv)
</listitem>
<listitem>
<para>
- GNOME stores the default video and audio sources and sinks in GConf.
- &GStreamer; provides a number of elements that create audio and
- video sources and sinks directly based on those GConf settings.
- Those elements are: gconfaudiosink, gconfvideosink, gconfaudiosrc
- and gconfvideosrc. You can create them with
- <function>gst_element_factory_make ()</function> and use them
- directly just like you would use any other source or sink element.
- All GNOME applications are recommended to use those elements.
+ GNOME uses Pulseaudio for audio, use the pulsesrc and
+ pulsesink elements to have access to all the features.
</para>
</listitem>
<listitem>
diff --git a/docs/manual/appendix-porting.xml b/docs/manual/appendix-porting.xml
index 107db3e..0bc1e63 100644
--- a/docs/manual/appendix-porting.xml
+++ b/docs/manual/appendix-porting.xml
@@ -130,13 +130,17 @@
</chapter>
<chapter id="chapter-porting-1.0">
<title>Porting 0.10 applications to 1.0</title>
+
+ <para>This section outlines some of the changes necessary to port
+ applications from &GStreamer;-0.10 to &GStreamer;-1.0. For a
+ comprehensive and up-to-date list, see the separate <ulink
+ type="http"
+ url="http://cgit.freedesktop.org/gstreamer/gstreamer/plain/docs/random/porting-to-1.0.txt">
+ Porting to 1.0</ulink> document.
+ </para>
<para>
- This section of the appendix will discuss shortly what changes to
- applications will be needed to quickly and conveniently port most
- applications from &GStreamer;-0.10 to &GStreamer;-1.0, with references
- to the relevant sections in this Application Development Manual
- where needed. With this list, it should be possible to port simple
- applications to &GStreamer;-1.0 in less than a day.
+ It should be possible to port simple applications to
+ &GStreamer;-1.0 in less than a day.
</para>
<sect1 id="section-porting-objects-1.0">
@@ -145,7 +149,9 @@
<listitem>
<para>
All deprecated methods were removed. Recompile against 0.10 with
- DISABLE_DEPRECATED and fix issues before attempting to port to 1.0.
+ GST_DISABLE_DEPRECATED defined (such as by adding
+ -DGST_DISABLE_DEPRECATED to the compiler flags) and fix issues
+ before attempting to port to 1.0.
</para>
</listitem>
<listitem>
@@ -186,7 +192,8 @@
<para>
playbin also proxies the GstColorBalance and GstNavigation interfaces,
so applications that use this don't need to go fishing for elements
- that may implement those any more, but can just use them unconditionally.
+ that may implement those any more, but can just use on playbin
+ unconditionally.
</para>
</listitem>
<listitem>
diff --git a/docs/manual/basics-elements.xml b/docs/manual/basics-elements.xml
index 8f81493..8b104a9 100644
--- a/docs/manual/basics-elements.xml
+++ b/docs/manual/basics-elements.xml
@@ -283,9 +283,9 @@ main (int argc,
<para>
For more information about <classname>GObject</classname>
properties we recommend you read the <ulink
- url="http://developer.gnome.org/doc/API/2.0/gobject/index.html"
+ url="http://developer.gnome.org/gobject/stable/rn01.html"
type="http">GObject manual</ulink> and an introduction to <ulink
- url="http://developer.gnome.org/doc/API/2.0/gobject/pr01.html" type="http">
+ url="http://developer.gnome.org/gobject/stable/pt01.html" type="http">
The Glib Object system</ulink>.
</para>
<para>
diff --git a/docs/manual/basics-init.xml b/docs/manual/basics-init.xml
index f543caa..7a8467b 100644
--- a/docs/manual/basics-init.xml
+++ b/docs/manual/basics-init.xml
@@ -115,7 +115,7 @@ main (int argc,
</example>
<para>
As shown in this fragment, you can use a <ulink
- url="http://developer.gnome.org/doc/API/2.0/glib/glib-Commandline-option-parser.html"
+ url="http://developer.gnome.org/glib/stable/glib-Commandline-option-parser.html"
type="http">GOption</ulink> table to define your application-specific
command line options, and pass this table to the GLib initialization
function along with the option group returned from the
diff --git a/docs/manual/basics-pads.xml b/docs/manual/basics-pads.xml
index c490a25..a9e98d0 100644
--- a/docs/manual/basics-pads.xml
+++ b/docs/manual/basics-pads.xml
@@ -593,9 +593,9 @@ link_elements_with_filter (GstElement *element1, GstElement *element2)
<para>
See the API references for the full API of
<ulink type="http"
- url="&URLAPI;GstStructure.html"><classname>GstStructure</classname></ulink>
+ url="&URLAPI;gstreamer-GstStructure.html"><classname>GstStructure</classname></ulink>
and <ulink type="http"
- url="&URLAPI;GstCaps.html"><classname>GstCaps</classname></ulink>.
+ url="&URLAPI;gstreamer-GstCaps.html"><classname>GstCaps</classname></ulink>.
</para>
</sect2>
</sect1>
diff --git a/docs/manual/intro-motivation.xml b/docs/manual/intro-motivation.xml
index 88060fa..e2d7f21 100644
--- a/docs/manual/intro-motivation.xml
+++ b/docs/manual/intro-motivation.xml
@@ -287,10 +287,10 @@
<title>Provide a framework for codec experimentation</title>
<para>
&GStreamer; also wants to be an easy framework where codec
- developers can experiment with different algorithms, speeding up
- the development of open and free multimedia codecs like <ulink
- url="http://www.xiph.org/ogg/index.html" type="http">Theora and
- Vorbis</ulink>.
+ developers can experiment with different algorithms, speeding up the
+ development of open and free multimedia codecs like those developed
+ by the <ulink url="http://www.xiph.org" type="http">Xiph.Org
+ Foundation</ulink> (such as Theora and Vorbis.
</para>
</section>
diff --git a/docs/manual/state-diagram.fig b/docs/manual/state-diagram.fig
deleted file mode 100644
index 1b10e5d..0000000
--- a/docs/manual/state-diagram.fig
+++ /dev/null
@@ -1,46 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 3600 1950 480 480 3600 1950 3975 2250
-1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 3600 3150 480 480 3600 3150 3975 3450
-1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 3600 4350 480 480 3600 4350 3975 4650
-1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 4875 4350 480 480 4875 4350 5250 4650
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 1 1 1.00 60.00 120.00
- 3600 900 3600 1500
-2 2 0 1 7 7 50 0 -1 0.000 0 0 -1 0 0 5
- 1350 750 5550 750 5550 5100 1350 5100 1350 750
-3 2 0 1 0 7 50 0 -1 0.000 0 1 0 3
- 1 1 1.00 60.00 120.00
- 3150 1875 2700 2400 3150 2925
- 0.000 -1.000 0.000
-3 2 0 1 0 7 50 0 -1 0.000 0 1 0 3
- 1 1 1.00 60.00 120.00
- 3150 3150 2700 3675 3150 4200
- 0.000 -1.000 0.000
-3 2 0 1 0 7 50 0 -1 0.000 0 1 0 3
- 1 1 1.00 60.00 120.00
- 3750 3900 4275 3675 4800 3900
- 0.000 -1.000 0.000
-3 2 0 1 0 7 50 0 -1 0.000 0 1 0 3
- 1 1 1.00 60.00 120.00
- 4800 4800 4275 5025 3750 4800
- 0.000 -1.000 0.000
-3 2 0 1 0 7 50 0 -1 0.000 0 1 0 3
- 1 1 1.00 60.00 120.00
- 5175 3975 5175 2475 4050 1725
- 0.000 -1.000 0.000
-3 2 0 1 0 7 50 0 -1 0.000 0 1 0 3
- 1 1 1.00 60.00 120.00
- 3225 4650 1575 3300 3150 1725
- 0.000 -1.000 0.000
-4 0 0 50 0 0 12 0.0000 4 135 480 3375 2025 NULL\001
-4 0 0 50 0 0 12 0.0000 4 135 645 3300 3225 READY\001
-4 0 0 50 0 0 12 0.0000 4 135 810 3225 4425 PLAYING\001
-4 0 0 50 0 0 12 0.0000 4 135 735 4500 4425 PAUSED\001
diff --git a/docs/manuals.mak b/docs/manuals.mak
index ebf65e4..c0fec85 100644
--- a/docs/manuals.mak
+++ b/docs/manuals.mak
@@ -87,20 +87,12 @@ $(BUILDDIR)/$(MAIN): $(XML) $(CSS) $(EXTRA_SRC)
cp ../version.entities $(BUILDDIR) ; \
cp $(top_srcdir)/docs/url.entities $(BUILDDIR)
-# we should switch to xsltproc
-# docbook2html aka jade can't add the encoding easily to the html meta
-# (but we are lazy and just abuse sed to add it)
-# jw -f docbook -b html -d pwg.dsl -o ../html -V '%use-id-as-filename%' $(MAIN)
-# this is a starting point
-# xsltproc --nonet /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl pwg.xml
-#
html/index.html: $(BUILDDIR)/$(MAIN) $(PNG_BUILT) $(FIG_SRC)
@$(MAKE) check-local
@echo "*** Generating HTML output ***"
@-mkdir -p html
@cp -f $(srcdir)/../image-png $(BUILDDIR)/image.entities
- @cd $(BUILDDIR) && SP_ENCODING="UTF-8" docbook2html -o ../html -V '%use-id-as-filename%' $(MAIN)
- @$(SED) -i -e 's/\(^CONTENT.*\)\(.>\)/\1;charset=UTF-8\2/' html/*html
+ @cd $(BUILDDIR) && $(XSLTPROC) -o ../html/ --stringparam chunker.output.encoding UTF-8 --stringparam use.id.as.filename 1 $(XSLTPROC_FLAGS) "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" $(MAIN)
@test "x$(CSS)" != "x" && \
echo "Copying .css files: $(CSS)" && \
cp $(srcdir)/$(CSS) html
@@ -174,7 +166,20 @@ $(BUILDIMAGESDIR)/%.ps: %.png
# make sure xml validates properly
check-local: $(BUILDDIR)/$(MAIN)
@cp -f $(srcdir)/../image-png $(BUILDDIR)/image.entities
- cd $(BUILDDIR) && xmllint -noout -valid $(MAIN)
+ @cd $(BUILDDIR) && xmllint -noout -valid $(MAIN)
+ @cd $(BUILDDIR) && \
+ if [ `which curl` ]; then \
+ links=`$(XSLTPROC) $(XSLTPROC_FLAGS) --xinclude $(abs_top_srcdir)/docs/list-ulink.xsl $(MAIN) | egrep '^http' | sort | uniq` && \
+ have_error=0 && \
+ for link in $$links; do \
+ code=`curl -s -m20 -o /dev/null -I -w "%{http_code}" $$link`; \
+ if [ \( $$? -ne 0 \) -o \( $$code -gt 399 \) ]; then \
+ echo "exit_status=$$?, http_code=$$code: $$link"; \
+ grep -Hnr "$$link" .; \
+ have_error=1; \
+ fi; \
+ done \
+ fi
# avoid 'cp: cannot create regular file `build/image.entities': File exists'
# errors during 'make distcheck' by disabling parallel builds
diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am
index 6bb5083..19f28da 100644
--- a/docs/plugins/Makefile.am
+++ b/docs/plugins/Makefile.am
@@ -15,7 +15,7 @@ include $(top_srcdir)/common/upload-doc.mak
# Extra environment needed for Core only...
INSPECT_EXTRA_ENVIRONMENT= \
- GST_PLUGIN_SCANNER=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
+ GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
# The top-level SGML file. Change it if you want.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 1e17456..9ff92bf 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -32,23 +31,51 @@
# This is an include file specifically tuned for building documentation
# for GStreamer plug-ins
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -68,9 +95,9 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/common/gtk-doc-plugins.mak \
- $(top_srcdir)/common/upload-doc.mak
+DIST_COMMON = $(top_srcdir)/common/upload-doc.mak \
+ $(top_srcdir)/common/gtk-doc-plugins.mak $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am
subdir = docs/plugins
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -78,7 +105,6 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -102,24 +128,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -127,6 +161,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -226,15 +261,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -244,11 +275,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -256,6 +285,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -318,6 +348,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -426,7 +457,7 @@ DOC_URL = $(DOC_SERVER):$(DOC_BASE)
# Extra environment needed for Core only...
INSPECT_EXTRA_ENVIRONMENT = \
- GST_PLUGIN_SCANNER=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
+ GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner
# The top-level SGML file. Change it if you want.
@@ -581,9 +612,9 @@ INSPECT_DIR = inspect
@ENABLE_GTK_DOC_TRUE@INSPECT_REGISTRY = $(top_builddir)/docs/plugins/inspect-registry.xml
@ENABLE_GTK_DOC_TRUE@INSPECT_ENVIRONMENT = \
@ENABLE_GTK_DOC_TRUE@ LC_ALL=C \
-@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_SYSTEM_PATH= \
-@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_PATH=$(top_builddir)/gst:$(top_builddir)/sys:$(top_builddir)/ext:$(top_builddir)/plugins:$(top_builddir)/src:$(top_builddir)/gnl \
-@ENABLE_GTK_DOC_TRUE@ GST_REGISTRY=$(INSPECT_REGISTRY) \
+@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_SYSTEM_PATH_1_0= \
+@ENABLE_GTK_DOC_TRUE@ GST_PLUGIN_PATH_1_0=$(top_builddir)/gst:$(top_builddir)/sys:$(top_builddir)/ext:$(top_builddir)/plugins:$(top_builddir)/src:$(top_builddir)/gnl \
+@ENABLE_GTK_DOC_TRUE@ GST_REGISTRY_1_0=$(INSPECT_REGISTRY) \
@ENABLE_GTK_DOC_TRUE@ PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
@ENABLE_GTK_DOC_TRUE@ $(INSPECT_EXTRA_ENVIRONMENT)
@@ -631,11 +662,11 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -774,17 +805,17 @@ uninstall-am: uninstall-local
.MAKE: install-am install-strip
.PHONY: all all-am all-local check check-am clean clean-generic \
- clean-libtool clean-local dist-hook distclean \
- distclean-generic distclean-libtool distclean-local distdir \
- dvi dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-data-local install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-local
+ clean-libtool clean-local cscopelist-am ctags-am dist-hook \
+ distclean distclean-generic distclean-libtool distclean-local \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-data-local \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags-am uninstall uninstall-am uninstall-local
html: html-build.stamp
@@ -973,10 +1004,7 @@ update: scanobj-update
@ENABLE_GTK_DOC_TRUE@ mkhtml_options="$$mkhtml_options --verbose"; \
@ENABLE_GTK_DOC_TRUE@ fi; \
@ENABLE_GTK_DOC_TRUE@ fi; \
-@ENABLE_GTK_DOC_TRUE@ cd html && gtkdoc-mkhtml $$mkhtml_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE)
-@ENABLE_GTK_DOC_TRUE@ @mv html/index.sgml html/index.sgml.bak
-@ENABLE_GTK_DOC_TRUE@ @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_API_VERSION@\//g" html/index.sgml.bak >html/index.sgml
-@ENABLE_GTK_DOC_TRUE@ @rm -f html/index.sgml.bak
+@ENABLE_GTK_DOC_TRUE@ cd html && gtkdoc-mkhtml $$mkhtml_options $(DOC_MODULE)-@GST_API_VERSION@ $(DOC_MAIN_SGML_FILE)
@ENABLE_GTK_DOC_TRUE@ @rm -f html/$(DOC_MAIN_SGML_FILE)
@ENABLE_GTK_DOC_TRUE@ @rm -rf html/xml
@ENABLE_GTK_DOC_TRUE@ @rm -f html/version.entities
@@ -1036,9 +1064,9 @@ install-data-local:
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
done; \
fi; \
- echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \
- if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \
- $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
+ echo '-- Installing $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2' ; \
+ if test -e $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; then \
+ $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2 \
$(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
fi; \
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
diff --git a/docs/plugins/gstreamer-plugins.args b/docs/plugins/gstreamer-plugins.args
index be3f662..88dfe0e 100644
--- a/docs/plugins/gstreamer-plugins.args
+++ b/docs/plugins/gstreamer-plugins.args
@@ -1,545 +1,455 @@
<ARG>
-<NAME>GstPipeline::delay</NAME>
-<TYPE>guint64</TYPE>
+<NAME>GstValve::drop</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Delay</NICK>
-<BLURB>Expected delay needed for elements to spin up to PLAYING in nanoseconds.</BLURB>
-<DEFAULT>0</DEFAULT>
+<NICK>Drop buffers and events</NICK>
+<BLURB>Whether to drop buffers and events or let them through.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstPipeline::auto-flush-bus</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstTypeFindElement::caps</NAME>
+<TYPE>GstCaps*</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Auto Flush Bus</NICK>
-<BLURB>Whether to automatically flush the pipeline's bus when going from READY into NULL state.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
+<FLAGS>r</FLAGS>
+<NICK>caps</NICK>
+<BLURB>detected capabilities in stream.</BLURB>
+<DEFAULT></DEFAULT>
</ARG>
<ARG>
-<NAME>GstCapsFilter::caps</NAME>
+<NAME>GstTypeFindElement::force-caps</NAME>
<TYPE>GstCaps*</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Filter caps</NICK>
-<BLURB>Restrict the possible allowed capabilities (NULL means ANY). Setting this property takes a reference to the supplied GstCaps object.</BLURB>
+<NICK>force caps</NICK>
+<BLURB>force caps without doing a typefind.</BLURB>
<DEFAULT></DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::can-activate-pull</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstTypeFindElement::minimum</NAME>
+<TYPE>guint</TYPE>
+<RANGE>[1,100]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>minimum</NICK>
+<BLURB>minimum probability required to accept caps.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstTee::alloc-pad</NAME>
+<TYPE>GstPad*</TYPE>
<RANGE></RANGE>
-<FLAGS>rwx</FLAGS>
-<NICK>Can activate pull</NICK>
-<BLURB>Can activate in pull mode.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
+<FLAGS>rw</FLAGS>
+<NICK>Allocation Src Pad</NICK>
+<BLURB>The pad ALLOCATION queries will be proxied to (unused).</BLURB>
+<DEFAULT></DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::can-activate-push</NAME>
+<NAME>GstTee::has-chain</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rwx</FLAGS>
-<NICK>Can activate push</NICK>
-<BLURB>Can activate in push mode.</BLURB>
+<NICK>Has Chain</NICK>
+<BLURB>If the element can operate in push mode.</BLURB>
<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::data</NAME>
-<TYPE>GstFakeSrcDataType</TYPE>
+<NAME>GstTee::last-message</NAME>
+<TYPE>gchar*</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>data</NICK>
-<BLURB>Data allocation method.</BLURB>
-<DEFAULT>Allocate data</DEFAULT>
+<FLAGS>r</FLAGS>
+<NICK>Last Message</NICK>
+<BLURB>The message describing current status.</BLURB>
+<DEFAULT>NULL</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::datarate</NAME>
+<NAME>GstTee::num-src-pads</NAME>
<TYPE>gint</TYPE>
<RANGE>>= 0</RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Datarate</NICK>
-<BLURB>Timestamps buffers with number of bytes per second (0 = none).</BLURB>
+<FLAGS>r</FLAGS>
+<NICK>Num Src Pads</NICK>
+<BLURB>The number of source pads.</BLURB>
<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::dump</NAME>
-<TYPE>gboolean</TYPE>
-<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Dump</NICK>
-<BLURB>Dump buffer contents to stdout.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstFakeSrc::filltype</NAME>
-<TYPE>GstFakeSrcFillType</TYPE>
+<NAME>GstTee::pull-mode</NAME>
+<TYPE>GstTeePullMode</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>filltype</NICK>
-<BLURB>How to fill the buffer, if at all.</BLURB>
-<DEFAULT>Fill buffers with zeros</DEFAULT>
+<FLAGS>rwx</FLAGS>
+<NICK>Pull mode</NICK>
+<BLURB>Behavior of tee in pull mode.</BLURB>
+<DEFAULT>Never activate in pull mode</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::is-live</NAME>
+<NAME>GstTee::silent</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rwx</FLAGS>
-<NICK>Is this a live source</NICK>
-<BLURB>True if the element cannot produce data in PAUSED.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Silent</NICK>
+<BLURB>Don't produce last_message events.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::last-message</NAME>
-<TYPE>gchar*</TYPE>
+<NAME>GstQueue2::current-level-buffers</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>r</FLAGS>
-<NICK>last-message</NICK>
-<BLURB>The last status message.</BLURB>
-<DEFAULT>NULL</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstFakeSrc::parentsize</NAME>
-<TYPE>gint</TYPE>
-<RANGE>>= 0</RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>parentsize</NICK>
-<BLURB>Size of parent buffer for sub-buffered allocation.</BLURB>
-<DEFAULT>40960</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstFakeSrc::pattern</NAME>
-<TYPE>gchar*</TYPE>
-<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>pattern</NICK>
-<BLURB>pattern.</BLURB>
-<DEFAULT>NULL</DEFAULT>
+<NICK>Current level (buffers)</NICK>
+<BLURB>Current number of buffers in the queue.</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::signal-handoffs</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstQueue2::current-level-bytes</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Signal handoffs</NICK>
-<BLURB>Send a signal before pushing the buffer.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<FLAGS>r</FLAGS>
+<NICK>Current level (kB)</NICK>
+<BLURB>Current amount of data in the queue (bytes).</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::silent</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstQueue2::current-level-time</NAME>
+<TYPE>guint64</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Silent</NICK>
-<BLURB>Don't produce last_message events.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
+<FLAGS>r</FLAGS>
+<NICK>Current level (ns)</NICK>
+<BLURB>Current amount of data in the queue (in ns).</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::sizemax</NAME>
+<NAME>GstQueue2::high-percent</NAME>
<TYPE>gint</TYPE>
-<RANGE>>= 0</RANGE>
+<RANGE>[0,100]</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>sizemax</NICK>
-<BLURB>Maximum buffer size.</BLURB>
-<DEFAULT>4096</DEFAULT>
+<NICK>High percent</NICK>
+<BLURB>High threshold for buffering to finish. Only used if use-buffering is True.</BLURB>
+<DEFAULT>99</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::sizemin</NAME>
+<NAME>GstQueue2::low-percent</NAME>
<TYPE>gint</TYPE>
-<RANGE>>= 0</RANGE>
+<RANGE>[0,100]</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>sizemin</NICK>
-<BLURB>Minimum buffer size.</BLURB>
-<DEFAULT>0</DEFAULT>
+<NICK>Low percent</NICK>
+<BLURB>Low threshold for buffering to start. Only used if use-buffering is True.</BLURB>
+<DEFAULT>10</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::sizetype</NAME>
-<TYPE>GstFakeSrcSizeType</TYPE>
+<NAME>GstQueue2::max-size-buffers</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>sizetype</NICK>
-<BLURB>How to determine buffer sizes.</BLURB>
-<DEFAULT>Send empty buffers</DEFAULT>
+<NICK>Max. size (buffers)</NICK>
+<BLURB>Max. number of buffers in the queue (0=disable).</BLURB>
+<DEFAULT>100</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::sync</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstQueue2::max-size-bytes</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Sync</NICK>
-<BLURB>Sync to the clock to the datarate.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Max. size (kB)</NICK>
+<BLURB>Max. amount of data in the queue (bytes, 0=disable).</BLURB>
+<DEFAULT>2097152</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSrc::format</NAME>
-<TYPE>GstFormat</TYPE>
+<NAME>GstQueue2::max-size-time</NAME>
+<TYPE>guint64</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Format</NICK>
-<BLURB>The format of the segment events.</BLURB>
-<DEFAULT>GST_FORMAT_BYTES</DEFAULT>
+<NICK>Max. size (ns)</NICK>
+<BLURB>Max. amount of data in the queue (in ns, 0=disable).</BLURB>
+<DEFAULT>2000000000</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSink::can-activate-pull</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstQueue2::ring-buffer-max-size</NAME>
+<TYPE>guint64</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Can activate pull</NICK>
-<BLURB>Can activate in pull mode.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Max. ring buffer size (bytes)</NICK>
+<BLURB>Max. amount of data in the ring buffer (bytes, 0 = disabled).</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSink::can-activate-push</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstQueue2::temp-location</NAME>
+<TYPE>gchar*</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Can activate push</NICK>
-<BLURB>Can activate in push mode.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
+<FLAGS>r</FLAGS>
+<NICK>Temporary File Location</NICK>
+<BLURB>Location to store temporary files in (Only read this property, use temp-template to configure the name template).</BLURB>
+<DEFAULT>NULL</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSink::dump</NAME>
+<NAME>GstQueue2::temp-remove</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Dump</NICK>
-<BLURB>Dump buffer contents to stdout.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Remove the Temporary File</NICK>
+<BLURB>Remove the temp-location after use.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSink::last-message</NAME>
+<NAME>GstQueue2::temp-template</NAME>
<TYPE>gchar*</TYPE>
<RANGE></RANGE>
-<FLAGS>r</FLAGS>
-<NICK>Last Message</NICK>
-<BLURB>The message describing current status.</BLURB>
+<FLAGS>rw</FLAGS>
+<NICK>Temporary File Template</NICK>
+<BLURB>File template to store temporary files in, should contain directory and XXXXXX. (NULL == disabled).</BLURB>
<DEFAULT>NULL</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSink::signal-handoffs</NAME>
+<NAME>GstQueue2::use-buffering</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Signal handoffs</NICK>
-<BLURB>Send a signal before unreffing the buffer.</BLURB>
+<NICK>Use buffering</NICK>
+<BLURB>Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSink::silent</NAME>
+<NAME>GstQueue2::use-rate-estimate</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Silent</NICK>
-<BLURB>Don't produce last_message events.</BLURB>
+<NICK>Use Rate Estimate</NICK>
+<BLURB>Estimate the bitrate of the stream to calculate time level.</BLURB>
<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFakeSink::state-error</NAME>
-<TYPE>GstFakeSinkStateError</TYPE>
+<NAME>GstQueue::current-level-buffers</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>State Error</NICK>
-<BLURB>Generate a state change error.</BLURB>
-<DEFAULT>No state change errors</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstFakeSink::num-buffers</NAME>
-<TYPE>gint</TYPE>
-<RANGE>>= G_MAXULONG</RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>num-buffers</NICK>
-<BLURB>Number of buffers to accept going EOS.</BLURB>
-<DEFAULT>-1</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstFdSrc::fd</NAME>
-<TYPE>gint</TYPE>
-<RANGE>>= 0</RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>fd</NICK>
-<BLURB>An open file descriptor to read from.</BLURB>
+<FLAGS>r</FLAGS>
+<NICK>Current level (buffers)</NICK>
+<BLURB>Current number of buffers in the queue.</BLURB>
<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFdSrc::timeout</NAME>
-<TYPE>guint64</TYPE>
+<NAME>GstQueue::current-level-bytes</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Timeout</NICK>
-<BLURB>Post a message after timeout microseconds (0 = disabled).</BLURB>
+<FLAGS>r</FLAGS>
+<NICK>Current level (kB)</NICK>
+<BLURB>Current amount of data in the queue (bytes).</BLURB>
<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFileSrc::fd</NAME>
-<TYPE>gint</TYPE>
-<RANGE>>= 0</RANGE>
+<NAME>GstQueue::current-level-time</NAME>
+<TYPE>guint64</TYPE>
+<RANGE></RANGE>
<FLAGS>r</FLAGS>
-<NICK>File-descriptor</NICK>
-<BLURB>File-descriptor for the file being mmap()d.</BLURB>
+<NICK>Current level (ns)</NICK>
+<BLURB>Current amount of data in the queue (in ns).</BLURB>
<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFileSrc::location</NAME>
-<TYPE>gchar*</TYPE>
+<NAME>GstQueue::flush-on-eos</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>File Location</NICK>
-<BLURB>Location of the file to read.</BLURB>
-<DEFAULT>NULL</DEFAULT>
+<NICK>Flush on EOS</NICK>
+<BLURB>Discard all data in the queue when an EOS event is received.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFileSrc::mmapsize</NAME>
-<TYPE>gulong</TYPE>
+<NAME>GstQueue::leaky</NAME>
+<TYPE>GstQueueLeaky</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>mmap() Block Size</NICK>
-<BLURB>Size in bytes of mmap()d regions.</BLURB>
-<DEFAULT></DEFAULT>
+<NICK>Leaky</NICK>
+<BLURB>Where the queue leaks, if at all.</BLURB>
+<DEFAULT>Not Leaky</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFileSrc::touch</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstQueue::max-size-buffers</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Touch mapped region read data</NICK>
-<BLURB>Touch mmapped data regions to force them to be read from disk.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
+<NICK>Max. size (buffers)</NICK>
+<BLURB>Max. number of buffers in the queue (0=disable).</BLURB>
+<DEFAULT>200</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFileSrc::use-mmap</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstQueue::max-size-bytes</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Use mmap to read data</NICK>
-<BLURB>Whether to use mmap() instead of read().</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Max. size (kB)</NICK>
+<BLURB>Max. amount of data in the queue (bytes, 0=disable).</BLURB>
+<DEFAULT>10485760</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFileSrc::sequential</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstQueue::max-size-time</NAME>
+<TYPE>guint64</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Optimise for sequential mmap access</NICK>
-<BLURB>Whether to use madvise to hint to the kernel that access to mmap pages will be sequential.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Max. size (ns)</NICK>
+<BLURB>Max. amount of data in the queue (in ns, 0=disable).</BLURB>
+<DEFAULT>1000000000</DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::check-perfect</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstQueue::min-threshold-buffers</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Check For Perfect Stream</NICK>
-<BLURB>Verify that the stream is time- and data-contiguous. This only logs in the debug log. This will be deprecated in favor of the check-imperfect-timestamp/offset properties.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Min. threshold (buffers)</NICK>
+<BLURB>Min. number of buffers in the queue to allow reading (0=disable).</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::datarate</NAME>
-<TYPE>gint</TYPE>
-<RANGE>>= 0</RANGE>
+<NAME>GstQueue::min-threshold-bytes</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Datarate</NICK>
-<BLURB>(Re)timestamps buffers with number of bytes per second (0 = inactive).</BLURB>
+<NICK>Min. threshold (kB)</NICK>
+<BLURB>Min. amount of data in the queue to allow reading (bytes, 0=disable).</BLURB>
<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::drop-probability</NAME>
-<TYPE>gfloat</TYPE>
-<RANGE>[0,1]</RANGE>
+<NAME>GstQueue::min-threshold-time</NAME>
+<TYPE>guint64</TYPE>
+<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Drop Probability</NICK>
-<BLURB>The Probability a buffer is dropped.</BLURB>
+<NICK>Min. threshold (ns)</NICK>
+<BLURB>Min. amount of data in the queue to allow reading (in ns, 0=disable).</BLURB>
<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::dump</NAME>
+<NAME>GstQueue::silent</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Dump</NICK>
-<BLURB>Dump buffer contents to stdout.</BLURB>
+<NICK>Silent</NICK>
+<BLURB>Don't emit queue signals.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::error-after</NAME>
-<TYPE>gint</TYPE>
+<NAME>GstOutputSelector::active-pad</NAME>
+<TYPE>GstPad*</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Error After</NICK>
-<BLURB>Error after N buffers.</BLURB>
-<DEFAULT>-1</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstIdentity::last-message</NAME>
-<TYPE>gchar*</TYPE>
-<RANGE></RANGE>
-<FLAGS>r</FLAGS>
-<NICK>last-message</NICK>
-<BLURB>last-message.</BLURB>
-<DEFAULT>NULL</DEFAULT>
+<NICK>Active pad</NICK>
+<BLURB>Currently active src pad.</BLURB>
+<DEFAULT></DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::silent</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstOutputSelector::pad-negotiation-mode</NAME>
+<TYPE>GstOutputSelectorPadNegotiationMode</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>silent</NICK>
-<BLURB>silent.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
+<NICK>Pad negotiation mode</NICK>
+<BLURB>The mode to be used for pad negotiation.</BLURB>
+<DEFAULT>All</DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::single-segment</NAME>
+<NAME>GstOutputSelector::resend-latest</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Single Segment</NICK>
-<BLURB>Timestamp buffers and eat segments so as to appear as one segment.</BLURB>
+<NICK>Resend latest buffer</NICK>
+<BLURB>Resend latest buffer after a switch to a new pad.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::sleep-time</NAME>
+<NAME>GstMultiQueue::extra-size-buffers</NAME>
<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Sleep time</NICK>
-<BLURB>Microseconds to sleep between processing.</BLURB>
-<DEFAULT>0</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstIdentity::sync</NAME>
-<TYPE>gboolean</TYPE>
-<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Synchronize</NICK>
-<BLURB>Synchronize to pipeline clock.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Extra Size (buffers)</NICK>
+<BLURB>Amount of buffers the queues can grow if one of them is empty (0=disable) (NOT IMPLEMENTED).</BLURB>
+<DEFAULT>5</DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::check-imperfect-offset</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstMultiQueue::extra-size-bytes</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Check for discontiguous offset</NICK>
-<BLURB>Send element messages if offset and offset_end do not match up.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Extra Size (kB)</NICK>
+<BLURB>Amount of data the queues can grow if one of them is empty (bytes, 0=disable) (NOT IMPLEMENTED).</BLURB>
+<DEFAULT>10485760</DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::check-imperfect-timestamp</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstMultiQueue::extra-size-time</NAME>
+<TYPE>guint64</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Check for discontiguous timestamps</NICK>
-<BLURB>Send element messages if timestamps and durations do not match up.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Extra Size (ns)</NICK>
+<BLURB>Amount of time the queues can grow if one of them is empty (in ns, 0=disable) (NOT IMPLEMENTED).</BLURB>
+<DEFAULT>3000000000</DEFAULT>
</ARG>
<ARG>
-<NAME>GstIdentity::signal-handoffs</NAME>
-<TYPE>gboolean</TYPE>
-<RANGE></RANGE>
+<NAME>GstMultiQueue::high-percent</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,100]</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Signal handoffs</NICK>
-<BLURB>Send a signal before pushing the buffer.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstQueue::current-level-buffers</NAME>
-<TYPE>guint</TYPE>
-<RANGE></RANGE>
-<FLAGS>r</FLAGS>
-<NICK>Current level (buffers)</NICK>
-<BLURB>Current number of buffers in the queue.</BLURB>
-<DEFAULT>0</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstQueue::current-level-bytes</NAME>
-<TYPE>guint</TYPE>
-<RANGE></RANGE>
-<FLAGS>r</FLAGS>
-<NICK>Current level (kB)</NICK>
-<BLURB>Current amount of data in the queue (bytes).</BLURB>
-<DEFAULT>0</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstQueue::current-level-time</NAME>
-<TYPE>guint64</TYPE>
-<RANGE></RANGE>
-<FLAGS>r</FLAGS>
-<NICK>Current level (ns)</NICK>
-<BLURB>Current amount of data in the queue (in ns).</BLURB>
-<DEFAULT>0</DEFAULT>
+<NICK>High percent</NICK>
+<BLURB>High threshold for buffering to finish.</BLURB>
+<DEFAULT>99</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue::leaky</NAME>
-<TYPE>GstQueueLeaky</TYPE>
-<RANGE></RANGE>
+<NAME>GstMultiQueue::low-percent</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,100]</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Leaky</NICK>
-<BLURB>Where the queue leaks, if at all.</BLURB>
-<DEFAULT>Not Leaky</DEFAULT>
+<NICK>Low percent</NICK>
+<BLURB>Low threshold for buffering to start.</BLURB>
+<DEFAULT>10</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue::max-size-buffers</NAME>
+<NAME>GstMultiQueue::max-size-buffers</NAME>
<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Max. size (buffers)</NICK>
<BLURB>Max. number of buffers in the queue (0=disable).</BLURB>
-<DEFAULT>200</DEFAULT>
+<DEFAULT>5</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue::max-size-bytes</NAME>
+<NAME>GstMultiQueue::max-size-bytes</NAME>
<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
@@ -549,562 +459,542 @@
</ARG>
<ARG>
-<NAME>GstQueue::max-size-time</NAME>
+<NAME>GstMultiQueue::max-size-time</NAME>
<TYPE>guint64</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Max. size (ns)</NICK>
<BLURB>Max. amount of data in the queue (in ns, 0=disable).</BLURB>
-<DEFAULT>1000000000</DEFAULT>
+<DEFAULT>2000000000</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue::min-threshold-buffers</NAME>
-<TYPE>guint</TYPE>
+<NAME>GstMultiQueue::sync-by-running-time</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Min. threshold (buffers)</NICK>
-<BLURB>Min. number of buffers in the queue to allow reading (0=disable).</BLURB>
-<DEFAULT>0</DEFAULT>
+<NICK>Sync By Running Time</NICK>
+<BLURB>Synchronize deactivated or not-linked streams by running time.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue::min-threshold-bytes</NAME>
-<TYPE>guint</TYPE>
+<NAME>GstMultiQueue::use-buffering</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Min. threshold (kB)</NICK>
-<BLURB>Min. amount of data in the queue to allow reading (bytes, 0=disable).</BLURB>
-<DEFAULT>0</DEFAULT>
+<NICK>Use buffering</NICK>
+<BLURB>Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue::min-threshold-time</NAME>
-<TYPE>guint64</TYPE>
+<NAME>GstInputSelector::active-pad</NAME>
+<TYPE>GstPad*</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Min. threshold (ns)</NICK>
-<BLURB>Min. amount of data in the queue to allow reading (in ns, 0=disable).</BLURB>
-<DEFAULT>0</DEFAULT>
+<NICK>Active pad</NICK>
+<BLURB>The currently active sink pad.</BLURB>
+<DEFAULT></DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue::silent</NAME>
+<NAME>GstInputSelector::cache-buffers</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Silent</NICK>
-<BLURB>Don't emit queue signals.</BLURB>
+<NICK>Cache Buffers</NICK>
+<BLURB>Cache buffers for active-pad.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFileSink::location</NAME>
-<TYPE>gchar*</TYPE>
+<NAME>GstInputSelector::n-pads</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>File Location</NICK>
-<BLURB>Location of the file to write.</BLURB>
-<DEFAULT>NULL</DEFAULT>
+<FLAGS>r</FLAGS>
+<NICK>Number of Pads</NICK>
+<BLURB>The number of sink pads.</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFileSink::buffer-mode</NAME>
-<TYPE>GstFileSinkBufferMode</TYPE>
+<NAME>GstInputSelector::sync-mode</NAME>
+<TYPE>GstInputSelectorSyncMode</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Buffering mode</NICK>
-<BLURB>The buffering mode to use.</BLURB>
-<DEFAULT>Default buffering</DEFAULT>
+<NICK>Sync mode</NICK>
+<BLURB>Behavior in sync-streams mode.</BLURB>
+<DEFAULT>Sync using the current active segment</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFileSink::buffer-size</NAME>
-<TYPE>guint</TYPE>
+<NAME>GstInputSelector::sync-streams</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Buffering size</NICK>
-<BLURB>Size of buffer in number of bytes for line or full buffer-mode.</BLURB>
-<DEFAULT>65536</DEFAULT>
+<NICK>Sync Streams</NICK>
+<BLURB>Synchronize inactive streams to the running time of the active stream or to the current clock.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFileSink::append</NAME>
+<NAME>GstIdentity::check-imperfect-offset</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Append</NICK>
-<BLURB>Append to an already existing file.</BLURB>
+<NICK>Check for discontiguous offset</NICK>
+<BLURB>Send element messages if offset and offset_end do not match up.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstTee::has-chain</NAME>
-<TYPE>gboolean</TYPE>
-<RANGE></RANGE>
-<FLAGS>rwx</FLAGS>
-<NICK>Has Chain</NICK>
-<BLURB>If the element can operate in push mode.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstTee::has-sink-loop</NAME>
+<NAME>GstIdentity::check-imperfect-timestamp</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
-<FLAGS>rwx</FLAGS>
-<NICK>Has Sink Loop</NICK>
-<BLURB>If the element should spawn a thread (unimplemented and deprecated).</BLURB>
+<FLAGS>rw</FLAGS>
+<NICK>Check for discontiguous timestamps</NICK>
+<BLURB>Send element messages if timestamps and durations do not match up.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstTee::last-message</NAME>
-<TYPE>gchar*</TYPE>
-<RANGE></RANGE>
-<FLAGS>r</FLAGS>
-<NICK>Last Message</NICK>
-<BLURB>The message describing current status.</BLURB>
-<DEFAULT>NULL</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstTee::num-src-pads</NAME>
+<NAME>GstIdentity::datarate</NAME>
<TYPE>gint</TYPE>
<RANGE>>= 0</RANGE>
-<FLAGS>r</FLAGS>
-<NICK>Num Src Pads</NICK>
-<BLURB>The number of source pads.</BLURB>
+<FLAGS>rw</FLAGS>
+<NICK>Datarate</NICK>
+<BLURB>(Re)timestamps buffers with number of bytes per second (0 = inactive).</BLURB>
<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstTee::silent</NAME>
-<TYPE>gboolean</TYPE>
-<RANGE></RANGE>
-<FLAGS>rwx</FLAGS>
-<NICK>Silent</NICK>
-<BLURB>Don't produce last_message events.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
+<NAME>GstIdentity::drop-probability</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Drop Probability</NICK>
+<BLURB>The Probability a buffer is dropped.</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstTee::pull-mode</NAME>
-<TYPE>GstTeePullMode</TYPE>
+<NAME>GstIdentity::dump</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
-<FLAGS>rwx</FLAGS>
-<NICK>Pull mode</NICK>
-<BLURB>Behavior of tee in pull mode.</BLURB>
-<DEFAULT>Never activate in pull mode</DEFAULT>
+<FLAGS>rw</FLAGS>
+<NICK>Dump</NICK>
+<BLURB>Dump buffer contents to stdout.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstTee::alloc-pad</NAME>
-<TYPE>GstPad*</TYPE>
+<NAME>GstIdentity::error-after</NAME>
+<TYPE>gint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Allocation Src Pad</NICK>
-<BLURB>The pad used for gst_pad_alloc_buffer.</BLURB>
-<DEFAULT></DEFAULT>
+<NICK>Error After</NICK>
+<BLURB>Error after N buffers.</BLURB>
+<DEFAULT>-1</DEFAULT>
</ARG>
<ARG>
-<NAME>GstTypeFindElement::caps</NAME>
-<TYPE>GstCaps*</TYPE>
+<NAME>GstIdentity::last-message</NAME>
+<TYPE>gchar*</TYPE>
<RANGE></RANGE>
<FLAGS>r</FLAGS>
-<NICK>caps</NICK>
-<BLURB>detected capabilities in stream.</BLURB>
-<DEFAULT></DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstTypeFindElement::maximum</NAME>
-<TYPE>guint</TYPE>
-<RANGE>[1,100]</RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>maximum</NICK>
-<BLURB>probability to stop typefinding (deprecated; non-functional).</BLURB>
-<DEFAULT>100</DEFAULT>
+<NICK>last-message</NICK>
+<BLURB>last-message.</BLURB>
+<DEFAULT>NULL</DEFAULT>
</ARG>
<ARG>
-<NAME>GstTypeFindElement::minimum</NAME>
-<TYPE>guint</TYPE>
-<RANGE>[1,100]</RANGE>
+<NAME>GstIdentity::signal-handoffs</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>minimum</NICK>
-<BLURB>minimum probability required to accept caps.</BLURB>
-<DEFAULT>1</DEFAULT>
+<NICK>Signal handoffs</NICK>
+<BLURB>Send a signal before pushing the buffer.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstTypeFindElement::force-caps</NAME>
-<TYPE>GstCaps*</TYPE>
+<NAME>GstIdentity::silent</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>force caps</NICK>
-<BLURB>force caps without doing a typefind.</BLURB>
-<DEFAULT></DEFAULT>
+<NICK>silent</NICK>
+<BLURB>silent.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstFdSink::fd</NAME>
-<TYPE>gint</TYPE>
-<RANGE>>= 0</RANGE>
+<NAME>GstIdentity::single-segment</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>fd</NICK>
-<BLURB>An open file descriptor to write to.</BLURB>
-<DEFAULT>1</DEFAULT>
+<NICK>Single Segment</NICK>
+<BLURB>Timestamp buffers and eat segments so as to appear as one segment.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstMultiQueue::extra-size-buffers</NAME>
+<NAME>GstIdentity::sleep-time</NAME>
<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Extra Size (buffers)</NICK>
-<BLURB>Amount of buffers the queues can grow if one of them is empty (0=disable) (NOT IMPLEMENTED).</BLURB>
-<DEFAULT>5</DEFAULT>
+<NICK>Sleep time</NICK>
+<BLURB>Microseconds to sleep between processing.</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstMultiQueue::extra-size-bytes</NAME>
-<TYPE>guint</TYPE>
+<NAME>GstIdentity::sync</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Extra Size (kB)</NICK>
-<BLURB>Amount of data the queues can grow if one of them is empty (bytes, 0=disable) (NOT IMPLEMENTED).</BLURB>
-<DEFAULT>10485760</DEFAULT>
+<NICK>Synchronize</NICK>
+<BLURB>Synchronize to pipeline clock.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstMultiQueue::extra-size-time</NAME>
-<TYPE>guint64</TYPE>
+<NAME>GstFileSrc::location</NAME>
+<TYPE>gchar*</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Extra Size (ns)</NICK>
-<BLURB>Amount of time the queues can grow if one of them is empty (in ns, 0=disable) (NOT IMPLEMENTED).</BLURB>
-<DEFAULT>3000000000</DEFAULT>
+<NICK>File Location</NICK>
+<BLURB>Location of the file to read.</BLURB>
+<DEFAULT>NULL</DEFAULT>
</ARG>
<ARG>
-<NAME>GstMultiQueue::max-size-buffers</NAME>
-<TYPE>guint</TYPE>
+<NAME>GstFileSink::append</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Max. size (buffers)</NICK>
-<BLURB>Max. number of buffers in the queue (0=disable).</BLURB>
-<DEFAULT>5</DEFAULT>
+<NICK>Append</NICK>
+<BLURB>Append to an already existing file.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstMultiQueue::max-size-bytes</NAME>
-<TYPE>guint</TYPE>
+<NAME>GstFileSink::buffer-mode</NAME>
+<TYPE>GstFileSinkBufferMode</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Max. size (kB)</NICK>
-<BLURB>Max. amount of data in the queue (bytes, 0=disable).</BLURB>
-<DEFAULT>10485760</DEFAULT>
+<NICK>Buffering mode</NICK>
+<BLURB>The buffering mode to use.</BLURB>
+<DEFAULT>Default buffering</DEFAULT>
</ARG>
<ARG>
-<NAME>GstMultiQueue::max-size-time</NAME>
-<TYPE>guint64</TYPE>
+<NAME>GstFileSink::buffer-size</NAME>
+<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Max. size (ns)</NICK>
-<BLURB>Max. amount of data in the queue (in ns, 0=disable).</BLURB>
-<DEFAULT>2000000000</DEFAULT>
+<NICK>Buffering size</NICK>
+<BLURB>Size of buffer in number of bytes for line or full buffer-mode.</BLURB>
+<DEFAULT>65536</DEFAULT>
</ARG>
<ARG>
-<NAME>GstMultiQueue::high-percent</NAME>
-<TYPE>gint</TYPE>
-<RANGE>[0,100]</RANGE>
+<NAME>GstFileSink::location</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>High percent</NICK>
-<BLURB>High threshold for buffering to finish.</BLURB>
-<DEFAULT>99</DEFAULT>
+<NICK>File Location</NICK>
+<BLURB>Location of the file to write.</BLURB>
+<DEFAULT>NULL</DEFAULT>
</ARG>
<ARG>
-<NAME>GstMultiQueue::low-percent</NAME>
+<NAME>GstFdSrc::fd</NAME>
<TYPE>gint</TYPE>
-<RANGE>[0,100]</RANGE>
+<RANGE>>= 0</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Low percent</NICK>
-<BLURB>Low threshold for buffering to start.</BLURB>
-<DEFAULT>10</DEFAULT>
+<NICK>fd</NICK>
+<BLURB>An open file descriptor to read from.</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstMultiQueue::use-buffering</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstFdSrc::timeout</NAME>
+<TYPE>guint64</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Use buffering</NICK>
-<BLURB>Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>Timeout</NICK>
+<BLURB>Post a message after timeout microseconds (0 = disabled).</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstMultiQueue::sync-by-running-time</NAME>
-<TYPE>gboolean</TYPE>
-<RANGE></RANGE>
+<NAME>GstFdSink::fd</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Sync By Running Time</NICK>
-<BLURB>Synchronize deactivated or not-linked streams by running time.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>fd</NICK>
+<BLURB>An open file descriptor to write to.</BLURB>
+<DEFAULT>1</DEFAULT>
</ARG>
<ARG>
-<NAME>GstBin::async-handling</NAME>
+<NAME>GstFakeSrc::can-activate-pull</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Async Handling</NICK>
-<BLURB>The bin will handle Asynchronous state changes.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
-</ARG>
-
-<ARG>
-<NAME>GstQueue2::current-level-buffers</NAME>
-<TYPE>guint</TYPE>
-<RANGE></RANGE>
-<FLAGS>r</FLAGS>
-<NICK>Current level (buffers)</NICK>
-<BLURB>Current number of buffers in the queue.</BLURB>
-<DEFAULT>0</DEFAULT>
+<FLAGS>rwx</FLAGS>
+<NICK>Can activate pull</NICK>
+<BLURB>Can activate in pull mode.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::current-level-bytes</NAME>
-<TYPE>guint</TYPE>
+<NAME>GstFakeSrc::can-activate-push</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
-<FLAGS>r</FLAGS>
-<NICK>Current level (kB)</NICK>
-<BLURB>Current amount of data in the queue (bytes).</BLURB>
-<DEFAULT>0</DEFAULT>
+<FLAGS>rwx</FLAGS>
+<NICK>Can activate push</NICK>
+<BLURB>Can activate in push mode.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::current-level-time</NAME>
-<TYPE>guint64</TYPE>
+<NAME>GstFakeSrc::data</NAME>
+<TYPE>GstFakeSrcDataType</TYPE>
<RANGE></RANGE>
-<FLAGS>r</FLAGS>
-<NICK>Current level (ns)</NICK>
-<BLURB>Current amount of data in the queue (in ns).</BLURB>
-<DEFAULT>0</DEFAULT>
+<FLAGS>rw</FLAGS>
+<NICK>data</NICK>
+<BLURB>Data allocation method.</BLURB>
+<DEFAULT>Allocate data</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::high-percent</NAME>
+<NAME>GstFakeSrc::datarate</NAME>
<TYPE>gint</TYPE>
-<RANGE>[0,100]</RANGE>
+<RANGE>>= 0</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>High percent</NICK>
-<BLURB>High threshold for buffering to finish. Only used if use-buffering is True.</BLURB>
-<DEFAULT>99</DEFAULT>
+<NICK>Datarate</NICK>
+<BLURB>Timestamps buffers with number of bytes per second (0 = none).</BLURB>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::low-percent</NAME>
-<TYPE>gint</TYPE>
-<RANGE>[0,100]</RANGE>
+<NAME>GstFakeSrc::dump</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Low percent</NICK>
-<BLURB>Low threshold for buffering to start. Only used if use-buffering is True.</BLURB>
-<DEFAULT>10</DEFAULT>
+<NICK>Dump</NICK>
+<BLURB>Dump buffer contents to stdout.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::max-size-buffers</NAME>
-<TYPE>guint</TYPE>
+<NAME>GstFakeSrc::filltype</NAME>
+<TYPE>GstFakeSrcFillType</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Max. size (buffers)</NICK>
-<BLURB>Max. number of buffers in the queue (0=disable).</BLURB>
-<DEFAULT>100</DEFAULT>
+<NICK>filltype</NICK>
+<BLURB>How to fill the buffer, if at all.</BLURB>
+<DEFAULT>Fill buffers with zeros</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::max-size-bytes</NAME>
-<TYPE>guint</TYPE>
+<NAME>GstFakeSrc::format</NAME>
+<TYPE>GstFormat</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Max. size (kB)</NICK>
-<BLURB>Max. amount of data in the queue (bytes, 0=disable).</BLURB>
-<DEFAULT>2097152</DEFAULT>
+<NICK>Format</NICK>
+<BLURB>The format of the segment events.</BLURB>
+<DEFAULT>GST_FORMAT_BYTES</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::max-size-time</NAME>
-<TYPE>guint64</TYPE>
+<NAME>GstFakeSrc::is-live</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Max. size (ns)</NICK>
-<BLURB>Max. amount of data in the queue (in ns, 0=disable).</BLURB>
-<DEFAULT>2000000000</DEFAULT>
+<FLAGS>rwx</FLAGS>
+<NICK>Is this a live source</NICK>
+<BLURB>True if the element cannot produce data in PAUSED.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::temp-location</NAME>
+<NAME>GstFakeSrc::last-message</NAME>
<TYPE>gchar*</TYPE>
<RANGE></RANGE>
<FLAGS>r</FLAGS>
-<NICK>Temporary File Location</NICK>
-<BLURB>Location to store temporary files in (Only read this property, use temp-template to configure the name template).</BLURB>
+<NICK>last-message</NICK>
+<BLURB>The last status message.</BLURB>
<DEFAULT>NULL</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::temp-template</NAME>
+<NAME>GstFakeSrc::parentsize</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>parentsize</NICK>
+<BLURB>Size of parent buffer for sub-buffered allocation.</BLURB>
+<DEFAULT>40960</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstFakeSrc::pattern</NAME>
<TYPE>gchar*</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Temporary File Template</NICK>
-<BLURB>File template to store temporary files in, should contain directory and XXXXXX. (NULL == disabled).</BLURB>
+<NICK>pattern</NICK>
+<BLURB>pattern.</BLURB>
<DEFAULT>NULL</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::use-buffering</NAME>
+<NAME>GstFakeSrc::signal-handoffs</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Use buffering</NICK>
-<BLURB>Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds.</BLURB>
+<NICK>Signal handoffs</NICK>
+<BLURB>Send a signal before pushing the buffer.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::use-rate-estimate</NAME>
+<NAME>GstFakeSrc::silent</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Use Rate Estimate</NICK>
-<BLURB>Estimate the bitrate of the stream to calculate time level.</BLURB>
+<NICK>Silent</NICK>
+<BLURB>Don't produce last_message events.</BLURB>
<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::temp-remove</NAME>
-<TYPE>gboolean</TYPE>
-<RANGE></RANGE>
+<NAME>GstFakeSrc::sizemax</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Remove the Temporary File</NICK>
-<BLURB>Remove the temp-location after use.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
+<NICK>sizemax</NICK>
+<BLURB>Maximum buffer size.</BLURB>
+<DEFAULT>4096</DEFAULT>
</ARG>
<ARG>
-<NAME>GstQueue2::ring-buffer-max-size</NAME>
-<TYPE>guint64</TYPE>
-<RANGE></RANGE>
+<NAME>GstFakeSrc::sizemin</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Max. ring buffer size (bytes)</NICK>
-<BLURB>Max. amount of data in the ring buffer (bytes, 0 = disabled).</BLURB>
+<NICK>sizemin</NICK>
+<BLURB>Minimum buffer size.</BLURB>
<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
-<NAME>GstValve::drop</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstFakeSrc::sizetype</NAME>
+<TYPE>GstFakeSrcSizeType</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Drop buffers and events</NICK>
-<BLURB>Whether to drop buffers and events or let them through.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>sizetype</NICK>
+<BLURB>How to determine buffer sizes.</BLURB>
+<DEFAULT>Send empty buffers</DEFAULT>
</ARG>
<ARG>
-<NAME>GstOutputSelector::active-pad</NAME>
-<TYPE>GstPad*</TYPE>
+<NAME>GstFakeSrc::sync</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Active pad</NICK>
-<BLURB>Currently active src pad.</BLURB>
-<DEFAULT></DEFAULT>
+<NICK>Sync</NICK>
+<BLURB>Sync to the clock to the datarate.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstOutputSelector::resend-latest</NAME>
+<NAME>GstFakeSink::can-activate-pull</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Resend latest buffer</NICK>
-<BLURB>Resend latest buffer after a switch to a new pad.</BLURB>
+<NICK>Can activate pull</NICK>
+<BLURB>Can activate in pull mode.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstOutputSelector::pad-negotiation-mode</NAME>
-<TYPE>GstOutputSelectorPadNegotiationMode</TYPE>
+<NAME>GstFakeSink::can-activate-push</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Pad negotiation mode</NICK>
-<BLURB>The mode to be used for pad negotiation.</BLURB>
-<DEFAULT>All</DEFAULT>
+<NICK>Can activate push</NICK>
+<BLURB>Can activate in push mode.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstInputSelector::active-pad</NAME>
-<TYPE>GstPad*</TYPE>
+<NAME>GstFakeSink::dump</NAME>
+<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Active pad</NICK>
-<BLURB>The currently active sink pad.</BLURB>
-<DEFAULT></DEFAULT>
+<NICK>Dump</NICK>
+<BLURB>Dump buffer contents to stdout.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstInputSelector::n-pads</NAME>
-<TYPE>guint</TYPE>
+<NAME>GstFakeSink::last-message</NAME>
+<TYPE>gchar*</TYPE>
<RANGE></RANGE>
<FLAGS>r</FLAGS>
-<NICK>Number of Pads</NICK>
-<BLURB>The number of sink pads.</BLURB>
-<DEFAULT>0</DEFAULT>
+<NICK>Last Message</NICK>
+<BLURB>The message describing current status.</BLURB>
+<DEFAULT>NULL</DEFAULT>
</ARG>
<ARG>
-<NAME>GstInputSelector::select-all</NAME>
+<NAME>GstFakeSink::num-buffers</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>num-buffers</NICK>
+<BLURB>Number of buffers to accept going EOS.</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstFakeSink::signal-handoffs</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Select all mode</NICK>
-<BLURB>Forwards data from all input pads.</BLURB>
+<NICK>Signal handoffs</NICK>
+<BLURB>Send a signal before unreffing the buffer.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstInputSelector::sync-streams</NAME>
+<NAME>GstFakeSink::silent</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Sync Streams</NICK>
-<BLURB>Synchronize inactive streams to the running time of the active stream or to the current clock.</BLURB>
+<NICK>Silent</NICK>
+<BLURB>Don't produce last_message events.</BLURB>
<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
-<NAME>GstInputSelector::cache-buffers</NAME>
-<TYPE>gboolean</TYPE>
+<NAME>GstFakeSink::state-error</NAME>
+<TYPE>GstFakeSinkStateError</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Cache Buffers</NICK>
-<BLURB>Cache buffers for active-pad.</BLURB>
-<DEFAULT>FALSE</DEFAULT>
+<NICK>State Error</NICK>
+<BLURB>Generate a state change error.</BLURB>
+<DEFAULT>No state change errors</DEFAULT>
</ARG>
<ARG>
-<NAME>GstInputSelector::sync-mode</NAME>
-<TYPE>GstInputSelectorSyncMode</TYPE>
+<NAME>GstCapsFilter::caps</NAME>
+<TYPE>GstCaps*</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Sync mode</NICK>
-<BLURB>Behavior in sync-streams mode.</BLURB>
-<DEFAULT>Sync using the current active segment</DEFAULT>
+<NICK>Filter caps</NICK>
+<BLURB>Restrict the possible allowed capabilities (NULL means ANY). Setting this property takes a reference to the supplied GstCaps object.</BLURB>
+<DEFAULT></DEFAULT>
</ARG>
diff --git a/docs/plugins/gstreamer-plugins.hierarchy b/docs/plugins/gstreamer-plugins.hierarchy
index 8e83253..f176114 100644
--- a/docs/plugins/gstreamer-plugins.hierarchy
+++ b/docs/plugins/gstreamer-plugins.hierarchy
@@ -2,7 +2,7 @@ GObject
GInitiallyUnowned
GstObject
GstAllocator
- GstDefaultAllocator
+ GstAllocatorSysmem
GstBus
GstClock
GstControlBinding
diff --git a/docs/plugins/gstreamer-plugins.prerequisites b/docs/plugins/gstreamer-plugins.prerequisites
index d2115a0..a8d518a 100644
--- a/docs/plugins/gstreamer-plugins.prerequisites
+++ b/docs/plugins/gstreamer-plugins.prerequisites
@@ -1,2 +1 @@
GstChildProxy GObject
-GstChildProxy GstObject
diff --git a/docs/plugins/gstreamer-plugins.signals b/docs/plugins/gstreamer-plugins.signals
index 636d2e1..99e36eb 100644
--- a/docs/plugins/gstreamer-plugins.signals
+++ b/docs/plugins/gstreamer-plugins.signals
@@ -1,59 +1,10 @@
<SIGNAL>
-<NAME>GstBin::element-added</NAME>
-<RETURNS>void</RETURNS>
-<FLAGS>f</FLAGS>
-GstBin *gstbin
-GstElement *arg1
-</SIGNAL>
-
-<SIGNAL>
-<NAME>GstBin::element-removed</NAME>
+<NAME>GstTypeFindElement::have-type</NAME>
<RETURNS>void</RETURNS>
<FLAGS>f</FLAGS>
-GstBin *gstbin
-GstElement *arg1
-</SIGNAL>
-
-<SIGNAL>
-<NAME>GstBin::do-latency</NAME>
-<RETURNS>gboolean</RETURNS>
-<FLAGS>l</FLAGS>
-GstBin *gstbin
-</SIGNAL>
-
-<SIGNAL>
-<NAME>GstFakeSrc::handoff</NAME>
-<RETURNS>void</RETURNS>
-<FLAGS>l</FLAGS>
-GstFakeSrc *gstfakesrc
-GstBuffer *arg1
-GstPad *arg2
-</SIGNAL>
-
-<SIGNAL>
-<NAME>GstFakeSink::handoff</NAME>
-<RETURNS>void</RETURNS>
-<FLAGS>l</FLAGS>
-GstFakeSink *gstfakesink
-GstBuffer *arg1
-GstPad *arg2
-</SIGNAL>
-
-<SIGNAL>
-<NAME>GstFakeSink::preroll-handoff</NAME>
-<RETURNS>void</RETURNS>
-<FLAGS>l</FLAGS>
-GstFakeSink *gstfakesink
-GstBuffer *arg1
-GstPad *arg2
-</SIGNAL>
-
-<SIGNAL>
-<NAME>GstIdentity::handoff</NAME>
-<RETURNS>void</RETURNS>
-<FLAGS>l</FLAGS>
-GstIdentity *gstidentity
-GstBuffer *arg1
+GstTypeFindElement *gsttypefindelement
+guint arg1
+GstCaps *arg2
</SIGNAL>
<SIGNAL>
@@ -64,36 +15,27 @@ GstQueue *gstqueue
</SIGNAL>
<SIGNAL>
-<NAME>GstQueue::running</NAME>
+<NAME>GstQueue::pushing</NAME>
<RETURNS>void</RETURNS>
<FLAGS>f</FLAGS>
GstQueue *gstqueue
</SIGNAL>
<SIGNAL>
-<NAME>GstQueue::underrun</NAME>
+<NAME>GstQueue::running</NAME>
<RETURNS>void</RETURNS>
<FLAGS>f</FLAGS>
GstQueue *gstqueue
</SIGNAL>
<SIGNAL>
-<NAME>GstQueue::pushing</NAME>
+<NAME>GstQueue::underrun</NAME>
<RETURNS>void</RETURNS>
<FLAGS>f</FLAGS>
GstQueue *gstqueue
</SIGNAL>
<SIGNAL>
-<NAME>GstTypeFindElement::have-type</NAME>
-<RETURNS>void</RETURNS>
-<FLAGS>f</FLAGS>
-GstTypeFindElement *gsttypefindelement
-guint arg1
-GstCaps *arg2
-</SIGNAL>
-
-<SIGNAL>
<NAME>GstMultiQueue::overrun</NAME>
<RETURNS>void</RETURNS>
<FLAGS>f</FLAGS>
@@ -115,12 +57,37 @@ GstInputSelector *gstinputselector
</SIGNAL>
<SIGNAL>
-<NAME>GstInputSelector::switch</NAME>
+<NAME>GstIdentity::handoff</NAME>
<RETURNS>void</RETURNS>
<FLAGS>l</FLAGS>
-GstInputSelector *gstinputselector
-GstPad *arg1
-gint64 arg2
-gint64 arg3
+GstIdentity *gstidentity
+GstBuffer *arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstFakeSrc::handoff</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstFakeSrc *gstfakesrc
+GstBuffer *arg1
+GstPad *arg2
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstFakeSink::handoff</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstFakeSink *gstfakesink
+GstBuffer *arg1
+GstPad *arg2
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstFakeSink::preroll-handoff</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstFakeSink *gstfakesink
+GstBuffer *arg1
+GstPad *arg2
</SIGNAL>
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index 1652aed..5052061 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstreamer Elements</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="prev" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
@@ -20,9 +20,9 @@
<td><a accesskey="n" href="gstreamer-plugins-capsfilter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="idp2642528"></a>gstreamer Elements</h2></div></div></div>
-<div class="toc"><dl>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="idp182912"></a>gstreamer Elements</h1></div></div></div>
+<div class="toc"><dl class="toc">
<dt>
<span class="refentrytitle"><a href="gstreamer-plugins-capsfilter.html">capsfilter</a></span><span class="refpurpose"> — Pass data without modification, limiting formats</span>
</dt>
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index 79b0003..8b2ab65 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstreamer Plugins</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="prev" href="gstreamer-plugins-valve.html" title="valve">
@@ -20,10 +20,10 @@
<td><a accesskey="n" href="gstreamer-plugins-plugin-coreelements.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="idp3983920"></a>gstreamer Plugins</h2></div></div></div>
-<div class="toc"><dl><dt>
-<span class="refentrytitle"><a href="gstreamer-plugins-plugin-coreelements.html">coreelements</a></span><span class="refpurpose"> — <a name="plugin-coreelements"></a> GStreamer core elements</span>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="idp4012672"></a>gstreamer Plugins</h1></div></div></div>
+<div class="toc"><dl class="toc"><dt>
+<span class="refentrytitle"><a href="gstreamer-plugins-plugin-coreelements.html">coreelements</a></span><span class="refpurpose">GStreamer core elements</span>
</dt></dl></div>
</div>
<div class="footer">
diff --git a/docs/plugins/html/gstreamer-plugins.devhelp2 b/docs/plugins/html/gstreamer-plugins-1.0.devhelp2
index f06c006..e518b45 100644
--- a/docs/plugins/html/gstreamer-plugins.devhelp2
+++ b/docs/plugins/html/gstreamer-plugins-1.0.devhelp2
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
-<book xmlns="http://www.devhelp.net/book" title="GStreamer Core Plugins 1.0 Plugins Reference Manual" link="index.html" author="" name="gstreamer-plugins" version="2" language="c">
+<book xmlns="http://www.devhelp.net/book" title="GStreamer Core Plugins 1.0 Plugins Reference Manual" link="index.html" author="" name="gstreamer-plugins-1.0" version="2" language="c">
<chapters>
<sub name="gstreamer Elements" link="ch01.html">
<sub name="capsfilter" link="gstreamer-plugins-capsfilter.html"/>
@@ -26,14 +26,14 @@
</sub>
</chapters>
<functions>
- <keyword type="" name="Example launch line" link="gstreamer-plugins-capsfilter.html#idp9303200"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-capsfilter.html#idp8553776"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-capsfilter.html#idp133600"/>
+ <keyword type="" name="Example launch line" link="gstreamer-plugins-capsfilter.html#idp7666560"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-capsfilter.html#idp6347936"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-capsfilter.html#idp81680"/>
<keyword type="struct" name="struct GstCapsFilter" link="gstreamer-plugins-capsfilter.html#GstCapsFilter-struct"/>
<keyword type="property" name="The &quot;caps&quot; property" link="gstreamer-plugins-capsfilter.html#GstCapsFilter--caps"/>
- <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesrc.html#idp10466320"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-fakesrc.html#idp10469504"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesrc.html#idp10476912"/>
+ <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesrc.html#idp5045072"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-fakesrc.html#idp5047968"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesrc.html#idp5055376"/>
<keyword type="struct" name="struct GstFakeSrc" link="gstreamer-plugins-fakesrc.html#GstFakeSrc-struct"/>
<keyword type="enum" name="enum GstFakeSrcDataType" link="gstreamer-plugins-fakesrc.html#GstFakeSrcDataType"/>
<keyword type="enum" name="enum GstFakeSrcFillType" link="gstreamer-plugins-fakesrc.html#GstFakeSrcFillType"/>
@@ -45,6 +45,7 @@
<keyword type="property" name="The &quot;datarate&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--datarate"/>
<keyword type="property" name="The &quot;dump&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--dump"/>
<keyword type="property" name="The &quot;filltype&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--filltype"/>
+ <keyword type="property" name="The &quot;format&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--format"/>
<keyword type="property" name="The &quot;is-live&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--is-live"/>
<keyword type="property" name="The &quot;last-message&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--last-message"/>
<keyword type="property" name="The &quot;parentsize&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--parentsize"/>
@@ -55,111 +56,103 @@
<keyword type="property" name="The &quot;sizemin&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--sizemin"/>
<keyword type="property" name="The &quot;sizetype&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--sizetype"/>
<keyword type="property" name="The &quot;sync&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--sync"/>
- <keyword type="property" name="The &quot;format&quot; property" link="gstreamer-plugins-fakesrc.html#GstFakeSrc--format"/>
<keyword type="signal" name="The &quot;handoff&quot; signal" link="gstreamer-plugins-fakesrc.html#GstFakeSrc-handoff"/>
- <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesink.html#idp6064272"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-fakesink.html#idp7441200"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesink.html#idp7448736"/>
+ <keyword type="" name="Example launch line" link="gstreamer-plugins-fakesink.html#idp9233600"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-fakesink.html#idp9235920"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-fakesink.html#idp9437216"/>
<keyword type="struct" name="struct GstFakeSink" link="gstreamer-plugins-fakesink.html#GstFakeSink-struct"/>
<keyword type="enum" name="enum GstFakeSinkStateError" link="gstreamer-plugins-fakesink.html#GstFakeSinkStateError"/>
<keyword type="property" name="The &quot;can-activate-pull&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--can-activate-pull"/>
<keyword type="property" name="The &quot;can-activate-push&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--can-activate-push"/>
<keyword type="property" name="The &quot;dump&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--dump"/>
<keyword type="property" name="The &quot;last-message&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--last-message"/>
+ <keyword type="property" name="The &quot;num-buffers&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--num-buffers"/>
<keyword type="property" name="The &quot;signal-handoffs&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--signal-handoffs"/>
<keyword type="property" name="The &quot;silent&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--silent"/>
<keyword type="property" name="The &quot;state-error&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--state-error"/>
- <keyword type="property" name="The &quot;num-buffers&quot; property" link="gstreamer-plugins-fakesink.html#GstFakeSink--num-buffers"/>
<keyword type="signal" name="The &quot;handoff&quot; signal" link="gstreamer-plugins-fakesink.html#GstFakeSink-handoff"/>
<keyword type="signal" name="The &quot;preroll-handoff&quot; signal" link="gstreamer-plugins-fakesink.html#GstFakeSink-preroll-handoff"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-fdsink.html#idp10038736"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsink.html#idp9686192"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-fdsink.html#idp9217136"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsink.html#idp6943024"/>
<keyword type="struct" name="struct GstFdSink" link="gstreamer-plugins-fdsink.html#GstFdSink-struct"/>
<keyword type="property" name="The &quot;fd&quot; property" link="gstreamer-plugins-fdsink.html#GstFdSink--fd"/>
- <keyword type="" name="Example launch line" link="gstreamer-plugins-fdsrc.html#idp8811984"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-fdsrc.html#idp8815136"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsrc.html#idp8822592"/>
+ <keyword type="" name="Example launch line" link="gstreamer-plugins-fdsrc.html#idp5345808"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-fdsrc.html#idp5348672"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-fdsrc.html#idp6000224"/>
<keyword type="struct" name="struct GstFdSrc" link="gstreamer-plugins-fdsrc.html#GstFdSrc-struct"/>
<keyword type="property" name="The &quot;fd&quot; property" link="gstreamer-plugins-fdsrc.html#GstFdSrc--fd"/>
<keyword type="property" name="The &quot;timeout&quot; property" link="gstreamer-plugins-fdsrc.html#GstFdSrc--timeout"/>
- <keyword type="" name="Example launch line" link="gstreamer-plugins-filesrc.html#idp10016320"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-filesrc.html#idp10018928"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-filesrc.html#idp10723728"/>
+ <keyword type="" name="Example launch line" link="gstreamer-plugins-filesrc.html#idp7888896"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-filesrc.html#idp6168016"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-filesrc.html#idp5971808"/>
<keyword type="struct" name="struct GstFileSrc" link="gstreamer-plugins-filesrc.html#GstFileSrc-struct"/>
- <keyword type="property" name="The &quot;fd&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--fd"/>
<keyword type="property" name="The &quot;location&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--location"/>
- <keyword type="property" name="The &quot;mmapsize&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--mmapsize"/>
- <keyword type="property" name="The &quot;touch&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--touch"/>
- <keyword type="property" name="The &quot;use-mmap&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--use-mmap"/>
- <keyword type="property" name="The &quot;sequential&quot; property" link="gstreamer-plugins-filesrc.html#GstFileSrc--sequential"/>
- <keyword type="" name="Example launch line" link="gstreamer-plugins-filesink.html#idp10058592"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-filesink.html#idp10061152"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-filesink.html#idp10068560"/>
+ <keyword type="" name="Example launch line" link="gstreamer-plugins-filesink.html#idp8940544"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-filesink.html#idp8942816"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-filesink.html#idp8950224"/>
<keyword type="struct" name="struct GstFileSink" link="gstreamer-plugins-filesink.html#GstFileSink-struct"/>
- <keyword type="property" name="The &quot;location&quot; property" link="gstreamer-plugins-filesink.html#GstFileSink--location"/>
+ <keyword type="property" name="The &quot;append&quot; property" link="gstreamer-plugins-filesink.html#GstFileSink--append"/>
<keyword type="property" name="The &quot;buffer-mode&quot; property" link="gstreamer-plugins-filesink.html#GstFileSink--buffer-mode"/>
<keyword type="property" name="The &quot;buffer-size&quot; property" link="gstreamer-plugins-filesink.html#GstFileSink--buffer-size"/>
- <keyword type="property" name="The &quot;append&quot; property" link="gstreamer-plugins-filesink.html#GstFileSink--append"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-funnel.html#idp9898160"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-funnel.html#idp9354576"/>
+ <keyword type="property" name="The &quot;location&quot; property" link="gstreamer-plugins-filesink.html#GstFileSink--location"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-funnel.html#idp5716912"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-funnel.html#idp8071488"/>
<keyword type="struct" name="struct GstFunnel" link="gstreamer-plugins-funnel.html#GstFunnel-struct"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-identity.html#idp11034240"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-identity.html#idp11041696"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-identity.html#idp9885728"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-identity.html#idp9893184"/>
<keyword type="struct" name="struct GstIdentity" link="gstreamer-plugins-identity.html#GstIdentity-struct"/>
- <keyword type="property" name="The &quot;check-perfect&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--check-perfect"/>
+ <keyword type="property" name="The &quot;check-imperfect-offset&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-offset"/>
+ <keyword type="property" name="The &quot;check-imperfect-timestamp&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-timestamp"/>
<keyword type="property" name="The &quot;datarate&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--datarate"/>
<keyword type="property" name="The &quot;drop-probability&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--drop-probability"/>
<keyword type="property" name="The &quot;dump&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--dump"/>
<keyword type="property" name="The &quot;error-after&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--error-after"/>
<keyword type="property" name="The &quot;last-message&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--last-message"/>
+ <keyword type="property" name="The &quot;signal-handoffs&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--signal-handoffs"/>
<keyword type="property" name="The &quot;silent&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--silent"/>
<keyword type="property" name="The &quot;single-segment&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--single-segment"/>
<keyword type="property" name="The &quot;sleep-time&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--sleep-time"/>
<keyword type="property" name="The &quot;sync&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--sync"/>
- <keyword type="property" name="The &quot;check-imperfect-offset&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-offset"/>
- <keyword type="property" name="The &quot;check-imperfect-timestamp&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-timestamp"/>
- <keyword type="property" name="The &quot;signal-handoffs&quot; property" link="gstreamer-plugins-identity.html#GstIdentity--signal-handoffs"/>
<keyword type="signal" name="The &quot;handoff&quot; signal" link="gstreamer-plugins-identity.html#GstIdentity-handoff"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-input-selector.html#idp10844784"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-input-selector.html#idp10852320"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-input-selector.html#idp9052048"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-input-selector.html#idp9059584"/>
<keyword type="struct" name="struct GstInputSelector" link="gstreamer-plugins-input-selector.html#GstInputSelector-struct"/>
<keyword type="property" name="The &quot;active-pad&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--active-pad"/>
- <keyword type="property" name="The &quot;n-pads&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--n-pads"/>
- <keyword type="property" name="The &quot;select-all&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--select-all"/>
- <keyword type="property" name="The &quot;sync-streams&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--sync-streams"/>
<keyword type="property" name="The &quot;cache-buffers&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--cache-buffers"/>
+ <keyword type="property" name="The &quot;n-pads&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--n-pads"/>
<keyword type="property" name="The &quot;sync-mode&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--sync-mode"/>
+ <keyword type="property" name="The &quot;sync-streams&quot; property" link="gstreamer-plugins-input-selector.html#GstInputSelector--sync-streams"/>
<keyword type="signal" name="The &quot;block&quot; signal" link="gstreamer-plugins-input-selector.html#GstInputSelector-block"/>
- <keyword type="signal" name="The &quot;switch&quot; signal" link="gstreamer-plugins-input-selector.html#GstInputSelector-switch"/>
- <keyword type="" name="" link="gstreamer-plugins-multiqueue.html#idp6331200"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-multiqueue.html#idp11189504"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-multiqueue.html#idp11196960"/>
+ <keyword type="" name="" link="gstreamer-plugins-multiqueue.html#idp10331488"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-multiqueue.html#idp10352992"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-multiqueue.html#idp10360448"/>
<keyword type="struct" name="struct GstMultiQueue" link="gstreamer-plugins-multiqueue.html#GstMultiQueue-struct"/>
<keyword type="property" name="The &quot;extra-size-buffers&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-buffers"/>
<keyword type="property" name="The &quot;extra-size-bytes&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-bytes"/>
<keyword type="property" name="The &quot;extra-size-time&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-time"/>
+ <keyword type="property" name="The &quot;high-percent&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--high-percent"/>
+ <keyword type="property" name="The &quot;low-percent&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--low-percent"/>
<keyword type="property" name="The &quot;max-size-buffers&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-buffers"/>
<keyword type="property" name="The &quot;max-size-bytes&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-bytes"/>
<keyword type="property" name="The &quot;max-size-time&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-time"/>
- <keyword type="property" name="The &quot;high-percent&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--high-percent"/>
- <keyword type="property" name="The &quot;low-percent&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--low-percent"/>
- <keyword type="property" name="The &quot;use-buffering&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--use-buffering"/>
<keyword type="property" name="The &quot;sync-by-running-time&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--sync-by-running-time"/>
+ <keyword type="property" name="The &quot;use-buffering&quot; property" link="gstreamer-plugins-multiqueue.html#GstMultiQueue--use-buffering"/>
<keyword type="signal" name="The &quot;overrun&quot; signal" link="gstreamer-plugins-multiqueue.html#GstMultiQueue-overrun"/>
<keyword type="signal" name="The &quot;underrun&quot; signal" link="gstreamer-plugins-multiqueue.html#GstMultiQueue-underrun"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-output-selector.html#idp10117472"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-output-selector.html#idp7942336"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-output-selector.html#idp6884992"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-output-selector.html#idp9588000"/>
<keyword type="struct" name="struct GstOutputSelector" link="gstreamer-plugins-output-selector.html#GstOutputSelector-struct"/>
<keyword type="property" name="The &quot;active-pad&quot; property" link="gstreamer-plugins-output-selector.html#GstOutputSelector--active-pad"/>
- <keyword type="property" name="The &quot;resend-latest&quot; property" link="gstreamer-plugins-output-selector.html#GstOutputSelector--resend-latest"/>
<keyword type="property" name="The &quot;pad-negotiation-mode&quot; property" link="gstreamer-plugins-output-selector.html#GstOutputSelector--pad-negotiation-mode"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-queue.html#idp11420640"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-queue.html#idp11428096"/>
+ <keyword type="property" name="The &quot;resend-latest&quot; property" link="gstreamer-plugins-output-selector.html#GstOutputSelector--resend-latest"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-queue.html#idp10597232"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-queue.html#idp10604688"/>
<keyword type="struct" name="struct GstQueue" link="gstreamer-plugins-queue.html#GstQueue-struct"/>
<keyword type="enum" name="enum GstQueueLeaky" link="gstreamer-plugins-queue.html#GstQueueLeaky"/>
<keyword type="property" name="The &quot;current-level-buffers&quot; property" link="gstreamer-plugins-queue.html#GstQueue--current-level-buffers"/>
<keyword type="property" name="The &quot;current-level-bytes&quot; property" link="gstreamer-plugins-queue.html#GstQueue--current-level-bytes"/>
<keyword type="property" name="The &quot;current-level-time&quot; property" link="gstreamer-plugins-queue.html#GstQueue--current-level-time"/>
+ <keyword type="property" name="The &quot;flush-on-eos&quot; property" link="gstreamer-plugins-queue.html#GstQueue--flush-on-eos"/>
<keyword type="property" name="The &quot;leaky&quot; property" link="gstreamer-plugins-queue.html#GstQueue--leaky"/>
<keyword type="property" name="The &quot;max-size-buffers&quot; property" link="gstreamer-plugins-queue.html#GstQueue--max-size-buffers"/>
<keyword type="property" name="The &quot;max-size-bytes&quot; property" link="gstreamer-plugins-queue.html#GstQueue--max-size-bytes"/>
@@ -169,11 +162,11 @@
<keyword type="property" name="The &quot;min-threshold-time&quot; property" link="gstreamer-plugins-queue.html#GstQueue--min-threshold-time"/>
<keyword type="property" name="The &quot;silent&quot; property" link="gstreamer-plugins-queue.html#GstQueue--silent"/>
<keyword type="signal" name="The &quot;overrun&quot; signal" link="gstreamer-plugins-queue.html#GstQueue-overrun"/>
+ <keyword type="signal" name="The &quot;pushing&quot; signal" link="gstreamer-plugins-queue.html#GstQueue-pushing"/>
<keyword type="signal" name="The &quot;running&quot; signal" link="gstreamer-plugins-queue.html#GstQueue-running"/>
<keyword type="signal" name="The &quot;underrun&quot; signal" link="gstreamer-plugins-queue.html#GstQueue-underrun"/>
- <keyword type="signal" name="The &quot;pushing&quot; signal" link="gstreamer-plugins-queue.html#GstQueue-pushing"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-queue2.html#idp11773184"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-queue2.html#idp11780592"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-queue2.html#idp10517952"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-queue2.html#idp10525360"/>
<keyword type="struct" name="struct GstQueue2" link="gstreamer-plugins-queue2.html#GstQueue2-struct"/>
<keyword type="property" name="The &quot;current-level-buffers&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--current-level-buffers"/>
<keyword type="property" name="The &quot;current-level-bytes&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--current-level-bytes"/>
@@ -183,34 +176,32 @@
<keyword type="property" name="The &quot;max-size-buffers&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--max-size-buffers"/>
<keyword type="property" name="The &quot;max-size-bytes&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--max-size-bytes"/>
<keyword type="property" name="The &quot;max-size-time&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--max-size-time"/>
+ <keyword type="property" name="The &quot;ring-buffer-max-size&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--ring-buffer-max-size"/>
<keyword type="property" name="The &quot;temp-location&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--temp-location"/>
+ <keyword type="property" name="The &quot;temp-remove&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--temp-remove"/>
<keyword type="property" name="The &quot;temp-template&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--temp-template"/>
<keyword type="property" name="The &quot;use-buffering&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--use-buffering"/>
<keyword type="property" name="The &quot;use-rate-estimate&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--use-rate-estimate"/>
- <keyword type="property" name="The &quot;temp-remove&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--temp-remove"/>
- <keyword type="property" name="The &quot;ring-buffer-max-size&quot; property" link="gstreamer-plugins-queue2.html#GstQueue2--ring-buffer-max-size"/>
- <keyword type="" name="Example launch line" link="gstreamer-plugins-tee.html#idp9054480"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-tee.html#idp9057200"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-tee.html#idp12371632"/>
+ <keyword type="" name="Example launch line" link="gstreamer-plugins-tee.html#idp10011744"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-tee.html#idp10014192"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-tee.html#idp10021600"/>
<keyword type="struct" name="struct GstTee" link="gstreamer-plugins-tee.html#GstTee-struct"/>
<keyword type="enum" name="enum GstTeePullMode" link="gstreamer-plugins-tee.html#GstTeePullMode"/>
+ <keyword type="property" name="The &quot;alloc-pad&quot; property" link="gstreamer-plugins-tee.html#GstTee--alloc-pad"/>
<keyword type="property" name="The &quot;has-chain&quot; property" link="gstreamer-plugins-tee.html#GstTee--has-chain"/>
- <keyword type="property" name="The &quot;has-sink-loop&quot; property" link="gstreamer-plugins-tee.html#GstTee--has-sink-loop"/>
<keyword type="property" name="The &quot;last-message&quot; property" link="gstreamer-plugins-tee.html#GstTee--last-message"/>
<keyword type="property" name="The &quot;num-src-pads&quot; property" link="gstreamer-plugins-tee.html#GstTee--num-src-pads"/>
- <keyword type="property" name="The &quot;silent&quot; property" link="gstreamer-plugins-tee.html#GstTee--silent"/>
<keyword type="property" name="The &quot;pull-mode&quot; property" link="gstreamer-plugins-tee.html#GstTee--pull-mode"/>
- <keyword type="property" name="The &quot;alloc-pad&quot; property" link="gstreamer-plugins-tee.html#GstTee--alloc-pad"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-typefind.html#idp10818288"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-typefind.html#idp10825696"/>
+ <keyword type="property" name="The &quot;silent&quot; property" link="gstreamer-plugins-tee.html#GstTee--silent"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-typefind.html#idp6540528"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-typefind.html#idp7614896"/>
<keyword type="struct" name="struct GstTypeFindElement" link="gstreamer-plugins-typefind.html#GstTypeFindElement-struct"/>
<keyword type="property" name="The &quot;caps&quot; property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--caps"/>
- <keyword type="property" name="The &quot;maximum&quot; property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--maximum"/>
- <keyword type="property" name="The &quot;minimum&quot; property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--minimum"/>
<keyword type="property" name="The &quot;force-caps&quot; property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--force-caps"/>
+ <keyword type="property" name="The &quot;minimum&quot; property" link="gstreamer-plugins-typefind.html#GstTypeFindElement--minimum"/>
<keyword type="signal" name="The &quot;have-type&quot; signal" link="gstreamer-plugins-typefind.html#GstTypeFindElement-have-type"/>
- <keyword type="" name="Element Information" link="gstreamer-plugins-valve.html#idp7575472"/>
- <keyword type="" name="Element Pads" link="gstreamer-plugins-valve.html#idp11965728"/>
+ <keyword type="" name="Element Information" link="gstreamer-plugins-valve.html#idp9804192"/>
+ <keyword type="" name="Element Pads" link="gstreamer-plugins-valve.html#idp10088704"/>
<keyword type="struct" name="struct GstValve" link="gstreamer-plugins-valve.html#GstValve-struct"/>
<keyword type="property" name="The &quot;drop&quot; property" link="gstreamer-plugins-valve.html#GstValve--drop"/>
<keyword type="constant" name="FAKE_SRC_DATA_ALLOCATE" link="gstreamer-plugins-fakesrc.html#FAKE-SRC-DATA-ALLOCATE:CAPS"/>
diff --git a/docs/plugins/html/gstreamer-plugins-capsfilter.html b/docs/plugins/html/gstreamer-plugins-capsfilter.html
index 1284c5f..b076b7e 100644
--- a/docs/plugins/html/gstreamer-plugins-capsfilter.html
+++ b/docs/plugins/html/gstreamer-plugins-capsfilter.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>capsfilter</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="ch01.html" title="gstreamer Elements">
@@ -70,7 +70,7 @@ data format.
<p>
</p>
<div class="refsect2">
-<a name="idp9303200"></a><h3>Example launch line</h3>
+<a name="idp7666560"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -88,9 +88,12 @@ data format.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8553776"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp6347936"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -111,9 +114,12 @@ data format.
</div>
<hr>
<div class="refsect2">
-<a name="idp133600"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp81680"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -133,8 +139,11 @@ data format.
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-fakesink.html b/docs/plugins/html/gstreamer-plugins-fakesink.html
index ac16235..57b82c8 100644
--- a/docs/plugins/html/gstreamer-plugins-fakesink.html
+++ b/docs/plugins/html/gstreamer-plugins-fakesink.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>fakesink</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-fakesrc.html" title="fakesrc">
@@ -65,10 +65,10 @@ enum <a class="link" href="gstreamer-plugins-fakesink.html#GstFak
"<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink--can-activate-push" title='The "can-activate-push" property'>can-activate-push</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink--dump" title='The "dump" property'>dump</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink--last-message" title='The "last-message" property'>last-message</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
+ "<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink--num-buffers" title='The "num-buffers" property'>num-buffers</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink--signal-handoffs" title='The "signal-handoffs" property'>signal-handoffs</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink--silent" title='The "silent" property'>silent</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink--state-error" title='The "state-error" property'>state-error</a>" <a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSinkStateError" title="enum GstFakeSinkStateError"><span class="type">GstFakeSinkStateError</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink--num-buffers" title='The "num-buffers" property'>num-buffers</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
</pre>
</div>
<div class="refsect1">
@@ -86,7 +86,7 @@ Dummy sink that swallows everything.
<p>
</p>
<div class="refsect2">
-<a name="idp6064272"></a><h3>Example launch line</h3>
+<a name="idp9233600"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -104,9 +104,12 @@ Dummy sink that swallows everything.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp7441200"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp9235920"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -127,9 +130,12 @@ Dummy sink that swallows everything.
</div>
<hr>
<div class="refsect2">
-<a name="idp7448736"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp9437216"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -179,8 +185,11 @@ The opaque <a class="link" href="gstreamer-plugins-fakesink.html#GstFakeSink"><s
<p>
Possible state change errors for the state-error property.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="FAKE-SINK-STATE-ERROR-NONE:CAPS"></a><span class="term"><code class="literal">FAKE_SINK_STATE_ERROR_NONE</code></span></p></td>
@@ -252,6 +261,14 @@ Possible state change errors for the state-error property.
</div>
<hr>
<div class="refsect2">
+<a name="GstFakeSink--num-buffers"></a><h3>The <code class="literal">"num-buffers"</code> property</h3>
+<pre class="programlisting"> "num-buffers" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write</pre>
+<p>Number of buffers to accept going EOS.</p>
+<p>Allowed values: &gt;= G_MAXULONG</p>
+<p>Default value: -1</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GstFakeSink--signal-handoffs"></a><h3>The <code class="literal">"signal-handoffs"</code> property</h3>
<pre class="programlisting"> "signal-handoffs" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
<p>Send a signal before unreffing the buffer.</p>
@@ -271,14 +288,6 @@ Possible state change errors for the state-error property.
<p>Generate a state change error.</p>
<p>Default value: No state change errors</p>
</div>
-<hr>
-<div class="refsect2">
-<a name="GstFakeSink--num-buffers"></a><h3>The <code class="literal">"num-buffers"</code> property</h3>
-<pre class="programlisting"> "num-buffers" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write</pre>
-<p>Number of buffers to accept going EOS.</p>
-<p>Allowed values: &gt;= G_MAXULONG</p>
-<p>Default value: -1</p>
-</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-fakesink.signal-details"></a><h2>Signal Details</h2>
@@ -291,8 +300,11 @@ Possible state change errors for the state-error property.
<p>
This signal gets emitted before unreffing the buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>fakesink</code></em> :</span></p></td>
@@ -323,8 +335,11 @@ This signal gets emitted before unreffing the buffer.
<p>
This signal gets emitted before unreffing the buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>fakesink</code></em> :</span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-fakesrc.html b/docs/plugins/html/gstreamer-plugins-fakesrc.html
index d9627ac..ec0ed31 100644
--- a/docs/plugins/html/gstreamer-plugins-fakesrc.html
+++ b/docs/plugins/html/gstreamer-plugins-fakesrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>fakesrc</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-capsfilter.html" title="capsfilter">
@@ -70,6 +70,7 @@ enum <a class="link" href="gstreamer-plugins-fakesrc.html#GstFake
"<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--datarate" title='The "datarate" property'>datarate</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--dump" title='The "dump" property'>dump</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--filltype" title='The "filltype" property'>filltype</a>" <a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrcFillType" title="enum GstFakeSrcFillType"><span class="type">GstFakeSrcFillType</span></a> : Read / Write
+ "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--format" title='The "format" property'>format</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--is-live" title='The "is-live" property'>is-live</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct
"<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--last-message" title='The "last-message" property'>last-message</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
"<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--parentsize" title='The "parentsize" property'>parentsize</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
@@ -80,7 +81,6 @@ enum <a class="link" href="gstreamer-plugins-fakesrc.html#GstFake
"<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--sizemin" title='The "sizemin" property'>sizemin</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--sizetype" title='The "sizetype" property'>sizetype</a>" <a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrcSizeType" title="enum GstFakeSrcSizeType"><span class="type">GstFakeSrcSizeType</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--sync" title='The "sync" property'>sync</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc--format" title='The "format" property'>format</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> : Read / Write
</pre>
</div>
<div class="refsect1">
@@ -102,7 +102,7 @@ basic <span class="application">GStreamer</span> core functionality is:
<p>
</p>
<div class="refsect2">
-<a name="idp10466320"></a><h3>Example launch line</h3>
+<a name="idp5045072"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -124,9 +124,12 @@ Last reviewed on 2008-06-20 (0.10.21)
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10469504"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp5047968"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -147,9 +150,12 @@ Last reviewed on 2008-06-20 (0.10.21)
</div>
<hr>
<div class="refsect2">
-<a name="idp10476912"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp5055376"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -194,8 +200,11 @@ Opaque <a class="link" href="gstreamer-plugins-fakesrc.html#GstFakeSrc"><span cl
<p>
The different ways buffers are allocated.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="FAKE-SRC-DATA-ALLOCATE:CAPS"></a><span class="term"><code class="literal">FAKE_SRC_DATA_ALLOCATE</code></span></p></td>
@@ -224,8 +233,11 @@ The different ways buffers are allocated.
<p>
The different ways of filling the buffers.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="FAKE-SRC-FILLTYPE-NOTHING:CAPS"></a><span class="term"><code class="literal">FAKE_SRC_FILLTYPE_NOTHING</code></span></p></td>
@@ -272,8 +284,11 @@ The different ways of filling the buffers.
<p>
The different output types. Unused currently.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="FAKE-SRC-FIRST-LAST-LOOP:CAPS"></a><span class="term"><code class="literal">FAKE_SRC_FIRST_LAST_LOOP</code></span></p></td>
@@ -330,8 +345,11 @@ The different output types. Unused currently.
<p>
The different size of the allocated buffers.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="FAKE-SRC-SIZETYPE-EMPTY:CAPS"></a><span class="term"><code class="literal">FAKE_SRC_SIZETYPE_EMPTY</code></span></p></td>
@@ -398,6 +416,15 @@ The different size of the allocated buffers.
</div>
<hr>
<div class="refsect2">
+<a name="GstFakeSrc--format"></a><h3>The <code class="literal">"format"</code> property</h3>
+<pre class="programlisting"> "format" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> : Read / Write</pre>
+<p>
+Set the format of the newsegment events to produce.
+</p>
+<p>Default value: GST_FORMAT_BYTES</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GstFakeSrc--is-live"></a><h3>The <code class="literal">"is-live"</code> property</h3>
<pre class="programlisting"> "is-live" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct</pre>
<p>True if the element cannot produce data in PAUSED.</p>
@@ -469,15 +496,6 @@ The different size of the allocated buffers.
<p>Sync to the clock to the datarate.</p>
<p>Default value: FALSE</p>
</div>
-<hr>
-<div class="refsect2">
-<a name="GstFakeSrc--format"></a><h3>The <code class="literal">"format"</code> property</h3>
-<pre class="programlisting"> "format" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> : Read / Write</pre>
-<p>
-Set the format of the newsegment events to produce.
-</p>
-<p>Default value: GST_FORMAT_BYTES</p>
-</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-fakesrc.signal-details"></a><h2>Signal Details</h2>
@@ -490,8 +508,11 @@ Set the format of the newsegment events to produce.
<p>
This signal gets emitted before sending the buffer.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>fakesrc</code></em> :</span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-fdsink.html b/docs/plugins/html/gstreamer-plugins-fdsink.html
index 8e3c4db..7551bb8 100644
--- a/docs/plugins/html/gstreamer-plugins-fdsink.html
+++ b/docs/plugins/html/gstreamer-plugins-fdsink.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>fdsink</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-fakesink.html" title="fakesink">
@@ -85,9 +85,12 @@ Last reviewed on 2006-04-28 (0.10.6)
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10038736"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp9217136"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -108,9 +111,12 @@ Last reviewed on 2006-04-28 (0.10.6)
</div>
<hr>
<div class="refsect2">
-<a name="idp9686192"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp6943024"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-fdsrc.html b/docs/plugins/html/gstreamer-plugins-fdsrc.html
index e52d59b..12a855f 100644
--- a/docs/plugins/html/gstreamer-plugins-fdsrc.html
+++ b/docs/plugins/html/gstreamer-plugins-fdsrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>fdsrc</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-fdsink.html" title="fdsink">
@@ -87,7 +87,7 @@ generate an element message named
if no data was recieved in the given timeout.
The message's structure contains one field:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="type">guint64</span>
<code class="classname">"timeout"</code>: the timeout in microseconds that
expired when waiting for data.
@@ -97,7 +97,7 @@ The message's structure contains one field:
<p>
</p>
<div class="refsect2">
-<a name="idp8811984"></a><h3>Example launch line</h3>
+<a name="idp5345808"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -119,9 +119,12 @@ Last reviewed on 2008-06-20 (0.10.21)
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8815136"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp5348672"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -142,9 +145,12 @@ Last reviewed on 2008-06-20 (0.10.21)
</div>
<hr>
<div class="refsect2">
-<a name="idp8822592"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp6000224"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-filesink.html b/docs/plugins/html/gstreamer-plugins-filesink.html
index f797f8e..38efb42 100644
--- a/docs/plugins/html/gstreamer-plugins-filesink.html
+++ b/docs/plugins/html/gstreamer-plugins-filesink.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>filesink</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-filesrc.html" title="filesrc">
@@ -66,10 +66,10 @@ GstFileSink implements
<div class="refsect1">
<a name="gstreamer-plugins-filesink.properties"></a><h2>Properties</h2>
<pre class="synopsis">
- "<a class="link" href="gstreamer-plugins-filesink.html#GstFileSink--location" title='The "location" property'>location</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
+ "<a class="link" href="gstreamer-plugins-filesink.html#GstFileSink--append" title='The "append" property'>append</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-filesink.html#GstFileSink--buffer-mode" title='The "buffer-mode" property'>buffer-mode</a>" <span class="type">GstFileSinkBufferMode</span> : Read / Write
"<a class="link" href="gstreamer-plugins-filesink.html#GstFileSink--buffer-size" title='The "buffer-size" property'>buffer-size</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-filesink.html#GstFileSink--append" title='The "append" property'>append</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
+ "<a class="link" href="gstreamer-plugins-filesink.html#GstFileSink--location" title='The "location" property'>location</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
</pre>
</div>
<div class="refsect1">
@@ -80,7 +80,7 @@ Write incoming data to a file in the local file system.
<p>
</p>
<div class="refsect2">
-<a name="idp10058592"></a><h3>Example launch line</h3>
+<a name="idp8940544"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -98,9 +98,12 @@ Write incoming data to a file in the local file system.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10061152"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp8942816"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -121,9 +124,12 @@ Write incoming data to a file in the local file system.
</div>
<hr>
<div class="refsect2">
-<a name="idp10068560"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp8950224"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -161,10 +167,12 @@ Opaque <a class="link" href="gstreamer-plugins-filesink.html#GstFileSink"><span
<div class="refsect1">
<a name="gstreamer-plugins-filesink.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
-<a name="GstFileSink--location"></a><h3>The <code class="literal">"location"</code> property</h3>
-<pre class="programlisting"> "location" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
-<p>Location of the file to write.</p>
-<p>Default value: NULL</p>
+<a name="GstFileSink--append"></a><h3>The <code class="literal">"append"</code> property</h3>
+<pre class="programlisting"> "append" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
+<p>
+Append to an already existing file.
+</p>
+<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
@@ -182,12 +190,10 @@ Opaque <a class="link" href="gstreamer-plugins-filesink.html#GstFileSink"><span
</div>
<hr>
<div class="refsect2">
-<a name="GstFileSink--append"></a><h3>The <code class="literal">"append"</code> property</h3>
-<pre class="programlisting"> "append" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>
-Append to an already existing file.
-</p>
-<p>Default value: FALSE</p>
+<a name="GstFileSink--location"></a><h3>The <code class="literal">"location"</code> property</h3>
+<pre class="programlisting"> "location" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
+<p>Location of the file to write.</p>
+<p>Default value: NULL</p>
</div>
</div>
<div class="refsect1">
diff --git a/docs/plugins/html/gstreamer-plugins-filesrc.html b/docs/plugins/html/gstreamer-plugins-filesrc.html
index a10b27c..6b476e4 100644
--- a/docs/plugins/html/gstreamer-plugins-filesrc.html
+++ b/docs/plugins/html/gstreamer-plugins-filesrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>filesrc</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-fdsrc.html" title="fdsrc">
@@ -66,12 +66,7 @@ GstFileSrc implements
<div class="refsect1">
<a name="gstreamer-plugins-filesrc.properties"></a><h2>Properties</h2>
<pre class="synopsis">
- "<a class="link" href="gstreamer-plugins-filesrc.html#GstFileSrc--fd" title='The "fd" property'>fd</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read
"<a class="link" href="gstreamer-plugins-filesrc.html#GstFileSrc--location" title='The "location" property'>location</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
- "<a class="link" href="gstreamer-plugins-filesrc.html#GstFileSrc--mmapsize" title='The "mmapsize" property'>mmapsize</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-filesrc.html#GstFileSrc--touch" title='The "touch" property'>touch</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-filesrc.html#GstFileSrc--use-mmap" title='The "use-mmap" property'>use-mmap</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-filesrc.html#GstFileSrc--sequential" title='The "sequential" property'>sequential</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
</pre>
</div>
<div class="refsect1">
@@ -82,7 +77,7 @@ Read data from a file in the local file system.
<p>
</p>
<div class="refsect2">
-<a name="idp10016320"></a><h3>Example launch line</h3>
+<a name="idp7888896"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -100,9 +95,12 @@ Read data from a file in the local file system.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10018928"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp6168016"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -123,9 +121,12 @@ Read data from a file in the local file system.
</div>
<hr>
<div class="refsect2">
-<a name="idp10723728"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp5971808"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -163,46 +164,11 @@ Opaque <a class="link" href="gstreamer-plugins-filesrc.html#GstFileSrc"><span cl
<div class="refsect1">
<a name="gstreamer-plugins-filesrc.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
-<a name="GstFileSrc--fd"></a><h3>The <code class="literal">"fd"</code> property</h3>
-<pre class="programlisting"> "fd" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read</pre>
-<p>File-descriptor for the file being mmap()d.</p>
-<p>Allowed values: &gt;= 0</p>
-<p>Default value: 0</p>
-</div>
-<hr>
-<div class="refsect2">
<a name="GstFileSrc--location"></a><h3>The <code class="literal">"location"</code> property</h3>
<pre class="programlisting"> "location" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
<p>Location of the file to read.</p>
<p>Default value: NULL</p>
</div>
-<hr>
-<div class="refsect2">
-<a name="GstFileSrc--mmapsize"></a><h3>The <code class="literal">"mmapsize"</code> property</h3>
-<pre class="programlisting"> "mmapsize" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> : Read / Write</pre>
-<p>Size in bytes of mmap()d regions.</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstFileSrc--touch"></a><h3>The <code class="literal">"touch"</code> property</h3>
-<pre class="programlisting"> "touch" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>Touch mmapped data regions to force them to be read from disk.</p>
-<p>Default value: TRUE</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstFileSrc--use-mmap"></a><h3>The <code class="literal">"use-mmap"</code> property</h3>
-<pre class="programlisting"> "use-mmap" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>Whether to use mmap() instead of read().</p>
-<p>Default value: FALSE</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstFileSrc--sequential"></a><h3>The <code class="literal">"sequential"</code> property</h3>
-<pre class="programlisting"> "sequential" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>Whether to use madvise to hint to the kernel that access to mmap pages will be sequential.</p>
-<p>Default value: FALSE</p>
-</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-filesrc.see-also"></a><h2>See Also</h2>
diff --git a/docs/plugins/html/gstreamer-plugins-funnel.html b/docs/plugins/html/gstreamer-plugins-funnel.html
index e82bdff..9c66787 100644
--- a/docs/plugins/html/gstreamer-plugins-funnel.html
+++ b/docs/plugins/html/gstreamer-plugins-funnel.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>funnel</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-filesink.html" title="filesink">
@@ -68,9 +68,12 @@ immediately when they arrive.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp9898160"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp5716912"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -91,9 +94,12 @@ immediately when they arrive.
</div>
<hr>
<div class="refsect2">
-<a name="idp9354576"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp8071488"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -113,8 +119,11 @@ immediately when they arrive.
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-identity.html b/docs/plugins/html/gstreamer-plugins-identity.html
index 9760987..95b9d2b 100644
--- a/docs/plugins/html/gstreamer-plugins-identity.html
+++ b/docs/plugins/html/gstreamer-plugins-identity.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>identity</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-funnel.html" title="funnel">
@@ -60,19 +60,18 @@
<div class="refsect1">
<a name="gstreamer-plugins-identity.properties"></a><h2>Properties</h2>
<pre class="synopsis">
- "<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--check-perfect" title='The "check-perfect" property'>check-perfect</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
+ "<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-offset" title='The "check-imperfect-offset" property'>check-imperfect-offset</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
+ "<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-timestamp" title='The "check-imperfect-timestamp" property'>check-imperfect-timestamp</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--datarate" title='The "datarate" property'>datarate</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--drop-probability" title='The "drop-probability" property'>drop-probability</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--dump" title='The "dump" property'>dump</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--error-after" title='The "error-after" property'>error-after</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--last-message" title='The "last-message" property'>last-message</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
+ "<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--signal-handoffs" title='The "signal-handoffs" property'>signal-handoffs</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--silent" title='The "silent" property'>silent</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--single-segment" title='The "single-segment" property'>single-segment</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--sleep-time" title='The "sleep-time" property'>sleep-time</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--sync" title='The "sync" property'>sync</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-offset" title='The "check-imperfect-offset" property'>check-imperfect-offset</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--check-imperfect-timestamp" title='The "check-imperfect-timestamp" property'>check-imperfect-timestamp</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-identity.html#GstIdentity--signal-handoffs" title='The "signal-handoffs" property'>signal-handoffs</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
</pre>
</div>
<div class="refsect1">
@@ -90,9 +89,12 @@ useful diagnostic functions, such as offset and timestamp checking.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp11034240"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp9885728"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -113,9 +115,12 @@ useful diagnostic functions, such as offset and timestamp checking.
</div>
<hr>
<div class="refsect2">
-<a name="idp11041696"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp9893184"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -135,8 +140,11 @@ useful diagnostic functions, such as offset and timestamp checking.
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -174,9 +182,16 @@ Opaque <a class="link" href="gstreamer-plugins-identity.html#GstIdentity"><span
<div class="refsect1">
<a name="gstreamer-plugins-identity.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
-<a name="GstIdentity--check-perfect"></a><h3>The <code class="literal">"check-perfect"</code> property</h3>
-<pre class="programlisting"> "check-perfect" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>Verify that the stream is time- and data-contiguous. This only logs in the debug log. This will be deprecated in favor of the check-imperfect-timestamp/offset properties.</p>
+<a name="GstIdentity--check-imperfect-offset"></a><h3>The <code class="literal">"check-imperfect-offset"</code> property</h3>
+<pre class="programlisting"> "check-imperfect-offset" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
+<p>Send element messages if offset and offset_end do not match up.</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstIdentity--check-imperfect-timestamp"></a><h3>The <code class="literal">"check-imperfect-timestamp"</code> property</h3>
+<pre class="programlisting"> "check-imperfect-timestamp" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
+<p>Send element messages if timestamps and durations do not match up.</p>
<p>Default value: FALSE</p>
</div>
<hr>
@@ -218,6 +233,16 @@ Opaque <a class="link" href="gstreamer-plugins-identity.html#GstIdentity"><span
</div>
<hr>
<div class="refsect2">
+<a name="GstIdentity--signal-handoffs"></a><h3>The <code class="literal">"signal-handoffs"</code> property</h3>
+<pre class="programlisting"> "signal-handoffs" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
+<p>
+If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a>, the identity will emit a handoff signal when handling a buffer.
+When set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>, no signal will be emited, which might improve performance.
+</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GstIdentity--silent"></a><h3>The <code class="literal">"silent"</code> property</h3>
<pre class="programlisting"> "silent" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
<p>silent.</p>
@@ -244,30 +269,6 @@ Opaque <a class="link" href="gstreamer-plugins-identity.html#GstIdentity"><span
<p>Synchronize to pipeline clock.</p>
<p>Default value: FALSE</p>
</div>
-<hr>
-<div class="refsect2">
-<a name="GstIdentity--check-imperfect-offset"></a><h3>The <code class="literal">"check-imperfect-offset"</code> property</h3>
-<pre class="programlisting"> "check-imperfect-offset" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>Send element messages if offset and offset_end do not match up.</p>
-<p>Default value: FALSE</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstIdentity--check-imperfect-timestamp"></a><h3>The <code class="literal">"check-imperfect-timestamp"</code> property</h3>
-<pre class="programlisting"> "check-imperfect-timestamp" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>Send element messages if timestamps and durations do not match up.</p>
-<p>Default value: FALSE</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstIdentity--signal-handoffs"></a><h3>The <code class="literal">"signal-handoffs"</code> property</h3>
-<pre class="programlisting"> "signal-handoffs" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>
-If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a>, the identity will emit a handoff signal when handling a buffer.
-When set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>, no signal will be emited, which might improve performance.
-</p>
-<p>Default value: TRUE</p>
-</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-identity.signal-details"></a><h2>Signal Details</h2>
@@ -279,8 +280,11 @@ When set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-
<p>
This signal gets emitted before passing the buffer downstream.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>identity</code></em> :</span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-input-selector.html b/docs/plugins/html/gstreamer-plugins-input-selector.html
index e4f561f..064fba1 100644
--- a/docs/plugins/html/gstreamer-plugins-input-selector.html
+++ b/docs/plugins/html/gstreamer-plugins-input-selector.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>input-selector</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-identity.html" title="identity">
@@ -60,18 +60,16 @@
<a name="gstreamer-plugins-input-selector.properties"></a><h2>Properties</h2>
<pre class="synopsis">
"<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--active-pad" title='The "active-pad" property'>active-pad</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>* : Read / Write
- "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--n-pads" title='The "n-pads" property'>n-pads</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read
- "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--select-all" title='The "select-all" property'>select-all</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--sync-streams" title='The "sync-streams" property'>sync-streams</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--cache-buffers" title='The "cache-buffers" property'>cache-buffers</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
+ "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--n-pads" title='The "n-pads" property'>n-pads</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read
"<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--sync-mode" title='The "sync-mode" property'>sync-mode</a>" <span class="type">GstInputSelectorSyncMode</span> : Read / Write
+ "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector--sync-streams" title='The "sync-streams" property'>sync-streams</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-input-selector.signals"></a><h2>Signals</h2>
<pre class="synopsis">
"<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector-block" title='The "block" signal'>block</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
- "<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector-switch" title='The "switch" signal'>switch</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
</pre>
</div>
<div class="refsect1">
@@ -85,7 +83,7 @@ properties, which users may find useful, namely:
</p>
<p>
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
"running-time": Running time of stream on pad (<span class="type">gint64</span>)
</li>
@@ -105,9 +103,12 @@ properties, which users may find useful, namely:
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10844784"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp9052048"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -128,9 +129,12 @@ properties, which users may find useful, namely:
</div>
<hr>
<div class="refsect2">
-<a name="idp10852320"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp9059584"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -150,8 +154,11 @@ properties, which users may find useful, namely:
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -194,35 +201,6 @@ properties, which users may find useful, namely:
</div>
<hr>
<div class="refsect2">
-<a name="GstInputSelector--n-pads"></a><h3>The <code class="literal">"n-pads"</code> property</h3>
-<pre class="programlisting"> "n-pads" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read</pre>
-<p>The number of sink pads.</p>
-<p>Default value: 0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstInputSelector--select-all"></a><h3>The <code class="literal">"select-all"</code> property</h3>
-<pre class="programlisting"> "select-all" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>Forwards data from all input pads.</p>
-<p>Default value: FALSE</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstInputSelector--sync-streams"></a><h3>The <code class="literal">"sync-streams"</code> property</h3>
-<pre class="programlisting"> "sync-streams" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>
-If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> all inactive streams will be synced to the
-running time of the active stream or to the current clock.
-</p>
-<p>
-To make sure no buffers are dropped by input-selector
-that might be needed when switching the active pad,
-sync-mode should be set to "clock" and cache-buffers to TRUE.
-</p>
-<p>Default value: TRUE</p>
-</div>
-<hr>
-<div class="refsect2">
<a name="GstInputSelector--cache-buffers"></a><h3>The <code class="literal">"cache-buffers"</code> property</h3>
<pre class="programlisting"> "cache-buffers" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
<p>
@@ -240,6 +218,13 @@ reactivate that pad without loosing the already consumed buffers is to enable ca
</div>
<hr>
<div class="refsect2">
+<a name="GstInputSelector--n-pads"></a><h3>The <code class="literal">"n-pads"</code> property</h3>
+<pre class="programlisting"> "n-pads" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read</pre>
+<p>The number of sink pads.</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GstInputSelector--sync-mode"></a><h3>The <code class="literal">"sync-mode"</code> property</h3>
<pre class="programlisting"> "sync-mode" <span class="type">GstInputSelectorSyncMode</span> : Read / Write</pre>
<p>
@@ -253,6 +238,21 @@ which may cause delays and some missing buffers.
</p>
<p>Default value: Sync using the current active segment</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="GstInputSelector--sync-streams"></a><h3>The <code class="literal">"sync-streams"</code> property</h3>
+<pre class="programlisting"> "sync-streams" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
+<p>
+If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> all inactive streams will be synced to the
+running time of the active stream or to the current clock.
+</p>
+<p>
+To make sure no buffers are dropped by input-selector
+that might be needed when switching the active pad,
+sync-mode should be set to "clock" and cache-buffers to TRUE.
+</p>
+<p>Default value: TRUE</p>
+</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-input-selector.signal-details"></a><h2>Signal Details</h2>
@@ -265,8 +265,11 @@ Block all sink pads in preparation for a switch. Returns the stop time of
the current switch segment, as a running time, or 0 if there is no current
active pad or the current active pad never received data.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>inputselector</code></em> :</span></p></td>
@@ -280,30 +283,6 @@ active pad or the current active pad never received data.
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GstInputSelector-switch"></a><h3>The <code class="literal">"switch"</code> signal</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gstreamer-plugins-input-selector.html#GstInputSelector"><span class="type">GstInputSelector</span></a> *gstinputselector,
- <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *arg1,
- <span class="type">gint64</span> arg2,
- <span class="type">gint64</span> arg3,
- <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
-<p>
-</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>gstinputselector</code></em> :</span></p></td>
-<td>the object which received the signal.</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
-<td>user data set when the signal handler was connected.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-input-selector.see-also"></a><h2>See Also</h2>
diff --git a/docs/plugins/html/gstreamer-plugins-multiqueue.html b/docs/plugins/html/gstreamer-plugins-multiqueue.html
index 086335c..ef0a35c 100644
--- a/docs/plugins/html/gstreamer-plugins-multiqueue.html
+++ b/docs/plugins/html/gstreamer-plugins-multiqueue.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>multiqueue</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-input-selector.html" title="input-selector">
@@ -62,13 +62,13 @@
"<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-buffers" title='The "extra-size-buffers" property'>extra-size-buffers</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-bytes" title='The "extra-size-bytes" property'>extra-size-bytes</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-time" title='The "extra-size-time" property'>extra-size-time</a>" <span class="type">guint64</span> : Read / Write
+ "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--high-percent" title='The "high-percent" property'>high-percent</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
+ "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--low-percent" title='The "low-percent" property'>low-percent</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-buffers" title='The "max-size-buffers" property'>max-size-buffers</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-bytes" title='The "max-size-bytes" property'>max-size-bytes</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-time" title='The "max-size-time" property'>max-size-time</a>" <span class="type">guint64</span> : Read / Write
- "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--high-percent" title='The "high-percent" property'>high-percent</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--low-percent" title='The "low-percent" property'>low-percent</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--use-buffering" title='The "use-buffering" property'>use-buffering</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--sync-by-running-time" title='The "sync-by-running-time" property'>sync-by-running-time</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
+ "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--use-buffering" title='The "use-buffering" property'>use-buffering</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
</pre>
</div>
<div class="refsect1">
@@ -83,14 +83,14 @@
<p>
</p>
<div class="refsect2">
-<a name="idp6331200"></a><p>
+<a name="idp10331488"></a><p>
Multiqueue is similar to a normal <a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> with the following additional
features:
</p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><div class="itemizedlist">
<p class="title"><b>Multiple streamhandling</b></p>
-<ul class="itemizedlist" type="disc"><li class="listitem">
+<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<p>
The element handles queueing data on more than one stream at once. To
achieve such a feature it has request sink pads (sink%d) and
@@ -105,7 +105,7 @@ features:
</div></li>
<li class="listitem"><div class="itemizedlist">
<p class="title"><b>Non-starvation on multiple streams</b></p>
-<ul class="itemizedlist" type="disc"><li class="listitem">
+<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<p>
If more than one stream is used with the element, the streams' queues
will be dynamically grown (up to a limit), in order to ensure that no
@@ -121,7 +121,7 @@ features:
</div></li>
<li class="listitem"><div class="itemizedlist">
<p class="title"><b>Non-linked srcpads graceful handling</b></p>
-<ul class="itemizedlist" type="disc"><li class="listitem">
+<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<p>
In order to better support dynamic switching between streams, the multiqueue
(unlike the current GStreamer queue) continues to push buffers on non-linked
@@ -173,9 +173,12 @@ Last reviewed on 2008-01-25 (0.10.17)
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp11189504"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp10352992"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -196,9 +199,12 @@ Last reviewed on 2008-01-25 (0.10.17)
</div>
<hr>
<div class="refsect2">
-<a name="idp11196960"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp10360448"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -218,8 +224,11 @@ Last reviewed on 2008-01-25 (0.10.17)
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -278,27 +287,6 @@ Opaque <a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue"><s
</div>
<hr>
<div class="refsect2">
-<a name="GstMultiQueue--max-size-buffers"></a><h3>The <code class="literal">"max-size-buffers"</code> property</h3>
-<pre class="programlisting"> "max-size-buffers" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
-<p>Max. number of buffers in the queue (0=disable).</p>
-<p>Default value: 5</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMultiQueue--max-size-bytes"></a><h3>The <code class="literal">"max-size-bytes"</code> property</h3>
-<pre class="programlisting"> "max-size-bytes" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
-<p>Max. amount of data in the queue (bytes, 0=disable).</p>
-<p>Default value: 10485760</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMultiQueue--max-size-time"></a><h3>The <code class="literal">"max-size-time"</code> property</h3>
-<pre class="programlisting"> "max-size-time" <span class="type">guint64</span> : Read / Write</pre>
-<p>Max. amount of data in the queue (in ns, 0=disable).</p>
-<p>Default value: 2000000000</p>
-</div>
-<hr>
-<div class="refsect2">
<a name="GstMultiQueue--high-percent"></a><h3>The <code class="literal">"high-percent"</code> property</h3>
<pre class="programlisting"> "high-percent" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write</pre>
<p>
@@ -319,13 +307,24 @@ Low threshold percent for buffering to start.
</div>
<hr>
<div class="refsect2">
-<a name="GstMultiQueue--use-buffering"></a><h3>The <code class="literal">"use-buffering"</code> property</h3>
-<pre class="programlisting"> "use-buffering" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>
-Enable the buffering option in multiqueue so that BUFFERING messages are
-emited based on low-/high-percent thresholds.
-</p>
-<p>Default value: FALSE</p>
+<a name="GstMultiQueue--max-size-buffers"></a><h3>The <code class="literal">"max-size-buffers"</code> property</h3>
+<pre class="programlisting"> "max-size-buffers" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
+<p>Max. number of buffers in the queue (0=disable).</p>
+<p>Default value: 5</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMultiQueue--max-size-bytes"></a><h3>The <code class="literal">"max-size-bytes"</code> property</h3>
+<pre class="programlisting"> "max-size-bytes" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
+<p>Max. amount of data in the queue (bytes, 0=disable).</p>
+<p>Default value: 10485760</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMultiQueue--max-size-time"></a><h3>The <code class="literal">"max-size-time"</code> property</h3>
+<pre class="programlisting"> "max-size-time" <span class="type">guint64</span> : Read / Write</pre>
+<p>Max. amount of data in the queue (in ns, 0=disable).</p>
+<p>Default value: 2000000000</p>
</div>
<hr>
<div class="refsect2">
@@ -340,6 +339,16 @@ to active and linked streams.
</p>
<p>Default value: FALSE</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="GstMultiQueue--use-buffering"></a><h3>The <code class="literal">"use-buffering"</code> property</h3>
+<pre class="programlisting"> "use-buffering" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
+<p>
+Enable the buffering option in multiqueue so that BUFFERING messages are
+emited based on low-/high-percent thresholds.
+</p>
+<p>Default value: FALSE</p>
+</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-multiqueue.signal-details"></a><h2>Signal Details</h2>
@@ -356,8 +365,11 @@ GObject properties.
<p>
This can be used as an indicator of pre-roll.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>multiqueue</code></em> :</span></p></td>
@@ -382,8 +394,11 @@ no data in any of the queues inside the multiqueue instance (underrun).
<p>
This indicates either starvation or EOS from the upstream data sources.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>multiqueue</code></em> :</span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-output-selector.html b/docs/plugins/html/gstreamer-plugins-output-selector.html
index eef5eab..50b01de 100644
--- a/docs/plugins/html/gstreamer-plugins-output-selector.html
+++ b/docs/plugins/html/gstreamer-plugins-output-selector.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>output-selector</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-multiqueue.html" title="multiqueue">
@@ -58,8 +58,8 @@
<a name="gstreamer-plugins-output-selector.properties"></a><h2>Properties</h2>
<pre class="synopsis">
"<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--active-pad" title='The "active-pad" property'>active-pad</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>* : Read / Write
- "<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--resend-latest" title='The "resend-latest" property'>resend-latest</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--pad-negotiation-mode" title='The "pad-negotiation-mode" property'>pad-negotiation-mode</a>" <span class="type">GstOutputSelectorPadNegotiationMode</span> : Read / Write
+ "<a class="link" href="gstreamer-plugins-output-selector.html#GstOutputSelector--resend-latest" title='The "resend-latest" property'>resend-latest</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
</pre>
</div>
<div class="refsect1">
@@ -70,9 +70,12 @@ Direct input stream to one out of N output pads.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10117472"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp6884992"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -93,9 +96,12 @@ Direct input stream to one out of N output pads.
</div>
<hr>
<div class="refsect2">
-<a name="idp7942336"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp9588000"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -115,8 +121,11 @@ Direct input stream to one out of N output pads.
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -159,18 +168,18 @@ Direct input stream to one out of N output pads.
</div>
<hr>
<div class="refsect2">
-<a name="GstOutputSelector--resend-latest"></a><h3>The <code class="literal">"resend-latest"</code> property</h3>
-<pre class="programlisting"> "resend-latest" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>Resend latest buffer after a switch to a new pad.</p>
-<p>Default value: FALSE</p>
-</div>
-<hr>
-<div class="refsect2">
<a name="GstOutputSelector--pad-negotiation-mode"></a><h3>The <code class="literal">"pad-negotiation-mode"</code> property</h3>
<pre class="programlisting"> "pad-negotiation-mode" <span class="type">GstOutputSelectorPadNegotiationMode</span> : Read / Write</pre>
<p>The mode to be used for pad negotiation.</p>
<p>Default value: All</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="GstOutputSelector--resend-latest"></a><h3>The <code class="literal">"resend-latest"</code> property</h3>
+<pre class="programlisting"> "resend-latest" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
+<p>Resend latest buffer after a switch to a new pad.</p>
+<p>Default value: FALSE</p>
+</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-output-selector.see-also"></a><h2>See Also</h2>
diff --git a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
index 529882b..b2126fc 100644
--- a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
+++ b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>coreelements</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gstreamer Plugins">
<link rel="prev" href="ch02.html" title="gstreamer Plugins">
@@ -23,14 +23,17 @@
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle">coreelements</span></h2>
-<p>coreelements — <a name="plugin-coreelements"></a> GStreamer core elements</p>
+<p>coreelements — <a name="plugin-coreelements"></a>GStreamer core elements</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp5968112"></a><h2>Plugin Information</h2>
-<div class="variablelist"><table border="0">
+<a name="idp2843232"></a><h2>Plugin Information</h2>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">filename</span></p></td>
@@ -38,7 +41,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.8</td>
+<td>1.1.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -56,9 +59,12 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp6914752"></a><h2>Elements</h2>
-<div class="variablelist"><table border="0">
+<a name="idp7797440"></a><h2>Elements</h2>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-plugins-capsfilter.html" title="capsfilter">capsfilter</a></span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-queue.html b/docs/plugins/html/gstreamer-plugins-queue.html
index 1285631..0aac199 100644
--- a/docs/plugins/html/gstreamer-plugins-queue.html
+++ b/docs/plugins/html/gstreamer-plugins-queue.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>queue</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-output-selector.html" title="output-selector">
@@ -63,6 +63,7 @@ enum <a class="link" href="gstreamer-plugins-queue.html#GstQueueL
"<a class="link" href="gstreamer-plugins-queue.html#GstQueue--current-level-buffers" title='The "current-level-buffers" property'>current-level-buffers</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read
"<a class="link" href="gstreamer-plugins-queue.html#GstQueue--current-level-bytes" title='The "current-level-bytes" property'>current-level-bytes</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read
"<a class="link" href="gstreamer-plugins-queue.html#GstQueue--current-level-time" title='The "current-level-time" property'>current-level-time</a>" <span class="type">guint64</span> : Read
+ "<a class="link" href="gstreamer-plugins-queue.html#GstQueue--flush-on-eos" title='The "flush-on-eos" property'>flush-on-eos</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-queue.html#GstQueue--leaky" title='The "leaky" property'>leaky</a>" <a class="link" href="gstreamer-plugins-queue.html#GstQueueLeaky" title="enum GstQueueLeaky"><span class="type">GstQueueLeaky</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-queue.html#GstQueue--max-size-buffers" title='The "max-size-buffers" property'>max-size-buffers</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-queue.html#GstQueue--max-size-bytes" title='The "max-size-bytes" property'>max-size-bytes</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
@@ -77,9 +78,9 @@ enum <a class="link" href="gstreamer-plugins-queue.html#GstQueueL
<a name="gstreamer-plugins-queue.signals"></a><h2>Signals</h2>
<pre class="synopsis">
"<a class="link" href="gstreamer-plugins-queue.html#GstQueue-overrun" title='The "overrun" signal'>overrun</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
+ "<a class="link" href="gstreamer-plugins-queue.html#GstQueue-pushing" title='The "pushing" signal'>pushing</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
"<a class="link" href="gstreamer-plugins-queue.html#GstQueue-running" title='The "running" signal'>running</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
"<a class="link" href="gstreamer-plugins-queue.html#GstQueue-underrun" title='The "underrun" signal'>underrun</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
- "<a class="link" href="gstreamer-plugins-queue.html#GstQueue-pushing" title='The "pushing" signal'>pushing</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
</pre>
</div>
<div class="refsect1">
@@ -122,9 +123,12 @@ up. Both signals are emitted from the context of the streaming thread.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp11420640"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp10597232"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -145,9 +149,12 @@ up. Both signals are emitted from the context of the streaming thread.
</div>
<hr>
<div class="refsect2">
-<a name="idp11428096"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp10604688"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -167,8 +174,11 @@ up. Both signals are emitted from the context of the streaming thread.
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -214,8 +224,11 @@ Opaque <a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class=
<p>
Buffer dropping scheme to avoid the queue to block when full.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-QUEUE-NO-LEAK:CAPS"></a><span class="term"><code class="literal">GST_QUEUE_NO_LEAK</code></span></p></td>
@@ -260,6 +273,25 @@ Buffer dropping scheme to avoid the queue to block when full.
</div>
<hr>
<div class="refsect2">
+<a name="GstQueue--flush-on-eos"></a><h3>The <code class="literal">"flush-on-eos"</code> property</h3>
+<pre class="programlisting"> "flush-on-eos" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
+<p>
+Discard all data in the queue when an EOS event is received, and pass
+on the EOS event as soon as possible (instead of waiting until all
+buffers in the queue have been processed, which is the default behaviour).
+</p>
+<p>
+Flushing the queue on EOS might be useful when capturing and encoding
+from a live source, to finish up the recording quickly in cases when
+the encoder is slow. Note that this might mean some data from the end of
+the recoding data might be lost though (never more than the configured
+max. sizes though).
+</p>
+<p>Default value: FALSE</p>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GstQueue--leaky"></a><h3>The <code class="literal">"leaky"</code> property</h3>
<pre class="programlisting"> "leaky" <a class="link" href="gstreamer-plugins-queue.html#GstQueueLeaky" title="enum GstQueueLeaky"><span class="type">GstQueueLeaky</span></a> : Read / Write</pre>
<p>Where the queue leaks, if at all.</p>
@@ -330,8 +362,11 @@ A buffer is full if the total amount of data inside it (num-buffers, time,
size) is higher than the boundary values which can be set through the
GObject properties.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
@@ -346,16 +381,18 @@ GObject properties.
</div>
<hr>
<div class="refsect2">
-<a name="GstQueue-running"></a><h3>The <code class="literal">"running"</code> signal</h3>
+<a name="GstQueue-pushing"></a><h3>The <code class="literal">"pushing"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> *queue,
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
<p>
-Reports that enough (min-threshold) data is in the queue. Use this signal
-together with the underrun signal to pause the pipeline on underrun and
-wait for the queue to fill-up before resume playback.
+Reports when the queue has enough data to start pushing data again on the
+source pad.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
@@ -370,17 +407,19 @@ wait for the queue to fill-up before resume playback.
</div>
<hr>
<div class="refsect2">
-<a name="GstQueue-underrun"></a><h3>The <code class="literal">"underrun"</code> signal</h3>
+<a name="GstQueue-running"></a><h3>The <code class="literal">"running"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> *queue,
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
<p>
-Reports that the buffer became empty (underrun).
-A buffer is empty if the total amount of data inside it (num-buffers, time,
-size) is lower than the boundary values which can be set through the
-GObject properties.
+Reports that enough (min-threshold) data is in the queue. Use this signal
+together with the underrun signal to pause the pipeline on underrun and
+wait for the queue to fill-up before resume playback.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
@@ -395,15 +434,20 @@ GObject properties.
</div>
<hr>
<div class="refsect2">
-<a name="GstQueue-pushing"></a><h3>The <code class="literal">"pushing"</code> signal</h3>
+<a name="GstQueue-underrun"></a><h3>The <code class="literal">"underrun"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> *queue,
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
<p>
-Reports when the queue has enough data to start pushing data again on the
-source pad.
+Reports that the buffer became empty (underrun).
+A buffer is empty if the total amount of data inside it (num-buffers, time,
+size) is lower than the boundary values which can be set through the
+GObject properties.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>queue</code></em> :</span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-queue2.html b/docs/plugins/html/gstreamer-plugins-queue2.html
index 140e17b..f0e6c99 100644
--- a/docs/plugins/html/gstreamer-plugins-queue2.html
+++ b/docs/plugins/html/gstreamer-plugins-queue2.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>queue2</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-queue.html" title="queue">
@@ -65,12 +65,12 @@
"<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--max-size-buffers" title='The "max-size-buffers" property'>max-size-buffers</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--max-size-bytes" title='The "max-size-bytes" property'>max-size-bytes</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--max-size-time" title='The "max-size-time" property'>max-size-time</a>" <span class="type">guint64</span> : Read / Write
+ "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--ring-buffer-max-size" title='The "ring-buffer-max-size" property'>ring-buffer-max-size</a>" <span class="type">guint64</span> : Read / Write
"<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--temp-location" title='The "temp-location" property'>temp-location</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
+ "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--temp-remove" title='The "temp-remove" property'>temp-remove</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--temp-template" title='The "temp-template" property'>temp-template</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
"<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--use-buffering" title='The "use-buffering" property'>use-buffering</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--use-rate-estimate" title='The "use-rate-estimate" property'>use-rate-estimate</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--temp-remove" title='The "temp-remove" property'>temp-remove</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--ring-buffer-max-size" title='The "ring-buffer-max-size" property'>ring-buffer-max-size</a>" <span class="type">guint64</span> : Read / Write
</pre>
</div>
<div class="refsect1">
@@ -110,9 +110,12 @@ Last reviewed on 2009-07-10 (0.10.24)
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp11773184"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp10517952"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -133,9 +136,12 @@ Last reviewed on 2009-07-10 (0.10.24)
</div>
<hr>
<div class="refsect2">
-<a name="idp11780592"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp10525360"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -155,8 +161,11 @@ Last reviewed on 2009-07-10 (0.10.24)
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -251,6 +260,16 @@ Last reviewed on 2009-07-10 (0.10.24)
</div>
<hr>
<div class="refsect2">
+<a name="GstQueue2--ring-buffer-max-size"></a><h3>The <code class="literal">"ring-buffer-max-size"</code> property</h3>
+<pre class="programlisting"> "ring-buffer-max-size" <span class="type">guint64</span> : Read / Write</pre>
+<p>
+The maximum size of the ring buffer in bytes. If set to 0, the ring
+buffer is disabled. Default 0.
+</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GstQueue2--temp-location"></a><h3>The <code class="literal">"temp-location"</code> property</h3>
<pre class="programlisting"> "temp-location" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
<p>Location to store temporary files in (Only read this property, use temp-template to configure the name template).</p>
@@ -258,6 +277,15 @@ Last reviewed on 2009-07-10 (0.10.24)
</div>
<hr>
<div class="refsect2">
+<a name="GstQueue2--temp-remove"></a><h3>The <code class="literal">"temp-remove"</code> property</h3>
+<pre class="programlisting"> "temp-remove" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
+<p>
+When temp-template is set, remove the temporary file when going to READY.
+</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GstQueue2--temp-template"></a><h3>The <code class="literal">"temp-template"</code> property</h3>
<pre class="programlisting"> "temp-template" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
<p>File template to store temporary files in, should contain directory and XXXXXX. (NULL == disabled).</p>
@@ -277,25 +305,6 @@ Last reviewed on 2009-07-10 (0.10.24)
<p>Estimate the bitrate of the stream to calculate time level.</p>
<p>Default value: TRUE</p>
</div>
-<hr>
-<div class="refsect2">
-<a name="GstQueue2--temp-remove"></a><h3>The <code class="literal">"temp-remove"</code> property</h3>
-<pre class="programlisting"> "temp-remove" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
-<p>
-When temp-template is set, remove the temporary file when going to READY.
-</p>
-<p>Default value: TRUE</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstQueue2--ring-buffer-max-size"></a><h3>The <code class="literal">"ring-buffer-max-size"</code> property</h3>
-<pre class="programlisting"> "ring-buffer-max-size" <span class="type">guint64</span> : Read / Write</pre>
-<p>
-The maximum size of the ring buffer in bytes. If set to 0, the ring
-buffer is disabled. Default 0.
-</p>
-<p>Default value: 0</p>
-</div>
</div>
</div>
<div class="footer">
diff --git a/docs/plugins/html/gstreamer-plugins-tee.html b/docs/plugins/html/gstreamer-plugins-tee.html
index 08c096a..39f1de5 100644
--- a/docs/plugins/html/gstreamer-plugins-tee.html
+++ b/docs/plugins/html/gstreamer-plugins-tee.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>tee</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-queue2.html" title="queue2">
@@ -58,13 +58,12 @@ enum <a class="link" href="gstreamer-plugins-tee.html#GstTeePullM
<div class="refsect1">
<a name="gstreamer-plugins-tee.properties"></a><h2>Properties</h2>
<pre class="synopsis">
+ "<a class="link" href="gstreamer-plugins-tee.html#GstTee--alloc-pad" title='The "alloc-pad" property'>alloc-pad</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>* : Read / Write
"<a class="link" href="gstreamer-plugins-tee.html#GstTee--has-chain" title='The "has-chain" property'>has-chain</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct
- "<a class="link" href="gstreamer-plugins-tee.html#GstTee--has-sink-loop" title='The "has-sink-loop" property'>has-sink-loop</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct
"<a class="link" href="gstreamer-plugins-tee.html#GstTee--last-message" title='The "last-message" property'>last-message</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read
"<a class="link" href="gstreamer-plugins-tee.html#GstTee--num-src-pads" title='The "num-src-pads" property'>num-src-pads</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read
- "<a class="link" href="gstreamer-plugins-tee.html#GstTee--silent" title='The "silent" property'>silent</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct
"<a class="link" href="gstreamer-plugins-tee.html#GstTee--pull-mode" title='The "pull-mode" property'>pull-mode</a>" <a class="link" href="gstreamer-plugins-tee.html#GstTeePullMode" title="enum GstTeePullMode"><span class="type">GstTeePullMode</span></a> : Read / Write / Construct
- "<a class="link" href="gstreamer-plugins-tee.html#GstTee--alloc-pad" title='The "alloc-pad" property'>alloc-pad</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>* : Read / Write
+ "<a class="link" href="gstreamer-plugins-tee.html#GstTee--silent" title='The "silent" property'>silent</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct
</pre>
</div>
<div class="refsect1">
@@ -83,7 +82,7 @@ branch would stall the other branches.
<p>
</p>
<div class="refsect2">
-<a name="idp9054480"></a><h3>Example launch line</h3>
+<a name="idp10011744"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -102,9 +101,12 @@ element.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp9057200"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp10014192"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -125,9 +127,12 @@ element.
</div>
<hr>
<div class="refsect2">
-<a name="idp12371632"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp10021600"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -147,8 +152,11 @@ element.
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -194,8 +202,11 @@ Opaque <a class="link" href="gstreamer-plugins-tee.html#GstTee"><span class="typ
The different ways that tee can behave in pull mode. <em class="parameter"><code>TEE_PULL_MODE_NEVER</code></em>
disables pull mode.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><a name="GST-TEE-PULL-MODE-NEVER:CAPS"></a><span class="term"><code class="literal">GST_TEE_PULL_MODE_NEVER</code></span></p></td>
@@ -214,6 +225,12 @@ disables pull mode.
<div class="refsect1">
<a name="gstreamer-plugins-tee.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
+<a name="GstTee--alloc-pad"></a><h3>The <code class="literal">"alloc-pad"</code> property</h3>
+<pre class="programlisting"> "alloc-pad" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>* : Read / Write</pre>
+<p>The pad ALLOCATION queries will be proxied to (unused).</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="GstTee--has-chain"></a><h3>The <code class="literal">"has-chain"</code> property</h3>
<pre class="programlisting"> "has-chain" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct</pre>
<p>If the element can operate in push mode.</p>
@@ -221,13 +238,6 @@ disables pull mode.
</div>
<hr>
<div class="refsect2">
-<a name="GstTee--has-sink-loop"></a><h3>The <code class="literal">"has-sink-loop"</code> property</h3>
-<pre class="programlisting"> "has-sink-loop" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct</pre>
-<p>If the element should spawn a thread (unimplemented and deprecated).</p>
-<p>Default value: FALSE</p>
-</div>
-<hr>
-<div class="refsect2">
<a name="GstTee--last-message"></a><h3>The <code class="literal">"last-message"</code> property</h3>
<pre class="programlisting"> "last-message" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre>
<p>The message describing current status.</p>
@@ -243,13 +253,6 @@ disables pull mode.
</div>
<hr>
<div class="refsect2">
-<a name="GstTee--silent"></a><h3>The <code class="literal">"silent"</code> property</h3>
-<pre class="programlisting"> "silent" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct</pre>
-<p>Don't produce last_message events.</p>
-<p>Default value: TRUE</p>
-</div>
-<hr>
-<div class="refsect2">
<a name="GstTee--pull-mode"></a><h3>The <code class="literal">"pull-mode"</code> property</h3>
<pre class="programlisting"> "pull-mode" <a class="link" href="gstreamer-plugins-tee.html#GstTeePullMode" title="enum GstTeePullMode"><span class="type">GstTeePullMode</span></a> : Read / Write / Construct</pre>
<p>Behavior of tee in pull mode.</p>
@@ -257,9 +260,10 @@ disables pull mode.
</div>
<hr>
<div class="refsect2">
-<a name="GstTee--alloc-pad"></a><h3>The <code class="literal">"alloc-pad"</code> property</h3>
-<pre class="programlisting"> "alloc-pad" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>* : Read / Write</pre>
-<p>The pad used for gst_pad_alloc_buffer.</p>
+<a name="GstTee--silent"></a><h3>The <code class="literal">"silent"</code> property</h3>
+<pre class="programlisting"> "silent" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct</pre>
+<p>Don't produce last_message events.</p>
+<p>Default value: TRUE</p>
</div>
</div>
<div class="refsect1">
diff --git a/docs/plugins/html/gstreamer-plugins-typefind.html b/docs/plugins/html/gstreamer-plugins-typefind.html
index 7bb2c06..52d58bf 100644
--- a/docs/plugins/html/gstreamer-plugins-typefind.html
+++ b/docs/plugins/html/gstreamer-plugins-typefind.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>typefind</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-tee.html" title="tee">
@@ -60,9 +60,8 @@
<a name="gstreamer-plugins-typefind.properties"></a><h2>Properties</h2>
<pre class="synopsis">
"<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--caps" title='The "caps" property'>caps</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>* : Read
- "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--maximum" title='The "maximum" property'>maximum</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
- "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--minimum" title='The "minimum" property'>minimum</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--force-caps" title='The "force-caps" property'>force-caps</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>* : Read / Write
+ "<a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement--minimum" title='The "minimum" property'>minimum</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
</pre>
</div>
<div class="refsect1">
@@ -90,9 +89,12 @@ Plugins can register custom typefinders by using <a href="http://gstreamer.freed
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10818288"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp6540528"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -113,9 +115,12 @@ Plugins can register custom typefinders by using <a href="http://gstreamer.freed
</div>
<hr>
<div class="refsect2">
-<a name="idp10825696"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp7614896"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -135,8 +140,11 @@ Plugins can register custom typefinders by using <a href="http://gstreamer.freed
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -180,11 +188,9 @@ Opaque <a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement"
</div>
<hr>
<div class="refsect2">
-<a name="GstTypeFindElement--maximum"></a><h3>The <code class="literal">"maximum"</code> property</h3>
-<pre class="programlisting"> "maximum" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
-<p>probability to stop typefinding (deprecated; non-functional).</p>
-<p>Allowed values: [1,100]</p>
-<p>Default value: 100</p>
+<a name="GstTypeFindElement--force-caps"></a><h3>The <code class="literal">"force-caps"</code> property</h3>
+<pre class="programlisting"> "force-caps" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>* : Read / Write</pre>
+<p>force caps without doing a typefind.</p>
</div>
<hr>
<div class="refsect2">
@@ -194,12 +200,6 @@ Opaque <a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement"
<p>Allowed values: [1,100]</p>
<p>Default value: 1</p>
</div>
-<hr>
-<div class="refsect2">
-<a name="GstTypeFindElement--force-caps"></a><h3>The <code class="literal">"force-caps"</code> property</h3>
-<pre class="programlisting"> "force-caps" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>* : Read / Write</pre>
-<p>force caps without doing a typefind.</p>
-</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-typefind.signal-details"></a><h2>Signal Details</h2>
@@ -213,8 +213,11 @@ Opaque <a class="link" href="gstreamer-plugins-typefind.html#GstTypeFindElement"
This signal gets emitted when the type and its probability has
been found.
</p>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>typefind</code></em> :</span></p></td>
diff --git a/docs/plugins/html/gstreamer-plugins-valve.html b/docs/plugins/html/gstreamer-plugins-valve.html
index bc534e3..78bfdb3 100644
--- a/docs/plugins/html/gstreamer-plugins-valve.html
+++ b/docs/plugins/html/gstreamer-plugins-valve.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>valve</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-typefind.html" title="typefind">
@@ -81,9 +81,12 @@ Documentation last reviewed on 2010-12-30 (0.10.31)
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp7575472"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0">
+<a name="idp9804192"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
@@ -104,9 +107,12 @@ Documentation last reviewed on 2010-12-30 (0.10.31)
</div>
<hr>
<div class="refsect2">
-<a name="idp11965728"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0">
+<a name="idp10088704"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
@@ -126,8 +132,11 @@ Documentation last reviewed on 2010-12-30 (0.10.31)
</tr>
</tbody>
</table></div>
-<div class="variablelist"><table border="0">
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
<col align="left" valign="top">
+<col>
+</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 29648cf..c01f266 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="next" href="ch01.html" title="gstreamer Elements">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
@@ -15,14 +15,14 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Core Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GStreamer Core Plugins 1.0 (1.0.8)
+ for GStreamer Core Plugins 1.0 (1.1.2)
The latest version of this documentation can be found on-line at
<a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/</a>.
</p></div>
</div>
<hr>
</div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="chapter"><a href="ch01.html">gstreamer Elements</a></span></dt>
<dd><dl>
<dt>
@@ -79,7 +79,7 @@
</dl></dd>
<dt><span class="chapter"><a href="ch02.html">gstreamer Plugins</a></span></dt>
<dd><dl><dt>
-<span class="refentrytitle"><a href="gstreamer-plugins-plugin-coreelements.html">coreelements</a></span><span class="refpurpose"> — <a name="plugin-coreelements"></a> GStreamer core elements</span>
+<span class="refentrytitle"><a href="gstreamer-plugins-plugin-coreelements.html">coreelements</a></span><span class="refpurpose">GStreamer core elements</span>
</dt></dl></dd>
</dl></div>
</div>
diff --git a/docs/plugins/html/index.sgml b/docs/plugins/html/index.sgml
index 01b5927..3045da9 100644
--- a/docs/plugins/html/index.sgml
+++ b/docs/plugins/html/index.sgml
@@ -47,6 +47,7 @@
<ANCHOR id="GstFakeSrc--datarate" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--datarate">
<ANCHOR id="GstFakeSrc--dump" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--dump">
<ANCHOR id="GstFakeSrc--filltype" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--filltype">
+<ANCHOR id="GstFakeSrc--format" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--format">
<ANCHOR id="GstFakeSrc--is-live" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--is-live">
<ANCHOR id="GstFakeSrc--last-message" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--last-message">
<ANCHOR id="GstFakeSrc--parentsize" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--parentsize">
@@ -57,7 +58,6 @@
<ANCHOR id="GstFakeSrc--sizemin" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--sizemin">
<ANCHOR id="GstFakeSrc--sizetype" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--sizetype">
<ANCHOR id="GstFakeSrc--sync" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--sync">
-<ANCHOR id="GstFakeSrc--format" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc--format">
<ANCHOR id="gstreamer-plugins-fakesrc.signal-details" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#gstreamer-plugins-fakesrc.signal-details">
<ANCHOR id="GstFakeSrc-handoff" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#GstFakeSrc-handoff">
<ANCHOR id="gstreamer-plugins-fakesrc.see-also" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesrc.html#gstreamer-plugins-fakesrc.see-also">
@@ -83,10 +83,10 @@
<ANCHOR id="GstFakeSink--can-activate-push" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink--can-activate-push">
<ANCHOR id="GstFakeSink--dump" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink--dump">
<ANCHOR id="GstFakeSink--last-message" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink--last-message">
+<ANCHOR id="GstFakeSink--num-buffers" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink--num-buffers">
<ANCHOR id="GstFakeSink--signal-handoffs" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink--signal-handoffs">
<ANCHOR id="GstFakeSink--silent" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink--silent">
<ANCHOR id="GstFakeSink--state-error" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink--state-error">
-<ANCHOR id="GstFakeSink--num-buffers" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink--num-buffers">
<ANCHOR id="gstreamer-plugins-fakesink.signal-details" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#gstreamer-plugins-fakesink.signal-details">
<ANCHOR id="GstFakeSink-handoff" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink-handoff">
<ANCHOR id="GstFakeSink-preroll-handoff" href="gstreamer-plugins-1.0/gstreamer-plugins-fakesink.html#GstFakeSink-preroll-handoff">
@@ -126,12 +126,7 @@
<ANCHOR id="gstreamer-plugins-filesrc.details" href="gstreamer-plugins-1.0/gstreamer-plugins-filesrc.html#gstreamer-plugins-filesrc.details">
<ANCHOR id="GstFileSrc-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-filesrc.html#GstFileSrc-struct">
<ANCHOR id="gstreamer-plugins-filesrc.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-filesrc.html#gstreamer-plugins-filesrc.property-details">
-<ANCHOR id="GstFileSrc--fd" href="gstreamer-plugins-1.0/gstreamer-plugins-filesrc.html#GstFileSrc--fd">
<ANCHOR id="GstFileSrc--location" href="gstreamer-plugins-1.0/gstreamer-plugins-filesrc.html#GstFileSrc--location">
-<ANCHOR id="GstFileSrc--mmapsize" href="gstreamer-plugins-1.0/gstreamer-plugins-filesrc.html#GstFileSrc--mmapsize">
-<ANCHOR id="GstFileSrc--touch" href="gstreamer-plugins-1.0/gstreamer-plugins-filesrc.html#GstFileSrc--touch">
-<ANCHOR id="GstFileSrc--use-mmap" href="gstreamer-plugins-1.0/gstreamer-plugins-filesrc.html#GstFileSrc--use-mmap">
-<ANCHOR id="GstFileSrc--sequential" href="gstreamer-plugins-1.0/gstreamer-plugins-filesrc.html#GstFileSrc--sequential">
<ANCHOR id="gstreamer-plugins-filesrc.see-also" href="gstreamer-plugins-1.0/gstreamer-plugins-filesrc.html#gstreamer-plugins-filesrc.see-also">
<ANCHOR id="gstreamer-plugins-filesink" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html">
<ANCHOR id="gstreamer-plugins-filesink.synopsis" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#gstreamer-plugins-filesink.synopsis">
@@ -143,10 +138,10 @@
<ANCHOR id="gstreamer-plugins-filesink.details" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#gstreamer-plugins-filesink.details">
<ANCHOR id="GstFileSink-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#GstFileSink-struct">
<ANCHOR id="gstreamer-plugins-filesink.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#gstreamer-plugins-filesink.property-details">
-<ANCHOR id="GstFileSink--location" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#GstFileSink--location">
+<ANCHOR id="GstFileSink--append" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#GstFileSink--append">
<ANCHOR id="GstFileSink--buffer-mode" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#GstFileSink--buffer-mode">
<ANCHOR id="GstFileSink--buffer-size" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#GstFileSink--buffer-size">
-<ANCHOR id="GstFileSink--append" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#GstFileSink--append">
+<ANCHOR id="GstFileSink--location" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#GstFileSink--location">
<ANCHOR id="gstreamer-plugins-filesink.see-also" href="gstreamer-plugins-1.0/gstreamer-plugins-filesink.html#gstreamer-plugins-filesink.see-also">
<ANCHOR id="gstreamer-plugins-funnel" href="gstreamer-plugins-1.0/gstreamer-plugins-funnel.html">
<ANCHOR id="gstreamer-plugins-funnel.synopsis" href="gstreamer-plugins-1.0/gstreamer-plugins-funnel.html#gstreamer-plugins-funnel.synopsis">
@@ -165,19 +160,18 @@
<ANCHOR id="gstreamer-plugins-identity.details" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#gstreamer-plugins-identity.details">
<ANCHOR id="GstIdentity-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity-struct">
<ANCHOR id="gstreamer-plugins-identity.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#gstreamer-plugins-identity.property-details">
-<ANCHOR id="GstIdentity--check-perfect" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--check-perfect">
+<ANCHOR id="GstIdentity--check-imperfect-offset" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--check-imperfect-offset">
+<ANCHOR id="GstIdentity--check-imperfect-timestamp" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--check-imperfect-timestamp">
<ANCHOR id="GstIdentity--datarate" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--datarate">
<ANCHOR id="GstIdentity--drop-probability" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--drop-probability">
<ANCHOR id="GstIdentity--dump" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--dump">
<ANCHOR id="GstIdentity--error-after" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--error-after">
<ANCHOR id="GstIdentity--last-message" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--last-message">
+<ANCHOR id="GstIdentity--signal-handoffs" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--signal-handoffs">
<ANCHOR id="GstIdentity--silent" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--silent">
<ANCHOR id="GstIdentity--single-segment" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--single-segment">
<ANCHOR id="GstIdentity--sleep-time" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--sleep-time">
<ANCHOR id="GstIdentity--sync" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--sync">
-<ANCHOR id="GstIdentity--check-imperfect-offset" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--check-imperfect-offset">
-<ANCHOR id="GstIdentity--check-imperfect-timestamp" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--check-imperfect-timestamp">
-<ANCHOR id="GstIdentity--signal-handoffs" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity--signal-handoffs">
<ANCHOR id="gstreamer-plugins-identity.signal-details" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#gstreamer-plugins-identity.signal-details">
<ANCHOR id="GstIdentity-handoff" href="gstreamer-plugins-1.0/gstreamer-plugins-identity.html#GstIdentity-handoff">
<ANCHOR id="gstreamer-plugins-input-selector" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html">
@@ -191,14 +185,12 @@
<ANCHOR id="GstInputSelector-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector-struct">
<ANCHOR id="gstreamer-plugins-input-selector.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#gstreamer-plugins-input-selector.property-details">
<ANCHOR id="GstInputSelector--active-pad" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector--active-pad">
-<ANCHOR id="GstInputSelector--n-pads" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector--n-pads">
-<ANCHOR id="GstInputSelector--select-all" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector--select-all">
-<ANCHOR id="GstInputSelector--sync-streams" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector--sync-streams">
<ANCHOR id="GstInputSelector--cache-buffers" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector--cache-buffers">
+<ANCHOR id="GstInputSelector--n-pads" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector--n-pads">
<ANCHOR id="GstInputSelector--sync-mode" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector--sync-mode">
+<ANCHOR id="GstInputSelector--sync-streams" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector--sync-streams">
<ANCHOR id="gstreamer-plugins-input-selector.signal-details" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#gstreamer-plugins-input-selector.signal-details">
<ANCHOR id="GstInputSelector-block" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector-block">
-<ANCHOR id="GstInputSelector-switch" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#GstInputSelector-switch">
<ANCHOR id="gstreamer-plugins-input-selector.see-also" href="gstreamer-plugins-1.0/gstreamer-plugins-input-selector.html#gstreamer-plugins-input-selector.see-also">
<ANCHOR id="gstreamer-plugins-multiqueue" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html">
<ANCHOR id="gstreamer-plugins-multiqueue.synopsis" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#gstreamer-plugins-multiqueue.synopsis">
@@ -213,13 +205,13 @@
<ANCHOR id="GstMultiQueue--extra-size-buffers" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-buffers">
<ANCHOR id="GstMultiQueue--extra-size-bytes" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-bytes">
<ANCHOR id="GstMultiQueue--extra-size-time" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-time">
+<ANCHOR id="GstMultiQueue--high-percent" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--high-percent">
+<ANCHOR id="GstMultiQueue--low-percent" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--low-percent">
<ANCHOR id="GstMultiQueue--max-size-buffers" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-buffers">
<ANCHOR id="GstMultiQueue--max-size-bytes" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-bytes">
<ANCHOR id="GstMultiQueue--max-size-time" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-time">
-<ANCHOR id="GstMultiQueue--high-percent" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--high-percent">
-<ANCHOR id="GstMultiQueue--low-percent" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--low-percent">
-<ANCHOR id="GstMultiQueue--use-buffering" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--use-buffering">
<ANCHOR id="GstMultiQueue--sync-by-running-time" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--sync-by-running-time">
+<ANCHOR id="GstMultiQueue--use-buffering" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue--use-buffering">
<ANCHOR id="gstreamer-plugins-multiqueue.signal-details" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#gstreamer-plugins-multiqueue.signal-details">
<ANCHOR id="GstMultiQueue-overrun" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue-overrun">
<ANCHOR id="GstMultiQueue-underrun" href="gstreamer-plugins-1.0/gstreamer-plugins-multiqueue.html#GstMultiQueue-underrun">
@@ -234,8 +226,8 @@
<ANCHOR id="GstOutputSelector-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GstOutputSelector-struct">
<ANCHOR id="gstreamer-plugins-output-selector.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#gstreamer-plugins-output-selector.property-details">
<ANCHOR id="GstOutputSelector--active-pad" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GstOutputSelector--active-pad">
-<ANCHOR id="GstOutputSelector--resend-latest" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GstOutputSelector--resend-latest">
<ANCHOR id="GstOutputSelector--pad-negotiation-mode" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GstOutputSelector--pad-negotiation-mode">
+<ANCHOR id="GstOutputSelector--resend-latest" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#GstOutputSelector--resend-latest">
<ANCHOR id="gstreamer-plugins-output-selector.see-also" href="gstreamer-plugins-1.0/gstreamer-plugins-output-selector.html#gstreamer-plugins-output-selector.see-also">
<ANCHOR id="gstreamer-plugins-queue" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html">
<ANCHOR id="gstreamer-plugins-queue.synopsis" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#gstreamer-plugins-queue.synopsis">
@@ -254,6 +246,7 @@
<ANCHOR id="GstQueue--current-level-buffers" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue--current-level-buffers">
<ANCHOR id="GstQueue--current-level-bytes" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue--current-level-bytes">
<ANCHOR id="GstQueue--current-level-time" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue--current-level-time">
+<ANCHOR id="GstQueue--flush-on-eos" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue--flush-on-eos">
<ANCHOR id="GstQueue--leaky" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue--leaky">
<ANCHOR id="GstQueue--max-size-buffers" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue--max-size-buffers">
<ANCHOR id="GstQueue--max-size-bytes" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue--max-size-bytes">
@@ -264,9 +257,9 @@
<ANCHOR id="GstQueue--silent" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue--silent">
<ANCHOR id="gstreamer-plugins-queue.signal-details" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#gstreamer-plugins-queue.signal-details">
<ANCHOR id="GstQueue-overrun" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue-overrun">
+<ANCHOR id="GstQueue-pushing" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue-pushing">
<ANCHOR id="GstQueue-running" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue-running">
<ANCHOR id="GstQueue-underrun" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue-underrun">
-<ANCHOR id="GstQueue-pushing" href="gstreamer-plugins-1.0/gstreamer-plugins-queue.html#GstQueue-pushing">
<ANCHOR id="gstreamer-plugins-queue2" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html">
<ANCHOR id="gstreamer-plugins-queue2.synopsis" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#gstreamer-plugins-queue2.synopsis">
<ANCHOR id="GstQueue2" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2">
@@ -284,12 +277,12 @@
<ANCHOR id="GstQueue2--max-size-buffers" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--max-size-buffers">
<ANCHOR id="GstQueue2--max-size-bytes" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--max-size-bytes">
<ANCHOR id="GstQueue2--max-size-time" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--max-size-time">
+<ANCHOR id="GstQueue2--ring-buffer-max-size" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--ring-buffer-max-size">
<ANCHOR id="GstQueue2--temp-location" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--temp-location">
+<ANCHOR id="GstQueue2--temp-remove" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--temp-remove">
<ANCHOR id="GstQueue2--temp-template" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--temp-template">
<ANCHOR id="GstQueue2--use-buffering" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--use-buffering">
<ANCHOR id="GstQueue2--use-rate-estimate" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--use-rate-estimate">
-<ANCHOR id="GstQueue2--temp-remove" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--temp-remove">
-<ANCHOR id="GstQueue2--ring-buffer-max-size" href="gstreamer-plugins-1.0/gstreamer-plugins-queue2.html#GstQueue2--ring-buffer-max-size">
<ANCHOR id="gstreamer-plugins-tee" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html">
<ANCHOR id="gstreamer-plugins-tee.synopsis" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#gstreamer-plugins-tee.synopsis">
<ANCHOR id="GstTee" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee">
@@ -302,13 +295,12 @@
<ANCHOR id="GST-TEE-PULL-MODE-NEVER:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GST-TEE-PULL-MODE-NEVER:CAPS">
<ANCHOR id="GST-TEE-PULL-MODE-SINGLE:CAPS" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GST-TEE-PULL-MODE-SINGLE:CAPS">
<ANCHOR id="gstreamer-plugins-tee.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#gstreamer-plugins-tee.property-details">
+<ANCHOR id="GstTee--alloc-pad" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--alloc-pad">
<ANCHOR id="GstTee--has-chain" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--has-chain">
-<ANCHOR id="GstTee--has-sink-loop" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--has-sink-loop">
<ANCHOR id="GstTee--last-message" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--last-message">
<ANCHOR id="GstTee--num-src-pads" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--num-src-pads">
-<ANCHOR id="GstTee--silent" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--silent">
<ANCHOR id="GstTee--pull-mode" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--pull-mode">
-<ANCHOR id="GstTee--alloc-pad" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--alloc-pad">
+<ANCHOR id="GstTee--silent" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#GstTee--silent">
<ANCHOR id="gstreamer-plugins-tee.see-also" href="gstreamer-plugins-1.0/gstreamer-plugins-tee.html#gstreamer-plugins-tee.see-also">
<ANCHOR id="gstreamer-plugins-typefind" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html">
<ANCHOR id="gstreamer-plugins-typefind.synopsis" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#gstreamer-plugins-typefind.synopsis">
@@ -321,9 +313,8 @@
<ANCHOR id="GstTypeFindElement-struct" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#GstTypeFindElement-struct">
<ANCHOR id="gstreamer-plugins-typefind.property-details" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#gstreamer-plugins-typefind.property-details">
<ANCHOR id="GstTypeFindElement--caps" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#GstTypeFindElement--caps">
-<ANCHOR id="GstTypeFindElement--maximum" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#GstTypeFindElement--maximum">
-<ANCHOR id="GstTypeFindElement--minimum" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#GstTypeFindElement--minimum">
<ANCHOR id="GstTypeFindElement--force-caps" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#GstTypeFindElement--force-caps">
+<ANCHOR id="GstTypeFindElement--minimum" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#GstTypeFindElement--minimum">
<ANCHOR id="gstreamer-plugins-typefind.signal-details" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#gstreamer-plugins-typefind.signal-details">
<ANCHOR id="GstTypeFindElement-have-type" href="gstreamer-plugins-1.0/gstreamer-plugins-typefind.html#GstTypeFindElement-have-type">
<ANCHOR id="gstreamer-plugins-valve" href="gstreamer-plugins-1.0/gstreamer-plugins-valve.html">
diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml
index df9d146..98bd5df 100644
--- a/docs/plugins/inspect/plugin-coreelements.xml
+++ b/docs/plugins/inspect/plugin-coreelements.xml
@@ -1,9 +1,9 @@
<plugin>
<name>coreelements</name>
- <description> GStreamer core elements</description>
+ <description>GStreamer core elements</description>
<filename>../../plugins/elements/.libs/libgstcoreelements.so</filename>
<basename>libgstcoreelements.so</basename>
- <version>1.0.8</version>
+ <version>1.1.2</version>
<license>LGPL</license>
<source>gstreamer</source>
<package>GStreamer source release</package>
diff --git a/docs/pwg/Makefile.in b/docs/pwg/Makefile.in
index 98c9797..6a8c025 100644
--- a/docs/pwg/Makefile.in
+++ b/docs/pwg/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -38,23 +37,51 @@
# install directory trees :(
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -74,9 +101,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-DIST_COMMON = $(srcdir)/../htmlinstall.mak $(srcdir)/../manuals.mak \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/common/upload-doc.mak
+DIST_COMMON = $(srcdir)/../manuals.mak \
+ $(top_srcdir)/common/upload-doc.mak \
+ $(srcdir)/../htmlinstall.mak $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am
subdir = docs/pwg
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -84,7 +112,6 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -108,24 +135,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -162,6 +197,7 @@ am__uninstall_files_from_dir = { \
}
am__installdirs = "$(DESTDIR)$(pwgdir)"
DATA = $(pwg_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -261,15 +297,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -279,11 +311,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -291,6 +321,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -353,6 +384,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -582,11 +614,11 @@ uninstall-pwgDATA:
@list='$(pwg_DATA)'; test -n "$(pwgdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(pwgdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -720,17 +752,18 @@ uninstall-am: uninstall-local uninstall-pwgDATA
.MAKE: check-am install-am install-strip
.PHONY: all all-am all-local check check-am check-local clean \
- clean-generic clean-libtool clean-local distclean \
- distclean-generic distclean-libtool distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-data-local install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-pwgDATA \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-local uninstall-pwgDATA
+ clean-generic clean-libtool clean-local cscopelist-am ctags-am \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-pwgDATA install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags-am uninstall uninstall-am uninstall-local \
+ uninstall-pwgDATA
### generate all documentation by default
@@ -770,20 +803,12 @@ $(BUILDDIR)/$(MAIN): $(XML) $(CSS) $(EXTRA_SRC)
cp ../version.entities $(BUILDDIR) ; \
cp $(top_srcdir)/docs/url.entities $(BUILDDIR)
-# we should switch to xsltproc
-# docbook2html aka jade can't add the encoding easily to the html meta
-# (but we are lazy and just abuse sed to add it)
-# jw -f docbook -b html -d pwg.dsl -o ../html -V '%use-id-as-filename%' $(MAIN)
-# this is a starting point
-# xsltproc --nonet /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl pwg.xml
-#
html/index.html: $(BUILDDIR)/$(MAIN) $(PNG_BUILT) $(FIG_SRC)
@$(MAKE) check-local
@echo "*** Generating HTML output ***"
@-mkdir -p html
@cp -f $(srcdir)/../image-png $(BUILDDIR)/image.entities
- @cd $(BUILDDIR) && SP_ENCODING="UTF-8" docbook2html -o ../html -V '%use-id-as-filename%' $(MAIN)
- @$(SED) -i -e 's/\(^CONTENT.*\)\(.>\)/\1;charset=UTF-8\2/' html/*html
+ @cd $(BUILDDIR) && $(XSLTPROC) -o ../html/ --stringparam chunker.output.encoding UTF-8 --stringparam use.id.as.filename 1 $(XSLTPROC_FLAGS) "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" $(MAIN)
@test "x$(CSS)" != "x" && \
echo "Copying .css files: $(CSS)" && \
cp $(srcdir)/$(CSS) html
@@ -857,7 +882,20 @@ $(BUILDIMAGESDIR)/%.ps: %.png
# make sure xml validates properly
check-local: $(BUILDDIR)/$(MAIN)
@cp -f $(srcdir)/../image-png $(BUILDDIR)/image.entities
- cd $(BUILDDIR) && xmllint -noout -valid $(MAIN)
+ @cd $(BUILDDIR) && xmllint -noout -valid $(MAIN)
+ @cd $(BUILDDIR) && \
+ if [ `which curl` ]; then \
+ links=`$(XSLTPROC) $(XSLTPROC_FLAGS) --xinclude $(abs_top_srcdir)/docs/list-ulink.xsl $(MAIN) | egrep '^http' | sort | uniq` && \
+ have_error=0 && \
+ for link in $$links; do \
+ code=`curl -s -m20 -o /dev/null -I -w "%{http_code}" $$link`; \
+ if [ \( $$? -ne 0 \) -o \( $$code -gt 399 \) ]; then \
+ echo "exit_status=$$?, http_code=$$code: $$link"; \
+ grep -Hnr "$$link" .; \
+ have_error=1; \
+ fi; \
+ done \
+ fi
# avoid 'cp: cannot create regular file `build/image.entities': File exists'
# errors during 'make distcheck' by disabling parallel builds
diff --git a/docs/pwg/advanced-allocation.xml b/docs/pwg/advanced-allocation.xml
index 625e76e..5888037 100644
--- a/docs/pwg/advanced-allocation.xml
+++ b/docs/pwg/advanced-allocation.xml
@@ -41,12 +41,22 @@
never be changed after the object is created, however, the offset
and size can be changed.
</para>
- <para>
- <classname>GstMemory</classname> objects are created by a
- <classname>GstAllocator</classname> object. To implement support
- for a new kind of memory type, you must implement a new allocator
- object.
- </para>
+ <sect2 id="section-allocation-allocator" xreflabel="GstAllocator">
+ <title>GstAllocator</title>
+ <para>
+ <classname>GstMemory</classname> objects are created by a
+ <classname>GstAllocator</classname> object. Most allocators implement the
+ default <function>gst_allocator_alloc()</function> method but some allocator
+ might implement a different method, for example when additional parameters
+ are needed to allocate the specific memory.
+ </para>
+ <para>
+ Different allocators exist for, for example, system memory, shared memory
+ and memory backed by a DMAbuf file descriptor. To implement support for a
+ new kind of memory type, you must implement a new allocator object as shown
+ below.
+ </para>
+ </sect2>
<sect2 id="section-allocation-memory-ex" xreflabel="GstMemory-ex">
<title>GstMemory API example</title>
<para>
@@ -88,7 +98,7 @@
</programlisting>
</sect2>
- <sect2 id="section-allocation-allocator" xreflabel="GstAllocator">
+ <sect2 id="section-allocation-allocator-ex" xreflabel="GstAllocator-ex">
<title>Implementing a GstAllocator</title>
<para>
WRITEME
@@ -184,7 +194,7 @@
/* make memory holding 100 bytes */
mem = gst_allocator_alloc (NULL, 100, NULL);
- /* add the the buffer */
+ /* add the buffer */
gst_buffer_append_memory (buffer, mem);
[...]
@@ -209,15 +219,10 @@
<title>GstMeta</title>
<para>
With the <classname>GstMeta</classname> system you can add arbitrary
- structures of on buffers. These structures describe extra properties
+ structures on buffers. These structures describe extra properties
of the buffer such as cropping, stride, region of interest etc.
</para>
<para>
- Metadata is also used to store, for example, the X image that is
- backing up the memory of the buffer. This makes it easier for elements
- to locate the X image from the buffer.
- </para>
- <para>
The metadata system separates API specification (what the metadata
and its API look like) and the implementation (how it works). This makes
it possible to make different implementations of the same API,
diff --git a/docs/pwg/advanced-dparams.xml b/docs/pwg/advanced-dparams.xml
index 8a196c2..4d78c30 100644
--- a/docs/pwg/advanced-dparams.xml
+++ b/docs/pwg/advanced-dparams.xml
@@ -45,7 +45,7 @@
}
</programlisting>
<para>
- It makes not sense for all GObject parameter to be real-time controlled.
+ It makes no sense for all GObject parameter to be real-time controlled.
Therefore the next step is to mark controllable parameters.
This is done by using the special flag <constant>GST_PARAM_CONTROLLABLE</constant>.
when setting up GObject params in the <function>_class_init</function> method.
diff --git a/docs/pwg/advanced-negotiation.xml b/docs/pwg/advanced-negotiation.xml
index e6ec035..9ec9993 100644
--- a/docs/pwg/advanced-negotiation.xml
+++ b/docs/pwg/advanced-negotiation.xml
@@ -31,7 +31,7 @@
</listitem>
<listitem>
<para>
- An upstream element can inform downstream that it would like to
+ A downstream element can inform upstream that it would like to
suggest a new format by sending a RECONFIGURE event upstream. The
RECONFIGURE event simply instructs an upstream element to restart
the negotiation phase. Because the element that sent out the
diff --git a/docs/pwg/advanced-qos.xml b/docs/pwg/advanced-qos.xml
index a6561bc..36ddf31 100644
--- a/docs/pwg/advanced-qos.xml
+++ b/docs/pwg/advanced-qos.xml
@@ -183,7 +183,7 @@
<title>Long term correction</title>
<para>
Long term corrections are a bit more difficult to perform. They
- rely on the value of the propertion in the QOS event. Elements should
+ rely on the value of the proportion in the QOS event. Elements should
reduce the amount of resources they comsume by the proportion
field in the QoS message.
</para>
diff --git a/docs/pwg/appendix-checklist.xml b/docs/pwg/appendix-checklist.xml
index 336d3da..bd118c4 100644
--- a/docs/pwg/appendix-checklist.xml
+++ b/docs/pwg/appendix-checklist.xml
@@ -31,7 +31,7 @@
element that goes from <classname>PAUSED</classname> to
<classname>READY</classname> and back to
<classname>PAUSED</classname> should start reading the
- stream from he start again.
+ stream from the start again.
</para>
</listitem>
<listitem>
diff --git a/docs/pwg/building-boiler.xml b/docs/pwg/building-boiler.xml
index 77d78ce..fd171ad 100644
--- a/docs/pwg/building-boiler.xml
+++ b/docs/pwg/building-boiler.xml
@@ -328,7 +328,7 @@ GST_STATIC_PAD_TEMPLATE (
Those pad templates are registered during the
<function>_class_init ()</function> function with the
<function>gst_element_class_add_pad_template ()</function>. For this
- function you need a handle the the <classname>GstPadTemplate</classname>
+ function you need a handle the <classname>GstPadTemplate</classname>
which you can create from the static pad template with
<function>gst_static_pad_template_get ()</function>. See below for more
details on this.
diff --git a/docs/pwg/building-queryfn.xml b/docs/pwg/building-queryfn.xml
index ad2e943..2f88163 100644
--- a/docs/pwg/building-queryfn.xml
+++ b/docs/pwg/building-queryfn.xml
@@ -28,8 +28,8 @@ gst_my_filter_init (GstMyFilter * filter)
[..]
/* configure event function on the pad before adding
* the pad to the element */
- gst_pad_set_event_function (filter->srcpad,
- gst_my_filter_src_event);
+ gst_pad_set_query_function (filter->srcpad,
+ gst_my_filter_src_query);
[..]
}
diff --git a/docs/pwg/intro-preface.xml b/docs/pwg/intro-preface.xml
index bb6699f..40e6541 100644
--- a/docs/pwg/intro-preface.xml
+++ b/docs/pwg/intro-preface.xml
@@ -112,7 +112,7 @@
understanding of the C language.
Since &GStreamer; adheres to the GObject programming model, this guide
also assumes that you understand the basics of <ulink type="http"
- url="http://developer.gnome.org/doc/API/2.0/gobject/index.html">GObject</ulink>
+ url="http://developer.gnome.org/gobject/stable/pt01.html">GObject</ulink>
programming.
You may also want to have a look
at Eric Harlow's book <emphasis>Developing Linux Applications with
diff --git a/docs/slides/Makefile.in b/docs/slides/Makefile.in
index a95fe58..0c0b932 100644
--- a/docs/slides/Makefile.in
+++ b/docs/slides/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,13 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = docs/slides
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,24 +109,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -108,6 +142,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -207,15 +242,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -225,11 +256,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -237,6 +266,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -299,6 +329,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -429,11 +460,11 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -569,15 +600,16 @@ uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/docs/xsl/Makefile.in b/docs/xsl/Makefile.in
index 0b4315d..8b3ac27 100644
--- a/docs/xsl/Makefile.in
+++ b/docs/xsl/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,13 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = docs/xsl
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,24 +109,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -108,6 +142,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -207,15 +242,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -225,11 +256,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -237,6 +266,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -299,6 +329,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -430,11 +461,11 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -570,15 +601,16 @@ uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/gst/Makefile.am b/gst/Makefile.am
index be1d494..b6cf720 100644
--- a/gst/Makefile.am
+++ b/gst/Makefile.am
@@ -26,9 +26,17 @@ else
GST_PLUGIN_SRC = gstplugin.c
endif
-SUBDIRS = $(SUBDIRS_PARSE)
+if !GST_DISABLE_GST_DEBUG
+SUBDIRS_PRINTF = printf
+GST_PRINTF_LA = printf/libgstprintf.la
+else
+SUBDIRS_PRINTF =
+GST_PRINTF_LA =
+endif
+
+SUBDIRS = $(SUBDIRS_PARSE) $(SUBDIRS_PRINTF)
-DIST_SUBDIRS = parse
+DIST_SUBDIRS = parse printf
# make variables for all generated source and header files to make the
# distinction clear
@@ -55,8 +63,10 @@ libgstreamer_@GST_API_VERSION@_la_SOURCES = \
gstbufferpool.c \
gstbus.c \
gstcaps.c \
+ gstcapsfeatures.c \
gstchildproxy.c \
gstclock.c \
+ gstcontext.c \
gstcontrolbinding.c \
gstcontrolsource.c \
gstdatetime.c \
@@ -130,6 +140,7 @@ libgstreamer_@GST_API_VERSION@_la_CFLAGS = \
libgstreamer_@GST_API_VERSION@_la_LIBADD = \
$(GST_PARSE_LA) \
+ $(GST_PRINTF_LA) \
$(GST_ALL_LIBS) \
$(WIN32_LIBS) \
$(LIBM)
@@ -150,9 +161,11 @@ gst_headers = \
gstbufferpool.h \
gstbus.h \
gstcaps.h \
+ gstcapsfeatures.h \
gstchildproxy.h \
gstclock.h \
gstcompat.h \
+ gstcontext.h \
gstcontrolbinding.h \
gstcontrolsource.h \
gstdatetime.h \
@@ -265,7 +278,7 @@ gir_sources=$(patsubst %,$(srcdir)/%, $(libgstreamer_@GST_API_VERSION@_la_SOURCE
gir_sources+=$(patsubst %,$(builddir)/%, $(built_source_make))
Gst-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstreamer-@GST_API_VERSION@.la
- $(AM_V_GEN)GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+ $(AM_V_GEN)GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
$(INTROSPECTION_SCANNER) -v --namespace Gst \
--nsversion=@GST_API_VERSION@ \
--warn-all \
@@ -281,7 +294,6 @@ Gst-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstreamer-@GST_API_VERSIO
--pkg glib-2.0 \
--pkg gobject-2.0 \
--pkg gmodule-no-export-2.0 \
- --pkg gthread-2.0 \
--pkg-export gstreamer-@GST_API_VERSION@ \
--add-init-section="gst_init(NULL, NULL);" \
--output $@ \
diff --git a/gst/Makefile.in b/gst/Makefile.in
index 9a9568b..7eb7607 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,23 +17,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -56,16 +83,17 @@ host_triplet = @host@
target_triplet = @target@
@HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
subdir = gst
-DIST_COMMON = $(libgstreamer_@GST_API_VERSION@include_HEADERS) \
- $(noinst_HEADERS) $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/gstconfig.h.in $(srcdir)/gstversion.h.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(srcdir)/gstconfig.h.in $(srcdir)/gstversion.h.in \
+ $(top_srcdir)/depcomp \
+ $(libgstreamer_@GST_API_VERSION@include_HEADERS) \
+ $(noinst_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -89,12 +117,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -134,25 +164,28 @@ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(girdir)" \
"$(DESTDIR)$(libgstreamer_@GST_API_VERSION@includedir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
@GST_DISABLE_PARSE_FALSE@am__DEPENDENCIES_1 = parse/libgstparse.la
-am__DEPENDENCIES_2 =
+@GST_DISABLE_GST_DEBUG_FALSE@am__DEPENDENCIES_2 = \
+@GST_DISABLE_GST_DEBUG_FALSE@ printf/libgstprintf.la
+am__DEPENDENCIES_3 =
libgstreamer_@GST_API_VERSION@_la_DEPENDENCIES = \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
- $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2)
+ $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_3)
am__libgstreamer_@GST_API_VERSION@_la_SOURCES_DIST = gst.c gstobject.c \
gstallocator.c gstbin.c gstbuffer.c gstbufferlist.c \
- gstbufferpool.c gstbus.c gstcaps.c gstchildproxy.c gstclock.c \
- gstcontrolbinding.c gstcontrolsource.c gstdatetime.c \
- gstdebugutils.c gstelement.c gstelementfactory.c gsterror.c \
- gstevent.c gstformat.c gstghostpad.c gstinfo.c gstiterator.c \
- gstatomicqueue.c gstmessage.c gstmeta.c gstmemory.c \
- gstminiobject.c gstpad.c gstpadtemplate.c gstparamspecs.c \
- gstpipeline.c gstplugin.c gstpluginfeature.c gstpluginloader.c \
- gstpoll.c gstpreset.c gstquark.c gstquery.c gstregistry.c \
- gstregistrychunks.c gstsample.c gstsegment.c gststructure.c \
- gstsystemclock.c gsttaglist.c gsttagsetter.c gsttask.c \
- gsttaskpool.c gsttoc.c gsttocsetter.c gsttrace.c gsttypefind.c \
- gsttypefindfactory.c gsturi.c gstutils.c gstvalue.c gstparse.c \
- gstregistrybinary.c
+ gstbufferpool.c gstbus.c gstcaps.c gstcapsfeatures.c \
+ gstchildproxy.c gstclock.c gstcontext.c gstcontrolbinding.c \
+ gstcontrolsource.c gstdatetime.c gstdebugutils.c gstelement.c \
+ gstelementfactory.c gsterror.c gstevent.c gstformat.c \
+ gstghostpad.c gstinfo.c gstiterator.c gstatomicqueue.c \
+ gstmessage.c gstmeta.c gstmemory.c gstminiobject.c gstpad.c \
+ gstpadtemplate.c gstparamspecs.c gstpipeline.c gstplugin.c \
+ gstpluginfeature.c gstpluginloader.c gstpoll.c gstpreset.c \
+ gstquark.c gstquery.c gstregistry.c gstregistrychunks.c \
+ gstsample.c gstsegment.c gststructure.c gstsystemclock.c \
+ gsttaglist.c gsttagsetter.c gsttask.c gsttaskpool.c gsttoc.c \
+ gsttocsetter.c gsttrace.c gsttypefind.c gsttypefindfactory.c \
+ gsturi.c gstutils.c gstvalue.c gstparse.c gstregistrybinary.c
@GST_DISABLE_TRACE_FALSE@am__objects_1 = libgstreamer_@GST_API_VERSION@_la-gsttrace.lo
@GST_DISABLE_REGISTRY_FALSE@am__objects_2 = libgstreamer_@GST_API_VERSION@_la-gstregistrybinary.lo
am_libgstreamer_@GST_API_VERSION@_la_OBJECTS = \
@@ -165,8 +198,10 @@ am_libgstreamer_@GST_API_VERSION@_la_OBJECTS = \
libgstreamer_@GST_API_VERSION@_la-gstbufferpool.lo \
libgstreamer_@GST_API_VERSION@_la-gstbus.lo \
libgstreamer_@GST_API_VERSION@_la-gstcaps.lo \
+ libgstreamer_@GST_API_VERSION@_la-gstcapsfeatures.lo \
libgstreamer_@GST_API_VERSION@_la-gstchildproxy.lo \
libgstreamer_@GST_API_VERSION@_la-gstclock.lo \
+ libgstreamer_@GST_API_VERSION@_la-gstcontext.lo \
libgstreamer_@GST_API_VERSION@_la-gstcontrolbinding.lo \
libgstreamer_@GST_API_VERSION@_la-gstcontrolsource.lo \
libgstreamer_@GST_API_VERSION@_la-gstdatetime.lo \
@@ -222,10 +257,23 @@ libgstreamer_@GST_API_VERSION@_la_OBJECTS = \
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
libgstreamer_@GST_API_VERSION@_la_LINK = $(LIBTOOL) $(AM_V_lt) \
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(CCLD) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) \
$(libgstreamer_@GST_API_VERSION@_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -238,32 +286,29 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libgstreamer_@GST_API_VERSION@_la_SOURCES) \
$(EXTRA_libgstreamer_@GST_API_VERSION@_la_SOURCES) \
$(nodist_libgstreamer_@GST_API_VERSION@_la_SOURCES)
DIST_SOURCES = $(am__libgstreamer_@GST_API_VERSION@_la_SOURCES_DIST) \
$(EXTRA_libgstreamer_@GST_API_VERSION@_la_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -275,9 +320,29 @@ HEADERS = $(libgstreamer_@GST_API_VERSION@include_HEADERS) \
$(noinst_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -404,15 +469,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -422,11 +483,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -434,6 +493,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -496,6 +556,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -597,8 +658,12 @@ lib_LTLIBRARIES = libgstreamer-@GST_API_VERSION@.la
@GST_DISABLE_TRACE_TRUE@GST_TRACE_SRC =
@GST_DISABLE_PLUGIN_FALSE@GST_PLUGIN_SRC = gstplugin.c
@GST_DISABLE_PLUGIN_TRUE@GST_PLUGIN_SRC =
-SUBDIRS = $(SUBDIRS_PARSE)
-DIST_SUBDIRS = parse
+@GST_DISABLE_GST_DEBUG_FALSE@SUBDIRS_PRINTF = printf
+@GST_DISABLE_GST_DEBUG_TRUE@SUBDIRS_PRINTF =
+@GST_DISABLE_GST_DEBUG_FALSE@GST_PRINTF_LA = printf/libgstprintf.la
+@GST_DISABLE_GST_DEBUG_TRUE@GST_PRINTF_LA =
+SUBDIRS = $(SUBDIRS_PARSE) $(SUBDIRS_PRINTF)
+DIST_SUBDIRS = parse printf
# make variables for all generated source and header files to make the
# distinction clear
@@ -622,8 +687,10 @@ libgstreamer_@GST_API_VERSION@_la_SOURCES = \
gstbufferpool.c \
gstbus.c \
gstcaps.c \
+ gstcapsfeatures.c \
gstchildproxy.c \
gstclock.c \
+ gstcontext.c \
gstcontrolbinding.c \
gstcontrolsource.c \
gstdatetime.c \
@@ -700,6 +767,7 @@ libgstreamer_@GST_API_VERSION@_la_CFLAGS = \
libgstreamer_@GST_API_VERSION@_la_LIBADD = \
$(GST_PARSE_LA) \
+ $(GST_PRINTF_LA) \
$(GST_ALL_LIBS) \
$(WIN32_LIBS) \
$(LIBM)
@@ -719,9 +787,11 @@ gst_headers = \
gstbufferpool.h \
gstbus.h \
gstcaps.h \
+ gstcapsfeatures.h \
gstchildproxy.h \
gstclock.h \
gstcompat.h \
+ gstcontext.h \
gstcontrolbinding.h \
gstcontrolsource.h \
gstdatetime.h \
@@ -840,6 +910,7 @@ gstconfig.h: $(top_builddir)/config.status $(srcdir)/gstconfig.h.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
gstversion.h: $(top_builddir)/config.status $(srcdir)/gstversion.h.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
@@ -866,12 +937,15 @@ uninstall-libLTLIBRARIES:
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
libgstreamer-@GST_API_VERSION@.la: $(libgstreamer_@GST_API_VERSION@_la_OBJECTS) $(libgstreamer_@GST_API_VERSION@_la_DEPENDENCIES) $(EXTRA_libgstreamer_@GST_API_VERSION@_la_DEPENDENCIES)
$(AM_V_CCLD)$(libgstreamer_@GST_API_VERSION@_la_LINK) -rpath $(libdir) $(libgstreamer_@GST_API_VERSION@_la_OBJECTS) $(libgstreamer_@GST_API_VERSION@_la_LIBADD) $(LIBS)
@@ -890,8 +964,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstbufferpool.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstbus.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcaps.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcapsfeatures.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstchildproxy.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstclock.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcontext.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcontrolbinding.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcontrolsource.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstdatetime.Plo@am__quote@
@@ -1026,6 +1102,13 @@ libgstreamer_@GST_API_VERSION@_la-gstcaps.lo: gstcaps.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstreamer_@GST_API_VERSION@_la-gstcaps.lo `test -f 'gstcaps.c' || echo '$(srcdir)/'`gstcaps.c
+libgstreamer_@GST_API_VERSION@_la-gstcapsfeatures.lo: gstcapsfeatures.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstreamer_@GST_API_VERSION@_la-gstcapsfeatures.lo -MD -MP -MF $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcapsfeatures.Tpo -c -o libgstreamer_@GST_API_VERSION@_la-gstcapsfeatures.lo `test -f 'gstcapsfeatures.c' || echo '$(srcdir)/'`gstcapsfeatures.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcapsfeatures.Tpo $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcapsfeatures.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstcapsfeatures.c' object='libgstreamer_@GST_API_VERSION@_la-gstcapsfeatures.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstreamer_@GST_API_VERSION@_la-gstcapsfeatures.lo `test -f 'gstcapsfeatures.c' || echo '$(srcdir)/'`gstcapsfeatures.c
+
libgstreamer_@GST_API_VERSION@_la-gstchildproxy.lo: gstchildproxy.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstreamer_@GST_API_VERSION@_la-gstchildproxy.lo -MD -MP -MF $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstchildproxy.Tpo -c -o libgstreamer_@GST_API_VERSION@_la-gstchildproxy.lo `test -f 'gstchildproxy.c' || echo '$(srcdir)/'`gstchildproxy.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstchildproxy.Tpo $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstchildproxy.Plo
@@ -1040,6 +1123,13 @@ libgstreamer_@GST_API_VERSION@_la-gstclock.lo: gstclock.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstreamer_@GST_API_VERSION@_la-gstclock.lo `test -f 'gstclock.c' || echo '$(srcdir)/'`gstclock.c
+libgstreamer_@GST_API_VERSION@_la-gstcontext.lo: gstcontext.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstreamer_@GST_API_VERSION@_la-gstcontext.lo -MD -MP -MF $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcontext.Tpo -c -o libgstreamer_@GST_API_VERSION@_la-gstcontext.lo `test -f 'gstcontext.c' || echo '$(srcdir)/'`gstcontext.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcontext.Tpo $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcontext.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstcontext.c' object='libgstreamer_@GST_API_VERSION@_la-gstcontext.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstreamer_@GST_API_VERSION@_la-gstcontext.lo `test -f 'gstcontext.c' || echo '$(srcdir)/'`gstcontext.c
+
libgstreamer_@GST_API_VERSION@_la-gstcontrolbinding.lo: gstcontrolbinding.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstreamer_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstreamer_@GST_API_VERSION@_la-gstcontrolbinding.lo -MD -MP -MF $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcontrolbinding.Tpo -c -o libgstreamer_@GST_API_VERSION@_la-gstcontrolbinding.lo `test -f 'gstcontrolbinding.c' || echo '$(srcdir)/'`gstcontrolbinding.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcontrolbinding.Tpo $(DEPDIR)/libgstreamer_@GST_API_VERSION@_la-gstcontrolbinding.Plo
@@ -1474,22 +1564,25 @@ uninstall-nodist_libgstreamer_@GST_API_VERSION@includeHEADERS:
dir='$(DESTDIR)$(libgstreamer_@GST_API_VERSION@includedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -1504,57 +1597,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1570,12 +1618,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -1587,15 +1630,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -1604,6 +1643,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1783,19 +1837,18 @@ uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
uninstall-nodist_libgstreamer_@GST_API_VERSION@includeHEADERS \
uninstall-typelibsDATA
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
- ctags-recursive install install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am all-local check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-girDATA install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
+.MAKE: $(am__recursive_targets) all check install install-am \
+ install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
+ check check-am clean clean-generic clean-libLTLIBRARIES \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-girDATA \
+ install-html install-html-am install-info install-info-am \
+ install-libLTLIBRARIES \
install-libgstreamer_@GST_API_VERSION@includeHEADERS \
install-man \
install-nodist_libgstreamer_@GST_API_VERSION@includeHEADERS \
@@ -1804,7 +1857,7 @@ uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-girDATA \
+ tags tags-am uninstall uninstall-am uninstall-girDATA \
uninstall-libLTLIBRARIES \
uninstall-libgstreamer_@GST_API_VERSION@includeHEADERS \
uninstall-nodist_libgstreamer_@GST_API_VERSION@includeHEADERS \
@@ -1851,7 +1904,7 @@ Android.mk: Makefile.am
> $@
@HAVE_INTROSPECTION_TRUE@Gst-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstreamer-@GST_API_VERSION@.la
-@HAVE_INTROSPECTION_TRUE@ $(AM_V_GEN)GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@ $(AM_V_GEN)GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
@HAVE_INTROSPECTION_TRUE@ $(INTROSPECTION_SCANNER) -v --namespace Gst \
@HAVE_INTROSPECTION_TRUE@ --nsversion=@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --warn-all \
@@ -1867,7 +1920,6 @@ Android.mk: Makefile.am
@HAVE_INTROSPECTION_TRUE@ --pkg glib-2.0 \
@HAVE_INTROSPECTION_TRUE@ --pkg gobject-2.0 \
@HAVE_INTROSPECTION_TRUE@ --pkg gmodule-no-export-2.0 \
-@HAVE_INTROSPECTION_TRUE@ --pkg gthread-2.0 \
@HAVE_INTROSPECTION_TRUE@ --pkg-export gstreamer-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --add-init-section="gst_init(NULL, NULL);" \
@HAVE_INTROSPECTION_TRUE@ --output $@ \
diff --git a/gst/gettext.h b/gst/gettext.h
index 59902b3..fc70ab7 100644
--- a/gst/gettext.h
+++ b/gst/gettext.h
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _LIBGETTEXT_H
diff --git a/gst/glib-compat-private.h b/gst/glib-compat-private.h
index 9a92993..8f37de2 100644
--- a/gst/glib-compat-private.h
+++ b/gst/glib-compat-private.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GLIB_COMPAT_PRIVATE_H__
diff --git a/gst/glib-compat.h b/gst/glib-compat.h
index 7794306..934953b 100644
--- a/gst/glib-compat.h
+++ b/gst/glib-compat.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gst-i18n-app.h b/gst/gst-i18n-app.h
index b579c9d..56140e5 100644
--- a/gst/gst-i18n-app.h
+++ b/gst/gst-i18n-app.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gst-i18n-lib.h b/gst/gst-i18n-lib.h
index 1902196..cf5c285 100644
--- a/gst/gst-i18n-lib.h
+++ b/gst/gst-i18n-lib.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gst.c b/gst/gst.c
index 8421be8..950fc18 100644
--- a/gst/gst.c
+++ b/gst/gst.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -192,82 +192,6 @@ enum
* val ::= [0-5]
*/
-#ifndef NUL
-#define NUL '\0'
-#endif
-
-#ifndef GST_DISABLE_GST_DEBUG
-static gboolean
-parse_debug_category (gchar * str, const gchar ** category)
-{
- if (!str)
- return FALSE;
-
- /* works in place */
- g_strstrip (str);
-
- if (str[0] != NUL) {
- *category = str;
- return TRUE;
- }
-
- return FALSE;
-}
-
-static gboolean
-parse_debug_level (gchar * str, GstDebugLevel * level)
-{
- if (!str)
- return FALSE;
-
- /* works in place */
- g_strstrip (str);
-
- if (str[0] != NUL && str[1] == NUL
- && str[0] >= '0' && str[0] < '0' + GST_LEVEL_COUNT) {
- *level = (GstDebugLevel) (str[0] - '0');
- return TRUE;
- }
-
- return FALSE;
-}
-
-static void
-parse_debug_list (const gchar * list)
-{
- gchar **split;
- gchar **walk;
-
- g_assert (list);
-
- split = g_strsplit (list, ",", 0);
-
- for (walk = split; *walk; walk++) {
- if (strchr (*walk, ':')) {
- gchar **values = g_strsplit (*walk, ":", 2);
-
- if (values[0] && values[1]) {
- GstDebugLevel level;
- const gchar *category;
-
- if (parse_debug_category (values[0], &category)
- && parse_debug_level (values[1], &level))
- gst_debug_set_threshold_for_name (category, level);
- }
-
- g_strfreev (values);
- } else {
- GstDebugLevel level;
-
- if (parse_debug_level (*walk, &level))
- gst_debug_set_default_threshold (level);
- }
- }
-
- g_strfreev (split);
-}
-#endif
-
#ifdef G_OS_WIN32
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved);
BOOL WINAPI
@@ -403,6 +327,7 @@ gst_init_check (int *argc, char **argv[], GError ** err)
#ifndef GST_DISABLE_OPTION_PARSING
ctx = g_option_context_new ("- GStreamer initialization");
g_option_context_set_ignore_unknown_options (ctx, TRUE);
+ g_option_context_set_help_enabled (ctx, FALSE);
group = gst_init_get_option_group ();
g_option_context_add_group (ctx, group);
res = g_option_context_parse (ctx, argc, argv, err);
@@ -543,7 +468,6 @@ init_pre (GOptionContext * context, GOptionGroup * group, gpointer data,
#endif
#ifdef ENABLE_NLS
- setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
#endif /* ENABLE_NLS */
@@ -557,7 +481,7 @@ init_pre (GOptionContext * context, GOptionGroup * group, gpointer data,
debug_list = g_getenv ("GST_DEBUG");
if (debug_list) {
- parse_debug_list (debug_list);
+ gst_debug_set_threshold_from_string (debug_list, FALSE);
}
}
@@ -639,6 +563,7 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data,
_priv_gst_query_initialize ();
_priv_gst_structure_initialize ();
_priv_gst_caps_initialize ();
+ _priv_gst_caps_features_initialize ();
_priv_gst_meta_initialize ();
g_type_class_ref (gst_object_get_type ());
@@ -731,6 +656,7 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data,
g_type_class_ref (gst_control_source_get_type ());
g_type_class_ref (gst_lock_flags_get_type ());
g_type_class_ref (gst_allocator_flags_get_type ());
+ g_type_class_ref (gst_stream_flags_get_type ());
_priv_gst_event_initialize ();
_priv_gst_buffer_initialize ();
@@ -738,6 +664,7 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data,
_priv_gst_buffer_list_initialize ();
_priv_gst_sample_initialize ();
_priv_gst_value_initialize ();
+ _priv_gst_context_initialize ();
g_type_class_ref (gst_param_spec_fraction_get_type ());
_priv_gst_tag_initialize ();
@@ -883,7 +810,7 @@ parse_one_option (gint opt, const gchar * arg, GError ** err)
break;
}
case ARG_DEBUG:
- parse_debug_list (arg);
+ gst_debug_set_threshold_from_string (arg, FALSE);
break;
case ARG_DEBUG_NO_COLOR:
gst_debug_set_colored (FALSE);
@@ -1102,6 +1029,7 @@ gst_deinit (void)
g_type_class_unref (g_type_class_peek (gst_toc_entry_type_get_type ()));
g_type_class_unref (g_type_class_peek (gst_lock_flags_get_type ()));
g_type_class_unref (g_type_class_peek (gst_allocator_flags_get_type ()));
+ g_type_class_unref (g_type_class_peek (gst_stream_flags_get_type ()));
gst_deinitialized = TRUE;
diff --git a/gst/gst.h b/gst/gst.h
index 3188758..82f6bf9 100644
--- a/gst/gst.h
+++ b/gst/gst.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -36,6 +36,7 @@
#include <gst/gstbufferlist.h>
#include <gst/gstbufferpool.h>
#include <gst/gstcaps.h>
+#include <gst/gstcapsfeatures.h>
#include <gst/gstchildproxy.h>
#include <gst/gstclock.h>
#include <gst/gstcontrolsource.h>
diff --git a/gst/gst_private.h b/gst/gst_private.h
index 6b9f3c9..61762b2 100644
--- a/gst/gst_private.h
+++ b/gst/gst_private.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_PRIVATE_H__
@@ -105,6 +105,7 @@ G_GNUC_INTERNAL void _priv_gst_buffer_initialize (void);
G_GNUC_INTERNAL void _priv_gst_buffer_list_initialize (void);
G_GNUC_INTERNAL void _priv_gst_structure_initialize (void);
G_GNUC_INTERNAL void _priv_gst_caps_initialize (void);
+G_GNUC_INTERNAL void _priv_gst_caps_features_initialize (void);
G_GNUC_INTERNAL void _priv_gst_event_initialize (void);
G_GNUC_INTERNAL void _priv_gst_format_initialize (void);
G_GNUC_INTERNAL void _priv_gst_message_initialize (void);
@@ -116,6 +117,7 @@ G_GNUC_INTERNAL void _priv_gst_sample_initialize (void);
G_GNUC_INTERNAL void _priv_gst_tag_initialize (void);
G_GNUC_INTERNAL void _priv_gst_value_initialize (void);
G_GNUC_INTERNAL void _priv_gst_debug_init (void);
+G_GNUC_INTERNAL void _priv_gst_context_initialize (void);
/* Private registry functions */
G_GNUC_INTERNAL
@@ -131,10 +133,19 @@ G_GNUC_INTERNAL void _priv_gst_element_state_changed (GstElement *element,
/* used in both gststructure.c and gstcaps.c; numbers are completely made up */
#define STRUCTURE_ESTIMATED_STRING_LEN(s) (16 + gst_structure_n_fields(s) * 22)
+#define FEATURES_ESTIMATED_STRING_LEN(s) (16 + gst_caps_features_get_size(s) * 14)
G_GNUC_INTERNAL
gboolean priv_gst_structure_append_to_gstring (const GstStructure * structure,
GString * s);
+G_GNUC_INTERNAL
+void priv_gst_caps_features_append_to_gstring (const GstCapsFeatures * features, GString *s);
+
+G_GNUC_INTERNAL
+gboolean priv_gst_structure_parse_name (gchar * str, gchar **start, gchar ** end, gchar ** next);
+G_GNUC_INTERNAL
+gboolean priv_gst_structure_parse_fields (gchar *str, gchar ** end, GstStructure *structure);
+
/* registry cache backends */
G_GNUC_INTERNAL
gboolean priv_gst_registry_binary_read_cache (GstRegistry * registry, const char *location);
@@ -220,6 +231,7 @@ GST_EXPORT GstDebugCategory *GST_CAT_REGISTRY;
GST_EXPORT GstDebugCategory *GST_CAT_QOS;
GST_EXPORT GstDebugCategory *GST_CAT_META;
GST_EXPORT GstDebugCategory *GST_CAT_LOCKING;
+GST_EXPORT GstDebugCategory *GST_CAT_CONTEXT;
/* Categories that should be completely private to
* libgstreamer should be done like this: */
@@ -262,9 +274,15 @@ extern GstDebugCategory *_priv_GST_CAT_POLL;
#define GST_CAT_POLL NULL
#define GST_CAT_META NULL
#define GST_CAT_LOCKING NULL
+#define GST_CAT_CONTEXT NULL
#endif
+#ifdef GST_DISABLE_GST_DEBUG
+/* for _gst_element_error_printf */
+#define __gst_vasprintf __gst_info_fallback_vasprintf
+int __gst_vasprintf (char **result, char const *format, va_list args);
+#endif
/**** objects made opaque until the private bits have been made private ****/
diff --git a/gst/gstallocator.c b/gst/gstallocator.c
index 4e42408..63b44bc 100644
--- a/gst/gstallocator.c
+++ b/gst/gstallocator.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -95,6 +95,7 @@ _fallback_mem_copy (GstMemory * mem, gssize offset, gssize size)
GstMemory *copy;
GstMapInfo sinfo, dinfo;
GstAllocationParams params = { 0, mem->align, 0, 0, };
+ GstAllocator *allocator;
if (!gst_memory_map (mem, &sinfo, GST_MAP_READ))
return NULL;
@@ -103,7 +104,11 @@ _fallback_mem_copy (GstMemory * mem, gssize offset, gssize size)
size = sinfo.size > offset ? sinfo.size - offset : 0;
/* use the same allocator as the memory we copy */
- copy = gst_allocator_alloc (mem->allocator, size, &params);
+ allocator = mem->allocator;
+ if (GST_OBJECT_FLAG_IS_SET (allocator, GST_ALLOCATOR_FLAG_CUSTOM_ALLOC))
+ allocator = NULL;
+ copy = gst_allocator_alloc (allocator, size, &params);
+
if (!gst_memory_map (copy, &dinfo, GST_MAP_WRITE)) {
GST_CAT_WARNING (GST_CAT_MEMORY, "could not write map memory %p", copy);
gst_allocator_free (mem->allocator, copy);
@@ -342,24 +347,24 @@ typedef struct
gpointer user_data;
GDestroyNotify notify;
-} GstMemoryDefault;
+} GstMemorySystem;
typedef struct
{
GstAllocator parent;
-} GstDefaultAllocator;
+} GstAllocatorSysmem;
typedef struct
{
GstAllocatorClass parent_class;
-} GstDefaultAllocatorClass;
+} GstAllocatorSysmemClass;
-GType gst_default_allocator_get_type (void);
-G_DEFINE_TYPE (GstDefaultAllocator, gst_default_allocator, GST_TYPE_ALLOCATOR);
+GType gst_allocator_sysmem_get_type (void);
+G_DEFINE_TYPE (GstAllocatorSysmem, gst_allocator_sysmem, GST_TYPE_ALLOCATOR);
/* initialize the fields */
static inline void
-_default_mem_init (GstMemoryDefault * mem, GstMemoryFlags flags,
+_sysmem_init (GstMemorySystem * mem, GstMemoryFlags flags,
GstMemory * parent, gsize slice_size,
gpointer data, gsize maxsize, gsize align, gsize offset, gsize size,
gpointer user_data, GDestroyNotify notify)
@@ -374,29 +379,29 @@ _default_mem_init (GstMemoryDefault * mem, GstMemoryFlags flags,
}
/* create a new memory block that manages the given memory */
-static inline GstMemoryDefault *
-_default_mem_new (GstMemoryFlags flags,
+static inline GstMemorySystem *
+_sysmem_new (GstMemoryFlags flags,
GstMemory * parent, gpointer data, gsize maxsize, gsize align, gsize offset,
gsize size, gpointer user_data, GDestroyNotify notify)
{
- GstMemoryDefault *mem;
+ GstMemorySystem *mem;
gsize slice_size;
- slice_size = sizeof (GstMemoryDefault);
+ slice_size = sizeof (GstMemorySystem);
mem = g_slice_alloc (slice_size);
- _default_mem_init (mem, flags, parent, slice_size,
+ _sysmem_init (mem, flags, parent, slice_size,
data, maxsize, align, offset, size, user_data, notify);
return mem;
}
/* allocate the memory and structure in one block */
-static GstMemoryDefault *
-_default_mem_new_block (GstMemoryFlags flags,
+static GstMemorySystem *
+_sysmem_new_block (GstMemoryFlags flags,
gsize maxsize, gsize align, gsize offset, gsize size)
{
- GstMemoryDefault *mem;
+ GstMemorySystem *mem;
gsize aoffset, slice_size, padding;
guint8 *data;
@@ -405,13 +410,13 @@ _default_mem_new_block (GstMemoryFlags flags,
/* allocate more to compensate for alignment */
maxsize += align;
/* alloc header and data in one block */
- slice_size = sizeof (GstMemoryDefault) + maxsize;
+ slice_size = sizeof (GstMemorySystem) + maxsize;
mem = g_slice_alloc (slice_size);
if (mem == NULL)
return NULL;
- data = (guint8 *) mem + sizeof (GstMemoryDefault);
+ data = (guint8 *) mem + sizeof (GstMemorySystem);
/* do alignment */
if ((aoffset = ((guintptr) data & align))) {
@@ -427,34 +432,34 @@ _default_mem_new_block (GstMemoryFlags flags,
if (padding && (flags & GST_MEMORY_FLAG_ZERO_PADDED))
memset (data + offset + size, 0, padding);
- _default_mem_init (mem, flags, NULL, slice_size, data, maxsize,
+ _sysmem_init (mem, flags, NULL, slice_size, data, maxsize,
align, offset, size, NULL, NULL);
return mem;
}
static gpointer
-_default_mem_map (GstMemoryDefault * mem, gsize maxsize, GstMapFlags flags)
+_sysmem_map (GstMemorySystem * mem, gsize maxsize, GstMapFlags flags)
{
return mem->data;
}
static gboolean
-_default_mem_unmap (GstMemoryDefault * mem)
+_sysmem_unmap (GstMemorySystem * mem)
{
return TRUE;
}
-static GstMemoryDefault *
-_default_mem_copy (GstMemoryDefault * mem, gssize offset, gsize size)
+static GstMemorySystem *
+_sysmem_copy (GstMemorySystem * mem, gssize offset, gsize size)
{
- GstMemoryDefault *copy;
+ GstMemorySystem *copy;
if (size == -1)
size = mem->mem.size > offset ? mem->mem.size - offset : 0;
copy =
- _default_mem_new_block (0, mem->mem.maxsize, mem->mem.align,
+ _sysmem_new_block (0, mem->mem.maxsize, mem->mem.align,
mem->mem.offset + offset, size);
GST_CAT_DEBUG (GST_CAT_PERFORMANCE,
"memcpy %" G_GSIZE_FORMAT " memory %p -> %p", mem->mem.maxsize, mem,
@@ -464,10 +469,10 @@ _default_mem_copy (GstMemoryDefault * mem, gssize offset, gsize size)
return copy;
}
-static GstMemoryDefault *
-_default_mem_share (GstMemoryDefault * mem, gssize offset, gsize size)
+static GstMemorySystem *
+_sysmem_share (GstMemorySystem * mem, gssize offset, gsize size)
{
- GstMemoryDefault *sub;
+ GstMemorySystem *sub;
GstMemory *parent;
/* find the real parent */
@@ -479,7 +484,7 @@ _default_mem_share (GstMemoryDefault * mem, gssize offset, gsize size)
/* the shared memory is always readonly */
sub =
- _default_mem_new (GST_MINI_OBJECT_FLAGS (parent) |
+ _sysmem_new (GST_MINI_OBJECT_FLAGS (parent) |
GST_MINI_OBJECT_FLAG_LOCK_READONLY, parent, mem->data, mem->mem.maxsize,
mem->mem.align, mem->mem.offset + offset, size, NULL, NULL);
@@ -487,14 +492,13 @@ _default_mem_share (GstMemoryDefault * mem, gssize offset, gsize size)
}
static gboolean
-_default_mem_is_span (GstMemoryDefault * mem1, GstMemoryDefault * mem2,
- gsize * offset)
+_sysmem_is_span (GstMemorySystem * mem1, GstMemorySystem * mem2, gsize * offset)
{
if (offset) {
- GstMemoryDefault *parent;
+ GstMemorySystem *parent;
- parent = (GstMemoryDefault *) mem1->mem.parent;
+ parent = (GstMemorySystem *) mem1->mem.parent;
*offset = mem1->mem.offset - parent->mem.offset;
}
@@ -510,14 +514,14 @@ default_alloc (GstAllocator * allocator, gsize size,
{
gsize maxsize = size + params->prefix + params->padding;
- return (GstMemory *) _default_mem_new_block (params->flags,
+ return (GstMemory *) _sysmem_new_block (params->flags,
maxsize, params->align, params->prefix, size);
}
static void
default_free (GstAllocator * allocator, GstMemory * mem)
{
- GstMemoryDefault *dmem = (GstMemoryDefault *) mem;
+ GstMemorySystem *dmem = (GstMemorySystem *) mem;
gsize slice_size;
if (dmem->notify)
@@ -527,20 +531,20 @@ default_free (GstAllocator * allocator, GstMemory * mem)
#ifdef USE_POISONING
/* just poison the structs, not all the data */
- memset (mem, 0xff, sizeof (GstMemoryDefault));
+ memset (mem, 0xff, sizeof (GstMemorySystem));
#endif
g_slice_free1 (slice_size, mem);
}
static void
-gst_default_allocator_finalize (GObject * obj)
+gst_allocator_sysmem_finalize (GObject * obj)
{
g_warning ("The default memory allocator was freed!");
}
static void
-gst_default_allocator_class_init (GstDefaultAllocatorClass * klass)
+gst_allocator_sysmem_class_init (GstAllocatorSysmemClass * klass)
{
GObjectClass *gobject_class;
GstAllocatorClass *allocator_class;
@@ -548,25 +552,25 @@ gst_default_allocator_class_init (GstDefaultAllocatorClass * klass)
gobject_class = (GObjectClass *) klass;
allocator_class = (GstAllocatorClass *) klass;
- gobject_class->finalize = gst_default_allocator_finalize;
+ gobject_class->finalize = gst_allocator_sysmem_finalize;
allocator_class->alloc = default_alloc;
allocator_class->free = default_free;
}
static void
-gst_default_allocator_init (GstDefaultAllocator * allocator)
+gst_allocator_sysmem_init (GstAllocatorSysmem * allocator)
{
GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
GST_CAT_DEBUG (GST_CAT_MEMORY, "init allocator %p", allocator);
alloc->mem_type = GST_ALLOCATOR_SYSMEM;
- alloc->mem_map = (GstMemoryMapFunction) _default_mem_map;
- alloc->mem_unmap = (GstMemoryUnmapFunction) _default_mem_unmap;
- alloc->mem_copy = (GstMemoryCopyFunction) _default_mem_copy;
- alloc->mem_share = (GstMemoryShareFunction) _default_mem_share;
- alloc->mem_is_span = (GstMemoryIsSpanFunction) _default_mem_is_span;
+ alloc->mem_map = (GstMemoryMapFunction) _sysmem_map;
+ alloc->mem_unmap = (GstMemoryUnmapFunction) _sysmem_unmap;
+ alloc->mem_copy = (GstMemoryCopyFunction) _sysmem_copy;
+ alloc->mem_share = (GstMemoryShareFunction) _sysmem_share;
+ alloc->mem_is_span = (GstMemoryIsSpanFunction) _sysmem_is_span;
}
void
@@ -584,7 +588,7 @@ _priv_gst_memory_initialize (void)
GST_CAT_DEBUG (GST_CAT_MEMORY, "memory alignment: %" G_GSIZE_FORMAT,
gst_memory_alignment);
- _sysmem_allocator = g_object_new (gst_default_allocator_get_type (), NULL);
+ _sysmem_allocator = g_object_new (gst_allocator_sysmem_get_type (), NULL);
gst_allocator_register (GST_ALLOCATOR_SYSMEM,
gst_object_ref (_sysmem_allocator));
@@ -615,13 +619,13 @@ gst_memory_new_wrapped (GstMemoryFlags flags, gpointer data,
gsize maxsize, gsize offset, gsize size, gpointer user_data,
GDestroyNotify notify)
{
- GstMemoryDefault *mem;
+ GstMemorySystem *mem;
g_return_val_if_fail (data != NULL, NULL);
g_return_val_if_fail (offset + size <= maxsize, NULL);
mem =
- _default_mem_new (flags, NULL, data, maxsize, 0, offset, size, user_data,
+ _sysmem_new (flags, NULL, data, maxsize, 0, offset, size, user_data,
notify);
return (GstMemory *) mem;
diff --git a/gst/gstallocator.h b/gst/gstallocator.h
index f9edd50..2337855 100644
--- a/gst/gstallocator.h
+++ b/gst/gstallocator.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstatomicqueue.c b/gst/gstatomicqueue.c
index 473092b..89bbb33 100644
--- a/gst/gstatomicqueue.c
+++ b/gst/gstatomicqueue.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "gst_private.h"
diff --git a/gst/gstatomicqueue.h b/gst/gstatomicqueue.h
index af6d693..1b9c63a 100644
--- a/gst/gstatomicqueue.h
+++ b/gst/gstatomicqueue.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <glib.h>
diff --git a/gst/gstbin.c b/gst/gstbin.c
index ad3d2a0..cc4de10 100644
--- a/gst/gstbin.c
+++ b/gst/gstbin.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*
* MT safe.
*/
@@ -242,6 +242,7 @@ static gboolean gst_bin_send_event (GstElement * element, GstEvent * event);
static GstBusSyncReply bin_bus_handler (GstBus * bus,
GstMessage * message, GstBin * bin);
static gboolean gst_bin_query (GstElement * element, GstQuery * query);
+static void gst_bin_set_context (GstElement * element, GstContext * context);
static gboolean gst_bin_do_latency_func (GstBin * bin);
@@ -461,6 +462,7 @@ gst_bin_class_init (GstBinClass * klass)
gstelement_class->send_event = GST_DEBUG_FUNCPTR (gst_bin_send_event);
gstelement_class->query = GST_DEBUG_FUNCPTR (gst_bin_query);
+ gstelement_class->set_context = GST_DEBUG_FUNCPTR (gst_bin_set_context);
klass->add_element = GST_DEBUG_FUNCPTR (gst_bin_add_func);
klass->remove_element = GST_DEBUG_FUNCPTR (gst_bin_remove_func);
@@ -1073,7 +1075,7 @@ gst_bin_add_func (GstBin * bin, GstElement * element)
GST_DEBUG_OBJECT (bin, "element :%s", GST_ELEMENT_NAME (element));
/* we obviously can't add ourself to ourself */
- if (G_UNLIKELY (GST_ELEMENT_CAST (element) == GST_ELEMENT_CAST (bin)))
+ if (G_UNLIKELY (element == GST_ELEMENT_CAST (bin)))
goto adding_itself;
/* get the element name to make sure it is unique in this bin. */
@@ -1140,6 +1142,9 @@ gst_bin_add_func (GstBin * bin, GstElement * element)
* a new clock will be selected */
gst_element_set_clock (element, GST_ELEMENT_CLOCK (bin));
+ if (GST_ELEMENT_CAST (bin)->context)
+ gst_element_set_context (element, GST_ELEMENT_CAST (bin)->context);
+
#if 0
/* set the cached index on the children */
if (bin->priv->index)
@@ -1181,10 +1186,10 @@ no_state_recalc:
/* post the messages on the bus of the element so that the bin can handle
* them */
if (clock_message)
- gst_element_post_message (GST_ELEMENT_CAST (element), clock_message);
+ gst_element_post_message (element, clock_message);
if (async_message)
- gst_element_post_message (GST_ELEMENT_CAST (element), async_message);
+ gst_element_post_message (element, async_message);
/* unlink all linked pads */
it = gst_element_iterate_pads (element);
@@ -2742,8 +2747,8 @@ activate_failure:
/*
* This function is a utility event handler for seek events.
- * It will send the event to all sinks or sources depending on the
- * event-direction.
+ * It will send the event to all sinks or sources and appropriate
+ * ghost pads depending on the event-direction.
*
* Applications are free to override this behaviour and
* implement their own seek handler, but this will work for
@@ -2772,7 +2777,7 @@ gst_bin_send_event (GstElement * element, GstEvent * event)
switch (gst_iterator_next (iter, &data)) {
case GST_ITERATOR_OK:
{
- GstElement *child = g_value_get_object (&data);;
+ GstElement *child = g_value_get_object (&data);
gst_event_ref (event);
res &= gst_element_send_event (child, event);
@@ -2797,6 +2802,45 @@ gst_bin_send_event (GstElement * element, GstEvent * event)
}
g_value_unset (&data);
gst_iterator_free (iter);
+
+ if (GST_EVENT_IS_DOWNSTREAM (event)) {
+ iter = gst_element_iterate_sink_pads (GST_ELEMENT (bin));
+ GST_DEBUG_OBJECT (bin, "Sending %s event to sink pads",
+ GST_EVENT_TYPE_NAME (event));
+ } else {
+ iter = gst_element_iterate_src_pads (GST_ELEMENT (bin));
+ GST_DEBUG_OBJECT (bin, "Sending %s event to src pads",
+ GST_EVENT_TYPE_NAME (event));
+ }
+
+ done = FALSE;
+ while (!done) {
+ switch (gst_iterator_next (iter, &data)) {
+ case GST_ITERATOR_OK:
+ {
+ GstPad *pad = g_value_get_object (&data);
+
+ gst_event_ref (event);
+ res &= gst_pad_send_event (pad, event);
+ GST_LOG_OBJECT (pad, "After handling %s event: %d",
+ GST_EVENT_TYPE_NAME (event), res);
+ break;
+ }
+ case GST_ITERATOR_RESYNC:
+ gst_iterator_resync (iter);
+ res = TRUE;
+ break;
+ case GST_ITERATOR_DONE:
+ done = TRUE;
+ break;
+ case GST_ITERATOR_ERROR:
+ g_assert_not_reached ();
+ break;
+ }
+ }
+
+ g_value_unset (&data);
+ gst_iterator_free (iter);
gst_event_unref (event);
return res;
@@ -3223,8 +3267,8 @@ bin_do_message_forward (GstBin * bin, GstMessage * message)
* result so we can answer it quicker the next time. Any element that
* changes its duration marks our cached values invalid.
* This message is also posted upwards. This is currently disabled
- * because too many elements don't post DURATION messages when the
- * duration changes.
+ * because too many elements don't post DURATION_CHANGED messages when
+ * the duration changes.
*
* GST_MESSAGE_CLOCK_LOST: This message is posted by an element when it
* can no longer provide a clock. The default bin behaviour is to
@@ -3387,7 +3431,7 @@ gst_bin_handle_message_func (GstBin * bin, GstMessage * message)
* for duration, we will recalculate. */
#if 0
GST_OBJECT_LOCK (bin);
- bin_remove_messages (bin, NULL, GST_MESSAGE_DURATION);
+ bin_remove_messages (bin, NULL, GST_MESSAGE_DURATION_CHANGED);
GST_OBJECT_UNLOCK (bin);
#endif
goto forward;
@@ -3396,7 +3440,7 @@ gst_bin_handle_message_func (GstBin * bin, GstMessage * message)
{
GstClock **provided_clock_p;
GstElement **clock_provider_p;
- gboolean playing, provided, forward;
+ gboolean playing, toplevel, provided, forward;
GstClock *clock;
gst_message_parse_clock_lost (message, &clock);
@@ -3404,10 +3448,14 @@ gst_bin_handle_message_func (GstBin * bin, GstMessage * message)
GST_OBJECT_LOCK (bin);
bin->clock_dirty = TRUE;
/* if we lost the clock that we provided, post to parent but
- * only if we are PLAYING. */
+ * only if we are not a top-level bin or PLAYING.
+ * The reason for this is that applications should be able
+ * to PAUSE/PLAY if they receive this message without worrying
+ * about the state of the pipeline. */
provided = (clock == bin->provided_clock);
playing = (GST_STATE (bin) == GST_STATE_PLAYING);
- forward = playing & provided;
+ toplevel = GST_OBJECT_PARENT (bin) == NULL;
+ forward = provided && (playing || !toplevel);
if (provided) {
GST_DEBUG_OBJECT (bin,
"Lost clock %" GST_PTR_FORMAT " provided by %" GST_PTR_FORMAT,
@@ -3591,9 +3639,14 @@ bin_query_min_max_init (GstBin * bin, QueryFold * fold)
static gboolean
bin_query_duration_fold (const GValue * vitem, GValue * ret, QueryFold * fold)
{
- GstElement *item = g_value_get_object (vitem);
+ gboolean res = FALSE;
+ GstObject *item = g_value_get_object (vitem);
+ if (GST_IS_PAD (item))
+ res = gst_pad_query (GST_PAD (item), fold->query);
+ else
+ res = gst_element_query (GST_ELEMENT (item), fold->query);
- if (gst_element_query (item, fold->query)) {
+ if (res) {
gint64 duration;
g_value_set_boolean (ret, TRUE);
@@ -3639,9 +3692,14 @@ bin_query_duration_done (GstBin * bin, QueryFold * fold)
static gboolean
bin_query_position_fold (const GValue * vitem, GValue * ret, QueryFold * fold)
{
- GstElement *item = g_value_get_object (vitem);
+ gboolean res = FALSE;
+ GstObject *item = g_value_get_object (vitem);
+ if (GST_IS_PAD (item))
+ res = gst_pad_query (GST_PAD (item), fold->query);
+ else
+ res = gst_element_query (GST_ELEMENT (item), fold->query);
- if (gst_element_query (item, fold->query)) {
+ if (res) {
gint64 position;
g_value_set_boolean (ret, TRUE);
@@ -3672,9 +3730,13 @@ bin_query_position_done (GstBin * bin, QueryFold * fold)
static gboolean
bin_query_latency_fold (const GValue * vitem, GValue * ret, QueryFold * fold)
{
- GstElement *item = g_value_get_object (vitem);
-
- if (gst_element_query (item, fold->query)) {
+ gboolean res = FALSE;
+ GstObject *item = g_value_get_object (vitem);
+ if (GST_IS_PAD (item))
+ res = gst_pad_query (GST_PAD (item), fold->query);
+ else
+ res = gst_element_query (GST_ELEMENT (item), fold->query);
+ if (res) {
GstClockTime min, max;
gboolean live;
@@ -3720,10 +3782,13 @@ bin_query_latency_done (GstBin * bin, QueryFold * fold)
static gboolean
bin_query_generic_fold (const GValue * vitem, GValue * ret, QueryFold * fold)
{
- GstElement *item = g_value_get_object (vitem);
- gboolean res;
-
- if ((res = gst_element_query (item, fold->query))) {
+ gboolean res = FALSE;
+ GstObject *item = g_value_get_object (vitem);
+ if (GST_IS_PAD (item))
+ res = gst_pad_query (GST_PAD (item), fold->query);
+ else
+ res = gst_element_query (GST_ELEMENT (item), fold->query);
+ if (res) {
g_value_set_boolean (ret, TRUE);
GST_DEBUG_OBJECT (item, "answered query %p", fold->query);
}
@@ -3732,17 +3797,59 @@ bin_query_generic_fold (const GValue * vitem, GValue * ret, QueryFold * fold)
return !res;
}
+/* Perform a query iteration for the given bin. The query is stored in
+ * QueryFold and iter should be either a GstPad iterator or a
+ * GstElement iterator. */
+static gboolean
+bin_iterate_fold (GstBin * bin, GstIterator * iter, QueryInitFunction fold_init,
+ QueryDoneFunction fold_done, GstIteratorFoldFunction fold_func,
+ QueryFold fold_data, gboolean default_return)
+{
+ gboolean res = default_return;
+ GValue ret = { 0 };
+ /* set the result of the query to FALSE initially */
+ g_value_init (&ret, G_TYPE_BOOLEAN);
+ g_value_set_boolean (&ret, res);
+
+ while (TRUE) {
+ GstIteratorResult ires;
+
+ ires = gst_iterator_fold (iter, fold_func, &ret, &fold_data);
+
+ switch (ires) {
+ case GST_ITERATOR_RESYNC:
+ gst_iterator_resync (iter);
+ if (fold_init)
+ fold_init (bin, &fold_data);
+ g_value_set_boolean (&ret, res);
+ break;
+ case GST_ITERATOR_OK:
+ case GST_ITERATOR_DONE:
+ res = g_value_get_boolean (&ret);
+ if (fold_done != NULL && res)
+ fold_done (bin, &fold_data);
+ goto done;
+ default:
+ res = FALSE;
+ goto done;
+ }
+ }
+done:
+ return res;
+}
+
static gboolean
gst_bin_query (GstElement * element, GstQuery * query)
{
GstBin *bin = GST_BIN_CAST (element);
GstIterator *iter;
+ gboolean default_return = FALSE;
gboolean res = FALSE;
+ gboolean src_pads_query_result = FALSE;
GstIteratorFoldFunction fold_func;
QueryInitFunction fold_init = NULL;
QueryDoneFunction fold_done = NULL;
QueryFold fold_data;
- GValue ret = { 0 };
switch (GST_QUERY_TYPE (query)) {
case GST_QUERY_DURATION:
@@ -3759,7 +3866,7 @@ gst_bin_query (GstElement * element, GstQuery * query)
for (cached = bin->messages; cached; cached = g_list_next (cached)) {
GstMessage *message = (GstMessage *) cached->data;
- if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_DURATION &&
+ if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_DURATION_CHANGED &&
GST_MESSAGE_SRC (message) == GST_OBJECT_CAST (bin)) {
GstFormat format;
gint64 duration;
@@ -3800,7 +3907,7 @@ gst_bin_query (GstElement * element, GstQuery * query)
fold_func = (GstIteratorFoldFunction) bin_query_latency_fold;
fold_init = bin_query_min_max_init;
fold_done = bin_query_latency_done;
- res = TRUE;
+ default_return = TRUE;
break;
}
default:
@@ -3810,10 +3917,6 @@ gst_bin_query (GstElement * element, GstQuery * query)
fold_data.query = query;
- /* set the result of the query to FALSE initially */
- g_value_init (&ret, G_TYPE_BOOLEAN);
- g_value_set_boolean (&ret, res);
-
iter = gst_bin_iterate_sinks (bin);
GST_DEBUG_OBJECT (bin, "Sending query %p (type %s) to sink children",
query, GST_QUERY_TYPE_NAME (query));
@@ -3821,37 +3924,52 @@ gst_bin_query (GstElement * element, GstQuery * query)
if (fold_init)
fold_init (bin, &fold_data);
- while (TRUE) {
- GstIteratorResult ires;
+ res =
+ bin_iterate_fold (bin, iter, fold_init, fold_done, fold_func, fold_data,
+ default_return);
+ gst_iterator_free (iter);
- ires = gst_iterator_fold (iter, fold_func, &ret, &fold_data);
+ if (!res) {
+ /* Query the source pads of the element */
+ iter = gst_element_iterate_src_pads (element);
+ src_pads_query_result =
+ bin_iterate_fold (bin, iter, fold_init, fold_done, fold_func,
+ fold_data, default_return);
+ gst_iterator_free (iter);
- switch (ires) {
- case GST_ITERATOR_RESYNC:
- gst_iterator_resync (iter);
- if (fold_init)
- fold_init (bin, &fold_data);
- g_value_set_boolean (&ret, res);
- break;
- case GST_ITERATOR_OK:
- case GST_ITERATOR_DONE:
- res = g_value_get_boolean (&ret);
- if (fold_done != NULL && res)
- fold_done (bin, &fold_data);
- goto done;
- default:
- res = FALSE;
- goto done;
- }
+ if (src_pads_query_result)
+ res = TRUE;
}
-done:
- gst_iterator_free (iter);
GST_DEBUG_OBJECT (bin, "query %p result %d", query, res);
return res;
}
+static void
+set_context (const GValue * item, gpointer user_data)
+{
+ GstElement *element = g_value_get_object (item);
+
+ gst_element_set_context (element, user_data);
+}
+
+static void
+gst_bin_set_context (GstElement * element, GstContext * context)
+{
+ GstBin *bin;
+ GstIterator *children;
+
+ g_return_if_fail (GST_IS_BIN (element));
+
+ bin = GST_BIN (element);
+
+ children = gst_bin_iterate_elements (bin);
+ while (gst_iterator_foreach (children, set_context,
+ context) == GST_ITERATOR_RESYNC);
+ gst_iterator_free (children);
+}
+
static gint
compare_name (const GValue * velement, const gchar * name)
{
diff --git a/gst/gstbin.h b/gst/gstbin.h
index 06cbc74..17d1441 100644
--- a/gst/gstbin.h
+++ b/gst/gstbin.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -41,7 +41,7 @@ G_BEGIN_DECLS
/**
* GstBinFlags:
* @GST_BIN_FLAG_NO_RESYNC: don't resync a state change when elements are
- * added or linked in the bin (Since 1.0.5)
+ * added or linked in the bin.
* @GST_BIN_FLAG_LAST: the last enum in the series of flags for bins.
* Derived classes can use this as first value in a list of flags.
*
@@ -62,7 +62,7 @@ typedef enum {
* Check if @bin will resync its state change when elements are added and
* removed.
*
- * Since: 1.0.5
+ * Since: 1.1.1
*/
#define GST_BIN_IS_NO_RESYNC(bin) (GST_OBJECT_FLAG_IS_SET(bin,GST_BIN_FLAG_NO_RESYNC))
diff --git a/gst/gstbuffer.c b/gst/gstbuffer.c
index 74682dc..8212ec2 100644
--- a/gst/gstbuffer.c
+++ b/gst/gstbuffer.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -201,7 +201,7 @@ _is_span (GstMemory ** mem, gsize len, gsize * poffset, GstMemory ** parent)
static GstMemory *
_get_merged_memory (GstBuffer * buffer, guint idx, guint length)
{
- GstMemory **mem, *result;
+ GstMemory **mem, *result = NULL;
GST_CAT_LOG (GST_CAT_BUFFER, "buffer %p, idx %u, length %u", buffer, idx,
length);
@@ -219,11 +219,11 @@ _get_merged_memory (GstBuffer * buffer, guint idx, guint length)
size = gst_buffer_get_sizes_range (buffer, idx, length, NULL, NULL);
if (G_UNLIKELY (_is_span (mem + idx, length, &poffset, &parent))) {
- if (GST_MEMORY_IS_NO_SHARE (parent)) {
+ if (!GST_MEMORY_IS_NO_SHARE (parent))
+ result = gst_memory_share (parent, poffset, size);
+ if (!result) {
GST_CAT_DEBUG (GST_CAT_PERFORMANCE, "copy for merge %p", parent);
result = gst_memory_copy (parent, poffset, size);
- } else {
- result = gst_memory_share (parent, poffset, size);
}
} else {
gsize i, tocopy, left;
@@ -331,6 +331,25 @@ _priv_gst_buffer_initialize (void)
}
/**
+ * gst_buffer_get_max_memory:
+ *
+ * Get the maximum amount of memory blocks that a buffer can hold. This is a
+ * compile time constant that can be queried with the function.
+ *
+ * When more memory blocks are added, existing memory blocks will be merged
+ * together to make room for the new block.
+ *
+ * Returns: the maximum amount of memory blocks that a buffer can hold.
+ *
+ * Since: 1.2.0
+ */
+guint
+gst_buffer_get_max_memory (void)
+{
+ return GST_BUFFER_MEM_MAX;
+}
+
+/**
* gst_buffer_copy_into:
* @dest: a destination #GstBuffer
* @src: a source #GstBuffer
@@ -344,8 +363,10 @@ _priv_gst_buffer_initialize (void)
* the memory from @src will be appended to @dest.
*
* @flags indicate which fields will be copied.
+ *
+ * Returns: %TRUE if the copying succeeded, %FALSE otherwise.
*/
-void
+gboolean
gst_buffer_copy_into (GstBuffer * dest, GstBuffer * src,
GstBufferCopyFlags flags, gsize offset, gsize size)
{
@@ -353,24 +374,24 @@ gst_buffer_copy_into (GstBuffer * dest, GstBuffer * src,
gsize bufsize;
gboolean region = FALSE;
- g_return_if_fail (dest != NULL);
- g_return_if_fail (src != NULL);
+ g_return_val_if_fail (dest != NULL, FALSE);
+ g_return_val_if_fail (src != NULL, FALSE);
/* nothing to copy if the buffers are the same */
if (G_UNLIKELY (dest == src))
- return;
+ return TRUE;
- g_return_if_fail (gst_buffer_is_writable (dest));
+ g_return_val_if_fail (gst_buffer_is_writable (dest), FALSE);
bufsize = gst_buffer_get_size (src);
- g_return_if_fail (bufsize >= offset);
+ g_return_val_if_fail (bufsize >= offset, FALSE);
if (offset > 0)
region = TRUE;
if (size == -1)
size = bufsize - offset;
if (size < bufsize)
region = TRUE;
- g_return_if_fail (bufsize >= offset + size);
+ g_return_val_if_fail (bufsize >= offset + size, FALSE);
GST_CAT_LOG (GST_CAT_BUFFER, "copy %p to %p, offset %" G_GSIZE_FORMAT
"-%" G_GSIZE_FORMAT "/%" G_GSIZE_FORMAT, src, dest, offset, size,
@@ -400,43 +421,66 @@ gst_buffer_copy_into (GstBuffer * dest, GstBuffer * src,
}
if (flags & GST_BUFFER_COPY_MEMORY) {
- GstMemory *mem;
- gsize skip, left, len, i, bsize;
+ gsize skip, left, len, dest_len, i, bsize;
+ gboolean deep;
+
+ deep = flags & GST_BUFFER_COPY_DEEP;
len = GST_BUFFER_MEM_LEN (src);
+ dest_len = GST_BUFFER_MEM_LEN (dest);
left = size;
skip = offset;
/* copy and make regions of the memory */
for (i = 0; i < len && left > 0; i++) {
- mem = GST_BUFFER_MEM_PTR (src, i);
+ GstMemory *mem = GST_BUFFER_MEM_PTR (src, i);
+
bsize = gst_memory_get_sizes (mem, NULL, NULL);
if (bsize <= skip) {
/* don't copy buffer */
skip -= bsize;
} else {
+ GstMemory *newmem = NULL;
gsize tocopy;
tocopy = MIN (bsize - skip, left);
- if (GST_MEMORY_IS_NO_SHARE (mem)) {
- /* no share, always copy then */
- mem = gst_memory_copy (mem, skip, tocopy);
- skip = 0;
- } else if (tocopy < bsize) {
+
+ if (tocopy < bsize && !deep && !GST_MEMORY_IS_NO_SHARE (mem)) {
/* we need to clip something */
- mem = gst_memory_share (mem, skip, tocopy);
+ newmem = gst_memory_share (mem, skip, tocopy);
+ if (newmem)
+ skip = 0;
+ }
+
+ if (deep || GST_MEMORY_IS_NO_SHARE (mem) || (!newmem && tocopy < bsize)) {
+ /* deep copy or we're not allowed to share this memory
+ * between buffers, always copy then */
+ newmem = gst_memory_copy (mem, skip, tocopy);
skip = 0;
- } else {
- mem = gst_memory_ref (mem);
+ } else if (!newmem) {
+ newmem = gst_memory_ref (mem);
+ }
+
+ if (!newmem) {
+ gst_buffer_remove_memory_range (dest, dest_len, -1);
+ return FALSE;
}
- _memory_add (dest, -1, mem, TRUE);
+
+ _memory_add (dest, -1, newmem, TRUE);
left -= tocopy;
}
}
if (flags & GST_BUFFER_COPY_MERGE) {
+ GstMemory *mem;
+
len = GST_BUFFER_MEM_LEN (dest);
- _replace_memory (dest, len, 0, len, _get_merged_memory (dest, 0, len));
+ mem = _get_merged_memory (dest, 0, len);
+ if (!mem) {
+ gst_buffer_remove_memory_range (dest, dest_len, -1);
+ return FALSE;
+ }
+ _replace_memory (dest, len, 0, len, mem);
}
}
@@ -457,6 +501,8 @@ gst_buffer_copy_into (GstBuffer * dest, GstBuffer * src,
}
}
}
+
+ return TRUE;
}
static GstBuffer *
@@ -470,7 +516,8 @@ _gst_buffer_copy (GstBuffer * buffer)
copy = gst_buffer_new ();
/* we simply copy everything from our parent */
- gst_buffer_copy_into (copy, buffer, GST_BUFFER_COPY_ALL, 0, -1);
+ if (!gst_buffer_copy_into (copy, buffer, GST_BUFFER_COPY_ALL, 0, -1))
+ gst_buffer_replace (&copy, NULL);
return copy;
}
@@ -714,12 +761,14 @@ gst_buffer_new_wrapped_full (GstMemoryFlags flags, gpointer data,
gsize maxsize, gsize offset, gsize size, gpointer user_data,
GDestroyNotify notify)
{
+ GstMemory *mem;
GstBuffer *newbuf;
newbuf = gst_buffer_new ();
- gst_buffer_append_memory (newbuf,
- gst_memory_new_wrapped (flags, data, maxsize, offset, size,
- user_data, notify));
+ mem =
+ gst_memory_new_wrapped (flags, data, maxsize, offset, size, user_data,
+ notify);
+ _memory_add (newbuf, -1, mem, TRUE);
return newbuf;
}
@@ -746,7 +795,8 @@ gst_buffer_new_wrapped (gpointer data, gsize size)
* gst_buffer_n_memory:
* @buffer: a #GstBuffer.
*
- * Get the amount of memory blocks that this buffer has.
+ * Get the amount of memory blocks that this buffer has. This amount is never
+ * larger than what gst_buffer_get_max_memory() returns.
*
* Returns: (transfer full): the amount of memory block in this buffer.
*/
@@ -765,6 +815,9 @@ gst_buffer_n_memory (GstBuffer * buffer)
*
* Prepend the memory block @mem to @buffer. This function takes
* ownership of @mem and thus doesn't increase its refcount.
+ *
+ * This function is identical to gst_buffer_insert_memory() with an index of 0.
+ * See gst_buffer_insert_memory() for more details.
*/
void
gst_buffer_prepend_memory (GstBuffer * buffer, GstMemory * mem)
@@ -779,6 +832,9 @@ gst_buffer_prepend_memory (GstBuffer * buffer, GstMemory * mem)
*
* Append the memory block @mem to @buffer. This function takes
* ownership of @mem and thus doesn't increase its refcount.
+ *
+ * This function is identical to gst_buffer_insert_memory() with an index of -1.
+ * See gst_buffer_insert_memory() for more details.
*/
void
gst_buffer_append_memory (GstBuffer * buffer, GstMemory * mem)
@@ -794,6 +850,10 @@ gst_buffer_append_memory (GstBuffer * buffer, GstMemory * mem)
*
* Insert the memory block @mem to @buffer at @idx. This function takes ownership
* of @mem and thus doesn't increase its refcount.
+ *
+ * Only gst_buffer_get_max_memory() can be added to a buffer. If more memory is
+ * added, existing memory blocks will automatically be merged to make room for
+ * the new memory.
*/
void
gst_buffer_insert_memory (GstBuffer * buffer, gint idx, GstMemory * mem)
@@ -1255,19 +1315,22 @@ gst_buffer_set_size (GstBuffer * buffer, gssize size)
*
* Set the total size of the @length memory blocks starting at @idx in
* @buffer
+ *
+ * Returns: %TRUE if resizing succeeded, %FALSE otherwise.
*/
-void
+gboolean
gst_buffer_resize_range (GstBuffer * buffer, guint idx, gint length,
gssize offset, gssize size)
{
guint i, len, end;
gsize bsize, bufsize, bufoffs, bufmax;
- g_return_if_fail (gst_buffer_is_writable (buffer));
- g_return_if_fail (size >= -1);
+ g_return_val_if_fail (gst_buffer_is_writable (buffer), FALSE);
+ g_return_val_if_fail (size >= -1, FALSE);
+
len = GST_BUFFER_MEM_LEN (buffer);
- g_return_if_fail ((len == 0 && idx == 0 && length == -1) ||
- (length == -1 && idx < len) || (length + idx <= len));
+ g_return_val_if_fail ((len == 0 && idx == 0 && length == -1) ||
+ (length == -1 && idx < len) || (length + idx <= len), FALSE);
if (length == -1)
length = len - idx;
@@ -1280,17 +1343,17 @@ gst_buffer_resize_range (GstBuffer * buffer, guint idx, gint length,
/* we can't go back further than the current offset or past the end of the
* buffer */
- g_return_if_fail ((offset < 0 && bufoffs >= -offset) || (offset >= 0
- && bufoffs + offset <= bufmax));
+ g_return_val_if_fail ((offset < 0 && bufoffs >= -offset) || (offset >= 0
+ && bufoffs + offset <= bufmax), FALSE);
if (size == -1) {
- g_return_if_fail (bufsize >= offset);
+ g_return_val_if_fail (bufsize >= offset, FALSE);
size = bufsize - offset;
}
- g_return_if_fail (bufmax >= bufoffs + offset + size);
+ g_return_val_if_fail (bufmax >= bufoffs + offset + size, FALSE);
/* no change */
if (offset == 0 && size == bufsize)
- return;
+ return TRUE;
end = idx + length;
/* copy and trim */
@@ -1319,13 +1382,17 @@ gst_buffer_resize_range (GstBuffer * buffer, guint idx, gint length,
if (gst_memory_is_writable (mem)) {
gst_memory_resize (mem, offset, left);
} else {
- GstMemory *newmem;
+ GstMemory *newmem = NULL;
- if (GST_MEMORY_IS_NO_SHARE (mem))
- newmem = gst_memory_copy (mem, offset, left);
- else
+ if (!GST_MEMORY_IS_NO_SHARE (mem))
newmem = gst_memory_share (mem, offset, left);
+ if (!newmem)
+ newmem = gst_memory_copy (mem, offset, left);
+
+ if (newmem == NULL)
+ return FALSE;
+
gst_memory_lock (newmem, GST_LOCK_FLAG_EXCLUSIVE);
GST_BUFFER_MEM_PTR (buffer, i) = newmem;
gst_memory_unlock (mem, GST_LOCK_FLAG_EXCLUSIVE);
@@ -1336,6 +1403,8 @@ gst_buffer_resize_range (GstBuffer * buffer, guint idx, gint length,
offset = noffs;
size -= left;
}
+
+ return TRUE;
}
/**
@@ -1724,7 +1793,8 @@ gst_buffer_copy_region (GstBuffer * buffer, GstBufferCopyFlags flags,
GST_CAT_LOG (GST_CAT_BUFFER, "new region copy %p of %p %" G_GSIZE_FORMAT
"-%" G_GSIZE_FORMAT, copy, buffer, offset, size);
- gst_buffer_copy_into (copy, buffer, flags, offset, size);
+ if (!gst_buffer_copy_into (copy, buffer, flags, offset, size))
+ gst_buffer_replace (&copy, NULL);
return copy;
}
@@ -2013,3 +2083,31 @@ gst_buffer_foreach_meta (GstBuffer * buffer, GstBufferForeachMetaFunc func,
}
return res;
}
+
+/**
+ * gst_buffer_extract_dup:
+ * @buffer: a #GstBuffer
+ * @offset: the offset to extract
+ * @size: the size to extract
+ * @dest: (array length=dest_size) (element-type guint8) (out): A pointer where
+ * the destination array will be written.
+ * @dest_size: (out): A location where the size of @dest can be written
+ *
+ * Extracts a copy of at most @size bytes the data at @offset into a #GBytes.
+ * @dest must be freed using g_free() when done.
+ *
+ * Since: 3.2
+ */
+
+void
+gst_buffer_extract_dup (GstBuffer * buffer, gsize offset, gsize size,
+ gpointer * dest, gsize * dest_size)
+{
+ gsize real_size;
+
+ real_size = gst_buffer_get_size (buffer);
+
+ *dest = g_malloc (MIN (real_size - offset, size));
+
+ *dest_size = gst_buffer_extract (buffer, offset, *dest, size);
+}
diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h
index 37fc00f..c241792 100644
--- a/gst/gstbuffer.h
+++ b/gst/gstbuffer.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -253,6 +253,8 @@ struct _GstBuffer {
GType gst_buffer_get_type (void);
+guint gst_buffer_get_max_memory (void);
+
/* allocation */
GstBuffer * gst_buffer_new (void);
GstBuffer * gst_buffer_new_allocate (GstAllocator * allocator, gsize size,
@@ -293,7 +295,7 @@ gsize gst_buffer_memset (GstBuffer *buffer, gsize offset,
gsize gst_buffer_get_sizes_range (GstBuffer *buffer, guint idx, gint length,
gsize *offset, gsize *maxsize);
-void gst_buffer_resize_range (GstBuffer *buffer, guint idx, gint length,
+gboolean gst_buffer_resize_range (GstBuffer *buffer, guint idx, gint length,
gssize offset, gssize size);
gsize gst_buffer_get_sizes (GstBuffer *buffer, gsize *offset, gsize *maxsize);
@@ -306,6 +308,9 @@ gboolean gst_buffer_map_range (GstBuffer *buffer, guint idx, gint l
gboolean gst_buffer_map (GstBuffer *buffer, GstMapInfo *info, GstMapFlags flags);
void gst_buffer_unmap (GstBuffer *buffer, GstMapInfo *info);
+void gst_buffer_extract_dup (GstBuffer *buffer, gsize offset,
+ gsize size, gpointer *dest,
+ gsize *dest_size);
/* refcounting */
/**
@@ -375,13 +380,17 @@ gst_buffer_copy (const GstBuffer * buf)
* @GST_BUFFER_COPY_NONE: copy nothing
* @GST_BUFFER_COPY_FLAGS: flag indicating that buffer flags should be copied
* @GST_BUFFER_COPY_TIMESTAMPS: flag indicating that buffer pts, dts,
- * duration, offset and offset_end should be copied
- * @GST_BUFFER_COPY_MEMORY: flag indicating that buffer memory should be copied
- * and appended to already existing memory
+ * duration, offset and offset_end should be copied
+ * @GST_BUFFER_COPY_MEMORY: flag indicating that buffer memory should be reffed
+ * and appended to already existing memory. Unless the memory is marked as
+ * NO_SHARE, no actual copy of the memory is made but it is simply reffed.
+ * Add @GST_BUFFER_COPY_DEEP to force a real copy.
* @GST_BUFFER_COPY_MERGE: flag indicating that buffer memory should be
- * merged
+ * merged
* @GST_BUFFER_COPY_META: flag indicating that buffer meta should be
- * copied
+ * copied
+ * @GST_BUFFER_COPY_DEEP: flag indicating that memory should always be
+ * copied instead of reffed (Since 1.2)
*
* A set of flags that can be provided to the gst_buffer_copy_into()
* function to specify which items should be copied.
@@ -392,7 +401,8 @@ typedef enum {
GST_BUFFER_COPY_TIMESTAMPS = (1 << 1),
GST_BUFFER_COPY_META = (1 << 2),
GST_BUFFER_COPY_MEMORY = (1 << 3),
- GST_BUFFER_COPY_MERGE = (1 << 4)
+ GST_BUFFER_COPY_MERGE = (1 << 4),
+ GST_BUFFER_COPY_DEEP = (1 << 5)
} GstBufferCopyFlags;
/**
@@ -413,7 +423,7 @@ typedef enum {
#define GST_BUFFER_COPY_ALL ((GstBufferCopyFlags)(GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY))
/* copies memory or metadata into newly allocated buffer */
-void gst_buffer_copy_into (GstBuffer *dest, GstBuffer *src,
+gboolean gst_buffer_copy_into (GstBuffer *dest, GstBuffer *src,
GstBufferCopyFlags flags,
gsize offset, gsize size);
diff --git a/gst/gstbufferlist.c b/gst/gstbufferlist.c
index e922e8a..565ed5b 100644
--- a/gst/gstbufferlist.c
+++ b/gst/gstbufferlist.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstbufferlist.h b/gst/gstbufferlist.h
index eff9d9c..4a6a99f 100644
--- a/gst/gstbufferlist.h
+++ b/gst/gstbufferlist.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_BUFFER_LIST_H__
diff --git a/gst/gstbufferpool.c b/gst/gstbufferpool.c
index 2a4abbe..edd9ec9 100644
--- a/gst/gstbufferpool.c
+++ b/gst/gstbufferpool.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -825,8 +825,7 @@ gst_buffer_pool_config_add_option (GstStructure * config, const gchar * option)
}
g_value_init (&option_value, G_TYPE_STRING);
g_value_set_string (&option_value, option);
- gst_value_array_append_value ((GValue *) value, &option_value);
- g_value_unset (&option_value);
+ gst_value_array_append_and_take_value ((GValue *) value, &option_value);
}
/**
diff --git a/gst/gstbufferpool.h b/gst/gstbufferpool.h
index b718f99..9806a6d 100644
--- a/gst/gstbufferpool.h
+++ b/gst/gstbufferpool.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstbus.c b/gst/gstbus.c
index bd1c209..b5343ab 100644
--- a/gst/gstbus.c
+++ b/gst/gstbus.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -188,12 +188,8 @@ gst_bus_class_init (GstBusClass * klass)
* A message has been posted on the bus. This signal is emitted from the
* thread that posted the message so one has to be careful with locking.
*
- * This signal will not be emitted by default, you have to set up
- * gst_bus_sync_signal_handler() as a sync handler if you want this
- * signal to be emitted when a message is posted on the bus, like this:
- * <programlisting>
- * gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, yourdata);
- * </programlisting>
+ * This signal will not be emitted by default, you have to call
+ * gst_bus_enable_sync_message_emission() before.
*/
gst_bus_signals[SYNC_MESSAGE] =
g_signal_new ("sync-message", G_TYPE_FROM_CLASS (klass),
@@ -1208,7 +1204,7 @@ void
gst_bus_disable_sync_message_emission (GstBus * bus)
{
g_return_if_fail (GST_IS_BUS (bus));
- g_return_if_fail (bus->priv->num_signal_watchers == 0);
+ g_return_if_fail (bus->priv->num_sync_message_emitters > 0);
GST_OBJECT_LOCK (bus);
bus->priv->num_sync_message_emitters--;
diff --git a/gst/gstbus.h b/gst/gstbus.h
index ed05ddb..5821770 100644
--- a/gst/gstbus.h
+++ b/gst/gstbus.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_BUS_H__
diff --git a/gst/gstcaps.c b/gst/gstcaps.c
index 7e695c0..12c49eb 100644
--- a/gst/gstcaps.c
+++ b/gst/gstcaps.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -71,11 +71,17 @@
#define DEBUG_REFCOUNT
+typedef struct _GstCapsArrayElement
+{
+ GstStructure *structure;
+ GstCapsFeatures *features;
+} GstCapsArrayElement;
+
typedef struct _GstCapsImpl
{
GstCaps caps;
- GPtrArray *array;
+ GArray *array;
} GstCapsImpl;
#define GST_CAPS_ARRAY(c) (((GstCapsImpl *)(c))->array)
@@ -96,15 +102,20 @@ typedef struct _GstCapsImpl
#define CAPS_IS_EMPTY_SIMPLE(caps) \
((GST_CAPS_ARRAY (caps) == NULL) || (GST_CAPS_LEN (caps) == 0))
+#define gst_caps_features_copy_conditional(f) ((f && (gst_caps_features_is_any (f) || !gst_caps_features_is_equal (f, GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY))) ? gst_caps_features_copy (f) : NULL)
+
/* quick way to get a caps structure at an index without doing a type or array
* length check */
#define gst_caps_get_structure_unchecked(caps, index) \
- ((GstStructure *)g_ptr_array_index (GST_CAPS_ARRAY (caps), (index)))
+ (g_array_index (GST_CAPS_ARRAY (caps), GstCapsArrayElement, (index)).structure)
+#define gst_caps_get_features_unchecked(caps, index) \
+ (g_array_index (GST_CAPS_ARRAY (caps), GstCapsArrayElement, (index)).features)
/* quick way to append a structure without checking the args */
-#define gst_caps_append_structure_unchecked(caps, structure) G_STMT_START{\
- GstStructure *__s=structure; \
- if (gst_structure_set_parent_refcount (__s, &GST_MINI_OBJECT_REFCOUNT(caps))) \
- g_ptr_array_add (GST_CAPS_ARRAY (caps), __s); \
+#define gst_caps_append_structure_unchecked(caps, s, f) G_STMT_START{\
+ GstCapsArrayElement __e={s, f}; \
+ if (gst_structure_set_parent_refcount (__e.structure, &GST_MINI_OBJECT_REFCOUNT(caps)) && \
+ (!__e.features || gst_caps_features_set_parent_refcount (__e.features, &GST_MINI_OBJECT_REFCOUNT(caps)))) \
+ g_array_append_val (GST_CAPS_ARRAY (caps), __e); \
}G_STMT_END
/* lock to protect multiple invocations of static caps to caps conversion */
@@ -138,6 +149,7 @@ _gst_caps_copy (const GstCaps * caps)
{
GstCaps *newcaps;
GstStructure *structure;
+ GstCapsFeatures *features;
guint i, n;
g_return_val_if_fail (GST_IS_CAPS (caps), NULL);
@@ -151,7 +163,9 @@ _gst_caps_copy (const GstCaps * caps)
for (i = 0; i < n; i++) {
structure = gst_caps_get_structure_unchecked (caps, i);
- gst_caps_append_structure (newcaps, gst_structure_copy (structure));
+ features = gst_caps_get_features_unchecked (caps, i);
+ gst_caps_append_structure_full (newcaps, gst_structure_copy (structure),
+ gst_caps_features_copy_conditional (features));
}
return newcaps;
@@ -162,6 +176,7 @@ static void
_gst_caps_free (GstCaps * caps)
{
GstStructure *structure;
+ GstCapsFeatures *features;
guint i, len;
/* The refcount must be 0, but since we're only called by gst_caps_unref,
@@ -170,11 +185,16 @@ _gst_caps_free (GstCaps * caps)
/* This can be used to get statistics about caps sizes */
/*GST_CAT_INFO (GST_CAT_CAPS, "caps size: %d", len); */
for (i = 0; i < len; i++) {
- structure = (GstStructure *) gst_caps_get_structure_unchecked (caps, i);
+ structure = gst_caps_get_structure_unchecked (caps, i);
gst_structure_set_parent_refcount (structure, NULL);
gst_structure_free (structure);
+ features = gst_caps_get_features_unchecked (caps, i);
+ if (features) {
+ gst_caps_features_set_parent_refcount (features, NULL);
+ gst_caps_features_free (features);
+ }
}
- g_ptr_array_free (GST_CAPS_ARRAY (caps), TRUE);
+ g_array_free (GST_CAPS_ARRAY (caps), TRUE);
#ifdef DEBUG_REFCOUNT
GST_CAT_TRACE (GST_CAT_CAPS, "freeing caps %p", caps);
@@ -194,7 +214,8 @@ gst_caps_init (GstCaps * caps)
* in practice
* GST_CAPS_ARRAY (caps) = g_ptr_array_sized_new (32);
*/
- GST_CAPS_ARRAY (caps) = g_ptr_array_new ();
+ GST_CAPS_ARRAY (caps) =
+ g_array_new (FALSE, TRUE, sizeof (GstCapsArrayElement));
}
/**
@@ -260,7 +281,7 @@ gst_caps_new_empty_simple (const char *media_type)
caps = gst_caps_new_empty ();
structure = gst_structure_new_empty (media_type);
if (structure)
- gst_caps_append_structure_unchecked (caps, structure);
+ gst_caps_append_structure_unchecked (caps, structure, NULL);
return caps;
}
@@ -292,7 +313,7 @@ gst_caps_new_simple (const char *media_type, const char *fieldname, ...)
va_end (var_args);
if (structure)
- gst_caps_append_structure_unchecked (caps, structure);
+ gst_caps_append_structure_unchecked (caps, structure, NULL);
else
gst_caps_replace (&caps, NULL);
@@ -342,7 +363,7 @@ gst_caps_new_full_valist (GstStructure * structure, va_list var_args)
caps = gst_caps_new_empty ();
while (structure) {
- gst_caps_append_structure_unchecked (caps, structure);
+ gst_caps_append_structure_unchecked (caps, structure, NULL);
structure = va_arg (var_args, GstStructure *);
}
@@ -426,16 +447,44 @@ gst_static_caps_cleanup (GstStaticCaps * static_caps)
/* manipulation */
+static void
+gst_caps_remove_and_get_structure_and_features (GstCaps * caps, guint idx,
+ GstStructure ** s, GstCapsFeatures ** f)
+{
+ GstStructure *s_;
+ GstCapsFeatures *f_;
+
+ s_ = gst_caps_get_structure_unchecked (caps, idx);
+ f_ = gst_caps_get_features_unchecked (caps, idx);
+
+ /* don't use index_fast, gst_caps_simplify relies on the order */
+ g_array_remove_index (GST_CAPS_ARRAY (caps), idx);
+
+ gst_structure_set_parent_refcount (s_, NULL);
+ if (f_) {
+ gst_caps_features_set_parent_refcount (f_, NULL);
+ }
+
+ *s = s_;
+ *f = f_;
+}
+
static GstStructure *
gst_caps_remove_and_get_structure (GstCaps * caps, guint idx)
{
- /* don't use index_fast, gst_caps_simplify relies on the order */
- GstStructure *s = g_ptr_array_remove_index (GST_CAPS_ARRAY (caps), idx);
+ GstStructure *s;
+ GstCapsFeatures *f;
+
+ gst_caps_remove_and_get_structure_and_features (caps, idx, &s, &f);
+
+ if (f)
+ gst_caps_features_free (f);
- gst_structure_set_parent_refcount (s, NULL);
return s;
}
+
+
/**
* gst_caps_steal_structure:
* @caps: the #GstCaps to retrieve from
@@ -472,6 +521,7 @@ void
gst_caps_append (GstCaps * caps1, GstCaps * caps2)
{
GstStructure *structure;
+ GstCapsFeatures *features;
int i;
g_return_if_fail (GST_IS_CAPS (caps1));
@@ -485,8 +535,9 @@ gst_caps_append (GstCaps * caps1, GstCaps * caps2)
caps2 = gst_caps_make_writable (caps2);
for (i = GST_CAPS_LEN (caps2); i; i--) {
- structure = gst_caps_remove_and_get_structure (caps2, 0);
- gst_caps_append_structure_unchecked (caps1, structure);
+ gst_caps_remove_and_get_structure_and_features (caps2, 0, &structure,
+ &features);
+ gst_caps_append_structure_unchecked (caps1, structure, features);
}
gst_caps_unref (caps2); /* guaranteed to free it */
}
@@ -508,6 +559,7 @@ GstCaps *
gst_caps_merge (GstCaps * caps1, GstCaps * caps2)
{
GstStructure *structure;
+ GstCapsFeatures *features;
int i;
GstCaps *result;
@@ -524,8 +576,9 @@ gst_caps_merge (GstCaps * caps1, GstCaps * caps2)
caps2 = gst_caps_make_writable (caps2);
for (i = GST_CAPS_LEN (caps2); i; i--) {
- structure = gst_caps_remove_and_get_structure (caps2, 0);
- caps1 = gst_caps_merge_structure (caps1, structure);
+ gst_caps_remove_and_get_structure_and_features (caps2, 0, &structure,
+ &features);
+ caps1 = gst_caps_merge_structure_full (caps1, structure, features);
}
gst_caps_unref (caps2);
result = caps1;
@@ -559,7 +612,28 @@ gst_caps_append_structure (GstCaps * caps, GstStructure * structure)
g_return_if_fail (IS_WRITABLE (caps));
if (G_LIKELY (structure)) {
- gst_caps_append_structure_unchecked (caps, structure);
+ gst_caps_append_structure_unchecked (caps, structure, NULL);
+ }
+}
+
+/**
+ * gst_caps_append_structure_full:
+ * @caps: the #GstCaps that will be appended to
+ * @structure: (transfer full): the #GstStructure to append
+ * @features: (transfer full) (allow-none): the #GstCapsFeatures to append
+ *
+ * Appends @structure with @features to @caps. The structure is not copied; @caps
+ * becomes the owner of @structure.
+ */
+void
+gst_caps_append_structure_full (GstCaps * caps, GstStructure * structure,
+ GstCapsFeatures * features)
+{
+ g_return_if_fail (GST_IS_CAPS (caps));
+ g_return_if_fail (IS_WRITABLE (caps));
+
+ if (G_LIKELY (structure)) {
+ gst_caps_append_structure_unchecked (caps, structure, features);
}
}
@@ -597,6 +671,56 @@ GstCaps *
gst_caps_merge_structure (GstCaps * caps, GstStructure * structure)
{
GstStructure *structure1;
+ GstCapsFeatures *features1;
+ int i;
+ gboolean unique = TRUE;
+
+ g_return_val_if_fail (GST_IS_CAPS (caps), NULL);
+
+ if (G_UNLIKELY (structure == NULL))
+ return caps;
+
+ /* check each structure */
+ for (i = GST_CAPS_LEN (caps) - 1; i >= 0; i--) {
+ structure1 = gst_caps_get_structure_unchecked (caps, i);
+ features1 = gst_caps_get_features_unchecked (caps, i);
+ if (!features1)
+ features1 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+
+ /* if structure is a subset of structure1 and the
+ * there are no existing features, then skip it */
+ if (gst_caps_features_is_equal (features1,
+ GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY)
+ && gst_structure_is_subset (structure, structure1)) {
+ unique = FALSE;
+ break;
+ }
+ }
+ if (unique) {
+ caps = gst_caps_make_writable (caps);
+ gst_caps_append_structure_unchecked (caps, structure, NULL);
+ } else {
+ gst_structure_free (structure);
+ }
+ return caps;
+}
+
+/**
+ * gst_caps_merge_structure_full:
+ * @caps: (transfer full): the #GstCaps to merge into
+ * @structure: (transfer full): the #GstStructure to merge
+ * @features: (transfer full) (allow-none): the #GstCapsFeatures to merge
+ *
+ * Appends @structure with @features to @caps if its not already expressed by @caps.
+ *
+ * Returns: (transfer full): the merged caps.
+ */
+GstCaps *
+gst_caps_merge_structure_full (GstCaps * caps, GstStructure * structure,
+ GstCapsFeatures * features)
+{
+ GstStructure *structure1;
+ GstCapsFeatures *features1, *features_tmp;
int i;
gboolean unique = TRUE;
@@ -605,20 +729,37 @@ gst_caps_merge_structure (GstCaps * caps, GstStructure * structure)
if (G_UNLIKELY (structure == NULL))
return caps;
+ /* To make comparisons easier below */
+ features_tmp = features ? features : GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+
/* check each structure */
for (i = GST_CAPS_LEN (caps) - 1; i >= 0; i--) {
structure1 = gst_caps_get_structure_unchecked (caps, i);
- /* if structure is a subset of structure1, then skip it */
- if (gst_structure_is_subset (structure, structure1)) {
+ features1 = gst_caps_get_features_unchecked (caps, i);
+ if (!features1)
+ features1 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+ /* if structure is a subset of structure1 and the
+ * the features are a subset, then skip it */
+ /* FIXME: We only skip if none of the features are
+ * ANY and are still equal. That way all ANY structures
+ * show up in the caps and no non-ANY structures are
+ * swallowed by ANY structures
+ */
+ if (((!gst_caps_features_is_any (features_tmp)
+ || gst_caps_features_is_any (features1))
+ && gst_caps_features_is_equal (features_tmp, features1))
+ && gst_structure_is_subset (structure, structure1)) {
unique = FALSE;
break;
}
}
if (unique) {
caps = gst_caps_make_writable (caps);
- gst_caps_append_structure_unchecked (caps, structure);
+ gst_caps_append_structure_unchecked (caps, structure, features);
} else {
gst_structure_free (structure);
+ if (features)
+ gst_caps_features_free (features);
}
return caps;
}
@@ -672,6 +813,72 @@ gst_caps_get_structure (const GstCaps * caps, guint index)
}
/**
+ * gst_caps_get_features:
+ * @caps: a #GstCaps
+ * @index: the index of the structure
+ *
+ * Finds the features in @caps that has the index @index, and
+ * returns it.
+ *
+ * WARNING: This function takes a const GstCaps *, but returns a
+ * non-const GstCapsFeatures *. This is for programming convenience --
+ * the caller should be aware that structures inside a constant
+ * #GstCaps should not be modified. However, if you know the caps
+ * are writable, either because you have just copied them or made
+ * them writable with gst_caps_make_writable(), you may modify the
+ * features returned in the usual way, e.g. with functions like
+ * gst_caps_features_add().
+ *
+ * You do not need to free or unref the structure returned, it
+ * belongs to the #GstCaps.
+ *
+ * Returns: (transfer none): a pointer to the #GstCapsFeatures corresponding
+ * to @index
+ */
+GstCapsFeatures *
+gst_caps_get_features (const GstCaps * caps, guint index)
+{
+ GstCapsFeatures *features;
+
+ g_return_val_if_fail (GST_IS_CAPS (caps), NULL);
+ g_return_val_if_fail (index < GST_CAPS_LEN (caps), NULL);
+
+ features = gst_caps_get_features_unchecked (caps, index);
+ if (!features)
+ features = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+
+ return features;
+}
+
+/**
+ * gst_caps_set_features:
+ * @caps: a #GstCaps
+ * @index: the index of the structure
+ * @features: (allow-none) (transfer full): the #GstFeatures to set
+ *
+ * Sets the #GstCapsFeatures @features for the structure at @index.
+ */
+void
+gst_caps_set_features (GstCaps * caps, guint index, GstCapsFeatures * features)
+{
+ GstCapsFeatures **storage, *old;
+
+ g_return_if_fail (caps != NULL);
+ g_return_if_fail (index <= gst_caps_get_size (caps));
+ g_return_if_fail (IS_WRITABLE (caps));
+
+ storage = &gst_caps_get_features_unchecked (caps, index);
+ old = *storage;
+ *storage = features;
+
+ if (features)
+ gst_caps_features_set_parent_refcount (features, &GST_CAPS_REFCOUNT (caps));
+
+ if (old)
+ gst_caps_features_free (old);
+}
+
+/**
* gst_caps_copy_nth:
* @caps: the #GstCaps to copy
* @nth: the nth structure to copy
@@ -686,6 +893,7 @@ gst_caps_copy_nth (const GstCaps * caps, guint nth)
{
GstCaps *newcaps;
GstStructure *structure;
+ GstCapsFeatures *features;
g_return_val_if_fail (GST_IS_CAPS (caps), NULL);
@@ -694,8 +902,10 @@ gst_caps_copy_nth (const GstCaps * caps, guint nth)
if (G_LIKELY (GST_CAPS_LEN (caps) > nth)) {
structure = gst_caps_get_structure_unchecked (caps, nth);
+ features = gst_caps_get_features_unchecked (caps, nth);
gst_caps_append_structure_unchecked (newcaps,
- gst_structure_copy (structure));
+ gst_structure_copy (structure),
+ gst_caps_features_copy_conditional (features));
}
return newcaps;
@@ -872,12 +1082,17 @@ gboolean
gst_caps_is_fixed (const GstCaps * caps)
{
GstStructure *structure;
+ GstCapsFeatures *features;
g_return_val_if_fail (GST_IS_CAPS (caps), FALSE);
if (GST_CAPS_LEN (caps) != 1)
return FALSE;
+ features = gst_caps_get_features (caps, 0);
+ if (features && gst_caps_features_is_any (features))
+ return FALSE;
+
structure = gst_caps_get_structure_unchecked (caps, 0);
return gst_structure_foreach (structure, gst_caps_is_fixed_foreach, NULL);
@@ -897,14 +1112,22 @@ gboolean
gst_caps_is_equal_fixed (const GstCaps * caps1, const GstCaps * caps2)
{
GstStructure *struct1, *struct2;
+ GstCapsFeatures *features1, *features2;
g_return_val_if_fail (gst_caps_is_fixed (caps1), FALSE);
g_return_val_if_fail (gst_caps_is_fixed (caps2), FALSE);
struct1 = gst_caps_get_structure_unchecked (caps1, 0);
+ features1 = gst_caps_get_features_unchecked (caps1, 0);
+ if (!features1)
+ features1 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
struct2 = gst_caps_get_structure_unchecked (caps2, 0);
+ features2 = gst_caps_get_features_unchecked (caps2, 0);
+ if (!features2)
+ features2 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
- return gst_structure_is_equal (struct1, struct2);
+ return gst_structure_is_equal (struct1, struct2) &&
+ gst_caps_features_is_equal (features1, features2);
}
/**
@@ -933,8 +1156,6 @@ gst_caps_is_always_compatible (const GstCaps * caps1, const GstCaps * caps2)
* @superset: a potentially greater #GstCaps
*
* Checks if all caps represented by @subset are also represented by @superset.
- * <note>This function does not work reliably if optional properties for caps
- * are included on one caps and omitted on the other.</note>
*
* Returns: %TRUE if @subset is a subset of @superset
*/
@@ -942,6 +1163,7 @@ gboolean
gst_caps_is_subset (const GstCaps * subset, const GstCaps * superset)
{
GstStructure *s1, *s2;
+ GstCapsFeatures *f1, *f2;
gboolean ret = TRUE;
gint i, j;
@@ -956,8 +1178,16 @@ gst_caps_is_subset (const GstCaps * subset, const GstCaps * superset)
for (i = GST_CAPS_LEN (subset) - 1; i >= 0; i--) {
for (j = GST_CAPS_LEN (superset) - 1; j >= 0; j--) {
s1 = gst_caps_get_structure_unchecked (subset, i);
+ f1 = gst_caps_get_features_unchecked (subset, i);
+ if (!f1)
+ f1 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
s2 = gst_caps_get_structure_unchecked (superset, j);
- if (gst_structure_is_subset (s1, s2)) {
+ f2 = gst_caps_get_features_unchecked (superset, j);
+ if (!f2)
+ f2 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+ if ((!gst_caps_features_is_any (f1) || gst_caps_features_is_any (f2)) &&
+ gst_caps_features_is_equal (f1, f2)
+ && gst_structure_is_subset (s1, s2)) {
/* If we found a superset, continue with the next
* subset structure */
break;
@@ -1011,13 +1241,57 @@ gst_caps_is_subset_structure (const GstCaps * caps,
}
/**
+ * gst_caps_is_subset_structure_full:
+ * @caps: a #GstCaps
+ * @structure: a potential #GstStructure subset of @caps
+ * @features: (allow-none): a #GstCapsFeatures for @structure
+ *
+ * Checks if @structure is a subset of @caps. See gst_caps_is_subset()
+ * for more information.
+ *
+ * Returns: %TRUE if @structure is a subset of @caps
+ */
+gboolean
+gst_caps_is_subset_structure_full (const GstCaps * caps,
+ const GstStructure * structure, const GstCapsFeatures * features)
+{
+ GstStructure *s;
+ GstCapsFeatures *f;
+ gint i;
+
+ g_return_val_if_fail (caps != NULL, FALSE);
+ g_return_val_if_fail (structure != NULL, FALSE);
+
+ if (CAPS_IS_ANY (caps))
+ return TRUE;
+ if (CAPS_IS_EMPTY (caps))
+ return FALSE;
+
+ if (!features)
+ features = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+
+ for (i = GST_CAPS_LEN (caps) - 1; i >= 0; i--) {
+ s = gst_caps_get_structure_unchecked (caps, i);
+ f = gst_caps_get_features_unchecked (caps, i);
+ if (!f)
+ f = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+ if ((!gst_caps_features_is_any (features) || gst_caps_features_is_any (f))
+ && gst_caps_features_is_equal (features, f)
+ && gst_structure_is_subset (structure, s)) {
+ /* If we found a superset return TRUE */
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+/**
* gst_caps_is_equal:
* @caps1: a #GstCaps
* @caps2: another #GstCaps
*
* Checks if the given caps represent the same set of caps.
- * <note>This function does not work reliably if optional properties for caps
- * are included on one caps and omitted on the other.</note>
*
* Returns: TRUE if both caps are equal.
*/
@@ -1049,6 +1323,8 @@ gboolean
gst_caps_is_strictly_equal (const GstCaps * caps1, const GstCaps * caps2)
{
int i;
+ GstStructure *s1, *s2;
+ GstCapsFeatures *f1, *f2;
g_return_val_if_fail (GST_IS_CAPS (caps1), FALSE);
g_return_val_if_fail (GST_IS_CAPS (caps2), FALSE);
@@ -1060,8 +1336,18 @@ gst_caps_is_strictly_equal (const GstCaps * caps1, const GstCaps * caps2)
return FALSE;
for (i = 0; i < GST_CAPS_LEN (caps1); i++) {
- if (!gst_structure_is_equal (gst_caps_get_structure_unchecked (caps1, i),
- gst_caps_get_structure_unchecked (caps2, i)))
+ s1 = gst_caps_get_structure_unchecked (caps1, i);
+ f1 = gst_caps_get_features_unchecked (caps1, i);
+ if (!f1)
+ f1 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+ s2 = gst_caps_get_structure_unchecked (caps2, i);
+ f2 = gst_caps_get_features_unchecked (caps2, i);
+ if (!f2)
+ f2 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+
+ if (gst_caps_features_is_any (f1) != gst_caps_features_is_any (f2) ||
+ !gst_caps_features_is_equal (f1, f2) ||
+ !gst_structure_is_equal (s1, s2))
return FALSE;
}
@@ -1087,6 +1373,8 @@ gst_caps_can_intersect (const GstCaps * caps1, const GstCaps * caps2)
guint j, k, len1, len2;
GstStructure *struct1;
GstStructure *struct2;
+ GstCapsFeatures *features1;
+ GstCapsFeatures *features2;
g_return_val_if_fail (GST_IS_CAPS (caps1), FALSE);
g_return_val_if_fail (GST_IS_CAPS (caps2), FALSE);
@@ -1128,14 +1416,19 @@ gst_caps_can_intersect (const GstCaps * caps1, const GstCaps * caps2)
/* subset index stays 0 until i reaches superset->structs->len, then it
* counts up from 1 to subset->structs->len - 1 */
k = (i > j) ? (i - j) : 0; /* MAX (0, i - j) */
-
/* now run the diagonal line, end condition is the left or bottom
* border */
while (k < len2) {
struct1 = gst_caps_get_structure_unchecked (caps1, j);
+ features1 = gst_caps_get_features_unchecked (caps1, j);
+ if (!features1)
+ features1 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
struct2 = gst_caps_get_structure_unchecked (caps2, k);
-
- if (gst_structure_can_intersect (struct1, struct2)) {
+ features2 = gst_caps_get_features_unchecked (caps2, k);
+ if (!features2)
+ features2 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+ if (gst_caps_features_is_equal (features1, features2) &&
+ gst_structure_can_intersect (struct1, struct2)) {
return TRUE;
}
/* move down left */
@@ -1145,6 +1438,7 @@ gst_caps_can_intersect (const GstCaps * caps1, const GstCaps * caps2)
j--;
}
}
+
return FALSE;
}
@@ -1153,9 +1447,10 @@ gst_caps_intersect_zig_zag (GstCaps * caps1, GstCaps * caps2)
{
guint64 i; /* index can be up to 2 * G_MAX_UINT */
guint j, k, len1, len2;
-
GstStructure *struct1;
GstStructure *struct2;
+ GstCapsFeatures *features1;
+ GstCapsFeatures *features2;
GstCaps *dest;
GstStructure *istruct;
@@ -1170,11 +1465,11 @@ gst_caps_intersect_zig_zag (GstCaps * caps1, GstCaps * caps2)
/* one of the caps is any, just copy the other caps */
if (G_UNLIKELY (CAPS_IS_ANY (caps1)))
return gst_caps_ref (caps2);
+
if (G_UNLIKELY (CAPS_IS_ANY (caps2)))
return gst_caps_ref (caps1);
dest = gst_caps_new_empty ();
-
/* run zigzag on top line then right line, this preserves the caps order
* much better than a simple loop.
*
@@ -1199,16 +1494,30 @@ gst_caps_intersect_zig_zag (GstCaps * caps1, GstCaps * caps2)
/* caps2 index stays 0 until i reaches GST_CAPS_LEN (caps1), then it counts
* up from 1 to GST_CAPS_LEN (caps2) - 1 */
k = (i > j) ? (i - j) : 0; /* MAX (0, i - j) */
-
/* now run the diagonal line, end condition is the left or bottom
* border */
while (k < len2) {
struct1 = gst_caps_get_structure_unchecked (caps1, j);
+ features1 = gst_caps_get_features_unchecked (caps1, j);
+ if (!features1)
+ features1 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
struct2 = gst_caps_get_structure_unchecked (caps2, k);
-
- istruct = gst_structure_intersect (struct1, struct2);
-
- dest = gst_caps_merge_structure (dest, istruct);
+ features2 = gst_caps_get_features_unchecked (caps2, k);
+ if (!features2)
+ features2 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+ if (gst_caps_features_is_equal (features1, features2)) {
+ istruct = gst_structure_intersect (struct1, struct2);
+ if (istruct) {
+ if (gst_caps_features_is_any (features1))
+ dest =
+ gst_caps_merge_structure_full (dest, istruct,
+ gst_caps_features_copy_conditional (features2));
+ else
+ dest =
+ gst_caps_merge_structure_full (dest, istruct,
+ gst_caps_features_copy_conditional (features1));
+ }
+ }
/* move down left */
k++;
if (G_UNLIKELY (j == 0))
@@ -1237,9 +1546,10 @@ gst_caps_intersect_first (GstCaps * caps1, GstCaps * caps2)
{
guint i;
guint j, len1, len2;
-
GstStructure *struct1;
GstStructure *struct2;
+ GstCapsFeatures *features1;
+ GstCapsFeatures *features2;
GstCaps *dest;
GstStructure *istruct;
@@ -1254,20 +1564,36 @@ gst_caps_intersect_first (GstCaps * caps1, GstCaps * caps2)
/* one of the caps is any, just copy the other caps */
if (G_UNLIKELY (CAPS_IS_ANY (caps1)))
return gst_caps_ref (caps2);
+
if (G_UNLIKELY (CAPS_IS_ANY (caps2)))
return gst_caps_ref (caps1);
dest = gst_caps_new_empty ();
-
len1 = GST_CAPS_LEN (caps1);
len2 = GST_CAPS_LEN (caps2);
for (i = 0; i < len1; i++) {
struct1 = gst_caps_get_structure_unchecked (caps1, i);
+ features1 = gst_caps_get_features_unchecked (caps1, i);
+ if (!features1)
+ features1 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
for (j = 0; j < len2; j++) {
struct2 = gst_caps_get_structure_unchecked (caps2, j);
- istruct = gst_structure_intersect (struct1, struct2);
- if (istruct)
- dest = gst_caps_merge_structure (dest, istruct);
+ features2 = gst_caps_get_features_unchecked (caps2, j);
+ if (!features2)
+ features2 = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+ if (gst_caps_features_is_equal (features1, features2)) {
+ istruct = gst_structure_intersect (struct1, struct2);
+ if (istruct) {
+ if (gst_caps_features_is_any (features1))
+ dest =
+ gst_caps_merge_structure_full (dest, istruct,
+ gst_caps_features_copy_conditional (features2));
+ else
+ dest =
+ gst_caps_merge_structure_full (dest, istruct,
+ gst_caps_features_copy_conditional (features1));
+ }
+ }
}
}
@@ -1320,15 +1646,13 @@ gst_caps_intersect (GstCaps * caps1, GstCaps * caps2)
return gst_caps_intersect_full (caps1, caps2, GST_CAPS_INTERSECT_ZIG_ZAG);
}
-
/* subtract operation */
typedef struct
{
const GstStructure *subtract_from;
GSList *put_into;
-}
-SubtractionEntry;
+} SubtractionEntry;
static gboolean
gst_caps_structure_subtract_field (GQuark field_id, const GValue * value,
@@ -1340,18 +1664,20 @@ gst_caps_structure_subtract_field (GQuark field_id, const GValue * value,
GstStructure *structure;
other = gst_structure_id_get_value (e->subtract_from, field_id);
+
if (!other) {
return FALSE;
}
+
if (!gst_value_subtract (&subtraction, other, value))
return TRUE;
+
if (gst_value_compare (&subtraction, other) == GST_VALUE_EQUAL) {
g_value_unset (&subtraction);
return FALSE;
} else {
structure = gst_structure_copy (e->subtract_from);
- gst_structure_id_set_value (structure, field_id, &subtraction);
- g_value_unset (&subtraction);
+ gst_structure_id_take_value (structure, field_id, &subtraction);
e->put_into = g_slist_prepend (e->put_into, structure);
return TRUE;
}
@@ -1366,9 +1692,9 @@ gst_caps_structure_subtract (GSList ** into, const GstStructure * minuend,
e.subtract_from = minuend;
e.put_into = NULL;
-
ret = gst_structure_foreach ((GstStructure *) subtrahend,
gst_caps_structure_subtract_field, &e);
+
if (ret) {
*into = e.put_into;
} else {
@@ -1379,6 +1705,7 @@ gst_caps_structure_subtract (GSList ** into, const GstStructure * minuend,
}
g_slist_free (e.put_into);
}
+
return ret;
}
@@ -1399,6 +1726,7 @@ gst_caps_subtract (GstCaps * minuend, GstCaps * subtrahend)
guint i, j, sublen;
GstStructure *min;
GstStructure *sub;
+ GstCapsFeatures *min_f, *sub_f;
GstCaps *dest = NULL, *src;
g_return_val_if_fail (minuend != NULL, NULL);
@@ -1407,6 +1735,7 @@ gst_caps_subtract (GstCaps * minuend, GstCaps * subtrahend)
if (CAPS_IS_EMPTY (minuend) || CAPS_IS_ANY (subtrahend)) {
return gst_caps_new_empty ();
}
+
if (CAPS_IS_EMPTY_SIMPLE (subtrahend))
return gst_caps_ref (minuend);
@@ -1415,6 +1744,7 @@ gst_caps_subtract (GstCaps * minuend, GstCaps * subtrahend)
ANY means for specific types, so it's not possible to reduce ANY partially
You can only remove everything or nothing and that is done above.
Note: there's a test that checks this behaviour. */
+
g_return_val_if_fail (!CAPS_IS_ANY (minuend), NULL);
sublen = GST_CAPS_LEN (subtrahend);
g_assert (sublen > 0);
@@ -1424,6 +1754,9 @@ gst_caps_subtract (GstCaps * minuend, GstCaps * subtrahend)
guint srclen;
sub = gst_caps_get_structure_unchecked (subtrahend, i);
+ sub_f = gst_caps_get_features_unchecked (subtrahend, i);
+ if (!sub_f)
+ sub_f = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
if (dest) {
gst_caps_unref (src);
src = dest;
@@ -1432,7 +1765,15 @@ gst_caps_subtract (GstCaps * minuend, GstCaps * subtrahend)
srclen = GST_CAPS_LEN (src);
for (j = 0; j < srclen; j++) {
min = gst_caps_get_structure_unchecked (src, j);
- if (gst_structure_get_name_id (min) == gst_structure_get_name_id (sub)) {
+ min_f = gst_caps_get_features_unchecked (src, j);
+ if (!min_f)
+ min_f = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
+
+ /* Same reason as above for ANY caps */
+ g_return_val_if_fail (!gst_caps_features_is_any (min_f), NULL);
+
+ if (gst_structure_get_name_id (min) == gst_structure_get_name_id (sub) &&
+ gst_caps_features_is_equal (min_f, sub_f)) {
GSList *list;
if (gst_caps_structure_subtract (&list, min, sub)) {
@@ -1440,16 +1781,20 @@ gst_caps_subtract (GstCaps * minuend, GstCaps * subtrahend)
for (walk = list; walk; walk = g_slist_next (walk)) {
gst_caps_append_structure_unchecked (dest,
- (GstStructure *) walk->data);
+ (GstStructure *) walk->data,
+ gst_caps_features_copy_conditional (min_f));
}
g_slist_free (list);
} else {
- gst_caps_append_structure_unchecked (dest, gst_structure_copy (min));
+ gst_caps_append_structure_unchecked (dest, gst_structure_copy (min),
+ gst_caps_features_copy_conditional (min_f));
}
} else {
- gst_caps_append_structure_unchecked (dest, gst_structure_copy (min));
+ gst_caps_append_structure_unchecked (dest, gst_structure_copy (min),
+ gst_caps_features_copy_conditional (min_f));
}
}
+
if (CAPS_IS_EMPTY_SIMPLE (dest)) {
gst_caps_unref (src);
return dest;
@@ -1458,6 +1803,7 @@ gst_caps_subtract (GstCaps * minuend, GstCaps * subtrahend)
gst_caps_unref (src);
dest = gst_caps_simplify (dest);
+
return dest;
}
@@ -1467,8 +1813,8 @@ typedef struct _NormalizeForeach
{
GstCaps *caps;
GstStructure *structure;
-}
-NormalizeForeach;
+ GstCapsFeatures *features;
+} NormalizeForeach;
static gboolean
gst_caps_normalize_foreach (GQuark field_id, const GValue * value, gpointer ptr)
@@ -1479,20 +1825,21 @@ gst_caps_normalize_foreach (GQuark field_id, const GValue * value, gpointer ptr)
if (G_VALUE_TYPE (value) == GST_TYPE_LIST) {
guint len = gst_value_list_get_size (value);
+
for (i = 1; i < len; i++) {
const GValue *v = gst_value_list_get_value (value, i);
GstStructure *structure = gst_structure_copy (nf->structure);
gst_structure_id_set_value (structure, field_id, v);
- gst_caps_append_structure_unchecked (nf->caps, structure);
+ gst_caps_append_structure_unchecked (nf->caps, structure,
+ gst_caps_features_copy_conditional (nf->features));
}
gst_value_init_and_copy (&val, gst_value_list_get_value (value, 0));
- gst_structure_id_set_value (nf->structure, field_id, &val);
- g_value_unset (&val);
-
+ gst_structure_id_take_value (nf->structure, field_id, &val);
return FALSE;
}
+
return TRUE;
}
@@ -1517,12 +1864,11 @@ gst_caps_normalize (GstCaps * caps)
g_return_val_if_fail (GST_IS_CAPS (caps), NULL);
caps = gst_caps_make_writable (caps);
-
nf.caps = caps;
for (i = 0; i < gst_caps_get_size (nf.caps); i++) {
nf.structure = gst_caps_get_structure_unchecked (nf.caps, i);
-
+ nf.features = gst_caps_get_features_unchecked (nf.caps, i);
while (!gst_structure_foreach (nf.structure,
gst_caps_normalize_foreach, &nf));
}
@@ -1534,13 +1880,14 @@ static gint
gst_caps_compare_structures (gconstpointer one, gconstpointer two)
{
gint ret;
- const GstStructure *struct1 = *((const GstStructure **) one);
- const GstStructure *struct2 = *((const GstStructure **) two);
+ const GstStructure *struct1 = ((const GstCapsArrayElement *) one)->structure;
+ const GstStructure *struct2 = ((const GstCapsArrayElement *) two)->structure;
/* FIXME: this orders alphabetically, but ordering the quarks might be faster
So what's the best way? */
ret = strcmp (gst_structure_get_name (struct1),
gst_structure_get_name (struct2));
+
if (ret)
return ret;
@@ -1552,8 +1899,7 @@ typedef struct
GQuark name;
GValue value;
GstStructure *compare;
-}
-UnionField;
+} UnionField;
static gboolean
gst_caps_structure_figure_out_union (GQuark field_id, const GValue * value,
@@ -1567,14 +1913,18 @@ gst_caps_structure_figure_out_union (GQuark field_id, const GValue * value,
g_value_unset (&u->value);
return FALSE;
}
+
if (gst_value_compare (val, value) == GST_VALUE_EQUAL)
return TRUE;
+
if (u->name) {
g_value_unset (&u->value);
return FALSE;
}
+
u->name = field_id;
gst_value_union (&u->value, val, value);
+
return TRUE;
}
@@ -1611,12 +1961,14 @@ gst_caps_structure_simplify (GstStructure ** result,
* but at most one field: field.name */
if (G_IS_VALUE (&field.value)) {
if (gst_structure_n_fields (simplify) == gst_structure_n_fields (compare)) {
- gst_structure_id_set_value (compare, field.name, &field.value);
+ gst_structure_id_take_value (compare, field.name, &field.value);
*result = NULL;
ret = TRUE;
+ } else {
+ g_value_unset (&field.value);
}
- g_value_unset (&field.value);
- } else if (gst_structure_n_fields (simplify) <=
+ } else
+ if (gst_structure_n_fields (simplify) <=
gst_structure_n_fields (compare)) {
/* compare is just more specific, will be optimized away later */
/* FIXME: do this here? */
@@ -1644,7 +1996,7 @@ gst_caps_switch_structures (GstCaps * caps, GstStructure * old,
gst_structure_set_parent_refcount (old, NULL);
gst_structure_free (old);
gst_structure_set_parent_refcount (new, &GST_CAPS_REFCOUNT (caps));
- g_ptr_array_index (GST_CAPS_ARRAY (caps), i) = new;
+ g_array_index (GST_CAPS_ARRAY (caps), GstCapsArrayElement, i).structure = new;
}
/**
@@ -1664,6 +2016,7 @@ GstCaps *
gst_caps_simplify (GstCaps * caps)
{
GstStructure *simplify, *compare, *result = NULL;
+ GstCapsFeatures *simplify_f, *compare_f;
gint i, j, start;
g_return_val_if_fail (GST_IS_CAPS (caps), NULL);
@@ -1675,20 +2028,31 @@ gst_caps_simplify (GstCaps * caps)
caps = gst_caps_make_writable (caps);
- g_ptr_array_sort (GST_CAPS_ARRAY (caps), gst_caps_compare_structures);
+ g_array_sort (GST_CAPS_ARRAY (caps), gst_caps_compare_structures);
for (i = start; i >= 0; i--) {
simplify = gst_caps_get_structure_unchecked (caps, i);
+ simplify_f = gst_caps_get_features_unchecked (caps, i);
+ if (!simplify_f)
+ simplify_f = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
compare = gst_caps_get_structure_unchecked (caps, start);
+ compare_f = gst_caps_get_features_unchecked (caps, start);
+ if (!compare_f)
+ compare_f = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
if (gst_structure_get_name_id (simplify) !=
- gst_structure_get_name_id (compare))
+ gst_structure_get_name_id (compare) ||
+ !gst_caps_features_is_equal (simplify_f, compare_f))
start = i;
for (j = start; j >= 0; j--) {
if (j == i)
continue;
compare = gst_caps_get_structure_unchecked (caps, j);
+ compare_f = gst_caps_get_features_unchecked (caps, j);
+ if (!compare_f)
+ compare_f = GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY;
if (gst_structure_get_name_id (simplify) !=
- gst_structure_get_name_id (compare)) {
+ gst_structure_get_name_id (compare) ||
+ !gst_caps_features_is_equal (simplify_f, compare_f)) {
break;
}
if (gst_caps_structure_simplify (&result, simplify, compare)) {
@@ -1720,6 +2084,7 @@ GstCaps *
gst_caps_fixate (GstCaps * caps)
{
GstStructure *s;
+ GstCapsFeatures *f;
g_return_val_if_fail (GST_IS_CAPS (caps), NULL);
@@ -1729,6 +2094,13 @@ gst_caps_fixate (GstCaps * caps)
s = gst_caps_get_structure (caps, 0);
gst_structure_fixate (s);
+ /* Set features to sysmem if they're still ANY */
+ f = gst_caps_get_features (caps, 0);
+ if (f && gst_caps_features_is_any (f)) {
+ f = gst_caps_features_new_empty ();
+ gst_caps_set_features (caps, 0, f);
+ }
+
return caps;
}
@@ -1775,14 +2147,20 @@ gst_caps_to_string (const GstCaps * caps)
slen = 0;
clen = GST_CAPS_LEN (caps);
for (i = 0; i < clen; i++) {
+ GstCapsFeatures *f;
+
slen +=
- STRUCTURE_ESTIMATED_STRING_LEN (gst_caps_get_structure_unchecked (caps,
- i));
+ STRUCTURE_ESTIMATED_STRING_LEN (gst_caps_get_structure_unchecked
+ (caps, i));
+ f = gst_caps_get_features_unchecked (caps, i);
+ if (f)
+ slen += FEATURES_ESTIMATED_STRING_LEN (f);
}
s = g_string_sized_new (slen);
for (i = 0; i < clen; i++) {
GstStructure *structure;
+ GstCapsFeatures *features;
if (i > 0) {
/* ';' is now added by gst_structure_to_string */
@@ -1790,6 +2168,16 @@ gst_caps_to_string (const GstCaps * caps)
}
structure = gst_caps_get_structure_unchecked (caps, i);
+ features = gst_caps_get_features_unchecked (caps, i);
+
+ g_string_append (s, gst_structure_get_name (structure));
+ if (features && (gst_caps_features_is_any (features)
+ || !gst_caps_features_is_equal (features,
+ GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY))) {
+ g_string_append_c (s, '(');
+ priv_gst_caps_features_append_to_gstring (features, s);
+ g_string_append_c (s, ')');
+ }
priv_gst_structure_append_to_gstring (structure, s);
}
if (s->len && s->str[s->len - 1] == ';') {
@@ -1803,37 +2191,94 @@ static gboolean
gst_caps_from_string_inplace (GstCaps * caps, const gchar * string)
{
GstStructure *structure;
- gchar *s;
+ gchar *s, *copy, *end, *next, save;
if (strcmp ("ANY", string) == 0) {
GST_CAPS_FLAGS (caps) = GST_CAPS_FLAG_ANY;
return TRUE;
}
+
if (strcmp ("EMPTY", string) == 0 || strcmp ("NONE", string) == 0) {
return TRUE;
}
- structure = gst_structure_from_string (string, &s);
- if (structure == NULL) {
- return FALSE;
- }
- gst_caps_append_structure_unchecked (caps, structure);
-
+ copy = s = g_strdup (string);
do {
+ GstCapsFeatures *features = NULL;
while (g_ascii_isspace (*s))
s++;
if (*s == '\0') {
break;
}
- structure = gst_structure_from_string (s, &s);
+
+ if (!priv_gst_structure_parse_name (s, &s, &end, &next)) {
+ g_free (copy);
+ return FALSE;
+ }
+
+ save = *end;
+ *end = '\0';
+ structure = gst_structure_new_empty (s);
+ *end = save;
+
if (structure == NULL) {
+ g_free (copy);
return FALSE;
}
- gst_caps_append_structure_unchecked (caps, structure);
+ s = next;
+
+ if (*s == '\0') {
+ goto append;
+ }
+
+ if (*s == '(') {
+ s++;
+ end = s;
+
+ while (TRUE) {
+ if (*end == '\0') {
+ break;
+ } else if (*end == ')') {
+ break;
+ } else {
+ end++;
+ }
+ }
+
+ save = *end;
+ *end = '\0';
+ features = gst_caps_features_from_string (s);
+ if (!features) {
+ gst_structure_free (structure);
+ g_free (copy);
+ return FALSE;
+ }
+ *end = save;
+ s = end;
+ if (save == ')')
+ s++;
+ }
+
+ if (*s == '\0') {
+ goto append;
+ }
+
+ if (!priv_gst_structure_parse_fields (s, &s, structure)) {
+ gst_structure_free (structure);
+ g_free (copy);
+ return FALSE;
+ }
+
+ append:
+ gst_caps_append_structure_unchecked (caps, structure, features);
+ if (*s == '\0')
+ break;
} while (TRUE);
+ g_free (copy);
+
return TRUE;
}
diff --git a/gst/gstcaps.h b/gst/gstcaps.h
index 923199b..8df2499 100644
--- a/gst/gstcaps.h
+++ b/gst/gstcaps.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_CAPS_H__
@@ -23,6 +23,7 @@
#include <gst/gstconfig.h>
#include <gst/gstminiobject.h>
#include <gst/gststructure.h>
+#include <gst/gstcapsfeatures.h>
#include <gst/glib-compat.h>
G_BEGIN_DECLS
@@ -384,16 +385,27 @@ void gst_caps_append (GstCaps *caps1,
GstCaps *caps2);
void gst_caps_append_structure (GstCaps *caps,
GstStructure *structure);
+void gst_caps_append_structure_full (GstCaps *caps,
+ GstStructure *structure,
+ GstCapsFeatures *features);
void gst_caps_remove_structure (GstCaps *caps, guint idx);
GstCaps * gst_caps_merge (GstCaps *caps1,
GstCaps *caps2) G_GNUC_WARN_UNUSED_RESULT;
GstCaps * gst_caps_merge_structure (GstCaps *caps,
GstStructure *structure) G_GNUC_WARN_UNUSED_RESULT;
+GstCaps * gst_caps_merge_structure_full (GstCaps *caps,
+ GstStructure *structure,
+ GstCapsFeatures *features) G_GNUC_WARN_UNUSED_RESULT;
guint gst_caps_get_size (const GstCaps *caps);
GstStructure * gst_caps_get_structure (const GstCaps *caps,
guint index);
GstStructure * gst_caps_steal_structure (GstCaps *caps,
guint index) G_GNUC_WARN_UNUSED_RESULT;
+void gst_caps_set_features (GstCaps *caps,
+ guint index,
+ GstCapsFeatures * features);
+GstCapsFeatures * gst_caps_get_features (const GstCaps *caps,
+ guint index);
GstCaps * gst_caps_copy_nth (const GstCaps *caps, guint nth) G_GNUC_WARN_UNUSED_RESULT;
GstCaps * gst_caps_truncate (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT;
void gst_caps_set_value (GstCaps *caps,
@@ -415,6 +427,9 @@ gboolean gst_caps_is_subset (const GstCaps *subset,
const GstCaps *superset);
gboolean gst_caps_is_subset_structure (const GstCaps *caps,
const GstStructure *structure);
+gboolean gst_caps_is_subset_structure_full (const GstCaps *caps,
+ const GstStructure *structure,
+ const GstCapsFeatures *features);
gboolean gst_caps_is_equal (const GstCaps *caps1,
const GstCaps *caps2);
gboolean gst_caps_is_equal_fixed (const GstCaps *caps1,
diff --git a/gst/gstcapsfeatures.c b/gst/gstcapsfeatures.c
new file mode 100644
index 0000000..b64240e
--- /dev/null
+++ b/gst/gstcapsfeatures.c
@@ -0,0 +1,851 @@
+/* GStreamer
+ * Copyright (C) 2013 Collabora Ltd.
+ * Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:gstcapsfeatures
+ * @short_description: A set of features in caps
+ * @see_also: #GstCaps
+ *
+ * #GstCapsFeatures can optionally be set on a #GstCaps to add requirements
+ * for additional features for a specific #GstStructure. Caps structures with
+ * the same name but with a non-equal set of caps features are not compatible.
+ * If a pad supports multiple sets of features it has to add multiple equal
+ * structures with different feature sets to the caps.
+ *
+ * Empty #GstCapsFeatures are equivalent with the #GstCapsFeatures that only
+ * contain #GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY. ANY #GstCapsFeatures as
+ * created by gst_caps_features_new_any() are equal to any other #GstCapsFeatures
+ * and can be used to specify that any #GstCapsFeatures would be supported, e.g.
+ * for elements that don't touch buffer memory. #GstCaps with ANY #GstCapsFeatures
+ * are considered non-fixed and during negotiation some #GstCapsFeatures have
+ * to be selected.
+ *
+ * Examples for caps features would be the requirement of a specific #GstMemory
+ * types or the requirement of having a specific #GstMeta on the buffer. Features
+ * are given as a string of the format "memory:GstMemoryTypeName" or
+ * "meta:GstMetaAPIName".
+ *
+ * Since: 1.2
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+#include "gst_private.h"
+#include "gstcapsfeatures.h"
+#include <gst/gst.h>
+
+GST_DEBUG_CATEGORY_STATIC (gst_caps_features_debug);
+#define GST_CAT_DEFAULT gst_caps_features_debug
+
+struct _GstCapsFeatures
+{
+ GType type;
+ gint *parent_refcount;
+ GArray *array;
+ gboolean is_any;
+};
+
+GType _gst_caps_features_type = 0;
+GstCapsFeatures *_gst_caps_features_any = NULL;
+GstCapsFeatures *_gst_caps_features_memory_system_memory = NULL;
+static GQuark _gst_caps_feature_memory_system_memory = 0;
+
+G_DEFINE_BOXED_TYPE (GstCapsFeatures, gst_caps_features,
+ gst_caps_features_copy, gst_caps_features_free);
+
+#define IS_MUTABLE(features) \
+ (!features->parent_refcount || \
+ g_atomic_int_get (features->parent_refcount) == 1)
+
+static void
+gst_caps_features_transform_to_string (const GValue * src_value,
+ GValue * dest_value);
+
+void
+_priv_gst_caps_features_initialize (void)
+{
+ GST_DEBUG_CATEGORY_INIT (gst_caps_features_debug, "caps-features", 0,
+ "GstCapsFeatures debug");
+
+ _gst_caps_features_type = gst_caps_features_get_type ();
+ _gst_caps_feature_memory_system_memory =
+ g_quark_from_static_string (GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY);
+
+ g_value_register_transform_func (_gst_caps_features_type, G_TYPE_STRING,
+ gst_caps_features_transform_to_string);
+
+ _gst_caps_features_any = gst_caps_features_new_any ();
+ _gst_caps_features_memory_system_memory =
+ gst_caps_features_new_id (_gst_caps_feature_memory_system_memory, 0);
+}
+
+gboolean
+gst_is_caps_features (gconstpointer obj)
+{
+ const GstCapsFeatures *features = obj;
+
+ return (obj != NULL && features->type == _gst_caps_features_type);
+}
+
+static gboolean
+gst_caps_feature_name_is_valid (const gchar * feature)
+{
+#ifndef G_DISABLE_CHECKS
+ while (TRUE) {
+ if (g_ascii_isalpha (*feature))
+ feature++;
+ else if (*feature == ':')
+ break;
+ else
+ return FALSE;
+ }
+
+ if (*feature != ':')
+ return FALSE;
+
+ feature++;
+ if (*feature == '\0' || !g_ascii_isalpha (*feature))
+ return FALSE;
+
+ while (TRUE) {
+ if (g_ascii_isalnum (*feature))
+ feature++;
+ else if (*feature == '\0')
+ break;
+ else
+ return FALSE;
+ }
+#endif
+
+ return TRUE;
+}
+
+/**
+ * gst_caps_features_new_empty:
+ *
+ * Creates a new, empty #GstCapsFeatures.
+ *
+ * Free-function: gst_caps_features_free
+ *
+ * Returns: (transfer full): a new, empty #GstCapsFeatures
+ *
+ * Since: 1.2
+ */
+GstCapsFeatures *
+gst_caps_features_new_empty (void)
+{
+ GstCapsFeatures *features;
+
+ features = g_slice_new (GstCapsFeatures);
+ features->type = _gst_caps_features_type;
+ features->parent_refcount = NULL;
+ features->array = g_array_new (FALSE, FALSE, sizeof (GQuark));
+ features->is_any = FALSE;
+
+ GST_TRACE ("created caps features %p", features);
+
+ return features;
+}
+
+/**
+ * gst_caps_features_new_any:
+ *
+ * Creates a new, ANY #GstCapsFeatures. This will be equal
+ * to any other #GstCapsFeatures but caps with these are
+ * unfixed.
+ *
+ * Free-function: gst_caps_features_free
+ *
+ * Returns: (transfer full): a new, ANY #GstCapsFeatures
+ *
+ * Since: 1.2
+ */
+GstCapsFeatures *
+gst_caps_features_new_any (void)
+{
+ GstCapsFeatures *features;
+
+ features = gst_caps_features_new_empty ();
+ features->is_any = TRUE;
+
+ return features;
+}
+
+/**
+ * gst_caps_features_new:
+ * @feature1: name of first feature to set
+ * @...: additional features
+ *
+ * Creates a new #GstCapsFeatures with the given features.
+ * The last argument must be NULL.
+ *
+ * Free-function: gst_caps_features_free
+ *
+ * Returns: (transfer full): a new, empty #GstCapsFeatures
+ *
+ * Since: 1.2
+ */
+GstCapsFeatures *
+gst_caps_features_new (const gchar * feature1, ...)
+{
+ GstCapsFeatures *features;
+ va_list varargs;
+
+ g_return_val_if_fail (feature1 != NULL, NULL);
+
+ va_start (varargs, feature1);
+ features = gst_caps_features_new_valist (feature1, varargs);
+ va_end (varargs);
+
+ return features;
+}
+
+/**
+ * gst_caps_features_new_valist:
+ * @feature1: name of first feature to set
+ * @varargs: variable argument list
+ *
+ * Creates a new #GstCapsFeatures with the given features.
+ *
+ * Free-function: gst_caps_features_free
+ *
+ * Returns: (transfer full): a new, empty #GstCapsFeatures
+ *
+ * Since: 1.2
+ */
+GstCapsFeatures *
+gst_caps_features_new_valist (const gchar * feature1, va_list varargs)
+{
+ GstCapsFeatures *features;
+
+ g_return_val_if_fail (feature1 != NULL, NULL);
+
+ features = gst_caps_features_new_empty ();
+
+ while (feature1) {
+ gst_caps_features_add (features, feature1);
+ feature1 = va_arg (varargs, const gchar *);
+ }
+
+ return features;
+}
+
+/**
+ * gst_caps_features_new_id:
+ * @feature1: name of first feature to set
+ * @...: additional features
+ *
+ * Creates a new #GstCapsFeatures with the given features.
+ * The last argument must be 0.
+ *
+ * Free-function: gst_caps_features_free
+ *
+ * Returns: (transfer full): a new, empty #GstCapsFeatures
+ *
+ * Since: 1.2
+ */
+GstCapsFeatures *
+gst_caps_features_new_id (GQuark feature1, ...)
+{
+ GstCapsFeatures *features;
+ va_list varargs;
+
+ g_return_val_if_fail (feature1 != 0, NULL);
+
+ va_start (varargs, feature1);
+ features = gst_caps_features_new_id_valist (feature1, varargs);
+ va_end (varargs);
+
+ return features;
+}
+
+/**
+ * gst_caps_features_new_id_valist:
+ * @feature1: name of first feature to set
+ * @varargs: variable argument list
+ *
+ * Creates a new #GstCapsFeatures with the given features.
+ *
+ * Free-function: gst_caps_features_free
+ *
+ * Returns: (transfer full): a new, empty #GstCapsFeatures
+ *
+ * Since: 1.2
+ */
+GstCapsFeatures *
+gst_caps_features_new_id_valist (GQuark feature1, va_list varargs)
+{
+ GstCapsFeatures *features;
+
+ g_return_val_if_fail (feature1 != 0, NULL);
+
+ features = gst_caps_features_new_empty ();
+
+ while (feature1) {
+ gst_caps_features_add_id (features, feature1);
+ feature1 = va_arg (varargs, GQuark);
+ }
+
+ return features;
+}
+
+/**
+ * gst_caps_features_set_parent_refcount:
+ * @features: a #GstCapsFeatures
+ * @refcount: (in): a pointer to the parent's refcount
+ *
+ * Sets the parent_refcount field of #GstCapsFeatures. This field is used to
+ * determine whether a caps features is mutable or not. This function should only be
+ * called by code implementing parent objects of #GstCapsFeatures, as described in
+ * the MT Refcounting section of the design documents.
+ *
+ * Returns: %TRUE if the parent refcount could be set.
+ *
+ * Since: 1.2
+ */
+gboolean
+gst_caps_features_set_parent_refcount (GstCapsFeatures * features,
+ gint * refcount)
+{
+ g_return_val_if_fail (features != NULL, FALSE);
+
+ /* if we have a parent_refcount already, we can only clear
+ * if with a NULL refcount */
+ if (features->parent_refcount) {
+ if (refcount != NULL) {
+ g_return_val_if_fail (refcount == NULL, FALSE);
+ return FALSE;
+ }
+ } else {
+ if (refcount == NULL) {
+ g_return_val_if_fail (refcount != NULL, FALSE);
+ return FALSE;
+ }
+ }
+
+ features->parent_refcount = refcount;
+
+ return TRUE;
+}
+
+/**
+ * gst_caps_features_copy:
+ * @features: a #GstCapsFeatures to duplicate
+ *
+ * Duplicates a #GstCapsFeatures and all its values.
+ *
+ * Free-function: gst_caps_features_free
+ *
+ * Returns: (transfer full): a new #GstCapsFeatures.
+ *
+ * Since: 1.2
+ */
+GstCapsFeatures *
+gst_caps_features_copy (const GstCapsFeatures * features)
+{
+ GstCapsFeatures *copy;
+ guint i, n;
+
+ g_return_val_if_fail (features != NULL, NULL);
+
+ copy = gst_caps_features_new_empty ();
+ n = gst_caps_features_get_size (features);
+ for (i = 0; i < n; i++)
+ gst_caps_features_add_id (copy, gst_caps_features_get_nth_id (features, i));
+ copy->is_any = features->is_any;
+
+ return copy;
+}
+
+/**
+ * gst_caps_features_free:
+ * @features: (in) (transfer full): the #GstCapsFeatures to free
+ *
+ * Frees a #GstCapsFeatures and all its values. The caps features must not
+ * have a parent when this function is called.
+ *
+ * Since: 1.2
+ */
+void
+gst_caps_features_free (GstCapsFeatures * features)
+{
+ g_return_if_fail (features != NULL);
+ g_return_if_fail (features->parent_refcount == NULL);
+
+ g_array_free (features->array, TRUE);
+#ifdef USE_POISONING
+ memset (features, 0xff, sizeof (GstCapsFeatures));
+#endif
+ GST_TRACE ("free caps features %p", features);
+
+ g_slice_free (GstCapsFeatures, features);
+}
+
+/**
+ * gst_caps_features_to_string:
+ * @features: a #GstCapsFeatures
+ *
+ * Converts @features to a human-readable string representation.
+ *
+ * For debugging purposes its easier to do something like this:
+ * |[
+ * GST_LOG ("features is %" GST_PTR_FORMAT, features);
+ * ]|
+ * This prints the features in human readble form.
+ *
+ * Free-function: g_free
+ *
+ * Returns: (transfer full): a pointer to string allocated by g_malloc().
+ * g_free() after usage.
+ *
+ * Since: 1.2
+ */
+gchar *
+gst_caps_features_to_string (const GstCapsFeatures * features)
+{
+ GString *s;
+
+ g_return_val_if_fail (features != NULL, NULL);
+
+ s = g_string_sized_new (FEATURES_ESTIMATED_STRING_LEN (features));
+
+ priv_gst_caps_features_append_to_gstring (features, s);
+
+ return g_string_free (s, FALSE);
+}
+
+void
+priv_gst_caps_features_append_to_gstring (const GstCapsFeatures * features,
+ GString * s)
+{
+ guint i, n;
+
+ g_return_if_fail (features != NULL);
+
+ if (features->array->len == 0 && features->is_any) {
+ g_string_append (s, "ANY");
+ return;
+ }
+
+ n = features->array->len;
+ for (i = 0; i < n; i++) {
+ GQuark *quark = &g_array_index (features->array, GQuark, i);
+
+ g_string_append (s, g_quark_to_string (*quark));
+ if (i + 1 < n)
+ g_string_append (s, ", ");
+ }
+}
+
+/**
+ * gst_caps_features_from_string:
+ * @features: a string representation of a #GstCapsFeatures.
+ *
+ * Creates a #GstCapsFeatures from a string representation.
+ *
+ * Free-function: gst_caps_features_free
+ *
+ * Returns: (transfer full): a new #GstCapsFeatures or NULL when the string could
+ * not be parsed. Free with gst_caps_features_free() after use.
+ *
+ * Since: 1.2
+ */
+GstCapsFeatures *
+gst_caps_features_from_string (const gchar * features)
+{
+ GstCapsFeatures *ret;
+ gboolean escape = FALSE;
+ const gchar *features_orig = features;
+ const gchar *feature;
+
+ ret = gst_caps_features_new_empty ();
+
+ if (!features || *features == '\0')
+ return ret;
+
+ if (strcmp (features, "ANY") == 0) {
+ ret->is_any = TRUE;
+ return ret;
+ }
+
+ /* Skip trailing spaces */
+ while (*features == ' ')
+ features++;
+
+ feature = features;
+ while (TRUE) {
+ gchar c = *features;
+
+ if (c == '\\') {
+ escape = TRUE;
+ features++;
+ continue;
+ } else if ((!escape && c == ',') || c == '\0') {
+ guint len = features - feature + 1;
+ gchar *tmp;
+ gchar *p;
+
+ if (len == 1) {
+ g_warning ("Failed deserialize caps features '%s'", features_orig);
+ gst_caps_features_free (ret);
+ return NULL;
+ }
+
+ tmp = g_malloc (len);
+ memcpy (tmp, feature, len - 1);
+ tmp[len - 1] = '\0';
+
+ p = tmp + len - 1;
+ while (*p == ' ') {
+ *p = '\0';
+ p--;
+ }
+
+ if (strstr (tmp, " ") != NULL || *tmp == '\0') {
+ g_free (tmp);
+ g_warning ("Failed deserialize caps features '%s'", features_orig);
+ gst_caps_features_free (ret);
+ return NULL;
+ }
+
+ gst_caps_features_add (ret, tmp);
+ g_free (tmp);
+
+ if (c == '\0')
+ break;
+
+ /* Skip to the next value */
+ features++;
+ while (*features == ' ')
+ features++;
+ feature = features;
+ } else {
+ escape = FALSE;
+ features++;
+ }
+ }
+
+ return ret;
+}
+
+/**
+ * gst_caps_features_get_size:
+ * @features: a #GstCapsFeatures.
+ *
+ * Returns the number of features in @features.
+ *
+ * Returns: The number of features in @features.
+ *
+ * Since: 1.2
+ */
+guint
+gst_caps_features_get_size (const GstCapsFeatures * features)
+{
+ g_return_val_if_fail (features != NULL, 0);
+
+ return features->array->len;
+}
+
+/**
+ * gst_caps_features_get_nth:
+ * @features: a #GstCapsFeatures.
+ * @i: index of the feature
+ *
+ * Returns the @i-th feature of @features.
+ *
+ * Returns: The @i-th feature of @features.
+ *
+ * Since: 1.2
+ */
+const gchar *
+gst_caps_features_get_nth (const GstCapsFeatures * features, guint i)
+{
+ const gchar *feature;
+ GQuark quark;
+
+ g_return_val_if_fail (features != NULL, NULL);
+
+ quark = gst_caps_features_get_nth_id (features, i);
+ if (!quark)
+ return NULL;
+
+ feature = g_quark_to_string (quark);
+ return feature;
+}
+
+/**
+ * gst_caps_features_get_nth_id:
+ * @features: a #GstCapsFeatures.
+ * @i: index of the feature
+ *
+ * Returns the @i-th feature of @features.
+ *
+ * Returns: The @i-th feature of @features.
+ *
+ * Since: 1.2
+ */
+GQuark
+gst_caps_features_get_nth_id (const GstCapsFeatures * features, guint i)
+{
+ GQuark *quark;
+
+ g_return_val_if_fail (features != NULL, 0);
+ g_return_val_if_fail (i < features->array->len, 0);
+
+ quark = &g_array_index (features->array, GQuark, i);
+
+ return *quark;
+}
+
+/**
+ * gst_caps_features_contains:
+ * @features: a #GstCapsFeatures.
+ * @feature: a feature
+ *
+ * Check if @features contains @feature.
+ *
+ * Returns: %TRUE if @features contains @feature.
+ *
+ * Since: 1.2
+ */
+gboolean
+gst_caps_features_contains (const GstCapsFeatures * features,
+ const gchar * feature)
+{
+ g_return_val_if_fail (features != NULL, FALSE);
+ g_return_val_if_fail (feature != NULL, FALSE);
+
+ return gst_caps_features_contains_id (features,
+ g_quark_from_string (feature));
+}
+
+/**
+ * gst_caps_features_contains_id:
+ * @features: a #GstCapsFeatures.
+ * @feature: a feature
+ *
+ * Check if @features contains @feature.
+ *
+ * Returns: %TRUE if @features contains @feature.
+ *
+ * Since: 1.2
+ */
+gboolean
+gst_caps_features_contains_id (const GstCapsFeatures * features, GQuark feature)
+{
+ guint i, n;
+
+ g_return_val_if_fail (features != NULL, FALSE);
+ g_return_val_if_fail (feature != 0, FALSE);
+
+ if (features->is_any)
+ return TRUE;
+
+ n = features->array->len;
+ if (n == 0)
+ return feature == _gst_caps_feature_memory_system_memory;
+
+ for (i = 0; i < n; i++) {
+ if (gst_caps_features_get_nth_id (features, i) == feature)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+/**
+ * gst_caps_features_is_equal:
+ * @features1: a #GstCapsFeatures.
+ * @features2: a #GstCapsFeatures.
+ *
+ * Check if @features1 and @features2 are equal.
+ *
+ * Returns: %TRUE if @features1 and @features2 are equal.
+ *
+ * Since: 1.2
+ */
+gboolean
+gst_caps_features_is_equal (const GstCapsFeatures * features1,
+ const GstCapsFeatures * features2)
+{
+ guint i, n;
+
+ g_return_val_if_fail (features1 != NULL, FALSE);
+ g_return_val_if_fail (features2 != NULL, FALSE);
+
+ if (features1->is_any || features2->is_any)
+ return TRUE;
+
+ /* Check for the sysmem==empty case */
+ if (features1->array->len == 0 && features2->array->len == 0)
+ return TRUE;
+ if (features1->array->len == 0 && features2->array->len == 1
+ && gst_caps_features_contains_id (features2,
+ _gst_caps_feature_memory_system_memory))
+ return TRUE;
+ if (features2->array->len == 0 && features1->array->len == 1
+ && gst_caps_features_contains_id (features1,
+ _gst_caps_feature_memory_system_memory))
+ return TRUE;
+
+ if (features1->array->len != features2->array->len)
+ return FALSE;
+
+ n = features1->array->len;
+ for (i = 0; i < n; i++)
+ if (!gst_caps_features_contains_id (features2,
+ gst_caps_features_get_nth_id (features1, i)))
+ return FALSE;
+
+ return TRUE;
+}
+
+/**
+ * gst_caps_features_is_any:
+ * @features: a #GstCapsFeatures.
+ *
+ * Check if @features is %GST_CAPS_FEATURES_ANY.
+ *
+ * Returns: %TRUE if @features is %GST_CAPS_FEATURES_ANY.
+ *
+ * Since: 1.2
+ */
+gboolean
+gst_caps_features_is_any (const GstCapsFeatures * features)
+{
+ g_return_val_if_fail (features != NULL, FALSE);
+
+ return features->is_any;
+}
+
+/**
+ * gst_caps_features_add:
+ * @features: a #GstCapsFeatures.
+ * @feature: a feature.
+ *
+ * Adds @feature to @features.
+ *
+ * Since: 1.2
+ */
+void
+gst_caps_features_add (GstCapsFeatures * features, const gchar * feature)
+{
+ g_return_if_fail (features != NULL);
+ g_return_if_fail (IS_MUTABLE (features));
+ g_return_if_fail (feature != NULL);
+ g_return_if_fail (!features->is_any);
+
+ gst_caps_features_add_id (features, g_quark_from_string (feature));
+}
+
+/**
+ * gst_caps_features_add_id:
+ * @features: a #GstCapsFeatures.
+ * @feature: a feature.
+ *
+ * Adds @feature to @features.
+ *
+ * Since: 1.2
+ */
+void
+gst_caps_features_add_id (GstCapsFeatures * features, GQuark feature)
+{
+ g_return_if_fail (features != NULL);
+ g_return_if_fail (IS_MUTABLE (features));
+ g_return_if_fail (feature != 0);
+ g_return_if_fail (!features->is_any);
+
+ if (!gst_caps_feature_name_is_valid (g_quark_to_string (feature))) {
+ g_warning ("Invalid caps feature name: %s", g_quark_to_string (feature));
+ return;
+ }
+
+ /* If features is empty it will contain sysmem, however
+ * we want to add it explicitely if it is tried to be
+ * added as first features
+ */
+ if (features->array->len > 0
+ && gst_caps_features_contains_id (features, feature))
+ return;
+
+ g_array_append_val (features->array, feature);
+}
+
+/**
+ * gst_caps_features_remove:
+ * @features: a #GstCapsFeatures.
+ * @feature: a feature.
+ *
+ * Removes @feature from @features.
+ *
+ * Since: 1.2
+ */
+void
+gst_caps_features_remove (GstCapsFeatures * features, const gchar * feature)
+{
+ g_return_if_fail (features != NULL);
+ g_return_if_fail (IS_MUTABLE (features));
+ g_return_if_fail (feature != NULL);
+
+ gst_caps_features_remove_id (features, g_quark_from_string (feature));
+}
+
+/**
+ * gst_caps_features_remove_id:
+ * @features: a #GstCapsFeatures.
+ * @feature: a feature.
+ *
+ * Removes @feature from @features.
+ *
+ * Since: 1.2
+ */
+void
+gst_caps_features_remove_id (GstCapsFeatures * features, GQuark feature)
+{
+ guint i, n;
+
+ g_return_if_fail (features != NULL);
+ g_return_if_fail (IS_MUTABLE (features));
+ g_return_if_fail (feature != 0);
+
+ n = features->array->len;
+ for (i = 0; i < n; i++) {
+ GQuark quark = gst_caps_features_get_nth_id (features, i);
+
+ if (quark == feature) {
+ g_array_remove_index_fast (features->array, i);
+ return;
+ }
+ }
+}
+
+static void
+gst_caps_features_transform_to_string (const GValue * src_value,
+ GValue * dest_value)
+{
+ g_return_if_fail (src_value != NULL);
+ g_return_if_fail (dest_value != NULL);
+
+ dest_value->data[0].v_pointer =
+ gst_caps_features_to_string (src_value->data[0].v_pointer);
+}
diff --git a/gst/gstcapsfeatures.h b/gst/gstcapsfeatures.h
new file mode 100644
index 0000000..62d9e3c
--- /dev/null
+++ b/gst/gstcapsfeatures.h
@@ -0,0 +1,80 @@
+/* GStreamer
+ * Copyright (C) 2013 Collabora Ltd.
+ * Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_CAPS_FEATURES_H__
+#define __GST_CAPS_FEATURES_H__
+
+#include <gst/gstconfig.h>
+#include <gst/glib-compat.h>
+
+G_BEGIN_DECLS
+
+typedef struct _GstCapsFeatures GstCapsFeatures;
+
+#define GST_TYPE_CAPS_FEATURES (gst_caps_features_get_type ())
+#define GST_IS_CAPS_FEATURES(object) (gst_is_caps_features(object))
+#define GST_CAPS_FEATURES_CAST(object) ((GstCapsFeatures *)(object))
+#define GST_CAPS_FEATURES(object) (GST_CAPS_FEATURES_CAST(object))
+
+#define GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY "memory:SystemMemory"
+
+GST_EXPORT GstCapsFeatures *_gst_caps_features_any;
+#define GST_CAPS_FEATURES_ANY (_gst_caps_features_any)
+
+GST_EXPORT GstCapsFeatures *_gst_caps_features_memory_system_memory;
+#define GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY (_gst_caps_features_memory_system_memory)
+
+GType gst_caps_features_get_type (void);
+gboolean gst_is_caps_features (gconstpointer obj);
+
+GstCapsFeatures * gst_caps_features_new_empty (void);
+GstCapsFeatures * gst_caps_features_new_any (void);
+GstCapsFeatures * gst_caps_features_new (const gchar *feature1, ...);
+GstCapsFeatures * gst_caps_features_new_valist (const gchar *feature1, va_list varargs);
+GstCapsFeatures * gst_caps_features_new_id (GQuark feature1, ...);
+GstCapsFeatures * gst_caps_features_new_id_valist (GQuark feature1, va_list varargs);
+
+gboolean gst_caps_features_set_parent_refcount (GstCapsFeatures *features, gint * refcount);
+
+GstCapsFeatures * gst_caps_features_copy (const GstCapsFeatures * features);
+void gst_caps_features_free (GstCapsFeatures * features);
+
+gchar * gst_caps_features_to_string (const GstCapsFeatures * features);
+GstCapsFeatures * gst_caps_features_from_string (const gchar * features);
+
+guint gst_caps_features_get_size (const GstCapsFeatures * features);
+const gchar * gst_caps_features_get_nth (const GstCapsFeatures * features, guint i);
+GQuark gst_caps_features_get_nth_id (const GstCapsFeatures * features, guint i);
+
+gboolean gst_caps_features_contains (const GstCapsFeatures * features, const gchar * feature);
+gboolean gst_caps_features_contains_id (const GstCapsFeatures * features, GQuark feature);
+gboolean gst_caps_features_is_equal (const GstCapsFeatures * features1, const GstCapsFeatures * features2);
+
+gboolean gst_caps_features_is_any (const GstCapsFeatures * features);
+
+void gst_caps_features_add (GstCapsFeatures * features, const gchar * feature);
+void gst_caps_features_add_id ( GstCapsFeatures * features, GQuark feature);
+
+void gst_caps_features_remove (GstCapsFeatures * features, const gchar * feature);
+void gst_caps_features_remove_id (GstCapsFeatures * features, GQuark feature);
+
+G_END_DECLS
+
+#endif /* __GST_CAPS_FEATURES_H__ */
diff --git a/gst/gstchildproxy.c b/gst/gstchildproxy.c
index 67becb7..8ce03c9 100644
--- a/gst/gstchildproxy.c
+++ b/gst/gstchildproxy.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -163,7 +163,7 @@ gst_child_proxy_get_children_count (GstChildProxy * parent)
/**
* gst_child_proxy_lookup:
- * @childproxy: child proxy object to lookup the property in
+ * @object: child proxy object to lookup the property in
* @name: name of the property to look up
* @target: (out) (allow-none) (transfer full): pointer to a #GObject that
* takes the real object to set property on
@@ -179,57 +179,57 @@ gst_child_proxy_get_children_count (GstChildProxy * parent)
* usage. For plain GObjects @target is the same as @object.
*/
gboolean
-gst_child_proxy_lookup (GstChildProxy * childproxy, const gchar * name,
+gst_child_proxy_lookup (GstChildProxy * object, const gchar * name,
GObject ** target, GParamSpec ** pspec)
{
- GObject *object;
+ GObject *obj;
gboolean res = FALSE;
gchar **names, **current;
- g_return_val_if_fail (GST_IS_CHILD_PROXY (childproxy), FALSE);
+ g_return_val_if_fail (GST_IS_CHILD_PROXY (object), FALSE);
g_return_val_if_fail (name != NULL, FALSE);
- object = g_object_ref (childproxy);
+ obj = g_object_ref (object);
current = names = g_strsplit (name, "::", -1);
/* find the owner of the property */
while (current[1]) {
GObject *next;
- if (!GST_IS_CHILD_PROXY (object)) {
+ if (!GST_IS_CHILD_PROXY (obj)) {
GST_INFO
("object %s is not a parent, so you cannot request a child by name %s",
- (GST_IS_OBJECT (object) ? GST_OBJECT_NAME (object) : ""), current[0]);
+ (GST_IS_OBJECT (obj) ? GST_OBJECT_NAME (obj) : ""), current[0]);
break;
}
- next = gst_child_proxy_get_child_by_name (GST_CHILD_PROXY (object),
+ next = gst_child_proxy_get_child_by_name (GST_CHILD_PROXY (obj),
current[0]);
if (!next) {
GST_INFO ("no such object %s", current[0]);
break;
}
- g_object_unref (object);
- object = next;
+ g_object_unref (obj);
+ obj = next;
current++;
}
/* look for psec */
if (current[1] == NULL) {
GParamSpec *spec =
- g_object_class_find_property (G_OBJECT_GET_CLASS (object), current[0]);
+ g_object_class_find_property (G_OBJECT_GET_CLASS (obj), current[0]);
if (spec == NULL) {
GST_INFO ("no param spec named %s", current[0]);
} else {
if (pspec)
*pspec = spec;
if (target) {
- g_object_ref (object);
- *target = object;
+ g_object_ref (obj);
+ *target = obj;
}
res = TRUE;
}
}
- g_object_unref (object);
+ g_object_unref (obj);
g_strfreev (names);
return res;
}
diff --git a/gst/gstchildproxy.h b/gst/gstchildproxy.h
index 1614d4b..065ba75 100644
--- a/gst/gstchildproxy.h
+++ b/gst/gstchildproxy.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_CHILD_PROXY_H__
diff --git a/gst/gstclock.c b/gst/gstclock.c
index 5e91b58..707f88b 100644
--- a/gst/gstclock.c
+++ b/gst/gstclock.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstclock.h b/gst/gstclock.h
index 5d42ce6..2fbe90c 100644
--- a/gst/gstclock.h
+++ b/gst/gstclock.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_CLOCK_H__
diff --git a/gst/gstcompat.h b/gst/gstcompat.h
index cace2e1..3f4a682 100644
--- a/gst/gstcompat.h
+++ b/gst/gstcompat.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstcompat
@@ -34,28 +34,11 @@
G_BEGIN_DECLS
-/* added to ease the transition to 0.11 */
-#define gst_element_class_set_details_simple gst_element_class_set_metadata
-
-#define gst_element_factory_get_longname(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_LONGNAME)
-#define gst_element_factory_get_klass(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_KLASS)
-#define gst_element_factory_get_description(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_DESCRIPTION)
-#define gst_element_factory_get_author(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_AUTHOR)
-#define gst_element_factory_get_documentation_uri(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_DOC_URI)
-#define gst_element_factory_get_icon_name(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_ICON_NAME)
-
-#define gst_pad_get_caps_reffed(p) gst_pad_get_caps(p)
-#define gst_pad_peer_get_caps_reffed(p) gst_pad_peer_get_caps(p)
-
#define gst_buffer_new_and_alloc(s) gst_buffer_new_allocate(NULL, s, NULL)
#define GST_BUFFER_TIMESTAMP GST_BUFFER_PTS
#define GST_BUFFER_TIMESTAMP_IS_VALID GST_BUFFER_PTS_IS_VALID
-#define gst_adapter_prev_timestamp gst_adapter_prev_pts
-
-#define gst_tag_list_free(taglist) gst_tag_list_unref(taglist)
-
static inline gboolean
gst_pad_set_caps (GstPad * pad, GstCaps * caps)
{
@@ -78,6 +61,23 @@ gst_pad_set_caps (GstPad * pad, GstCaps * caps)
#ifndef GST_DISABLE_DEPRECATED
+/* added to ease the transition to 0.11 */
+#define gst_element_class_set_details_simple gst_element_class_set_metadata
+
+#define gst_element_factory_get_longname(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_LONGNAME)
+#define gst_element_factory_get_klass(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_KLASS)
+#define gst_element_factory_get_description(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_DESCRIPTION)
+#define gst_element_factory_get_author(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_AUTHOR)
+#define gst_element_factory_get_documentation_uri(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_DOC_URI)
+#define gst_element_factory_get_icon_name(f) gst_element_factory_get_metadata(f, GST_ELEMENT_METADATA_ICON_NAME)
+
+#define gst_pad_get_caps_reffed(p) gst_pad_get_caps(p)
+#define gst_pad_peer_get_caps_reffed(p) gst_pad_peer_get_caps(p)
+
+#define gst_adapter_prev_timestamp gst_adapter_prev_pts
+
+#define gst_tag_list_free(taglist) gst_tag_list_unref(taglist)
+
#define GST_MESSAGE_DURATION GST_MESSAGE_DURATION_CHANGED
#define gst_message_new_duration(src,fmt,dur) \
gst_message_new_duration_changed(src)
diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in
index 33aa728..e6ea08d 100644
--- a/gst/gstconfig.h.in
+++ b/gst/gstconfig.h.in
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -114,55 +114,6 @@
/* Configures the use of external plugins */
@GST_DISABLE_PLUGIN_DEFINE@
-/* printf extension format */
-/**
- * GST_PTR_FORMAT:
- *
- * printf format type used to debug GStreamer types.
- * This can only be used on types whose size is >= sizeof(gpointer).
- */
-@GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-/**
- * GST_SEGMENT_FORMAT:
- *
- * printf format type used to debug GStreamer segments.
- * This can only be used on pointers to GstSegment structures.
- */
-@GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
-
-/* whether or not GST_PTR_FORMAT or GST_SEGMENT_FORMAT are using
- * the printf extension mechanism. This is for internal use in our
- * header files so we know whether we can use G_GNUC_PRINTF or not */
-@GST_USING_PRINTF_EXTENSION_DEFINE@
-
-/* GST_DISABLE_PRINTF_EXTENSION:
- *
- * Define this to debug your debug log messages and make gcc spew warnings
- * if printf format string and arguments don't match up (this is usually
- * not the case when libc and gcc are used because printf format warnings
- * have to be disabled when the printf extension mechanism is in use).
- *
- * Note that using this option disables 'pretty logging' of GStreamer objects
- * like caps, tags, structures, events, pads etc., so that only their address
- * will be printed in the log.
- *
- * This define only disables use of the special registered printf format
- * extensions in the code compiled with it defined. It does not stop
- * GStreamer from registering these extensions in the first place if it
- * was compiled against a libc that supports this.
- *
- * (not official API)
- */
-/* If GLib is not using the system printf, we can't use the registered
- * extensions because the GLib-internal printf won't know how to parse them */
-#if defined(GST_DISABLE_PRINTF_EXTENSION) || !defined(GLIB_USING_SYSTEM_PRINTF)
- #undef GST_PTR_FORMAT
- #define GST_PTR_FORMAT "p"
- #undef GST_SEGMENT_FORMAT
- #define GST_SEGMENT_FORMAT "p"
- #undef GST_USING_PRINTF_EXTENSION
-#endif
-
/* whether or not the CPU supports unaligned access */
@GST_HAVE_UNALIGNED_ACCESS_DEFINE@
diff --git a/gst/gstcontext.c b/gst/gstcontext.c
new file mode 100644
index 0000000..92afb75
--- /dev/null
+++ b/gst/gstcontext.c
@@ -0,0 +1,204 @@
+/* GStreamer
+ * Copyright (C) 2013 Collabora Ltd.
+ * Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ *
+ * gstcontext.h: Header for GstContext subsystem
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:gstcontext
+ * @short_description: Lightweight objects to represent element contexts
+ * @see_also: #GstMiniObject, #GstElement
+ *
+ * #GstContext is a container object used to store contexts like a device
+ * context, a display server connection and similar concepts that should
+ * be shared between multiple elements.
+ *
+ * Applications can set a context on a complete pipeline by using
+ * gst_element_set_context(), which will then be propagated to all
+ * child elements. Elements can handle these in GstElement::set_context()
+ * and merge them with the context information they already have.
+ *
+ * When an element needs a context it will do the following actions in this
+ * order until one step succeeds:
+ * 1) Check if the element already has a context
+ * 2) Query downstream with GST_QUERY_CONTEXT for the context
+ * 3) Post a GST_MESSAGE_NEED_CONTEXT message on the bus with the required
+ * context types and afterwards check if a usable context was set now
+ * 4) Create a context by itself and post a GST_MESSAGE_HAVE_CONTEXT message
+ * and send a GST_EVENT_CONTEXT event downstream, containing the complete
+ * context information at this time.
+ *
+ * Applications should catch the GST_MESSAGE_HAVE_CONTEXT messages and remember
+ * any content from it unless it has a custom version of a specific context. If
+ * later an element is posting a GST_MESSAGE_NEED_CONTEXT message for a specific
+ * context that was created by an element before, the application should pass it
+ * to the element or the complete pipeline.
+ *
+ * Since: 1.2
+ */
+
+#include "gst_private.h"
+#include <string.h>
+#include "gstcontext.h"
+#include "gstquark.h"
+
+struct _GstContext
+{
+ GstMiniObject mini_object;
+
+ GstStructure *structure;
+};
+
+#define GST_CONTEXT_STRUCTURE(c) (((GstContext *)(c))->structure)
+
+static GType _gst_context_type = 0;
+GST_DEFINE_MINI_OBJECT_TYPE (GstContext, gst_context);
+
+void
+_priv_gst_context_initialize (void)
+{
+ GST_CAT_INFO (GST_CAT_GST_INIT, "init contexts");
+
+ /* the GstMiniObject types need to be class_ref'd once before it can be
+ * done from multiple threads;
+ * see http://bugzilla.gnome.org/show_bug.cgi?id=304551 */
+ gst_context_get_type ();
+
+ _gst_context_type = gst_context_get_type ();
+}
+
+static void
+_gst_context_free (GstContext * context)
+{
+ GstStructure *structure;
+
+ g_return_if_fail (context != NULL);
+
+ GST_CAT_LOG (GST_CAT_CONTEXT, "finalize context %p: %" GST_PTR_FORMAT,
+ context, GST_CONTEXT_STRUCTURE (context));
+
+ structure = GST_CONTEXT_STRUCTURE (context);
+ if (structure) {
+ gst_structure_set_parent_refcount (structure, NULL);
+ gst_structure_free (structure);
+ }
+
+ g_slice_free1 (sizeof (GstContext), context);
+}
+
+static void gst_context_init (GstContext * context);
+
+static GstContext *
+_gst_context_copy (GstContext * context)
+{
+ GstContext *copy;
+ GstStructure *structure;
+
+ GST_CAT_LOG (GST_CAT_CONTEXT, "copy context %p: %" GST_PTR_FORMAT, context,
+ GST_CONTEXT_STRUCTURE (context));
+
+ copy = g_slice_new0 (GstContext);
+
+ gst_context_init (copy);
+
+ structure = GST_CONTEXT_STRUCTURE (context);
+ GST_CONTEXT_STRUCTURE (copy) = gst_structure_copy (structure);
+ gst_structure_set_parent_refcount (GST_CONTEXT_STRUCTURE (copy),
+ &copy->mini_object.refcount);
+
+ return GST_CONTEXT_CAST (copy);
+}
+
+static void
+gst_context_init (GstContext * context)
+{
+ gst_mini_object_init (GST_MINI_OBJECT_CAST (context), 0, _gst_context_type,
+ (GstMiniObjectCopyFunction) _gst_context_copy, NULL,
+ (GstMiniObjectFreeFunction) _gst_context_free);
+}
+
+/**
+ * gst_context_new:
+ *
+ * Create a new context.
+ *
+ * Returns: (transfer full): The new context.
+ *
+ * Since: 1.2
+ */
+GstContext *
+gst_context_new (void)
+{
+ GstContext *context;
+ GstStructure *structure;
+
+ context = g_slice_new0 (GstContext);
+
+ GST_CAT_LOG (GST_CAT_CONTEXT, "creating new context %p", context);
+
+ structure = gst_structure_new_id_empty (GST_QUARK (CONTEXT));
+ gst_structure_set_parent_refcount (structure, &context->mini_object.refcount);
+ gst_context_init (context);
+
+ GST_CONTEXT_STRUCTURE (context) = structure;
+
+ return context;
+}
+
+/**
+ * gst_context_get_structure:
+ * @context: The #GstContext.
+ *
+ * Access the structure of the context.
+ *
+ * Returns: (transfer none): The structure of the context. The structure is
+ * still owned by the context, which means that you should not modify it,
+ * free it and that the pointer becomes invalid when you free the context.
+ *
+ * Since: 1.2
+ */
+const GstStructure *
+gst_context_get_structure (GstContext * context)
+{
+ g_return_val_if_fail (GST_IS_CONTEXT (context), NULL);
+
+ return GST_CONTEXT_STRUCTURE (context);
+}
+
+/**
+ * gst_context_writable_structure:
+ * @context: The #GstContext.
+ *
+ * Get a writable version of the structure.
+ *
+ * Returns: The structure of the context. The structure is still
+ * owned by the event, which means that you should not free it and
+ * that the pointer becomes invalid when you free the event.
+ * This function checks if @context is writable.
+ *
+ * Since: 1.2
+ */
+GstStructure *
+gst_context_writable_structure (GstContext * context)
+{
+ g_return_val_if_fail (GST_IS_CONTEXT (context), NULL);
+ g_return_val_if_fail (gst_context_is_writable (context), NULL);
+
+ return GST_CONTEXT_STRUCTURE (context);
+}
diff --git a/gst/gstcontext.h b/gst/gstcontext.h
new file mode 100644
index 0000000..7f4a565
--- /dev/null
+++ b/gst/gstcontext.h
@@ -0,0 +1,153 @@
+/* GStreamer
+ * Copyright (C) 2013 Collabora Ltd.
+ * Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ *
+ * gstcontext.h: Header for GstContext subsystem
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_CONTEXT_H__
+#define __GST_CONTEXT_H__
+
+G_BEGIN_DECLS
+
+typedef struct _GstContext GstContext;
+
+#include <gst/gstminiobject.h>
+#include <gst/gststructure.h>
+
+#define GST_TYPE_CONTEXT (gst_context_get_type())
+#define GST_IS_CONTEXT(obj) (GST_IS_MINI_OBJECT_TYPE (obj, GST_TYPE_CONTEXT))
+#define GST_CONTEXT_CAST(obj) ((GstContext*)(obj))
+#define GST_CONTEXT(obj) (GST_CONTEXT_CAST(obj))
+
+
+
+GType gst_context_get_type (void);
+
+
+/* refcounting */
+/**
+ * gst_context_ref:
+ * @context: the context to ref
+ *
+ * Convenience macro to increase the reference count of the context.
+ *
+ * Returns: @context (for convenience when doing assignments)
+ */
+#ifdef _FOOL_GTK_DOC_
+G_INLINE_FUNC GstContext * gst_context_ref (GstContext * context);
+#endif
+
+static inline GstContext *
+gst_context_ref (GstContext * context)
+{
+ return (GstContext *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (context));
+}
+
+/**
+ * gst_context_unref:
+ * @context: the context to unref
+ *
+ * Convenience macro to decrease the reference count of the context, possibly
+ * freeing it.
+ */
+#ifdef _FOOL_GTK_DOC_
+G_INLINE_FUNC void gst_context_unref (GstContext * context);
+#endif
+
+static inline void
+gst_context_unref (GstContext * context)
+{
+ gst_mini_object_unref (GST_MINI_OBJECT_CAST (context));
+}
+
+/* copy context */
+/**
+ * gst_context_copy:
+ * @context: the context to copy
+ *
+ * Creates a copy of the context. Returns a copy of the context.
+ *
+ * Returns: (transfer full): a new copy of @context.
+ *
+ * MT safe
+ */
+#ifdef _FOOL_GTK_DOC_
+G_INLINE_FUNC GstContext * gst_context_copy (const GstContext * context);
+#endif
+
+static inline GstContext *
+gst_context_copy (const GstContext * context)
+{
+ return GST_CONTEXT_CAST (gst_mini_object_copy (GST_MINI_OBJECT_CONST_CAST (context)));
+}
+
+/**
+ * gst_context_is_writable:
+ * @context: a #GstContext
+ *
+ * Tests if you can safely write into a context's structure or validly
+ * modify the seqnum and timestamp fields.
+ */
+#define gst_context_is_writable(context) gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (context))
+/**
+ * gst_context_make_writable:
+ * @context: (transfer full): the context to make writable
+ *
+ * Checks if a context is writable. If not, a writable copy is made and
+ * returned.
+ *
+ * Returns: (transfer full): a context (possibly a duplicate) that is writable.
+ *
+ * MT safe
+ */
+#define gst_context_make_writable(context) GST_CONTEXT_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (context)))
+/**
+ * gst_context_replace:
+ * @old_context: (inout) (transfer full): pointer to a pointer to a #GstContext
+ * to be replaced.
+ * @new_context: (allow-none) (transfer none): pointer to a #GstContext that will
+ * replace the context pointed to by @old_context.
+ *
+ * Modifies a pointer to a #GstContext to point to a different #GstContext. The
+ * modification is done atomically (so this is useful for ensuring thread safety
+ * in some cases), and the reference counts are updated appropriately (the old
+ * context is unreffed, the new one is reffed).
+ *
+ * Either @new_context or the #GstContext pointed to by @old_context may be NULL.
+ *
+ * Returns: TRUE if @new_context was different from @old_context
+ */
+#ifdef _FOOL_GTK_DOC_
+G_INLINE_FUNC gboolean gst_context_replace (GstContext **old_context, GstContext *new_context);
+#endif
+
+static inline gboolean
+gst_context_replace (GstContext **old_context, GstContext *new_context)
+{
+ return gst_mini_object_replace ((GstMiniObject **) old_context, (GstMiniObject *) new_context);
+}
+
+GstContext * gst_context_new (void) G_GNUC_MALLOC;
+
+const GstStructure * gst_context_get_structure (GstContext *context);
+GstStructure * gst_context_writable_structure (GstContext *context);
+
+G_END_DECLS
+
+#endif /* __GST_CONTEXT_H__ */
diff --git a/gst/gstcontrolbinding.c b/gst/gstcontrolbinding.c
index 2f4d85e..458151a 100644
--- a/gst/gstcontrolbinding.c
+++ b/gst/gstcontrolbinding.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstcontrolbinding
@@ -35,7 +35,7 @@
* - the weak-ref on object is not nice, as is the same as gst_object_parent()
* once the object is added to the parent
*
- * - another option would be do defer what I am doing in _constructor to when
+ * - another option would be to defer what is done in _constructor to when
* the parent is set (need to listen to the signal then)
* then basically I could
* a) remove the obj arg and wait the binding to be added or
@@ -135,6 +135,11 @@ gst_control_binding_constructor (GType type, guint n_construct_params,
G_PARAM_CONSTRUCT_ONLY)) ==
(G_PARAM_WRITABLE | GST_PARAM_CONTROLLABLE)) {
binding->pspec = pspec;
+ } else {
+ GST_WARNING_OBJECT (binding->object,
+ "property '%s' on class '%s' needs to "
+ "be writeable, controlable and not construct_only", binding->name,
+ G_OBJECT_TYPE_NAME (binding->object));
}
} else {
GST_WARNING_OBJECT (binding->object, "class '%s' has no property '%s'",
diff --git a/gst/gstcontrolbinding.h b/gst/gstcontrolbinding.h
index fdb90dc..170fce3 100644
--- a/gst/gstcontrolbinding.h
+++ b/gst/gstcontrolbinding.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_CONTROL_BINDING_H__
diff --git a/gst/gstcontrolsource.c b/gst/gstcontrolsource.c
index 68132bf..c7b134d 100644
--- a/gst/gstcontrolsource.c
+++ b/gst/gstcontrolsource.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstcontrolsource.h b/gst/gstcontrolsource.h
index e61c59a..b0cd92a 100644
--- a/gst/gstcontrolsource.h
+++ b/gst/gstcontrolsource.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_CONTROL_SOURCE_H__
diff --git a/gst/gstdatetime.c b/gst/gstdatetime.c
index 6a8f659..6d6c642 100644
--- a/gst/gstdatetime.c
+++ b/gst/gstdatetime.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/gst/gstdatetime.h b/gst/gstdatetime.h
index 500b9cc..08139d7 100644
--- a/gst/gstdatetime.h
+++ b/gst/gstdatetime.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_DATE_TIME_H__
diff --git a/gst/gstdebugutils.c b/gst/gstdebugutils.c
index a39e279..23c8f9b 100644
--- a/gst/gstdebugutils.c
+++ b/gst/gstdebugutils.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/* TODO:
* edge [ constraint=false ];
diff --git a/gst/gstdebugutils.h b/gst/gstdebugutils.h
index 39decd8..ee0d193 100644
--- a/gst/gstdebugutils.h
+++ b/gst/gstdebugutils.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GSTDEBUGUTILS_H__
diff --git a/gst/gstelement.c b/gst/gstelement.c
index 02d6ebd..587de1b 100644
--- a/gst/gstelement.c
+++ b/gst/gstelement.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -97,6 +97,10 @@
#include "gst-i18n-lib.h"
#include "glib-compat-private.h"
+#ifndef GST_DISABLE_GST_DEBUG
+#include "printf/printf.h"
+#endif
+
/* Element signals and args */
enum
{
@@ -132,7 +136,8 @@ static gboolean gst_element_set_clock_func (GstElement * element,
static void gst_element_set_bus_func (GstElement * element, GstBus * bus);
static gboolean gst_element_post_message_default (GstElement * element,
GstMessage * message);
-
+static void gst_element_set_context_func (GstElement * element,
+ GstContext * context);
static gboolean gst_element_default_send_event (GstElement * element,
GstEvent * event);
@@ -239,6 +244,7 @@ gst_element_class_init (GstElementClass * klass)
klass->send_event = GST_DEBUG_FUNCPTR (gst_element_default_send_event);
klass->numpadtemplates = 0;
klass->post_message = GST_DEBUG_FUNCPTR (gst_element_post_message_default);
+ klass->set_context = GST_DEBUG_FUNCPTR (gst_element_set_context_func);
klass->elementfactory = NULL;
}
@@ -1121,8 +1127,7 @@ gst_element_iterate_pad_list (GstElement * element, GList ** padlist)
* The order of pads returned by the iterator will be the order in which
* the pads were added to the element.
*
- * Returns: (transfer full): the #GstIterator of #GstPad. Unref each pad
- * after use.
+ * Returns: (transfer full): the #GstIterator of #GstPad.
*
* MT safe.
*/
@@ -1143,8 +1148,7 @@ gst_element_iterate_pads (GstElement * element)
* The order of pads returned by the iterator will be the order in which
* the pads were added to the element.
*
- * Returns: (transfer full): the #GstIterator of #GstPad. Unref each pad
- * after use.
+ * Returns: (transfer full): the #GstIterator of #GstPad.
*
* MT safe.
*/
@@ -1165,8 +1169,7 @@ gst_element_iterate_src_pads (GstElement * element)
* The order of pads returned by the iterator will be the order in which
* the pads were added to the element.
*
- * Returns: (transfer full): the #GstIterator of #GstPad. Unref each pad
- * after use.
+ * Returns: (transfer full): the #GstIterator of #GstPad.
*
* MT safe.
*/
@@ -1650,20 +1653,19 @@ gst_element_default_query (GstElement * element, GstQuery * query)
gboolean
gst_element_query (GstElement * element, GstQuery * query)
{
- GstElementClass *oclass;
- gboolean result = FALSE;
+ GstElementClass *klass;
g_return_val_if_fail (GST_IS_ELEMENT (element), FALSE);
g_return_val_if_fail (query != NULL, FALSE);
- oclass = GST_ELEMENT_GET_CLASS (element);
-
- if (oclass->query) {
+ klass = GST_ELEMENT_GET_CLASS (element);
+ if (klass->query) {
GST_CAT_DEBUG (GST_CAT_ELEMENT_PADS, "send query on element %s",
GST_ELEMENT_NAME (element));
- result = oclass->query (element, query);
+ return klass->query (element, query);
}
- return result;
+
+ return FALSE;
}
static gboolean
@@ -1722,6 +1724,7 @@ gst_element_post_message (GstElement * element, GstMessage * message)
GstElementClass *klass;
g_return_val_if_fail (GST_IS_ELEMENT (element), FALSE);
+ g_return_val_if_fail (message != NULL, FALSE);
klass = GST_ELEMENT_GET_CLASS (element);
if (klass->post_message)
@@ -1746,6 +1749,7 @@ _gst_element_error_printf (const gchar * format, ...)
{
va_list args;
gchar *buffer;
+ int len;
if (format == NULL)
return NULL;
@@ -1753,8 +1757,14 @@ _gst_element_error_printf (const gchar * format, ...)
return NULL;
va_start (args, format);
- buffer = g_strdup_vprintf (format, args);
+
+ len = __gst_vasprintf (&buffer, format, args);
+
va_end (args);
+
+ if (len < 0)
+ buffer = NULL;
+
return buffer;
}
@@ -2428,7 +2438,8 @@ only_async_start:
* element will perform the remainder of the state change asynchronously in
* another thread.
* An application can use gst_element_get_state() to wait for the completion
- * of the state change or it can wait for a state change message on the bus.
+ * of the state change or it can wait for a %GST_MESSAGE_ASYNC_DONE or
+ * %GST_MESSAGE_STATE_CHANGED on the bus.
*
* State changes to %GST_STATE_READY or %GST_STATE_NULL never return
* #GST_STATE_CHANGE_ASYNC.
@@ -2904,6 +2915,7 @@ gst_element_dispose (GObject * object)
bus_p = &element->bus;
gst_object_replace ((GstObject **) clock_p, NULL);
gst_object_replace ((GstObject **) bus_p, NULL);
+ gst_context_replace (&element->context, NULL);
GST_OBJECT_UNLOCK (element);
GST_CAT_INFO_OBJECT (GST_CAT_REFCOUNTING, element, "parent class dispose");
@@ -3013,3 +3025,62 @@ gst_element_get_bus (GstElement * element)
return result;
}
+
+static void
+gst_element_set_context_func (GstElement * element, GstContext * context)
+{
+ GST_OBJECT_LOCK (element);
+ gst_context_replace (&element->context, context);
+ GST_OBJECT_UNLOCK (element);
+}
+
+/**
+ * gst_element_set_context:
+ * @element: a #GstElement to set the context of.
+ * @context: (transfer none): the #GstContext to set.
+ *
+ * Sets the context of the element. Increases the refcount of the context.
+ *
+ * MT safe.
+ */
+void
+gst_element_set_context (GstElement * element, GstContext * context)
+{
+ GstElementClass *oclass;
+
+ g_return_if_fail (GST_IS_ELEMENT (element));
+
+ oclass = GST_ELEMENT_GET_CLASS (element);
+
+ GST_CAT_DEBUG_OBJECT (GST_CAT_CONTEXT, element,
+ "set context %p %" GST_PTR_FORMAT, context,
+ gst_context_get_structure (context));
+
+ if (oclass->set_context)
+ oclass->set_context (element, context);
+}
+
+/**
+ * gst_element_get_context:
+ * @element: a #GstElement to get the context from.
+ *
+ * Gets the current context of the element.
+ *
+ * MT safe.
+ *
+ * Returns: (transfer full): The current context of the element
+ */
+GstContext *
+gst_element_get_context (GstElement * element)
+{
+ GstContext *context = NULL;
+
+ g_return_val_if_fail (GST_IS_ELEMENT (element), NULL);
+
+ GST_OBJECT_LOCK (element);
+ if (element->context)
+ context = gst_context_ref (element->context);
+ GST_OBJECT_UNLOCK (element);
+
+ return context;
+}
diff --git a/gst/gstelement.h b/gst/gstelement.h
index df71720..15d4c75 100644
--- a/gst/gstelement.h
+++ b/gst/gstelement.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -568,8 +568,10 @@ struct _GstElement
GList *sinkpads;
guint32 pads_cookie;
+ GstContext *context;
+
/*< private >*/
- gpointer _gst_reserved[GST_PADDING];
+ gpointer _gst_reserved[GST_PADDING-1];
};
/**
@@ -593,6 +595,7 @@ struct _GstElement
* @state_changed: called immediately after a new state was set.
* @post_message: called when a message is posted on the element. Chain up to
* the parent class' handler to have it posted on the bus.
+ * @set_context: set a #GstContext on the element
*
* GStreamer element class. Override the vmethods to implement the element
* functionality.
@@ -649,8 +652,10 @@ struct _GstElementClass
gboolean (*post_message) (GstElement *element, GstMessage *message);
+ void (*set_context) (GstElement *element, GstContext *context);
+
/*< private >*/
- gpointer _gst_reserved[GST_PADDING_LARGE-1];
+ gpointer _gst_reserved[GST_PADDING_LARGE-2];
};
/* element class pad templates */
@@ -737,6 +742,10 @@ GstClockTime gst_element_get_start_time (GstElement *element);
void gst_element_set_bus (GstElement * element, GstBus * bus);
GstBus * gst_element_get_bus (GstElement * element);
+/* context */
+void gst_element_set_context (GstElement * element, GstContext * context);
+GstContext * gst_element_get_context (GstElement * element);
+
/* pad management */
gboolean gst_element_add_pad (GstElement *element, GstPad *pad);
gboolean gst_element_remove_pad (GstElement *element, GstPad *pad);
@@ -765,7 +774,7 @@ gboolean gst_element_post_message (GstElement * element, G
/* error handling */
/* gcc versions < 3.3 warn about NULL being passed as format to printf */
-#if (defined(GST_USING_PRINTF_EXTENSION) || !defined(__GNUC__) || (__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 3))
+#if (!defined(__GNUC__) || (__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 3))
gchar * _gst_element_error_printf (const gchar *format, ...);
#else
gchar * _gst_element_error_printf (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
diff --git a/gst/gstelementfactory.c b/gst/gstelementfactory.c
index 0b1505d..49bfec1 100644
--- a/gst/gstelementfactory.c
+++ b/gst/gstelementfactory.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -730,17 +730,24 @@ gst_element_factory_list_is_type (GstElementFactory * factory,
res = (strstr (klass, "Formatter") != NULL);
/* Filter by media type now, we only test if it
- * matched any of the types above. */
- if (res
+ * matched any of the types above or only checking the media
+ * type was requested. */
+ if ((res || !(type & (GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS - 1)))
&& (type & (GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO |
GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO |
- GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)))
+ GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE |
+ GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE |
+ GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA)))
res = ((type & GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO)
&& (strstr (klass, "Audio") != NULL))
|| ((type & GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO)
&& (strstr (klass, "Video") != NULL))
|| ((type & GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)
- && (strstr (klass, "Image") != NULL));
+ && (strstr (klass, "Image") != NULL)) ||
+ ((type & GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE)
+ && (strstr (klass, "Subtitle") != NULL)) ||
+ ((type & GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA)
+ && (strstr (klass, "Metadata") != NULL));
return res;
}
diff --git a/gst/gstelementfactory.h b/gst/gstelementfactory.h
index 337cc4c..4641457 100644
--- a/gst/gstelementfactory.h
+++ b/gst/gstelementfactory.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstelementmetadata.h b/gst/gstelementmetadata.h
index 6c331d9..bdb53c7 100644
--- a/gst/gstelementmetadata.h
+++ b/gst/gstelementmetadata.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_ELEMENT_METADATA_H__
diff --git a/gst/gsterror.c b/gst/gsterror.c
index 08321c6..af7a3f8 100644
--- a/gst/gsterror.c
+++ b/gst/gsterror.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gsterror.h b/gst/gsterror.h
index a066be9..96eb20a 100644
--- a/gst/gsterror.h
+++ b/gst/gsterror.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_ERROR_H__
diff --git a/gst/gstevent.c b/gst/gstevent.c
index eba1e82..0874471 100644
--- a/gst/gstevent.c
+++ b/gst/gstevent.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -116,6 +116,7 @@ static GstEventQuarks event_quarks[] = {
{GST_EVENT_BUFFERSIZE, "buffersize", 0},
{GST_EVENT_SINK_MESSAGE, "sink-message", 0},
{GST_EVENT_EOS, "eos", 0},
+ {GST_EVENT_CONTEXT, "context", 0},
{GST_EVENT_SEGMENT_DONE, "segment-done", 0},
{GST_EVENT_GAP, "gap", 0},
{GST_EVENT_QOS, "qos", 0},
@@ -1403,7 +1404,8 @@ gst_event_new_stream_start (const gchar * stream_id)
g_return_val_if_fail (stream_id != NULL, NULL);
s = gst_structure_new_id (GST_QUARK (EVENT_STREAM_START),
- GST_QUARK (STREAM_ID), G_TYPE_STRING, stream_id, NULL);
+ GST_QUARK (STREAM_ID), G_TYPE_STRING, stream_id,
+ GST_QUARK (FLAGS), GST_TYPE_STREAM_FLAGS, GST_STREAM_FLAG_NONE, NULL);
return gst_event_new_custom (GST_EVENT_STREAM_START, s);
}
@@ -1435,6 +1437,43 @@ gst_event_parse_stream_start (GstEvent * event, const gchar ** stream_id)
}
/**
+ * gst_event_set_stream_flags:
+ * @event: a stream-start event
+ * @flags: the stream flags to set
+ *
+ * Since: 1.2
+ */
+void
+gst_event_set_stream_flags (GstEvent * event, GstStreamFlags flags)
+{
+ g_return_if_fail (event != NULL);
+ g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_START);
+ g_return_if_fail (gst_event_is_writable (event));
+
+ gst_structure_id_set (GST_EVENT_STRUCTURE (event),
+ GST_QUARK (FLAGS), GST_TYPE_STREAM_FLAGS, flags, NULL);
+}
+
+/**
+ * gst_event_parse_stream_flags:
+ * @event: a stream-start event
+ * @flags: (out): address of variable where to store the stream flags
+ *
+ * Since: 1.2
+ */
+void
+gst_event_parse_stream_flags (GstEvent * event, GstStreamFlags * flags)
+{
+ g_return_if_fail (event != NULL);
+ g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_START);
+
+ if (flags) {
+ gst_structure_id_get (GST_EVENT_STRUCTURE (event),
+ GST_QUARK (FLAGS), GST_TYPE_STREAM_FLAGS, flags, NULL);
+ }
+}
+
+/**
* gst_event_new_toc:
* @toc: (transfer none): #GstToc structure.
* @updated: whether @toc was updated or not.
@@ -1597,3 +1636,56 @@ gst_event_parse_segment_done (GstEvent * event, GstFormat * format,
if (position != NULL)
*position = g_value_get_int64 (val);
}
+
+/**
+ * gst_event_new_context:
+ * @context: (transfer full): the #GstContext
+ *
+ * Create a new context event. The purpose of the context event is
+ * to pass a pipeline-local context to downstream elements.
+ *
+ * Returns: (transfer full): a new #GstEvent
+ *
+ * Since: 1.2
+ */
+GstEvent *
+gst_event_new_context (GstContext * context)
+{
+ GstEvent *event;
+ GstStructure *structure;
+
+ g_return_val_if_fail (context != NULL, NULL);
+
+ GST_CAT_INFO (GST_CAT_EVENT, "creating context event");
+
+ structure = gst_structure_new_id (GST_QUARK (EVENT_SEEK),
+ GST_QUARK (CONTEXT), GST_TYPE_CONTEXT, context, NULL);
+ event = gst_event_new_custom (GST_EVENT_CONTEXT, structure);
+ gst_context_unref (context);
+
+ return event;
+}
+
+/**
+ * gst_event_parse_context:
+ * @event: The event to query
+ * @context: (out) (transfer full): a pointer to store the #GstContext in.
+ *
+ * Parse the context event. Unref @context after usage.
+ *
+ * Since: 1.2
+ */
+void
+gst_event_parse_context (GstEvent * event, GstContext ** context)
+{
+ const GstStructure *structure;
+
+ g_return_if_fail (GST_IS_EVENT (event));
+ g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_CONTEXT);
+
+ structure = GST_EVENT_STRUCTURE (event);
+ if (context)
+ *context =
+ GST_CONTEXT (g_value_dup_boxed (gst_structure_id_get_value
+ (structure, GST_QUARK (CONTEXT))));
+}
diff --git a/gst/gstevent.h b/gst/gstevent.h
index 7907a69..1c4104f 100644
--- a/gst/gstevent.h
+++ b/gst/gstevent.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -99,6 +99,8 @@ typedef enum {
* @GST_EVENT_GAP: Marks a gap in the datastream.
* @GST_EVENT_TOC: An event which indicates that a new table of contents (TOC)
* was found or updated.
+ * @GST_EVENT_CONTEXT: An event to communicate a #GstContext to other
+ * elements (Since 1.2)
* @GST_EVENT_QOS: A quality message. Used to indicate to upstream elements
* that the downstream elements should adjust their processing
* rate.
@@ -147,6 +149,7 @@ typedef enum {
GST_EVENT_SINK_MESSAGE = GST_EVENT_MAKE_TYPE (100, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
GST_EVENT_EOS = GST_EVENT_MAKE_TYPE (110, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)),
GST_EVENT_TOC = GST_EVENT_MAKE_TYPE (120, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
+ GST_EVENT_CONTEXT = GST_EVENT_MAKE_TYPE (130, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)),
/* non-sticky downstream serialized */
GST_EVENT_SEGMENT_DONE = GST_EVENT_MAKE_TYPE (150, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
@@ -180,6 +183,7 @@ typedef enum {
#include <gst/gstsegment.h>
#include <gst/gstsegment.h>
#include <gst/gstmessage.h>
+#include <gst/gstcontext.h>
G_BEGIN_DECLS
@@ -365,6 +369,30 @@ typedef enum {
} GstQOSType;
/**
+ * GstStreamFlags:
+ * @GST_STREAM_FLAG_NONE: This stream has no special attributes
+ * @GST_STREAM_FLAG_SPARSE: This stream is a sparse stream (e.g. a subtitle
+ * stream), data may flow only in irregular intervals with large gaps in
+ * between.
+ * @GST_STREAM_FLAG_SELECT: This stream should be selected by default. This
+ * flag may be used by demuxers to signal that a stream should be selected
+ * by default in a playback scenario.
+ * @GST_STREAM_FLAG_UNSELECT: This stream should not be selected by default.
+ * This flag may be used by demuxers to signal that a stream should not
+ * be selected by default in a playback scenario, but only if explicitly
+ * selected by the user (e.g. an audio track for the hard of hearing or
+ * a director's commentary track).
+ *
+ * Since: 1.2
+ */
+typedef enum {
+ GST_STREAM_FLAG_NONE,
+ GST_STREAM_FLAG_SPARSE = (1 << 0),
+ GST_STREAM_FLAG_SELECT = (1 << 1),
+ GST_STREAM_FLAG_UNSELECT = (1 << 2)
+} GstStreamFlags;
+
+/**
* GstEvent:
* @mini_object: the parent structure
* @type: the #GstEventType of the event
@@ -461,6 +489,9 @@ void gst_event_set_seqnum (GstEvent *event, guint32 seqnum
GstEvent * gst_event_new_stream_start (const gchar *stream_id) G_GNUC_MALLOC;
void gst_event_parse_stream_start (GstEvent *event, const gchar **stream_id);
+void gst_event_set_stream_flags (GstEvent *event, GstStreamFlags flags);
+void gst_event_parse_stream_flags (GstEvent *event, GstStreamFlags *flags);
+
/* flush events */
GstEvent * gst_event_new_flush_start (void) G_GNUC_MALLOC;
@@ -545,6 +576,10 @@ void gst_event_parse_toc_select (GstEvent *event, gchar **uid);
GstEvent* gst_event_new_segment_done (GstFormat format, gint64 position) G_GNUC_MALLOC;
void gst_event_parse_segment_done (GstEvent *event, GstFormat *format, gint64 *position);
+/* context */
+GstEvent* gst_event_new_context (GstContext * context) G_GNUC_MALLOC;
+void gst_event_parse_context (GstEvent *event, GstContext **context);
+
G_END_DECLS
#endif /* __GST_EVENT_H__ */
diff --git a/gst/gstformat.c b/gst/gstformat.c
index 78b0f07..311b4bd 100644
--- a/gst/gstformat.c
+++ b/gst/gstformat.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstformat.h b/gst/gstformat.h
index 13dad03..d158ea1 100644
--- a/gst/gstformat.h
+++ b/gst/gstformat.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstghostpad.c b/gst/gstghostpad.c
index 081594f..98712d8 100644
--- a/gst/gstghostpad.c
+++ b/gst/gstghostpad.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstghostpad.h b/gst/gstghostpad.h
index 77c79c4..cb09031 100644
--- a/gst/gstghostpad.h
+++ b/gst/gstghostpad.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstinfo.c b/gst/gstinfo.c
index 5929d10..93cb188 100644
--- a/gst/gstinfo.c
+++ b/gst/gstinfo.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -98,9 +98,6 @@
#ifdef HAVE_DLFCN_H
# include <dlfcn.h>
#endif
-#ifdef HAVE_PRINTF_EXTENSION
-# include <printf.h>
-#endif
#include <stdio.h> /* fprintf */
#include <glib/gstdio.h>
#include <errno.h>
@@ -121,12 +118,20 @@
#include "gstquark.h"
#include "gstsegment.h"
#include "gstvalue.h"
+#include "gstcapsfeatures.h"
#ifdef HAVE_VALGRIND_VALGRIND_H
# include <valgrind/valgrind.h>
#endif
#include <glib/gprintf.h> /* g_sprintf */
+/* our own printf implementation with custom extensions to %p for caps etc. */
+#include "printf/printf.h"
+#include "printf/printf-extension.h"
+
+static char *gst_info_printf_pointer_extension_func (const char *format,
+ void *ptr);
+
#endif /* !GST_DISABLE_GST_DEBUG */
extern gboolean gst_is_initialized (void);
@@ -174,6 +179,7 @@ GstDebugCategory *GST_CAT_QOS = NULL;
GstDebugCategory *_priv_GST_CAT_POLL = NULL;
GstDebugCategory *GST_CAT_META = NULL;
GstDebugCategory *GST_CAT_LOCKING = NULL;
+GstDebugCategory *GST_CAT_CONTEXT = NULL;
#endif /* !defined(GST_DISABLE_GST_DEBUG) || !defined(GST_REMOVE_DISABLED) */
@@ -221,20 +227,6 @@ dladdr (void *address, Dl_info * dl)
static void gst_debug_reset_threshold (gpointer category, gpointer unused);
static void gst_debug_reset_all_thresholds (void);
-#ifdef GST_USING_PRINTF_EXTENSION
-static int _gst_info_printf_extension_ptr (FILE * stream,
- const struct printf_info *info, const void *const *args);
-static int _gst_info_printf_extension_segment (FILE * stream,
- const struct printf_info *info, const void *const *args);
-#ifdef HAVE_REGISTER_PRINTF_SPECIFIER
-static int _gst_info_printf_extension_arginfo (const struct printf_info *info,
- size_t n, int *argtypes, int *size);
-#else
-static int _gst_info_printf_extension_arginfo (const struct printf_info *info,
- size_t n, int *argtypes);
-#endif
-#endif
-
struct _GstDebugMessage
{
gchar *message;
@@ -333,19 +325,8 @@ _priv_gst_debug_init (void)
/* get time we started for debugging messages */
_priv_gst_info_start_time = gst_util_get_timestamp ();
-#ifdef GST_USING_PRINTF_EXTENSION
-#ifdef HAVE_REGISTER_PRINTF_SPECIFIER
- register_printf_specifier (GST_PTR_FORMAT[0], _gst_info_printf_extension_ptr,
- _gst_info_printf_extension_arginfo);
- register_printf_specifier (GST_SEGMENT_FORMAT[0],
- _gst_info_printf_extension_segment, _gst_info_printf_extension_arginfo);
-#else
- register_printf_function (GST_PTR_FORMAT[0], _gst_info_printf_extension_ptr,
- _gst_info_printf_extension_arginfo);
- register_printf_function (GST_SEGMENT_FORMAT[0],
- _gst_info_printf_extension_segment, _gst_info_printf_extension_arginfo);
-#endif
-#endif
+ __gst_printf_pointer_extension_set_func
+ (gst_info_printf_pointer_extension_func);
/* do NOT use a single debug function before this line has been run */
GST_CAT_DEFAULT = _gst_debug_category_new ("default",
@@ -413,7 +394,7 @@ _priv_gst_debug_init (void)
_priv_GST_CAT_POLL = _gst_debug_category_new ("GST_POLL", 0, "poll");
GST_CAT_META = _gst_debug_category_new ("GST_META", 0, "meta");
GST_CAT_LOCKING = _gst_debug_category_new ("GST_LOCKING", 0, "locking");
-
+ GST_CAT_CONTEXT = _gst_debug_category_new ("GST_CONTEXT", 0, NULL);
/* print out the valgrind message if we're in valgrind */
_priv_gst_in_valgrind ();
@@ -545,7 +526,13 @@ const gchar *
gst_debug_message_get (GstDebugMessage * message)
{
if (message->message == NULL) {
- message->message = g_strdup_vprintf (message->format, message->arguments);
+ int len;
+
+ len = __gst_vasprintf (&message->message, message->format,
+ message->arguments);
+
+ if (len < 0)
+ message->message = NULL;
}
return message->message;
}
@@ -553,25 +540,19 @@ gst_debug_message_get (GstDebugMessage * message)
#define MAX_BUFFER_DUMP_STRING_LEN 100
/* structure_to_pretty_string:
- * @structure: a #GstStructure
+ * @str: a serialized #GstStructure
*
- * Converts @structure to a human-readable string representation. Basically
- * the same as gst_structure_to_string(), but if the structure contains large
- * buffers such as images the hex representation of those buffers will be
- * shortened so that the string remains readable.
+ * If the serialized structure contains large buffers such as images the hex
+ * representation of those buffers will be shortened so that the string remains
+ * readable.
*
- * Returns: a newly-allocated string. g_free() when no longer needed.
+ * Returns: the filtered string
*/
static gchar *
-structure_to_pretty_string (const GstStructure * s)
+prettify_structure_string (gchar * str)
{
- gchar *str, *pos, *end;
-
- str = gst_structure_to_string (s);
- if (str == NULL)
- return NULL;
+ gchar *pos = str, *end;
- pos = str;
while ((pos = strstr (pos, "(buffer)"))) {
guint count = 0;
@@ -593,10 +574,69 @@ structure_to_pretty_string (const GstStructure * s)
static inline gchar *
gst_info_structure_to_string (const GstStructure * s)
{
- if (G_UNLIKELY (pretty_tags && s->name == GST_QUARK (TAGLIST)))
- return structure_to_pretty_string (s);
- else
- return gst_structure_to_string (s);
+ if (G_LIKELY (s)) {
+ gchar *str = gst_structure_to_string (s);;
+ if (G_UNLIKELY (pretty_tags && s->name == GST_QUARK (TAGLIST)))
+ return prettify_structure_string (str);
+ else
+ return str;
+ }
+ return NULL;
+}
+
+static inline gchar *
+gst_info_describe_buffer (GstBuffer * buffer)
+{
+ return g_strdup_printf ("buffer: %p, pts %" GST_TIME_FORMAT ", dts %"
+ GST_TIME_FORMAT ", dur %" GST_TIME_FORMAT ", size %" G_GSIZE_FORMAT
+ ", offset %" G_GUINT64_FORMAT ", offset_end %" G_GUINT64_FORMAT
+ ", flags 0x%x", buffer, GST_TIME_ARGS (GST_BUFFER_PTS (buffer)),
+ GST_TIME_ARGS (GST_BUFFER_DTS (buffer)),
+ GST_TIME_ARGS (GST_BUFFER_DURATION (buffer)),
+ gst_buffer_get_size (buffer), GST_BUFFER_OFFSET (buffer),
+ GST_BUFFER_OFFSET_END (buffer), GST_BUFFER_FLAGS (buffer));
+}
+
+static inline gchar *
+gst_info_describe_event (GstEvent * event)
+{
+ gchar *s, *ret;
+
+ s = gst_info_structure_to_string (gst_event_get_structure (event));
+ ret = g_strdup_printf ("%s event: %p, time %" GST_TIME_FORMAT
+ ", seq-num %d, %s", GST_EVENT_TYPE_NAME (event), event,
+ GST_TIME_ARGS (GST_EVENT_TIMESTAMP (event)), GST_EVENT_SEQNUM (event),
+ (s ? s : "(NULL)"));
+ g_free (s);
+ return ret;
+}
+
+static inline gchar *
+gst_info_describe_message (GstMessage * message)
+{
+ gchar *s, *ret;
+
+ s = gst_info_structure_to_string (gst_message_get_structure (message));
+ ret = g_strdup_printf ("%s message: %p, time %" GST_TIME_FORMAT
+ ", seq-num %d, element '%s', %s", GST_MESSAGE_TYPE_NAME (message),
+ message, GST_TIME_ARGS (GST_MESSAGE_TIMESTAMP (message)),
+ GST_MESSAGE_SEQNUM (message),
+ ((message->src) ? GST_ELEMENT_NAME (message->src) : "(NULL)"),
+ (s ? s : "(NULL)"));
+ g_free (s);
+ return ret;
+}
+
+static inline gchar *
+gst_info_describe_query (GstQuery * query)
+{
+ gchar *s, *ret;
+
+ s = gst_info_structure_to_string (gst_query_get_structure (query));
+ ret = g_strdup_printf ("%s query: %p, %s", GST_QUERY_TYPE_NAME (query),
+ query, (s ? s : "(NULL)"));
+ g_free (s);
+ return ret;
}
static gchar *
@@ -627,26 +667,21 @@ gst_debug_print_object (gpointer ptr)
if (*(GType *) ptr == GST_TYPE_STRUCTURE) {
return gst_info_structure_to_string ((const GstStructure *) ptr);
}
+ if (*(GType *) ptr == GST_TYPE_CAPS_FEATURES) {
+ return gst_caps_features_to_string ((const GstCapsFeatures *) ptr);
+ }
if (*(GType *) ptr == GST_TYPE_TAG_LIST) {
- /* FIXME: want pretty tag list with long byte dumps removed.. */
- return gst_tag_list_to_string ((GstTagList *) ptr);
+ gchar *str = gst_tag_list_to_string ((GstTagList *) ptr);
+ if (G_UNLIKELY (pretty_tags))
+ return prettify_structure_string (str);
+ else
+ return str;
}
if (*(GType *) ptr == GST_TYPE_DATE_TIME) {
return __gst_date_time_serialize ((GstDateTime *) ptr, TRUE);
}
if (GST_IS_BUFFER (ptr)) {
- GstBuffer *buf = (GstBuffer *) ptr;
- gchar *ret;
-
- ret =
- g_strdup_printf ("%p, pts %" GST_TIME_FORMAT ", dts %" GST_TIME_FORMAT
- ", dur %" GST_TIME_FORMAT ", size %" G_GSIZE_FORMAT ", offset %"
- G_GUINT64_FORMAT ", offset_end %" G_GUINT64_FORMAT, buf,
- GST_TIME_ARGS (GST_BUFFER_PTS (buf)),
- GST_TIME_ARGS (GST_BUFFER_DTS (buf)),
- GST_TIME_ARGS (GST_BUFFER_DURATION (buf)), gst_buffer_get_size (buf),
- GST_BUFFER_OFFSET (buf), GST_BUFFER_OFFSET_END (buf));
- return ret;
+ return gst_info_describe_buffer (GST_BUFFER_CAST (ptr));
}
#ifdef USE_POISONING
if (*(guint32 *) ptr == 0xffffffff) {
@@ -663,58 +698,28 @@ gst_debug_print_object (gpointer ptr)
return g_strdup_printf ("<%s@%p>", G_OBJECT_TYPE_NAME (object), object);
}
if (GST_IS_MESSAGE (object)) {
- GstMessage *msg = GST_MESSAGE_CAST (object);
- gchar *s, *ret;
- const GstStructure *structure;
-
- structure = gst_message_get_structure (msg);
-
- if (structure) {
- s = gst_info_structure_to_string (structure);
- } else {
- s = g_strdup ("(NULL)");
- }
-
- ret = g_strdup_printf ("%s message from element '%s': %s",
- GST_MESSAGE_TYPE_NAME (msg), (msg->src != NULL) ?
- GST_ELEMENT_NAME (msg->src) : "(NULL)", s);
- g_free (s);
- return ret;
+ return gst_info_describe_message (GST_MESSAGE_CAST (object));
}
if (GST_IS_QUERY (object)) {
- GstQuery *query = GST_QUERY_CAST (object);
- const GstStructure *structure;
-
- structure = gst_query_get_structure (query);
-
- if (structure) {
- return gst_info_structure_to_string (structure);
- } else {
- const gchar *query_type_name;
-
- query_type_name = gst_query_type_get_name (query->type);
- if (G_LIKELY (query_type_name != NULL)) {
- return g_strdup_printf ("%s query", query_type_name);
- } else {
- return g_strdup_printf ("query of unknown type %d", query->type);
- }
- }
+ return gst_info_describe_query (GST_QUERY_CAST (object));
}
if (GST_IS_EVENT (object)) {
- GstEvent *event = GST_EVENT_CAST (object);
+ return gst_info_describe_event (GST_EVENT_CAST (object));
+ }
+ if (GST_IS_CONTEXT (object)) {
+ GstContext *context = GST_CONTEXT_CAST (object);
gchar *s, *ret;
- GstStructure *structure;
+ const GstStructure *structure;
+
+ structure = gst_context_get_structure (context);
- structure = (GstStructure *) gst_event_get_structure (event);
if (structure) {
s = gst_info_structure_to_string (structure);
} else {
s = g_strdup ("(NULL)");
}
- ret = g_strdup_printf ("%s event at time %"
- GST_TIME_FORMAT ": %s",
- GST_EVENT_TYPE_NAME (event), GST_TIME_ARGS (event->timestamp), s);
+ ret = g_strdup_printf ("context '%s'", s);
g_free (s);
return ret;
}
@@ -722,8 +727,6 @@ gst_debug_print_object (gpointer ptr)
return g_strdup_printf ("%p", ptr);
}
-#ifdef GST_USING_PRINTF_EXTENSION
-
static gchar *
gst_debug_print_segment (gpointer ptr)
{
@@ -765,7 +768,30 @@ gst_debug_print_segment (gpointer ptr)
}
}
-#endif /* GST_USING_PRINTF_EXTENSION */
+static char *
+gst_info_printf_pointer_extension_func (const char *format, void *ptr)
+{
+ char *s = NULL;
+
+ if (format[0] == 'p' && format[1] == '\a') {
+ switch (format[2]) {
+ case 'A': /* GST_PTR_FORMAT */
+ s = gst_debug_print_object (ptr);
+ break;
+ case 'B': /* GST_SEGMENT_FORMAT */
+ s = gst_debug_print_segment (ptr);
+ break;
+ default:
+ /* must have been compiled against a newer version with an extension
+ * we don't known about yet - just ignore and fallback to %p below */
+ break;
+ }
+ }
+ if (s == NULL)
+ s = g_strdup_printf ("%p", ptr);
+
+ return s;
+}
/**
* gst_debug_construct_term_color:
@@ -1601,6 +1627,110 @@ _gst_debug_get_category (const gchar * name)
return NULL;
}
+static gboolean
+parse_debug_category (gchar * str, const gchar ** category)
+{
+ if (!str)
+ return FALSE;
+
+ /* works in place */
+ g_strstrip (str);
+
+ if (str[0] != '\0') {
+ *category = str;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static gboolean
+parse_debug_level (gchar * str, GstDebugLevel * level)
+{
+ if (!str)
+ return FALSE;
+
+ /* works in place */
+ g_strstrip (str);
+
+ if (str[0] != '\0' && str[1] == '\0'
+ && str[0] >= '0' && str[0] < '0' + GST_LEVEL_COUNT) {
+ *level = (GstDebugLevel) (str[0] - '0');
+ } else if (strcmp (str, "ERROR") == 0) {
+ *level = GST_LEVEL_ERROR;
+ } else if (strncmp (str, "WARN", 4) == 0) {
+ *level = GST_LEVEL_WARNING;
+ } else if (strcmp (str, "FIXME") == 0) {
+ *level = GST_LEVEL_FIXME;
+ } else if (strcmp (str, "INFO") == 0) {
+ *level = GST_LEVEL_INFO;
+ } else if (strcmp (str, "DEBUG") == 0) {
+ *level = GST_LEVEL_DEBUG;
+ } else if (strcmp (str, "LOG") == 0) {
+ *level = GST_LEVEL_LOG;
+ } else if (strcmp (str, "TRACE") == 0) {
+ *level = GST_LEVEL_TRACE;
+ } else if (strcmp (str, "MEMDUMP") == 0) {
+ *level = GST_LEVEL_MEMDUMP;
+ } else
+ return FALSE;
+
+ return TRUE;
+}
+
+/**
+ * gst_debug_set_threshold_from_string:
+ * @list: comma-separated list of "category:level" pairs to be used
+ * as debug logging levels
+ * @reset: %TRUE to clear all previously-set debug levels before setting
+ * new thresholds
+ * %FALSE if adding the threshold described by @list to the one already set.
+ *
+ * Sets the debug logging wanted in the same form as with the GST_DEBUG
+ * environment variable. You can use wildcards such as '*', but note that
+ * the order matters when you use wild cards, e.g. "foosrc:6,*src:3,*:2" sets
+ * everything to log level 2.
+ *
+ * Since: 1.2.0
+ */
+void
+gst_debug_set_threshold_from_string (const gchar * list, gboolean reset)
+{
+ gchar **split;
+ gchar **walk;
+
+ g_assert (list);
+
+ if (reset == TRUE)
+ gst_debug_set_default_threshold (0);
+
+ split = g_strsplit (list, ",", 0);
+
+ for (walk = split; *walk; walk++) {
+ if (strchr (*walk, ':')) {
+ gchar **values = g_strsplit (*walk, ":", 2);
+
+ if (values[0] && values[1]) {
+ GstDebugLevel level;
+ const gchar *category;
+
+ if (parse_debug_category (values[0], &category)
+ && parse_debug_level (values[1], &level))
+ gst_debug_set_threshold_for_name (category, level);
+ }
+
+ g_strfreev (values);
+ } else {
+ GstDebugLevel level;
+
+ if (parse_debug_level (*walk, &level))
+ gst_debug_set_default_threshold (level);
+ }
+ }
+
+ g_strfreev (split);
+}
+
/*** FUNCTION POINTERS ********************************************************/
static GHashTable *__gst_function_pointers; /* NULL */
@@ -1661,67 +1791,6 @@ _gst_debug_register_funcptr (GstDebugFuncPtr func, const gchar * ptrname)
g_mutex_unlock (&__dbg_functions_mutex);
}
-/*** PRINTF EXTENSIONS ********************************************************/
-
-#ifdef GST_USING_PRINTF_EXTENSION
-static int
-_gst_info_printf_extension_ptr (FILE * stream, const struct printf_info *info,
- const void *const *args)
-{
- char *buffer;
- int len;
- void *ptr;
-
- buffer = NULL;
- ptr = *(void **) args[0];
-
- buffer = gst_debug_print_object (ptr);
- len = fprintf (stream, "%*s", (info->left ? -info->width : info->width),
- buffer);
-
- g_free (buffer);
- return len;
-}
-
-static int
-_gst_info_printf_extension_segment (FILE * stream,
- const struct printf_info *info, const void *const *args)
-{
- char *buffer;
- int len;
- void *ptr;
-
- buffer = NULL;
- ptr = *(void **) args[0];
-
- buffer = gst_debug_print_segment (ptr);
- len = fprintf (stream, "%*s", (info->left ? -info->width : info->width),
- buffer);
-
- g_free (buffer);
- return len;
-}
-
-#ifdef HAVE_REGISTER_PRINTF_SPECIFIER
-static int
-_gst_info_printf_extension_arginfo (const struct printf_info *info, size_t n,
- int *argtypes, int *size)
-#else
-static int
-_gst_info_printf_extension_arginfo (const struct printf_info *info, size_t n,
- int *argtypes)
-#endif
-{
- if (n > 0) {
- argtypes[0] = PA_POINTER;
-#ifdef HAVE_REGISTER_PRINTF_SPECIFIER
- *size = sizeof (gpointer);
-#endif
- }
- return 1;
-}
-#endif /* GST_USING_PRINTF_EXTENSION */
-
static void
gst_info_dump_mem_line (gchar * linebuf, gsize linebuf_size,
const guint8 * mem, gsize mem_offset, gsize mem_size)
@@ -1874,6 +1943,11 @@ gst_debug_is_colored (void)
}
void
+gst_debug_set_threshold_from_string (const gchar * list, gboolean reset)
+{
+}
+
+void
gst_debug_set_default_threshold (GstDebugLevel level)
{
}
@@ -1973,6 +2047,46 @@ _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
#endif /* GST_REMOVE_DISABLED */
#endif /* GST_DISABLE_GST_DEBUG */
+/* Need this for _gst_element_error_printf even if GST_REMOVE_DISABLED is set:
+ * fallback function that cleans up the format string and replaces all pointer
+ * extension formats with plain %p. */
+#ifdef GST_DISABLE_GST_DEBUG
+#include <glib/gprintf.h>
+int
+__gst_info_fallback_vasprintf (char **result, char const *format, va_list args)
+{
+ gchar *clean_format, *c;
+ gsize len;
+
+ if (format == NULL)
+ return -1;
+
+ clean_format = g_strdup (format);
+ c = clean_format;
+ while ((c = strstr (c, "%p\a"))) {
+ if (c[3] < 'A' || c[3] > 'Z') {
+ c += 3;
+ continue;
+ }
+ len = strlen (c + 4);
+ g_memmove (c + 2, c + 4, len + 1);
+ c += 2;
+ }
+ while ((c = strstr (clean_format, "%P"))) /* old GST_PTR_FORMAT */
+ c[1] = 'p';
+ while ((c = strstr (clean_format, "%Q"))) /* old GST_SEGMENT_FORMAT */
+ c[1] = 'p';
+
+ len = g_vasprintf (result, clean_format, args);
+
+ g_free (clean_format);
+
+ if (*result == NULL)
+ return -1;
+
+ return len;
+}
+#endif
#ifdef GST_ENABLE_FUNC_INSTRUMENTATION
/* FIXME make this thread specific */
diff --git a/gst/gstinfo.h b/gst/gstinfo.h
index 0757aac..68f099b 100644
--- a/gst/gstinfo.h
+++ b/gst/gstinfo.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GSTINFO_H__
@@ -229,6 +229,21 @@ struct _GstDebugCategory {
#endif
#endif /* ifndef GST_FUNCTION */
+/**
+ * GST_PTR_FORMAT:
+ *
+ * printf format type used to debug GStreamer types.
+ * This can only be used on types whose size is >= sizeof(gpointer).
+ */
+#define GST_PTR_FORMAT "p\aA"
+
+/**
+ * GST_SEGMENT_FORMAT:
+ *
+ * printf format type used to debug GStreamer segments.
+ * This can only be used on pointers to GstSegment structures.
+ */
+#define GST_SEGMENT_FORMAT "p\aB"
typedef struct _GstDebugMessage GstDebugMessage;
@@ -256,20 +271,6 @@ typedef void (*GstLogFunction) (GstDebugCategory * category,
GstDebugMessage * message,
gpointer user_data);
-#ifdef GST_USING_PRINTF_EXTENSION
-
-/* not using G_GNUC_PRINTF, since gcc will choke on GST_PTR_FORMAT being %P */
-void gst_debug_log (GstDebugCategory * category,
- GstDebugLevel level,
- const gchar * file,
- const gchar * function,
- gint line,
- GObject * object,
- const gchar * format,
- ...) G_GNUC_NO_INSTRUMENT;
-
-#else /* GST_USING_PRINTF_EXTENSION */
-
void gst_debug_log (GstDebugCategory * category,
GstDebugLevel level,
const gchar * file,
@@ -279,8 +280,6 @@ void gst_debug_log (GstDebugCategory * category,
const gchar * format,
...) G_GNUC_PRINTF (7, 8) G_GNUC_NO_INSTRUMENT;
-#endif /* GST_USING_PRINTF_EXTENSION */
-
void gst_debug_log_valist (GstDebugCategory * category,
GstDebugLevel level,
const gchar * file,
@@ -346,6 +345,7 @@ void gst_debug_set_default_threshold (GstDebugLevel level);
GstDebugLevel gst_debug_get_default_threshold (void);
void gst_debug_set_threshold_for_name (const gchar * name,
GstDebugLevel level);
+void gst_debug_set_threshold_from_string (const gchar * list, gboolean reset);
void gst_debug_unset_threshold_for_name (const gchar * name);
diff --git a/gst/gstiterator.c b/gst/gstiterator.c
index 3c9238c..0a63a90 100644
--- a/gst/gstiterator.c
+++ b/gst/gstiterator.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstiterator.h b/gst/gstiterator.h
index 2a21f8b..7ad54ee 100644
--- a/gst/gstiterator.h
+++ b/gst/gstiterator.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_ITERATOR_H__
diff --git a/gst/gstmacros.h b/gst/gstmacros.h
index e38af53..47f9917 100644
--- a/gst/gstmacros.h
+++ b/gst/gstmacros.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_MACROS_H__
#define __GST_MACROS_H__
diff --git a/gst/gstmemory.c b/gst/gstmemory.c
index 5796e04..1f44e7b 100644
--- a/gst/gstmemory.c
+++ b/gst/gstmemory.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -83,6 +83,8 @@ _gst_memory_copy (GstMemory * mem)
static void
_gst_memory_free (GstMemory * mem)
{
+ GstAllocator *allocator;
+
GST_CAT_DEBUG (GST_CAT_MEMORY, "free memory %p", mem);
if (mem->parent) {
@@ -90,7 +92,10 @@ _gst_memory_free (GstMemory * mem)
gst_memory_unref (mem->parent);
}
- gst_allocator_free (mem->allocator, mem);
+ allocator = mem->allocator;
+
+ gst_allocator_free (allocator, mem);
+ gst_object_unref (allocator);
}
/**
@@ -117,7 +122,7 @@ gst_memory_init (GstMemory * mem, GstMemoryFlags flags,
(GstMiniObjectCopyFunction) _gst_memory_copy, NULL,
(GstMiniObjectFreeFunction) _gst_memory_free);
- mem->allocator = allocator;
+ mem->allocator = gst_object_ref (allocator);
if (parent) {
gst_memory_lock (parent, GST_LOCK_FLAG_EXCLUSIVE);
gst_memory_ref (parent);
@@ -134,6 +139,27 @@ gst_memory_init (GstMemory * mem, GstMemoryFlags flags,
}
/**
+ * gst_memory_is_type:
+ * @mem: a #GstMemory
+ * @mem_type: a memory type
+ *
+ * Check if @mem if allocated with an allocator for @mem_type.
+ *
+ * Returns: %TRUE if @mem was allocated from an allocator for @mem_type.
+ *
+ * Since: 1.2
+ */
+gboolean
+gst_memory_is_type (GstMemory * mem, const gchar * mem_type)
+{
+ g_return_val_if_fail (mem != NULL, FALSE);
+ g_return_val_if_fail (mem->allocator != NULL, FALSE);
+ g_return_val_if_fail (mem_type != NULL, FALSE);
+
+ return (g_strcmp0 (mem->allocator->mem_type, mem_type) == 0);
+}
+
+/**
* gst_memory_get_sizes:
* @mem: a #GstMemory
* @offset: pointer to offset
diff --git a/gst/gstmemory.h b/gst/gstmemory.h
index 0820818..b5180ca 100644
--- a/gst/gstmemory.h
+++ b/gst/gstmemory.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -45,6 +45,8 @@ typedef struct _GstAllocator GstAllocator;
* made when this memory needs to be shared between buffers.
* @GST_MEMORY_FLAG_ZERO_PREFIXED: the memory prefix is filled with 0 bytes
* @GST_MEMORY_FLAG_ZERO_PADDED: the memory padding is filled with 0 bytes
+ * @GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS: the memory is physically contiguous. Since 1.2
+ * @GST_MEMORY_FLAG_NOT_MAPPABLE: the memory can't be mapped via gst_memory_map() without any preconditions. Since 1.2
* @GST_MEMORY_FLAG_LAST: first flag that can be used for custom purposes
*
* Flags for wrapped memory.
@@ -54,6 +56,8 @@ typedef enum {
GST_MEMORY_FLAG_NO_SHARE = (GST_MINI_OBJECT_FLAG_LAST << 0),
GST_MEMORY_FLAG_ZERO_PREFIXED = (GST_MINI_OBJECT_FLAG_LAST << 1),
GST_MEMORY_FLAG_ZERO_PADDED = (GST_MINI_OBJECT_FLAG_LAST << 2),
+ GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS = (GST_MINI_OBJECT_FLAG_LAST << 3),
+ GST_MEMORY_FLAG_NOT_MAPPABLE = (GST_MINI_OBJECT_FLAG_LAST << 4),
GST_MEMORY_FLAG_LAST = (GST_MINI_OBJECT_FLAG_LAST << 16)
} GstMemoryFlags;
@@ -111,6 +115,25 @@ typedef enum {
*/
#define GST_MEMORY_IS_ZERO_PADDED(mem) GST_MEMORY_FLAG_IS_SET(mem,GST_MEMORY_FLAG_ZERO_PADDED)
+/**
+ * GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS:
+ * @mem: a #GstMemory.
+ *
+ * Check if @mem is physically contiguous.
+ *
+ * Since: 1.2
+ */
+#define GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS(mem) GST_MEMORY_FLAG_IS_SET(mem,GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS)
+
+/**
+ * GST_MEMORY_IS_NOT_MAPPABLE:
+ * @mem: a #GstMemory.
+ *
+ * Check if @mem can't be mapped via gst_memory_map() without any preconditions
+ *
+ * Since: 1.2
+ */
+#define GST_MEMORY_IS_NOT_MAPPABLE(mem) GST_MEMORY_FLAG_IS_SET(mem,GST_MEMORY_FLAG_NOT_MAPPABLE)
/**
* GstMemory:
@@ -264,6 +287,9 @@ void gst_memory_init (GstMemory *mem, GstMemoryFlags flags,
GstAllocator *allocator, GstMemory *parent,
gsize maxsize, gsize align,
gsize offset, gsize size);
+
+gboolean gst_memory_is_type (GstMemory *mem, const gchar *mem_type);
+
/* refcounting */
/**
* gst_memory_ref:
diff --git a/gst/gstmessage.c b/gst/gstmessage.c
index 58b4d85..cb81bf7 100644
--- a/gst/gstmessage.c
+++ b/gst/gstmessage.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -1405,7 +1405,7 @@ gst_message_parse_segment_start (GstMessage * message, GstFormat * format,
* @format: (out) (allow-none): Result location for the format, or NULL
* @position: (out) (allow-none): Result location for the position, or NULL
*
- * Extracts the position and format from the segment start message.
+ * Extracts the position and format from the segment done message.
*
* MT safe.
*/
@@ -2151,3 +2151,185 @@ gst_message_new_stream_start (GstObject * src)
return message;
}
+
+/**
+ * gst_message_new_need_context:
+ * @src: (transfer none): The object originating the message.
+ *
+ * This message is posted when an element needs a specific #GstContext.
+ *
+ * Returns: (transfer full): The new need-context message.
+ *
+ * MT safe.
+ */
+GstMessage *
+gst_message_new_need_context (GstObject * src)
+{
+ GstMessage *message;
+ GstStructure *structure;
+
+ structure = gst_structure_new_id_empty (GST_QUARK (MESSAGE_NEED_CONTEXT));
+ message = gst_message_new_custom (GST_MESSAGE_NEED_CONTEXT, src, structure);
+
+ return message;
+}
+
+static GArray *
+ensure_array (GstStructure * s, GQuark quark, gsize element_size,
+ GDestroyNotify clear_func)
+{
+ GArray *array;
+ const GValue *value;
+
+ value = gst_structure_id_get_value (s, quark);
+ if (value) {
+ array = (GArray *) g_value_get_boxed (value);
+ } else {
+ GValue new_array_val = { 0, };
+
+ array = g_array_new (FALSE, TRUE, element_size);
+ if (clear_func)
+ g_array_set_clear_func (array, clear_func);
+
+ g_value_init (&new_array_val, G_TYPE_ARRAY);
+ g_value_take_boxed (&new_array_val, array);
+
+ gst_structure_id_take_value (s, quark, &new_array_val);
+ }
+ return array;
+}
+
+static void
+free_array_string (gpointer ptr)
+{
+ gchar *str = *(gchar **) ptr;
+ g_free (str);
+}
+
+/**
+ * gst_message_add_context_type:
+ * @message: a GST_MESSAGE_NEED_CONTEXT type message
+ * @context_type: a context type
+ *
+ * Add a new context type to @message.
+ */
+void
+gst_message_add_context_type (GstMessage * message, const gchar * context_type)
+{
+ GstStructure *structure;
+ GArray *array;
+ gchar *copy;
+
+ g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_NEED_CONTEXT);
+ g_return_if_fail (gst_message_is_writable (message));
+
+ structure = GST_MESSAGE_STRUCTURE (message);
+ array = ensure_array (structure, GST_QUARK (CONTEXT_TYPES),
+ sizeof (gchar *), free_array_string);
+
+ copy = g_strdup (context_type);
+ g_array_append_val (array, copy);
+}
+
+/**
+ * gst_message_get_n_context_types:
+ * @message: a GST_MESSAGE_NEED_CONTEXT type message
+ *
+ * Retrieve the number of values currently stored in the
+ * context-types array of the message's structure.
+ *
+ * Returns: the context-types array size as a #guint.
+ */
+guint
+gst_message_get_n_context_types (GstMessage * message)
+{
+ GstStructure *structure;
+ GArray *array;
+
+ g_return_val_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_NEED_CONTEXT,
+ 0);
+
+ structure = GST_MESSAGE_STRUCTURE (message);
+ array = ensure_array (structure, GST_QUARK (CONTEXT_TYPES),
+ sizeof (gchar *), free_array_string);
+
+ return array->len;
+}
+
+/**
+ * gst_message_parse_nth_context_type:
+ * @message: a GST_MESSAGE_NEED_CONTEXT type message
+ * @context_type: (out) (allow-none): the context type, or NULL
+ *
+ * Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message
+ * from @index.
+ *
+ * Returns: a #gboolean indicating if the parsing succeeded.
+ */
+gboolean
+gst_message_parse_nth_context_type (GstMessage * message, guint index,
+ const gchar ** context_type)
+{
+ GstStructure *structure;
+ GArray *array;
+
+ g_return_val_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_NEED_CONTEXT,
+ FALSE);
+
+ structure = GST_MESSAGE_STRUCTURE (message);
+
+ array = ensure_array (structure, GST_QUARK (CONTEXT_TYPES),
+ sizeof (gchar *), free_array_string);
+ g_return_val_if_fail (index < array->len, FALSE);
+
+ if (context_type)
+ *context_type = g_array_index (array, gchar *, index);
+
+ return TRUE;
+}
+
+/**
+ * gst_message_new_have_context:
+ * @src: (transfer none): The object originating the message.
+ * @context: (transfer full): the context
+ *
+ * This message is posted when an element has a new local #GstContext.
+ *
+ * Returns: (transfer full): The new have-context message.
+ *
+ * MT safe.
+ */
+GstMessage *
+gst_message_new_have_context (GstObject * src, GstContext * context)
+{
+ GstMessage *message;
+ GstStructure *structure;
+
+ structure = gst_structure_new_id (GST_QUARK (MESSAGE_HAVE_CONTEXT),
+ GST_QUARK (CONTEXT), GST_TYPE_CONTEXT, context, NULL);
+ message = gst_message_new_custom (GST_MESSAGE_HAVE_CONTEXT, src, structure);
+ gst_context_unref (context);
+
+ return message;
+}
+
+/**
+ * gst_message_parse_have_context:
+ * @message: A valid #GstMessage of type GST_MESSAGE_HAVE_CONTEXT.
+ * @context: (out) (transfer full) (allow-none): Result location for the
+ * context or NULL
+ *
+ * Extract the context from the HAVE_CONTEXT message.
+ *
+ * MT safe.
+ */
+void
+gst_message_parse_have_context (GstMessage * message, GstContext ** context)
+{
+ g_return_if_fail (GST_IS_MESSAGE (message));
+ g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_HAVE_CONTEXT);
+
+ if (context)
+ gst_structure_id_get (GST_MESSAGE_STRUCTURE (message),
+ GST_QUARK (CONTEXT), GST_TYPE_CONTEXT, context, NULL);
+}
diff --git a/gst/gstmessage.h b/gst/gstmessage.h
index 0328667..802ee17 100644
--- a/gst/gstmessage.h
+++ b/gst/gstmessage.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_MESSAGE_H__
@@ -136,6 +136,8 @@ typedef enum
GST_MESSAGE_TOC = (1 << 26),
GST_MESSAGE_RESET_TIME = (1 << 27),
GST_MESSAGE_STREAM_START = (1 << 28),
+ GST_MESSAGE_NEED_CONTEXT = (1 << 29),
+ GST_MESSAGE_HAVE_CONTEXT = (1 << 30),
GST_MESSAGE_ANY = ~0
} GstMessageType;
@@ -557,6 +559,16 @@ void gst_message_parse_reset_time (GstMessage *message, GstClockTi
/* STREAM_START */
GstMessage * gst_message_new_stream_start (GstObject * src) G_GNUC_MALLOC;
+/* NEED_CONTEXT */
+GstMessage * gst_message_new_need_context (GstObject * src) G_GNUC_MALLOC;
+void gst_message_add_context_type (GstMessage * message, const gchar * context_type);
+guint gst_message_get_n_context_types (GstMessage * message);
+gboolean gst_message_parse_nth_context_type (GstMessage * message, guint i, const gchar ** context_type);
+
+/* HAVE_CONTEXT */
+GstMessage * gst_message_new_have_context (GstObject * src, GstContext *context) G_GNUC_MALLOC;
+void gst_message_parse_have_context (GstMessage *message, GstContext **context);
+
G_END_DECLS
#endif /* __GST_MESSAGE_H__ */
diff --git a/gst/gstmeta.c b/gst/gstmeta.c
index bc1cb76..819c72e 100644
--- a/gst/gstmeta.c
+++ b/gst/gstmeta.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstmeta.h b/gst/gstmeta.h
index e6d4f00..08411e3 100644
--- a/gst/gstmeta.h
+++ b/gst/gstmeta.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstminiobject.c b/gst/gstminiobject.c
index 741cafd..25efc08 100644
--- a/gst/gstminiobject.c
+++ b/gst/gstminiobject.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstminiobject
diff --git a/gst/gstminiobject.h b/gst/gstminiobject.h
index f873b7a..7ae012d 100644
--- a/gst/gstminiobject.h
+++ b/gst/gstminiobject.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstobject.c b/gst/gstobject.c
index dace38b..3300464 100644
--- a/gst/gstobject.c
+++ b/gst/gstobject.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -47,7 +47,7 @@
* <para>
* Controlled properties offers a lightweight way to adjust gobject
* properties over stream-time. It works by using time-stamped value pairs that
- * are queued for element-properties. At run-time the elements continously pull
+ * are queued for element-properties. At run-time the elements continuously pull
* values changes for the current stream-time.
*
* What needs to be changed in a #GstElement?
@@ -1162,12 +1162,13 @@ gst_object_set_control_binding_disabled (GstObject * object,
* @object: the controller object
* @binding: (transfer full): the #GstControlBinding that should be used
*
- * Sets the #GstControlBinding. If there already was a #GstControlBinding
- * for this property it will be replaced.
+ * Attach the #GstControlBinding to the object. If there already was a
+ * #GstControlBinding for this property it will be replaced.
+ *
* The @object will take ownership of the @binding.
*
- * Returns: %FALSE if the given @binding has not been setup for this object or
- * %TRUE otherwise.
+ * Returns: %FALSE if the given @binding has not been setup for this object or
+ * has been setup for a non suitable property, %TRUE otherwise.
*/
gboolean
gst_object_add_control_binding (GstObject * object, GstControlBinding * binding)
@@ -1176,6 +1177,7 @@ gst_object_add_control_binding (GstObject * object, GstControlBinding * binding)
g_return_val_if_fail (GST_IS_OBJECT (object), FALSE);
g_return_val_if_fail (GST_IS_CONTROL_BINDING (binding), FALSE);
+ g_return_val_if_fail (binding->pspec, FALSE);
GST_OBJECT_LOCK (object);
if ((old = gst_object_find_control_binding (object, binding->name))) {
diff --git a/gst/gstobject.h b/gst/gstobject.h
index 6c9f9f5..209fe6c 100644
--- a/gst/gstobject.h
+++ b/gst/gstobject.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_OBJECT_H__
diff --git a/gst/gstpad.c b/gst/gstpad.c
index 4b1181f..e1f386a 100644
--- a/gst/gstpad.c
+++ b/gst/gstpad.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstpad
@@ -359,7 +359,7 @@ gst_pad_init (GstPad * pad)
}
/* called when setting the pad inactive. It removes all sticky events from
- * the pad */
+ * the pad. must be called with object lock */
static void
remove_events (GstPad * pad)
{
@@ -371,13 +371,26 @@ remove_events (GstPad * pad)
len = events->len;
for (i = 0; i < len; i++) {
PadEvent *ev = &g_array_index (events, PadEvent, i);
- gst_event_unref (ev->event);
+ GstEvent *event = ev->event;
+
+ ev->event = NULL;
+
+ if (event && GST_EVENT_TYPE (event) == GST_EVENT_CAPS) {
+ GST_OBJECT_UNLOCK (pad);
+
+ GST_DEBUG_OBJECT (pad, "notify caps");
+ g_object_notify_by_pspec ((GObject *) pad, pspec_caps);
+
+ GST_OBJECT_LOCK (pad);
+ }
+ gst_event_unref (event);
}
GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PENDING_EVENTS);
g_array_set_size (events, 0);
pad->priv->events_cookie++;
}
+/* should be called with object lock */
static PadEvent *
find_event_by_type (GstPad * pad, GstEventType type, guint idx)
{
@@ -404,6 +417,7 @@ found:
return ev;
}
+/* should be called with OBJECT lock */
static PadEvent *
find_event (GstPad * pad, GstEvent * event)
{
@@ -424,6 +438,7 @@ found:
return ev;
}
+/* should be called with OBJECT lock */
static void
remove_event_by_type (GstPad * pad, GstEventType type)
{
@@ -457,6 +472,7 @@ remove_event_by_type (GstPad * pad, GstEventType type)
/* check all events on srcpad against those on sinkpad. All events that are not
* on sinkpad are marked as received=FALSE and the PENDING_EVENTS is set on the
* srcpad so that the events will be sent next time */
+/* should be called with srcpad and sinkpad LOCKS */
static void
schedule_events (GstPad * srcpad, GstPad * sinkpad)
{
@@ -603,7 +619,9 @@ gst_pad_dispose (GObject * object)
gst_pad_set_pad_template (pad, NULL);
+ GST_OBJECT_LOCK (pad);
remove_events (pad);
+ GST_OBJECT_UNLOCK (pad);
g_hook_list_clear (&pad->probes);
@@ -1382,8 +1400,13 @@ gst_pad_needs_reconfigure (GstPad * pad)
g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
GST_OBJECT_LOCK (pad);
- reconfigure = GST_PAD_NEEDS_RECONFIGURE (pad);
- GST_DEBUG_OBJECT (pad, "peeking RECONFIGURE flag %d", reconfigure);
+ if (GST_PAD_IS_FLUSHING (pad)) {
+ GST_DEBUG_OBJECT (pad, "pad is flushing");
+ reconfigure = FALSE;
+ } else {
+ reconfigure = GST_PAD_NEEDS_RECONFIGURE (pad);
+ GST_DEBUG_OBJECT (pad, "peeking RECONFIGURE flag %d", reconfigure);
+ }
GST_OBJECT_UNLOCK (pad);
return reconfigure;
@@ -1406,10 +1429,15 @@ gst_pad_check_reconfigure (GstPad * pad)
g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
GST_OBJECT_LOCK (pad);
- reconfigure = GST_PAD_NEEDS_RECONFIGURE (pad);
- if (reconfigure) {
- GST_DEBUG_OBJECT (pad, "remove RECONFIGURE flag");
- GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_NEED_RECONFIGURE);
+ if (GST_PAD_IS_FLUSHING (pad)) {
+ GST_DEBUG_OBJECT (pad, "pad is flushing");
+ reconfigure = FALSE;
+ } else {
+ reconfigure = GST_PAD_NEEDS_RECONFIGURE (pad);
+ if (reconfigure) {
+ GST_DEBUG_OBJECT (pad, "remove RECONFIGURE flag");
+ GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_NEED_RECONFIGURE);
+ }
}
GST_OBJECT_UNLOCK (pad);
@@ -2479,7 +2507,6 @@ gst_pad_get_allowed_caps (GstPad * pad)
{
GstCaps *mycaps;
GstCaps *caps;
- GstCaps *peercaps;
GstPad *peer;
g_return_val_if_fail (GST_IS_PAD (pad), NULL);
@@ -2495,11 +2522,9 @@ gst_pad_get_allowed_caps (GstPad * pad)
GST_OBJECT_UNLOCK (pad);
mycaps = gst_pad_query_caps (pad, NULL);
- peercaps = gst_pad_query_caps (peer, NULL);
+ caps = gst_pad_query_caps (peer, mycaps);
gst_object_unref (peer);
- caps = gst_caps_intersect (mycaps, peercaps);
- gst_caps_unref (peercaps);
gst_caps_unref (mycaps);
GST_CAT_DEBUG_OBJECT (GST_CAT_CAPS, pad, "allowed caps %" GST_PTR_FORMAT,
@@ -2805,15 +2830,15 @@ gst_pad_query_accept_caps_default (GstPad * pad, GstQuery * query)
GST_CAT_DEBUG_OBJECT (GST_CAT_PERFORMANCE, pad,
"fallback ACCEPT_CAPS query, consider implementing a specialized version");
- allowed = gst_pad_query_caps (pad, NULL);
gst_query_parse_accept_caps (query, &caps);
+ allowed = gst_pad_query_caps (pad, caps);
if (allowed) {
GST_DEBUG_OBJECT (pad, "allowed caps %" GST_PTR_FORMAT, allowed);
result = gst_caps_is_subset (caps, allowed);
gst_caps_unref (allowed);
} else {
- GST_DEBUG_OBJECT (pad, "no caps allowed on the pad");
+ GST_DEBUG_OBJECT (pad, "no compatible caps allowed on the pad");
result = FALSE;
}
gst_query_set_accept_caps_result (query, result);
@@ -3059,6 +3084,9 @@ probe_hook_marshal (GHook * hook, ProbeMarshall * data)
GST_DEBUG_OBJECT (pad, "asked to pass item");
data->pass = TRUE;
break;
+ case GST_PAD_PROBE_OK:
+ GST_DEBUG_OBJECT (pad, "probe returned OK");
+ break;
default:
GST_DEBUG_OBJECT (pad, "probe returned %d", ret);
break;
@@ -3268,6 +3296,12 @@ typedef struct
* that pushing the EOS event failed
*/
gboolean was_eos;
+
+ /* If called for an event this is
+ * the event that would be pushed
+ * next. Don't forward sticky events
+ * that would come after that */
+ GstEvent *event;
} PushStickyData;
/* should be called with pad LOCK */
@@ -3283,8 +3317,17 @@ push_sticky (GstPad * pad, PadEvent * ev, gpointer user_data)
return TRUE;
}
- data->ret = gst_pad_push_event_unchecked (pad, gst_event_ref (event),
- GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM);
+ /* If we're called because of an sticky event, only forward
+ * events that would come before this new event and the
+ * event itself */
+ if (data->event && GST_EVENT_IS_STICKY (data->event) &&
+ GST_EVENT_TYPE (data->event) <= GST_EVENT_SEGMENT &&
+ GST_EVENT_TYPE (data->event) < GST_EVENT_TYPE (event)) {
+ data->ret = GST_FLOW_CUSTOM_SUCCESS_1;
+ } else {
+ data->ret = gst_pad_push_event_unchecked (pad, gst_event_ref (event),
+ GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM);
+ }
switch (data->ret) {
case GST_FLOW_OK:
@@ -3299,6 +3342,13 @@ push_sticky (GstPad * pad, PadEvent * ev, gpointer user_data)
GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_PENDING_EVENTS);
data->ret = GST_FLOW_OK;
break;
+ case GST_FLOW_CUSTOM_SUCCESS_1:
+ /* event was ignored and should be sent later */
+ GST_DEBUG_OBJECT (pad, "event %s was ignored, mark pending",
+ GST_EVENT_TYPE_NAME (event));
+ GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_PENDING_EVENTS);
+ data->ret = GST_FLOW_OK;
+ break;
case GST_FLOW_NOT_LINKED:
/* not linked is not a problem, we are sticky so the event will be
* sent later but only for non-EOS events */
@@ -3323,9 +3373,9 @@ push_sticky (GstPad * pad, PadEvent * ev, gpointer user_data)
/* check sticky events and push them when needed. should be called
* with pad LOCK */
static inline GstFlowReturn
-check_sticky (GstPad * pad)
+check_sticky (GstPad * pad, GstEvent * event)
{
- PushStickyData data = { GST_FLOW_OK, FALSE };
+ PushStickyData data = { GST_FLOW_OK, FALSE, event };
if (G_UNLIKELY (GST_PAD_HAS_PENDING_EVENTS (pad))) {
GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PENDING_EVENTS);
@@ -3532,7 +3582,7 @@ gst_pad_peer_query (GstPad * pad, GstQuery * query)
if (GST_PAD_IS_SRC (pad) && serialized) {
/* all serialized queries on the srcpad trigger push of
* sticky events */
- if (!check_sticky (pad) == GST_FLOW_OK)
+ if (!check_sticky (pad, NULL) == GST_FLOW_OK)
goto sticky_failed;
}
@@ -3630,6 +3680,19 @@ gst_pad_chain_data_unchecked (GstPad * pad, GstPadProbeType type, void *data)
if (G_UNLIKELY (GST_PAD_MODE (pad) != GST_PAD_MODE_PUSH))
goto wrong_mode;
+#ifndef G_DISABLE_ASSERT
+ if (!find_event_by_type (pad, GST_EVENT_STREAM_START, 0)) {
+ g_warning (G_STRLOC
+ ":%s:<%s:%s> Got data flow before stream-start event",
+ G_STRFUNC, GST_DEBUG_PAD_NAME (pad));
+ }
+ if (!find_event_by_type (pad, GST_EVENT_SEGMENT, 0)) {
+ g_warning (G_STRLOC
+ ":%s:<%s:%s> Got data flow before segment event",
+ G_STRFUNC, GST_DEBUG_PAD_NAME (pad));
+ }
+#endif
+
PROBE_PUSH (pad, type | GST_PAD_PROBE_TYPE_BLOCK, data, probe_stopped);
PROBE_PUSH (pad, type, data, probe_stopped);
@@ -3848,14 +3911,27 @@ gst_pad_push_data (GstPad * pad, GstPadProbeType type, void *data)
if (G_UNLIKELY (GST_PAD_MODE (pad) != GST_PAD_MODE_PUSH))
goto wrong_mode;
- if (G_UNLIKELY ((ret = check_sticky (pad))) != GST_FLOW_OK)
+#ifndef G_DISABLE_ASSERT
+ if (!find_event_by_type (pad, GST_EVENT_STREAM_START, 0)) {
+ g_warning (G_STRLOC
+ ":%s:<%s:%s> Got data flow before stream-start event",
+ G_STRFUNC, GST_DEBUG_PAD_NAME (pad));
+ }
+ if (!find_event_by_type (pad, GST_EVENT_SEGMENT, 0)) {
+ g_warning (G_STRLOC
+ ":%s:<%s:%s> Got data flow before segment event",
+ G_STRFUNC, GST_DEBUG_PAD_NAME (pad));
+ }
+#endif
+
+ if (G_UNLIKELY ((ret = check_sticky (pad, NULL))) != GST_FLOW_OK)
goto events_error;
/* do block probes */
PROBE_PUSH (pad, type | GST_PAD_PROBE_TYPE_BLOCK, data, probe_stopped);
/* recheck sticky events because the probe might have cause a relink */
- if (G_UNLIKELY ((ret = check_sticky (pad))) != GST_FLOW_OK)
+ if (G_UNLIKELY ((ret = check_sticky (pad, NULL))) != GST_FLOW_OK)
goto events_error;
/* do post-blocking probes */
@@ -4029,7 +4105,7 @@ gst_pad_get_range_unchecked (GstPad * pad, guint64 offset, guint size,
if (G_UNLIKELY (GST_PAD_MODE (pad) != GST_PAD_MODE_PULL))
goto wrong_mode;
- if (G_UNLIKELY ((ret = check_sticky (pad))) != GST_FLOW_OK)
+ if (G_UNLIKELY ((ret = check_sticky (pad, NULL))) != GST_FLOW_OK)
goto events_error;
res_buf = *buffer;
@@ -4041,7 +4117,7 @@ gst_pad_get_range_unchecked (GstPad * pad, guint64 offset, guint size,
res_buf, offset, size, probe_stopped);
/* recheck sticky events because the probe might have cause a relink */
- if (G_UNLIKELY ((ret = check_sticky (pad))) != GST_FLOW_OK)
+ if (G_UNLIKELY ((ret = check_sticky (pad, NULL))) != GST_FLOW_OK)
goto events_error;
ACQUIRE_PARENT (pad, parent, no_parent);
@@ -4375,16 +4451,30 @@ probe_stopped_unref:
}
/* must be called with pad object lock */
-static gboolean
-gst_pad_store_sticky_event (GstPad * pad, GstEvent * event)
+static GstFlowReturn
+store_sticky_event (GstPad * pad, GstEvent * event)
{
guint i, len;
GstEventType type;
GArray *events;
gboolean res = FALSE;
const gchar *name = NULL;
+ gboolean insert = TRUE;
type = GST_EVENT_TYPE (event);
+
+ /* Store all sticky events except SEGMENT/SEGMENT when we're flushing,
+ * otherwise they can be dropped and nothing would ever resend them.
+ * Only do that for activated pads though, everything else is a bug!
+ */
+ if (G_UNLIKELY (GST_PAD_MODE (pad) == GST_PAD_MODE_NONE
+ || (GST_PAD_IS_FLUSHING (pad) && (type == GST_EVENT_SEGMENT
+ || type == GST_EVENT_EOS))))
+ goto flushed;
+
+ if (G_UNLIKELY (GST_PAD_IS_EOS (pad)))
+ goto eos;
+
if (type & GST_EVENT_TYPE_STICKY_MULTI)
name = gst_structure_get_name (gst_event_get_structure (event));
@@ -4405,14 +4495,30 @@ gst_pad_store_sticky_event (GstPad * pad, GstEvent * event)
/* overwrite */
if ((res = gst_event_replace (&ev->event, event)))
ev->received = FALSE;
+
+ insert = FALSE;
+ break;
+ }
+
+ if (type < GST_EVENT_TYPE (ev->event) || (type != GST_EVENT_TYPE (ev->event)
+ && GST_EVENT_TYPE (ev->event) == GST_EVENT_EOS)) {
+ /* STREAM_START, CAPS and SEGMENT must be delivered in this order. By
+ * storing the sticky ordered we can check that this is respected. */
+ if (G_UNLIKELY (GST_EVENT_TYPE (ev->event) <= GST_EVENT_SEGMENT
+ || GST_EVENT_TYPE (ev->event) == GST_EVENT_EOS))
+ g_warning (G_STRLOC
+ ":%s:<%s:%s> Sticky event misordering, got '%s' before '%s'",
+ G_STRFUNC, GST_DEBUG_PAD_NAME (pad),
+ gst_event_type_get_name (GST_EVENT_TYPE (ev->event)),
+ gst_event_type_get_name (type));
break;
}
}
- if (i == len) {
+ if (insert) {
PadEvent ev;
ev.event = gst_event_ref (event);
ev.received = FALSE;
- g_array_append_val (events, ev);
+ g_array_insert_val (events, i, ev);
res = TRUE;
}
@@ -4435,7 +4541,62 @@ gst_pad_store_sticky_event (GstPad * pad, GstEvent * event)
break;
}
}
- return res;
+ if (type == GST_EVENT_EOS)
+ GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_EOS);
+
+ return GST_PAD_IS_FLUSHING (pad) ? GST_FLOW_FLUSHING : GST_FLOW_OK;
+
+ /* ERRORS */
+flushed:
+ {
+ GST_DEBUG_OBJECT (pad, "pad is flushing");
+ return GST_FLOW_FLUSHING;
+ }
+eos:
+ {
+ GST_DEBUG_OBJECT (pad, "pad is EOS");
+ return GST_FLOW_EOS;
+ }
+}
+
+/**
+ * gst_pad_store_sticky_event:
+ * @pad: a #GstPad
+ * @event: a #GstEvent
+ *
+ * Store the sticky @event on @pad
+ *
+ * Returns: #GST_FLOW_OK on success, #GST_FLOW_FLUSHING when the pad
+ * was flushing or #GST_FLOW_EOS when the pad was EOS.
+ *
+ * Since: 1.2
+ */
+GstFlowReturn
+gst_pad_store_sticky_event (GstPad * pad, GstEvent * event)
+{
+ GstFlowReturn ret;
+
+ g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
+ g_return_val_if_fail (GST_IS_EVENT (event), FALSE);
+
+ GST_OBJECT_LOCK (pad);
+ ret = store_sticky_event (pad, event);
+ GST_OBJECT_UNLOCK (pad);
+
+ return ret;
+}
+
+static gboolean
+sticky_changed (GstPad * pad, PadEvent * ev, gpointer user_data)
+{
+ PushStickyData *data = user_data;
+
+ /* Forward all sticky events before our current one that are pending */
+ if (ev->event != data->event
+ && GST_EVENT_TYPE (ev->event) < GST_EVENT_TYPE (data->event))
+ return push_sticky (pad, ev, data);
+
+ return TRUE;
}
/* should be called with pad LOCK */
@@ -4464,6 +4625,7 @@ gst_pad_push_event_unchecked (GstPad * pad, GstEvent * event,
/* Remove sticky EOS events */
GST_LOG_OBJECT (pad, "Removing pending EOS events");
remove_event_by_type (pad, GST_EVENT_EOS);
+ remove_event_by_type (pad, GST_EVENT_SEGMENT);
GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_EOS);
type |= GST_PAD_PROBE_TYPE_EVENT_FLUSH;
@@ -4500,6 +4662,18 @@ gst_pad_push_event_unchecked (GstPad * pad, GstEvent * event,
/* send probes after modifying the events above */
PROBE_PUSH (pad, type | GST_PAD_PROBE_TYPE_PUSH, event, probe_stopped);
+ /* recheck sticky events because the probe might have cause a relink */
+ if (GST_PAD_HAS_PENDING_EVENTS (pad) && GST_PAD_IS_SRC (pad)
+ && (GST_EVENT_IS_SERIALIZED (event)
+ || GST_EVENT_IS_STICKY (event))) {
+ PushStickyData data = { GST_FLOW_OK, FALSE, event };
+ GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PENDING_EVENTS);
+
+ /* Push all sticky events before our current one
+ * that have changed */
+ events_foreach (pad, sticky_changed, &data);
+ }
+
/* now check the peer pad */
peerpad = GST_PAD_PEER (pad);
if (peerpad == NULL)
@@ -4614,26 +4788,22 @@ gst_pad_push_event (GstPad * pad, GstEvent * event)
serialized = GST_EVENT_IS_SERIALIZED (event);
if (sticky) {
- /* can't store on flushing pads */
- if (G_UNLIKELY (GST_PAD_IS_FLUSHING (pad)))
- goto flushed;
-
- if (G_UNLIKELY (GST_PAD_IS_EOS (pad)))
- goto eos;
-
/* srcpad sticky events are stored immediately, the received flag is set
* to FALSE and will be set to TRUE when we can successfully push the
* event to the peer pad */
- if (gst_pad_store_sticky_event (pad, event)) {
- GST_DEBUG_OBJECT (pad, "event %s updated", GST_EVENT_TYPE_NAME (event));
+ switch (store_sticky_event (pad, event)) {
+ case GST_FLOW_FLUSHING:
+ goto flushed;
+ case GST_FLOW_EOS:
+ goto eos;
+ default:
+ break;
}
- if (GST_EVENT_TYPE (event) == GST_EVENT_EOS)
- GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_EOS);
}
if (GST_PAD_IS_SRC (pad) && (serialized || sticky)) {
/* all serialized or sticky events on the srcpad trigger push of
* sticky events */
- res = (check_sticky (pad) == GST_FLOW_OK);
+ res = (check_sticky (pad, event) == GST_FLOW_OK);
}
if (!sticky) {
GstFlowReturn ret;
@@ -4751,8 +4921,9 @@ gst_pad_send_event_unchecked (GstPad * pad, GstEvent * event,
GST_CAT_DEBUG_OBJECT (GST_CAT_EVENT, pad, "cleared flush flag");
}
/* Remove pending EOS events */
- GST_LOG_OBJECT (pad, "Removing pending EOS events");
+ GST_LOG_OBJECT (pad, "Removing pending EOS and SEGMENT events");
remove_event_by_type (pad, GST_EVENT_EOS);
+ remove_event_by_type (pad, GST_EVENT_SEGMENT);
GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_EOS);
GST_OBJECT_UNLOCK (pad);
@@ -4796,16 +4967,16 @@ gst_pad_send_event_unchecked (GstPad * pad, GstEvent * event,
default:
break;
}
-
- /* now do the probe */
- PROBE_PUSH (pad,
- type | GST_PAD_PROBE_TYPE_PUSH |
- GST_PAD_PROBE_TYPE_BLOCK, event, probe_stopped);
-
- PROBE_PUSH (pad, type | GST_PAD_PROBE_TYPE_PUSH, event, probe_stopped);
break;
}
+ /* now do the probe */
+ PROBE_PUSH (pad,
+ type | GST_PAD_PROBE_TYPE_PUSH |
+ GST_PAD_PROBE_TYPE_BLOCK, event, probe_stopped);
+
+ PROBE_PUSH (pad, type | GST_PAD_PROBE_TYPE_PUSH, event, probe_stopped);
+
if (G_UNLIKELY ((eventfunc = GST_PAD_EVENTFUNC (pad)) == NULL))
goto no_function;
@@ -4839,21 +5010,16 @@ gst_pad_send_event_unchecked (GstPad * pad, GstEvent * event,
if (sticky) {
if (ret == GST_FLOW_OK) {
GST_OBJECT_LOCK (pad);
- /* can't store on flushing pads */
- if (G_UNLIKELY (GST_PAD_IS_FLUSHING (pad)))
- goto flushing;
-
- if (G_UNLIKELY (GST_PAD_IS_EOS (pad)))
- goto eos;
-
/* after the event function accepted the event, we can store the sticky
* event on the pad */
- if (gst_pad_store_sticky_event (pad, event)) {
- GST_DEBUG_OBJECT (pad, "event %s updated", GST_EVENT_TYPE_NAME (event));
+ switch (store_sticky_event (pad, event)) {
+ case GST_FLOW_FLUSHING:
+ goto flushing;
+ case GST_FLOW_EOS:
+ goto eos;
+ default:
+ break;
}
- if (event_type == GST_EVENT_EOS)
- GST_OBJECT_FLAG_SET (pad, GST_PAD_FLAG_EOS);
-
GST_OBJECT_UNLOCK (pad);
}
gst_event_unref (event);
@@ -5074,13 +5240,15 @@ static gboolean
foreach_dispatch_function (GstPad * pad, PadEvent * ev, gpointer user_data)
{
ForeachDispatch *data = user_data;
- gboolean ret;
+ gboolean ret = TRUE;
- GST_OBJECT_UNLOCK (pad);
+ if (ev->event) {
+ GST_OBJECT_UNLOCK (pad);
- ret = data->func (pad, &ev->event, data->user_data);
+ ret = data->func (pad, &ev->event, data->user_data);
- GST_OBJECT_LOCK (pad);
+ GST_OBJECT_LOCK (pad);
+ }
return ret;
}
diff --git a/gst/gstpad.h b/gst/gstpad.h
index 0170ab4..13d4571 100644
--- a/gst/gstpad.h
+++ b/gst/gstpad.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -587,8 +587,8 @@ typedef GstPadProbeReturn (*GstPadProbeCallback) (GstPad *pad, GstPadProbeIn
* returned. When %FALSE is returned, gst_pad_sticky_events_foreach() will return.
*
* When @event is set to NULL, the item will be removed from the list of sticky events.
- * When @event has been made writable, the new buffer reference can be assigned
- * to @event. This function is responsible for unreffing the old event when
+ * @event can be replaced by assigning a new reference to it.
+ * This function is responsible for unreffing the old event when
* removing or modifying.
*
* Returns: %TRUE if the iteration should continue
@@ -880,6 +880,7 @@ gpointer gst_pad_get_element_private (GstPad *pad);
GstPadTemplate* gst_pad_get_pad_template (GstPad *pad);
+GstFlowReturn gst_pad_store_sticky_event (GstPad *pad, GstEvent *event);
GstEvent* gst_pad_get_sticky_event (GstPad *pad, GstEventType event_type,
guint idx);
void gst_pad_sticky_events_foreach (GstPad *pad, GstPadStickyEventsForeachFunction foreach_func, gpointer user_data);
diff --git a/gst/gstpadtemplate.c b/gst/gstpadtemplate.c
index a2dd97c..c7c4914 100644
--- a/gst/gstpadtemplate.c
+++ b/gst/gstpadtemplate.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstpadtemplate.h b/gst/gstpadtemplate.h
index 90f9b25..2700e9b 100644
--- a/gst/gstpadtemplate.h
+++ b/gst/gstpadtemplate.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstparamspecs.c b/gst/gstparamspecs.c
index ba16fcd..0777c6a 100644
--- a/gst/gstparamspecs.c
+++ b/gst/gstparamspecs.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstparamspec
diff --git a/gst/gstparamspecs.h b/gst/gstparamspecs.h
index e7e5fd5..64377dc 100644
--- a/gst/gstparamspecs.h
+++ b/gst/gstparamspecs.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_PARAMSPECS_H__
diff --git a/gst/gstparse.c b/gst/gstparse.c
index 75662d0..faac9e9 100644
--- a/gst/gstparse.c
+++ b/gst/gstparse.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstparse.h b/gst/gstparse.h
index 630c3ce..09013d9 100644
--- a/gst/gstparse.h
+++ b/gst/gstparse.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_PARSE_H__
diff --git a/gst/gstpipeline.c b/gst/gstpipeline.c
index 16d2606..51226a4 100644
--- a/gst/gstpipeline.c
+++ b/gst/gstpipeline.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstpipeline.h b/gst/gstpipeline.h
index 43563cb..0dae4c7 100644
--- a/gst/gstpipeline.h
+++ b/gst/gstpipeline.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstplugin.c b/gst/gstplugin.c
index 55868a6..d6a9b76 100644
--- a/gst/gstplugin.c
+++ b/gst/gstplugin.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstplugin.h b/gst/gstplugin.h
index b78cf1f..66ede12 100644
--- a/gst/gstplugin.h
+++ b/gst/gstplugin.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -260,7 +260,7 @@ G_BEGIN_DECLS \
GST_PLUGIN_EXPORT GstPluginDesc gst_plugin_desc = { \
major, \
minor, \
- #name, \
+ G_STRINGIFY(name), \
(gchar *) description, \
init, \
version, \
diff --git a/gst/gstpluginfeature.c b/gst/gstpluginfeature.c
index 1fda31c..6dd5e56 100644
--- a/gst/gstpluginfeature.c
+++ b/gst/gstpluginfeature.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -200,6 +200,28 @@ gst_plugin_feature_get_plugin (GstPluginFeature * feature)
}
/**
+ * gst_plugin_feature_get_plugin_name:
+ * @feature: a feature
+ *
+ * Get the name of the plugin that provides this feature.
+ *
+ * Returns: the name of the plugin that provides this feature, or %NULL if
+ * the feature is not associated with a plugin.
+ *
+ * Since: 1.2.0
+ */
+const gchar *
+gst_plugin_feature_get_plugin_name (GstPluginFeature * feature)
+{
+ g_return_val_if_fail (GST_IS_PLUGIN_FEATURE (feature), NULL);
+
+ if (feature->plugin == NULL)
+ return NULL;
+
+ return gst_plugin_get_name (feature->plugin);
+}
+
+/**
* gst_plugin_feature_list_free:
* @list: (transfer full) (element-type Gst.PluginFeature): list
* of #GstPluginFeature
@@ -360,7 +382,7 @@ gst_plugin_feature_check_version (GstPluginFeature * feature,
* Returns: negative value if the rank of p1 > the rank of p2 or the ranks are
* equal but the name of p1 comes before the name of p2; zero if the rank
* and names are equal; positive value if the rank of p1 < the rank of p2 or the
- * ranks are equal but the name of p2 comes after the name of p1
+ * ranks are equal but the name of p2 comes before the name of p1
*/
gint
gst_plugin_feature_rank_compare_func (gconstpointer p1, gconstpointer p2)
@@ -375,7 +397,7 @@ gst_plugin_feature_rank_compare_func (gconstpointer p1, gconstpointer p2)
if (diff != 0)
return diff;
- diff = strcmp (GST_OBJECT_NAME (f2), GST_OBJECT_NAME (f1));
+ diff = strcmp (GST_OBJECT_NAME (f1), GST_OBJECT_NAME (f2));
return diff;
}
diff --git a/gst/gstpluginfeature.h b/gst/gstpluginfeature.h
index 69ba44d..ca9f0d3 100644
--- a/gst/gstpluginfeature.h
+++ b/gst/gstpluginfeature.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -113,6 +113,7 @@ void gst_plugin_feature_set_rank (GstPluginFeature *featu
guint gst_plugin_feature_get_rank (GstPluginFeature *feature);
GstPlugin * gst_plugin_feature_get_plugin (GstPluginFeature *feature);
+const gchar * gst_plugin_feature_get_plugin_name (GstPluginFeature *feature);
void gst_plugin_feature_list_free (GList *list);
GList *gst_plugin_feature_list_copy (GList *list) G_GNUC_MALLOC;
diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
index 4109192..3a98943 100644
--- a/gst/gstpluginloader.c
+++ b/gst/gstpluginloader.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/gst/gstpluginloader.h b/gst/gstpluginloader.h
index 448b034..53ac6fb 100644
--- a/gst/gstpluginloader.h
+++ b/gst/gstpluginloader.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_PLUGINLOADER_H__
#define __GST_PLUGINLOADER_H__
diff --git a/gst/gstpoll.c b/gst/gstpoll.c
index d790b31..366f464 100644
--- a/gst/gstpoll.c
+++ b/gst/gstpoll.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstpoll
diff --git a/gst/gstpoll.h b/gst/gstpoll.h
index b066276..8bf64fd 100644
--- a/gst/gstpoll.h
+++ b/gst/gstpoll.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_POLL_H__
diff --git a/gst/gstpreset.c b/gst/gstpreset.c
index 68a657c..6a0b181 100644
--- a/gst/gstpreset.c
+++ b/gst/gstpreset.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstpreset
diff --git a/gst/gstpreset.h b/gst/gstpreset.h
index 30973f3..8e3ea2a 100644
--- a/gst/gstpreset.h
+++ b/gst/gstpreset.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_PRESET_H__
diff --git a/gst/gstquark.c b/gst/gstquark.c
index 6384bfd..6343726 100644
--- a/gst/gstquark.c
+++ b/gst/gstquark.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "gst_private.h"
@@ -66,7 +66,8 @@ static const gchar *_quark_strings[] = {
"GstMessageResetTime",
"GstMessageToc", "GstEventTocGlobal", "GstEventTocCurrent",
"GstEventSegmentDone",
- "GstEventStreamStart", "stream-id"
+ "GstEventStreamStart", "stream-id", "GstEventContext", "GstQueryContext",
+ "GstMessageNeedContext", "GstMessageHaveContext", "context", "context-types"
};
GQuark _priv_gst_quark_table[GST_QUARK_MAX];
diff --git a/gst/gstquark.h b/gst/gstquark.h
index f03d2fd..1abc2ee 100644
--- a/gst/gstquark.h
+++ b/gst/gstquark.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_QUARK_H__
@@ -188,7 +188,13 @@ typedef enum _GstQuarkId
GST_QUARK_EVENT_SEGMENT_DONE = 159,
GST_QUARK_EVENT_STREAM_START = 160,
GST_QUARK_STREAM_ID = 161,
- GST_QUARK_MAX = 162
+ GST_QUARK_EVENT_CONTEXT = 162,
+ GST_QUARK_QUERY_CONTEXT = 163,
+ GST_QUARK_MESSAGE_NEED_CONTEXT = 164,
+ GST_QUARK_MESSAGE_HAVE_CONTEXT = 165,
+ GST_QUARK_CONTEXT = 166,
+ GST_QUARK_CONTEXT_TYPES = 167,
+ GST_QUARK_MAX = 168
} GstQuarkId;
extern GQuark _priv_gst_quark_table[GST_QUARK_MAX];
diff --git a/gst/gstquery.c b/gst/gstquery.c
index 25a4f38..d5f2962 100644
--- a/gst/gstquery.c
+++ b/gst/gstquery.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -110,6 +110,7 @@ static GstQueryQuarks query_quarks[] = {
{GST_QUERY_ACCEPT_CAPS, "accept-caps", 0},
{GST_QUERY_CAPS, "caps", 0},
{GST_QUERY_DRAIN, "drain", 0},
+ {GST_QUERY_CONTEXT, "context", 0},
{0, NULL, 0}
};
@@ -1623,6 +1624,31 @@ gst_query_set_nth_allocation_pool (GstQuery * query, guint index,
g_array_index (array, AllocationPool, index) = ap;
}
+/**
+ * gst_query_remove_nth_allocation_pool:
+ * @query: a GST_QUERY_ALLOCATION type query #GstQuery
+ * @index: position in the allocation pool array to remove
+ *
+ * Remove the allocation pool at @index of the allocation pool array.
+ */
+void
+gst_query_remove_nth_allocation_pool (GstQuery * query, guint index)
+{
+ GArray *array;
+ GstStructure *structure;
+
+ g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION);
+ g_return_if_fail (gst_query_is_writable (query));
+
+ structure = GST_QUERY_STRUCTURE (query);
+ array =
+ ensure_array (structure, GST_QUARK (POOL), sizeof (AllocationPool),
+ (GDestroyNotify) allocation_pool_free);
+ g_return_if_fail (index < array->len);
+
+ g_array_remove_index (array, index);
+}
+
typedef struct
{
GType api;
@@ -1847,7 +1873,9 @@ gst_query_add_allocation_param (GstQuery * query, GstAllocator * allocator,
* allocator params array of the query's structure.
*
* If no memory allocator is specified, the downstream element can handle
- * the default memory allocator.
+ * the default memory allocator. The first memory allocator in the query
+ * should be generic and allow mapping to system memory, all following
+ * allocators should be ordered by preference with the preferred one first.
*
* Returns: the allocator array size as a #guint.
*/
@@ -1870,7 +1898,7 @@ gst_query_get_n_allocation_params (GstQuery * query)
* gst_query_parse_nth_allocation_param:
* @query: a GST_QUERY_ALLOCATION type query #GstQuery
* @index: position in the allocator array to read
- * @allocator: (out) (transfer none) (allow-none): variable to hold the result
+ * @allocator: (out) (transfer full) (allow-none): variable to hold the result
* @params: (out) (allow-none): parameters for the allocator
*
* Parse an available query and get the alloctor and its params
@@ -1939,6 +1967,31 @@ gst_query_set_nth_allocation_param (GstQuery * query, guint index,
}
/**
+ * gst_query_remove_nth_allocation_param:
+ * @query: a GST_QUERY_ALLOCATION type query #GstQuery
+ * @index: position in the allocation param array to remove
+ *
+ * Remove the allocation param at @index of the allocation param array.
+ */
+void
+gst_query_remove_nth_allocation_param (GstQuery * query, guint index)
+{
+ GArray *array;
+ GstStructure *structure;
+
+ g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ALLOCATION);
+ g_return_if_fail (gst_query_is_writable (query));
+
+ structure = GST_QUERY_STRUCTURE (query);
+ array =
+ ensure_array (structure, GST_QUARK (ALLOCATOR), sizeof (AllocationParam),
+ (GDestroyNotify) allocation_param_free);
+ g_return_if_fail (index < array->len);
+
+ g_array_remove_index (array, index);
+}
+
+/**
* gst_query_new_scheduling:
*
* Constructs a new query object for querying the scheduling properties.
@@ -2378,3 +2431,152 @@ gst_query_new_drain (void)
return query;
}
+
+/**
+ * gst_query_new_context:
+ *
+ * Constructs a new query object for querying the pipeline-local context.
+ *
+ * Free-function: gst_query_unref
+ *
+ * Returns: (transfer full): a new #GstQuery
+ */
+GstQuery *
+gst_query_new_context (void)
+{
+ GstQuery *query;
+ GstStructure *structure;
+
+ structure = gst_structure_new_id_empty (GST_QUARK (QUERY_CONTEXT));
+ query = gst_query_new_custom (GST_QUERY_CONTEXT, structure);
+
+ return query;
+}
+
+/**
+ * gst_query_set_context:
+ * @query: a #GstQuery with query type GST_QUERY_CONTEXT
+ * @context: the requested #GstContext
+ *
+ * Answer a context query by setting the requested context.
+ */
+void
+gst_query_set_context (GstQuery * query, GstContext * context)
+{
+ GstStructure *s;
+
+ g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_CONTEXT);
+
+ s = GST_QUERY_STRUCTURE (query);
+
+ gst_structure_id_set (s,
+ GST_QUARK (CONTEXT), GST_TYPE_CONTEXT, context, NULL);
+}
+
+/**
+ * gst_query_parse_context:
+ * @query: The query to parse
+ * @context: (out): A pointer to store the #GstContext
+ *
+ * Get the context from the context @query. The context remains valid as long as
+ * @query remains valid.
+ */
+void
+gst_query_parse_context (GstQuery * query, GstContext ** context)
+{
+ GstStructure *structure;
+
+ g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_CONTEXT);
+ g_return_if_fail (context != NULL);
+
+ structure = GST_QUERY_STRUCTURE (query);
+ *context = g_value_get_boxed (gst_structure_id_get_value (structure,
+ GST_QUARK (CONTEXT)));
+}
+
+static void
+free_array_string (gpointer ptr)
+{
+ gchar *str = *(gchar **) ptr;
+ g_free (str);
+}
+
+/**
+ * gst_query_add_context_type:
+ * @query: a GST_QUERY_NEED_CONTEXT type query
+ * @context_type: a context type
+ *
+ * Add a new context type to @query.
+ */
+void
+gst_query_add_context_type (GstQuery * query, const gchar * context_type)
+{
+ GstStructure *structure;
+ GArray *array;
+ gchar *copy;
+
+ g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_CONTEXT);
+ g_return_if_fail (gst_query_is_writable (query));
+
+ structure = GST_QUERY_STRUCTURE (query);
+ array = ensure_array (structure, GST_QUARK (CONTEXT_TYPES),
+ sizeof (gchar *), free_array_string);
+
+ copy = g_strdup (context_type);
+ g_array_append_val (array, copy);
+}
+
+/**
+ * gst_query_get_n_context_types:
+ * @query: a GST_QUERY_NEED_CONTEXT type query
+ *
+ * Retrieve the number of values currently stored in the
+ * context-types array of the query's structure.
+ *
+ * Returns: the context-types array size as a #guint.
+ */
+guint
+gst_query_get_n_context_types (GstQuery * query)
+{
+ GstStructure *structure;
+ GArray *array;
+
+ g_return_val_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_CONTEXT, 0);
+
+ structure = GST_QUERY_STRUCTURE (query);
+ array = ensure_array (structure, GST_QUARK (CONTEXT_TYPES),
+ sizeof (gchar *), free_array_string);
+
+ return array->len;
+}
+
+/**
+ * gst_query_parse_nth_context_type:
+ * @query: a GST_QUERY_NEED_CONTEXT type query
+ * @context_type: (out) (allow-none): the context type, or NULL
+ *
+ * Parse a context type from an existing GST_QUERY_NEED_CONTEXT query
+ * from @index.
+ *
+ * Returns: a #gboolean indicating if the parsing succeeded.
+ */
+gboolean
+gst_query_parse_nth_context_type (GstQuery * query, guint index,
+ const gchar ** context_type)
+{
+ GstStructure *structure;
+ GArray *array;
+
+ g_return_val_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_CONTEXT, FALSE);
+
+ structure = GST_QUERY_STRUCTURE (query);
+
+ array = ensure_array (structure, GST_QUARK (CONTEXT_TYPES),
+ sizeof (gchar *), free_array_string);
+ g_return_val_if_fail (index < array->len, FALSE);
+
+ if (context_type)
+ *context_type = g_array_index (array, gchar *, index);
+
+ return TRUE;
+}
diff --git a/gst/gstquery.h b/gst/gstquery.h
index 47fec23..57a9c06 100644
--- a/gst/gstquery.h
+++ b/gst/gstquery.h
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -35,6 +35,7 @@
#include <gst/gstpad.h>
#include <gst/gstallocator.h>
#include <gst/gsttoc.h>
+#include <gst/gstcontext.h>
G_BEGIN_DECLS
@@ -101,6 +102,7 @@ typedef enum {
* @GST_QUERY_ACCEPT_CAPS: the accept caps query
* @GST_QUERY_CAPS: the caps query
* @GST_QUERY_DRAIN: wait till all serialized data is consumed downstream
+ * @GST_QUERY_CONTEXT: query the pipeline-local context from downstream
*
* Standard predefined Query types
*/
@@ -124,7 +126,8 @@ typedef enum {
GST_QUERY_SCHEDULING = GST_QUERY_MAKE_TYPE (150, FLAG(UPSTREAM)),
GST_QUERY_ACCEPT_CAPS = GST_QUERY_MAKE_TYPE (160, FLAG(BOTH)),
GST_QUERY_CAPS = GST_QUERY_MAKE_TYPE (170, FLAG(BOTH)),
- GST_QUERY_DRAIN = GST_QUERY_MAKE_TYPE (180, FLAG(DOWNSTREAM) | FLAG(SERIALIZED))
+ GST_QUERY_DRAIN = GST_QUERY_MAKE_TYPE (180, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
+ GST_QUERY_CONTEXT = GST_QUERY_MAKE_TYPE (190, FLAG(DOWNSTREAM))
} GstQueryType;
#undef FLAG
@@ -411,6 +414,7 @@ void gst_query_set_nth_allocation_pool (GstQuery *query, guint ind
GstBufferPool *pool,
guint size, guint min_buffers,
guint max_buffers);
+void gst_query_remove_nth_allocation_pool (GstQuery *query, guint index);
/* allocators */
void gst_query_add_allocation_param (GstQuery *query, GstAllocator *allocator,
@@ -422,6 +426,7 @@ void gst_query_parse_nth_allocation_param (GstQuery *query, guint ind
void gst_query_set_nth_allocation_param (GstQuery *query, guint index,
GstAllocator *allocator,
const GstAllocationParams *params);
+void gst_query_remove_nth_allocation_param (GstQuery *query, guint index);
/* metadata */
void gst_query_add_allocation_meta (GstQuery *query, GType api, const GstStructure *params);
@@ -437,12 +442,14 @@ gboolean gst_query_find_allocation_meta (GstQuery *query, GType api
* GstSchedulingFlags:
* @GST_SCHEDULING_FLAG_SEEKABLE: if seeking is possible
* @GST_SCHEDULING_FLAG_SEQUENTIAL: if sequential access is recommended
+ * @GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED: if bandwidth is limited and buffering possible
*
* The different scheduling flags.
*/
typedef enum {
- GST_SCHEDULING_FLAG_SEEKABLE = (1 << 0),
- GST_SCHEDULING_FLAG_SEQUENTIAL = (1 << 1)
+ GST_SCHEDULING_FLAG_SEEKABLE = (1 << 0),
+ GST_SCHEDULING_FLAG_SEQUENTIAL = (1 << 1),
+ GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED = (1 << 2)
} GstSchedulingFlags;
GstQuery * gst_query_new_scheduling (void) G_GNUC_MALLOC;
@@ -475,6 +482,14 @@ void gst_query_parse_caps_result (GstQuery *query, GstCaps **c
/* drain query */
GstQuery * gst_query_new_drain (void) G_GNUC_MALLOC;
+/* context query */
+GstQuery * gst_query_new_context (void) G_GNUC_MALLOC;
+void gst_query_add_context_type (GstQuery * query, const gchar * context_type);
+guint gst_query_get_n_context_types (GstQuery * query);
+gboolean gst_query_parse_nth_context_type (GstQuery * query, guint i, const gchar ** context_type);
+void gst_query_set_context (GstQuery *query, GstContext *context);
+void gst_query_parse_context (GstQuery *query, GstContext **context);
+
G_END_DECLS
#endif /* __GST_QUERY_H__ */
diff --git a/gst/gstregistry.c b/gst/gstregistry.c
index a4ec279..c03a1ef 100644
--- a/gst/gstregistry.c
+++ b/gst/gstregistry.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstregistry.h b/gst/gstregistry.h
index f17fe7f..d0a665b 100644
--- a/gst/gstregistry.h
+++ b/gst/gstregistry.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstregistrybinary.c b/gst/gstregistrybinary.c
index fe1710a..837e3b4 100644
--- a/gst/gstregistrybinary.c
+++ b/gst/gstregistrybinary.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/* FIXME:
diff --git a/gst/gstregistrybinary.h b/gst/gstregistrybinary.h
index 7120363..f1102c7 100644
--- a/gst/gstregistrybinary.h
+++ b/gst/gstregistrybinary.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/* SUGGESTIONS AND TODO :
diff --git a/gst/gstregistrychunks.c b/gst/gstregistrychunks.c
index 683738d..571f6be 100644
--- a/gst/gstregistrychunks.c
+++ b/gst/gstregistrychunks.c
@@ -20,8 +20,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -60,7 +60,7 @@ _strnlen (const gchar * str, gint maxlen)
#define unpack_element(inptr, outptr, element, endptr, error_label) G_STMT_START{ \
if (inptr + sizeof(element) > endptr) { \
GST_ERROR ("Failed reading element " G_STRINGIFY (element) \
- ". Have %d bytes need %" G_GSSIZE_FORMAT, \
+ ". Have %d bytes need %" G_GSIZE_FORMAT, \
(int) (endptr - inptr), sizeof(element)); \
goto error_label; \
} \
diff --git a/gst/gstregistrychunks.h b/gst/gstregistrychunks.h
index fdbac5e..3e6e923 100644
--- a/gst/gstregistrychunks.h
+++ b/gst/gstregistrychunks.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_REGISTRYCHUNKS_H__
#define __GST_REGISTRYCHUNKS_H__
diff --git a/gst/gstsample.c b/gst/gstsample.c
index 947921e..f6f0ead 100644
--- a/gst/gstsample.c
+++ b/gst/gstsample.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gstsample.h b/gst/gstsample.h
index 97a3843..379690c 100644
--- a/gst/gstsample.h
+++ b/gst/gstsample.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstsegment.c b/gst/gstsegment.c
index 8317aa6..c663421 100644
--- a/gst/gstsegment.c
+++ b/gst/gstsegment.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "gst_private.h"
@@ -300,6 +300,8 @@ gst_segment_do_seek (GstSegment * segment, gdouble rate,
/* we can't have stop before start */
if (stop != -1) {
if (start > stop) {
+ GST_WARNING ("segment update failed: start(%" G_GUINT64_FORMAT
+ ") > stop(%" G_GUINT64_FORMAT ")", start, stop);
g_return_val_if_fail (start <= stop, FALSE);
return FALSE;
}
@@ -314,6 +316,7 @@ gst_segment_do_seek (GstSegment * segment, gdouble rate,
/* remember the elapsed time */
base = gst_segment_to_running_time (segment, format, position);
+ GST_DEBUG ("updated segment.base: %" G_GUINT64_FORMAT, base);
}
if (update_start && rate > 0.0) {
@@ -364,6 +367,8 @@ gst_segment_do_seek (GstSegment * segment, gdouble rate,
segment->time = start;
segment->position = position;
+ GST_INFO ("segment updated: %" GST_SEGMENT_FORMAT, segment);
+
return TRUE;
}
@@ -472,8 +477,10 @@ gst_segment_to_running_time (const GstSegment * segment, GstFormat format,
guint64 start, stop;
gdouble abs_rate;
- if (G_UNLIKELY (position == -1))
+ if (G_UNLIKELY (position == -1)) {
+ GST_DEBUG ("invalid position (-1)");
return -1;
+ }
g_return_val_if_fail (segment != NULL, -1);
g_return_val_if_fail (segment->format == format, -1);
@@ -484,27 +491,38 @@ gst_segment_to_running_time (const GstSegment * segment, GstFormat format,
start += segment->offset;
/* before the segment boundary */
- if (G_UNLIKELY (position < start))
+ if (G_UNLIKELY (position < start)) {
+ GST_DEBUG ("position(%" G_GUINT64_FORMAT ") < start(%" G_GUINT64_FORMAT
+ ")", position, start);
return -1;
+ }
stop = segment->stop;
if (G_LIKELY (segment->rate > 0.0)) {
- /* outside of the segment boundary stop */
- if (G_UNLIKELY (stop != -1 && position > stop))
+ /* after of the segment boundary */
+ if (G_UNLIKELY (stop != -1 && position > stop)) {
+ GST_DEBUG ("position(%" G_GUINT64_FORMAT ") > stop(%" G_GUINT64_FORMAT
+ ")", position, stop);
return -1;
+ }
/* bring to uncorrected position in segment */
result = position - start;
} else {
/* cannot continue if no stop position set or outside of
* the segment. */
- if (G_UNLIKELY (stop == -1))
+ if (G_UNLIKELY (stop == -1)) {
+ GST_DEBUG ("invalid stop (-1)");
return -1;
+ }
stop -= segment->offset;
- if (G_UNLIKELY (position > stop))
+ if (G_UNLIKELY (position > stop)) {
+ GST_DEBUG ("position(%" G_GUINT64_FORMAT ") > stop(%" G_GUINT64_FORMAT
+ ")", position, stop);
return -1;
+ }
/* bring to uncorrected position in segment */
result = stop - position;
diff --git a/gst/gstsegment.h b/gst/gstsegment.h
index c364ce6..65f8a62 100644
--- a/gst/gstsegment.h
+++ b/gst/gstsegment.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gststructure.c b/gst/gststructure.c
index 1564257..f164d16 100644
--- a/gst/gststructure.c
+++ b/gst/gststructure.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -326,7 +326,7 @@ gst_structure_set_parent_refcount (GstStructure * structure, gint * refcount)
*
* Free-function: gst_structure_free
*
- * Returns: (transfer none): a new #GstStructure.
+ * Returns: (transfer full): a new #GstStructure.
*/
GstStructure *
gst_structure_copy (const GstStructure * structure)
@@ -1781,7 +1781,6 @@ priv_gst_structure_append_to_gstring (const GstStructure * structure,
g_return_val_if_fail (s != NULL, FALSE);
- g_string_append (s, g_quark_to_string (structure->name));
len = GST_STRUCTURE_FIELDS (structure)->len;
for (i = 0; i < len; i++) {
char *t;
@@ -1839,6 +1838,7 @@ gst_structure_to_string (const GstStructure * structure)
/* we estimate a minimum size based on the number of fields in order to
* avoid unnecessary reallocs within GString */
s = g_string_sized_new (STRUCTURE_ESTIMATED_STRING_LEN (structure));
+ g_string_append (s, g_quark_to_string (structure->name));
priv_gst_structure_append_to_gstring (structure, s);
return g_string_free (s, FALSE);
}
@@ -2236,54 +2236,41 @@ gst_structure_parse_value (gchar * str,
return ret;
}
-/**
- * gst_structure_from_string:
- * @string: a string representation of a #GstStructure.
- * @end: (out) (allow-none) (transfer none): pointer to store the end of the string in.
- *
- * Creates a #GstStructure from a string representation.
- * If end is not NULL, a pointer to the place inside the given string
- * where parsing ended will be returned.
- *
- * Free-function: gst_structure_free
- *
- * Returns: (transfer full): a new #GstStructure or NULL when the string could
- * not be parsed. Free with gst_structure_free() after use.
- */
-GstStructure *
-gst_structure_from_string (const gchar * string, gchar ** end)
+gboolean
+priv_gst_structure_parse_name (gchar * str, gchar ** start, gchar ** end,
+ gchar ** next)
{
- char *name;
- char *copy;
char *w;
char *r;
- char save;
- GstStructure *structure = NULL;
- GstStructureField field;
- g_return_val_if_fail (string != NULL, NULL);
-
- copy = g_strdup (string);
- r = copy;
+ r = str;
/* skip spaces (FIXME: _isspace treats tabs and newlines as space!) */
while (*r && (g_ascii_isspace (*r) || (r[0] == '\\'
&& g_ascii_isspace (r[1]))))
r++;
- name = r;
+ *start = r;
+
if (G_UNLIKELY (!gst_structure_parse_string (r, &w, &r, TRUE))) {
- GST_WARNING ("Failed to parse structure string '%s'", string);
- goto error;
+ GST_WARNING ("Failed to parse structure string '%s'", str);
+ return FALSE;
}
- save = *w;
- *w = '\0';
- structure = gst_structure_new_empty (name);
- *w = save;
+ *end = w;
+ *next = r;
- if (G_UNLIKELY (structure == NULL))
- goto error;
+ return TRUE;
+}
+
+gboolean
+priv_gst_structure_parse_fields (gchar * str, gchar ** end,
+ GstStructure * structure)
+{
+ gchar *r;
+ GstStructureField field;
+
+ r = str;
do {
while (*r && (g_ascii_isspace (*r) || (r[0] == '\\'
@@ -2300,7 +2287,7 @@ gst_structure_from_string (const gchar * string, gchar ** end)
}
if (G_UNLIKELY (*r != ',')) {
GST_WARNING ("Failed to find delimiter, r=%s", r);
- goto error;
+ return FALSE;
}
r++;
while (*r && (g_ascii_isspace (*r) || (r[0] == '\\'
@@ -2310,11 +2297,80 @@ gst_structure_from_string (const gchar * string, gchar ** end)
memset (&field, 0, sizeof (field));
if (G_UNLIKELY (!gst_structure_parse_field (r, &r, &field))) {
GST_WARNING ("Failed to parse field, r=%s", r);
- goto error;
+ return FALSE;
}
gst_structure_set_field (structure, &field);
} while (TRUE);
+ *end = r;
+
+ return TRUE;
+}
+
+/**
+ * gst_structure_new_from_string:
+ * @string: a string representation of a #GstStructure
+ *
+ * Creates a #GstStructure from a string representation.
+ * If end is not NULL, a pointer to the place inside the given string
+ * where parsing ended will be returned.
+ *
+ * Free-function: gst_structure_free
+ *
+ * Returns: (transfer full): a new #GstStructure or NULL when the string could
+ * not be parsed. Free with gst_structure_free() after use.
+ *
+ * Since: 1.2
+ */
+GstStructure *
+gst_structure_new_from_string (const gchar * string)
+{
+ return gst_structure_from_string (string, NULL);
+}
+
+/**
+ * gst_structure_from_string:
+ * @string: a string representation of a #GstStructure.
+ * @end: (out) (allow-none) (transfer none) (skip): pointer to store the end of the string in.
+ *
+ * Creates a #GstStructure from a string representation.
+ * If end is not NULL, a pointer to the place inside the given string
+ * where parsing ended will be returned.
+ *
+ * Free-function: gst_structure_free
+ *
+ * Returns: (transfer full): a new #GstStructure or NULL when the string could
+ * not be parsed. Free with gst_structure_free() after use.
+ */
+GstStructure *
+gst_structure_from_string (const gchar * string, gchar ** end)
+{
+ char *name;
+ char *copy;
+ char *w;
+ char *r;
+ char save;
+ GstStructure *structure = NULL;
+
+ g_return_val_if_fail (string != NULL, NULL);
+
+ copy = g_strdup (string);
+ r = copy;
+
+ if (!priv_gst_structure_parse_name (r, &name, &w, &r))
+ goto error;
+
+ save = *w;
+ *w = '\0';
+ structure = gst_structure_new_empty (name);
+ *w = save;
+
+ if (G_UNLIKELY (structure == NULL))
+ goto error;
+
+ if (!priv_gst_structure_parse_fields (r, &r, structure))
+ goto error;
+
if (end)
*end = (char *) string + (r - copy);
else if (*r)
@@ -2687,8 +2743,7 @@ default_fixate (GQuark field_id, const GValue * value, gpointer data)
GValue v = { 0 };
if (gst_value_fixate (&v, value)) {
- gst_structure_id_set_value (s, field_id, &v);
- g_value_unset (&v);
+ gst_structure_id_take_value (s, field_id, &v);
}
return TRUE;
}
@@ -3023,8 +3078,7 @@ gst_structure_intersect_field1 (GQuark id, const GValue * val1, gpointer data)
} else {
GValue dest_value = { 0 };
if (gst_value_intersect (&dest_value, val1, val2)) {
- gst_structure_id_set_value (idata->dest, id, &dest_value);
- g_value_unset (&dest_value);
+ gst_structure_id_take_value (idata->dest, id, &dest_value);
} else {
return FALSE;
}
@@ -3138,27 +3192,18 @@ gst_structure_can_intersect (const GstStructure * struct1,
}
static gboolean
-gst_caps_structure_has_field (GQuark field_id, const GValue * value,
+gst_caps_structure_is_superset_field (GQuark field_id, const GValue * value,
gpointer user_data)
{
GstStructure *subset = user_data;
-
- return gst_structure_id_get_value (subset, field_id) != NULL;
-}
-
-static gboolean
-gst_caps_structure_is_subset_field (GQuark field_id, const GValue * value,
- gpointer user_data)
-{
- GstStructure *superset = user_data;
const GValue *other;
int comparison;
- if (!(other = gst_structure_id_get_value (superset, field_id)))
- /* field is missing in the superset => is subset */
- return TRUE;
+ if (!(other = gst_structure_id_get_value (subset, field_id)))
+ /* field is missing in the subset => no subset */
+ return FALSE;
- comparison = gst_value_compare (other, value);
+ comparison = gst_value_compare (value, other);
/* equal values are subset */
if (comparison == GST_VALUE_EQUAL)
@@ -3168,7 +3213,7 @@ gst_caps_structure_is_subset_field (GQuark field_id, const GValue * value,
if (comparison != GST_VALUE_UNORDERED)
return FALSE;
- return gst_value_is_subset (value, other);
+ return gst_value_is_subset (other, value);
}
/**
@@ -3190,13 +3235,8 @@ gst_structure_is_subset (const GstStructure * subset,
(gst_structure_n_fields (superset) > gst_structure_n_fields (subset)))
return FALSE;
- /* The subset must have all fields that are in superset */
- if (!gst_structure_foreach ((GstStructure *) superset,
- gst_caps_structure_has_field, (gpointer) subset))
- return FALSE;
-
- return gst_structure_foreach ((GstStructure *) subset,
- gst_caps_structure_is_subset_field, (gpointer) superset);
+ return gst_structure_foreach ((GstStructure *) superset,
+ gst_caps_structure_is_superset_field, (gpointer) subset);
}
diff --git a/gst/gststructure.h b/gst/gststructure.h
index 90c4b59..f7cc61b 100644
--- a/gst/gststructure.h
+++ b/gst/gststructure.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_STRUCTURE_H__
@@ -51,8 +51,8 @@ typedef struct _GstStructure GstStructure;
* the foreach operation should stop with FALSE.
*/
typedef gboolean (*GstStructureForeachFunc) (GQuark field_id,
- const GValue * value,
- gpointer user_data);
+ const GValue * value,
+ gpointer user_data);
/**
* GstStructureMapFunc:
@@ -67,8 +67,8 @@ typedef gboolean (*GstStructureForeachFunc) (GQuark field_id,
* the map operation should stop with FALSE.
*/
typedef gboolean (*GstStructureMapFunc) (GQuark field_id,
- GValue * value,
- gpointer user_data);
+ GValue * value,
+ gpointer user_data);
/**
* GstStructure:
@@ -83,176 +83,224 @@ struct _GstStructure {
GQuark name;
};
-GType gst_structure_get_type (void);
-
-GstStructure * gst_structure_new_empty (const gchar * name) G_GNUC_MALLOC;
-GstStructure * gst_structure_new_id_empty (GQuark quark) G_GNUC_MALLOC;
-GstStructure * gst_structure_new (const gchar * name,
- const gchar * firstfield,
- ...) G_GNUC_NULL_TERMINATED G_GNUC_MALLOC;
-GstStructure * gst_structure_new_valist (const gchar * name,
- const gchar * firstfield,
- va_list varargs) G_GNUC_MALLOC;
-GstStructure * gst_structure_new_id (GQuark name_quark,
- GQuark field_quark,
- ...) G_GNUC_MALLOC;
-GstStructure * gst_structure_copy (const GstStructure *structure) G_GNUC_MALLOC;
-gboolean gst_structure_set_parent_refcount (GstStructure *structure,
- gint *refcount);
-void gst_structure_free (GstStructure *structure);
-
-const gchar * gst_structure_get_name (const GstStructure *structure);
-GQuark gst_structure_get_name_id (const GstStructure *structure);
-gboolean gst_structure_has_name (const GstStructure *structure,
- const gchar *name);
-void gst_structure_set_name (GstStructure *structure,
- const gchar *name);
-
-void gst_structure_id_set_value (GstStructure *structure,
- GQuark field,
- const GValue *value);
-void gst_structure_set_value (GstStructure *structure,
- const gchar *fieldname,
- const GValue *value);
-void gst_structure_id_take_value (GstStructure *structure,
- GQuark field,
- GValue *value);
-void gst_structure_take_value (GstStructure *structure,
- const gchar *fieldname,
- GValue *value);
-void gst_structure_set (GstStructure *structure,
- const gchar *fieldname,
- ...) G_GNUC_NULL_TERMINATED;
-
-void gst_structure_set_valist (GstStructure *structure,
- const gchar *fieldname,
- va_list varargs);
-
-void gst_structure_id_set (GstStructure *structure,
- GQuark fieldname,
- ...) G_GNUC_NULL_TERMINATED;
-
-void gst_structure_id_set_valist (GstStructure *structure,
- GQuark fieldname,
- va_list varargs);
-
-gboolean gst_structure_get_valist (const GstStructure *structure,
- const char *first_fieldname,
- va_list args);
-
-gboolean gst_structure_get (const GstStructure *structure,
- const char *first_fieldname,
- ...) G_GNUC_NULL_TERMINATED;
-
-gboolean gst_structure_id_get_valist (const GstStructure *structure,
- GQuark first_field_id,
- va_list args);
-
-gboolean gst_structure_id_get (const GstStructure *structure,
- GQuark first_field_id,
- ...) G_GNUC_NULL_TERMINATED;
-
-const GValue * gst_structure_id_get_value (const GstStructure *structure,
- GQuark field);
-const GValue * gst_structure_get_value (const GstStructure *structure,
- const gchar *fieldname);
-void gst_structure_remove_field (GstStructure *structure,
- const gchar *fieldname);
-void gst_structure_remove_fields (GstStructure *structure,
- const gchar *fieldname,
- ...) G_GNUC_NULL_TERMINATED;
-void gst_structure_remove_fields_valist (GstStructure *structure,
- const gchar *fieldname,
- va_list varargs);
-void gst_structure_remove_all_fields (GstStructure *structure);
-
-GType gst_structure_get_field_type (const GstStructure *structure,
- const gchar *fieldname);
-gboolean gst_structure_foreach (const GstStructure *structure,
- GstStructureForeachFunc func,
- gpointer user_data);
-gboolean gst_structure_map_in_place (GstStructure *structure,
- GstStructureMapFunc func,
- gpointer user_data);
-gint gst_structure_n_fields (const GstStructure *structure);
-const gchar * gst_structure_nth_field_name (const GstStructure *structure, guint index);
-gboolean gst_structure_id_has_field (const GstStructure *structure,
- GQuark field);
-gboolean gst_structure_id_has_field_typed (const GstStructure *structure,
- GQuark field,
- GType type);
-gboolean gst_structure_has_field (const GstStructure *structure,
- const gchar *fieldname);
-gboolean gst_structure_has_field_typed (const GstStructure *structure,
- const gchar *fieldname,
- GType type);
+GType gst_structure_get_type (void);
+
+GstStructure * gst_structure_new_empty (const gchar * name) G_GNUC_MALLOC;
+
+GstStructure * gst_structure_new_id_empty (GQuark quark) G_GNUC_MALLOC;
+
+GstStructure * gst_structure_new (const gchar * name,
+ const gchar * firstfield,
+ ...) G_GNUC_NULL_TERMINATED G_GNUC_MALLOC;
+
+GstStructure * gst_structure_new_valist (const gchar * name,
+ const gchar * firstfield,
+ va_list varargs) G_GNUC_MALLOC;
+
+GstStructure * gst_structure_new_id (GQuark name_quark,
+ GQuark field_quark,
+ ...) G_GNUC_MALLOC;
+
+GstStructure * gst_structure_new_from_string (const gchar * string);
+
+GstStructure * gst_structure_copy (const GstStructure * structure) G_GNUC_MALLOC;
+
+gboolean gst_structure_set_parent_refcount (GstStructure * structure,
+ gint * refcount);
+
+void gst_structure_free (GstStructure * structure);
+
+const gchar * gst_structure_get_name (const GstStructure * structure);
+
+GQuark gst_structure_get_name_id (const GstStructure * structure);
+
+gboolean gst_structure_has_name (const GstStructure * structure,
+ const gchar * name);
+
+void gst_structure_set_name (GstStructure * structure,
+ const gchar * name);
+
+void gst_structure_id_set_value (GstStructure * structure,
+ GQuark field,
+ const GValue * value);
+
+void gst_structure_set_value (GstStructure * structure,
+ const gchar * fieldname,
+ const GValue * value);
+
+void gst_structure_id_take_value (GstStructure * structure,
+ GQuark field,
+ GValue * value);
+
+void gst_structure_take_value (GstStructure * structure,
+ const gchar * fieldname,
+ GValue * value);
+
+void gst_structure_set (GstStructure * structure,
+ const gchar * fieldname,
+ ...) G_GNUC_NULL_TERMINATED;
+
+void gst_structure_set_valist (GstStructure * structure,
+ const gchar * fieldname,
+ va_list varargs);
+
+void gst_structure_id_set (GstStructure * structure,
+ GQuark fieldname,
+ ...) G_GNUC_NULL_TERMINATED;
+
+void gst_structure_id_set_valist (GstStructure * structure,
+ GQuark fieldname,
+ va_list varargs);
+
+gboolean gst_structure_get_valist (const GstStructure * structure,
+ const char * first_fieldname,
+ va_list args);
+
+gboolean gst_structure_get (const GstStructure * structure,
+ const char * first_fieldname,
+ ...) G_GNUC_NULL_TERMINATED;
+
+gboolean gst_structure_id_get_valist (const GstStructure * structure,
+ GQuark first_field_id,
+ va_list args);
+
+gboolean gst_structure_id_get (const GstStructure * structure,
+ GQuark first_field_id,
+ ...) G_GNUC_NULL_TERMINATED;
+
+const GValue * gst_structure_id_get_value (const GstStructure * structure,
+ GQuark field);
+
+const GValue * gst_structure_get_value (const GstStructure * structure,
+ const gchar * fieldname);
+
+void gst_structure_remove_field (GstStructure * structure,
+ const gchar * fieldname);
+
+void gst_structure_remove_fields (GstStructure * structure,
+ const gchar * fieldname,
+ ...) G_GNUC_NULL_TERMINATED;
+
+void gst_structure_remove_fields_valist (GstStructure * structure,
+ const gchar * fieldname,
+ va_list varargs);
+
+void gst_structure_remove_all_fields (GstStructure * structure);
+
+GType gst_structure_get_field_type (const GstStructure * structure,
+ const gchar * fieldname);
+
+gboolean gst_structure_foreach (const GstStructure * structure,
+ GstStructureForeachFunc func,
+ gpointer user_data);
+
+gboolean gst_structure_map_in_place (GstStructure * structure,
+ GstStructureMapFunc func,
+ gpointer user_data);
+
+gint gst_structure_n_fields (const GstStructure * structure);
+
+const gchar * gst_structure_nth_field_name (const GstStructure * structure,
+ guint index);
+
+gboolean gst_structure_id_has_field (const GstStructure * structure,
+ GQuark field);
+
+gboolean gst_structure_id_has_field_typed (const GstStructure * structure,
+ GQuark field,
+ GType type);
+
+gboolean gst_structure_has_field (const GstStructure * structure,
+ const gchar * fieldname);
+
+gboolean gst_structure_has_field_typed (const GstStructure * structure,
+ const gchar * fieldname,
+ GType type);
/* utility functions */
-gboolean gst_structure_get_boolean (const GstStructure *structure,
- const gchar *fieldname,
- gboolean *value);
-gboolean gst_structure_get_int (const GstStructure *structure,
- const gchar *fieldname,
- gint *value);
-gboolean gst_structure_get_uint (const GstStructure *structure,
- const gchar *fieldname,
- guint *value);
-gboolean gst_structure_get_double (const GstStructure *structure,
- const gchar *fieldname,
- gdouble *value);
-gboolean gst_structure_get_date (const GstStructure *structure,
- const gchar *fieldname,
- GDate **value);
-gboolean gst_structure_get_date_time (const GstStructure *structure,
- const gchar *fieldname,
- GstDateTime **value);
-gboolean gst_structure_get_clock_time (const GstStructure *structure,
- const gchar *fieldname,
- GstClockTime *value);
-const gchar * gst_structure_get_string (const GstStructure *structure,
- const gchar *fieldname);
-gboolean gst_structure_get_enum (const GstStructure *structure,
- const gchar *fieldname,
- GType enumtype,
- gint *value);
-gboolean gst_structure_get_fraction (const GstStructure *structure,
- const gchar *fieldname,
- gint *value_numerator,
- gint *value_denominator);
-
-gchar * gst_structure_to_string (const GstStructure *structure) G_GNUC_MALLOC;
-GstStructure * gst_structure_from_string (const gchar *string,
- gchar **end) G_GNUC_MALLOC;
-
-gboolean gst_structure_fixate_field_nearest_int (GstStructure *structure,
- const char *field_name,
- int target);
-gboolean gst_structure_fixate_field_nearest_double (GstStructure *structure,
- const char *field_name,
- double target);
-
-gboolean gst_structure_fixate_field_boolean (GstStructure *structure,
- const char *field_name,
- gboolean target);
-gboolean gst_structure_fixate_field_string (GstStructure *structure,
- const char *field_name,
- const gchar *target);
-gboolean gst_structure_fixate_field_nearest_fraction (GstStructure *structure,
- const char *field_name,
- const gint target_numerator,
- const gint target_denominator);
-gboolean gst_structure_fixate_field (GstStructure *structure,
- const char *field_name);
-
-gboolean gst_structure_is_equal(const GstStructure *structure1,
- const GstStructure *structure2);
-gboolean gst_structure_is_subset(const GstStructure *subset,
- const GstStructure *superset);
-gboolean gst_structure_can_intersect(const GstStructure *struct1,
- const GstStructure *struct2);
-GstStructure* gst_structure_intersect (const GstStructure *struct1,
- const GstStructure *struct2) G_GNUC_MALLOC;
-void gst_structure_fixate (GstStructure *structure);
+gboolean gst_structure_get_boolean (const GstStructure * structure,
+ const gchar * fieldname,
+ gboolean * value);
+
+gboolean gst_structure_get_int (const GstStructure * structure,
+ const gchar * fieldname,
+ gint * value);
+
+gboolean gst_structure_get_uint (const GstStructure * structure,
+ const gchar * fieldname,
+ guint * value);
+
+gboolean gst_structure_get_double (const GstStructure * structure,
+ const gchar * fieldname,
+ gdouble * value);
+
+gboolean gst_structure_get_date (const GstStructure * structure,
+ const gchar * fieldname,
+ GDate ** value);
+
+gboolean gst_structure_get_date_time (const GstStructure * structure,
+ const gchar * fieldname,
+ GstDateTime ** value);
+
+gboolean gst_structure_get_clock_time (const GstStructure * structure,
+ const gchar * fieldname,
+ GstClockTime * value);
+
+const gchar * gst_structure_get_string (const GstStructure * structure,
+ const gchar * fieldname);
+
+gboolean gst_structure_get_enum (const GstStructure * structure,
+ const gchar * fieldname,
+ GType enumtype,
+ gint * value);
+
+gboolean gst_structure_get_fraction (const GstStructure * structure,
+ const gchar * fieldname,
+ gint * value_numerator,
+ gint * value_denominator);
+
+gchar * gst_structure_to_string (const GstStructure * structure) G_GNUC_MALLOC;
+
+GstStructure * gst_structure_from_string (const gchar * string,
+ gchar ** end) G_GNUC_MALLOC;
+
+gboolean gst_structure_fixate_field_nearest_int (GstStructure * structure,
+ const char * field_name,
+ int target);
+
+gboolean gst_structure_fixate_field_nearest_double (GstStructure * structure,
+ const char * field_name,
+ double target);
+
+gboolean gst_structure_fixate_field_boolean (GstStructure * structure,
+ const char * field_name,
+ gboolean target);
+
+gboolean gst_structure_fixate_field_string (GstStructure * structure,
+ const char * field_name,
+ const gchar * target);
+
+gboolean gst_structure_fixate_field_nearest_fraction (GstStructure * structure,
+ const char * field_name,
+ const gint target_numerator,
+ const gint target_denominator);
+
+gboolean gst_structure_fixate_field (GstStructure * structure,
+ const char * field_name);
+
+void gst_structure_fixate (GstStructure * structure);
+
+gboolean gst_structure_is_equal (const GstStructure * structure1,
+ const GstStructure * structure2);
+
+gboolean gst_structure_is_subset (const GstStructure * subset,
+ const GstStructure * superset);
+
+gboolean gst_structure_can_intersect (const GstStructure * struct1,
+ const GstStructure * struct2);
+
+GstStructure * gst_structure_intersect (const GstStructure * struct1,
+ const GstStructure * struct2) G_GNUC_MALLOC;
G_END_DECLS
diff --git a/gst/gstsystemclock.c b/gst/gstsystemclock.c
index 8385e1a..5e7f6b1 100644
--- a/gst/gstsystemclock.c
+++ b/gst/gstsystemclock.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -521,7 +521,7 @@ gst_system_clock_get_internal_time (GstClock * clock)
GST_SECOND, sysclock->priv->frequency.QuadPart);
} else
#endif /* G_OS_WIN32 */
-#if !defined HAVE_POSIX_TIMERS
+#if !defined HAVE_POSIX_TIMERS || !defined HAVE_CLOCK_GETTIME
{
GTimeVal timeval;
@@ -555,7 +555,7 @@ gst_system_clock_get_resolution (GstClock * clock)
return GST_SECOND / sysclock->priv->frequency.QuadPart;
} else
#endif /* G_OS_WIN32 */
-#ifdef HAVE_POSIX_TIMERS
+#if defined(HAVE_POSIX_TIMERS) && defined(HAVE_CLOCK_GETTIME)
{
GstSystemClock *sysclock = GST_SYSTEM_CLOCK_CAST (clock);
clockid_t ptype;
diff --git a/gst/gstsystemclock.h b/gst/gstsystemclock.h
index fc3b9b1..aa9dc14 100644
--- a/gst/gstsystemclock.h
+++ b/gst/gstsystemclock.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gsttaglist.c b/gst/gsttaglist.c
index d27985a..5f4a5a1 100644
--- a/gst/gsttaglist.c
+++ b/gst/gsttaglist.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -1031,14 +1031,20 @@ gst_tag_list_add_value_internal (GstTagList * tag_list, GstTagMergeMode mode,
gst_structure_id_set_value (list, tag_quark, value);
break;
case GST_TAG_MERGE_PREPEND:
- gst_value_list_merge (&dest, value, value2);
- gst_structure_id_set_value (list, tag_quark, &dest);
- g_value_unset (&dest);
+ if (GST_VALUE_HOLDS_LIST (value2) && !GST_VALUE_HOLDS_LIST (value))
+ gst_value_list_prepend_value ((GValue *) value2, value);
+ else {
+ gst_value_list_merge (&dest, value, value2);
+ gst_structure_id_take_value (list, tag_quark, &dest);
+ }
break;
case GST_TAG_MERGE_APPEND:
- gst_value_list_merge (&dest, value2, value);
- gst_structure_id_set_value (list, tag_quark, &dest);
- g_value_unset (&dest);
+ if (GST_VALUE_HOLDS_LIST (value2) && !GST_VALUE_HOLDS_LIST (value))
+ gst_value_list_append_value ((GValue *) value2, value);
+ else {
+ gst_value_list_merge (&dest, value2, value);
+ gst_structure_id_take_value (list, tag_quark, &dest);
+ }
break;
case GST_TAG_MERGE_KEEP:
case GST_TAG_MERGE_KEEP_ALL:
diff --git a/gst/gsttaglist.h b/gst/gsttaglist.h
index a818105..c66e216 100644
--- a/gst/gsttaglist.h
+++ b/gst/gsttaglist.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gsttagsetter.c b/gst/gsttagsetter.c
index 80d920c..cd402cb 100644
--- a/gst/gsttagsetter.c
+++ b/gst/gsttagsetter.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gsttagsetter.h b/gst/gsttagsetter.h
index 580053c..509fc50 100644
--- a/gst/gsttagsetter.h
+++ b/gst/gsttagsetter.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_TAG_SETTER_H__
diff --git a/gst/gsttask.c b/gst/gsttask.c
index 34d4ffb..993eb70 100644
--- a/gst/gsttask.c
+++ b/gst/gsttask.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -38,7 +38,7 @@
* might sometimes be needed to create a #GstTask manually if it is not related to
* a #GstPad.
*
- * Before the #GstTask can be run, it needs a #GStaticRecMutex that can be set with
+ * Before the #GstTask can be run, it needs a #GRecMutex that can be set with
* gst_task_set_lock().
*
* The task can be started, paused and stopped with gst_task_start(), gst_task_pause()
@@ -386,7 +386,7 @@ gst_task_cleanup_all (void)
* This function will not yet create and start a thread. Use gst_task_start() or
* gst_task_pause() to create and start the GThread.
*
- * Before the task can be used, a #GStaticRecMutex must be configured using the
+ * Before the task can be used, a #GRecMutex must be configured using the
* gst_task_set_lock() function. This lock will always be acquired while
* @func is called.
*
diff --git a/gst/gsttask.h b/gst/gsttask.h
index 6464d86..85117ff 100644
--- a/gst/gsttask.h
+++ b/gst/gsttask.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_TASK_H__
diff --git a/gst/gsttaskpool.c b/gst/gsttaskpool.c
index ba7413b..e08f2a3 100644
--- a/gst/gsttaskpool.c
+++ b/gst/gsttaskpool.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gsttaskpool.h b/gst/gsttaskpool.h
index 4eccbfb..a1195dc 100644
--- a/gst/gsttaskpool.h
+++ b/gst/gsttaskpool.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_TASK_POOL_H__
diff --git a/gst/gsttoc.c b/gst/gsttoc.c
index 0b67126..6da7ad8 100644
--- a/gst/gsttoc.c
+++ b/gst/gsttoc.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -60,6 +60,15 @@
* chapters and angles, for example, while the current TOC would only contain
* the chapters for the currently playing title if playback of a specific
* title was requested.
+ *
+ * Applications and plugins should not rely on TOCs having a certain kind of
+ * structure, but should allow for different alternatives. For example, a
+ * simple CUE sheet embedded in a file may be presented as a flat list of
+ * track entries, or could have a top-level edition node (or some other
+ * alternative type entry) with track entries underneath that node; or even
+ * multiple top-level edition nodes (or some other alternative type entries)
+ * each with track entries underneath, in case the source file has extracted
+ * a track listing from different sources).
*/
#ifdef HAVE_CONFIG_H
diff --git a/gst/gsttoc.h b/gst/gsttoc.h
index 9439cca..632435a 100644
--- a/gst/gsttoc.h
+++ b/gst/gsttoc.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_TOC_H__
diff --git a/gst/gsttocsetter.c b/gst/gsttocsetter.c
index 2721b51..182a98c 100644
--- a/gst/gsttocsetter.c
+++ b/gst/gsttocsetter.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gsttocsetter.h b/gst/gsttocsetter.h
index 9c59fa5..885525c 100644
--- a/gst/gsttocsetter.h
+++ b/gst/gsttocsetter.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_TOC_SETTER_H__
diff --git a/gst/gsttrace.c b/gst/gsttrace.c
index 1d28c7e..4087929 100644
--- a/gst/gsttrace.c
+++ b/gst/gsttrace.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/gst/gsttrace.h b/gst/gsttrace.h
index 9cbf210..021729f 100644
--- a/gst/gsttrace.h
+++ b/gst/gsttrace.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gsttypefind.c b/gst/gsttypefind.c
index e493cbf..c414810 100644
--- a/gst/gsttypefind.c
+++ b/gst/gsttypefind.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gsttypefind.h b/gst/gsttypefind.h
index 0a987e4..f596f30 100644
--- a/gst/gsttypefind.h
+++ b/gst/gsttypefind.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gsttypefindfactory.c b/gst/gsttypefindfactory.c
index 26424d1..92eb52b 100644
--- a/gst/gsttypefindfactory.c
+++ b/gst/gsttypefindfactory.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gsttypefindfactory.h b/gst/gsttypefindfactory.h
index 332134b..64238ce 100644
--- a/gst/gsttypefindfactory.h
+++ b/gst/gsttypefindfactory.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_TYPE_FIND_FACTORY_H__
diff --git a/gst/gsturi.c b/gst/gsturi.c
index 552a66a..234a27d 100644
--- a/gst/gsturi.c
+++ b/gst/gsturi.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/gst/gsturi.h b/gst/gsturi.h
index d140c3d..8a4a9cc 100644
--- a/gst/gsturi.h
+++ b/gst/gsturi.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/gst/gstutils.c b/gst/gstutils.c
index 73585f8..454c7fa 100644
--- a/gst/gstutils.c
+++ b/gst/gstutils.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -2718,8 +2718,8 @@ gst_pad_peer_query_convert (GstPad * pad, GstFormat src_format, gint64 src_val,
* @filter: (allow-none): suggested #GstCaps, or NULL
*
* Gets the capabilities this pad can produce or consume.
- * Note that this method doesn't necessarily return the caps set by
- * gst_pad_set_caps() - use gst_pad_get_current_caps() for that instead.
+ * Note that this method doesn't necessarily return the caps set by sending a
+ * gst_event_new_caps() - use gst_pad_get_current_caps() for that instead.
* gst_pad_query_caps returns all possible caps a pad can operate with, using
* the pad's CAPS query function, If the query fails, this function will return
* @filter, if not #NULL, otherwise ANY.
@@ -3096,7 +3096,8 @@ gst_parse_bin_from_description_full (const gchar * bin_description,
GstClockTime
gst_util_get_timestamp (void)
{
-#if defined (HAVE_POSIX_TIMERS) && defined(HAVE_MONOTONIC_CLOCK)
+#if defined (HAVE_POSIX_TIMERS) && defined(HAVE_MONOTONIC_CLOCK) &&\
+ defined (HAVE_CLOCK_GETTIME)
struct timespec now;
clock_gettime (CLOCK_MONOTONIC, &now);
@@ -3699,6 +3700,10 @@ gst_pad_create_stream_id_printf (GstPad * pad, GstElement * parent,
* handler interface should ideally generate a unique, deterministic
* stream-id manually instead.
*
+ * Since stream IDs are sorted alphabetically, any numbers in the
+ * stream ID should be printed with a fixed number of characters,
+ * preceded by 0's, such as by using the format %%03u instead of %%u.
+ *
* Returns: A stream-id for @pad. g_free() after usage.
*/
gchar *
@@ -3707,3 +3712,43 @@ gst_pad_create_stream_id (GstPad * pad, GstElement * parent,
{
return gst_pad_create_stream_id_printf (pad, parent, stream_id, NULL);
}
+
+/**
+ * gst_pad_get_stream_id:
+ * @pad: A source #GstPad
+ *
+ * Returns the current stream-id for the @pad, or %NULL if none has been
+ * set yet, i.e. the pad has not received a stream-start event yet.
+ *
+ * This is a convenience wrapper around gst_pad_get_sticky_event() and
+ * gst_event_parse_stream_start().
+ *
+ * The returned stream-id string should be treated as an opaque string, its
+ * contents should not be interpreted.
+ *
+ * Returns: a newly-allocated copy of the stream-idfor @pad, or %NULL.
+ * g_free() the returned string when no longer needed.
+ *
+ * Since: 1.2
+ */
+gchar *
+gst_pad_get_stream_id (GstPad * pad)
+{
+ const gchar *stream_id = NULL;
+ GstEvent *event;
+ gchar *ret = NULL;
+
+ g_return_val_if_fail (GST_IS_PAD (pad), NULL);
+
+ event = gst_pad_get_sticky_event (pad, GST_EVENT_STREAM_START, 0);
+ if (event != NULL) {
+ gst_event_parse_stream_start (event, &stream_id);
+ ret = g_strdup (stream_id);
+ gst_event_unref (event);
+ GST_LOG_OBJECT (pad, "pad has stream-id '%s'", ret);
+ } else {
+ GST_DEBUG_OBJECT (pad, "pad has not received a stream-start event yet");
+ }
+
+ return ret;
+}
diff --git a/gst/gstutils.h b/gst/gstutils.h
index 269b375..54b7e45 100644
--- a/gst/gstutils.h
+++ b/gst/gstutils.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -158,7 +158,7 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
# define GST_READ_UINT64_LE(data) _GST_FAST_READ (64, data)
# endif
#else
-# define GST_READ_UINT64_BE(data) (_GST_GET (data, 0, 64, 56) | \
+#define _GST_READ_UINT64_BE(data) (_GST_GET (data, 0, 64, 56) | \
_GST_GET (data, 1, 64, 48) | \
_GST_GET (data, 2, 64, 40) | \
_GST_GET (data, 3, 64, 32) | \
@@ -167,7 +167,7 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
_GST_GET (data, 6, 64, 8) | \
_GST_GET (data, 7, 64, 0))
-# define GST_READ_UINT64_LE(data) (_GST_GET (data, 7, 64, 56) | \
+#define _GST_READ_UINT64_LE(data) (_GST_GET (data, 7, 64, 56) | \
_GST_GET (data, 6, 64, 48) | \
_GST_GET (data, 5, 64, 40) | \
_GST_GET (data, 4, 64, 32) | \
@@ -175,6 +175,15 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
_GST_GET (data, 2, 64, 16) | \
_GST_GET (data, 1, 64, 8) | \
_GST_GET (data, 0, 64, 0))
+
+#define GST_READ_UINT64_BE(data) __gst_slow_read64_be((const guint8 *)(data))
+static inline guint64 __gst_slow_read64_be (const guint8 * data) {
+ return _GST_READ_UINT64_BE (data);
+}
+#define GST_READ_UINT64_LE(data) __gst_slow_read64_le((const guint8 *)(data))
+static inline guint64 __gst_slow_read64_le (const guint8 * data) {
+ return _GST_READ_UINT64_LE (data);
+}
#endif
/**
@@ -199,15 +208,24 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
# define GST_READ_UINT32_LE(data) _GST_FAST_READ (32, data)
# endif
#else
-# define GST_READ_UINT32_BE(data) (_GST_GET (data, 0, 32, 24) | \
+#define _GST_READ_UINT32_BE(data) (_GST_GET (data, 0, 32, 24) | \
_GST_GET (data, 1, 32, 16) | \
_GST_GET (data, 2, 32, 8) | \
_GST_GET (data, 3, 32, 0))
-# define GST_READ_UINT32_LE(data) (_GST_GET (data, 3, 32, 24) | \
+#define _GST_READ_UINT32_LE(data) (_GST_GET (data, 3, 32, 24) | \
_GST_GET (data, 2, 32, 16) | \
_GST_GET (data, 1, 32, 8) | \
_GST_GET (data, 0, 32, 0))
+
+#define GST_READ_UINT32_BE(data) __gst_slow_read32_be((const guint8 *)(data))
+static inline guint32 __gst_slow_read32_be (const guint8 * data) {
+ return _GST_READ_UINT32_BE (data);
+}
+#define GST_READ_UINT32_LE(data) __gst_slow_read32_le((const guint8 *)(data))
+static inline guint32 __gst_slow_read32_le (const guint8 * data) {
+ return _GST_READ_UINT32_LE (data);
+}
#endif
/**
@@ -216,20 +234,30 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
*
* Read a 24 bit unsigned integer value in big endian format from the memory buffer.
*/
-#define GST_READ_UINT24_BE(data) (_GST_GET (data, 0, 32, 16) | \
+#define _GST_READ_UINT24_BE(data) (_GST_GET (data, 0, 32, 16) | \
_GST_GET (data, 1, 32, 8) | \
_GST_GET (data, 2, 32, 0))
+#define GST_READ_UINT24_BE(data) __gst_slow_read24_be((const guint8 *)(data))
+static inline guint32 __gst_slow_read24_be (const guint8 * data) {
+ return _GST_READ_UINT24_BE (data);
+}
+
/**
* GST_READ_UINT24_LE:
* @data: memory location
*
* Read a 24 bit unsigned integer value in little endian format from the memory buffer.
*/
-#define GST_READ_UINT24_LE(data) (_GST_GET (data, 2, 32, 16) | \
+#define _GST_READ_UINT24_LE(data) (_GST_GET (data, 2, 32, 16) | \
_GST_GET (data, 1, 32, 8) | \
_GST_GET (data, 0, 32, 0))
+#define GST_READ_UINT24_LE(data) __gst_slow_read24_le((const guint8 *)(data))
+static inline guint32 __gst_slow_read24_le (const guint8 * data) {
+ return _GST_READ_UINT24_LE (data);
+}
+
/**
* GST_READ_UINT16_BE:
* @data: memory location
@@ -251,11 +279,20 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
# define GST_READ_UINT16_LE(data) _GST_FAST_READ (16, data)
# endif
#else
-# define GST_READ_UINT16_BE(data) (_GST_GET (data, 0, 16, 8) | \
+#define _GST_READ_UINT16_BE(data) (_GST_GET (data, 0, 16, 8) | \
_GST_GET (data, 1, 16, 0))
-# define GST_READ_UINT16_LE(data) (_GST_GET (data, 1, 16, 8) | \
+#define _GST_READ_UINT16_LE(data) (_GST_GET (data, 1, 16, 8) | \
_GST_GET (data, 0, 16, 0))
+
+#define GST_READ_UINT16_BE(data) __gst_slow_read16_be((const guint8 *)(data))
+static inline guint16 __gst_slow_read16_be (const guint8 * data) {
+ return _GST_READ_UINT16_BE (data);
+}
+#define GST_READ_UINT16_LE(data) __gst_slow_read16_le((const guint8 *)(data))
+static inline guint16 __gst_slow_read16_le (const guint8 * data) {
+ return _GST_READ_UINT16_LE (data);
+}
#endif
/**
@@ -274,14 +311,15 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
* Store a 64 bit unsigned integer value in big endian format into the memory buffer.
*/
#define GST_WRITE_UINT64_BE(data, num) do { \
- _GST_PUT (data, 0, 64, 56, num); \
- _GST_PUT (data, 1, 64, 48, num); \
- _GST_PUT (data, 2, 64, 40, num); \
- _GST_PUT (data, 3, 64, 32, num); \
- _GST_PUT (data, 4, 64, 24, num); \
- _GST_PUT (data, 5, 64, 16, num); \
- _GST_PUT (data, 6, 64, 8, num); \
- _GST_PUT (data, 7, 64, 0, num); \
+ gpointer __put_data = data; \
+ _GST_PUT (__put_data, 0, 64, 56, num); \
+ _GST_PUT (__put_data, 1, 64, 48, num); \
+ _GST_PUT (__put_data, 2, 64, 40, num); \
+ _GST_PUT (__put_data, 3, 64, 32, num); \
+ _GST_PUT (__put_data, 4, 64, 24, num); \
+ _GST_PUT (__put_data, 5, 64, 16, num); \
+ _GST_PUT (__put_data, 6, 64, 8, num); \
+ _GST_PUT (__put_data, 7, 64, 0, num); \
} while (0)
/**
@@ -292,14 +330,15 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
* Store a 64 bit unsigned integer value in little endian format into the memory buffer.
*/
#define GST_WRITE_UINT64_LE(data, num) do { \
- _GST_PUT (data, 0, 64, 0, num); \
- _GST_PUT (data, 1, 64, 8, num); \
- _GST_PUT (data, 2, 64, 16, num); \
- _GST_PUT (data, 3, 64, 24, num); \
- _GST_PUT (data, 4, 64, 32, num); \
- _GST_PUT (data, 5, 64, 40, num); \
- _GST_PUT (data, 6, 64, 48, num); \
- _GST_PUT (data, 7, 64, 56, num); \
+ gpointer __put_data = data; \
+ _GST_PUT (__put_data, 0, 64, 0, num); \
+ _GST_PUT (__put_data, 1, 64, 8, num); \
+ _GST_PUT (__put_data, 2, 64, 16, num); \
+ _GST_PUT (__put_data, 3, 64, 24, num); \
+ _GST_PUT (__put_data, 4, 64, 32, num); \
+ _GST_PUT (__put_data, 5, 64, 40, num); \
+ _GST_PUT (__put_data, 6, 64, 48, num); \
+ _GST_PUT (__put_data, 7, 64, 56, num); \
} while (0)
/**
@@ -310,10 +349,11 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
* Store a 32 bit unsigned integer value in big endian format into the memory buffer.
*/
#define GST_WRITE_UINT32_BE(data, num) do { \
- _GST_PUT (data, 0, 32, 24, num); \
- _GST_PUT (data, 1, 32, 16, num); \
- _GST_PUT (data, 2, 32, 8, num); \
- _GST_PUT (data, 3, 32, 0, num); \
+ gpointer __put_data = data; \
+ _GST_PUT (__put_data, 0, 32, 24, num); \
+ _GST_PUT (__put_data, 1, 32, 16, num); \
+ _GST_PUT (__put_data, 2, 32, 8, num); \
+ _GST_PUT (__put_data, 3, 32, 0, num); \
} while (0)
/**
@@ -324,10 +364,11 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
* Store a 32 bit unsigned integer value in little endian format into the memory buffer.
*/
#define GST_WRITE_UINT32_LE(data, num) do { \
- _GST_PUT (data, 0, 32, 0, num); \
- _GST_PUT (data, 1, 32, 8, num); \
- _GST_PUT (data, 2, 32, 16, num); \
- _GST_PUT (data, 3, 32, 24, num); \
+ gpointer __put_data = data; \
+ _GST_PUT (__put_data, 0, 32, 0, num); \
+ _GST_PUT (__put_data, 1, 32, 8, num); \
+ _GST_PUT (__put_data, 2, 32, 16, num); \
+ _GST_PUT (__put_data, 3, 32, 24, num); \
} while (0)
/**
@@ -338,9 +379,10 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
* Store a 24 bit unsigned integer value in big endian format into the memory buffer.
*/
#define GST_WRITE_UINT24_BE(data, num) do { \
- _GST_PUT (data, 0, 32, 16, num); \
- _GST_PUT (data, 1, 32, 8, num); \
- _GST_PUT (data, 2, 32, 0, num); \
+ gpointer __put_data = data; \
+ _GST_PUT (__put_data, 0, 32, 16, num); \
+ _GST_PUT (__put_data, 1, 32, 8, num); \
+ _GST_PUT (__put_data, 2, 32, 0, num); \
} while (0)
/**
@@ -351,9 +393,10 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
* Store a 24 bit unsigned integer value in little endian format into the memory buffer.
*/
#define GST_WRITE_UINT24_LE(data, num) do { \
- _GST_PUT (data, 0, 32, 0, num); \
- _GST_PUT (data, 1, 32, 8, num); \
- _GST_PUT (data, 2, 32, 16, num); \
+ gpointer __put_data = data; \
+ _GST_PUT (__put_data, 0, 32, 0, num); \
+ _GST_PUT (__put_data, 1, 32, 8, num); \
+ _GST_PUT (__put_data, 2, 32, 16, num); \
} while (0)
/**
@@ -364,8 +407,9 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
* Store a 16 bit unsigned integer value in big endian format into the memory buffer.
*/
#define GST_WRITE_UINT16_BE(data, num) do { \
- _GST_PUT (data, 0, 16, 8, num); \
- _GST_PUT (data, 1, 16, 0, num); \
+ gpointer __put_data = data; \
+ _GST_PUT (__put_data, 0, 16, 8, num); \
+ _GST_PUT (__put_data, 1, 16, 0, num); \
} while (0)
/**
@@ -376,8 +420,9 @@ static inline guint64 __gst_fast_read_swap64(const guint8 *v) {
* Store a 16 bit unsigned integer value in little endian format into the memory buffer.
*/
#define GST_WRITE_UINT16_LE(data, num) do { \
- _GST_PUT (data, 0, 16, 0, num); \
- _GST_PUT (data, 1, 16, 8, num); \
+ gpointer __put_data = data; \
+ _GST_PUT (__put_data, 0, 16, 0, num); \
+ _GST_PUT (__put_data, 1, 16, 8, num); \
} while (0)
/**
@@ -892,6 +937,8 @@ gchar * gst_pad_create_stream_id (GstPad * pad, Gs
gchar * gst_pad_create_stream_id_printf (GstPad * pad, GstElement * parent, const gchar *stream_id, ...);
gchar * gst_pad_create_stream_id_printf_valist (GstPad * pad, GstElement * parent, const gchar *stream_id, va_list var_args);
+gchar * gst_pad_get_stream_id (GstPad * pad);
+
/* bin functions */
void gst_bin_add_many (GstBin *bin, GstElement *element_1, ...) G_GNUC_NULL_TERMINATED;
void gst_bin_remove_many (GstBin *bin, GstElement *element_1, ...) G_GNUC_NULL_TERMINATED;
diff --git a/gst/gstvalue.c b/gst/gstvalue.c
index 557f728..094064f 100644
--- a/gst/gstvalue.c
+++ b/gst/gstvalue.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -144,6 +144,12 @@ static gchar *gst_string_wrap (const gchar * s);
static gchar *gst_string_take_and_wrap (gchar * s);
static gchar *gst_string_unwrap (const gchar * s);
+static void gst_value_move (GValue * dest, GValue * src);
+static void _gst_value_list_append_and_take_value (GValue * value,
+ GValue * append_value);
+static void _gst_value_array_append_and_take_value (GValue * value,
+ GValue * append_value);
+
static inline GstValueTable *
gst_value_hash_lookup_type (GType type)
{
@@ -407,10 +413,37 @@ gst_value_list_or_array_are_compatible (const GValue * value1,
return FALSE;
}
+static inline void
+_gst_value_list_append_and_take_value (GValue * value, GValue * append_value)
+{
+ g_array_append_vals ((GArray *) value->data[0].v_pointer, append_value, 1);
+ memset (append_value, 0, sizeof (GValue));
+}
+
+/**
+ * gst_value_list_append_and_take_value:
+ * @value: a #GValue of type #GST_TYPE_LIST
+ * @append_value: (transfer full): the value to append
+ *
+ * Appends @append_value to the GstValueList in @value.
+ *
+ * Since: 1.2
+ */
+void
+gst_value_list_append_and_take_value (GValue * value, GValue * append_value)
+{
+ g_return_if_fail (GST_VALUE_HOLDS_LIST (value));
+ g_return_if_fail (G_IS_VALUE (append_value));
+ g_return_if_fail (gst_value_list_or_array_are_compatible (value,
+ append_value));
+
+ _gst_value_list_append_and_take_value (value, append_value);
+}
+
/**
* gst_value_list_append_value:
* @value: a #GValue of type #GST_TYPE_LIST
- * @append_value: the value to append
+ * @append_value: (transfer none): the value to append
*
* Appends @append_value to the GstValueList in @value.
*/
@@ -659,6 +692,33 @@ gst_value_array_append_value (GValue * value, const GValue * append_value)
g_array_append_vals ((GArray *) value->data[0].v_pointer, &val, 1);
}
+static inline void
+_gst_value_array_append_and_take_value (GValue * value, GValue * append_value)
+{
+ g_array_append_vals ((GArray *) value->data[0].v_pointer, append_value, 1);
+ memset (append_value, 0, sizeof (GValue));
+}
+
+/**
+ * gst_value_array_append_and_take_value:
+ * @value: a #GValue of type #GST_TYPE_ARRAY
+ * @append_value: (transfer full): the value to append
+ *
+ * Appends @append_value to the GstValueArray in @value.
+ *
+ * Since: 1.2
+ */
+void
+gst_value_array_append_and_take_value (GValue * value, GValue * append_value)
+{
+ g_return_if_fail (GST_VALUE_HOLDS_ARRAY (value));
+ g_return_if_fail (G_IS_VALUE (append_value));
+ g_return_if_fail (gst_value_list_or_array_are_compatible (value,
+ append_value));
+
+ _gst_value_array_append_and_take_value (value, append_value);
+}
+
/**
* gst_value_array_prepend_value:
* @value: a #GValue of type #GST_TYPE_ARRAY
@@ -1812,6 +1872,17 @@ gst_value_get_caps (const GValue * value)
return (GstCaps *) g_value_get_boxed (value);
}
+static gint
+gst_value_compare_caps (const GValue * value1, const GValue * value2)
+{
+ GstCaps *caps1 = GST_CAPS (gst_value_get_caps (value1));
+ GstCaps *caps2 = GST_CAPS (gst_value_get_caps (value2));
+
+ if (gst_caps_is_equal (caps1, caps2))
+ return GST_VALUE_EQUAL;
+ return GST_VALUE_UNORDERED;
+}
+
static gchar *
gst_value_serialize_caps (const GValue * value)
{
@@ -1976,6 +2047,76 @@ gst_value_deserialize_structure (GValue * dest, const gchar * s)
return FALSE;
}
+/*******************
+ * GstCapsFeatures *
+ *******************/
+
+/**
+ * gst_value_set_caps_features:
+ * @value: a GValue initialized to GST_TYPE_CAPS_FEATURES
+ * @features: the features to set the value to
+ *
+ * Sets the contents of @value to @features.
+ */
+void
+gst_value_set_caps_features (GValue * value, const GstCapsFeatures * features)
+{
+ g_return_if_fail (G_IS_VALUE (value));
+ g_return_if_fail (G_VALUE_TYPE (value) == GST_TYPE_CAPS_FEATURES);
+ g_return_if_fail (features == NULL || GST_IS_CAPS_FEATURES (features));
+
+ g_value_set_boxed (value, features);
+}
+
+/**
+ * gst_value_get_caps_features:
+ * @value: a GValue initialized to GST_TYPE_CAPS_FEATURES
+ *
+ * Gets the contents of @value.
+ *
+ * Returns: (transfer none): the contents of @value
+ */
+const GstCapsFeatures *
+gst_value_get_caps_features (const GValue * value)
+{
+ g_return_val_if_fail (G_IS_VALUE (value), NULL);
+ g_return_val_if_fail (G_VALUE_TYPE (value) == GST_TYPE_CAPS_FEATURES, NULL);
+
+ return (GstCapsFeatures *) g_value_get_boxed (value);
+}
+
+static gchar *
+gst_value_serialize_caps_features (const GValue * value)
+{
+ GstCapsFeatures *features = g_value_get_boxed (value);
+
+ return gst_string_take_and_wrap (gst_caps_features_to_string (features));
+}
+
+static gboolean
+gst_value_deserialize_caps_features (GValue * dest, const gchar * s)
+{
+ GstCapsFeatures *features;
+
+ if (*s != '"') {
+ features = gst_caps_features_from_string (s);
+ } else {
+ gchar *str = gst_string_unwrap (s);
+
+ if (G_UNLIKELY (!str))
+ return FALSE;
+
+ features = gst_caps_features_from_string (str);
+ g_free (str);
+ }
+
+ if (G_LIKELY (features)) {
+ g_value_take_boxed (dest, features);
+ return TRUE;
+ }
+ return FALSE;
+}
+
/**************
* GstTagList *
**************/
@@ -3490,19 +3631,18 @@ gst_value_intersect_list (GValue * dest, const GValue * value1,
if (gst_value_intersect (&intersection, cur, value2)) {
/* append value */
if (!ret) {
- gst_value_init_and_copy (dest, &intersection);
+ gst_value_move (dest, &intersection);
ret = TRUE;
} else if (GST_VALUE_HOLDS_LIST (dest)) {
- gst_value_list_append_value (dest, &intersection);
+ _gst_value_list_append_and_take_value (dest, &intersection);
} else {
- GValue temp = { 0, };
+ GValue temp;
- gst_value_init_and_copy (&temp, dest);
- g_value_unset (dest);
+ gst_value_move (&temp, dest);
gst_value_list_merge (dest, &temp, &intersection);
g_value_unset (&temp);
+ g_value_unset (&intersection);
}
- g_value_unset (&intersection);
}
}
@@ -3541,8 +3681,7 @@ gst_value_intersect_array (GValue * dest, const GValue * src1,
g_value_unset (dest);
return FALSE;
}
- gst_value_array_append_value (dest, &val);
- g_value_unset (&val);
+ _gst_value_array_append_and_take_value (dest, &val);
}
return TRUE;
@@ -4015,20 +4154,19 @@ gst_value_subtract_from_list (GValue * dest, const GValue * minuend,
if (gst_value_subtract (&subtraction, cur, subtrahend)) {
if (!ret) {
- gst_value_init_and_copy (dest, &subtraction);
+ gst_value_move (dest, &subtraction);
ret = TRUE;
} else if (G_VALUE_HOLDS (dest, ltype)
&& !G_VALUE_HOLDS (&subtraction, ltype)) {
- gst_value_list_append_value (dest, &subtraction);
+ _gst_value_list_append_and_take_value (dest, &subtraction);
} else {
- GValue temp = { 0, };
+ GValue temp;
- gst_value_init_and_copy (&temp, dest);
- g_value_unset (dest);
+ gst_value_move (&temp, dest);
gst_value_list_concat (dest, &temp, &subtraction);
g_value_unset (&temp);
+ g_value_unset (&subtraction);
}
- g_value_unset (&subtraction);
}
}
return ret;
@@ -4058,9 +4196,11 @@ gst_value_subtract_list (GValue * dest, const GValue * minuend,
return FALSE;
}
}
- if (dest)
- gst_value_init_and_copy (dest, result);
- g_value_unset (result);
+ if (dest) {
+ gst_value_move (dest, result);
+ } else {
+ g_value_unset (result);
+ }
return TRUE;
}
@@ -4737,11 +4877,8 @@ gst_value_register_subtract_func (GType minuend_type, GType subtrahend_type,
{
GstValueSubtractInfo info;
- /* one type must be unfixed, other subtractions can be done as comparisons,
- * special case: bitmasks */
- if (minuend_type != GST_TYPE_BITMASK)
- g_return_if_fail (!gst_type_is_fixed (minuend_type)
- || !gst_type_is_fixed (subtrahend_type));
+ g_return_if_fail (!gst_type_is_fixed (minuend_type)
+ || !gst_type_is_fixed (subtrahend_type));
info.minuend = minuend_type;
info.subtrahend = subtrahend_type;
@@ -4793,6 +4930,17 @@ gst_value_init_and_copy (GValue * dest, const GValue * src)
g_value_copy (src, dest);
}
+/* move src into dest and clear src */
+static void
+gst_value_move (GValue * dest, GValue * src)
+{
+ g_assert (G_IS_VALUE (src));
+ g_assert (dest != NULL);
+
+ *dest = *src;
+ memset (src, 0, sizeof (GValue));
+}
+
/**
* gst_value_serialize:
* @value: a #GValue to serialize
@@ -4962,9 +5110,11 @@ gst_value_fixate (GValue * dest, const GValue * src)
gst_value_init_and_copy (&temp, gst_value_list_get_value (src, 0));
- if (!gst_value_fixate (dest, &temp))
- gst_value_init_and_copy (dest, &temp);
- g_value_unset (&temp);
+ if (!gst_value_fixate (dest, &temp)) {
+ gst_value_move (dest, &temp);
+ } else {
+ g_value_unset (&temp);
+ }
} else if (G_VALUE_TYPE (src) == GST_TYPE_ARRAY) {
gboolean res = FALSE;
guint n, len;
@@ -4979,8 +5129,7 @@ gst_value_fixate (GValue * dest, const GValue * src)
gst_value_init_and_copy (&kid, orig_kid);
else
res = TRUE;
- gst_value_array_append_value (dest, &kid);
- g_value_unset (&kid);
+ _gst_value_array_append_and_take_value (dest, &kid);
}
if (!res)
@@ -5618,58 +5767,6 @@ gst_value_transform_bitmask_uint64 (const GValue * src_value,
dest_value->data[0].v_uint64 = src_value->data[0].v_uint64;
}
-static gboolean
-gst_value_intersect_bitmask_bitmask (GValue * dest, const GValue * src1,
- const GValue * src2)
-{
- guint64 s1, s2;
-
- s1 = gst_value_get_bitmask (src1);
- s2 = gst_value_get_bitmask (src2);
-
- if (dest) {
- g_value_init (dest, GST_TYPE_BITMASK);
- gst_value_set_bitmask (dest, s1 & s2);
- }
-
- return TRUE;
-}
-
-static gboolean
-gst_value_union_bitmask_bitmask (GValue * dest, const GValue * src1,
- const GValue * src2)
-{
- guint64 s1, s2;
-
- s1 = gst_value_get_bitmask (src1);
- s2 = gst_value_get_bitmask (src2);
-
- g_value_init (dest, GST_TYPE_BITMASK);
- gst_value_set_bitmask (dest, s1 | s2);
-
- return TRUE;
-}
-
-static gboolean
-gst_value_subtract_bitmask_bitmask (GValue * dest,
- const GValue * minuend, const GValue * subtrahend)
-{
- guint64 m, s, r;
-
- g_return_val_if_fail (GST_VALUE_HOLDS_BITMASK (minuend), FALSE);
- g_return_val_if_fail (GST_VALUE_HOLDS_BITMASK (subtrahend), FALSE);
-
- m = minuend->data[0].v_uint64;
- s = subtrahend->data[0].v_uint64;
- r = m & (~s);
-
- if (dest) {
- g_value_init (dest, GST_TYPE_BITMASK);
- gst_value_set_bitmask (dest, r);
- }
- return (r != 0);
-}
-
static gint
gst_value_compare_bitmask (const GValue * value1, const GValue * value2)
{
@@ -5844,6 +5941,25 @@ static const GTypeValueTable _gst_bitmask_value_table = {
FUNC_VALUE_GET_TYPE (bitmask, "GstBitmask");
+GType
+gst_g_thread_get_type (void)
+{
+#if GLIB_CHECK_VERSION(2,35,3)
+ return G_TYPE_THREAD;
+#else
+ static volatile gsize type_id = 0;
+
+ if (g_once_init_enter (&type_id)) {
+ GType tmp =
+ g_boxed_type_register_static (g_intern_static_string ("GstGThread"),
+ (GBoxedCopyFunc) g_thread_ref,
+ (GBoxedFreeFunc) g_thread_unref);
+ g_once_init_leave (&type_id, tmp);
+ }
+
+ return type_id;
+#endif
+}
void
_priv_gst_value_initialize (void)
@@ -5977,7 +6093,7 @@ _priv_gst_value_initialize (void)
{
static GstValueTable gst_value = {
0,
- NULL,
+ gst_value_compare_caps,
gst_value_serialize_caps,
gst_value_deserialize_caps,
};
@@ -6011,6 +6127,17 @@ _priv_gst_value_initialize (void)
static GstValueTable gst_value = {
0,
NULL,
+ gst_value_serialize_caps_features,
+ gst_value_deserialize_caps_features,
+ };
+
+ gst_value.type = GST_TYPE_CAPS_FEATURES;
+ gst_value_register (&gst_value);
+ }
+ {
+ static GstValueTable gst_value = {
+ 0,
+ NULL,
gst_value_serialize_tag_list,
gst_value_deserialize_tag_list,
};
@@ -6131,8 +6258,6 @@ _priv_gst_value_initialize (void)
gst_value_register_intersect_func (GST_TYPE_FRACTION_RANGE,
GST_TYPE_FRACTION_RANGE,
gst_value_intersect_fraction_range_fraction_range);
- gst_value_register_intersect_func (GST_TYPE_BITMASK,
- GST_TYPE_BITMASK, gst_value_intersect_bitmask_bitmask);
gst_value_register_subtract_func (G_TYPE_INT, GST_TYPE_INT_RANGE,
gst_value_subtract_int_int_range);
@@ -6159,8 +6284,6 @@ _priv_gst_value_initialize (void)
gst_value_register_subtract_func (GST_TYPE_FRACTION_RANGE,
GST_TYPE_FRACTION_RANGE,
gst_value_subtract_fraction_range_fraction_range);
- gst_value_register_subtract_func (GST_TYPE_BITMASK,
- GST_TYPE_BITMASK, gst_value_subtract_bitmask_bitmask);
/* see bug #317246, #64994, #65041 */
{
@@ -6173,8 +6296,6 @@ _priv_gst_value_initialize (void)
gst_value_union_int_int_range);
gst_value_register_union_func (GST_TYPE_INT_RANGE, GST_TYPE_INT_RANGE,
gst_value_union_int_range_int_range);
- gst_value_register_union_func (GST_TYPE_BITMASK,
- GST_TYPE_BITMASK, gst_value_union_bitmask_bitmask);
#if 0
/* Implement these if needed */
diff --git a/gst/gstvalue.h b/gst/gstvalue.h
index 4ea492f..d03d22e 100644
--- a/gst/gstvalue.h
+++ b/gst/gstvalue.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_VALUE_H__
@@ -23,6 +23,7 @@
#include <gst/gstconfig.h>
#include <gst/gstcaps.h>
#include <gst/gststructure.h>
+#include <gst/gstcapsfeatures.h>
G_BEGIN_DECLS
@@ -150,6 +151,14 @@ G_BEGIN_DECLS
#define GST_VALUE_HOLDS_STRUCTURE(x) (G_VALUE_HOLDS((x), GST_TYPE_STRUCTURE))
/**
+ * GST_VALUE_HOLDS_CAPS_FEATURES:
+ * @x: the #GValue to check
+ *
+ * Checks if the given #GValue contains a #GST_TYPE_CAPS_FEATURES value.
+ */
+#define GST_VALUE_HOLDS_CAPS_FEATURES(x) (G_VALUE_HOLDS((x), GST_TYPE_CAPS_FEATURES))
+
+/**
* GST_VALUE_HOLDS_BUFFER:
* @x: the #GValue to check
*
@@ -284,6 +293,16 @@ G_BEGIN_DECLS
#define GST_TYPE_BITMASK gst_bitmask_get_type ()
/**
+ * GST_TYPE_G_THREAD:
+ *
+ * a boxed #GValue type for #GThread that represents a thread.
+ *
+ * Returns: the #GType of GstGThread
+ */
+
+#define GST_TYPE_G_THREAD gst_g_thread_get_type ()
+
+/**
* GST_VALUE_LESS_THAN:
*
* Indicates that the first value provided to a comparison function
@@ -381,6 +400,11 @@ GType gst_value_list_get_type (void);
GType gst_value_array_get_type (void);
GType gst_bitmask_get_type (void);
+/* Hide this compatibility type from introspection */
+#ifndef __GI_SCANNER__
+GType gst_g_thread_get_type (void);
+#endif
+
GType gst_date_time_get_type (void);
void gst_value_register (const GstValueTable *table);
@@ -394,6 +418,8 @@ gboolean gst_value_deserialize (GValue *dest,
/* list */
void gst_value_list_append_value (GValue *value,
const GValue *append_value);
+void gst_value_list_append_and_take_value (GValue *value,
+ GValue *append_value);
void gst_value_list_prepend_value (GValue *value,
const GValue *prepend_value);
void gst_value_list_concat (GValue *dest,
@@ -409,6 +435,8 @@ const GValue * gst_value_list_get_value (const GValue *value,
/* array */
void gst_value_array_append_value (GValue *value,
const GValue *append_value);
+void gst_value_array_append_and_take_value (GValue *value,
+ GValue *append_value);
void gst_value_array_prepend_value (GValue *value,
const GValue *prepend_value);
guint gst_value_array_get_size (const GValue *value);
@@ -457,6 +485,12 @@ const GstStructure *
void gst_value_set_structure (GValue *value,
const GstStructure *structure);
+/* caps features */
+const GstCapsFeatures *
+ gst_value_get_caps_features (const GValue *value);
+void gst_value_set_caps_features (GValue *value,
+ const GstCapsFeatures *features);
+
/* fraction */
void gst_value_set_fraction (GValue *value,
gint numerator,
diff --git a/gst/gstversion.h.in b/gst/gstversion.h.in
index 9ba49f3..4ed2c92 100644
--- a/gst/gstversion.h.in
+++ b/gst/gstversion.h.in
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstversion
diff --git a/gst/math-compat.h b/gst/math-compat.h
index d160c2c..7573b3a 100644
--- a/gst/math-compat.h
+++ b/gst/math-compat.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_MATH_COMPAT_H__
diff --git a/gst/parse/Makefile.in b/gst/parse/Makefile.in
index f24c5eb..c09ba42 100644
--- a/gst/parse/Makefile.in
+++ b/gst/parse/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,23 +16,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,15 +81,14 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = gst/parse
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp $(noinst_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -86,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -108,10 +136,23 @@ libgstparse_la_OBJECTS = $(nodist_libgstparse_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
libgstparse_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(libgstparse_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
$@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -124,20 +165,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(nodist_libgstparse_la_SOURCES)
DIST_SOURCES =
am__can_run_installinfo = \
@@ -146,6 +183,23 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -247,15 +301,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -265,11 +315,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -277,6 +325,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -339,6 +388,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -489,12 +539,15 @@ $(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
libgstparse.la: $(libgstparse_la_OBJECTS) $(libgstparse_la_DEPENDENCIES) $(EXTRA_libgstparse_la_DEPENDENCIES)
$(AM_V_CCLD)$(libgstparse_la_LINK) $(libgstparse_la_OBJECTS) $(libgstparse_la_LIBADD) $(LIBS)
@@ -548,26 +601,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -579,15 +621,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -596,6 +634,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -738,18 +791,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
Android.mk: Makefile.am
diff --git a/gst/parse/grammar.tab.h b/gst/parse/grammar.tab.h
index 164198f..1d4e16a 100644
--- a/gst/parse/grammar.tab.h
+++ b/gst/parse/grammar.tab.h
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.5. */
+/* A Bison parser, made by GNU Bison 2.7.12-4996. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,6 +30,15 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+#ifndef YY_PRIV_GST_PARSE_YY_GRAMMAR_TAB_H_INCLUDED
+# define YY_PRIV_GST_PARSE_YY_GRAMMAR_TAB_H_INCLUDED
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int priv_gst_parse_yydebug;
+#endif
/* Tokens. */
#ifndef YYTOKENTYPE
@@ -48,12 +57,10 @@
#endif
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-
-/* Line 2068 of yacc.c */
+/* Line 2053 of yacc.c */
#line 632 "./grammar.y"
gchar *s;
@@ -64,9 +71,8 @@ typedef union YYSTYPE
graph_t *g;
-
-/* Line 2068 of yacc.c */
-#line 70 "grammar.tab.h"
+/* Line 2053 of yacc.c */
+#line 76 "grammar.tab.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -74,5 +80,18 @@ typedef union YYSTYPE
#endif
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int priv_gst_parse_yyparse (void *YYPARSE_PARAM);
+#else
+int priv_gst_parse_yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int priv_gst_parse_yyparse (void *scanner, graph_t *graph);
+#else
+int priv_gst_parse_yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
-
+#endif /* !YY_PRIV_GST_PARSE_YY_GRAMMAR_TAB_H_INCLUDED */
diff --git a/gst/printf/Makefile.am b/gst/printf/Makefile.am
new file mode 100644
index 0000000..1388be7
--- /dev/null
+++ b/gst/printf/Makefile.am
@@ -0,0 +1,32 @@
+AM_CPPFLAGS = $(GLIB_CFLAGS) -DSTATIC=G_GNUC_INTERNAL $(WARNING_CFLAGS) $(PRINTF_CFLAGS)
+
+# don't have a need for that and it's not portable so just ignore for now
+AM_CPPFLAGS += -UHAVE_LONG_DOUBLE
+
+# just use internal emulation for printing long longs for now
+AM_CPPFLAGS += -UHAVE_LONG_LONG_FORMAT
+
+# don't need any of this widechar stuff, so just disable it for now
+AM_CPPFLAGS += -UHAVE_WCHAR_T -UHAVE_WCSLEN -UHAVE_WINT_T
+
+# in case anyone wants to add anything else or undo some of the undefs
+AM_CPPFLAGS += $(PRINTF_EXTRA_CFLAGS)
+
+noinst_LTLIBRARIES = libgstprintf.la
+
+libgstprintf_la_CFLAGS =
+libgstprintf_la_SOURCES = \
+ asnprintf.c \
+ printf-args.c \
+ printf-args.h \
+ printf-parse.c \
+ printf-parse.h \
+ vasnprintf.c \
+ vasnprintf.h \
+ printf.c \
+ printf.h \
+ printf-extension.c \
+ printf-extension.h \
+ gst-printf.h
+
+EXTRA_DIST = README
diff --git a/gst/printf/Makefile.in b/gst/printf/Makefile.in
new file mode 100644
index 0000000..16ab662
--- /dev/null
+++ b/gst/printf/Makefile.in
@@ -0,0 +1,846 @@
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = gst/printf
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp README
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
+ $(top_srcdir)/common/m4/as-auto-alt.m4 \
+ $(top_srcdir)/common/m4/as-compiler-flag.m4 \
+ $(top_srcdir)/common/m4/as-docbook.m4 \
+ $(top_srcdir)/common/m4/as-libtool.m4 \
+ $(top_srcdir)/common/m4/as-scrub-include.m4 \
+ $(top_srcdir)/common/m4/as-version.m4 \
+ $(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/common/m4/gst-arch.m4 \
+ $(top_srcdir)/common/m4/gst-args.m4 \
+ $(top_srcdir)/common/m4/gst-check.m4 \
+ $(top_srcdir)/common/m4/gst-doc.m4 \
+ $(top_srcdir)/common/m4/gst-error.m4 \
+ $(top_srcdir)/common/m4/gst-feature.m4 \
+ $(top_srcdir)/common/m4/gst-function.m4 \
+ $(top_srcdir)/common/m4/gst-gettext.m4 \
+ $(top_srcdir)/common/m4/gst-glib2.m4 \
+ $(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
+ $(top_srcdir)/common/m4/gst-parser.m4 \
+ $(top_srcdir)/common/m4/gst-platform.m4 \
+ $(top_srcdir)/common/m4/gst-plugin-docs.m4 \
+ $(top_srcdir)/common/m4/gst-plugindir.m4 \
+ $(top_srcdir)/common/m4/gst.m4 \
+ $(top_srcdir)/common/m4/gtk-doc.m4 \
+ $(top_srcdir)/common/m4/introspection.m4 \
+ $(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
+ $(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libgstprintf_la_LIBADD =
+am_libgstprintf_la_OBJECTS = libgstprintf_la-asnprintf.lo \
+ libgstprintf_la-printf-args.lo libgstprintf_la-printf-parse.lo \
+ libgstprintf_la-vasnprintf.lo libgstprintf_la-printf.lo \
+ libgstprintf_la-printf-extension.lo
+libgstprintf_la_OBJECTS = $(am_libgstprintf_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libgstprintf_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(libgstprintf_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libgstprintf_la_SOURCES)
+DIST_SOURCES = $(libgstprintf_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BISON_PATH = @BISON_PATH@
+CAT_ENTRY_END = @CAT_ENTRY_END@
+CAT_ENTRY_START = @CAT_ENTRY_START@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHECK_MAJOR_VERSION = @CHECK_MAJOR_VERSION@
+CHECK_MICRO_VERSION = @CHECK_MICRO_VERSION@
+CHECK_MINOR_VERSION = @CHECK_MINOR_VERSION@
+CHECK_VERSION = @CHECK_VERSION@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIR = @DATADIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DOCBOOK_ROOT = @DOCBOOK_ROOT@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SUBUNIT = @ENABLE_SUBUNIT@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+EXEEXT = @EXEEXT@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLEX_PATH = @FLEX_PATH@
+GCOV = @GCOV@
+GCOV_CFLAGS = @GCOV_CFLAGS@
+GCOV_LIBS = @GCOV_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LDFLAGS = @GIO_LDFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GLIB_PREFIX = @GLIB_PREFIX@
+GLIB_REQ = @GLIB_REQ@
+GMP_LIBS = @GMP_LIBS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GSL_LIBS = @GSL_LIBS@
+GST_AGE = @GST_AGE@
+GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
+GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
+GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
+GST_ALL_LIBS = @GST_ALL_LIBS@
+GST_API_VERSION = @GST_API_VERSION@
+GST_CURRENT = @GST_CURRENT@
+GST_DISABLE_ALLOC_TRACE_DEFINE = @GST_DISABLE_ALLOC_TRACE_DEFINE@
+GST_DISABLE_GST_DEBUG_DEFINE = @GST_DISABLE_GST_DEBUG_DEFINE@
+GST_DISABLE_OPTION_PARSING_DEFINE = @GST_DISABLE_OPTION_PARSING_DEFINE@
+GST_DISABLE_PARSE_DEFINE = @GST_DISABLE_PARSE_DEFINE@
+GST_DISABLE_PLUGIN_DEFINE = @GST_DISABLE_PLUGIN_DEFINE@
+GST_DISABLE_REGISTRY_DEFINE = @GST_DISABLE_REGISTRY_DEFINE@
+GST_DISABLE_TRACE_DEFINE = @GST_DISABLE_TRACE_DEFINE@
+GST_HAVE_MONOTONIC_CLOCK_DEFINE = @GST_HAVE_MONOTONIC_CLOCK_DEFINE@
+GST_HAVE_POSIX_TIMERS_DEFINE = @GST_HAVE_POSIX_TIMERS_DEFINE@
+GST_HAVE_UNALIGNED_ACCESS_DEFINE = @GST_HAVE_UNALIGNED_ACCESS_DEFINE@
+GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
+GST_LIBVERSION = @GST_LIBVERSION@
+GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
+GST_LICENSE = @GST_LICENSE@
+GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
+GST_OBJ_CFLAGS = @GST_OBJ_CFLAGS@
+GST_OBJ_CXXFLAGS = @GST_OBJ_CXXFLAGS@
+GST_OBJ_LIBS = @GST_OBJ_LIBS@
+GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
+GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
+GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
+GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
+GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
+GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
+GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
+GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
+GST_REVISION = @GST_REVISION@
+GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
+GST_VERSION_MICRO = @GST_VERSION_MICRO@
+GST_VERSION_MINOR = @GST_VERSION_MINOR@
+GST_VERSION_NANO = @GST_VERSION_NANO@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
+HAVE_DVIPS = @HAVE_DVIPS@
+HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
+HAVE_GMP = @HAVE_GMP@
+HAVE_GSL = @HAVE_GSL@
+HAVE_JADETEX = @HAVE_JADETEX@
+HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
+HAVE_PNMTOPS = @HAVE_PNMTOPS@
+HAVE_PS2PDF = @HAVE_PS2PDF@
+HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
+HOST_CPU = @HOST_CPU@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBDIR = @LIBDIR@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBM = @LIBM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALEDIR = @LOCALEDIR@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
+PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
+PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
+PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
+PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL_PATH = @PERL_PATH@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGINDIR = @PLUGINDIR@
+POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
+PROFILE_CFLAGS = @PROFILE_CFLAGS@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
+VALGRIND_LIBS = @VALGRIND_LIBS@
+VALGRIND_PATH = @VALGRIND_PATH@
+VERSION = @VERSION@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+WIN32_LIBS = @WIN32_LIBS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+XML_CATALOG = @XML_CATALOG@
+XSLTPROC = @XSLTPROC@
+XSLTPROC_FLAGS = @XSLTPROC_FLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+plugindir = @plugindir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# don't have a need for that and it's not portable so just ignore for now
+
+# just use internal emulation for printing long longs for now
+
+# don't need any of this widechar stuff, so just disable it for now
+
+# in case anyone wants to add anything else or undo some of the undefs
+AM_CPPFLAGS = $(GLIB_CFLAGS) -DSTATIC=G_GNUC_INTERNAL \
+ $(WARNING_CFLAGS) $(PRINTF_CFLAGS) -UHAVE_LONG_DOUBLE \
+ -UHAVE_LONG_LONG_FORMAT -UHAVE_WCHAR_T -UHAVE_WCSLEN \
+ -UHAVE_WINT_T $(PRINTF_EXTRA_CFLAGS)
+noinst_LTLIBRARIES = libgstprintf.la
+libgstprintf_la_CFLAGS =
+libgstprintf_la_SOURCES = \
+ asnprintf.c \
+ printf-args.c \
+ printf-args.h \
+ printf-parse.c \
+ printf-parse.h \
+ vasnprintf.c \
+ vasnprintf.h \
+ printf.c \
+ printf.h \
+ printf-extension.c \
+ printf-extension.h \
+ gst-printf.h
+
+EXTRA_DIST = README
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/printf/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gst/printf/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libgstprintf.la: $(libgstprintf_la_OBJECTS) $(libgstprintf_la_DEPENDENCIES) $(EXTRA_libgstprintf_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libgstprintf_la_LINK) $(libgstprintf_la_OBJECTS) $(libgstprintf_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstprintf_la-asnprintf.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstprintf_la-printf-args.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstprintf_la-printf-extension.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstprintf_la-printf-parse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstprintf_la-printf.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstprintf_la-vasnprintf.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+libgstprintf_la-asnprintf.lo: asnprintf.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -MT libgstprintf_la-asnprintf.lo -MD -MP -MF $(DEPDIR)/libgstprintf_la-asnprintf.Tpo -c -o libgstprintf_la-asnprintf.lo `test -f 'asnprintf.c' || echo '$(srcdir)/'`asnprintf.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstprintf_la-asnprintf.Tpo $(DEPDIR)/libgstprintf_la-asnprintf.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='asnprintf.c' object='libgstprintf_la-asnprintf.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -c -o libgstprintf_la-asnprintf.lo `test -f 'asnprintf.c' || echo '$(srcdir)/'`asnprintf.c
+
+libgstprintf_la-printf-args.lo: printf-args.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -MT libgstprintf_la-printf-args.lo -MD -MP -MF $(DEPDIR)/libgstprintf_la-printf-args.Tpo -c -o libgstprintf_la-printf-args.lo `test -f 'printf-args.c' || echo '$(srcdir)/'`printf-args.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstprintf_la-printf-args.Tpo $(DEPDIR)/libgstprintf_la-printf-args.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='printf-args.c' object='libgstprintf_la-printf-args.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -c -o libgstprintf_la-printf-args.lo `test -f 'printf-args.c' || echo '$(srcdir)/'`printf-args.c
+
+libgstprintf_la-printf-parse.lo: printf-parse.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -MT libgstprintf_la-printf-parse.lo -MD -MP -MF $(DEPDIR)/libgstprintf_la-printf-parse.Tpo -c -o libgstprintf_la-printf-parse.lo `test -f 'printf-parse.c' || echo '$(srcdir)/'`printf-parse.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstprintf_la-printf-parse.Tpo $(DEPDIR)/libgstprintf_la-printf-parse.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='printf-parse.c' object='libgstprintf_la-printf-parse.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -c -o libgstprintf_la-printf-parse.lo `test -f 'printf-parse.c' || echo '$(srcdir)/'`printf-parse.c
+
+libgstprintf_la-vasnprintf.lo: vasnprintf.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -MT libgstprintf_la-vasnprintf.lo -MD -MP -MF $(DEPDIR)/libgstprintf_la-vasnprintf.Tpo -c -o libgstprintf_la-vasnprintf.lo `test -f 'vasnprintf.c' || echo '$(srcdir)/'`vasnprintf.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstprintf_la-vasnprintf.Tpo $(DEPDIR)/libgstprintf_la-vasnprintf.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vasnprintf.c' object='libgstprintf_la-vasnprintf.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -c -o libgstprintf_la-vasnprintf.lo `test -f 'vasnprintf.c' || echo '$(srcdir)/'`vasnprintf.c
+
+libgstprintf_la-printf.lo: printf.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -MT libgstprintf_la-printf.lo -MD -MP -MF $(DEPDIR)/libgstprintf_la-printf.Tpo -c -o libgstprintf_la-printf.lo `test -f 'printf.c' || echo '$(srcdir)/'`printf.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstprintf_la-printf.Tpo $(DEPDIR)/libgstprintf_la-printf.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='printf.c' object='libgstprintf_la-printf.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -c -o libgstprintf_la-printf.lo `test -f 'printf.c' || echo '$(srcdir)/'`printf.c
+
+libgstprintf_la-printf-extension.lo: printf-extension.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -MT libgstprintf_la-printf-extension.lo -MD -MP -MF $(DEPDIR)/libgstprintf_la-printf-extension.Tpo -c -o libgstprintf_la-printf-extension.lo `test -f 'printf-extension.c' || echo '$(srcdir)/'`printf-extension.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstprintf_la-printf-extension.Tpo $(DEPDIR)/libgstprintf_la-printf-extension.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='printf-extension.c' object='libgstprintf_la-printf-extension.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstprintf_la_CFLAGS) $(CFLAGS) -c -o libgstprintf_la-printf-extension.lo `test -f 'printf-extension.c' || echo '$(srcdir)/'`printf-extension.c
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/gst/printf/README b/gst/printf/README
new file mode 100644
index 0000000..c8eac38
--- /dev/null
+++ b/gst/printf/README
@@ -0,0 +1,59 @@
+The files
+
+ asnprintf.c
+ printf-args.c
+ printf-args.h
+ printf-parse.c
+ printf-parse.h
+ vasnprintf.c
+ vasnprintf.h
+
+are taken from the vasnprintf module of the GNUlib package, which can
+be found at:
+
+ http://www.gnu.org/software/gnulib/
+
+All files have been modified to include g-gnulib.h.
+
+vasnprintf.c has also been modified to include support for long long
+printing if the system printf doesn't. This code is protected by
+#ifndef HAVE_LONG_LONG_FORMAT.
+
+Code has been added to printf-args.[ch], printf-parse.c and vasnprintf.c
+to support printing of __int64 values with the I64 format modifier. This
+is protected by #ifdef HAVE_INT64_AND_I64.
+
+The files
+
+ printf.h
+ printf.c
+ g-gnulib.h
+
+have been written by me. printf.[hc] contain implementations of the
+remaining functions in the printf family based on vasnprintf.
+g-gnulib.h is included by all source files in order to move all
+exported functions to the _g_gnulib namespace, replace malloc by
+g_malloc and make sure that snprintf is only used if it implements
+C99 return value semantics.
+
+Matthias Clasen
+November 1, 2003
+
+-----
+
+GStreamer modifications
+
+This was imported from GLib's gnulib subdirectory.
+
+g-gnulib.h and _g_gnulib namespace has been changed to gst-printf.h and
+__gst_printf namespace for GStreamer. Also #define HAVE_SNPRINTF 0 has
+been changed to #undef HAVE_SNPRINTF, and HAVE_ALLOCA has been replaced
+by an #if defined(alloca) || defined(GLIB_HAVE_ALLOCA_H)
+
+printf-extension.[ch] were added to provide support for custom pointer
+arguments (e.g. caps, events, etc.)
+
+Files have also been indented with gst-indent, so this is basically a
+permanent fork and any patches will have to be merged manually.
+
+March 30, 2013.
diff --git a/gst/printf/asnprintf.c b/gst/printf/asnprintf.c
new file mode 100644
index 0000000..d606d38
--- /dev/null
+++ b/gst/printf/asnprintf.c
@@ -0,0 +1,40 @@
+/* Formatted output to strings.
+ Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published
+ by the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "gst-printf.h"
+
+/* Specification. */
+#include "vasnprintf.h"
+
+#include <stdarg.h>
+
+char *
+asnprintf (char *resultbuf, size_t * lengthp, const char *format, ...)
+{
+ va_list args;
+ char *result;
+
+ va_start (args, format);
+ result = vasnprintf (resultbuf, lengthp, format, args);
+ va_end (args);
+ return result;
+}
diff --git a/gst/printf/gst-printf.h b/gst/printf/gst-printf.h
new file mode 100644
index 0000000..b7d55a9
--- /dev/null
+++ b/gst/printf/gst-printf.h
@@ -0,0 +1,60 @@
+/* GLIB - Library of useful routines for C programming
+ * Copyright (C) 2003 Matthias Clasen
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#ifndef __G_GNULIB_H__
+
+#include "config.h"
+#include <stdlib.h>
+#include <glib.h>
+
+/* Private namespace for gnulib functions */
+#define asnprintf __gst_asnprintf
+#define vasnprintf __gst_vasnprintf
+#define printf_parse __gst_printf_parse
+#define printf_fetchargs __gst_printf_fetchargs
+
+/* Use GLib memory allocation */
+#undef malloc
+#undef realloc
+#undef free
+#define malloc g_malloc
+#define realloc g_realloc
+#define free g_free
+
+/* Don't use snprintf(); we have to use sprintf instead and do our own
+ * length calculations, because glibc doesn't allow passing %n in a format
+ * string if the string is in writable memory (if glibc has been compiled
+ * with _FORTIFY_SOURCE=2 which seems to be the case on some distros/systems) */
+#undef HAVE_SNPRINTF
+
+/* based on glib's config.h.win32.in */
+#ifdef G_OS_WIN32
+
+/* define to support printing 64-bit integers with format I64 */
+#define HAVE_INT64_AND_I64 1
+
+/* FIXME: do we need to do anything else here? or should we just typedef/define
+ * intmax_t etc. to __int64? */
+#if defined (_MSC_VER) && _MSC_VER >= 1600
+#undef HAVE_INTMAX_T
+#define HAVE_INTMAX_T 1
+#endif
+
+#endif /* G_OS_WIN32 */
+
+#endif /* __G_GNULIB_H__ */
diff --git a/gst/printf/printf-args.c b/gst/printf/printf-args.c
new file mode 100644
index 0000000..1177ddb
--- /dev/null
+++ b/gst/printf/printf-args.c
@@ -0,0 +1,133 @@
+/* Decomposed printf argument list.
+ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published
+ by the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "gst-printf.h"
+
+/* Specification. */
+#include "printf-args.h"
+
+#ifdef STATIC
+STATIC
+#endif
+ int
+printf_fetchargs (va_list args, arguments * a)
+{
+ unsigned int i;
+ argument *ap;
+
+ for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++)
+ switch (ap->type) {
+ case TYPE_SCHAR:
+ ap->a.a_schar = va_arg (args, /*signed char */ int);
+ break;
+ case TYPE_UCHAR:
+ ap->a.a_uchar = va_arg (args, /*unsigned char */ int);
+ break;
+ case TYPE_SHORT:
+ ap->a.a_short = va_arg (args, /*short */ int);
+ break;
+ case TYPE_USHORT:
+ ap->a.a_ushort = va_arg (args, /*unsigned short */ int);
+ break;
+ case TYPE_INT:
+ ap->a.a_int = va_arg (args, int);
+ break;
+ case TYPE_UINT:
+ ap->a.a_uint = va_arg (args, unsigned int);
+ break;
+ case TYPE_LONGINT:
+ ap->a.a_longint = va_arg (args, long int);
+ break;
+ case TYPE_ULONGINT:
+ ap->a.a_ulongint = va_arg (args, unsigned long int);
+ break;
+#ifdef HAVE_LONG_LONG
+ case TYPE_LONGLONGINT:
+ ap->a.a_longlongint = va_arg (args, long long int);
+ break;
+ case TYPE_ULONGLONGINT:
+ ap->a.a_ulonglongint = va_arg (args, unsigned long long int);
+ break;
+#endif
+#ifdef HAVE_INT64_AND_I64
+ case TYPE_INT64:
+ ap->a.a_int64 = va_arg (args, __int64);
+ break;
+ case TYPE_UINT64:
+ ap->a.a_uint64 = va_arg (args, unsigned __int64);
+ break;
+#endif
+ case TYPE_DOUBLE:
+ ap->a.a_double = va_arg (args, double);
+ break;
+#ifdef HAVE_LONG_DOUBLE
+ case TYPE_LONGDOUBLE:
+ ap->a.a_longdouble = va_arg (args, long double);
+ break;
+#endif
+ case TYPE_CHAR:
+ ap->a.a_char = va_arg (args, int);
+ break;
+#ifdef HAVE_WINT_T
+ case TYPE_WIDE_CHAR:
+#ifdef _WIN32
+ ap->a.a_wide_char = va_arg (args, int);
+#else
+ ap->a.a_wide_char = va_arg (args, wint_t);
+#endif
+ break;
+#endif
+ case TYPE_STRING:
+ ap->a.a_string = va_arg (args, const char *);
+ break;
+#ifdef HAVE_WCHAR_T
+ case TYPE_WIDE_STRING:
+ ap->a.a_wide_string = va_arg (args, const wchar_t *);
+ break;
+#endif
+ case TYPE_POINTER:
+ case TYPE_POINTER_EXT:
+ ap->a.a_pointer = va_arg (args, void *);
+ break;
+ case TYPE_COUNT_SCHAR_POINTER:
+ ap->a.a_count_schar_pointer = va_arg (args, signed char *);
+ break;
+ case TYPE_COUNT_SHORT_POINTER:
+ ap->a.a_count_short_pointer = va_arg (args, short *);
+ break;
+ case TYPE_COUNT_INT_POINTER:
+ ap->a.a_count_int_pointer = va_arg (args, int *);
+ break;
+ case TYPE_COUNT_LONGINT_POINTER:
+ ap->a.a_count_longint_pointer = va_arg (args, long int *);
+ break;
+#ifdef HAVE_LONG_LONG
+ case TYPE_COUNT_LONGLONGINT_POINTER:
+ ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);
+ break;
+#endif
+ default:
+ /* Unknown type. */
+ return -1;
+ }
+ return 0;
+}
diff --git a/gst/printf/printf-args.h b/gst/printf/printf-args.h
new file mode 100644
index 0000000..12a3c18
--- /dev/null
+++ b/gst/printf/printf-args.h
@@ -0,0 +1,147 @@
+/* Decomposed printf argument list.
+ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published
+ by the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA. */
+
+#ifndef _PRINTF_ARGS_H
+#define _PRINTF_ARGS_H
+
+/* Get wchar_t. */
+#ifdef HAVE_WCHAR_T
+# include <stddef.h>
+#endif
+
+/* Get wint_t. */
+#ifdef HAVE_WINT_T
+# include <wchar.h>
+#endif
+
+/* Get va_list. */
+#include <stdarg.h>
+
+#define POINTER_EXT_SIGNIFIER_CHAR '\a'
+
+/* Argument types */
+typedef enum
+{
+ TYPE_NONE,
+ TYPE_SCHAR,
+ TYPE_UCHAR,
+ TYPE_SHORT,
+ TYPE_USHORT,
+ TYPE_INT,
+ TYPE_UINT,
+ TYPE_LONGINT,
+ TYPE_ULONGINT,
+#ifdef HAVE_LONG_LONG
+ TYPE_LONGLONGINT,
+ TYPE_ULONGLONGINT,
+#endif
+#ifdef HAVE_INT64_AND_I64
+ TYPE_INT64,
+ TYPE_UINT64,
+#endif
+ TYPE_DOUBLE,
+#ifdef HAVE_LONG_DOUBLE
+ TYPE_LONGDOUBLE,
+#endif
+ TYPE_CHAR,
+#ifdef HAVE_WINT_T
+ TYPE_WIDE_CHAR,
+#endif
+ TYPE_STRING,
+#ifdef HAVE_WCHAR_T
+ TYPE_WIDE_STRING,
+#endif
+ TYPE_POINTER,
+ TYPE_POINTER_EXT,
+ TYPE_COUNT_SCHAR_POINTER,
+ TYPE_COUNT_SHORT_POINTER,
+ TYPE_COUNT_INT_POINTER,
+ TYPE_COUNT_LONGINT_POINTER
+#ifdef HAVE_LONG_LONG
+, TYPE_COUNT_LONGLONGINT_POINTER
+#endif
+} arg_type;
+
+/* Polymorphic argument */
+typedef struct
+{
+ arg_type type;
+ union
+ {
+ signed char a_schar;
+ unsigned char a_uchar;
+ short a_short;
+ unsigned short a_ushort;
+ int a_int;
+ unsigned int a_uint;
+ long int a_longint;
+ unsigned long int a_ulongint;
+#ifdef HAVE_LONG_LONG
+ long long int a_longlongint;
+ unsigned long long int a_ulonglongint;
+#endif
+#ifdef HAVE_INT64_AND_I64
+ __int64 a_int64;
+ unsigned __int64 a_uint64;
+#endif
+ float a_float;
+ double a_double;
+#ifdef HAVE_LONG_DOUBLE
+ long double a_longdouble;
+#endif
+ int a_char;
+#ifdef HAVE_WINT_T
+ wint_t a_wide_char;
+#endif
+ const char* a_string;
+#ifdef HAVE_WCHAR_T
+ const wchar_t* a_wide_string;
+#endif
+ void* a_pointer;
+ signed char * a_count_schar_pointer;
+ short * a_count_short_pointer;
+ int * a_count_int_pointer;
+ long int * a_count_longint_pointer;
+#ifdef HAVE_LONG_LONG
+ long long int * a_count_longlongint_pointer;
+#endif
+ }
+ a;
+
+ /* string to replace pointer argument with for TYPE_POINTER_EXT */
+ char *ext_string;
+}
+argument;
+
+typedef struct
+{
+ unsigned int count;
+ argument *arg;
+}
+arguments;
+
+
+/* Fetch the arguments, putting them into a. */
+#ifdef STATIC
+STATIC
+#else
+extern
+#endif
+int printf_fetchargs (va_list args, arguments *a);
+
+#endif /* _PRINTF_ARGS_H */
diff --git a/gst/printf/printf-extension.c b/gst/printf/printf-extension.c
new file mode 100644
index 0000000..bf98c97
--- /dev/null
+++ b/gst/printf/printf-extension.c
@@ -0,0 +1,50 @@
+/* GStreamer printf extension hooks
+ * Copyright (C) 2013 Tim-Philipp Müller <tim centricular net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "printf-extension.h"
+#include "gst-printf.h"
+#include <stdio.h>
+#include <string.h>
+
+static PrintfPointerExtensionFunc ptr_ext_func; /* NULL */
+
+void
+__gst_printf_pointer_extension_set_func (PrintfPointerExtensionFunc func)
+{
+ /* since this is internal, we don't need to worry about thread-safety */
+ ptr_ext_func = func;
+}
+
+char *
+__gst_printf_pointer_extension_serialize (const char *format, void *ptr)
+{
+ char *buf;
+
+ if (ptr_ext_func == NULL) {
+ buf = malloc (32);
+ memset (buf, 0, 32);
+ sprintf (buf, "%p", ptr);
+ } else {
+ /* note: we map malloc/free to g_malloc/g_free in gst-printf.h, so the
+ * fact that gstinfo gives us a glib-allocated string and the printf
+ * routines free it with free() and not g_free() should not be a problem */
+ buf = ptr_ext_func (format, ptr);
+ }
+ return buf;
+}
diff --git a/gst/printf/printf-extension.h b/gst/printf/printf-extension.h
new file mode 100644
index 0000000..b103a1a
--- /dev/null
+++ b/gst/printf/printf-extension.h
@@ -0,0 +1,31 @@
+/* GStreamer printf extension hooks
+ * Copyright (C) 2013 Tim-Philipp Müller <tim centricular net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_PRINTF_EXTENSION_H_INCLUDED__
+#define __GST_PRINTF_EXTENSION_H_INCLUDED__
+
+typedef char * (*PrintfPointerExtensionFunc) (const char * format, void * ptr);
+
+/* we only need one global function, since it's only GstInfo registering extensions */
+void __gst_printf_pointer_extension_set_func (PrintfPointerExtensionFunc func);
+
+/* functions for internal printf implementation to handle the extensions */
+char * __gst_printf_pointer_extension_serialize (const char * format, void * ptr);
+
+#endif /* __GST_PRINTF_EXTENSION_H_INCLUDED__ */
diff --git a/gst/printf/printf-parse.c b/gst/printf/printf-parse.c
new file mode 100644
index 0000000..5d60448
--- /dev/null
+++ b/gst/printf/printf-parse.c
@@ -0,0 +1,477 @@
+/* Formatted output to strings.
+ Copyright (C) 1999-2000, 2002-2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published
+ by the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "gst-printf.h"
+
+/* Specification. */
+#include "printf-parse.h"
+
+/* Get size_t, NULL. */
+#include <stddef.h>
+
+/* Get intmax_t. */
+#ifdef HAVE_STDINT_H_WITH_UINTMAX
+# include <stdint.h>
+#endif
+#ifdef HAVE_INTTYPES_H_WITH_UINTMAX
+# include <inttypes.h>
+#endif
+
+/* malloc(), realloc(), free(). */
+#include <stdlib.h>
+
+#ifdef STATIC
+STATIC
+#endif
+ int
+printf_parse (const char *format, char_directives * d, arguments * a)
+{
+ const char *cp = format; /* pointer into format */
+ int arg_posn = 0; /* number of regular arguments consumed */
+ unsigned int d_allocated; /* allocated elements of d->dir */
+ unsigned int a_allocated; /* allocated elements of a->arg */
+ unsigned int max_width_length = 0;
+ unsigned int max_precision_length = 0;
+
+ d->count = 0;
+ d_allocated = 1;
+ d->dir = malloc (d_allocated * sizeof (char_directive));
+ if (d->dir == NULL)
+ /* Out of memory. */
+ return -1;
+
+ a->count = 0;
+ a_allocated = 0;
+ a->arg = NULL;
+
+#define REGISTER_ARG(_index_,_type_) \
+ { \
+ unsigned int n = (_index_); \
+ if (n >= a_allocated) \
+ { \
+ argument *memory; \
+ a_allocated = 2 * a_allocated; \
+ if (a_allocated <= n) \
+ a_allocated = n + 1; \
+ memory = (a->arg \
+ ? realloc (a->arg, a_allocated * sizeof (argument)) \
+ : malloc (a_allocated * sizeof (argument))); \
+ if (memory == NULL) \
+ /* Out of memory. */ \
+ goto error; \
+ a->arg = memory; \
+ } \
+ while (a->count <= n) { \
+ a->arg[a->count].type = TYPE_NONE; \
+ a->arg[a->count].ext_string = (char *) 0; \
+ ++a->count; \
+ } \
+ if (a->arg[n].type == TYPE_NONE) \
+ a->arg[n].type = (_type_); \
+ else if (a->arg[n].type != (_type_)) \
+ /* Ambiguous type for positional argument. */ \
+ goto error; \
+ }
+
+ while (*cp != '\0') {
+ char c = *cp++;
+ if (c == '%') {
+ int arg_index = -1;
+ char_directive *dp = &d->dir[d->count]; /* pointer to next directive */
+
+ /* Initialize the next directive. */
+ dp->dir_start = cp - 1;
+ dp->flags = 0;
+ dp->width_start = NULL;
+ dp->width_end = NULL;
+ dp->width_arg_index = -1;
+ dp->precision_start = NULL;
+ dp->precision_end = NULL;
+ dp->precision_arg_index = -1;
+ dp->arg_index = -1;
+
+ /* Test for positional argument. */
+ if (*cp >= '0' && *cp <= '9') {
+ const char *np;
+
+ for (np = cp; *np >= '0' && *np <= '9'; np++);
+ if (*np == '$') {
+ unsigned int n = 0;
+
+ for (np = cp; *np >= '0' && *np <= '9'; np++)
+ n = 10 * n + (*np - '0');
+ if (n == 0)
+ /* Positional argument 0. */
+ goto error;
+ arg_index = n - 1;
+ cp = np + 1;
+ }
+ }
+
+ /* Read the flags. */
+ for (;;) {
+ if (*cp == '\'') {
+ dp->flags |= FLAG_GROUP;
+ cp++;
+ } else if (*cp == '-') {
+ dp->flags |= FLAG_LEFT;
+ cp++;
+ } else if (*cp == '+') {
+ dp->flags |= FLAG_SHOWSIGN;
+ cp++;
+ } else if (*cp == ' ') {
+ dp->flags |= FLAG_SPACE;
+ cp++;
+ } else if (*cp == '#') {
+ dp->flags |= FLAG_ALT;
+ cp++;
+ } else if (*cp == '0') {
+ dp->flags |= FLAG_ZERO;
+ cp++;
+ } else
+ break;
+ }
+
+ /* Parse the field width. */
+ if (*cp == '*') {
+ dp->width_start = cp;
+ cp++;
+ dp->width_end = cp;
+ if (max_width_length < 1)
+ max_width_length = 1;
+
+ /* Test for positional argument. */
+ if (*cp >= '0' && *cp <= '9') {
+ const char *np;
+
+ for (np = cp; *np >= '0' && *np <= '9'; np++);
+ if (*np == '$') {
+ unsigned int n = 0;
+
+ for (np = cp; *np >= '0' && *np <= '9'; np++)
+ n = 10 * n + (*np - '0');
+ if (n == 0)
+ /* Positional argument 0. */
+ goto error;
+ dp->width_arg_index = n - 1;
+ cp = np + 1;
+ }
+ }
+ if (dp->width_arg_index < 0)
+ dp->width_arg_index = arg_posn++;
+ REGISTER_ARG (dp->width_arg_index, TYPE_INT);
+ } else if (*cp >= '0' && *cp <= '9') {
+ unsigned int width_length;
+
+ dp->width_start = cp;
+ for (; *cp >= '0' && *cp <= '9'; cp++);
+ dp->width_end = cp;
+ width_length = dp->width_end - dp->width_start;
+ if (max_width_length < width_length)
+ max_width_length = width_length;
+ }
+
+ /* Parse the precision. */
+ if (*cp == '.') {
+ cp++;
+ if (*cp == '*') {
+ dp->precision_start = cp - 1;
+ cp++;
+ dp->precision_end = cp;
+ if (max_precision_length < 2)
+ max_precision_length = 2;
+
+ /* Test for positional argument. */
+ if (*cp >= '0' && *cp <= '9') {
+ const char *np;
+
+ for (np = cp; *np >= '0' && *np <= '9'; np++);
+ if (*np == '$') {
+ unsigned int n = 0;
+
+ for (np = cp; *np >= '0' && *np <= '9'; np++)
+ n = 10 * n + (*np - '0');
+ if (n == 0)
+ /* Positional argument 0. */
+ goto error;
+ dp->precision_arg_index = n - 1;
+ cp = np + 1;
+ }
+ }
+ if (dp->precision_arg_index < 0)
+ dp->precision_arg_index = arg_posn++;
+ REGISTER_ARG (dp->precision_arg_index, TYPE_INT);
+ } else {
+ unsigned int precision_length;
+
+ dp->precision_start = cp - 1;
+ for (; *cp >= '0' && *cp <= '9'; cp++);
+ dp->precision_end = cp;
+ precision_length = dp->precision_end - dp->precision_start;
+ if (max_precision_length < precision_length)
+ max_precision_length = precision_length;
+ }
+ }
+
+ {
+ arg_type type;
+
+ /* Parse argument type/size specifiers. */
+ {
+ int flags = 0;
+
+ for (;;) {
+ if (*cp == 'h') {
+ flags |= (1 << (flags & 1));
+ cp++;
+ } else if (*cp == 'L') {
+ flags |= 4;
+ cp++;
+ } else if (*cp == 'l') {
+ flags += 8;
+ cp++;
+ }
+#ifdef HAVE_INT64_AND_I64
+ else if (cp[0] == 'I' && cp[1] == '6' && cp[2] == '4') {
+ flags = 64;
+ cp += 3;
+ }
+#endif
+#ifdef HAVE_INTMAX_T
+ else if (*cp == 'j') {
+ if (sizeof (intmax_t) > sizeof (long)) {
+ /* intmax_t = long long */
+ flags += 16;
+ } else if (sizeof (intmax_t) > sizeof (int)) {
+ /* intmax_t = long */
+ flags += 8;
+ }
+ cp++;
+ }
+#endif
+ else if (*cp == 'z' || *cp == 'Z') {
+ /* 'z' is standardized in ISO C 99, but glibc uses 'Z'
+ because the warning facility in gcc-2.95.2 understands
+ only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */
+ if (sizeof (size_t) > sizeof (long)) {
+ /* size_t = long long */
+ flags += 16;
+ } else if (sizeof (size_t) > sizeof (int)) {
+ /* size_t = long */
+ flags += 8;
+ }
+ cp++;
+ } else if (*cp == 't') {
+ if (sizeof (ptrdiff_t) > sizeof (long)) {
+ /* ptrdiff_t = long long */
+ flags += 16;
+ } else if (sizeof (ptrdiff_t) > sizeof (int)) {
+ /* ptrdiff_t = long */
+ flags += 8;
+ }
+ cp++;
+ } else
+ break;
+ }
+
+ /* Read the conversion character. */
+ c = *cp++;
+ switch (c) {
+ case 'd':
+ case 'i':
+#ifdef HAVE_INT64_AND_I64
+ if (flags == 64)
+ type = TYPE_INT64;
+ else
+#endif
+#ifdef HAVE_LONG_LONG
+ if (flags >= 16 || (flags & 4))
+ type = TYPE_LONGLONGINT;
+ else
+#endif
+ if (flags >= 8)
+ type = TYPE_LONGINT;
+ else if (flags & 2)
+ type = TYPE_SCHAR;
+ else if (flags & 1)
+ type = TYPE_SHORT;
+ else
+ type = TYPE_INT;
+ break;
+ case 'o':
+ case 'u':
+ case 'x':
+ case 'X':
+#ifdef HAVE_INT64_AND_I64
+ if (flags == 64)
+ type = TYPE_UINT64;
+ else
+#endif
+#ifdef HAVE_LONG_LONG
+ if (flags >= 16 || (flags & 4))
+ type = TYPE_ULONGLONGINT;
+ else
+#endif
+ if (flags >= 8)
+ type = TYPE_ULONGINT;
+ else if (flags & 2)
+ type = TYPE_UCHAR;
+ else if (flags & 1)
+ type = TYPE_USHORT;
+ else
+ type = TYPE_UINT;
+ break;
+ case 'f':
+ case 'F':
+ case 'e':
+ case 'E':
+ case 'g':
+ case 'G':
+ case 'a':
+ case 'A':
+#ifdef HAVE_LONG_DOUBLE
+ if (flags >= 16 || (flags & 4))
+ type = TYPE_LONGDOUBLE;
+ else
+#endif
+ type = TYPE_DOUBLE;
+ break;
+ case 'c':
+ if (flags >= 8)
+#ifdef HAVE_WINT_T
+ type = TYPE_WIDE_CHAR;
+#else
+ goto error;
+#endif
+ else
+ type = TYPE_CHAR;
+ break;
+#ifdef HAVE_WINT_T
+ case 'C':
+ type = TYPE_WIDE_CHAR;
+ c = 'c';
+ break;
+#endif
+ case 's':
+ if (flags >= 8)
+#ifdef HAVE_WCHAR_T
+ type = TYPE_WIDE_STRING;
+#else
+ goto error;
+#endif
+ else
+ type = TYPE_STRING;
+ break;
+#ifdef HAVE_WCHAR_T
+ case 'S':
+ type = TYPE_WIDE_STRING;
+ c = 's';
+ break;
+#endif
+ /* Old GST_PTR_FORMAT, handle for binary backwards compatibility */
+ case 'P':
+ type = TYPE_POINTER_EXT;
+ dp->flags |= FLAG_PTR_EXT;
+ dp->ptr_ext_char = 'A';
+ c = 'p';
+ break;
+ case 'p':
+ /* Note: cp points already to the char after the 'p' now */
+ if (cp[0] == POINTER_EXT_SIGNIFIER_CHAR && cp[1] != '\0') {
+ type = TYPE_POINTER_EXT;
+ dp->flags |= FLAG_PTR_EXT;
+ dp->ptr_ext_char = cp[1];
+ cp += 2;
+ /* we do not use dp->conversion='s' on purpose here, so we
+ * can fall back to printing just the pointer with %p if the
+ * serialisation function returned NULL for some reason */
+ } else {
+ type = TYPE_POINTER;
+ }
+ break;
+ /* Old GST_SEGMENT_FORMAT, handle for backwards compatibility */
+ case 'Q':
+ type = TYPE_POINTER_EXT;
+ dp->flags |= FLAG_PTR_EXT;
+ dp->ptr_ext_char = 'B';
+ c = 'p';
+ break;
+ case 'n':
+#ifdef HAVE_LONG_LONG
+ if (flags >= 16 || (flags & 4))
+ type = TYPE_COUNT_LONGLONGINT_POINTER;
+ else
+#endif
+ if (flags >= 8)
+ type = TYPE_COUNT_LONGINT_POINTER;
+ else if (flags & 2)
+ type = TYPE_COUNT_SCHAR_POINTER;
+ else if (flags & 1)
+ type = TYPE_COUNT_SHORT_POINTER;
+ else
+ type = TYPE_COUNT_INT_POINTER;
+ break;
+ case '%':
+ type = TYPE_NONE;
+ break;
+ default:
+ /* Unknown conversion character. */
+ goto error;
+ }
+ }
+
+ if (type != TYPE_NONE) {
+ dp->arg_index = arg_index;
+ if (dp->arg_index < 0)
+ dp->arg_index = arg_posn++;
+ REGISTER_ARG (dp->arg_index, type);
+ }
+ dp->conversion = c;
+ dp->dir_end = cp;
+ }
+
+ d->count++;
+ if (d->count >= d_allocated) {
+ char_directive *memory;
+
+ d_allocated = 2 * d_allocated;
+ memory = realloc (d->dir, d_allocated * sizeof (char_directive));
+ if (memory == NULL)
+ /* Out of memory. */
+ goto error;
+ d->dir = memory;
+ }
+ }
+ }
+ d->dir[d->count].dir_start = cp;
+
+ d->max_width_length = max_width_length;
+ d->max_precision_length = max_precision_length;
+ return 0;
+
+error:
+ if (a->arg)
+ free (a->arg);
+ if (d->dir)
+ free (d->dir);
+ return -1;
+}
diff --git a/gst/printf/printf-parse.h b/gst/printf/printf-parse.h
new file mode 100644
index 0000000..96c2462
--- /dev/null
+++ b/gst/printf/printf-parse.h
@@ -0,0 +1,81 @@
+/* Parse printf format string.
+ Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published
+ by the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA. */
+
+#ifndef _PRINTF_PARSE_H
+#define _PRINTF_PARSE_H
+
+#include "printf-args.h"
+
+/* Private namespace for gnulib functions */
+#define printf_parse __gst_printf_parse
+
+/* Flags */
+#define FLAG_GROUP 1 /* ' flag */
+#define FLAG_LEFT 2 /* - flag */
+#define FLAG_SHOWSIGN 4 /* + flag */
+#define FLAG_SPACE 8 /* space flag */
+#define FLAG_ALT 16 /* # flag */
+#define FLAG_ZERO 32
+
+#define FLAG_PTR_EXT 1024
+
+/* A parsed directive. */
+typedef struct
+{
+ const char* dir_start;
+ const char* dir_end;
+ int flags;
+ const char* width_start;
+ const char* width_end;
+ int width_arg_index;
+ const char* precision_start;
+ const char* precision_end;
+ int precision_arg_index;
+ char conversion; /* d i o u x X f e E g G c s p n U % but not C S */
+ int arg_index;
+
+ /* extension char in case of TYPE_POINTER_EXT. We need to store this so
+ * we can pass it back to __gst_printf_pointer_extension_serialize()
+ * so it knows which pointer extension it is */
+ char ptr_ext_char;
+}
+char_directive;
+
+/* A parsed format string. */
+typedef struct
+{
+ unsigned int count;
+ char_directive *dir;
+ unsigned int max_width_length;
+ unsigned int max_precision_length;
+}
+char_directives;
+
+
+/* Parses the format string. Fills in the number N of directives, and fills
+ in directives[0], ..., directives[N-1], and sets directives[N].dir_start
+ to the end of the format string. Also fills in the arg_type fields of the
+ arguments and the needed count of arguments. */
+#ifdef STATIC
+STATIC
+#else
+extern
+#endif
+int printf_parse (const char *format, char_directives *d, arguments *a);
+
+#endif /* _PRINTF_PARSE_H */
diff --git a/gst/printf/printf.c b/gst/printf/printf.c
new file mode 100644
index 0000000..d2bb373
--- /dev/null
+++ b/gst/printf/printf.c
@@ -0,0 +1,159 @@
+/* GLIB - Library of useful routines for C programming
+ * Copyright (C) 2003 Matthias Clasen
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+/*
+ * Modified by the GLib Team and others 2003. See the AUTHORS
+ * file for a list of people on the GLib Team. See the ChangeLog
+ * files for a list of changes. These files are distributed with
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "gst-printf.h"
+#include "vasnprintf.h"
+#include "printf.h"
+
+#if 0
+int
+__gst_printf (char const *format, ...)
+{
+ va_list args;
+ int retval;
+
+ va_start (args, format);
+ retval = __gst_vprintf (format, args);
+ va_end (args);
+
+ return retval;
+}
+
+int
+__gst_fprintf (FILE * file, char const *format, ...)
+{
+ va_list args;
+ int retval;
+
+ va_start (args, format);
+ retval = __gst_vfprintf (file, format, args);
+ va_end (args);
+
+ return retval;
+}
+
+int
+__gst_sprintf (char *string, char const *format, ...)
+{
+ va_list args;
+ int retval;
+
+ va_start (args, format);
+ retval = __gst_vsprintf (string, format, args);
+ va_end (args);
+
+ return retval;
+}
+
+int
+__gst_snprintf (char *string, size_t n, char const *format, ...)
+{
+ va_list args;
+ int retval;
+
+ va_start (args, format);
+ retval = __gst_vsnprintf (string, n, format, args);
+ va_end (args);
+
+ return retval;
+}
+
+int
+__gst_vprintf (char const *format, va_list args)
+{
+ return __gst_vfprintf (stdout, format, args);
+}
+
+int
+__gst_vfprintf (FILE * file, char const *format, va_list args)
+{
+ char *result;
+ size_t length;
+
+ result = vasnprintf (NULL, &length, format, args);
+ if (result == NULL)
+ return -1;
+
+ fwrite (result, 1, length, file);
+ free (result);
+
+ return length;
+}
+
+int
+__gst_vsprintf (char *string, char const *format, va_list args)
+{
+ char *result;
+ size_t length;
+
+ result = vasnprintf (NULL, &length, format, args);
+ if (result == NULL)
+ return -1;
+
+ memcpy (string, result, length + 1);
+ free (result);
+
+ return length;
+}
+
+int
+__gst_vsnprintf (char *string, size_t n, char const *format, va_list args)
+{
+ char *result;
+ size_t length;
+
+ result = vasnprintf (NULL, &length, format, args);
+ if (result == NULL)
+ return -1;
+
+ if (n > 0) {
+ memcpy (string, result, MIN (length + 1, n));
+ string[n - 1] = 0;
+ }
+
+ free (result);
+
+ return length;
+}
+#endif
+
+int
+__gst_vasprintf (char **result, char const *format, va_list args)
+{
+ size_t length;
+
+ *result = vasnprintf (NULL, &length, format, args);
+ if (*result == NULL)
+ return -1;
+
+ return length;
+}
diff --git a/gst/printf/printf.h b/gst/printf/printf.h
new file mode 100644
index 0000000..18e3cf9
--- /dev/null
+++ b/gst/printf/printf.h
@@ -0,0 +1,64 @@
+/* GLIB - Library of useful routines for C programming
+ * Copyright (C) 2003 Matthias Clasen
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#ifndef __GNULIB_PRINTF_H__
+#define __GNULIB_PRINTF_H__
+
+#include <stdarg.h>
+#include <stdio.h>
+
+#if 0
+int __gst_printf (char const *format,
+ ...);
+
+int __gst_fprintf (FILE *file,
+ char const *format,
+ ...);
+
+int __gst_sprintf (char *string,
+ char const *format,
+ ...);
+
+int __gst_snprintf (char *string,
+ size_t n,
+ char const *format,
+ ...);
+
+int __gst_vprintf (char const *format,
+ va_list args);
+
+int __gst_vfprintf (FILE *file,
+ char const *format,
+ va_list args);
+
+int __gst_vsprintf (char *string,
+ char const *format,
+ va_list args);
+
+int __gst_vsnprintf (char *string,
+ size_t n,
+ char const *format,
+ va_list args);
+#endif
+
+int __gst_vasprintf (char **result,
+ char const *format,
+ va_list args);
+
+
+#endif /* __GNULIB_PRINTF_H__ */
diff --git a/gst/printf/vasnprintf.c b/gst/printf/vasnprintf.c
new file mode 100644
index 0000000..7f3d9e2
--- /dev/null
+++ b/gst/printf/vasnprintf.c
@@ -0,0 +1,1031 @@
+/* vsprintf with automatic memory allocation.
+ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published
+ by the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA. */
+
+#ifndef _WIN32
+/* Tell glibc's <stdio.h> to provide a prototype for snprintf().
+ This must come before <config.h> because <config.h> may include
+ <features.h>, and once <features.h> has been included, it's too late. */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "gst-printf.h"
+
+/* Specification. */
+#include "vasnprintf.h"
+
+#include <stdio.h> /* snprintf(), sprintf() */
+#include <stdlib.h> /* abort(), malloc(), realloc(), free() */
+#include <string.h> /* memcpy(), strlen() */
+#include <errno.h> /* errno */
+#include <limits.h> /* CHAR_BIT */
+#include <float.h> /* DBL_MAX_EXP, LDBL_MAX_EXP */
+#include "printf-parse.h"
+#include "printf-extension.h"
+
+#ifdef HAVE_WCHAR_T
+# ifdef HAVE_WCSLEN
+# define local_wcslen wcslen
+# else
+ /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid
+ a dependency towards this library, here is a local substitute.
+ Define this substitute only once, even if this file is included
+ twice in the same compilation unit. */
+# ifndef local_wcslen_defined
+# define local_wcslen_defined 1
+static size_t
+local_wcslen (const wchar_t * s)
+{
+ const wchar_t *ptr;
+
+ for (ptr = s; *ptr != (wchar_t) 0; ptr++);
+ return ptr - s;
+}
+# endif
+# endif
+#endif
+
+/* For those losing systems which don't have 'alloca' we have to add
+ some additional code emulating it. */
+#if defined (alloca) || defined (GLIB_HAVE_ALLOCA_H)
+# define freea(p) /* nothing */
+#else
+# define alloca(n) malloc (n)
+# define freea(p) free (p)
+#endif
+
+#ifndef HAVE_LONG_LONG_FORMAT
+static inline int
+print_long_long (char *buf,
+ int len,
+ int width,
+ int precision,
+ unsigned long flags, char conversion, unsigned long long number)
+{
+ int negative = FALSE;
+ char buffer[128];
+ char *bufferend;
+ char *pointer;
+ int base;
+ static const char *upper = "0123456789ABCDEFX";
+ static const char *lower = "0123456789abcdefx";
+ const char *digits;
+ int i;
+ char *p;
+ int count;
+
+#define EMIT(c) \
+ if (p - buf == len - 1) \
+ { \
+ *p++ = '\0'; \
+ return len; \
+ } \
+ else \
+ *p++ = c;
+
+ p = buf;
+
+ switch (conversion) {
+ case 'o':
+ base = 8;
+ digits = lower;
+ negative = FALSE;
+ break;
+ case 'x':
+ base = 16;
+ digits = lower;
+ negative = FALSE;
+ break;
+ case 'X':
+ base = 16;
+ digits = upper;
+ negative = FALSE;
+ break;
+ default:
+ base = 10;
+ digits = lower;
+ negative = (long long) number < 0;
+ if (negative)
+ number = -((long long) number);
+ break;
+ }
+
+ /* Build number */
+ pointer = bufferend = &buffer[sizeof (buffer) - 1];
+ *pointer-- = '\0';
+ for (i = 1; i < (int) sizeof (buffer); i++) {
+ *pointer-- = digits[number % base];
+ number /= base;
+ if (number == 0)
+ break;
+ }
+
+ /* Adjust width */
+ width -= (bufferend - pointer) - 1;
+
+ /* Adjust precision */
+ if (precision != -1) {
+ precision -= (bufferend - pointer) - 1;
+ if (precision < 0)
+ precision = 0;
+ flags |= FLAG_ZERO;
+ }
+
+ /* Adjust width further */
+ if (negative || (flags & FLAG_SHOWSIGN) || (flags & FLAG_SPACE))
+ width--;
+ if (flags & FLAG_ALT) {
+ switch (base) {
+ case 16:
+ width -= 2;
+ break;
+ case 8:
+ width--;
+ break;
+ default:
+ break;
+ }
+ }
+
+ /* Output prefixes spaces if needed */
+ if (!((flags & FLAG_LEFT) || ((flags & FLAG_ZERO) && (precision == -1)))) {
+ count = (precision == -1) ? 0 : precision;
+ while (width-- > count)
+ *p++ = ' ';
+ }
+
+ /* width has been adjusted for signs and alternatives */
+ if (negative) {
+ EMIT ('-');
+ } else if (flags & FLAG_SHOWSIGN) {
+ EMIT ('+');
+ } else if (flags & FLAG_SPACE) {
+ EMIT (' ');
+ }
+
+ if (flags & FLAG_ALT) {
+ switch (base) {
+ case 8:
+ EMIT ('0');
+ break;
+ case 16:
+ EMIT ('0');
+ EMIT (digits[16]);
+ break;
+ default:
+ break;
+ } /* switch base */
+ }
+
+ /* Output prefixed zero padding if needed */
+ if (flags & FLAG_ZERO) {
+ if (precision == -1)
+ precision = width;
+ while (precision-- > 0) {
+ EMIT ('0');
+ width--;
+ }
+ }
+
+ /* Output the number itself */
+ while (*(++pointer)) {
+ EMIT (*pointer);
+ }
+
+ /* Output trailing spaces if needed */
+ if (flags & FLAG_LEFT) {
+ while (width-- > 0)
+ EMIT (' ');
+ }
+
+ EMIT ('\0');
+
+ return p - buf - 1;
+}
+#endif
+
+static void
+printf_postprocess_args (char_directives * directives, arguments * arguments)
+{
+ int i;
+
+ for (i = 0; i < directives->count; ++i) {
+ char_directive *dp;
+ argument *a;
+
+ dp = &directives->dir[i];
+ a = &arguments->arg[dp->arg_index];
+
+ if (a->type == TYPE_POINTER_EXT) {
+ char fmt[4];
+
+ fmt[0] = 'p';
+ fmt[1] = POINTER_EXT_SIGNIFIER_CHAR;
+ fmt[2] = dp->ptr_ext_char;
+ fmt[3] = '\0';
+
+ a->ext_string =
+ __gst_printf_pointer_extension_serialize (fmt, a->a.a_pointer);
+ }
+ }
+}
+
+char *
+vasnprintf (char *resultbuf, size_t * lengthp, const char *format, va_list args)
+{
+ char_directives d;
+ arguments a;
+
+ if (printf_parse (format, &d, &a) < 0) {
+ errno = EINVAL;
+ return NULL;
+ }
+#define CLEANUP() \
+ free (d.dir); \
+ if (a.arg) { \
+ while (a.count--) { \
+ if (a.arg[a.count].ext_string) \
+ free (a.arg[a.count].ext_string); \
+ } \
+ free (a.arg); \
+ }
+
+ if (printf_fetchargs (args, &a) < 0) {
+ CLEANUP ();
+ errno = EINVAL;
+ return NULL;
+ }
+
+ /* collect TYPE_POINTER_EXT argument strings */
+ printf_postprocess_args (&d, &a);
+
+ {
+ char *buf =
+ (char *) alloca (7 + d.max_width_length + d.max_precision_length + 6);
+ const char *cp;
+ unsigned int i;
+ char_directive *dp;
+ /* Output string accumulator. */
+ char *result;
+ size_t allocated;
+ size_t length;
+
+ if (resultbuf != NULL) {
+ result = resultbuf;
+ allocated = *lengthp;
+ } else {
+ result = NULL;
+ allocated = 0;
+ }
+ length = 0;
+ /* Invariants:
+ result is either == resultbuf or == NULL or malloc-allocated.
+ If length > 0, then result != NULL. */
+
+#define ENSURE_ALLOCATION(needed) \
+ if ((needed) > allocated) \
+ { \
+ char *memory; \
+ \
+ allocated = (allocated > 0 ? 2 * allocated : 12); \
+ if ((needed) > allocated) \
+ allocated = (needed); \
+ if (result == resultbuf || result == NULL) \
+ memory = (char *) malloc (allocated); \
+ else \
+ memory = (char *) realloc (result, allocated); \
+ \
+ if (memory == NULL) \
+ { \
+ if (!(result == resultbuf || result == NULL)) \
+ free (result); \
+ freea (buf); \
+ CLEANUP (); \
+ errno = ENOMEM; \
+ return NULL; \
+ } \
+ if (result == resultbuf && length > 0) \
+ memcpy (memory, result, length); \
+ result = memory; \
+ }
+
+ for (cp = format, i = 0, dp = &d.dir[0];; cp = dp->dir_end, i++, dp++) {
+ if (cp != dp->dir_start) {
+ size_t n = dp->dir_start - cp;
+
+ ENSURE_ALLOCATION (length + n);
+ memcpy (result + length, cp, n);
+ length += n;
+ }
+ if (i == d.count)
+ break;
+
+ /* Execute a single directive. */
+ if (dp->conversion == '%') {
+ if (!(dp->arg_index < 0))
+ abort ();
+ ENSURE_ALLOCATION (length + 1);
+ result[length] = '%';
+ length += 1;
+ } else {
+ if (!(dp->arg_index >= 0))
+ abort ();
+
+ if (dp->conversion == 'n') {
+ switch (a.arg[dp->arg_index].type) {
+ case TYPE_COUNT_SCHAR_POINTER:
+ *a.arg[dp->arg_index].a.a_count_schar_pointer = length;
+ break;
+ case TYPE_COUNT_SHORT_POINTER:
+ *a.arg[dp->arg_index].a.a_count_short_pointer = length;
+ break;
+ case TYPE_COUNT_INT_POINTER:
+ *a.arg[dp->arg_index].a.a_count_int_pointer = length;
+ break;
+ case TYPE_COUNT_LONGINT_POINTER:
+ *a.arg[dp->arg_index].a.a_count_longint_pointer = length;
+ break;
+#ifdef HAVE_LONG_LONG
+ case TYPE_COUNT_LONGLONGINT_POINTER:
+ *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length;
+ break;
+#endif
+ default:
+ abort ();
+ }
+ } else {
+ arg_type type = a.arg[dp->arg_index].type;
+ char *p;
+ unsigned int prefix_count;
+ int prefixes[2];
+#ifndef HAVE_SNPRINTF
+ unsigned int tmp_length;
+ char tmpbuf[700];
+ char *tmp;
+
+ /* Allocate a temporary buffer of sufficient size for calling
+ sprintf. */
+ {
+ unsigned int width;
+ unsigned int precision;
+
+ width = 0;
+ if (dp->width_start != dp->width_end) {
+ if (dp->width_arg_index >= 0) {
+ int arg;
+
+ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
+ abort ();
+ arg = a.arg[dp->width_arg_index].a.a_int;
+ width = (arg < 0 ? -arg : arg);
+ } else {
+ const char *digitp = dp->width_start;
+
+ do
+ width = width * 10 + (*digitp++ - '0');
+ while (digitp != dp->width_end);
+ }
+ }
+
+ precision = 6;
+ if (dp->precision_start != dp->precision_end) {
+ if (dp->precision_arg_index >= 0) {
+ int arg;
+
+ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
+ abort ();
+ arg = a.arg[dp->precision_arg_index].a.a_int;
+ precision = (arg < 0 ? 0 : arg);
+ } else {
+ const char *digitp = dp->precision_start + 1;
+
+ precision = 0;
+ while (digitp != dp->precision_end)
+ precision = precision * 10 + (*digitp++ - '0');
+ }
+ }
+
+ switch (dp->conversion) {
+ case 'd':
+ case 'i':
+ case 'u':
+# ifdef HAVE_LONG_LONG
+ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
+ tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.30103 /* binary -> decimal */
+ * 2 /* estimate for FLAG_GROUP */
+ )
+ + 1 /* turn floor into ceil */
+ + 1; /* account for leading sign */
+ else
+# endif
+ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
+ tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.30103 /* binary -> decimal */
+ * 2 /* estimate for FLAG_GROUP */
+ )
+ + 1 /* turn floor into ceil */
+ + 1; /* account for leading sign */
+ else
+ tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.30103 /* binary -> decimal */
+ * 2 /* estimate for FLAG_GROUP */
+ )
+ + 1 /* turn floor into ceil */
+ + 1; /* account for leading sign */
+ break;
+
+ case 'o':
+# ifdef HAVE_LONG_LONG
+ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
+ tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.333334 /* binary -> octal */
+ )
+ + 1 /* turn floor into ceil */
+ + 1; /* account for leading sign */
+ else
+# endif
+ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
+ tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.333334 /* binary -> octal */
+ )
+ + 1 /* turn floor into ceil */
+ + 1; /* account for leading sign */
+ else
+ tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.333334 /* binary -> octal */
+ )
+ + 1 /* turn floor into ceil */
+ + 1; /* account for leading sign */
+ break;
+
+ case 'x':
+ case 'X':
+# ifdef HAVE_LONG_LONG
+ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
+ tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */
+ )
+ + 1 /* turn floor into ceil */
+ + 2; /* account for leading sign or alternate form */
+ else
+# endif
+# ifdef HAVE_INT64_AND_I64
+ if (type == TYPE_INT64 || type == TYPE_UINT64)
+ tmp_length = (unsigned int) (sizeof (unsigned __int64) * CHAR_BIT * 0.25 /* binary -> hexadecimal */
+ )
+ + 1 /* turn floor into ceil */
+ + 2; /* account for leading sign or alternate form */
+ else
+# endif
+ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
+ tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */
+ )
+ + 1 /* turn floor into ceil */
+ + 2; /* account for leading sign or alternate form */
+ else
+ tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.25 /* binary -> hexadecimal */
+ )
+ + 1 /* turn floor into ceil */
+ + 2; /* account for leading sign or alternate form */
+ break;
+
+ case 'f':
+ case 'F':
+# ifdef HAVE_LONG_DOUBLE
+ if (type == TYPE_LONGDOUBLE)
+ tmp_length = (unsigned int) (LDBL_MAX_EXP * 0.30103 /* binary -> decimal */
+ * 2 /* estimate for FLAG_GROUP */
+ )
+ + 1 /* turn floor into ceil */
+ + precision + 10; /* sign, decimal point etc. */
+ else
+# endif
+ tmp_length = (unsigned int) (DBL_MAX_EXP * 0.30103 /* binary -> decimal */
+ * 2 /* estimate for FLAG_GROUP */
+ )
+ + 1 /* turn floor into ceil */
+ + precision + 10; /* sign, decimal point etc. */
+ break;
+
+ case 'e':
+ case 'E':
+ case 'g':
+ case 'G':
+ case 'a':
+ case 'A':
+ tmp_length = precision + 12; /* sign, decimal point, exponent etc. */
+ break;
+
+ case 'c':
+# ifdef HAVE_WINT_T
+ if (type == TYPE_WIDE_CHAR)
+ tmp_length = MB_CUR_MAX;
+ else
+# endif
+ tmp_length = 1;
+ break;
+
+ case 's':
+# ifdef HAVE_WCHAR_T
+ if (type == TYPE_WIDE_STRING)
+ tmp_length = (a.arg[dp->arg_index].a.a_wide_string == NULL ? 6 /* wcslen(L"(null)") */
+ : local_wcslen (a.arg[dp->arg_index].a.a_wide_string))
+ * MB_CUR_MAX;
+ else
+# endif
+ tmp_length = a.arg[dp->arg_index].a.a_string == NULL ? 6 /* strlen("(null)") */
+ : strlen (a.arg[dp->arg_index].a.a_string);
+ break;
+
+ case 'p':
+ tmp_length = (unsigned int) (sizeof (void *) * CHAR_BIT * 0.25 /* binary -> hexadecimal */
+ )
+ + 1 /* turn floor into ceil */
+ + 2; /* account for leading 0x */
+
+ /* make sure we always have enough space for a plain %p, so + */
+ if (dp->flags & FLAG_PTR_EXT && a.arg[dp->arg_index].ext_string)
+ tmp_length += strlen (a.arg[dp->arg_index].ext_string);
+ break;
+
+ default:
+ abort ();
+ }
+
+ if (tmp_length < width)
+ tmp_length = width;
+
+ tmp_length++; /* account for trailing NUL */
+ }
+
+ if (tmp_length <= sizeof (tmpbuf))
+ tmp = tmpbuf;
+ else {
+ tmp = (char *) malloc (tmp_length);
+ if (tmp == NULL) {
+ /* Out of memory. */
+ if (!(result == resultbuf || result == NULL))
+ free (result);
+ freea (buf);
+ CLEANUP ();
+ errno = ENOMEM;
+ return NULL;
+ }
+ }
+#endif
+
+ /* Construct the format string for calling snprintf or
+ sprintf. */
+ p = buf;
+ *p++ = '%';
+ if (dp->flags & FLAG_GROUP)
+ *p++ = '\'';
+ if (dp->flags & FLAG_LEFT)
+ *p++ = '-';
+ if (dp->flags & FLAG_SHOWSIGN)
+ *p++ = '+';
+ if (dp->flags & FLAG_SPACE)
+ *p++ = ' ';
+ if (dp->flags & FLAG_ALT)
+ *p++ = '#';
+ if (dp->flags & FLAG_ZERO)
+ *p++ = '0';
+ if (dp->width_start != dp->width_end) {
+ size_t n = dp->width_end - dp->width_start;
+ memcpy (p, dp->width_start, n);
+ p += n;
+ }
+ if (dp->precision_start != dp->precision_end) {
+ size_t n = dp->precision_end - dp->precision_start;
+ memcpy (p, dp->precision_start, n);
+ p += n;
+ }
+
+ switch (type) {
+#ifdef HAVE_INT64_AND_I64
+ case TYPE_INT64:
+ case TYPE_UINT64:
+ *p++ = 'I';
+ *p++ = '6';
+ *p++ = '4';
+ break;
+#endif
+#ifdef HAVE_LONG_LONG
+ case TYPE_LONGLONGINT:
+ case TYPE_ULONGLONGINT:
+#ifdef HAVE_INT64_AND_I64 /* The system (sn)printf uses %I64. Also assume
+ * that long long == __int64.
+ */
+ *p++ = 'I';
+ *p++ = '6';
+ *p++ = '4';
+ break;
+#else
+ *p++ = 'l';
+ /*FALLTHROUGH*/
+#endif
+#endif
+ case TYPE_LONGINT:
+ case TYPE_ULONGINT:
+#ifdef HAVE_WINT_T
+ case TYPE_WIDE_CHAR:
+#endif
+#ifdef HAVE_WCHAR_T
+ case TYPE_WIDE_STRING:
+#endif
+ *p++ = 'l';
+ break;
+#ifdef HAVE_LONG_DOUBLE
+ case TYPE_LONGDOUBLE:
+ *p++ = 'L';
+ break;
+#endif
+ default:
+ break;
+ }
+ *p = dp->conversion;
+#ifdef HAVE_SNPRINTF
+ p[1] = '%';
+ p[2] = 'n';
+ p[3] = '\0';
+#else
+ p[1] = '\0';
+#endif
+
+ /* Construct the arguments for calling snprintf or sprintf. */
+ prefix_count = 0;
+ if (dp->width_arg_index >= 0) {
+ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
+ abort ();
+ prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int;
+ }
+ if (dp->precision_arg_index >= 0) {
+ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
+ abort ();
+ prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int;
+ }
+#ifdef HAVE_SNPRINTF
+ /* Prepare checking whether snprintf returns the count
+ via %n. */
+ ENSURE_ALLOCATION (length + 1);
+ result[length] = '\0';
+#endif
+
+ for (;;) {
+ size_t maxlen;
+ int count;
+#ifdef HAVE_SNPRINTF
+ int retcount;
+#endif
+
+ maxlen = allocated - length;
+ count = -1;
+
+#ifdef HAVE_SNPRINTF
+ retcount = 0;
+
+#define SNPRINTF_BUF(arg) \
+ switch (prefix_count) \
+ { \
+ case 0: \
+ retcount = snprintf (result + length, maxlen, buf, \
+ arg, &count); \
+ break; \
+ case 1: \
+ retcount = snprintf (result + length, maxlen, buf, \
+ prefixes[0], arg, &count); \
+ break; \
+ case 2: \
+ retcount = snprintf (result + length, maxlen, buf, \
+ prefixes[0], prefixes[1], arg, \
+ &count); \
+ break; \
+ default: \
+ abort (); \
+ }
+#else
+#define SNPRINTF_BUF(arg) \
+ switch (prefix_count) \
+ { \
+ case 0: \
+ count = sprintf (tmp, buf, arg); \
+ break; \
+ case 1: \
+ count = sprintf (tmp, buf, prefixes[0], arg); \
+ break; \
+ case 2: \
+ count = sprintf (tmp, buf, prefixes[0], prefixes[1],\
+ arg); \
+ break; \
+ default: \
+ abort (); \
+ }
+#endif
+
+ switch (type) {
+ case TYPE_SCHAR:
+ {
+ int arg = a.arg[dp->arg_index].a.a_schar;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UCHAR:
+ {
+ unsigned int arg = a.arg[dp->arg_index].a.a_uchar;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_SHORT:
+ {
+ int arg = a.arg[dp->arg_index].a.a_short;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_USHORT:
+ {
+ unsigned int arg = a.arg[dp->arg_index].a.a_ushort;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_INT:
+ {
+ int arg = a.arg[dp->arg_index].a.a_int;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UINT:
+ {
+ unsigned int arg = a.arg[dp->arg_index].a.a_uint;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_LONGINT:
+ {
+ long int arg = a.arg[dp->arg_index].a.a_longint;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_ULONGINT:
+ {
+ unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+#ifdef HAVE_INT64_AND_I64
+ case TYPE_INT64:
+ {
+ __int64 arg = a.arg[dp->arg_index].a.a_int64;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_UINT64:
+ {
+ unsigned __int64 arg = a.arg[dp->arg_index].a.a_uint64;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+#endif
+#ifdef HAVE_LONG_LONG
+#ifndef HAVE_LONG_LONG_FORMAT
+ case TYPE_LONGLONGINT:
+ case TYPE_ULONGLONGINT:
+ {
+ unsigned long long int arg =
+ a.arg[dp->arg_index].a.a_ulonglongint;
+ int width;
+ int precision;
+
+ width = 0;
+ if (dp->width_start != dp->width_end) {
+ if (dp->width_arg_index >= 0) {
+ int arg;
+
+ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
+ abort ();
+ arg = a.arg[dp->width_arg_index].a.a_int;
+ width = (arg < 0 ? -arg : arg);
+ } else {
+ const char *digitp = dp->width_start;
+
+ do
+ width = width * 10 + (*digitp++ - '0');
+ while (digitp != dp->width_end);
+ }
+ }
+
+ precision = -1;
+ if (dp->precision_start != dp->precision_end) {
+ if (dp->precision_arg_index >= 0) {
+ int arg;
+
+ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
+ abort ();
+ arg = a.arg[dp->precision_arg_index].a.a_int;
+ precision = (arg < 0 ? 0 : arg);
+ } else {
+ const char *digitp = dp->precision_start + 1;
+
+ precision = 0;
+ do
+ precision = precision * 10 + (*digitp++ - '0');
+ while (digitp != dp->precision_end);
+ }
+ }
+#ifdef HAVE_SNPRINTF
+ count = print_long_long (result + length, maxlen,
+ width, precision, dp->flags, dp->conversion, arg);
+#else
+ count = print_long_long (tmp, tmp_length,
+ width, precision, dp->flags, dp->conversion, arg);
+#endif
+ }
+ break;
+#else
+ case TYPE_LONGLONGINT:
+ {
+ long long int arg = a.arg[dp->arg_index].a.a_longlongint;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_ULONGLONGINT:
+ {
+ unsigned long long int arg =
+ a.arg[dp->arg_index].a.a_ulonglongint;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+#endif
+#endif
+ case TYPE_DOUBLE:
+ {
+ double arg = a.arg[dp->arg_index].a.a_double;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+#ifdef HAVE_LONG_DOUBLE
+ case TYPE_LONGDOUBLE:
+ {
+ long double arg = a.arg[dp->arg_index].a.a_longdouble;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+#endif
+ case TYPE_CHAR:
+ {
+ int arg = a.arg[dp->arg_index].a.a_char;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+#ifdef HAVE_WINT_T
+ case TYPE_WIDE_CHAR:
+ {
+ wint_t arg = a.arg[dp->arg_index].a.a_wide_char;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+#endif
+ case TYPE_STRING:
+ {
+ const char *arg = a.arg[dp->arg_index].a.a_string == NULL
+ ? "(null)" : a.arg[dp->arg_index].a.a_string;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+#ifdef HAVE_WCHAR_T
+ case TYPE_WIDE_STRING:
+ {
+ const wchar_t *arg =
+ a.arg[dp->arg_index].a.a_wide_string ==
+ NULL ? L"(null)" : a.arg[dp->arg_index].a.a_wide_string;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+#endif
+ case TYPE_POINTER:
+ {
+ void *arg = a.arg[dp->arg_index].a.a_pointer;
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ case TYPE_POINTER_EXT:
+ {
+ void *arg = a.arg[dp->arg_index].a.a_pointer;
+
+ if (a.arg[dp->arg_index].ext_string != NULL) {
+ arg = a.arg[dp->arg_index].ext_string;
+ *p = 's';
+ }
+
+ SNPRINTF_BUF (arg);
+ }
+ break;
+ default:
+ abort ();
+ }
+
+#ifdef HAVE_SNPRINTF
+ /* Portability: Not all implementations of snprintf()
+ are ISO C 99 compliant. Determine the number of
+ bytes that snprintf() has produced or would have
+ produced. */
+ if (count >= 0) {
+ /* Verify that snprintf() has NUL-terminated its
+ result. */
+ if (count < maxlen && result[length + count] != '\0')
+ abort ();
+ /* Portability hack. */
+ if (retcount > count)
+ count = retcount;
+ } else {
+ /* snprintf() doesn't understand the '%n'
+ directive. */
+ if (p[1] != '\0') {
+ /* Don't use the '%n' directive; instead, look
+ at the snprintf() return value. */
+ p[1] = '\0';
+ continue;
+ }
+ count = retcount;
+ }
+#endif
+
+ /* Attempt to handle failure. */
+ if (count < 0) {
+ if (!(result == resultbuf || result == NULL))
+ free (result);
+ freea (buf);
+ CLEANUP ();
+ errno = EINVAL;
+ return NULL;
+ }
+#ifndef HAVE_SNPRINTF
+ if (count >= tmp_length)
+ /* tmp_length was incorrectly calculated - fix the
+ code above! */
+ abort ();
+#endif
+
+ /* Make room for the result. */
+ if (count >= maxlen) {
+ /* Need at least count bytes. But allocate
+ proportionally, to avoid looping eternally if
+ snprintf() reports a too small count. */
+ size_t n = length + count;
+
+ if (n < 2 * allocated)
+ n = 2 * allocated;
+
+ ENSURE_ALLOCATION (n);
+#ifdef HAVE_SNPRINTF
+ continue;
+#endif
+ }
+#ifdef HAVE_SNPRINTF
+ /* The snprintf() result did fit. */
+#else
+ /* Append the sprintf() result. */
+ memcpy (result + length, tmp, count);
+ if (tmp != tmpbuf)
+ free (tmp);
+#endif
+
+ length += count;
+ break;
+ }
+ }
+ }
+ }
+
+ /* Add the final NUL. */
+ ENSURE_ALLOCATION (length + 1);
+ result[length] = '\0';
+
+ if (result != resultbuf && length + 1 < allocated) {
+ /* Shrink the allocated memory if possible. */
+ char *memory;
+
+ memory = (char *) realloc (result, length + 1);
+ if (memory != NULL)
+ result = memory;
+ }
+
+ freea (buf);
+ CLEANUP ();
+ *lengthp = length;
+ return result;
+ }
+}
diff --git a/gst/printf/vasnprintf.h b/gst/printf/vasnprintf.h
new file mode 100644
index 0000000..4920cff
--- /dev/null
+++ b/gst/printf/vasnprintf.h
@@ -0,0 +1,61 @@
+/* vsprintf with automatic memory allocation.
+ Copyright (C) 2002-2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published
+ by the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA. */
+
+#ifndef _VASNPRINTF_H
+#define _VASNPRINTF_H
+
+/* Get va_list. */
+#include <stdarg.h>
+
+/* Get size_t. */
+#include <stddef.h>
+
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later. */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || defined (__STRICT_ANSI__)
+# define __attribute__(Spec) /* empty */
+# endif
+/* The __-protected variants of `format' and `printf' attributes
+ are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
+# define __format__ format
+# define __printf__ printf
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Write formatted output to a string dynamically allocated with malloc().
+ You can pass a preallocated buffer for the result in RESULTBUF and its
+ size in *LENGTHP; otherwise you pass RESULTBUF = NULL.
+ If successful, return the address of the string (this may be = RESULTBUF
+ if no dynamic memory allocation was necessary) and set *LENGTHP to the
+ number of resulting bytes, excluding the trailing NUL. Upon error, set
+ errno and return NULL. */
+extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)
+ __attribute__ ((__format__ (__printf__, 3, 4)));
+extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args)
+ __attribute__ ((__format__ (__printf__, 3, 0)));
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _VASNPRINTF_H */
diff --git a/gstreamer.doap b/gstreamer.doap
index 154e189..a86bf98 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -40,61 +40,21 @@ hierarchy, and a set of media-agnostic core elements.
<release>
<Version>
- <revision>1.0.8</revision>
- <branch>1.0</branch>
+ <revision>1.1.2</revision>
+ <branch>1.1</branch>
<name></name>
<created>2013-07-11</created>
- <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.8.tar.xz" />
- </Version>
- </release>
-
- <release>
- <Version>
- <revision>1.0.7</revision>
- <branch>1.0</branch>
- <name></name>
- <created>2013-04-26</created>
- <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.7.tar.xz" />
- </Version>
- </release>
-
- <release>
- <Version>
- <revision>1.0.6</revision>
- <branch>1.0</branch>
- <name></name>
- <created>2013-03-22</created>
- <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz" />
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.1.2.tar.xz" />
</Version>
</release>
<release>
<Version>
- <revision>1.0.5</revision>
- <branch>1.0</branch>
- <name></name>
- <created>2013-01-08</created>
- <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.5.tar.xz" />
- </Version>
- </release>
-
- <release>
- <Version>
- <revision>1.0.4</revision>
- <branch>1.0</branch>
- <name></name>
- <created>2012-12-18</created>
- <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.4.tar.xz" />
- </Version>
- </release>
-
- <release>
- <Version>
- <revision>1.0.3</revision>
- <branch>1.0</branch>
+ <revision>1.1.1</revision>
+ <branch>1.1</branch>
<name></name>
- <created>2012-11-21</created>
- <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.3.tar.xz" />
+ <created>2013-06-05</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.1.1.tar.xz" />
</Version>
</release>
diff --git a/gstreamer.spec b/gstreamer.spec
index 7d02de8..d8aaaea 100644
--- a/gstreamer.spec
+++ b/gstreamer.spec
@@ -4,7 +4,7 @@
%define _glib2 2.32.0
Name: %{gstreamer}
-Version: 1.0.8
+Version: 1.1.2
Release: 1
Summary: GStreamer streaming media framework runtime
@@ -33,8 +33,6 @@ BuildRequires: libxslt
BuildRequires: docbook-style-dsssl
BuildRequires: docbook-style-xsl
BuildRequires: docbook-utils
-BuildRequires: transfig
-BuildRequires: xfig
BuildRequires: netpbm-progs
BuildRequires: tetex-dvips
BuildRequires: ghostscript
diff --git a/gstreamer.spec.in b/gstreamer.spec.in
index 0b786ea..ed6f490 100644
--- a/gstreamer.spec.in
+++ b/gstreamer.spec.in
@@ -33,8 +33,6 @@ BuildRequires: libxslt
BuildRequires: docbook-style-dsssl
BuildRequires: docbook-style-xsl
BuildRequires: docbook-utils
-BuildRequires: transfig
-BuildRequires: xfig
BuildRequires: netpbm-progs
BuildRequires: tetex-dvips
BuildRequires: ghostscript
diff --git a/libs/Makefile.in b/libs/Makefile.in
index 6fca600..bd7a5c8 100644
--- a/libs/Makefile.in
+++ b/libs/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,13 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = libs
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,33 +109,42 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -117,9 +152,29 @@ am__can_run_installinfo = \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
@@ -247,15 +302,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -265,11 +316,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -277,6 +326,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -339,6 +389,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -471,22 +522,25 @@ clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -501,57 +555,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -567,12 +576,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -584,15 +588,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -601,6 +601,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -761,22 +776,20 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
Android.mk: Makefile.am
diff --git a/libs/gst/Makefile.in b/libs/gst/Makefile.in
index 08c8aef..20ca40a 100644
--- a/libs/gst/Makefile.in
+++ b/libs/gst/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,13 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = libs/gst
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,33 +109,42 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -117,9 +152,29 @@ am__can_run_installinfo = \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -246,15 +301,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -264,11 +315,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -276,6 +325,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -338,6 +388,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -476,22 +527,25 @@ clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -506,57 +560,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -572,12 +581,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -589,15 +593,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -606,6 +606,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -766,22 +781,20 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
Android.mk: Makefile.am
diff --git a/libs/gst/base/Makefile.am b/libs/gst/base/Makefile.am
index ca7d4c8..076dc02 100644
--- a/libs/gst/base/Makefile.am
+++ b/libs/gst/base/Makefile.am
@@ -12,7 +12,9 @@ libgstbase_@GST_API_VERSION@_la_SOURCES = \
gstbytereader.c \
gstbytewriter.c \
gstcollectpads.c \
+ gstdataqueue.c \
gstpushsrc.c \
+ gstqueuearray.c \
gsttypefindhelper.c
libgstbase_@GST_API_VERSION@_la_CFLAGS = $(GST_OBJ_CFLAGS)
@@ -23,6 +25,7 @@ libgstbase_@GST_API_VERSION@includedir = \
$(includedir)/gstreamer-@GST_API_VERSION@/gst/base
libgstbase_@GST_API_VERSION@include_HEADERS = \
+ base.h \
gstadapter.h \
gstbaseparse.h \
gstbasesink.h \
@@ -32,7 +35,9 @@ libgstbase_@GST_API_VERSION@include_HEADERS = \
gstbytereader.h \
gstbytewriter.h \
gstcollectpads.h \
+ gstdataqueue.h \
gstpushsrc.h \
+ gstqueuearray.h \
gsttypefindhelper.h
noinst_HEADERS = \
@@ -67,11 +72,10 @@ BUILT_GIRSOURCES = GstBase-@GST_API_VERSION@.gir
gir_headers=$(patsubst %,$(srcdir)/%, $(libgstbase_@GST_API_VERSION@include_HEADERS))
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstbase_@GST_API_VERSION@_la_SOURCES))
-gir_cincludes=$(patsubst %,--c-include='gst/base/%',$(libgstbase_@GST_API_VERSION@include_HEADERS))
GstBase-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstbase-@GST_API_VERSION@.la
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
- GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+ GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
$(INTROSPECTION_SCANNER) -v --namespace GstBase \
--nsversion=@GST_API_VERSION@ \
--warn-all \
@@ -80,10 +84,9 @@ GstBase-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstbase-@GST_API_VERS
-I$(top_srcdir)/libs \
-I$(top_builddir) \
-I$(top_builddir)/libs \
- $(gir_cincludes) \
+ --c-include "gst/base/base.h" \
--add-include-path=$(top_builddir)/gst \
--library-path=$(top_builddir)/gst \
- --library=$(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
--library=libgstbase-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
--libtool="$(top_builddir)/libtool" \
diff --git a/libs/gst/base/Makefile.in b/libs/gst/base/Makefile.in
index f932360..9675a87 100644
--- a/libs/gst/base/Makefile.in
+++ b/libs/gst/base/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,23 +17,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -56,15 +83,16 @@ host_triplet = @host@
target_triplet = @target@
@HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
subdir = libs/gst/base
-DIST_COMMON = README $(libgstbase_@GST_API_VERSION@include_HEADERS) \
- $(noinst_HEADERS) $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp \
+ $(libgstbase_@GST_API_VERSION@include_HEADERS) \
+ $(noinst_HEADERS) README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -88,12 +116,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -142,17 +172,32 @@ am_libgstbase_@GST_API_VERSION@_la_OBJECTS = \
libgstbase_@GST_API_VERSION@_la-gstbytereader.lo \
libgstbase_@GST_API_VERSION@_la-gstbytewriter.lo \
libgstbase_@GST_API_VERSION@_la-gstcollectpads.lo \
+ libgstbase_@GST_API_VERSION@_la-gstdataqueue.lo \
libgstbase_@GST_API_VERSION@_la-gstpushsrc.lo \
+ libgstbase_@GST_API_VERSION@_la-gstqueuearray.lo \
libgstbase_@GST_API_VERSION@_la-gsttypefindhelper.lo
libgstbase_@GST_API_VERSION@_la_OBJECTS = \
$(am_libgstbase_@GST_API_VERSION@_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
libgstbase_@GST_API_VERSION@_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) \
$(libgstbase_@GST_API_VERSION@_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -165,20 +210,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libgstbase_@GST_API_VERSION@_la_SOURCES)
DIST_SOURCES = $(libgstbase_@GST_API_VERSION@_la_SOURCES)
am__can_run_installinfo = \
@@ -189,6 +230,23 @@ am__can_run_installinfo = \
DATA = $(gir_DATA) $(typelibs_DATA)
HEADERS = $(libgstbase_@GST_API_VERSION@include_HEADERS) \
$(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -290,15 +348,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -308,11 +362,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -320,6 +372,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -382,6 +435,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -486,7 +540,9 @@ libgstbase_@GST_API_VERSION@_la_SOURCES = \
gstbytereader.c \
gstbytewriter.c \
gstcollectpads.c \
+ gstdataqueue.c \
gstpushsrc.c \
+ gstqueuearray.c \
gsttypefindhelper.c
libgstbase_@GST_API_VERSION@_la_CFLAGS = $(GST_OBJ_CFLAGS)
@@ -496,6 +552,7 @@ libgstbase_@GST_API_VERSION@includedir = \
$(includedir)/gstreamer-@GST_API_VERSION@/gst/base
libgstbase_@GST_API_VERSION@include_HEADERS = \
+ base.h \
gstadapter.h \
gstbaseparse.h \
gstbasesink.h \
@@ -505,7 +562,9 @@ libgstbase_@GST_API_VERSION@include_HEADERS = \
gstbytereader.h \
gstbytewriter.h \
gstcollectpads.h \
+ gstdataqueue.h \
gstpushsrc.h \
+ gstqueuearray.h \
gsttypefindhelper.h
noinst_HEADERS = \
@@ -519,7 +578,6 @@ CLEANFILES = *.gcno *.gcda *.gcov $(am__append_1)
@HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstBase-@GST_API_VERSION@.gir
@HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, $(libgstbase_@GST_API_VERSION@include_HEADERS))
@HAVE_INTROSPECTION_TRUE@gir_sources = $(patsubst %,$(srcdir)/%, $(libgstbase_@GST_API_VERSION@_la_SOURCES))
-@HAVE_INTROSPECTION_TRUE@gir_cincludes = $(patsubst %,--c-include='gst/base/%',$(libgstbase_@GST_API_VERSION@include_HEADERS))
# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
# install anything - we need to install inside our prefix.
@@ -561,6 +619,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
@@ -587,12 +646,15 @@ uninstall-libLTLIBRARIES:
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
libgstbase-@GST_API_VERSION@.la: $(libgstbase_@GST_API_VERSION@_la_OBJECTS) $(libgstbase_@GST_API_VERSION@_la_DEPENDENCIES) $(EXTRA_libgstbase_@GST_API_VERSION@_la_DEPENDENCIES)
$(AM_V_CCLD)$(libgstbase_@GST_API_VERSION@_la_LINK) -rpath $(libdir) $(libgstbase_@GST_API_VERSION@_la_OBJECTS) $(libgstbase_@GST_API_VERSION@_la_LIBADD) $(LIBS)
@@ -611,7 +673,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstbytereader.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstbytewriter.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstcollectpads.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstdataqueue.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstpushsrc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstqueuearray.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gsttypefindhelper.Plo@am__quote@
.c.o:
@@ -698,6 +762,13 @@ libgstbase_@GST_API_VERSION@_la-gstcollectpads.lo: gstcollectpads.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstbase_@GST_API_VERSION@_la-gstcollectpads.lo `test -f 'gstcollectpads.c' || echo '$(srcdir)/'`gstcollectpads.c
+libgstbase_@GST_API_VERSION@_la-gstdataqueue.lo: gstdataqueue.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstbase_@GST_API_VERSION@_la-gstdataqueue.lo -MD -MP -MF $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstdataqueue.Tpo -c -o libgstbase_@GST_API_VERSION@_la-gstdataqueue.lo `test -f 'gstdataqueue.c' || echo '$(srcdir)/'`gstdataqueue.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstdataqueue.Tpo $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstdataqueue.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstdataqueue.c' object='libgstbase_@GST_API_VERSION@_la-gstdataqueue.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstbase_@GST_API_VERSION@_la-gstdataqueue.lo `test -f 'gstdataqueue.c' || echo '$(srcdir)/'`gstdataqueue.c
+
libgstbase_@GST_API_VERSION@_la-gstpushsrc.lo: gstpushsrc.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstbase_@GST_API_VERSION@_la-gstpushsrc.lo -MD -MP -MF $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstpushsrc.Tpo -c -o libgstbase_@GST_API_VERSION@_la-gstpushsrc.lo `test -f 'gstpushsrc.c' || echo '$(srcdir)/'`gstpushsrc.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstpushsrc.Tpo $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstpushsrc.Plo
@@ -705,6 +776,13 @@ libgstbase_@GST_API_VERSION@_la-gstpushsrc.lo: gstpushsrc.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstbase_@GST_API_VERSION@_la-gstpushsrc.lo `test -f 'gstpushsrc.c' || echo '$(srcdir)/'`gstpushsrc.c
+libgstbase_@GST_API_VERSION@_la-gstqueuearray.lo: gstqueuearray.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstbase_@GST_API_VERSION@_la-gstqueuearray.lo -MD -MP -MF $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstqueuearray.Tpo -c -o libgstbase_@GST_API_VERSION@_la-gstqueuearray.lo `test -f 'gstqueuearray.c' || echo '$(srcdir)/'`gstqueuearray.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstqueuearray.Tpo $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gstqueuearray.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstqueuearray.c' object='libgstbase_@GST_API_VERSION@_la-gstqueuearray.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstbase_@GST_API_VERSION@_la-gstqueuearray.lo `test -f 'gstqueuearray.c' || echo '$(srcdir)/'`gstqueuearray.c
+
libgstbase_@GST_API_VERSION@_la-gsttypefindhelper.lo: gsttypefindhelper.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbase_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstbase_@GST_API_VERSION@_la-gsttypefindhelper.lo -MD -MP -MF $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gsttypefindhelper.Tpo -c -o libgstbase_@GST_API_VERSION@_la-gsttypefindhelper.lo `test -f 'gsttypefindhelper.c' || echo '$(srcdir)/'`gsttypefindhelper.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gsttypefindhelper.Tpo $(DEPDIR)/libgstbase_@GST_API_VERSION@_la-gsttypefindhelper.Plo
@@ -781,26 +859,15 @@ uninstall-libgstbase_@GST_API_VERSION@includeHEADERS:
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(libgstbase_@GST_API_VERSION@includedir)'; $(am__uninstall_files_from_dir)
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -812,15 +879,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -829,6 +892,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -978,21 +1056,21 @@ uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-girDATA \
- install-html install-html-am install-info install-info-am \
- install-libLTLIBRARIES \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-girDATA install-html install-html-am \
+ install-info install-info-am install-libLTLIBRARIES \
install-libgstbase_@GST_API_VERSION@includeHEADERS install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip install-typelibsDATA installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-girDATA \
+ tags tags-am uninstall uninstall-am uninstall-girDATA \
uninstall-libLTLIBRARIES \
uninstall-libgstbase_@GST_API_VERSION@includeHEADERS \
uninstall-typelibsDATA
@@ -1017,7 +1095,7 @@ Android.mk: Makefile.am
@HAVE_INTROSPECTION_TRUE@GstBase-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstbase-@GST_API_VERSION@.la
@HAVE_INTROSPECTION_TRUE@ $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
-@HAVE_INTROSPECTION_TRUE@ GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@ GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
@HAVE_INTROSPECTION_TRUE@ $(INTROSPECTION_SCANNER) -v --namespace GstBase \
@HAVE_INTROSPECTION_TRUE@ --nsversion=@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --warn-all \
@@ -1026,10 +1104,9 @@ Android.mk: Makefile.am
@HAVE_INTROSPECTION_TRUE@ -I$(top_srcdir)/libs \
@HAVE_INTROSPECTION_TRUE@ -I$(top_builddir) \
@HAVE_INTROSPECTION_TRUE@ -I$(top_builddir)/libs \
-@HAVE_INTROSPECTION_TRUE@ $(gir_cincludes) \
+@HAVE_INTROSPECTION_TRUE@ --c-include "gst/base/base.h" \
@HAVE_INTROSPECTION_TRUE@ --add-include-path=$(top_builddir)/gst \
@HAVE_INTROSPECTION_TRUE@ --library-path=$(top_builddir)/gst \
-@HAVE_INTROSPECTION_TRUE@ --library=$(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
@HAVE_INTROSPECTION_TRUE@ --library=libgstbase-@GST_API_VERSION@.la \
@HAVE_INTROSPECTION_TRUE@ --include=Gst-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --libtool="$(top_builddir)/libtool" \
diff --git a/libs/gst/base/base.h b/libs/gst/base/base.h
new file mode 100644
index 0000000..e741145
--- /dev/null
+++ b/libs/gst/base/base.h
@@ -0,0 +1,39 @@
+/* GStreamer
+ * Copyright (C) 2012 GStreamer developers
+ *
+ * base.h: single include header for gst-base library
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_BASE_H__
+#define __GST_BASE_H__
+
+#include <gst/base/gstadapter.h>
+#include <gst/base/gstbaseparse.h>
+#include <gst/base/gstbasesink.h>
+#include <gst/base/gstbasesrc.h>
+#include <gst/base/gstbasetransform.h>
+#include <gst/base/gstbitreader.h>
+#include <gst/base/gstbytereader.h>
+#include <gst/base/gstbytewriter.h>
+#include <gst/base/gstcollectpads.h>
+#include <gst/base/gstdataqueue.h>
+#include <gst/base/gstpushsrc.h>
+#include <gst/base/gstqueuearray.h>
+#include <gst/base/gsttypefindhelper.h>
+
+#endif /* __GST_BASE_H__ */
diff --git a/libs/gst/base/gstadapter.c b/libs/gst/base/gstadapter.c
index 5a15e68..935fa20 100644
--- a/libs/gst/base/gstadapter.c
+++ b/libs/gst/base/gstadapter.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -83,12 +83,14 @@
*
* The adapter will keep track of the timestamps of the buffers
* that were pushed. The last seen timestamp before the current position
- * can be queried with gst_adapter_prev_timestamp(). This function can
- * optionally return the amount of bytes between the start of the buffer that
+ * can be queried with gst_adapter_prev_pts(). This function can
+ * optionally return the number of bytes between the start of the buffer that
* carried the timestamp and the current adapter position. The distance is
* useful when dealing with, for example, raw audio samples because it allows
* you to calculate the timestamp of the current adapter position by using the
- * last seen timestamp and the amount of bytes since.
+ * last seen timestamp and the amount of bytes since. Additionally, the
+ * gst_adapter_prev_pts_at_offset() can be used to determine the last
+ * seen timestamp at a particular offset in the adapter.
*
* A last thing to note is that while GstAdapter is pretty optimized,
* merging buffers still might be an operation that requires a malloc() and
@@ -949,6 +951,104 @@ gst_adapter_prev_dts (GstAdapter * adapter, guint64 * distance)
}
/**
+ * gst_adapter_prev_pts_at_offset:
+ * @adapter: a #GstAdapter
+ * @offset: the offset in the adapter at which to get timestamp
+ * @distance: (out) (allow-none): pointer to location for distance, or NULL
+ *
+ * Get the pts that was before the byte at offset @offset in the adapter. When
+ * @distance is given, the amount of bytes between the pts and the current
+ * position is returned.
+ *
+ * The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
+ * the adapter is first created or when it is cleared. This also means that before
+ * the first byte with a pts is removed from the adapter, the pts
+ * and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.
+ *
+ * Since: 1.2
+ * Returns: The previously seen pts at given offset.
+ */
+GstClockTime
+gst_adapter_prev_pts_at_offset (GstAdapter * adapter, gsize offset,
+ guint64 * distance)
+{
+ GstBuffer *cur;
+ GSList *g;
+ gsize read_offset = 0;
+ GstClockTime pts = adapter->pts;
+
+ g_return_val_if_fail (GST_IS_ADAPTER (adapter), GST_CLOCK_TIME_NONE);
+ g_return_val_if_fail (offset >= 0, GST_CLOCK_TIME_NONE);
+
+ g = adapter->buflist;
+
+ while (g && read_offset < offset + adapter->skip) {
+ cur = g->data;
+
+ read_offset += gst_buffer_get_size (cur);
+ if (GST_CLOCK_TIME_IS_VALID (GST_BUFFER_PTS (cur))) {
+ pts = GST_BUFFER_PTS (cur);
+ }
+
+ g = g_slist_next (g);
+ }
+
+ if (distance)
+ *distance = adapter->dts_distance + offset;
+
+ return pts;
+}
+
+/**
+ * gst_adapter_prev_dts_at_offset:
+ * @adapter: a #GstAdapter
+ * @offset: the offset in the adapter at which to get timestamp
+ * @distance: (out) (allow-none): pointer to location for distance, or NULL
+ *
+ * Get the dts that was before the byte at offset @offset in the adapter. When
+ * @distance is given, the amount of bytes between the dts and the current
+ * position is returned.
+ *
+ * The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
+ * the adapter is first created or when it is cleared. This also means that before
+ * the first byte with a dts is removed from the adapter, the dts
+ * and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.
+ *
+ * Since: 1.2
+ * Returns: The previously seen dts at given offset.
+ */
+GstClockTime
+gst_adapter_prev_dts_at_offset (GstAdapter * adapter, gsize offset,
+ guint64 * distance)
+{
+ GstBuffer *cur;
+ GSList *g;
+ gsize read_offset = 0;
+ GstClockTime dts = adapter->dts;
+
+ g_return_val_if_fail (GST_IS_ADAPTER (adapter), GST_CLOCK_TIME_NONE);
+ g_return_val_if_fail (offset >= 0, GST_CLOCK_TIME_NONE);
+
+ g = adapter->buflist;
+
+ while (g && read_offset < offset + adapter->skip) {
+ cur = g->data;
+
+ read_offset += gst_buffer_get_size (cur);
+ if (GST_CLOCK_TIME_IS_VALID (GST_BUFFER_DTS (cur))) {
+ dts = GST_BUFFER_DTS (cur);
+ }
+
+ g = g_slist_next (g);
+ }
+
+ if (distance)
+ *distance = adapter->dts_distance + offset;
+
+ return dts;
+}
+
+/**
* gst_adapter_masked_scan_uint32_peek:
* @adapter: a #GstAdapter
* @mask: mask to apply to data before matching against @pattern
@@ -971,7 +1071,7 @@ gst_adapter_prev_dts (GstAdapter * adapter, guint64 * distance)
*
* Returns: offset of the first match, or -1 if no match was found.
*/
-gsize
+gssize
gst_adapter_masked_scan_uint32_peek (GstAdapter * adapter, guint32 mask,
guint32 pattern, gsize offset, gsize size, guint32 * value)
{
@@ -1108,7 +1208,7 @@ gst_adapter_masked_scan_uint32_peek (GstAdapter * adapter, guint32 mask,
* // -> returns -1
* </programlisting>
*/
-gsize
+gssize
gst_adapter_masked_scan_uint32 (GstAdapter * adapter, guint32 mask,
guint32 pattern, gsize offset, gsize size)
{
diff --git a/libs/gst/base/gstadapter.h b/libs/gst/base/gstadapter.h
index 5b89744..9625a01 100644
--- a/libs/gst/base/gstadapter.h
+++ b/libs/gst/base/gstadapter.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/gst.h>
@@ -65,11 +65,13 @@ gsize gst_adapter_available_fast (GstAdapter *adapter);
GstClockTime gst_adapter_prev_pts (GstAdapter *adapter, guint64 *distance);
GstClockTime gst_adapter_prev_dts (GstAdapter *adapter, guint64 *distance);
+GstClockTime gst_adapter_prev_pts_at_offset (GstAdapter * adapter, gsize offset, guint64 * distance);
+GstClockTime gst_adapter_prev_dts_at_offset (GstAdapter * adapter, gsize offset, guint64 * distance);
-gsize gst_adapter_masked_scan_uint32 (GstAdapter * adapter, guint32 mask,
+gssize gst_adapter_masked_scan_uint32 (GstAdapter * adapter, guint32 mask,
guint32 pattern, gsize offset, gsize size);
-gsize gst_adapter_masked_scan_uint32_peek (GstAdapter * adapter, guint32 mask,
+gssize gst_adapter_masked_scan_uint32_peek (GstAdapter * adapter, guint32 mask,
guint32 pattern, gsize offset, gsize size, guint32 * value);
G_END_DECLS
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index 2f55c7c..5152d03 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -248,6 +248,7 @@ struct _GstBaseParsePrivate
guint min_frame_size;
gboolean passthrough;
gboolean pts_interpolate;
+ gboolean infer_ts;
gboolean syncable;
gboolean has_timing_info;
guint fps_num, fps_den;
@@ -430,12 +431,17 @@ static void gst_base_parse_loop (GstPad * pad);
static GstFlowReturn gst_base_parse_parse_frame (GstBaseParse * parse,
GstBaseParseFrame * frame);
-static gboolean gst_base_parse_sink_default (GstBaseParse * parse,
+static gboolean gst_base_parse_sink_event_default (GstBaseParse * parse,
GstEvent * event);
-static gboolean gst_base_parse_src_default (GstBaseParse * parse,
+static gboolean gst_base_parse_src_event_default (GstBaseParse * parse,
GstEvent * event);
+static gboolean gst_base_parse_sink_query_default (GstBaseParse * parse,
+ GstQuery * query);
+static gboolean gst_base_parse_src_query_default (GstBaseParse * parse,
+ GstQuery * query);
+
static void gst_base_parse_drain (GstBaseParse * parse);
static void gst_base_parse_post_bitrates (GstBaseParse * parse,
@@ -538,8 +544,10 @@ gst_base_parse_class_init (GstBaseParseClass * klass)
#endif
/* Default handlers */
- klass->sink_event = gst_base_parse_sink_default;
- klass->src_event = gst_base_parse_src_default;
+ klass->sink_event = gst_base_parse_sink_event_default;
+ klass->src_event = gst_base_parse_src_event_default;
+ klass->sink_query = gst_base_parse_sink_query_default;
+ klass->src_query = gst_base_parse_src_query_default;
klass->convert = gst_base_parse_convert_default;
GST_DEBUG_CATEGORY_INIT (gst_base_parse_debug, "baseparse", 0,
@@ -724,11 +732,12 @@ gst_base_parse_reset (GstBaseParse * parse)
parse->priv->first_frame_offset = -1;
parse->priv->estimated_duration = -1;
parse->priv->estimated_drift = 0;
- parse->priv->next_pts = 0;
+ parse->priv->next_pts = GST_CLOCK_TIME_NONE;
parse->priv->next_dts = 0;
parse->priv->syncable = TRUE;
parse->priv->passthrough = FALSE;
parse->priv->pts_interpolate = TRUE;
+ parse->priv->infer_ts = TRUE;
parse->priv->has_timing_info = FALSE;
parse->priv->post_min_bitrate = TRUE;
parse->priv->post_avg_bitrate = TRUE;
@@ -881,7 +890,7 @@ gst_base_parse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
}
-/* gst_base_parse_sink_default:
+/* gst_base_parse_sink_event_default:
* @parse: #GstBaseParse.
* @event: #GstEvent to be handled.
*
@@ -893,7 +902,7 @@ gst_base_parse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
* Returns: %TRUE if the event was handled and not need forwarding.
*/
static gboolean
-gst_base_parse_sink_default (GstBaseParse * parse, GstEvent * event)
+gst_base_parse_sink_event_default (GstBaseParse * parse, GstEvent * event)
{
GstBaseParseClass *klass = GST_BASE_PARSE_GET_CLASS (parse);
gboolean ret = FALSE;
@@ -1027,10 +1036,11 @@ gst_base_parse_sink_default (GstBaseParse * parse, GstEvent * event)
parse->priv->offset = offset;
parse->priv->sync_offset = offset;
parse->priv->next_dts = next_dts;
- if (parse->priv->pts_interpolate)
- parse->priv->next_pts = next_dts;
+ parse->priv->next_pts = GST_CLOCK_TIME_NONE;
parse->priv->last_pts = GST_CLOCK_TIME_NONE;
parse->priv->last_dts = GST_CLOCK_TIME_NONE;
+ parse->priv->prev_pts = GST_CLOCK_TIME_NONE;
+ parse->priv->prev_dts = GST_CLOCK_TIME_NONE;
parse->priv->discont = TRUE;
parse->priv->seen_keyframe = FALSE;
break;
@@ -1159,18 +1169,20 @@ gst_base_parse_sink_default (GstBaseParse * parse, GstEvent * event)
}
static gboolean
-gst_base_parse_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
+gst_base_parse_sink_query_default (GstBaseParse * parse, GstQuery * query)
{
- GstBaseParse *parse;
- GstBaseParseClass *bclass;
+ GstPad *pad;
gboolean res;
- parse = GST_BASE_PARSE (parent);
- bclass = GST_BASE_PARSE_GET_CLASS (parse);
+ pad = GST_BASE_PARSE_SINK_PAD (parse);
switch (GST_QUERY_TYPE (query)) {
case GST_QUERY_CAPS:
{
+ GstBaseParseClass *bclass;
+
+ bclass = GST_BASE_PARSE_GET_CLASS (parse);
+
if (bclass->get_sink_caps) {
GstCaps *caps, *filter;
@@ -1204,7 +1216,7 @@ gst_base_parse_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
}
default:
{
- res = gst_pad_query_default (pad, parent, query);
+ res = gst_pad_query_default (pad, GST_OBJECT_CAST (parse), query);
break;
}
}
@@ -1212,6 +1224,52 @@ gst_base_parse_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
return res;
}
+static gboolean
+gst_base_parse_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
+{
+ GstBaseParseClass *bclass;
+ GstBaseParse *parse;
+ gboolean ret;
+
+ parse = GST_BASE_PARSE (parent);
+ bclass = GST_BASE_PARSE_GET_CLASS (parse);
+
+ GST_DEBUG_OBJECT (parse, "%s query", GST_QUERY_TYPE_NAME (query));
+
+ if (bclass->sink_query)
+ ret = bclass->sink_query (parse, query);
+ else
+ ret = FALSE;
+
+ GST_LOG_OBJECT (parse, "%s query result: %d %" GST_PTR_FORMAT,
+ GST_QUERY_TYPE_NAME (query), ret, query);
+
+ return ret;
+}
+
+static gboolean
+gst_base_parse_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
+{
+ GstBaseParseClass *bclass;
+ GstBaseParse *parse;
+ gboolean ret;
+
+ parse = GST_BASE_PARSE (parent);
+ bclass = GST_BASE_PARSE_GET_CLASS (parse);
+
+ GST_DEBUG_OBJECT (parse, "%s query: %" GST_PTR_FORMAT,
+ GST_QUERY_TYPE_NAME (query), query);
+
+ if (bclass->src_query)
+ ret = bclass->src_query (parse, query);
+ else
+ ret = FALSE;
+
+ GST_LOG_OBJECT (parse, "%s query result: %d %" GST_PTR_FORMAT,
+ GST_QUERY_TYPE_NAME (query), ret, query);
+
+ return ret;
+}
/* gst_base_parse_src_event:
* @pad: #GstPad that received the event.
@@ -1250,7 +1308,7 @@ gst_base_parse_is_seekable (GstBaseParse * parse)
return parse->priv->syncable;
}
-/* gst_base_parse_src_default:
+/* gst_base_parse_src_event_default:
* @parse: #GstBaseParse.
* @event: #GstEvent that was received.
*
@@ -1259,7 +1317,7 @@ gst_base_parse_is_seekable (GstBaseParse * parse)
* Returns: TRUE if the event was handled and can be dropped.
*/
static gboolean
-gst_base_parse_src_default (GstBaseParse * parse, GstEvent * event)
+gst_base_parse_src_event_default (GstBaseParse * parse, GstEvent * event)
{
gboolean res = FALSE;
@@ -1877,7 +1935,7 @@ gst_base_parse_handle_buffer (GstBaseParse * parse, GstBuffer * buffer,
return ret;
}
-/* gst_base_parse_handle_and_push_buffer:
+/* gst_base_parse_handle_and_push_frame:
* @parse: #GstBaseParse.
* @klass: #GstBaseParseClass.
* @frame: (transfer full): a #GstBaseParseFrame
@@ -1929,6 +1987,12 @@ gst_base_parse_handle_and_push_frame (GstBaseParse * parse,
}
}
+ /* interpolating and no valid pts yet,
+ * start with dts and carry on from there */
+ if (parse->priv->infer_ts && parse->priv->pts_interpolate
+ && !GST_CLOCK_TIME_IS_VALID (parse->priv->next_pts))
+ parse->priv->next_pts = parse->priv->next_dts;
+
/* again use default handler to add missing metadata;
* we may have new information on frame properties */
gst_base_parse_parse_frame (parse, frame);
@@ -2664,10 +2728,21 @@ gst_base_parse_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
* but interpolate in between */
pts = gst_adapter_prev_pts (parse->priv->adapter, NULL);
dts = gst_adapter_prev_dts (parse->priv->adapter, NULL);
- if (GST_CLOCK_TIME_IS_VALID (pts) && (parse->priv->prev_pts != pts)) {
+ if (GST_CLOCK_TIME_IS_VALID (pts) && (parse->priv->prev_pts != pts))
parse->priv->prev_pts = parse->priv->next_pts = pts;
+
+ if (GST_CLOCK_TIME_IS_VALID (dts) && (parse->priv->prev_dts != dts))
parse->priv->prev_dts = parse->priv->next_dts = dts;
- }
+
+ /* we can mess with, erm interpolate, timestamps,
+ * and incoming stuff has PTS but no DTS seen so far,
+ * then pick up DTS from PTS and hope for the best ... */
+ if (parse->priv->infer_ts &&
+ parse->priv->pts_interpolate &&
+ !GST_CLOCK_TIME_IS_VALID (dts) &&
+ !GST_CLOCK_TIME_IS_VALID (parse->priv->prev_dts) &&
+ GST_CLOCK_TIME_IS_VALID (pts))
+ parse->priv->next_dts = pts;
/* always pass all available data */
data = gst_adapter_map (parse->priv->adapter, av);
@@ -3390,6 +3465,23 @@ gst_base_parse_set_pts_interpolation (GstBaseParse * parse,
}
/**
+ * gst_base_parse_set_infer_ts:
+ * @parse: a #GstBaseParse
+ * @infer_ts: %TRUE if parser should infer DTS/PTS from each other
+ *
+ * By default, the base class might try to infer PTS from DTS and vice
+ * versa. While this is generally correct for audio data, it may not
+ * be otherwise. Sub-classes implementing such formats should disable
+ * timestamp infering.
+ */
+void
+gst_base_parse_set_infer_ts (GstBaseParse * parse, gboolean infer_ts)
+{
+ parse->priv->infer_ts = infer_ts;
+ GST_INFO_OBJECT (parse, "TS infering: %s", (infer_ts) ? "yes" : "no");
+}
+
+/**
* gst_base_parse_set_latency:
* @parse: a #GstBaseParse
* @min_latency: minimum parse latency
@@ -3443,14 +3535,12 @@ gst_base_parse_get_duration (GstBaseParse * parse, GstFormat format,
}
static gboolean
-gst_base_parse_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
+gst_base_parse_src_query_default (GstBaseParse * parse, GstQuery * query)
{
- GstBaseParse *parse;
gboolean res = FALSE;
+ GstPad *pad;
- parse = GST_BASE_PARSE (parent);
-
- GST_LOG_OBJECT (parse, "handling query: %" GST_PTR_FORMAT, query);
+ pad = GST_BASE_PARSE_SRC_PAD (parse);
switch (GST_QUERY_TYPE (query)) {
case GST_QUERY_POSITION:
@@ -3462,7 +3552,7 @@ gst_base_parse_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
gst_query_parse_position (query, &format, NULL);
/* try upstream first */
- res = gst_pad_query_default (pad, parent, query);
+ res = gst_pad_query_default (pad, GST_OBJECT_CAST (parse), query);
if (!res) {
/* Fall back on interpreting segment */
GST_OBJECT_LOCK (parse);
@@ -3496,7 +3586,7 @@ gst_base_parse_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
gst_query_parse_duration (query, &format, NULL);
/* consult upstream */
- res = gst_pad_query_default (pad, parent, query);
+ res = gst_pad_query_default (pad, GST_OBJECT_CAST (parse), query);
/* otherwise best estimate from us */
if (!res) {
@@ -3516,7 +3606,7 @@ gst_base_parse_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
gst_query_parse_seeking (query, &fmt, NULL, NULL, NULL);
/* consult upstream */
- res = gst_pad_query_default (pad, parent, query);
+ res = gst_pad_query_default (pad, GST_OBJECT_CAST (parse), query);
/* we may be able to help if in TIME */
if (fmt == GST_FORMAT_TIME && gst_base_parse_is_seekable (parse)) {
@@ -3585,7 +3675,7 @@ gst_base_parse_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
break;
}
default:
- res = gst_pad_query_default (pad, parent, query);
+ res = gst_pad_query_default (pad, GST_OBJECT_CAST (parse), query);
break;
}
return res;
@@ -4040,8 +4130,7 @@ gst_base_parse_handle_seek (GstBaseParse * parse, GstEvent * event)
parse->priv->seen_keyframe = FALSE;
parse->priv->discont = TRUE;
parse->priv->next_dts = start_ts;
- if (parse->priv->pts_interpolate)
- parse->priv->next_pts = start_ts;
+ parse->priv->next_pts = GST_CLOCK_TIME_NONE;
parse->priv->last_dts = GST_CLOCK_TIME_NONE;
parse->priv->last_pts = GST_CLOCK_TIME_NONE;
parse->priv->sync_offset = seekpos;
@@ -4244,3 +4333,42 @@ gst_base_parse_change_state (GstElement * element, GstStateChange transition)
return result;
}
+
+/**
+ * gst_base_parse_set_ts_at_offset:
+ * @parse: a #GstBaseParse
+ * @offset: offset into current buffer
+ *
+ * This function should only be called from a @handle_frame implementation.
+ *
+ * GstBaseParse creates initial timestamps for frames by using the last
+ * timestamp seen in the stream before the frame starts. In certain
+ * cases, the correct timestamps will occur in the stream after the
+ * start of the frame, but before the start of the actual picture data.
+ * This function can be used to set the timestamps based on the offset
+ * into the frame data that the picture starts.
+ *
+ * Since: 1.2
+ */
+void
+gst_base_parse_set_ts_at_offset (GstBaseParse * parse, gsize offset)
+{
+ GstClockTime pts, dts;
+
+ g_return_if_fail (GST_IS_BASE_PARSE (parse));
+ g_return_if_fail (offset >= 0);
+
+ pts = gst_adapter_prev_pts_at_offset (parse->priv->adapter, offset, NULL);
+ dts = gst_adapter_prev_dts_at_offset (parse->priv->adapter, offset, NULL);
+
+ if (!GST_CLOCK_TIME_IS_VALID (pts) || !GST_CLOCK_TIME_IS_VALID (dts)) {
+ GST_DEBUG_OBJECT (parse,
+ "offset adapter timestamps dts=%" GST_TIME_FORMAT " pts=%"
+ GST_TIME_FORMAT, GST_TIME_ARGS (dts), GST_TIME_ARGS (pts));
+ }
+ if (GST_CLOCK_TIME_IS_VALID (pts) && (parse->priv->prev_pts != pts))
+ parse->priv->prev_pts = parse->priv->next_pts = pts;
+
+ if (GST_CLOCK_TIME_IS_VALID (dts) && (parse->priv->prev_dts != dts))
+ parse->priv->prev_dts = parse->priv->next_dts = dts;
+}
diff --git a/libs/gst/base/gstbaseparse.h b/libs/gst/base/gstbaseparse.h
index d0a1be4..6c7dd71 100644
--- a/libs/gst/base/gstbaseparse.h
+++ b/libs/gst/base/gstbaseparse.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_BASE_PARSE_H__
@@ -213,6 +213,13 @@ struct _GstBaseParse {
* Called until it doesn't return GST_FLOW_OK anymore for
* the first buffers. Can be used by the subclass to detect
* the stream format.
+ * @sink_query: Optional.
+ * Query handler on the sink pad. This function should chain
+ * up to the parent implementation to let the default handler
+ * run (Since 1.2)
+ * @src_query: Optional.
+ * Query handler on the source pad. Should chain up to the
+ * parent to let the default handler run (Since 1.2)
*
* Subclasses can override any of the available virtual methods or not, as
* needed. At minimum @check_valid_frame and @parse_frame needs to be
@@ -256,8 +263,14 @@ struct _GstBaseParseClass {
GstFlowReturn (*detect) (GstBaseParse * parse,
GstBuffer * buffer);
+ gboolean (*sink_query) (GstBaseParse * parse,
+ GstQuery * query);
+
+ gboolean (*src_query) (GstBaseParse * parse,
+ GstQuery * query);
+
/*< private >*/
- gpointer _gst_reserved[GST_PADDING_LARGE];
+ gpointer _gst_reserved[GST_PADDING_LARGE - 2];
};
GType gst_base_parse_get_type (void);
@@ -302,6 +315,9 @@ void gst_base_parse_set_passthrough (GstBaseParse * parse,
void gst_base_parse_set_pts_interpolation (GstBaseParse * parse,
gboolean pts_interpolate);
+void gst_base_parse_set_infer_ts (GstBaseParse * parse,
+ gboolean infer_ts);
+
void gst_base_parse_set_frame_rate (GstBaseParse * parse,
guint fps_num,
guint fps_den,
@@ -324,6 +340,9 @@ gboolean gst_base_parse_add_index_entry (GstBaseParse * parse,
gboolean key,
gboolean force);
+void gst_base_parse_set_ts_at_offset (GstBaseParse *parse,
+ gsize offset);
+
G_END_DECLS
#endif /* __GST_BASE_PARSE_H__ */
diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
index 390a677..9e97550 100644
--- a/libs/gst/base/gstbasesink.c
+++ b/libs/gst/base/gstbasesink.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -265,6 +265,12 @@ struct _GstBaseSinkPrivate
/* for throttling and QoS */
GstClockTime earliest_in_time;
GstClockTime throttle_time;
+
+ /* for rate control */
+ guint64 max_bitrate;
+ GstClockTime rc_time;
+ GstClockTime rc_next;
+ gsize rc_accumulated;
};
#define DO_RUNNING_AVG(avg,val,size) (((val) + ((size)-1) * (avg)) / (size))
@@ -292,6 +298,7 @@ struct _GstBaseSinkPrivate
#define DEFAULT_RENDER_DELAY 0
#define DEFAULT_ENABLE_LAST_SAMPLE TRUE
#define DEFAULT_THROTTLE_TIME 0
+#define DEFAULT_MAX_BITRATE 0
enum
{
@@ -306,6 +313,7 @@ enum
PROP_BLOCKSIZE,
PROP_RENDER_DELAY,
PROP_THROTTLE_TIME,
+ PROP_MAX_BITRATE,
PROP_LAST
};
@@ -397,7 +405,7 @@ static GstCaps *gst_base_sink_fixate (GstBaseSink * bsink, GstCaps * caps);
/* check if an object was too late */
static gboolean gst_base_sink_is_too_late (GstBaseSink * basesink,
GstMiniObject * obj, GstClockTime rstart, GstClockTime rstop,
- GstClockReturn status, GstClockTimeDiff jitter);
+ GstClockReturn status, GstClockTimeDiff jitter, gboolean render);
static void
gst_base_sink_class_init (GstBaseSinkClass * klass)
@@ -511,8 +519,23 @@ gst_base_sink_class_init (GstBaseSinkClass * klass)
*/
g_object_class_install_property (gobject_class, PROP_THROTTLE_TIME,
g_param_spec_uint64 ("throttle-time", "Throttle time",
- "The time to keep between rendered buffers", 0, G_MAXUINT64,
- DEFAULT_THROTTLE_TIME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ "The time to keep between rendered buffers (0 = disabled)", 0,
+ G_MAXUINT64, DEFAULT_THROTTLE_TIME,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ /**
+ * GstBaseSink:max-bitrate:
+ *
+ * Control the maximum amount of bits that will be rendered per second.
+ * Setting this property to a value bigger than 0 will make the sink delay
+ * rendering of the buffers when it would exceed to max-bitrate.
+ *
+ * Since: 1.1.1
+ */
+ g_object_class_install_property (gobject_class, PROP_MAX_BITRATE,
+ g_param_spec_uint64 ("max-bitrate", "Max Bitrate",
+ "The maximum bits per second to render (0 = disabled)", 0,
+ G_MAXUINT64, DEFAULT_MAX_BITRATE,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
gstelement_class->change_state =
GST_DEBUG_FUNCPTR (gst_base_sink_change_state);
@@ -643,6 +666,7 @@ gst_base_sink_init (GstBaseSink * basesink, gpointer g_class)
priv->cached_clock_id = NULL;
g_atomic_int_set (&priv->enable_last_sample, DEFAULT_ENABLE_LAST_SAMPLE);
priv->throttle_time = DEFAULT_THROTTLE_TIME;
+ priv->max_bitrate = DEFAULT_MAX_BITRATE;
GST_OBJECT_FLAG_SET (basesink, GST_ELEMENT_FLAG_SINK);
}
@@ -1249,6 +1273,50 @@ gst_base_sink_get_throttle_time (GstBaseSink * sink)
return res;
}
+/**
+ * gst_base_sink_set_max_bitrate:
+ * @sink: a #GstBaseSink
+ * @max_bitrate: the max_bitrate in bits per second
+ *
+ * Set the maximum amount of bits per second that the sink will render.
+ *
+ * Since: 1.1.1
+ */
+void
+gst_base_sink_set_max_bitrate (GstBaseSink * sink, guint64 max_bitrate)
+{
+ g_return_if_fail (GST_IS_BASE_SINK (sink));
+
+ GST_OBJECT_LOCK (sink);
+ sink->priv->max_bitrate = max_bitrate;
+ GST_LOG_OBJECT (sink, "set max_bitrate to %" G_GUINT64_FORMAT, max_bitrate);
+ GST_OBJECT_UNLOCK (sink);
+}
+
+/**
+ * gst_base_sink_get_max_bitrate:
+ * @sink: a #GstBaseSink
+ *
+ * Get the maximum amount of bits per second that the sink will render.
+ *
+ * Returns: the maximum number of bits per second @sink will render.
+ *
+ * Since: 1.1.1
+ */
+guint64
+gst_base_sink_get_max_bitrate (GstBaseSink * sink)
+{
+ guint64 res;
+
+ g_return_val_if_fail (GST_IS_BASE_SINK (sink), 0);
+
+ GST_OBJECT_LOCK (sink);
+ res = sink->priv->max_bitrate;
+ GST_OBJECT_UNLOCK (sink);
+
+ return res;
+}
+
static void
gst_base_sink_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
@@ -1283,6 +1351,9 @@ gst_base_sink_set_property (GObject * object, guint prop_id,
case PROP_THROTTLE_TIME:
gst_base_sink_set_throttle_time (sink, g_value_get_uint64 (value));
break;
+ case PROP_MAX_BITRATE:
+ gst_base_sink_set_max_bitrate (sink, g_value_get_uint64 (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1326,6 +1397,9 @@ gst_base_sink_get_property (GObject * object, guint prop_id, GValue * value,
case PROP_THROTTLE_TIME:
g_value_set_uint64 (value, gst_base_sink_get_throttle_time (sink));
break;
+ case PROP_MAX_BITRATE:
+ g_value_set_uint64 (value, gst_base_sink_get_max_bitrate (sink));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1417,7 +1491,29 @@ gst_base_sink_commit_state (GstBaseSink * basesink)
GST_CLOCK_TIME_NONE));
}
if (post_playing) {
+ if (post_paused) {
+ GstElementClass *klass;
+
+ klass = GST_ELEMENT_GET_CLASS (basesink);
+ basesink->have_preroll = TRUE;
+ /* after releasing this lock, the state change function
+ * can execute concurrently with this thread. There is nothing we do to
+ * prevent this for now. subclasses should be prepared to handle it. */
+ GST_BASE_SINK_PREROLL_UNLOCK (basesink);
+
+ if (klass->change_state)
+ klass->change_state (GST_ELEMENT_CAST (basesink),
+ GST_STATE_CHANGE_PAUSED_TO_PLAYING);
+
+ GST_BASE_SINK_PREROLL_LOCK (basesink);
+ /* state change function could have been executed and we could be
+ * flushing now */
+ if (G_UNLIKELY (basesink->flushing))
+ goto stopping;
+ }
GST_DEBUG_OBJECT (basesink, "posting PLAYING state change message");
+ /* FIXME, we released the PREROLL lock above, it's possible that this
+ * message is not correct anymore when the element went back to PAUSED */
gst_element_post_message (GST_ELEMENT_CAST (basesink),
gst_message_new_state_changed (GST_OBJECT_CAST (basesink),
next, pending, GST_STATE_VOID_PENDING));
@@ -1980,8 +2076,8 @@ gst_base_sink_wait_clock (GstBaseSink * sink, GstClockTime time,
/* FIXME: Casting to GstClockEntry only works because the types
* are the same */
if (G_LIKELY (sink->priv->cached_clock_id != NULL
- && GST_CLOCK_ENTRY_CLOCK ((GstClockEntry *) sink->
- priv->cached_clock_id) == clock)) {
+ && GST_CLOCK_ENTRY_CLOCK ((GstClockEntry *) sink->priv->
+ cached_clock_id) == clock)) {
if (!gst_clock_single_shot_id_reinit (clock, sink->priv->cached_clock_id,
time)) {
gst_clock_id_unref (sink->priv->cached_clock_id);
@@ -2370,6 +2466,18 @@ again:
/* adjust for latency */
stime = gst_base_sink_adjust_time (basesink, rstart);
+ /* adjust for rate control */
+ if (priv->rc_next == -1 || (stime != -1 && stime >= priv->rc_next)) {
+ GST_DEBUG_OBJECT (basesink, "reset rc_time to time %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (stime));
+ priv->rc_time = stime;
+ priv->rc_accumulated = 0;
+ } else {
+ GST_DEBUG_OBJECT (basesink, "rate control next %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (priv->rc_next));
+ stime = priv->rc_next;
+ }
+
/* preroll done, we can sync since we are in PLAYING now. */
GST_DEBUG_OBJECT (basesink, "possibly waiting for clock to reach %"
GST_TIME_FORMAT ", adjusted %" GST_TIME_FORMAT,
@@ -2403,7 +2511,7 @@ again:
/* check if the object should be dropped */
*late = gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
- status, jitter);
+ status, jitter, TRUE);
done:
return GST_FLOW_OK;
@@ -2629,7 +2737,7 @@ gst_base_sink_reset_qos (GstBaseSink * sink)
static gboolean
gst_base_sink_is_too_late (GstBaseSink * basesink, GstMiniObject * obj,
GstClockTime rstart, GstClockTime rstop,
- GstClockReturn status, GstClockTimeDiff jitter)
+ GstClockReturn status, GstClockTimeDiff jitter, gboolean render)
{
gboolean late;
guint64 max_lateness;
@@ -2688,7 +2796,7 @@ gst_base_sink_is_too_late (GstBaseSink * basesink, GstMiniObject * obj,
}
done:
- if (!late || !GST_CLOCK_TIME_IS_VALID (priv->last_render_time)) {
+ if (render && (!late || !GST_CLOCK_TIME_IS_VALID (priv->last_render_time))) {
priv->last_render_time = rstart;
/* the next allowed input timestamp */
if (priv->throttle_time > 0)
@@ -2812,7 +2920,7 @@ static GstFlowReturn
gst_base_sink_default_wait_event (GstBaseSink * basesink, GstEvent * event)
{
GstFlowReturn ret;
- gboolean late, step_end;
+ gboolean late, step_end = FALSE;
ret = gst_base_sink_do_sync (basesink, GST_MINI_OBJECT_CAST (event),
&late, &step_end);
@@ -2935,7 +3043,7 @@ gst_base_sink_default_event (GstBaseSink * basesink, GstEvent * event)
/* the newsegment event is needed to bring the buffer timestamps to the
* stream time and to drop samples outside of the playback segment. */
gst_event_copy_segment (event, &basesink->segment);
- GST_DEBUG_OBJECT (basesink, "configured SEGMENT %" GST_SEGMENT_FORMAT,
+ GST_DEBUG_OBJECT (basesink, "configured segment %" GST_SEGMENT_FORMAT,
&basesink->segment);
basesink->have_newsegment = TRUE;
GST_OBJECT_UNLOCK (basesink);
@@ -3094,6 +3202,13 @@ gst_base_sink_needs_preroll (GstBaseSink * basesink)
return res;
}
+static gboolean
+count_list_bytes (GstBuffer ** buffer, guint idx, GstBaseSinkPrivate * priv)
+{
+ priv->rc_accumulated += gst_buffer_get_size (*buffer);
+ return TRUE;
+}
+
/* with STREAM_LOCK, PREROLL_LOCK
*
* Takes a buffer and compare the timestamps with the last segment.
@@ -3108,7 +3223,7 @@ gst_base_sink_chain_unlocked (GstBaseSink * basesink, GstPad * pad,
{
GstBaseSinkClass *bclass;
GstBaseSinkPrivate *priv = basesink->priv;
- GstFlowReturn ret;
+ GstFlowReturn ret = GST_FLOW_OK;
GstClockTime start = GST_CLOCK_TIME_NONE, end = GST_CLOCK_TIME_NONE;
GstSegment *segment;
GstBuffer *sync_buf;
@@ -3174,17 +3289,36 @@ gst_base_sink_chain_unlocked (GstBaseSink * basesink, GstPad * pad,
goto out_of_segment;
}
- if (!is_list) {
- if (bclass->prepare) {
- ret = bclass->prepare (basesink, GST_BUFFER_CAST (obj));
- if (G_UNLIKELY (ret != GST_FLOW_OK))
- goto prepare_failed;
- }
- } else {
- if (bclass->prepare_list) {
- ret = bclass->prepare_list (basesink, GST_BUFFER_LIST_CAST (obj));
- if (G_UNLIKELY (ret != GST_FLOW_OK))
- goto prepare_failed;
+ if (bclass->prepare || bclass->prepare_list) {
+ gboolean late = FALSE;
+ gboolean do_sync = TRUE, stepped = FALSE, step_end = FALSE, syncable = TRUE;
+ GstClockTime sstart, sstop, rstart, rstop, rnext;
+ GstStepInfo *current;
+
+ current = &priv->current_step;
+ syncable =
+ gst_base_sink_get_sync_times (basesink, obj, &sstart, &sstop, &rstart,
+ &rstop, &rnext, &do_sync, &stepped, current, &step_end);
+
+ if (!stepped && syncable && do_sync)
+ late =
+ gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
+ GST_CLOCK_EARLY, 0, FALSE);
+ if (late)
+ goto dropped;
+
+ if (!is_list) {
+ if (bclass->prepare) {
+ ret = bclass->prepare (basesink, GST_BUFFER_CAST (obj));
+ if (G_UNLIKELY (ret != GST_FLOW_OK))
+ goto prepare_failed;
+ }
+ } else {
+ if (bclass->prepare_list) {
+ ret = bclass->prepare_list (basesink, GST_BUFFER_LIST_CAST (obj));
+ if (G_UNLIKELY (ret != GST_FLOW_OK))
+ goto prepare_failed;
+ }
}
}
@@ -3203,6 +3337,17 @@ again:
if (G_UNLIKELY (late))
goto dropped;
+ if (priv->max_bitrate) {
+ if (is_list) {
+ gst_buffer_list_foreach (GST_BUFFER_LIST_CAST (obj),
+ (GstBufferListFunc) count_list_bytes, priv);
+ } else {
+ priv->rc_accumulated += gst_buffer_get_size (GST_BUFFER_CAST (obj));
+ }
+ priv->rc_next = priv->rc_time + gst_util_uint64_scale (priv->rc_accumulated,
+ 8 * GST_SECOND, priv->max_bitrate);
+ }
+
/* read once, to get same value before and after */
do_qos = g_atomic_int_get (&priv->qos_enabled);
@@ -3551,7 +3696,6 @@ gst_base_sink_perform_seek (GstBaseSink * sink, GstPad * pad, GstEvent * event)
res = gst_base_sink_default_do_seek (sink, &seeksegment);
}
-
if (flush) {
GST_DEBUG_OBJECT (sink, "stop flushing upstream");
gst_pad_push_event (pad, gst_event_new_flush_stop (TRUE));
@@ -3571,6 +3715,9 @@ gst_base_sink_perform_seek (GstBaseSink * sink, GstPad * pad, GstEvent * event)
res = FALSE;
}
+ GST_INFO_OBJECT (sink, "seeking done %d: %" GST_SEGMENT_FORMAT, res,
+ &seeksegment);
+
/* if successful seek, we update our real segment and push
* out the new segment. */
if (res) {
@@ -4687,6 +4834,7 @@ gst_base_sink_change_state (GstElement * element, GstStateChange transition)
basesink->eos = FALSE;
priv->received_eos = FALSE;
gst_base_sink_reset_qos (basesink);
+ priv->rc_next = -1;
priv->commited = FALSE;
priv->call_preroll = TRUE;
priv->current_step.valid = FALSE;
diff --git a/libs/gst/base/gstbasesink.h b/libs/gst/base/gstbasesink.h
index e4bb735..6f2ade7 100644
--- a/libs/gst/base/gstbasesink.h
+++ b/libs/gst/base/gstbasesink.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_BASE_SINK_H__
@@ -245,6 +245,10 @@ guint gst_base_sink_get_blocksize (GstBaseSink *sink);
void gst_base_sink_set_throttle_time (GstBaseSink *sink, guint64 throttle);
guint64 gst_base_sink_get_throttle_time (GstBaseSink *sink);
+/* max-bitrate */
+void gst_base_sink_set_max_bitrate (GstBaseSink *sink, guint64 max_bitrate);
+guint64 gst_base_sink_get_max_bitrate (GstBaseSink *sink);
+
GstClockReturn gst_base_sink_wait_clock (GstBaseSink *sink, GstClockTime time,
GstClockTimeDiff * jitter);
GstFlowReturn gst_base_sink_wait (GstBaseSink *sink, GstClockTime time,
diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c
index d04b513..a692b6f 100644
--- a/libs/gst/base/gstbasesrc.c
+++ b/libs/gst/base/gstbasesrc.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -346,7 +346,7 @@ static GstFlowReturn gst_base_src_get_range (GstBaseSrc * src, guint64 offset,
static gboolean gst_base_src_seekable (GstBaseSrc * src);
static gboolean gst_base_src_negotiate (GstBaseSrc * basesrc);
static gboolean gst_base_src_update_length (GstBaseSrc * src, guint64 offset,
- guint * length);
+ guint * length, gboolean force);
static void
gst_base_src_class_init (GstBaseSrcClass * klass)
@@ -878,7 +878,7 @@ gst_base_src_set_caps (GstBaseSrc * src, GstCaps * caps)
res = bclass->set_caps (src, caps);
if (res)
- res = gst_pad_set_caps (src->srcpad, caps);
+ res = gst_pad_push_event (src->srcpad, gst_event_new_caps (caps));
return res;
}
@@ -1018,8 +1018,8 @@ gst_base_src_default_query (GstBaseSrc * src, GstQuery * query)
guint length = 0;
/* may have to refresh duration */
- if (g_atomic_int_get (&src->priv->dynamic_size))
- gst_base_src_update_length (src, 0, &length);
+ gst_base_src_update_length (src, 0, &length,
+ g_atomic_int_get (&src->priv->dynamic_size));
/* this is the duration as configured by the subclass. */
GST_OBJECT_LOCK (src);
@@ -1288,6 +1288,8 @@ gst_base_src_do_seek (GstBaseSrc * src, GstSegment * segment)
bclass = GST_BASE_SRC_GET_CLASS (src);
+ GST_INFO_OBJECT (src, "seeking: %" GST_SEGMENT_FORMAT, segment);
+
if (bclass->do_seek)
result = bclass->do_seek (src, segment);
@@ -1658,6 +1660,7 @@ gst_base_src_perform_seek (GstBaseSrc * src, GstEvent * event, gboolean unlock)
/* for deriving a stop position for the playback segment from the seek
* segment, we must take the duration when the stop is not set */
+ /* FIXME: This is never used below */
if ((stop = seeksegment.stop) == -1)
stop = seeksegment.duration;
@@ -2218,13 +2221,13 @@ no_sync:
/* Called with STREAM_LOCK and LIVE_LOCK */
static gboolean
-gst_base_src_update_length (GstBaseSrc * src, guint64 offset, guint * length)
+gst_base_src_update_length (GstBaseSrc * src, guint64 offset, guint * length,
+ gboolean force)
{
guint64 size, maxsize;
GstBaseSrcClass *bclass;
GstFormat format;
gint64 stop;
- gboolean dynamic;
bclass = GST_BASE_SRC_GET_CLASS (src);
@@ -2249,14 +2252,11 @@ gst_base_src_update_length (GstBaseSrc * src, guint64 offset, guint * length)
", segment.stop %" G_GINT64_FORMAT ", maxsize %" G_GINT64_FORMAT, offset,
*length, size, stop, maxsize);
- dynamic = g_atomic_int_get (&src->priv->dynamic_size);
- GST_DEBUG_OBJECT (src, "dynamic size: %d", dynamic);
-
/* check size if we have one */
if (maxsize != -1) {
/* if we run past the end, check if the file became bigger and
* retry. */
- if (G_UNLIKELY (offset + *length >= maxsize || dynamic)) {
+ if (G_UNLIKELY (offset + *length >= maxsize || force)) {
/* see if length of the file changed */
if (bclass->get_size)
if (!bclass->get_size (src, &size))
@@ -2324,7 +2324,7 @@ again:
if (G_UNLIKELY (!bclass->create))
goto no_function;
- if (G_UNLIKELY (!gst_base_src_update_length (src, offset, &length)))
+ if (G_UNLIKELY (!gst_base_src_update_length (src, offset, &length, FALSE)))
goto unexpected_length;
/* track position */
@@ -3369,7 +3369,7 @@ gst_base_src_stop (GstBaseSrc * basesrc)
was_stopped:
{
- GST_DEBUG_OBJECT (basesrc, "was started");
+ GST_DEBUG_OBJECT (basesrc, "was stopped");
GST_OBJECT_UNLOCK (basesrc);
return TRUE;
}
diff --git a/libs/gst/base/gstbasesrc.h b/libs/gst/base/gstbasesrc.h
index 466f0fc..9afd5e0 100644
--- a/libs/gst/base/gstbasesrc.h
+++ b/libs/gst/base/gstbasesrc.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_BASE_SRC_H__
diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c
index fff751d..df672bf 100644
--- a/libs/gst/base/gstbasetransform.c
+++ b/libs/gst/base/gstbasetransform.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -149,9 +149,8 @@
* <itemizedlist><title>Special output buffer allocations</title>
* <listitem><para>
* Elements which need to do special allocation of their output buffers
- * other than what gst_buffer_pad_alloc allows should implement a
- * prepare_output_buffer method, which calls the parent implementation and
- * passes the newly allocated buffer.
+ * beyond allocating output buffers via the negotiated allocator or
+ * buffer pool should implement the prepare_output_buffer method.
* </para></listitem>
* </itemizedlist>
* <itemizedlist>
@@ -1237,9 +1236,9 @@ gst_base_transform_acceptcaps_default (GstBaseTransform * trans,
/* get all the formats we can handle on this pad */
if (direction == GST_PAD_SRC)
- allowed = gst_pad_query_caps (trans->srcpad, NULL);
+ allowed = gst_pad_query_caps (trans->srcpad, caps);
else
- allowed = gst_pad_query_caps (trans->sinkpad, NULL);
+ allowed = gst_pad_query_caps (trans->sinkpad, caps);
if (!allowed) {
GST_DEBUG_OBJECT (trans, "gst_pad_query_caps() failed");
@@ -1592,6 +1591,10 @@ default_prepare_output_buffer (GstBaseTransform * trans,
GST_DEBUG_OBJECT (trans, "doing alloc of size %" G_GSIZE_FORMAT, outsize);
*outbuf = gst_buffer_new_allocate (priv->allocator, outsize, &priv->params);
+ if (!*outbuf) {
+ ret = GST_FLOW_ERROR;
+ goto alloc_failed;
+ }
copy_meta:
/* copy the metadata */
diff --git a/libs/gst/base/gstbasetransform.h b/libs/gst/base/gstbasetransform.h
index 666fbb1..3330503 100644
--- a/libs/gst/base/gstbasetransform.h
+++ b/libs/gst/base/gstbasetransform.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_BASE_TRANSFORM_H__
diff --git a/libs/gst/base/gstbitreader-docs.h b/libs/gst/base/gstbitreader-docs.h
index 80e8913..d2842d6 100644
--- a/libs/gst/base/gstbitreader-docs.h
+++ b/libs/gst/base/gstbitreader-docs.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/* This header is not installed, it just contains stuff for gtk-doc to parse,
@@ -53,7 +53,7 @@ void gst_bit_reader_skip_to_byte_unchecked (GstBitReader * reader);
*
* Returns: unsigned 8 bit integer with the bits.
*/
-guint8 gst_bit_reader_peek_bits_uint8_unchecked (const GstBitReader *reader, guint nbits);
+guint8 gst_bit_reader_get_bits_uint8_unchecked (GstBitReader *reader, guint nbits);
/**
* gst_bit_reader_peek_bits_uint8_unchecked:
@@ -65,7 +65,7 @@ guint8 gst_bit_reader_peek_bits_uint8_unchecked (const GstBitReader *reader, gui
*
* Returns: unsigned 8 bit integer with the bits.
*/
-guint8 gst_bit_reader_get_bits_uint8_unchecked (GstBitReader *reader, guint nbits);
+guint8 gst_bit_reader_peek_bits_uint8_unchecked (const GstBitReader *reader, guint nbits);
/**
* gst_bit_reader_get_bits_uint16_unchecked:
@@ -77,7 +77,7 @@ guint8 gst_bit_reader_get_bits_uint8_unchecked (GstBitReader *reader, guint nbit
*
* Returns: unsigned 16 bit integer with the bits.
*/
-guint16 gst_bit_reader_peek_bits_uint16_unchecked (const GstBitReader *reader, guint nbits);
+guint16 gst_bit_reader_get_bits_uint16_unchecked (GstBitReader *reader, guint nbits);
/**
* gst_bit_reader_peek_bits_uint16_unchecked:
@@ -89,7 +89,7 @@ guint16 gst_bit_reader_peek_bits_uint16_unchecked (const GstBitReader *reader, g
*
* Returns: unsigned 16 bit integer with the bits.
*/
-guint16 gst_bit_reader_get_bits_uint16_unchecked (GstBitReader *reader, guint nbits);
+guint16 gst_bit_reader_peek_bits_uint16_unchecked (const GstBitReader *reader, guint nbits);
/**
* gst_bit_reader_get_bits_uint32_unchecked:
@@ -101,7 +101,7 @@ guint16 gst_bit_reader_get_bits_uint16_unchecked (GstBitReader *reader, guint nb
*
* Returns: unsigned 32 bit integer with the bits.
*/
-guint32 gst_bit_reader_peek_bits_uint32_unchecked (const GstBitReader *reader, guint nbits);
+guint32 gst_bit_reader_get_bits_uint32_unchecked (GstBitReader *reader, guint nbits);
/**
* gst_bit_reader_peek_bits_uint32_unchecked:
@@ -113,7 +113,7 @@ guint32 gst_bit_reader_peek_bits_uint32_unchecked (const GstBitReader *reader, g
*
* Returns: unsigned 32 bit integer with the bits.
*/
-guint32 gst_bit_reader_get_bits_uint32_unchecked (GstBitReader *reader, guint nbits);
+guint32 gst_bit_reader_peek_bits_uint32_unchecked (const GstBitReader *reader, guint nbits);
/**
* gst_bit_reader_get_bits_uint64_unchecked:
@@ -125,10 +125,10 @@ guint32 gst_bit_reader_get_bits_uint32_unchecked (GstBitReader *reader, guint nb
*
* Returns: unsigned 64 bit integer with the bits.
*/
-guint64 gst_bit_reader_peek_bits_uint64_unchecked (const GstBitReader *reader, guint nbits);
+guint64 gst_bit_reader_get_bits_uint64_unchecked (GstBitReader *reader, guint nbits);
/**
- * gst_bit_reader_peek_bits_uint16_unchecked:
+ * gst_bit_reader_peek_bits_uint64_unchecked:
* @reader: a #GstBitReader instance
* @nbits: number of bits to read
*
@@ -137,5 +137,5 @@ guint64 gst_bit_reader_peek_bits_uint64_unchecked (const GstBitReader *reader, g
*
* Returns: unsigned 64 bit integer with the bits.
*/
-guint64 gst_bit_reader_get_bits_uint64_unchecked (GstBitReader *reader, guint nbits);
+guint64 gst_bit_reader_peek_bits_uint64_unchecked (const GstBitReader *reader, guint nbits);
diff --git a/libs/gst/base/gstbitreader.c b/libs/gst/base/gstbitreader.c
index 0f8f587..2a325db 100644
--- a/libs/gst/base/gstbitreader.c
+++ b/libs/gst/base/gstbitreader.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/libs/gst/base/gstbitreader.h b/libs/gst/base/gstbitreader.h
index 4a2b4a0..240a7a3 100644
--- a/libs/gst/base/gstbitreader.h
+++ b/libs/gst/base/gstbitreader.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_BIT_READER_H__
diff --git a/libs/gst/base/gstbytereader-docs.h b/libs/gst/base/gstbytereader-docs.h
index e6b08ac..866954f 100644
--- a/libs/gst/base/gstbytereader-docs.h
+++ b/libs/gst/base/gstbytereader-docs.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/* This header is not installed, it just contains stuff for gtk-doc to parse,
diff --git a/libs/gst/base/gstbytereader.c b/libs/gst/base/gstbytereader.c
index e1945d1..5ca9555 100644
--- a/libs/gst/base/gstbytereader.c
+++ b/libs/gst/base/gstbytereader.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/libs/gst/base/gstbytereader.h b/libs/gst/base/gstbytereader.h
index 15ac2ed..6ed0296 100644
--- a/libs/gst/base/gstbytereader.h
+++ b/libs/gst/base/gstbytereader.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_BYTE_READER_H__
diff --git a/libs/gst/base/gstbytewriter-docs.h b/libs/gst/base/gstbytewriter-docs.h
index c15b4c3..562eeae 100644
--- a/libs/gst/base/gstbytewriter-docs.h
+++ b/libs/gst/base/gstbytewriter-docs.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/* This header is not installed, it just contains stuff for gtk-doc to parse,
diff --git a/libs/gst/base/gstbytewriter.c b/libs/gst/base/gstbytewriter.c
index 746a622..2d99480 100644
--- a/libs/gst/base/gstbytewriter.c
+++ b/libs/gst/base/gstbytewriter.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/libs/gst/base/gstbytewriter.h b/libs/gst/base/gstbytewriter.h
index 079e16f..f5c5502 100644
--- a/libs/gst/base/gstbytewriter.h
+++ b/libs/gst/base/gstbytewriter.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_BYTE_WRITER_H__
diff --git a/libs/gst/base/gstcollectpads.c b/libs/gst/base/gstcollectpads.c
index b6db9f4..e9cabab 100644
--- a/libs/gst/base/gstcollectpads.c
+++ b/libs/gst/base/gstcollectpads.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstcollectpads
@@ -55,7 +55,7 @@
* </para></listitem>
* <listitem><para>
* Data can also be dequeued in byte units using the gst_collect_pads_available(),
- * gst_collect_pads_read() and gst_collect_pads_flush() calls.
+ * gst_collect_pads_read_buffer() and gst_collect_pads_flush() calls.
* </para></listitem>
* <listitem><para>
* Elements should call gst_collect_pads_start() and gst_collect_pads_stop() in
@@ -498,7 +498,7 @@ gst_collect_pads_clip_running_time (GstCollectPads * pads,
GstClockTime time;
*outbuf = buf;
- time = GST_BUFFER_TIMESTAMP (buf);
+ time = GST_BUFFER_PTS (buf);
/* invalid left alone and passed */
if (G_LIKELY (GST_CLOCK_TIME_IS_VALID (time))) {
@@ -510,9 +510,11 @@ gst_collect_pads_clip_running_time (GstCollectPads * pads,
} else {
GST_LOG_OBJECT (cdata->pad, "buffer ts %" GST_TIME_FORMAT " -> %"
GST_TIME_FORMAT " running time",
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)), GST_TIME_ARGS (time));
+ GST_TIME_ARGS (GST_BUFFER_PTS (buf)), GST_TIME_ARGS (time));
*outbuf = gst_buffer_make_writable (buf);
- GST_BUFFER_TIMESTAMP (*outbuf) = time;
+ GST_BUFFER_PTS (*outbuf) = time;
+ GST_BUFFER_DTS (*outbuf) = gst_segment_to_running_time (&cdata->segment,
+ GST_FORMAT_TIME, GST_BUFFER_DTS (*outbuf));
}
}
@@ -1405,7 +1407,10 @@ gst_collect_pads_find_best_pad (GstCollectPads * pads,
buffer = gst_collect_pads_peek (pads, data);
/* if we have a buffer check if it is better then the current best one */
if (buffer != NULL) {
- timestamp = GST_BUFFER_TIMESTAMP (buffer);
+ timestamp = GST_BUFFER_DTS (buffer);
+ if (!GST_CLOCK_TIME_IS_VALID (timestamp)) {
+ timestamp = GST_BUFFER_PTS (buffer);
+ }
gst_buffer_unref (buffer);
if (best == NULL || pads->priv->compare_func (pads, data, timestamp,
best, best_time, pads->priv->compare_user_data) < 0) {
@@ -1569,10 +1574,11 @@ gst_collect_pads_clip_time (GstCollectPads * pads, GstCollectData * data,
if (pads->priv->clip_func) {
in = gst_buffer_new ();
- GST_BUFFER_TIMESTAMP (in) = time;
+ GST_BUFFER_PTS (in) = time;
+ GST_BUFFER_DTS (in) = time;
pads->priv->clip_func (pads, data, in, &out, pads->priv->clip_user_data);
if (out) {
- otime = GST_BUFFER_TIMESTAMP (out);
+ otime = GST_BUFFER_PTS (out);
gst_buffer_unref (out);
} else {
/* FIXME should distinguish between ahead or after segment,
@@ -1996,7 +2002,11 @@ gst_collect_pads_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
/* update segment last position if in TIME */
if (G_LIKELY (data->segment.format == GST_FORMAT_TIME)) {
- GstClockTime timestamp = GST_BUFFER_TIMESTAMP (buffer);
+ GstClockTime timestamp;
+
+ timestamp = GST_BUFFER_DTS (buffer);
+ if (!GST_CLOCK_TIME_IS_VALID (timestamp))
+ timestamp = GST_BUFFER_PTS (buffer);
if (GST_CLOCK_TIME_IS_VALID (timestamp))
data->segment.position = timestamp;
diff --git a/libs/gst/base/gstcollectpads.h b/libs/gst/base/gstcollectpads.h
index c33ca4f..4c99d58 100644
--- a/libs/gst/base/gstcollectpads.h
+++ b/libs/gst/base/gstcollectpads.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_COLLECT_PADS_H__
diff --git a/plugins/elements/gstdataqueue.c b/libs/gst/base/gstdataqueue.c
index 04e3221..9a3ca9f 100644
--- a/plugins/elements/gstdataqueue.c
+++ b/libs/gst/base/gstdataqueue.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -31,6 +31,7 @@
#include <gst/gst.h>
#include "string.h"
#include "gstdataqueue.h"
+#include "gstqueuearray.h"
#include "gst/glib-compat-private.h"
GST_DEBUG_CATEGORY_STATIC (data_queue_debug);
@@ -48,34 +49,54 @@ enum
enum
{
- ARG_0,
- ARG_CUR_LEVEL_VISIBLE,
- ARG_CUR_LEVEL_BYTES,
- ARG_CUR_LEVEL_TIME
+ PROP_0,
+ PROP_CUR_LEVEL_VISIBLE,
+ PROP_CUR_LEVEL_BYTES,
+ PROP_CUR_LEVEL_TIME
/* FILL ME */
};
+struct _GstDataQueuePrivate
+{
+ /* the array of data we're keeping our grubby hands on */
+ GstQueueArray *queue;
+
+ GstDataQueueSize cur_level; /* size of the queue */
+ GstDataQueueCheckFullFunction checkfull; /* Callback to check if the queue is full */
+ gpointer *checkdata;
+
+ GMutex qlock; /* lock for queue (vs object lock) */
+ gboolean waiting_add;
+ GCond item_add; /* signals buffers now available for reading */
+ gboolean waiting_del;
+ GCond item_del; /* signals space now available for writing */
+ gboolean flushing; /* indicates whether conditions where signalled because
+ * of external flushing */
+ GstDataQueueFullCallback fullcallback;
+ GstDataQueueEmptyCallback emptycallback;
+};
+
#define GST_DATA_QUEUE_MUTEX_LOCK(q) G_STMT_START { \
- GST_CAT_LOG (data_queue_dataflow, \
+ GST_CAT_TRACE (data_queue_dataflow, \
"locking qlock from thread %p", \
g_thread_self ()); \
- g_mutex_lock (&q->qlock); \
- GST_CAT_LOG (data_queue_dataflow, \
+ g_mutex_lock (&q->priv->qlock); \
+ GST_CAT_TRACE (data_queue_dataflow, \
"locked qlock from thread %p", \
g_thread_self ()); \
} G_STMT_END
#define GST_DATA_QUEUE_MUTEX_LOCK_CHECK(q, label) G_STMT_START { \
GST_DATA_QUEUE_MUTEX_LOCK (q); \
- if (q->flushing) \
+ if (q->priv->flushing) \
goto label; \
} G_STMT_END
#define GST_DATA_QUEUE_MUTEX_UNLOCK(q) G_STMT_START { \
- GST_CAT_LOG (data_queue_dataflow, \
+ GST_CAT_TRACE (data_queue_dataflow, \
"unlocking qlock from thread %p", \
g_thread_self ()); \
- g_mutex_unlock (&q->qlock); \
+ g_mutex_unlock (&q->priv->qlock); \
} G_STMT_END
#define STATUS(q, msg) \
@@ -84,10 +105,10 @@ enum
"bytes, %"G_GUINT64_FORMAT \
" ns, %u elements", \
queue, \
- q->cur_level.visible, \
- q->cur_level.bytes, \
- q->cur_level.time, \
- q->queue.length)
+ q->priv->cur_level.visible, \
+ q->priv->cur_level.bytes, \
+ q->priv->cur_level.time, \
+ gst_queue_array_get_length (q->priv->queue))
static void gst_data_queue_finalize (GObject * object);
@@ -96,7 +117,6 @@ static void gst_data_queue_set_property (GObject * object,
static void gst_data_queue_get_property (GObject * object,
guint prop_id, GValue * value, GParamSpec * pspec);
-static GObjectClass *parent_class = NULL;
static guint gst_data_queue_signals[LAST_SIGNAL] = { 0 };
#define _do_init \
@@ -107,7 +127,7 @@ static guint gst_data_queue_signals[LAST_SIGNAL] = { 0 };
"dataflow inside the data queue object"); \
}
-
+#define parent_class gst_data_queue_parent_class
G_DEFINE_TYPE_WITH_CODE (GstDataQueue, gst_data_queue, G_TYPE_OBJECT, _do_init);
static void
@@ -115,7 +135,7 @@ gst_data_queue_class_init (GstDataQueueClass * klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- parent_class = g_type_class_peek_parent (klass);
+ g_type_class_add_private (klass, sizeof (GstDataQueuePrivate));
gobject_class->set_property = gst_data_queue_set_property;
gobject_class->get_property = gst_data_queue_get_property;
@@ -150,16 +170,16 @@ gst_data_queue_class_init (GstDataQueueClass * klass)
g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
/* properties */
- g_object_class_install_property (gobject_class, ARG_CUR_LEVEL_BYTES,
+ g_object_class_install_property (gobject_class, PROP_CUR_LEVEL_BYTES,
g_param_spec_uint ("current-level-bytes", "Current level (kB)",
"Current amount of data in the queue (bytes)",
0, G_MAXUINT, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
- g_object_class_install_property (gobject_class, ARG_CUR_LEVEL_VISIBLE,
+ g_object_class_install_property (gobject_class, PROP_CUR_LEVEL_VISIBLE,
g_param_spec_uint ("current-level-visible",
"Current level (visible items)",
"Current number of visible items in the queue", 0, G_MAXUINT, 0,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
- g_object_class_install_property (gobject_class, ARG_CUR_LEVEL_TIME,
+ g_object_class_install_property (gobject_class, PROP_CUR_LEVEL_TIME,
g_param_spec_uint64 ("current-level-time", "Current level (ns)",
"Current amount of data in the queue (in ns)", 0, G_MAXUINT64, 0,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
@@ -170,22 +190,26 @@ gst_data_queue_class_init (GstDataQueueClass * klass)
static void
gst_data_queue_init (GstDataQueue * queue)
{
- queue->cur_level.visible = 0; /* no content */
- queue->cur_level.bytes = 0; /* no content */
- queue->cur_level.time = 0; /* no content */
+ queue->priv =
+ G_TYPE_INSTANCE_GET_PRIVATE (queue, GST_TYPE_DATA_QUEUE,
+ GstDataQueuePrivate);
+
+ queue->priv->cur_level.visible = 0; /* no content */
+ queue->priv->cur_level.bytes = 0; /* no content */
+ queue->priv->cur_level.time = 0; /* no content */
- queue->checkfull = NULL;
+ queue->priv->checkfull = NULL;
- g_mutex_init (&queue->qlock);
- g_cond_init (&queue->item_add);
- g_cond_init (&queue->item_del);
- gst_queue_array_init (&queue->queue, 50);
+ g_mutex_init (&queue->priv->qlock);
+ g_cond_init (&queue->priv->item_add);
+ g_cond_init (&queue->priv->item_del);
+ queue->priv->queue = gst_queue_array_new (50);
GST_DEBUG ("initialized queue's not_empty & not_full conditions");
}
/**
- * gst_data_queue_new_full:
+ * gst_data_queue_new:
* @checkfull: the callback used to tell if the element considers the queue full
* or not.
* @fullcallback: the callback which will be called when the queue is considered full.
@@ -197,10 +221,11 @@ gst_data_queue_init (GstDataQueue * queue)
* or @emptycallback.
*
* Returns: a new #GstDataQueue.
+ *
+ * Since: 1.2.0
*/
-
GstDataQueue *
-gst_data_queue_new_full (GstDataQueueCheckFullFunction checkfull,
+gst_data_queue_new (GstDataQueueCheckFullFunction checkfull,
GstDataQueueFullCallback fullcallback,
GstDataQueueEmptyCallback emptycallback, gpointer checkdata)
{
@@ -209,41 +234,28 @@ gst_data_queue_new_full (GstDataQueueCheckFullFunction checkfull,
g_return_val_if_fail (checkfull != NULL, NULL);
ret = g_object_newv (GST_TYPE_DATA_QUEUE, 0, NULL);
- ret->checkfull = checkfull;
- ret->checkdata = checkdata;
- ret->fullcallback = fullcallback;
- ret->emptycallback = emptycallback;
+ ret->priv->checkfull = checkfull;
+ ret->priv->checkdata = checkdata;
+ ret->priv->fullcallback = fullcallback;
+ ret->priv->emptycallback = emptycallback;
return ret;
}
-/**
- * gst_data_queue_new:
- * @checkfull: the callback used to tell if the element considers the queue full
- * or not.
- * @checkdata: a #gpointer that will be given in the @checkfull callback.
- *
- * Returns: a new #GstDataQueue.
- */
-
-GstDataQueue *
-gst_data_queue_new (GstDataQueueCheckFullFunction checkfull, gpointer checkdata)
-{
- return gst_data_queue_new_full (checkfull, NULL, NULL, checkdata);
-}
-
static void
gst_data_queue_cleanup (GstDataQueue * queue)
{
- while (!gst_queue_array_is_empty (&queue->queue)) {
- GstDataQueueItem *item = gst_queue_array_pop_head (&queue->queue);
+ GstDataQueuePrivate *priv = queue->priv;
+
+ while (!gst_queue_array_is_empty (priv->queue)) {
+ GstDataQueueItem *item = gst_queue_array_pop_head (priv->queue);
/* Just call the destroy notify on the item */
item->destroy (item);
}
- queue->cur_level.visible = 0;
- queue->cur_level.bytes = 0;
- queue->cur_level.time = 0;
+ priv->cur_level.visible = 0;
+ priv->cur_level.bytes = 0;
+ priv->cur_level.time = 0;
}
/* called only once, as opposed to dispose */
@@ -251,18 +263,19 @@ static void
gst_data_queue_finalize (GObject * object)
{
GstDataQueue *queue = GST_DATA_QUEUE (object);
+ GstDataQueuePrivate *priv = queue->priv;
GST_DEBUG ("finalizing queue");
gst_data_queue_cleanup (queue);
- gst_queue_array_clear (&queue->queue);
+ gst_queue_array_free (priv->queue);
GST_DEBUG ("free mutex");
- g_mutex_clear (&queue->qlock);
+ g_mutex_clear (&priv->qlock);
GST_DEBUG ("done free mutex");
- g_cond_clear (&queue->item_add);
- g_cond_clear (&queue->item_del);
+ g_cond_clear (&priv->item_add);
+ g_cond_clear (&priv->item_del);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -270,25 +283,31 @@ gst_data_queue_finalize (GObject * object)
static inline void
gst_data_queue_locked_flush (GstDataQueue * queue)
{
+ GstDataQueuePrivate *priv = queue->priv;
+
STATUS (queue, "before flushing");
gst_data_queue_cleanup (queue);
STATUS (queue, "after flushing");
/* we deleted something... */
- if (queue->waiting_del)
- g_cond_signal (&queue->item_del);
+ if (priv->waiting_del)
+ g_cond_signal (&priv->item_del);
}
static inline gboolean
gst_data_queue_locked_is_empty (GstDataQueue * queue)
{
- return (queue->queue.length == 0);
+ GstDataQueuePrivate *priv = queue->priv;
+
+ return (gst_queue_array_get_length (priv->queue) == 0);
}
static inline gboolean
gst_data_queue_locked_is_full (GstDataQueue * queue)
{
- return queue->checkfull (queue, queue->cur_level.visible,
- queue->cur_level.bytes, queue->cur_level.time, queue->checkdata);
+ GstDataQueuePrivate *priv = queue->priv;
+
+ return priv->checkfull (queue, priv->cur_level.visible,
+ priv->cur_level.bytes, priv->cur_level.time, priv->checkdata);
}
/**
@@ -298,6 +317,8 @@ gst_data_queue_locked_is_full (GstDataQueue * queue)
* Flushes all the contents of the @queue. Any call to #gst_data_queue_push and
* #gst_data_queue_pop will be released.
* MT safe.
+ *
+ * Since: 1.2.0
*/
void
gst_data_queue_flush (GstDataQueue * queue)
@@ -316,6 +337,8 @@ gst_data_queue_flush (GstDataQueue * queue)
* MT safe.
*
* Returns: #TRUE if @queue is empty.
+ *
+ * Since: 1.2.0
*/
gboolean
gst_data_queue_is_empty (GstDataQueue * queue)
@@ -338,6 +361,8 @@ gst_data_queue_is_empty (GstDataQueue * queue)
* MT safe.
*
* Returns: #TRUE if @queue is full.
+ *
+ * Since: 1.2.0
*/
gboolean
gst_data_queue_is_full (GstDataQueue * queue)
@@ -363,20 +388,24 @@ gst_data_queue_is_full (GstDataQueue * queue)
* all calls to those two functions will return #FALSE.
*
* MT Safe.
+ *
+ * Since: 1.2.0
*/
void
gst_data_queue_set_flushing (GstDataQueue * queue, gboolean flushing)
{
+ GstDataQueuePrivate *priv = queue->priv;
+
GST_DEBUG ("queue:%p , flushing:%d", queue, flushing);
GST_DATA_QUEUE_MUTEX_LOCK (queue);
- queue->flushing = flushing;
+ priv->flushing = flushing;
if (flushing) {
/* release push/pop functions */
- if (queue->waiting_add)
- g_cond_signal (&queue->item_add);
- if (queue->waiting_del)
- g_cond_signal (&queue->item_del);
+ if (priv->waiting_add)
+ g_cond_signal (&priv->item_add);
+ if (priv->waiting_del)
+ g_cond_signal (&priv->item_del);
}
GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
}
@@ -397,10 +426,14 @@ gst_data_queue_set_flushing (GstDataQueue * queue, gboolean flushing)
* is returned, the caller is responsible for freeing @item and its contents.
*
* Returns: #TRUE if the @item was successfully pushed on the @queue.
+ *
+ * Since: 1.2.0
*/
gboolean
gst_data_queue_push (GstDataQueue * queue, GstDataQueueItem * item)
{
+ GstDataQueuePrivate *priv = queue->priv;
+
g_return_val_if_fail (GST_IS_DATA_QUEUE (queue), FALSE);
g_return_val_if_fail (item != NULL, FALSE);
@@ -411,32 +444,32 @@ gst_data_queue_push (GstDataQueue * queue, GstDataQueueItem * item)
/* We ALWAYS need to check for queue fillness */
if (gst_data_queue_locked_is_full (queue)) {
GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
- if (G_LIKELY (queue->fullcallback))
- queue->fullcallback (queue, queue->checkdata);
+ if (G_LIKELY (priv->fullcallback))
+ priv->fullcallback (queue, priv->checkdata);
else
g_signal_emit (queue, gst_data_queue_signals[SIGNAL_FULL], 0);
GST_DATA_QUEUE_MUTEX_LOCK_CHECK (queue, flushing);
/* signal might have removed some items */
while (gst_data_queue_locked_is_full (queue)) {
- queue->waiting_del = TRUE;
- g_cond_wait (&queue->item_del, &queue->qlock);
- queue->waiting_del = FALSE;
- if (queue->flushing)
+ priv->waiting_del = TRUE;
+ g_cond_wait (&priv->item_del, &priv->qlock);
+ priv->waiting_del = FALSE;
+ if (priv->flushing)
goto flushing;
}
}
- gst_queue_array_push_tail (&queue->queue, item);
+ gst_queue_array_push_tail (priv->queue, item);
if (item->visible)
- queue->cur_level.visible++;
- queue->cur_level.bytes += item->size;
- queue->cur_level.time += item->duration;
+ priv->cur_level.visible++;
+ priv->cur_level.bytes += item->size;
+ priv->cur_level.time += item->duration;
STATUS (queue, "after pushing");
- if (queue->waiting_add)
- g_cond_signal (&queue->item_add);
+ if (priv->waiting_add)
+ g_cond_signal (&priv->item_add);
GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
@@ -451,6 +484,21 @@ flushing:
}
}
+static gboolean
+_gst_data_queue_wait_non_empty (GstDataQueue * queue)
+{
+ GstDataQueuePrivate *priv = queue->priv;
+
+ while (gst_data_queue_locked_is_empty (queue)) {
+ priv->waiting_add = TRUE;
+ g_cond_wait (&priv->item_add, &priv->qlock);
+ priv->waiting_add = FALSE;
+ if (priv->flushing)
+ return FALSE;
+ }
+ return TRUE;
+}
+
/**
* gst_data_queue_pop:
* @queue: a #GstDataQueue.
@@ -462,10 +510,14 @@ flushing:
* MT safe.
*
* Returns: #TRUE if an @item was successfully retrieved from the @queue.
+ *
+ * Since: 1.2.0
*/
gboolean
gst_data_queue_pop (GstDataQueue * queue, GstDataQueueItem ** item)
{
+ GstDataQueuePrivate *priv = queue->priv;
+
g_return_val_if_fail (GST_IS_DATA_QUEUE (queue), FALSE);
g_return_val_if_fail (item != NULL, FALSE);
@@ -475,33 +527,28 @@ gst_data_queue_pop (GstDataQueue * queue, GstDataQueueItem ** item)
if (gst_data_queue_locked_is_empty (queue)) {
GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
- if (G_LIKELY (queue->emptycallback))
- queue->emptycallback (queue, queue->checkdata);
+ if (G_LIKELY (priv->emptycallback))
+ priv->emptycallback (queue, priv->checkdata);
else
g_signal_emit (queue, gst_data_queue_signals[SIGNAL_EMPTY], 0);
GST_DATA_QUEUE_MUTEX_LOCK_CHECK (queue, flushing);
- while (gst_data_queue_locked_is_empty (queue)) {
- queue->waiting_add = TRUE;
- g_cond_wait (&queue->item_add, &queue->qlock);
- queue->waiting_add = FALSE;
- if (queue->flushing)
- goto flushing;
- }
+ if (!_gst_data_queue_wait_non_empty (queue))
+ goto flushing;
}
/* Get the item from the GQueue */
- *item = gst_queue_array_pop_head (&queue->queue);
+ *item = gst_queue_array_pop_head (priv->queue);
/* update current level counter */
if ((*item)->visible)
- queue->cur_level.visible--;
- queue->cur_level.bytes -= (*item)->size;
- queue->cur_level.time -= (*item)->duration;
+ priv->cur_level.visible--;
+ priv->cur_level.bytes -= (*item)->size;
+ priv->cur_level.time -= (*item)->duration;
STATUS (queue, "after popping");
- if (queue->waiting_del)
- g_cond_signal (&queue->item_del);
+ if (priv->waiting_del)
+ g_cond_signal (&priv->item_del);
GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
@@ -523,6 +570,61 @@ is_of_type (gconstpointer a, gconstpointer b)
}
/**
+ * gst_data_queue_peek:
+ * @queue: a #GstDataQueue.
+ * @item: pointer to store the returned #GstDataQueueItem.
+ *
+ * Retrieves the first @item available on the @queue without removing it.
+ * If the queue is currently empty, the call will block until at least
+ * one item is available, OR the @queue is set to the flushing state.
+ * MT safe.
+ *
+ * Returns: #TRUE if an @item was successfully retrieved from the @queue.
+ *
+ * Since: 1.2.0
+ */
+gboolean
+gst_data_queue_peek (GstDataQueue * queue, GstDataQueueItem ** item)
+{
+ GstDataQueuePrivate *priv = queue->priv;
+
+ g_return_val_if_fail (GST_IS_DATA_QUEUE (queue), FALSE);
+ g_return_val_if_fail (item != NULL, FALSE);
+
+ GST_DATA_QUEUE_MUTEX_LOCK_CHECK (queue, flushing);
+
+ STATUS (queue, "before peeking");
+
+ if (gst_data_queue_locked_is_empty (queue)) {
+ GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+ if (G_LIKELY (priv->emptycallback))
+ priv->emptycallback (queue, priv->checkdata);
+ else
+ g_signal_emit (queue, gst_data_queue_signals[SIGNAL_EMPTY], 0);
+ GST_DATA_QUEUE_MUTEX_LOCK_CHECK (queue, flushing);
+
+ if (!_gst_data_queue_wait_non_empty (queue))
+ goto flushing;
+ }
+
+ /* Get the item from the GQueue */
+ *item = gst_queue_array_peek_head (priv->queue);
+
+ STATUS (queue, "after peeking");
+ GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+
+ return TRUE;
+
+ /* ERRORS */
+flushing:
+ {
+ GST_DEBUG ("queue:%p, we are flushing", queue);
+ GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+ return FALSE;
+ }
+}
+
+/**
* gst_data_queue_drop_head:
* @queue: The #GstDataQueue to drop an item from.
* @type: The #GType of the item to drop.
@@ -530,6 +632,8 @@ is_of_type (gconstpointer a, gconstpointer b)
* Pop and unref the head-most #GstMiniObject with the given #GType.
*
* Returns: TRUE if an element was removed.
+ *
+ * Since: 1.2.0
*/
gboolean
gst_data_queue_drop_head (GstDataQueue * queue, GType type)
@@ -537,25 +641,24 @@ gst_data_queue_drop_head (GstDataQueue * queue, GType type)
gboolean res = FALSE;
GstDataQueueItem *leak = NULL;
guint idx;
+ GstDataQueuePrivate *priv = queue->priv;
g_return_val_if_fail (GST_IS_DATA_QUEUE (queue), FALSE);
GST_DEBUG ("queue:%p", queue);
GST_DATA_QUEUE_MUTEX_LOCK (queue);
- idx =
- gst_queue_array_find (&queue->queue, is_of_type, GSIZE_TO_POINTER (type));
+ idx = gst_queue_array_find (priv->queue, is_of_type, GSIZE_TO_POINTER (type));
if (idx == -1)
goto done;
- leak = queue->queue.array[idx];
- gst_queue_array_drop_element (&queue->queue, idx);
+ leak = gst_queue_array_drop_element (priv->queue, idx);
if (leak->visible)
- queue->cur_level.visible--;
- queue->cur_level.bytes -= leak->size;
- queue->cur_level.time -= leak->duration;
+ priv->cur_level.visible--;
+ priv->cur_level.bytes -= leak->size;
+ priv->cur_level.time -= leak->duration;
leak->destroy (leak);
@@ -575,16 +678,20 @@ done:
*
* Inform the queue that the limits for the fullness check have changed and that
* any blocking gst_data_queue_push() should be unblocked to recheck the limts.
+ *
+ * Since: 1.2.0
*/
void
gst_data_queue_limits_changed (GstDataQueue * queue)
{
+ GstDataQueuePrivate *priv = queue->priv;
+
g_return_if_fail (GST_IS_DATA_QUEUE (queue));
GST_DATA_QUEUE_MUTEX_LOCK (queue);
- if (queue->waiting_del) {
+ if (priv->waiting_del) {
GST_DEBUG ("signal del");
- g_cond_signal (&queue->item_del);
+ g_cond_signal (&priv->item_del);
}
GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
}
@@ -595,11 +702,15 @@ gst_data_queue_limits_changed (GstDataQueue * queue)
* @level: the location to store the result
*
* Get the current level of the queue.
+ *
+ * Since: 1.2.0
*/
void
gst_data_queue_get_level (GstDataQueue * queue, GstDataQueueSize * level)
{
- memcpy (level, (&queue->cur_level), sizeof (GstDataQueueSize));
+ GstDataQueuePrivate *priv = queue->priv;
+
+ memcpy (level, (&priv->cur_level), sizeof (GstDataQueueSize));
}
static void
@@ -618,18 +729,19 @@ gst_data_queue_get_property (GObject * object,
guint prop_id, GValue * value, GParamSpec * pspec)
{
GstDataQueue *queue = GST_DATA_QUEUE (object);
+ GstDataQueuePrivate *priv = queue->priv;
GST_DATA_QUEUE_MUTEX_LOCK (queue);
switch (prop_id) {
- case ARG_CUR_LEVEL_BYTES:
- g_value_set_uint (value, queue->cur_level.bytes);
+ case PROP_CUR_LEVEL_BYTES:
+ g_value_set_uint (value, priv->cur_level.bytes);
break;
- case ARG_CUR_LEVEL_VISIBLE:
- g_value_set_uint (value, queue->cur_level.visible);
+ case PROP_CUR_LEVEL_VISIBLE:
+ g_value_set_uint (value, priv->cur_level.visible);
break;
- case ARG_CUR_LEVEL_TIME:
- g_value_set_uint64 (value, queue->cur_level.time);
+ case PROP_CUR_LEVEL_TIME:
+ g_value_set_uint64 (value, priv->cur_level.time);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
diff --git a/plugins/elements/gstdataqueue.h b/libs/gst/base/gstdataqueue.h
index 52fdeaf..3bd76f5 100644
--- a/plugins/elements/gstdataqueue.h
+++ b/libs/gst/base/gstdataqueue.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -24,7 +24,6 @@
#define __GST_DATA_QUEUE_H__
#include <gst/gst.h>
-#include "gstqueuearray.h"
G_BEGIN_DECLS
#define GST_TYPE_DATA_QUEUE \
@@ -41,6 +40,7 @@ typedef struct _GstDataQueue GstDataQueue;
typedef struct _GstDataQueueClass GstDataQueueClass;
typedef struct _GstDataQueueSize GstDataQueueSize;
typedef struct _GstDataQueueItem GstDataQueueItem;
+typedef struct _GstDataQueuePrivate GstDataQueuePrivate;
/**
* GstDataQueueItem:
@@ -66,6 +66,9 @@ struct _GstDataQueueItem
/* user supplied destroy function */
GDestroyNotify destroy;
+
+ /* < private > */
+ gpointer _gst_reserved[GST_PADDING];
};
/**
@@ -113,24 +116,8 @@ struct _GstDataQueue
GObject object;
/*< private >*/
- /* the array of data we're keeping our grubby hands on */
- GstQueueArray queue;
-
- GstDataQueueSize cur_level; /* size of the queue */
- GstDataQueueCheckFullFunction checkfull; /* Callback to check if the queue is full */
- gpointer *checkdata;
-
- GMutex qlock; /* lock for queue (vs object lock) */
- gboolean waiting_add;
- GCond item_add; /* signals buffers now available for reading */
- gboolean waiting_del;
- GCond item_del; /* signals space now available for writing */
- gboolean flushing; /* indicates whether conditions where signalled because
- * of external flushing */
- GstDataQueueFullCallback fullcallback;
- GstDataQueueEmptyCallback emptycallback;
-
- /* gpointer _gst_reserved[GST_PADDING]; */
+ GstDataQueuePrivate *priv;
+ gpointer _gst_reserved[GST_PADDING];
};
struct _GstDataQueueClass
@@ -141,47 +128,33 @@ struct _GstDataQueueClass
void (*empty) (GstDataQueue * queue);
void (*full) (GstDataQueue * queue);
- /* gpointer _gst_reserved[GST_PADDING]; */
+ gpointer _gst_reserved[GST_PADDING];
};
-G_GNUC_INTERNAL
GType gst_data_queue_get_type (void);
-G_GNUC_INTERNAL
GstDataQueue * gst_data_queue_new (GstDataQueueCheckFullFunction checkfull,
- gpointer checkdata) G_GNUC_MALLOC;
-
-G_GNUC_INTERNAL
-GstDataQueue * gst_data_queue_new_full (GstDataQueueCheckFullFunction checkfull,
GstDataQueueFullCallback fullcallback,
GstDataQueueEmptyCallback emptycallback,
gpointer checkdata) G_GNUC_MALLOC;
-G_GNUC_INTERNAL
gboolean gst_data_queue_push (GstDataQueue * queue, GstDataQueueItem * item);
-G_GNUC_INTERNAL
gboolean gst_data_queue_pop (GstDataQueue * queue, GstDataQueueItem ** item);
+gboolean gst_data_queue_peek (GstDataQueue * queue, GstDataQueueItem ** item);
-G_GNUC_INTERNAL
void gst_data_queue_flush (GstDataQueue * queue);
-G_GNUC_INTERNAL
void gst_data_queue_set_flushing (GstDataQueue * queue, gboolean flushing);
-G_GNUC_INTERNAL
gboolean gst_data_queue_drop_head (GstDataQueue * queue, GType type);
-G_GNUC_INTERNAL
gboolean gst_data_queue_is_full (GstDataQueue * queue);
-G_GNUC_INTERNAL
gboolean gst_data_queue_is_empty (GstDataQueue * queue);
-G_GNUC_INTERNAL
void gst_data_queue_get_level (GstDataQueue * queue, GstDataQueueSize *level);
-G_GNUC_INTERNAL
void gst_data_queue_limits_changed (GstDataQueue * queue);
G_END_DECLS
diff --git a/libs/gst/base/gstindex.c b/libs/gst/base/gstindex.c
index a1b9d0e..3786e95 100644
--- a/libs/gst/base/gstindex.c
+++ b/libs/gst/base/gstindex.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/libs/gst/base/gstindex.h b/libs/gst/base/gstindex.h
index 7e22efc..b943efb 100644
--- a/libs/gst/base/gstindex.h
+++ b/libs/gst/base/gstindex.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_INDEX_H__
diff --git a/libs/gst/base/gstmemindex.c b/libs/gst/base/gstmemindex.c
index aaeab12..b667447 100644
--- a/libs/gst/base/gstmemindex.c
+++ b/libs/gst/base/gstmemindex.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/gst.h>
diff --git a/libs/gst/base/gstpushsrc.c b/libs/gst/base/gstpushsrc.c
index a1bfa0a..f89fa0a 100644
--- a/libs/gst/base/gstpushsrc.c
+++ b/libs/gst/base/gstpushsrc.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/libs/gst/base/gstpushsrc.h b/libs/gst/base/gstpushsrc.h
index b936d83..aabba00 100644
--- a/libs/gst/base/gstpushsrc.h
+++ b/libs/gst/base/gstpushsrc.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_PUSH_SRC_H__
diff --git a/plugins/elements/gstqueuearray.c b/libs/gst/base/gstqueuearray.c
index 17e6418..4b83959 100644
--- a/plugins/elements/gstqueuearray.c
+++ b/libs/gst/base/gstqueuearray.c
@@ -15,35 +15,86 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
+/**
+ * SECTION:gstqueuearray
+ * @short_description: Array based queue object
+ *
+ * #GstQueueArray is an object that provides standard queue functionality
+ * based on an array instead of linked lists. This reduces the overhead
+ * caused by memory managment by a large factor.
+ */
+
+
#include <string.h>
#include <gst/gst.h>
#include "gstqueuearray.h"
-void
-gst_queue_array_init (GstQueueArray * array, guint initial_size)
+struct _GstQueueArray
{
+ /* < private > */
+ gpointer *array;
+ guint size;
+ guint head;
+ guint tail;
+ guint length;
+};
+
+/**
+ * gst_queue_array_new:
+ * @initial_size: Initial size of the new queue
+ *
+ * Allocates a new #GstQueueArray object with an initial
+ * queue size of @initial_size.
+ *
+ * Returns: a new #GstQueueArray object
+ *
+ * Since: 1.2.0
+ */
+GstQueueArray *
+gst_queue_array_new (guint initial_size)
+{
+ GstQueueArray *array;
+
+ array = g_slice_new (GstQueueArray);
array->size = initial_size;
array->array = g_new0 (gpointer, initial_size);
array->head = 0;
array->tail = 0;
array->length = 0;
-
+ return array;
}
-GstQueueArray *
-gst_queue_array_new (guint initial_size)
-{
- GstQueueArray *array;
- array = g_new (GstQueueArray, 1);
- gst_queue_array_init (array, initial_size);
- return array;
+/**
+ * gst_queue_array_free:
+ * @array: a #GstQueueArray object
+ *
+ * Frees queue @array and all memory associated to it.
+ *
+ * Since: 1.2.0
+ */
+void
+gst_queue_array_free (GstQueueArray * array)
+{
+ g_free (array->array);
+ g_slice_free (GstQueueArray, array);
}
+/**
+ * gst_queue_array_pop_head:
+ * @array: a #GstQueueArray object
+ *
+ * Returns and head of the queue @array and removes
+ * it from the queue.
+ *
+ * Returns: The head of the queue
+ *
+ * Since: 1.2.0
+ */
gpointer
gst_queue_array_pop_head (GstQueueArray * array)
{
@@ -59,6 +110,35 @@ gst_queue_array_pop_head (GstQueueArray * array)
return ret;
}
+/**
+ * gst_queue_array_pop_head:
+ * @array: a #GstQueueArray object
+ *
+ * Returns and head of the queue @array and does not
+ * remove it from the queue.
+ *
+ * Returns: The head of the queue
+ *
+ * Since: 1.2.0
+ */
+gpointer
+gst_queue_array_peek_head (GstQueueArray * array)
+{
+ /* empty array */
+ if (G_UNLIKELY (array->length == 0))
+ return NULL;
+ return array->array[array->head];
+}
+
+/**
+ * gst_queue_array_push_tail:
+ * @array: a #GstQueueArray object
+ * @data: object to push
+ *
+ * Pushes @data to the tail of the queue @array.
+ *
+ * Since: 1.2.0
+ */
void
gst_queue_array_push_tail (GstQueueArray * array, gpointer data)
{
@@ -102,49 +182,64 @@ gst_queue_array_push_tail (GstQueueArray * array, gpointer data)
array->length++;
}
+/**
+ * gst_queue_array_is_empty:
+ * @array: a #GstQueueArray object
+ *
+ * Checks if the queue @array is empty.
+ *
+ * Returns: %TRUE if the queue @array is empty
+ *
+ * Since: 1.2.0
+ */
gboolean
gst_queue_array_is_empty (GstQueueArray * array)
{
return (array->length == 0);
}
-void
-gst_queue_array_clear (GstQueueArray * array)
+/**
+ * gst_queue_array_drop_element:
+ * @array: a #GstQueueArray object
+ * @idx: index to drop
+ *
+ * Drops the queue element at position @idx from queue @array.
+ *
+ * Returns: the dropped element
+ *
+ * Since: 1.2.0
+ */
+gpointer
+gst_queue_array_drop_element (GstQueueArray * array, guint idx)
{
- g_free (array->array);
-}
+ int first_item_index, last_item_index;
+ gpointer element;
-void
-gst_queue_array_free (GstQueueArray * array)
-{
- gst_queue_array_clear (array);
- g_free (array);
-}
+ g_return_val_if_fail (array->length > 0, NULL);
+ g_return_val_if_fail (idx < array->size, NULL);
+
+ first_item_index = array->head;
-void
-gst_queue_array_drop_element (GstQueueArray * array, guint idx)
-{
- int first_item_index = array->head;
/* tail points to the first free spot */
- int last_item_index = (array->tail - 1 + array->size) % array->size;
+ last_item_index = (array->tail - 1 + array->size) % array->size;
- g_assert (array->length > 0);
+ element = array->array[idx];
- /* simply case idx == first item */
+ /* simple case idx == first item */
if (idx == first_item_index) {
- /* move head by plus one */
+ /* move the head plus one */
array->head++;
array->head %= array->size;
array->length--;
- return;
+ return element;
}
- /* simply case idx == last item */
+ /* simple case idx == last item */
if (idx == last_item_index) {
/* move tail minus one, potentially wrapping */
array->tail = (array->tail - 1 + array->size) % array->size;
array->length--;
- return;
+ return element;
}
/* non-wrapped case */
@@ -156,7 +251,7 @@ gst_queue_array_drop_element (GstQueueArray * array, guint idx)
/* tail might wrap, ie if tail == 0 (and last_item_index == size) */
array->tail = (array->tail - 1 + array->size) % array->size;
array->length--;
- return;
+ return element;
}
/* only wrapped cases left */
@@ -170,10 +265,11 @@ gst_queue_array_drop_element (GstQueueArray * array, guint idx)
g_assert (array->tail > 0);
array->tail--;
array->length--;
- return;
+ return element;
}
if (idx > first_item_index) {
+ element = array->array[idx];
/* idx is after first_item_index, move data to higher indices */
memmove (&array->array[first_item_index + 1],
&array->array[first_item_index],
@@ -182,12 +278,31 @@ gst_queue_array_drop_element (GstQueueArray * array, guint idx)
/* head should not wrap in this case! */
g_assert (array->head < array->size);
array->length--;
- return;
+ return element;
}
- g_assert_not_reached ();
+ g_return_val_if_reached (NULL);
}
+/**
+ * gst_queue_array_find:
+ * @array: a #GstQueueArray object
+ * @func: (allow-none): comparison function, or %NULL to find @data by value
+ * @data: data for comparison function
+ *
+ * Finds an element in the queue @array, either by comparing every element
+ * with @func or by looking up @data if no compare function @func is provided,
+ * and returning the index of the found element.
+ *
+ * Note that the index is not 0-based, but an internal index number with a
+ * random offset. The index can be used in connection with
+ * gst_queue_array_drop_element(). FIXME: return index 0-based and make
+ * _drop_element() take a 0-based index.
+ *
+ * Returns: Index of the found element or -1 if nothing was found.
+ *
+ * Since: 1.2.0
+ */
guint
gst_queue_array_find (GstQueueArray * array, GCompareFunc func, gpointer data)
{
@@ -208,3 +323,19 @@ gst_queue_array_find (GstQueueArray * array, GCompareFunc func, gpointer data)
return -1;
}
+
+/**
+ * gst_queue_array_get_length:
+ * @array: a #GstQueueArray object
+ *
+ * Returns the length of the queue @array
+ *
+ * Returns: the length of the queue @array.
+ *
+ * Since: 1.2.0
+ */
+guint
+gst_queue_array_get_length (GstQueueArray * array)
+{
+ return array->length;
+}
diff --git a/libs/gst/base/gstqueuearray.h b/libs/gst/base/gstqueuearray.h
new file mode 100644
index 0000000..b640886
--- /dev/null
+++ b/libs/gst/base/gstqueuearray.h
@@ -0,0 +1,50 @@
+/* GStreamer
+ * Copyright (C) 2009-2010 Edward Hervey <bilboed@bilboed.com>
+ *
+ * gstqueuearray.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <glib.h>
+
+#ifndef __GST_QUEUE_ARRAY_H__
+#define __GST_QUEUE_ARRAY_H__
+
+typedef struct _GstQueueArray GstQueueArray;
+
+GstQueueArray * gst_queue_array_new (guint initial_size);
+
+void gst_queue_array_free (GstQueueArray * array);
+
+gpointer gst_queue_array_pop_head (GstQueueArray * array);
+gpointer gst_queue_array_peek_head (GstQueueArray * array);
+
+void gst_queue_array_push_tail (GstQueueArray * array,
+ gpointer data);
+
+gboolean gst_queue_array_is_empty (GstQueueArray * array);
+
+gpointer gst_queue_array_drop_element (GstQueueArray * array,
+ guint idx);
+
+guint gst_queue_array_find (GstQueueArray * array,
+ GCompareFunc func,
+ gpointer data);
+
+guint gst_queue_array_get_length (GstQueueArray * array);
+
+#endif
diff --git a/libs/gst/base/gsttypefindhelper.c b/libs/gst/base/gsttypefindhelper.c
index 12ff79f..f4a458e 100644
--- a/libs/gst/base/gsttypefindhelper.c
+++ b/libs/gst/base/gsttypefindhelper.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/libs/gst/base/gsttypefindhelper.h b/libs/gst/base/gsttypefindhelper.h
index 7919325..9447f9b 100644
--- a/libs/gst/base/gsttypefindhelper.h
+++ b/libs/gst/base/gsttypefindhelper.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_TYPEFINDHELPER_H__
diff --git a/libs/gst/check/Makefile.am b/libs/gst/check/Makefile.am
index c2c6976..1aca0f0 100644
--- a/libs/gst/check/Makefile.am
+++ b/libs/gst/check/Makefile.am
@@ -11,7 +11,8 @@ libgstcheck_@GST_API_VERSION@_la_DEPENDENCIES = \
libgstcheck_@GST_API_VERSION@_la_SOURCES = \
gstbufferstraw.c \
gstcheck.c \
- gstconsistencychecker.c
+ gstconsistencychecker.c \
+ gsttestclock.c
libgstcheck_@GST_API_VERSION@_la_CFLAGS = $(GST_OBJ_CFLAGS) \
-I$(top_builddir)/libs \
@@ -26,10 +27,12 @@ libgstcheck_@GST_API_VERSION@_la_LDFLAGS = \
libgstcheck_@GST_API_VERSION@includedir = \
$(includedir)/gstreamer-@GST_API_VERSION@/gst/check
-libgstcheck_@GST_API_VERSION@include_HEADERS = \
+libgstcheck_@GST_API_VERSION@include_HEADERS = \
+ check.h \
gstbufferstraw.h \
gstcheck.h \
- gstconsistencychecker.h
+ gstconsistencychecker.h \
+ gsttestclock.h
nodist_libgstcheck_@GST_API_VERSION@include_HEADERS = \
internal-check.h
@@ -76,6 +79,8 @@ LIBGSTCHECK_EXPORTED_FUNCS = \
gst_check_message_error \
gst_check_run_suite \
gst_check_setup_element \
+ gst_check_setup_events \
+ gst_check_setup_events_with_stream_id \
gst_check_setup_sink_pad \
gst_check_setup_sink_pad_by_name \
gst_check_setup_src_pad \
@@ -87,7 +92,19 @@ LIBGSTCHECK_EXPORTED_FUNCS = \
gst_consistency_checker_add_pad \
gst_consistency_checker_new \
gst_consistency_checker_reset \
- gst_consistency_checker_free
+ gst_consistency_checker_free \
+ gst_test_clock_get_type \
+ gst_test_clock_new \
+ gst_test_clock_new_with_start_time \
+ gst_test_clock_set_time \
+ gst_test_clock_advance_time \
+ gst_test_clock_peek_id_count \
+ gst_test_clock_has_id \
+ gst_test_clock_peek_next_pending_id \
+ gst_test_clock_wait_for_next_pending_id \
+ gst_test_clock_wait_for_pending_id_count \
+ gst_test_clock_process_next_clock_id \
+ gst_test_clock_get_next_entry_time
LIBGSTCHECK_EXPORTED_SYMBOLS = \
$(LIBGSTCHECK_EXPORTED_VARS) \
@@ -101,7 +118,7 @@ print-check-symbols:
echo $$s; \
done;
-$(SYMBOLS_FILE):
+$(SYMBOLS_FILE): $(libgstcheck_@GST_API_VERSION@include_HEADERS) libcheck/check.h
$(AM_V_GEN)rm -f $(SYMBOLS_FILE) 2>/dev/null; \
for s in $(LIBGSTCHECK_EXPORTED_SYMBOLS) $(CHECK_SYMS); do \
echo $$s >> $(SYMBOLS_FILE); \
@@ -113,12 +130,10 @@ BUILT_GIRSOURCES = GstCheck-@GST_API_VERSION@.gir
gir_headers=$(patsubst %,$(srcdir)/%, $(libgstcheck_@GST_API_VERSION@include_HEADERS)) \
$(patsubst %,$(builddir)/%, $(nodist_libgstcheck_@GST_API_VERSION@include_HEADERS))
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstcheck_@GST_API_VERSION@_la_SOURCES))
-gir_cincludes=$(patsubst %,--c-include='gst/check/%',$(libgstcheck_@GST_API_VERSION@include_HEADERS)) \
- $(patsubst %,--c-include='gst/check/%',$(nodist_libgstcheck_@GST_API_VERSION@include_HEADERS))
GstCheck-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstcheck-@GST_API_VERSION@.la
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
- GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+ GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
$(INTROSPECTION_SCANNER) -v --namespace GstCheck \
--nsversion=@GST_API_VERSION@ \
--strip-prefix=Gst \
@@ -127,10 +142,9 @@ GstCheck-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstcheck-@GST_API_VE
-I$(top_srcdir)/libs \
-I$(top_builddir) \
-I$(top_builddir)/libs \
- $(gir_cincludes) \
+ --c-include "gst/check/check.h" \
--add-include-path=$(top_builddir)/gst \
--library-path=$(top_builddir)/gst \
- --library=$(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
--library=libgstcheck-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
--libtool="$(top_builddir)/libtool" \
diff --git a/libs/gst/check/Makefile.in b/libs/gst/check/Makefile.in
index d371e47..07201ac 100644
--- a/libs/gst/check/Makefile.in
+++ b/libs/gst/check/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,23 +17,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -56,15 +83,15 @@ host_triplet = @host@
target_triplet = @target@
@HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
subdir = libs/gst/check
-DIST_COMMON = $(libgstcheck_@GST_API_VERSION@include_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp \
+ $(libgstcheck_@GST_API_VERSION@include_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -88,12 +115,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -136,16 +165,30 @@ am__DEPENDENCIES_1 =
am_libgstcheck_@GST_API_VERSION@_la_OBJECTS = \
libgstcheck_@GST_API_VERSION@_la-gstbufferstraw.lo \
libgstcheck_@GST_API_VERSION@_la-gstcheck.lo \
- libgstcheck_@GST_API_VERSION@_la-gstconsistencychecker.lo
+ libgstcheck_@GST_API_VERSION@_la-gstconsistencychecker.lo \
+ libgstcheck_@GST_API_VERSION@_la-gsttestclock.lo
libgstcheck_@GST_API_VERSION@_la_OBJECTS = \
$(am_libgstcheck_@GST_API_VERSION@_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
libgstcheck_@GST_API_VERSION@_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(libgstcheck_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) \
$(libgstcheck_@GST_API_VERSION@_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -158,29 +201,26 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libgstcheck_@GST_API_VERSION@_la_SOURCES)
DIST_SOURCES = $(libgstcheck_@GST_API_VERSION@_la_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -191,9 +231,29 @@ HEADERS = $(libgstcheck_@GST_API_VERSION@include_HEADERS) \
$(nodist_libgstcheck_@GST_API_VERSION@include_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
@@ -321,15 +381,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -339,11 +395,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -351,6 +405,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -413,6 +468,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -514,7 +570,8 @@ libgstcheck_@GST_API_VERSION@_la_DEPENDENCIES = \
libgstcheck_@GST_API_VERSION@_la_SOURCES = \
gstbufferstraw.c \
gstcheck.c \
- gstconsistencychecker.c
+ gstconsistencychecker.c \
+ gsttestclock.c
libgstcheck_@GST_API_VERSION@_la_CFLAGS = $(GST_OBJ_CFLAGS) \
-I$(top_builddir)/libs \
@@ -532,9 +589,11 @@ libgstcheck_@GST_API_VERSION@includedir = \
$(includedir)/gstreamer-@GST_API_VERSION@/gst/check
libgstcheck_@GST_API_VERSION@include_HEADERS = \
+ check.h \
gstbufferstraw.h \
gstcheck.h \
- gstconsistencychecker.h
+ gstconsistencychecker.h \
+ gsttestclock.h
nodist_libgstcheck_@GST_API_VERSION@include_HEADERS = \
internal-check.h
@@ -572,6 +631,8 @@ LIBGSTCHECK_EXPORTED_FUNCS = \
gst_check_message_error \
gst_check_run_suite \
gst_check_setup_element \
+ gst_check_setup_events \
+ gst_check_setup_events_with_stream_id \
gst_check_setup_sink_pad \
gst_check_setup_sink_pad_by_name \
gst_check_setup_src_pad \
@@ -583,7 +644,19 @@ LIBGSTCHECK_EXPORTED_FUNCS = \
gst_consistency_checker_add_pad \
gst_consistency_checker_new \
gst_consistency_checker_reset \
- gst_consistency_checker_free
+ gst_consistency_checker_free \
+ gst_test_clock_get_type \
+ gst_test_clock_new \
+ gst_test_clock_new_with_start_time \
+ gst_test_clock_set_time \
+ gst_test_clock_advance_time \
+ gst_test_clock_peek_id_count \
+ gst_test_clock_has_id \
+ gst_test_clock_peek_next_pending_id \
+ gst_test_clock_wait_for_next_pending_id \
+ gst_test_clock_wait_for_pending_id_count \
+ gst_test_clock_process_next_clock_id \
+ gst_test_clock_get_next_entry_time
LIBGSTCHECK_EXPORTED_SYMBOLS = \
$(LIBGSTCHECK_EXPORTED_VARS) \
@@ -598,9 +671,6 @@ CHECK_SYMS = `$(SED) -n -e 's/^..*CK_EXPORT[ ]\{1,\}\([_0-9ABCDEFGHIJKLMNOPQRSTU
@HAVE_INTROSPECTION_TRUE@ $(patsubst %,$(builddir)/%, $(nodist_libgstcheck_@GST_API_VERSION@include_HEADERS))
@HAVE_INTROSPECTION_TRUE@gir_sources = $(patsubst %,$(srcdir)/%, $(libgstcheck_@GST_API_VERSION@_la_SOURCES))
-@HAVE_INTROSPECTION_TRUE@gir_cincludes = $(patsubst %,--c-include='gst/check/%',$(libgstcheck_@GST_API_VERSION@include_HEADERS)) \
-@HAVE_INTROSPECTION_TRUE@ $(patsubst %,--c-include='gst/check/%',$(nodist_libgstcheck_@GST_API_VERSION@include_HEADERS))
-
# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
# install anything - we need to install inside our prefix.
@@ -643,6 +713,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
@@ -669,12 +740,15 @@ uninstall-libLTLIBRARIES:
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
libgstcheck-@GST_API_VERSION@.la: $(libgstcheck_@GST_API_VERSION@_la_OBJECTS) $(libgstcheck_@GST_API_VERSION@_la_DEPENDENCIES) $(EXTRA_libgstcheck_@GST_API_VERSION@_la_DEPENDENCIES)
$(AM_V_CCLD)$(libgstcheck_@GST_API_VERSION@_la_LINK) -rpath $(libdir) $(libgstcheck_@GST_API_VERSION@_la_OBJECTS) $(libgstcheck_@GST_API_VERSION@_la_LIBADD) $(LIBS)
@@ -687,6 +761,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcheck_@GST_API_VERSION@_la-gstbufferstraw.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcheck_@GST_API_VERSION@_la-gstcheck.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcheck_@GST_API_VERSION@_la-gstconsistencychecker.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcheck_@GST_API_VERSION@_la-gsttestclock.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -730,6 +805,13 @@ libgstcheck_@GST_API_VERSION@_la-gstconsistencychecker.lo: gstconsistencychecker
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcheck_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstcheck_@GST_API_VERSION@_la-gstconsistencychecker.lo `test -f 'gstconsistencychecker.c' || echo '$(srcdir)/'`gstconsistencychecker.c
+libgstcheck_@GST_API_VERSION@_la-gsttestclock.lo: gsttestclock.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcheck_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstcheck_@GST_API_VERSION@_la-gsttestclock.lo -MD -MP -MF $(DEPDIR)/libgstcheck_@GST_API_VERSION@_la-gsttestclock.Tpo -c -o libgstcheck_@GST_API_VERSION@_la-gsttestclock.lo `test -f 'gsttestclock.c' || echo '$(srcdir)/'`gsttestclock.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstcheck_@GST_API_VERSION@_la-gsttestclock.Tpo $(DEPDIR)/libgstcheck_@GST_API_VERSION@_la-gsttestclock.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gsttestclock.c' object='libgstcheck_@GST_API_VERSION@_la-gsttestclock.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcheck_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstcheck_@GST_API_VERSION@_la-gsttestclock.lo `test -f 'gsttestclock.c' || echo '$(srcdir)/'`gsttestclock.c
+
mostlyclean-libtool:
-rm -f *.lo
@@ -821,22 +903,25 @@ uninstall-nodist_libgstcheck_@GST_API_VERSION@includeHEADERS:
dir='$(DESTDIR)$(libgstcheck_@GST_API_VERSION@includedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -851,57 +936,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -917,12 +957,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -934,15 +969,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -951,6 +982,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1129,19 +1175,18 @@ uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
uninstall-nodist_libgstcheck_@GST_API_VERSION@includeHEADERS \
uninstall-typelibsDATA
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
- ctags-recursive install install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-girDATA install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
+.MAKE: $(am__recursive_targets) all check install install-am \
+ install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libLTLIBRARIES \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-girDATA \
+ install-html install-html-am install-info install-info-am \
+ install-libLTLIBRARIES \
install-libgstcheck_@GST_API_VERSION@includeHEADERS \
install-man \
install-nodist_libgstcheck_@GST_API_VERSION@includeHEADERS \
@@ -1150,7 +1195,7 @@ uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-girDATA \
+ tags tags-am uninstall uninstall-am uninstall-girDATA \
uninstall-libLTLIBRARIES \
uninstall-libgstcheck_@GST_API_VERSION@includeHEADERS \
uninstall-nodist_libgstcheck_@GST_API_VERSION@includeHEADERS \
@@ -1169,7 +1214,7 @@ print-check-symbols:
echo $$s; \
done;
-$(SYMBOLS_FILE):
+$(SYMBOLS_FILE): $(libgstcheck_@GST_API_VERSION@include_HEADERS) libcheck/check.h
$(AM_V_GEN)rm -f $(SYMBOLS_FILE) 2>/dev/null; \
for s in $(LIBGSTCHECK_EXPORTED_SYMBOLS) $(CHECK_SYMS); do \
echo $$s >> $(SYMBOLS_FILE); \
@@ -1177,7 +1222,7 @@ $(SYMBOLS_FILE):
@HAVE_INTROSPECTION_TRUE@GstCheck-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstcheck-@GST_API_VERSION@.la
@HAVE_INTROSPECTION_TRUE@ $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
-@HAVE_INTROSPECTION_TRUE@ GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@ GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
@HAVE_INTROSPECTION_TRUE@ $(INTROSPECTION_SCANNER) -v --namespace GstCheck \
@HAVE_INTROSPECTION_TRUE@ --nsversion=@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --strip-prefix=Gst \
@@ -1186,10 +1231,9 @@ $(SYMBOLS_FILE):
@HAVE_INTROSPECTION_TRUE@ -I$(top_srcdir)/libs \
@HAVE_INTROSPECTION_TRUE@ -I$(top_builddir) \
@HAVE_INTROSPECTION_TRUE@ -I$(top_builddir)/libs \
-@HAVE_INTROSPECTION_TRUE@ $(gir_cincludes) \
+@HAVE_INTROSPECTION_TRUE@ --c-include "gst/check/check.h" \
@HAVE_INTROSPECTION_TRUE@ --add-include-path=$(top_builddir)/gst \
@HAVE_INTROSPECTION_TRUE@ --library-path=$(top_builddir)/gst \
-@HAVE_INTROSPECTION_TRUE@ --library=$(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
@HAVE_INTROSPECTION_TRUE@ --library=libgstcheck-@GST_API_VERSION@.la \
@HAVE_INTROSPECTION_TRUE@ --include=Gst-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --libtool="$(top_builddir)/libtool" \
diff --git a/libs/gst/check/check.h b/libs/gst/check/check.h
new file mode 100644
index 0000000..554ff93
--- /dev/null
+++ b/libs/gst/check/check.h
@@ -0,0 +1,30 @@
+/* GStreamer
+ * Copyright (C) 2012 GStreamer developers
+ *
+ * check.h: single include header for gst-check library
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_CHECK__H__
+#define __GST_CHECK__H__
+
+#include <gst/check/gstbufferstraw.h>
+#include <gst/check/gstcheck.h>
+#include <gst/check/gstconsistencychecker.h>
+#include <gst/check/gsttestclock.h>
+
+#endif /* __GST_CHECK__H__ */
diff --git a/libs/gst/check/gstbufferstraw.c b/libs/gst/check/gstbufferstraw.c
index 8e55940..2a44090 100644
--- a/libs/gst/check/gstbufferstraw.c
+++ b/libs/gst/check/gstbufferstraw.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/libs/gst/check/gstbufferstraw.h b/libs/gst/check/gstbufferstraw.h
index ed49704..84ccc7f 100644
--- a/libs/gst/check/gstbufferstraw.h
+++ b/libs/gst/check/gstbufferstraw.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_BUFFER_STRAW_H__
diff --git a/libs/gst/check/gstcheck.c b/libs/gst/check/gstcheck.c
index bb92308..c62e72d 100644
--- a/libs/gst/check/gstcheck.c
+++ b/libs/gst/check/gstcheck.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstcheck
@@ -27,6 +27,9 @@
* These macros and functions are for internal use of the unit tests found
* inside the 'check' directories of various GStreamer packages.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "gstcheck.h"
@@ -115,6 +118,8 @@ print_plugins (void)
void
gst_check_init (int *argc, char **argv[])
{
+ guint timeout_multiplier = 1;
+
gst_init (argc, argv);
GST_DEBUG_CATEGORY_INIT (check_debug, "check", 0, "check regression tests");
@@ -136,6 +141,28 @@ gst_check_init (int *argc, char **argv[])
gst_check_log_critical_func, NULL);
print_plugins ();
+
+#ifdef TARGET_CPU
+ GST_INFO ("target CPU: %s", TARGET_CPU);
+#endif
+
+#ifdef HAVE_CPU_ARM
+ timeout_multiplier = 10;
+#endif
+
+ if (timeout_multiplier > 1) {
+ const gchar *tmult = g_getenv ("CK_TIMEOUT_MULTIPLIER");
+
+ if (tmult == NULL) {
+ gchar num_str[32];
+
+ g_snprintf (num_str, sizeof (num_str), "%d", timeout_multiplier);
+ GST_INFO ("slow CPU, setting CK_TIMEOUT_MULTIPLIER to %s", num_str);
+ g_setenv ("CK_TIMEOUT_MULTIPLIER", num_str, TRUE);
+ } else {
+ GST_INFO ("CK_TIMEOUT_MULTIPLIER already set to '%s'", tmult);
+ }
+ }
}
/* message checking */
@@ -411,14 +438,13 @@ static gboolean
buffer_event_function (GstPad * pad, GstObject * noparent, GstEvent * event)
{
if (GST_EVENT_TYPE (event) == GST_EVENT_CAPS) {
- GstCaps *event_caps, *current_caps;
+ GstCaps *event_caps;
+ GstCaps *expected_caps = gst_pad_get_element_private (pad);
- current_caps = gst_pad_get_current_caps (pad);
gst_event_parse_caps (event, &event_caps);
- fail_unless (gst_caps_is_fixed (current_caps));
+ fail_unless (gst_caps_is_fixed (expected_caps));
fail_unless (gst_caps_is_fixed (event_caps));
- fail_unless (gst_caps_is_equal_fixed (event_caps, current_caps));
- gst_caps_unref (current_caps);
+ fail_unless (gst_caps_is_equal_fixed (event_caps, expected_caps));
gst_event_unref (event);
return TRUE;
}
@@ -474,8 +500,7 @@ gst_check_element_push_buffer_list (const gchar * element_name,
/* activate the pad */
gst_pad_set_active (src_pad, TRUE);
GST_DEBUG ("src pad activated");
- if (caps_in)
- fail_unless (gst_pad_set_caps (src_pad, caps_in));
+ gst_check_setup_events (src_pad, element, caps_in, GST_FORMAT_BYTES);
pad_peer = gst_element_get_static_pad (element, "sink");
fail_if (pad_peer == NULL);
fail_unless (gst_pad_link (src_pad, pad_peer) == GST_PAD_LINK_OK,
@@ -502,9 +527,10 @@ gst_check_element_push_buffer_list (const gchar * element_name,
/* configure the sink pad */
gst_pad_set_chain_function (sink_pad, gst_check_chain_func);
gst_pad_set_active (sink_pad, TRUE);
- gst_pad_set_caps (sink_pad, caps_out);
- if (caps_out)
+ if (caps_out) {
+ gst_pad_set_element_private (sink_pad, caps_out);
gst_pad_set_event_function (sink_pad, buffer_event_function);
+ }
/* get the peer pad */
pad_peer = gst_element_get_static_pad (element, "src");
fail_unless (gst_pad_link (pad_peer, sink_pad) == GST_PAD_LINK_OK,
@@ -691,3 +717,54 @@ _gst_check_run_test_func (const gchar * func_name)
g_strfreev (funcs);
return res;
}
+
+/**
+ * gst_check_setup_events_with_stream_id:
+ * @srcpad: The src #GstPad to push on
+ * @element: The #GstElement use to create the stream id
+ * @caps: (allow-none): #GstCaps in case caps event must be sent
+ * @format: The #GstFormat of the default segment to send
+ * @stream_id: A unique identifier for the stream
+ *
+ * Push stream-start, caps and segment event, which concist of the minimum
+ * required events to allow streaming. Caps is optional to allow raw src
+ * testing.
+ */
+void
+gst_check_setup_events_with_stream_id (GstPad * srcpad, GstElement * element,
+ GstCaps * caps, GstFormat format, const gchar * stream_id)
+{
+ GstSegment segment;
+
+ gst_segment_init (&segment, format);
+
+ fail_unless (gst_pad_push_event (srcpad,
+ gst_event_new_stream_start (stream_id)));
+ if (caps)
+ fail_unless (gst_pad_push_event (srcpad, gst_event_new_caps (caps)));
+ fail_unless (gst_pad_push_event (srcpad, gst_event_new_segment (&segment)));
+}
+
+/**
+ * gst_check_setup_events:
+ * @srcpad: The src #GstPad to push on
+ * @element: The #GstElement use to create the stream id
+ * @caps: (allow-none): #GstCaps in case caps event must be sent
+ * @format: The #GstFormat of the default segment to send
+ *
+ * Push stream-start, caps and segment event, which concist of the minimum
+ * required events to allow streaming. Caps is optional to allow raw src
+ * testing. If @element has more than one src or sink pad, use
+ * gst_check_setup_events_with_stream_id() instead.
+ */
+void
+gst_check_setup_events (GstPad * srcpad, GstElement * element,
+ GstCaps * caps, GstFormat format)
+{
+ gchar *stream_id;
+
+ stream_id = gst_pad_create_stream_id (srcpad, element, NULL);
+ gst_check_setup_events_with_stream_id (srcpad, element, caps, format,
+ stream_id);
+ g_free (stream_id);
+}
diff --git a/libs/gst/check/gstcheck.h b/libs/gst/check/gstcheck.h
index cd49ab0..7b4b9d4 100644
--- a/libs/gst/check/gstcheck.h
+++ b/libs/gst/check/gstcheck.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_CHECK_H__
@@ -94,6 +94,11 @@ void gst_check_teardown_sink_pad (GstElement * element);
void gst_check_abi_list (GstCheckABIStruct list[], gboolean have_abi_sizes);
gint gst_check_run_suite (Suite * suite, const gchar * name,
const gchar * fname);
+void gst_check_setup_events (GstPad * srcpad, GstElement * element,
+ GstCaps * caps, GstFormat format);
+void gst_check_setup_events_with_stream_id (GstPad * srcpad,
+ GstElement * element, GstCaps * caps, GstFormat format,
+ const gchar * stream_id);
#define fail_unless_message_error(msg, domain, code) \
gst_check_message_error (msg, GST_MESSAGE_ERROR, \
@@ -150,6 +155,38 @@ G_STMT_START { \
#define assert_equals_int(a, b) fail_unless_equals_int(a, b)
/**
+ * fail_unless_equals_int_hex:
+ * @a: a #gint value or expression
+ * @b: a #gint value or expression
+ *
+ * This macro checks that @a and @b are equal and aborts if this is not the
+ * case, printing both expressions and the values they evaluated to in
+ * hexadecimal format. This macro is for use in unit tests.
+ *
+ * Since: 1.2
+ */
+#define fail_unless_equals_int_hex(a, b) \
+G_STMT_START { \
+ int first = a; \
+ int second = b; \
+ fail_unless(first == second, \
+ "'" #a "' (0x%08x) is not equal to '" #b"' (0x%08x)", first, second);\
+} G_STMT_END;
+
+/**
+ * assert_equals_int_hex:
+ * @a: a #gint value or expression
+ * @b: a #gint value or expression
+ *
+ * This macro checks that @a and @b are equal and aborts if this is not the
+ * case, printing both expressions and the values they evaluated to in
+ * hexadecimal format. This macro is for use in unit tests.
+ *
+ * Since: 1.2
+ */
+#define assert_equals_int_hex(a, b) fail_unless_equals_int_hex(a, b)
+
+/**
* fail_unless_equals_int64:
* @a: a #gint64 value or expression
* @b: a #gint64 value or expression
@@ -178,6 +215,37 @@ G_STMT_START { \
#define assert_equals_int64(a, b) fail_unless_equals_int64(a, b)
/**
+ * fail_unless_equals_int64_hex:
+ * @a: a #gint64 value or expression
+ * @b: a #gint64 value or expression
+ *
+ * This macro checks that @a and @b are equal and aborts if this is not the
+ * case, printing both expressions and the values they evaluated to in
+ * hexadecimal format. This macro is for use in unit tests.
+ *
+ * Since: 1.2
+ */
+#define fail_unless_equals_int64_hex(a, b) \
+G_STMT_START { \
+ gint64 first = a; \
+ gint64 second = b; \
+ fail_unless(first == second, \
+ "'" #a "' (0x%016x) is not equal to '" #b"' (0x%016x)", first, second);\
+} G_STMT_END;
+/**
+ * assert_equals_int64_hex:
+ * @a: a #gint64 value or expression
+ * @b: a #gint64 value or expression
+ *
+ * This macro checks that @a and @b are equal and aborts if this is not the
+ * case, printing both expressions and the values they evaluated to in
+ * hexadecimal format. This macro is for use in unit tests.
+ *
+ * Since: 1.2
+ */
+#define assert_equals_int64_hex(a,b) fail_unless_equals_int64_hex(a,b)
+
+/**
* fail_unless_equals_uint64:
* @a: a #guint64 value or expression
* @b: a #guint64 value or expression
@@ -206,6 +274,37 @@ G_STMT_START { \
#define assert_equals_uint64(a, b) fail_unless_equals_uint64(a, b)
/**
+ * fail_unless_equals_uint64_hex:
+ * @a: a #gint64 value or expression
+ * @b: a #gint64 value or expression
+ *
+ * This macro checks that @a and @b are equal and aborts if this is not the
+ * case, printing both expressions and the values they evaluated to in
+ * hexadecimal format. This macro is for use in unit tests.
+ *
+ * Since: 1.2
+ */
+#define fail_unless_equals_uint64_hex(a, b) \
+G_STMT_START { \
+ guint64 first = a; \
+ guint64 second = b; \
+ fail_unless(first == second, \
+ "'" #a "' (0x%016x) is not equal to '" #b"' (0x%016x)", first, second);\
+} G_STMT_END;
+/**
+ * assert_equals_uint64_hex:
+ * @a: a #guint64 value or expression
+ * @b: a #guint64 value or expression
+ *
+ * This macro checks that @a and @b are equal and aborts if this is not the
+ * case, printing both expressions and the values they evaluated to in
+ * hexadecimal format. This macro is for use in unit tests.
+ *
+ * Since: 1.2
+ */
+#define assert_equals_uint64_hex(a,b) fail_unless_equals_uint64_hex(a,b)
+
+/**
* fail_unless_equals_string:
* @a: a string literal or expression
* @b: a string literal or expression
@@ -262,6 +361,37 @@ G_STMT_START { \
*/
#define assert_equals_float(a, b) fail_unless_equals_float(a, b)
+/**
+ * fail_unless_equals_pointer:
+ * @a: a pointer value or expression
+ * @b: a pointer value or expression
+ *
+ * This macro checks that @a and @b are equal and aborts if this
+ * is not the case, printing both expressions and the values they
+ * evaluated to. This macro is for use in unit tests.
+ *
+ * Since: 1.2
+ */
+#define fail_unless_equals_pointer(a, b) \
+G_STMT_START { \
+ gpointer first = a; \
+ gpointer second = b; \
+ fail_unless(first == second, \
+ "'" #a "' (%p) is not equal to '" #b "' (%p)", first, second);\
+} G_STMT_END;
+
+/**
+ * assert_equals_pointer:
+ * @a: a pointer value or expression
+ * @b: a pointer value or expression
+ *
+ * This macro checks that @a and @b are equal and aborts if this
+ * is not the case, printing both expressions and the values they
+ * evaluated to. This macro is for use in unit tests.
+ *
+ * Since: 1.2
+ */
+#define assert_equals_pointer(a, b) fail_unless_equals_pointer(a, b)
/***
* thread test macros and variables
@@ -445,9 +575,15 @@ __gst_tcase_add_test (TCase * tc, TFun tf, const char * fname, int signal,
/* add define to skip broken tests */
#define tcase_skip_broken_test(chain,test_func) \
- if (0) { tcase_add_test(chain,test_func); } else { \
+G_STMT_START { \
+ const char *env = g_getenv ("GST_CHECKS"); \
+ \
+ if (env != NULL && strstr (env, G_STRINGIFY (test_func))) { \
+ tcase_add_test(chain,test_func); \
+ } else { \
g_printerr ("FIXME: skipping test %s because it's broken\n", G_STRINGIFY (test_func)); \
- }
+ } \
+} G_STMT_END
G_END_DECLS
diff --git a/libs/gst/check/gstconsistencychecker.c b/libs/gst/check/gstconsistencychecker.c
index 48b2526..2e98537 100644
--- a/libs/gst/check/gstconsistencychecker.c
+++ b/libs/gst/check/gstconsistencychecker.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/libs/gst/check/gstconsistencychecker.h b/libs/gst/check/gstconsistencychecker.h
index 35b675c..875db6b 100644
--- a/libs/gst/check/gstconsistencychecker.h
+++ b/libs/gst/check/gstconsistencychecker.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_CONSISTENCY_CHECKER_H__
diff --git a/libs/gst/check/gsttestclock.c b/libs/gst/check/gsttestclock.c
new file mode 100644
index 0000000..b736f7c
--- /dev/null
+++ b/libs/gst/check/gsttestclock.c
@@ -0,0 +1,921 @@
+/* GstTestClock - A deterministic clock for GStreamer unit tests
+ *
+ * Copyright (C) 2008 Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
+ * Copyright (C) 2012 Sebastian Rasmussen <sebastian.rasmussen@axis.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+/**
+ * SECTION:gsttestclock
+ * @short_description: Controllable, deterministic clock for GStreamer unit tests
+ * @see_also: #GstSystemClock, #GstClock
+ *
+ * GstTestClock is an implementation of #GstClock which has different
+ * behaviour compared to #GstSystemClock. Time for #GstSystemClock advances
+ * according to the system time, while time for #GstTestClock changes only
+ * when gst_test_clock_set_time() or gst_test_clock_advance_time() are
+ * called. #GstTestClock provides unit tests with the possibility to
+ * precisely advance the time in a deterministic manner, independent of the
+ * system time or any other external factors.
+ *
+ * <example>
+ * <title>Advancing the time of a #GstTestClock</title>
+ * <programlisting language="c">
+ * #include &lt;gst/gst.h&gt;
+ * #include &lt;gst/check/gsttestclock.h&gt;
+ *
+ * GstClock *clock;
+ * GstTestClock *test_clock;
+ *
+ * clock = gst_test_clock_new ();
+ * test_clock = GST_TEST_CLOCK (clock);
+ * GST_INFO ("Time: %" GST_TIME_FORMAT, GST_TIME_ARGS (gst_clock_get_time (clock)));
+ * gst_test_clock_advance_time ( test_clock, 1 * GST_SECOND);
+ * GST_INFO ("Time: %" GST_TIME_FORMAT, GST_TIME_ARGS (gst_clock_get_time (clock)));
+ * g_usleep (10 * G_USEC_PER_SEC);
+ * GST_INFO ("Time: %" GST_TIME_FORMAT, GST_TIME_ARGS (gst_clock_get_time (clock)));
+ * gst_test_clock_set_time (test_clock, 42 * GST_SECOND);
+ * GST_INFO ("Time: %" GST_TIME_FORMAT, GST_TIME_ARGS (gst_clock_get_time (clock)));
+ * ...
+ * </programlisting>
+ * </example>
+ *
+ * #GstClock allows for setting up single shot or periodic clock notifications
+ * as well as waiting for these notifications synchronously (using
+ * gst_clock_id_wait()) or asynchronously (using gst_clock_id_wait_async() or
+ * gst_clock_id_wait_async_full()). This is used by many GStreamer elements,
+ * among them #GstBaseSrc and #GstBaseSink.
+ *
+ * #GstTestClock keeps track of these clock notifications. By calling
+ * gst_test_clock_wait_for_next_pending_id() or
+ * gst_test_clock_wait_for_pending_id_count() a unit tests may wait for the
+ * next one or several clock notifications to be requested. Additionally unit
+ * tests may release blocked waits in a controlled fashion by calling
+ * gst_test_clock_process_next_clock_id(). This way a unit test can control the
+ * inaccuracy (jitter) of clock notifications, since the test can decide to
+ * release blocked waits when the clock time has advanced exactly to, or past,
+ * the requested clock notification time.
+ *
+ * There are also interfaces for determining if a notification belongs to a
+ * #GstTestClock or not, as well as getting the number of requested clock
+ * notifications so far.
+ *
+ * N.B.: When a unit test waits for a certain amount of clock notifications to
+ * be requested in gst_test_clock_wait_for_next_pending_id() or
+ * gst_test_clock_wait_for_pending_id_count() then these functions may block
+ * for a long time. If they block forever then the expected clock notifications
+ * were never requested from #GstTestClock, and so the assumptions in the code
+ * of the unit test are wrong. The unit test case runner in #GstCheck is
+ * expected to catch these cases either by the default test case timeout or the
+ * one set for the unit test by calling tcase_set_timeout().
+ *
+ * The sample code below assumes that the element under test will delay a
+ * buffer pushed on the source pad by some latency until it arrives on the sink
+ * pad. Moreover it is assumed that the element will at some point call
+ * gst_clock_id_wait() to synchronously wait for a specific time. The first
+ * buffer sent will arrive exactly on time only delayed by the latency. The
+ * second buffer will arrive a little late (7ms) due to simulated jitter in the
+ * clock notification.
+ *
+ * <example>
+ * <title>Demonstration of how to work with clock notifications and #GstTestClock</title>
+ * <programlisting language="c">
+ * #include &lt;gst/gst.h&gt;
+ * #include &lt;gst/check/gstcheck.h&gt;
+ * #include &lt;gst/check/gsttestclock.h&gt;
+ *
+ * GstClockTime latency;
+ * GstElement *element;
+ * GstPad *srcpad;
+ * GstClock *clock;
+ * GstTestClock *test_clock;
+ * GstBuffer buf;
+ * GstClockID pending_id;
+ * GstClockID processed_id;
+ *
+ * latency = 42 * GST_MSECOND;
+ * element = create_element (latency, ...);
+ * srcpad = get_source_pad (element);
+ *
+ * clock = gst_test_clock_new ();
+ * test_clock = GST_TEST_CLOCK (clock);
+ * gst_element_set_clock (element, clock);
+ *
+ * GST_INFO ("Set time, create and push the first buffer\n");
+ * gst_test_clock_set_time (test_clock, 0);
+ * buf = create_test_buffer (gst_clock_get_time (clock), ...);
+ * gst_assert_cmpint (gst_pad_push (srcpad, buf), ==, GST_FLOW_OK);
+ *
+ * GST_INFO ("Block until element is waiting for a clock notification\n");
+ * gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ * GST_INFO ("Advance to the requested time of the clock notification\n");
+ * gst_test_clock_advance_time (test_clock, latency);
+ * GST_INFO ("Release the next blocking wait and make sure it is the one from element\n");
+ * processed_id = gst_test_clock_process_next_clock_id (test_clock);
+ * g_assert (processed_id == pending_id);
+ * g_assert_cmpint (GST_CLOCK_ENTRY_STATUS (processed_id), ==, GST_CLOCK_OK);
+ * gst_clock_id_unref (pending_id);
+ * gst_clock_id_unref (processed_id);
+ *
+ * GST_INFO ("Validate that element produced an output buffer and check its timestamp\n");
+ * g_assert_cmpint (get_number_of_output_buffer (...), ==, 1);
+ * buf = get_buffer_pushed_by_element (element, ...);
+ * g_assert_cmpint (GST_BUFFER_TIMESTAMP (buf), ==, latency);
+ * gst_buffer_unref (buf);
+ * GST_INFO ("Check that element does not wait for any clock notification\n");
+ * g_assert (gst_test_clock_peek_next_pending_id (test_clock, NULL) == FALSE);
+ *
+ * GST_INFO ("Set time, create and push the second buffer\n");
+ * gst_test_clock_advance_time (test_clock, 10 * GST_SECOND);
+ * buf = create_test_buffer (gst_clock_get_time (clock), ...);
+ * gst_assert_cmpint (gst_pad_push (srcpad, buf), ==, GST_FLOW_OK);
+ *
+ * GST_INFO ("Block until element is waiting for a new clock notification\n");
+ * (gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ * GST_INFO ("Advance past 7ms beyond the requested time of the clock notification\n");
+ * gst_test_clock_advance_time (test_clock, latency + 7 * GST_MSECOND);
+ * GST_INFO ("Release the next blocking wait and make sure it is the one from element\n");
+ * processed_id = gst_test_clock_process_next_clock_id (test_clock);
+ * g_assert (processed_id == pending_id);
+ * g_assert_cmpint (GST_CLOCK_ENTRY_STATUS (processed_id), ==, GST_CLOCK_OK);
+ * gst_clock_id_unref (pending_id);
+ * gst_clock_id_unref (processed_id);
+ *
+ * GST_INFO ("Validate that element produced an output buffer and check its timestamp\n");
+ * g_assert_cmpint (get_number_of_output_buffer (...), ==, 1);
+ * buf = get_buffer_pushed_by_element (element, ...);
+ * g_assert_cmpint (GST_BUFFER_TIMESTAMP (buf), ==,
+ * 10 * GST_SECOND + latency + 7 * GST_MSECOND);
+ * gst_buffer_unref (buf);
+ * GST_INFO ("Check that element does not wait for any clock notification\n");
+ * g_assert (gst_test_clock_peek_next_pending_id (test_clock, NULL) == FALSE);
+ * ...
+ * </programlisting>
+ * </example>
+ *
+ * Since #GstTestClock is only supposed to be used in unit tests it calls
+ * g_assert(), g_assert_cmpint() or g_assert_cmpuint() to validate all function
+ * arguments. This will highlight any issues with the unit test code itself.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "gsttestclock.h"
+
+enum
+{
+ PROP_0,
+ PROP_START_TIME
+};
+
+typedef struct _GstClockEntryContext GstClockEntryContext;
+
+struct _GstClockEntryContext
+{
+ GstClockEntry *clock_entry;
+ GstClockTimeDiff time_diff;
+};
+
+struct _GstTestClockPrivate
+{
+ GstClockTime start_time;
+ GstClockTime internal_time;
+ GList *entry_contexts;
+ GCond entry_added_cond;
+ GCond entry_processed_cond;
+};
+
+#define GST_TEST_CLOCK_GET_PRIVATE(obj) ((GST_TEST_CLOCK_CAST (obj))->priv)
+
+GST_DEBUG_CATEGORY_STATIC (test_clock_debug);
+#define GST_CAT_TEST_CLOCK test_clock_debug
+
+#define _do_init \
+G_STMT_START { \
+ GST_DEBUG_CATEGORY_INIT (test_clock_debug, "GST_TEST_CLOCK", \
+ GST_DEBUG_BOLD, "Test clocks for unit tests"); \
+} G_STMT_END
+
+G_DEFINE_TYPE_WITH_CODE (GstTestClock, gst_test_clock,
+ GST_TYPE_CLOCK, _do_init);
+
+static GstObjectClass *parent_class = NULL;
+
+static void gst_test_clock_constructed (GObject * object);
+static void gst_test_clock_dispose (GObject * object);
+static void gst_test_clock_finalize (GObject * object);
+static void gst_test_clock_get_property (GObject * object, guint property_id,
+ GValue * value, GParamSpec * pspec);
+static void gst_test_clock_set_property (GObject * object, guint property_id,
+ const GValue * value, GParamSpec * pspec);
+
+static GstClockTime gst_test_clock_get_resolution (GstClock * clock);
+static GstClockTime gst_test_clock_get_internal_time (GstClock * clock);
+static GstClockReturn gst_test_clock_wait (GstClock * clock,
+ GstClockEntry * entry, GstClockTimeDiff * jitter);
+static GstClockReturn gst_test_clock_wait_async (GstClock * clock,
+ GstClockEntry * entry);
+static void gst_test_clock_unschedule (GstClock * clock, GstClockEntry * entry);
+
+static gboolean gst_test_clock_peek_next_pending_id_unlocked (GstTestClock *
+ test_clock, GstClockID * pending_id);
+static guint gst_test_clock_peek_id_count_unlocked (GstTestClock * test_clock);
+
+static void gst_test_clock_add_entry (GstTestClock * test_clock,
+ GstClockEntry * entry, GstClockTimeDiff * jitter);
+static void gst_test_clock_remove_entry (GstTestClock * test_clock,
+ GstClockEntry * entry);
+static GstClockEntryContext *gst_test_clock_lookup_entry_context (GstTestClock *
+ test_clock, GstClockEntry * clock_entry);
+
+static gint gst_clock_entry_context_compare_func (gconstpointer a,
+ gconstpointer b);
+
+static void
+gst_test_clock_class_init (GstTestClockClass * klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GstClockClass *gstclock_class = GST_CLOCK_CLASS (klass);
+ GParamSpec *pspec;
+
+ parent_class = g_type_class_peek_parent (klass);
+
+ g_type_class_add_private (klass, sizeof (GstTestClockPrivate));
+
+ gobject_class->constructed = GST_DEBUG_FUNCPTR (gst_test_clock_constructed);
+ gobject_class->dispose = GST_DEBUG_FUNCPTR (gst_test_clock_dispose);
+ gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_test_clock_finalize);
+ gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_test_clock_get_property);
+ gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_test_clock_set_property);
+
+ gstclock_class->get_resolution =
+ GST_DEBUG_FUNCPTR (gst_test_clock_get_resolution);
+ gstclock_class->get_internal_time =
+ GST_DEBUG_FUNCPTR (gst_test_clock_get_internal_time);
+ gstclock_class->wait = GST_DEBUG_FUNCPTR (gst_test_clock_wait);
+ gstclock_class->wait_async = GST_DEBUG_FUNCPTR (gst_test_clock_wait_async);
+ gstclock_class->unschedule = GST_DEBUG_FUNCPTR (gst_test_clock_unschedule);
+
+ /**
+ * GstTestClock:start-time
+ *
+ * When a #GstTestClock is constructed it will have a certain start time set.
+ * If the clock was created using gst_test_clock_new_with_start_time() then
+ * this property contains the value of the @start_time argument. If
+ * gst_test_clock_new() was called the clock started at time zero, and thus
+ * this property contains the value 0.
+ */
+ pspec = g_param_spec_uint64 ("start-time", "Start Time",
+ "Start Time of the Clock", 0, G_MAXUINT64, 0,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY);
+ g_object_class_install_property (gobject_class, PROP_START_TIME, pspec);
+}
+
+static void
+gst_test_clock_init (GstTestClock * test_clock)
+{
+ GstTestClockPrivate *priv;
+
+ test_clock->priv = G_TYPE_INSTANCE_GET_PRIVATE (test_clock,
+ GST_TYPE_TEST_CLOCK, GstTestClockPrivate);
+
+ priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ g_cond_init (&priv->entry_added_cond);
+ g_cond_init (&priv->entry_processed_cond);
+
+ GST_OBJECT_FLAG_SET (test_clock,
+ GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC |
+ GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC |
+ GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC |
+ GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC);
+}
+
+static void
+gst_test_clock_constructed (GObject * object)
+{
+ GstTestClock *test_clock = GST_TEST_CLOCK (object);
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ priv->internal_time = priv->start_time;
+
+ G_OBJECT_CLASS (parent_class)->constructed (object);
+}
+
+static void
+gst_test_clock_dispose (GObject * object)
+{
+ GstTestClock *test_clock = GST_TEST_CLOCK (object);
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ GST_OBJECT_LOCK (test_clock);
+
+ while (priv->entry_contexts != NULL) {
+ GstClockEntryContext *ctx = priv->entry_contexts->data;
+ gst_test_clock_remove_entry (test_clock, ctx->clock_entry);
+ }
+
+ GST_OBJECT_UNLOCK (test_clock);
+
+ G_OBJECT_CLASS (parent_class)->dispose (object);
+}
+
+static void
+gst_test_clock_finalize (GObject * object)
+{
+ GstTestClock *test_clock = GST_TEST_CLOCK (object);
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ g_cond_clear (&priv->entry_added_cond);
+ g_cond_clear (&priv->entry_processed_cond);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_test_clock_get_property (GObject * object, guint property_id,
+ GValue * value, GParamSpec * pspec)
+{
+ GstTestClock *test_clock = GST_TEST_CLOCK (object);
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ switch (property_id) {
+ case PROP_START_TIME:
+ g_value_set_uint64 (value, priv->start_time);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static void
+gst_test_clock_set_property (GObject * object, guint property_id,
+ const GValue * value, GParamSpec * pspec)
+{
+ GstTestClock *test_clock = GST_TEST_CLOCK (object);
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ switch (property_id) {
+ case PROP_START_TIME:
+ priv->start_time = g_value_get_uint64 (value);
+ GST_CAT_TRACE_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
+ "test clock start time initialized at %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (priv->start_time));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static GstClockTime
+gst_test_clock_get_resolution (GstClock * clock)
+{
+ return 1;
+}
+
+static GstClockTime
+gst_test_clock_get_internal_time (GstClock * clock)
+{
+ GstTestClock *test_clock = GST_TEST_CLOCK (clock);
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+ GstClockTime result;
+
+ GST_OBJECT_LOCK (test_clock);
+
+ GST_CAT_TRACE_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
+ "retrieving test clock time %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (priv->internal_time));
+ result = priv->internal_time;
+
+ GST_OBJECT_UNLOCK (test_clock);
+
+ return result;
+}
+
+static GstClockReturn
+gst_test_clock_wait (GstClock * clock,
+ GstClockEntry * entry, GstClockTimeDiff * jitter)
+{
+ GstTestClock *test_clock = GST_TEST_CLOCK (clock);
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ GST_OBJECT_LOCK (test_clock);
+
+ GST_CAT_DEBUG_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
+ "requesting synchronous clock notification at %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (GST_CLOCK_ENTRY_TIME (entry)));
+
+ if (gst_test_clock_lookup_entry_context (test_clock, entry) == NULL)
+ gst_test_clock_add_entry (test_clock, entry, jitter);
+
+ GST_CLOCK_ENTRY_STATUS (entry) = GST_CLOCK_BUSY;
+
+ while (GST_CLOCK_ENTRY_STATUS (entry) == GST_CLOCK_BUSY)
+ g_cond_wait (&priv->entry_processed_cond, GST_OBJECT_GET_LOCK (test_clock));
+
+ GST_OBJECT_UNLOCK (test_clock);
+
+ return GST_CLOCK_ENTRY_STATUS (entry);
+}
+
+static GstClockReturn
+gst_test_clock_wait_async (GstClock * clock, GstClockEntry * entry)
+{
+ GstTestClock *test_clock = GST_TEST_CLOCK (clock);
+
+ GST_OBJECT_LOCK (test_clock);
+
+ GST_CAT_DEBUG_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
+ "requesting asynchronous clock notification at %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (GST_CLOCK_ENTRY_TIME (entry)));
+
+ gst_test_clock_add_entry (test_clock, entry, NULL);
+
+ GST_OBJECT_UNLOCK (test_clock);
+
+ return GST_CLOCK_OK;
+}
+
+static void
+gst_test_clock_unschedule (GstClock * clock, GstClockEntry * entry)
+{
+ GstTestClock *test_clock = GST_TEST_CLOCK (clock);
+
+ GST_OBJECT_LOCK (test_clock);
+
+ GST_CAT_DEBUG_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
+ "unscheduling requested clock notification at %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (GST_CLOCK_ENTRY_TIME (entry)));
+
+ GST_CLOCK_ENTRY_STATUS (entry) = GST_CLOCK_UNSCHEDULED;
+ gst_test_clock_remove_entry (test_clock, entry);
+
+ GST_OBJECT_UNLOCK (test_clock);
+}
+
+static gboolean
+gst_test_clock_peek_next_pending_id_unlocked (GstTestClock * test_clock,
+ GstClockID * pending_id)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+ GList *imminent_clock_id = g_list_first (priv->entry_contexts);
+ gboolean result = FALSE;
+
+ if (imminent_clock_id != NULL) {
+ GstClockEntryContext *ctx = imminent_clock_id->data;
+
+ if (pending_id != NULL) {
+ *pending_id = gst_clock_id_ref (ctx->clock_entry);
+ }
+
+ result = TRUE;
+ }
+
+ return result;
+}
+
+static guint
+gst_test_clock_peek_id_count_unlocked (GstTestClock * test_clock)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ return g_list_length (priv->entry_contexts);
+}
+
+static void
+gst_test_clock_add_entry (GstTestClock * test_clock,
+ GstClockEntry * entry, GstClockTimeDiff * jitter)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+ GstClockTime now;
+ GstClockEntryContext *ctx;
+
+ now = gst_clock_adjust_unlocked (GST_CLOCK (test_clock), priv->internal_time);
+
+ if (jitter != NULL)
+ *jitter = GST_CLOCK_DIFF (GST_CLOCK_ENTRY_TIME (entry), now);
+
+ ctx = g_slice_new (GstClockEntryContext);
+ ctx->clock_entry = GST_CLOCK_ENTRY (gst_clock_id_ref (entry));
+ ctx->time_diff = GST_CLOCK_DIFF (now, GST_CLOCK_ENTRY_TIME (entry));
+
+ priv->entry_contexts = g_list_insert_sorted (priv->entry_contexts, ctx,
+ gst_clock_entry_context_compare_func);
+
+ g_cond_broadcast (&priv->entry_added_cond);
+}
+
+static void
+gst_test_clock_remove_entry (GstTestClock * test_clock, GstClockEntry * entry)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+ GstClockEntryContext *ctx;
+
+ ctx = gst_test_clock_lookup_entry_context (test_clock, entry);
+ if (ctx != NULL) {
+ gst_clock_id_unref (ctx->clock_entry);
+ priv->entry_contexts = g_list_remove (priv->entry_contexts, ctx);
+ g_slice_free (GstClockEntryContext, ctx);
+
+ g_cond_broadcast (&priv->entry_processed_cond);
+ }
+}
+
+static GstClockEntryContext *
+gst_test_clock_lookup_entry_context (GstTestClock * test_clock,
+ GstClockEntry * clock_entry)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+ GstClockEntryContext *result = NULL;
+ GList *cur;
+
+ for (cur = priv->entry_contexts; cur != NULL; cur = cur->next) {
+ GstClockEntryContext *ctx = cur->data;
+
+ if (ctx->clock_entry == clock_entry) {
+ result = ctx;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static gint
+gst_clock_entry_context_compare_func (gconstpointer a, gconstpointer b)
+{
+ const GstClockEntryContext *ctx_a = a;
+ const GstClockEntryContext *ctx_b = b;
+
+ return gst_clock_id_compare_func (ctx_a->clock_entry, ctx_b->clock_entry);
+}
+
+/**
+ * gst_test_clock_new:
+ *
+ * Creates a new test clock with its time set to zero.
+ *
+ * MT safe.
+ *
+ * Returns: (transfer full): a #GstTestClock cast to #GstClock.
+ *
+ * Since: 1.2
+ */
+GstClock *
+gst_test_clock_new (void)
+{
+ return gst_test_clock_new_with_start_time (0);
+}
+
+/**
+ * gst_test_clock_new_with_start_time:
+ * @start_time: a #GstClockTime set to the desired start time of the clock.
+ *
+ * Creates a new test clock with its time set to the specified time.
+ *
+ * MT safe.
+ *
+ * Returns: (transfer full): a #GstTestClock cast to #GstClock.
+ *
+ * Since: 1.2
+ */
+GstClock *
+gst_test_clock_new_with_start_time (GstClockTime start_time)
+{
+ g_assert_cmpuint (start_time, !=, GST_CLOCK_TIME_NONE);
+ return g_object_new (GST_TYPE_TEST_CLOCK, "start-time", start_time, NULL);
+}
+
+/**
+ * gst_test_clock_set_time:
+ * @test_clock: a #GstTestClock of which to set the time
+ * @new_time: a #GstClockTime later than that returned by gst_clock_get_time()
+ *
+ * Sets the time of @test_clock to the time given by @new_time. The time of
+ * @test_clock is monotonically increasing, therefore providing a @new_time
+ * which is earlier or equal to the time of the clock as given by
+ * gst_clock_get_time() is a programming error.
+ *
+ * MT safe.
+ *
+ * Since: 1.2
+ */
+void
+gst_test_clock_set_time (GstTestClock * test_clock, GstClockTime new_time)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ g_assert (GST_IS_TEST_CLOCK (test_clock));
+ g_assert_cmpuint (new_time, !=, GST_CLOCK_TIME_NONE);
+
+ GST_OBJECT_LOCK (test_clock);
+
+ g_assert_cmpuint (new_time, >=, priv->internal_time);
+
+ priv->internal_time = new_time;
+ GST_CAT_DEBUG_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
+ "clock set to %" GST_TIME_FORMAT, GST_TIME_ARGS (new_time));
+
+ GST_OBJECT_UNLOCK (test_clock);
+}
+
+/**
+ * gst_test_clock_advance_time:
+ * @test_clock: a #GstTestClock for which to increase the time
+ * @delta: a positive #GstClockTimeDiff to be added to the time of the clock
+ *
+ * Advances the time of the @test_clock by the amount given by @delta. The
+ * time of @test_clock is monotonically increasing, therefore providing a
+ * @delta which is negative or zero is a programming error.
+ *
+ * MT safe.
+ *
+ * Since: 1.2
+ */
+void
+gst_test_clock_advance_time (GstTestClock * test_clock, GstClockTimeDiff delta)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ g_assert (GST_IS_TEST_CLOCK (test_clock));
+ g_assert_cmpint (delta, >=, 0);
+ g_assert_cmpuint (delta, <, G_MAXUINT64 - delta);
+
+ GST_OBJECT_LOCK (test_clock);
+
+ GST_CAT_DEBUG_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
+ "advancing clock by %" GST_TIME_FORMAT " to %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (delta), GST_TIME_ARGS (priv->internal_time + delta));
+ priv->internal_time += delta;
+
+ GST_OBJECT_UNLOCK (test_clock);
+}
+
+/**
+ * gst_test_clock_peek_id_count:
+ * @test_clock: a #GstTestClock for which to count notifications
+ *
+ * Determine the number of pending clock notifications that have been
+ * requested from the @test_clock.
+ *
+ * MT safe.
+ *
+ * Returns: the number of pending clock notifications.
+ *
+ * Since: 1.2
+ */
+guint
+gst_test_clock_peek_id_count (GstTestClock * test_clock)
+{
+ guint result;
+
+ g_assert (GST_IS_TEST_CLOCK (test_clock));
+
+ GST_OBJECT_LOCK (test_clock);
+ result = gst_test_clock_peek_id_count_unlocked (test_clock);
+ GST_OBJECT_UNLOCK (test_clock);
+
+ return result;
+}
+
+/**
+ * gst_test_clock_has_id:
+ * @test_clock: a #GstTestClock to ask if it provided the notification
+ * @id: (transfer none): a #GstClockID clock notification
+ *
+ * Checks whether @test_clock was requested to provide the clock notification
+ * given by @id.
+ *
+ * MT safe.
+ *
+ * Returns: %TRUE if the clock has been asked to provide the given clock
+ * notification, %FALSE otherwise.
+ *
+ * Since: 1.2
+ */
+gboolean
+gst_test_clock_has_id (GstTestClock * test_clock, GstClockID id)
+{
+ gboolean result;
+
+ g_assert (GST_IS_TEST_CLOCK (test_clock));
+ g_assert (id != NULL);
+
+ GST_OBJECT_LOCK (test_clock);
+ result = gst_test_clock_lookup_entry_context (test_clock, id) != NULL;
+ GST_OBJECT_UNLOCK (test_clock);
+
+ return result;
+}
+
+/**
+ * gst_test_clock_peek_next_pending_id:
+ * @test_clock: a #GstTestClock to check the clock notifications for
+ * @pending_id: (allow-none) (out) (transfer full): a #GstClockID clock
+ * notification to look for
+ *
+ * Determines if the @pending_id is the next clock notification scheduled to
+ * be triggered given the current time of the @test_clock.
+ *
+ * MT safe.
+ *
+ * Return: %TRUE if @pending_id is the next clock notification to be
+ * triggered, %FALSE otherwise.
+ *
+ * Since: 1.2
+ */
+gboolean
+gst_test_clock_peek_next_pending_id (GstTestClock * test_clock,
+ GstClockID * pending_id)
+{
+ gboolean result;
+
+ g_assert (GST_IS_TEST_CLOCK (test_clock));
+
+ GST_OBJECT_LOCK (test_clock);
+ result = gst_test_clock_peek_next_pending_id_unlocked (test_clock,
+ pending_id);
+ GST_OBJECT_UNLOCK (test_clock);
+
+ return result;
+}
+
+/**
+ * gst_test_clock_wait_for_next_pending_id:
+ * @test_clock: #GstTestClock for which to get the pending clock notification
+ * @pending_id: (allow-none) (out) (transfer full): #GstClockID
+ * with information about the pending clock notification
+ *
+ * Waits until a clock notification is requested from @test_clock. There is no
+ * timeout for this wait, see the main description of #GstTestClock. A reference
+ * to the pending clock notification is stored in @pending_id.
+ *
+ * MT safe.
+ *
+ * Since: 1.2
+ */
+void
+gst_test_clock_wait_for_next_pending_id (GstTestClock * test_clock,
+ GstClockID * pending_id)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ g_assert (GST_IS_TEST_CLOCK (test_clock));
+
+ GST_OBJECT_LOCK (test_clock);
+
+ while (priv->entry_contexts == NULL)
+ g_cond_wait (&priv->entry_added_cond, GST_OBJECT_GET_LOCK (test_clock));
+
+ g_assert (gst_test_clock_peek_next_pending_id_unlocked (test_clock,
+ pending_id));
+
+ GST_OBJECT_UNLOCK (test_clock);
+}
+
+/**
+ * gst_test_clock_wait_for_pending_id_count:
+ * @test_clock: #GstTestClock for which to await having enough pending clock
+ * @count: the number of pending clock notifications to wait for
+ *
+ * Blocks until at least @count clock notifications have been requested from
+ * @test_clock. There is no timeout for this wait, see the main description of
+ * #GstTestClock.
+ *
+ * MT safe.
+ *
+ * Since: 1.2
+ */
+void
+gst_test_clock_wait_for_pending_id_count (GstTestClock * test_clock,
+ guint count)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+ g_assert (GST_IS_TEST_CLOCK (test_clock));
+
+ GST_OBJECT_LOCK (test_clock);
+
+ while (gst_test_clock_peek_id_count_unlocked (test_clock) < count)
+ g_cond_wait (&priv->entry_added_cond, GST_OBJECT_GET_LOCK (test_clock));
+
+ GST_OBJECT_UNLOCK (test_clock);
+}
+
+/**
+ * gst_test_clock_process_next_clock_id:
+ * @test_clock: a #GstTestClock for which to retrive the next pending clock
+ * notification
+ *
+ * MT safe.
+ *
+ * Returns: (transfer full): a #GstClockID containing the next pending clock
+ * notification.
+ *
+ * Since: 1.2
+ */
+GstClockID
+gst_test_clock_process_next_clock_id (GstTestClock * test_clock)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+ GstClockID result = NULL;
+ GstClockEntryContext *ctx = NULL;
+ GList *cur;
+
+ g_assert (GST_IS_TEST_CLOCK (test_clock));
+
+ GST_OBJECT_LOCK (test_clock);
+
+ for (cur = priv->entry_contexts; cur != NULL && result == NULL;
+ cur = cur->next) {
+ ctx = cur->data;
+
+ if (priv->internal_time >= GST_CLOCK_ENTRY_TIME (ctx->clock_entry))
+ result = gst_clock_id_ref (ctx->clock_entry);
+ }
+
+ if (result != NULL) {
+ GstClockEntry *entry = ctx->clock_entry;
+
+ if (ctx->time_diff >= 0)
+ GST_CLOCK_ENTRY_STATUS (entry) = GST_CLOCK_OK;
+ else
+ GST_CLOCK_ENTRY_STATUS (entry) = GST_CLOCK_EARLY;
+
+ if (entry->func != NULL) {
+ GST_OBJECT_UNLOCK (test_clock);
+ entry->func (GST_CLOCK (test_clock), priv->internal_time, entry,
+ entry->user_data);
+ GST_OBJECT_LOCK (test_clock);
+ }
+
+ gst_test_clock_remove_entry (test_clock, entry);
+
+ if (GST_CLOCK_ENTRY_TYPE (entry) == GST_CLOCK_ENTRY_PERIODIC) {
+ GST_CLOCK_ENTRY_TIME (entry) += GST_CLOCK_ENTRY_INTERVAL (entry);
+
+ if (entry->func != NULL)
+ gst_test_clock_add_entry (test_clock, entry, NULL);
+ }
+ }
+
+ GST_OBJECT_UNLOCK (test_clock);
+
+ return result;
+}
+
+/**
+ * gst_test_clock_get_next_entry_time:
+ * @test_clock: a #GstTestClock to fetch the next clock notification time for
+ *
+ * Retrieve the requested time for the next pending clock notification.
+ *
+ * MT safe.
+ *
+ * Returns: a #GstClockTime set to the time of the next pending clock
+ * notification. If no clock notifications have been requested
+ * %GST_CLOCK_TIME_NONE will be returned.
+ *
+ * Since: 1.2
+ */
+GstClockTime
+gst_test_clock_get_next_entry_time (GstTestClock * test_clock)
+{
+ GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+ GstClockTime result = GST_CLOCK_TIME_NONE;
+ GList *imminent_clock_id;
+
+ g_assert (GST_IS_TEST_CLOCK (test_clock));
+
+ GST_OBJECT_LOCK (test_clock);
+
+ /* The list of pending clock notifications is sorted by time,
+ so the most imminent one is the first one in the list. */
+ imminent_clock_id = g_list_first (priv->entry_contexts);
+ if (imminent_clock_id != NULL) {
+ GstClockEntryContext *ctx = imminent_clock_id->data;
+ result = GST_CLOCK_ENTRY_TIME (ctx->clock_entry);
+ }
+
+ GST_OBJECT_UNLOCK (test_clock);
+
+ return result;
+}
diff --git a/libs/gst/check/gsttestclock.h b/libs/gst/check/gsttestclock.h
new file mode 100644
index 0000000..699e169
--- /dev/null
+++ b/libs/gst/check/gsttestclock.h
@@ -0,0 +1,106 @@
+/* GstTestClock - A deterministic clock for GStreamer unit tests
+ *
+ * Copyright (C) 2008 Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
+ * Copyright (C) 2012 Sebastian Rasmussen <sebastian.rasmussen@axis.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_TEST_CLOCK_H__
+#define __GST_TEST_CLOCK_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_TEST_CLOCK (gst_test_clock_get_type ())
+#define GST_TEST_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GST_TYPE_TEST_CLOCK, GstTestClock))
+#define GST_IS_TEST_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GST_TYPE_TEST_CLOCK))
+#define GST_TEST_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GST_TYPE_TEST_CLOCK, GstTestClockClass))
+#define GST_IS_TEST_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE (\
+ (klass), GST_TYPE_TEST_CLOCK))
+#define GST_TEST_CLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS (\
+ (obj), GST_TYPE_TEST_CLOCK, GstTestClockClass))
+#define GST_TEST_CLOCK_CAST(obj) ((GstTestClock*)(obj))
+
+typedef struct _GstTestClock GstTestClock;
+typedef struct _GstTestClockClass GstTestClockClass;
+typedef struct _GstTestClockPrivate GstTestClockPrivate;
+
+/**
+ * GstTestClock:
+ *
+ * A #GstTestClock structure which is based on a #GstClock along with some
+ * private data.
+ *
+ * Since: 1.2
+ */
+struct _GstTestClock
+{
+ GstClock parent;
+
+ /*< private >*/
+ GstTestClockPrivate *priv;
+};
+
+/**
+ * GstTestClockClass:
+ * @parent_class: the parent class structure
+ *
+ * The class of a #GstTestClock, which has no virtual methods to override.
+ *
+ * Since: 1.2
+ */
+struct _GstTestClockClass
+{
+ GstClockClass parent_class;
+};
+
+GType gst_test_clock_get_type (void);
+
+GstClock * gst_test_clock_new (void);
+
+GstClock * gst_test_clock_new_with_start_time (GstClockTime start_time);
+
+void gst_test_clock_set_time (GstTestClock * test_clock,
+ GstClockTime new_time);
+
+void gst_test_clock_advance_time (GstTestClock * test_clock,
+ GstClockTimeDiff delta);
+
+guint gst_test_clock_peek_id_count (GstTestClock * test_clock);
+
+gboolean gst_test_clock_has_id (GstTestClock * test_clock, GstClockID id);
+
+gboolean gst_test_clock_peek_next_pending_id (GstTestClock * test_clock,
+ GstClockID * pending_id);
+
+void gst_test_clock_wait_for_next_pending_id (GstTestClock * test_clock,
+ GstClockID * pending_id);
+
+void gst_test_clock_wait_for_pending_id_count (GstTestClock * test_clock,
+ guint count);
+
+GstClockID gst_test_clock_process_next_clock_id (GstTestClock * test_clock);
+
+GstClockTime gst_test_clock_get_next_entry_time (GstTestClock * test_clock);
+
+G_END_DECLS
+
+#endif /* __GST_TEST_CLOCK_H__ */
diff --git a/libs/gst/check/libcheck/Makefile.in b/libs/gst/check/libcheck/Makefile.in
index f8b88db..cb3bccc 100644
--- a/libs/gst/check/libcheck/Makefile.in
+++ b/libs/gst/check/libcheck/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,23 +16,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,15 +81,14 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = libs/gst/check/libcheck
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/check.h.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(srcdir)/check.h.in $(top_srcdir)/depcomp $(noinst_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -86,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -117,10 +145,23 @@ libcheckinternal_la_OBJECTS = $(am_libcheckinternal_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
libcheckinternal_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(libcheckinternal_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -133,20 +174,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libcheckinternal_la_SOURCES)
DIST_SOURCES = $(libcheckinternal_la_SOURCES)
am__can_run_installinfo = \
@@ -155,6 +192,23 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -256,15 +310,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -274,11 +324,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -286,6 +334,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -348,6 +397,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -509,12 +559,15 @@ check.h: $(top_builddir)/config.status $(srcdir)/check.h.in
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
libcheckinternal.la: $(libcheckinternal_la_OBJECTS) $(libcheckinternal_la_DEPENDENCIES) $(EXTRA_libcheckinternal_la_DEPENDENCIES)
$(AM_V_CCLD)$(libcheckinternal_la_LINK) $(libcheckinternal_la_OBJECTS) $(libcheckinternal_la_LIBADD) $(LIBS)
@@ -624,26 +677,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -655,15 +697,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -672,6 +710,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -813,18 +866,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/libs/gst/check/libcheck/check.c b/libs/gst/check/libcheck/check.c
index 88e9e10..9aba434 100644
--- a/libs/gst/check/libcheck/check.c
+++ b/libs/gst/check/libcheck/check.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "config.h"
diff --git a/libs/gst/check/libcheck/check.h b/libs/gst/check/libcheck/check.h
index 5b29aca..25dac71 100644
--- a/libs/gst/check/libcheck/check.h
+++ b/libs/gst/check/libcheck/check.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef CHECK_H
diff --git a/libs/gst/check/libcheck/check.h.in b/libs/gst/check/libcheck/check.h.in
index b0edb41..3741ad0 100644
--- a/libs/gst/check/libcheck/check.h.in
+++ b/libs/gst/check/libcheck/check.h.in
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef CHECK_H
diff --git a/libs/gst/check/libcheck/check_error.c b/libs/gst/check/libcheck/check_error.c
index 71add6d..247b9ca 100644
--- a/libs/gst/check/libcheck/check_error.c
+++ b/libs/gst/check/libcheck/check_error.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "config.h"
diff --git a/libs/gst/check/libcheck/check_error.h b/libs/gst/check/libcheck/check_error.h
index 2e1e211..3fa0129 100644
--- a/libs/gst/check/libcheck/check_error.h
+++ b/libs/gst/check/libcheck/check_error.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef ERROR_H
diff --git a/libs/gst/check/libcheck/check_impl.h b/libs/gst/check/libcheck/check_impl.h
index 907950c..c76488e 100644
--- a/libs/gst/check/libcheck/check_impl.h
+++ b/libs/gst/check/libcheck/check_impl.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef CHECK_IMPL_H
diff --git a/libs/gst/check/libcheck/check_list.c b/libs/gst/check/libcheck/check_list.c
index d73a222..c40ab58 100644
--- a/libs/gst/check/libcheck/check_list.c
+++ b/libs/gst/check/libcheck/check_list.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "config.h"
diff --git a/libs/gst/check/libcheck/check_list.h b/libs/gst/check/libcheck/check_list.h
index e40f4f8..7936c19 100644
--- a/libs/gst/check/libcheck/check_list.h
+++ b/libs/gst/check/libcheck/check_list.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef CHECK_LIST_H
diff --git a/libs/gst/check/libcheck/check_log.c b/libs/gst/check/libcheck/check_log.c
index 8a0e3eb..5f0dd97 100644
--- a/libs/gst/check/libcheck/check_log.c
+++ b/libs/gst/check/libcheck/check_log.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "config.h"
diff --git a/libs/gst/check/libcheck/check_log.h b/libs/gst/check/libcheck/check_log.h
index 3ed38ee..84c9b7c 100644
--- a/libs/gst/check/libcheck/check_log.h
+++ b/libs/gst/check/libcheck/check_log.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef CHECK_LOG_H
diff --git a/libs/gst/check/libcheck/check_msg.c b/libs/gst/check/libcheck/check_msg.c
index 6fbff43..ae653ff 100644
--- a/libs/gst/check/libcheck/check_msg.c
+++ b/libs/gst/check/libcheck/check_msg.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "config.h"
diff --git a/libs/gst/check/libcheck/check_msg.h b/libs/gst/check/libcheck/check_msg.h
index c4d7f25..6ddaa3d 100644
--- a/libs/gst/check/libcheck/check_msg.h
+++ b/libs/gst/check/libcheck/check_msg.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef CHECK_MSG_NEW_H
diff --git a/libs/gst/check/libcheck/check_pack.c b/libs/gst/check/libcheck/check_pack.c
index c25dece..c34644a 100644
--- a/libs/gst/check/libcheck/check_pack.c
+++ b/libs/gst/check/libcheck/check_pack.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "config.h"
diff --git a/libs/gst/check/libcheck/check_pack.h b/libs/gst/check/libcheck/check_pack.h
index 0b78695..3b916c9 100644
--- a/libs/gst/check/libcheck/check_pack.h
+++ b/libs/gst/check/libcheck/check_pack.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef CHECK_PACK_H
diff --git a/libs/gst/check/libcheck/check_print.c b/libs/gst/check/libcheck/check_print.c
index d4f7d7a..f170d60 100644
--- a/libs/gst/check/libcheck/check_print.c
+++ b/libs/gst/check/libcheck/check_print.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "config.h"
diff --git a/libs/gst/check/libcheck/check_print.h b/libs/gst/check/libcheck/check_print.h
index f4b02da..18c0f62 100644
--- a/libs/gst/check/libcheck/check_print.h
+++ b/libs/gst/check/libcheck/check_print.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef CHECK_PRINT_H
diff --git a/libs/gst/check/libcheck/check_run.c b/libs/gst/check/libcheck/check_run.c
index 18a36a0..0c7b815 100644
--- a/libs/gst/check/libcheck/check_run.c
+++ b/libs/gst/check/libcheck/check_run.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "config.h"
diff --git a/libs/gst/check/libcheck/check_str.c b/libs/gst/check/libcheck/check_str.c
index a194111..e66073e 100644
--- a/libs/gst/check/libcheck/check_str.c
+++ b/libs/gst/check/libcheck/check_str.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "config.h"
diff --git a/libs/gst/check/libcheck/check_str.h b/libs/gst/check/libcheck/check_str.h
index bd41055..9282a9a 100644
--- a/libs/gst/check/libcheck/check_str.h
+++ b/libs/gst/check/libcheck/check_str.h
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef CHECK_STR_H
diff --git a/libs/gst/controller/Makefile.am b/libs/gst/controller/Makefile.am
index 0cd1e62..3ae4098 100644
--- a/libs/gst/controller/Makefile.am
+++ b/libs/gst/controller/Makefile.am
@@ -2,6 +2,7 @@ lib_LTLIBRARIES = libgstcontroller-@GST_API_VERSION@.la
libgstcontroller_@GST_API_VERSION@_includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/controller
libgstcontroller_@GST_API_VERSION@_include_HEADERS = \
+ controller.h \
gstargbcontrolbinding.h \
gstdirectcontrolbinding.h \
gsttimedvaluecontrolsource.h \
@@ -45,11 +46,10 @@ BUILT_GIRSOURCES = GstController-@GST_API_VERSION@.gir
gir_headers=$(patsubst %,$(srcdir)/%, $(libgstcontroller_@GST_API_VERSION@_include_HEADERS))
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstcontroller_@GST_API_VERSION@_la_SOURCES))
-gir_cincludes=$(patsubst %,--c-include='gst/controller/%',$(libgstcontroller_@GST_API_VERSION@_include_HEADERS))
GstController-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstcontroller-@GST_API_VERSION@.la
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
- GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+ GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
$(INTROSPECTION_SCANNER) -v --namespace GstController \
--nsversion=@GST_API_VERSION@ \
--warn-all \
@@ -58,10 +58,9 @@ GstController-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstcontroller-@
-I$(top_srcdir)/libs \
-I$(top_builddir) \
-I$(top_builddir)/libs \
- $(gir_cincludes) \
+ --c-include "gst/controller/controller.h" \
--add-include-path=$(top_builddir)/gst \
--library-path=$(top_builddir)/gst \
- --library=$(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
--library=libgstcontroller-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
--libtool="$(top_builddir)/libtool" \
diff --git a/libs/gst/controller/Makefile.in b/libs/gst/controller/Makefile.in
index 7fe1476..72dae4a 100644
--- a/libs/gst/controller/Makefile.in
+++ b/libs/gst/controller/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,23 +17,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -56,15 +83,15 @@ host_triplet = @host@
target_triplet = @target@
@HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
subdir = libs/gst/controller
-DIST_COMMON = $(libgstcontroller_@GST_API_VERSION@_include_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp \
+ $(libgstcontroller_@GST_API_VERSION@_include_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -88,12 +115,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -145,11 +174,24 @@ libgstcontroller_@GST_API_VERSION@_la_OBJECTS = \
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
libgstcontroller_@GST_API_VERSION@_la_LINK = $(LIBTOOL) $(AM_V_lt) \
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(CCLD) $(libgstcontroller_@GST_API_VERSION@_la_CFLAGS) \
$(CFLAGS) $(libgstcontroller_@GST_API_VERSION@_la_LDFLAGS) \
$(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -162,20 +204,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libgstcontroller_@GST_API_VERSION@_la_SOURCES)
DIST_SOURCES = $(libgstcontroller_@GST_API_VERSION@_la_SOURCES)
am__can_run_installinfo = \
@@ -185,8 +223,7 @@ am__can_run_installinfo = \
esac
DATA = $(gir_DATA) $(typelibs_DATA)
HEADERS = $(libgstcontroller_@GST_API_VERSION@_include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -286,15 +323,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -304,11 +337,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -316,6 +347,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -378,6 +410,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -471,6 +504,7 @@ top_srcdir = @top_srcdir@
lib_LTLIBRARIES = libgstcontroller-@GST_API_VERSION@.la
libgstcontroller_@GST_API_VERSION@_includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/controller
libgstcontroller_@GST_API_VERSION@_include_HEADERS = \
+ controller.h \
gstargbcontrolbinding.h \
gstdirectcontrolbinding.h \
gsttimedvaluecontrolsource.h \
@@ -493,7 +527,6 @@ CLEANFILES = *.gcno *.gcda *.gcov $(am__append_1)
@HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstController-@GST_API_VERSION@.gir
@HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, $(libgstcontroller_@GST_API_VERSION@_include_HEADERS))
@HAVE_INTROSPECTION_TRUE@gir_sources = $(patsubst %,$(srcdir)/%, $(libgstcontroller_@GST_API_VERSION@_la_SOURCES))
-@HAVE_INTROSPECTION_TRUE@gir_cincludes = $(patsubst %,--c-include='gst/controller/%',$(libgstcontroller_@GST_API_VERSION@_include_HEADERS))
# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
# install anything - we need to install inside our prefix.
@@ -535,6 +568,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
@@ -561,12 +595,15 @@ uninstall-libLTLIBRARIES:
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
libgstcontroller-@GST_API_VERSION@.la: $(libgstcontroller_@GST_API_VERSION@_la_OBJECTS) $(libgstcontroller_@GST_API_VERSION@_la_DEPENDENCIES) $(EXTRA_libgstcontroller_@GST_API_VERSION@_la_DEPENDENCIES)
$(AM_V_CCLD)$(libgstcontroller_@GST_API_VERSION@_la_LINK) -rpath $(libdir) $(libgstcontroller_@GST_API_VERSION@_la_OBJECTS) $(libgstcontroller_@GST_API_VERSION@_la_LIBADD) $(LIBS)
@@ -714,58 +751,12 @@ uninstall-libgstcontroller_@GST_API_VERSION@_includeHEADERS:
@list='$(libgstcontroller_@GST_API_VERSION@_include_HEADERS)'; test -n "$(libgstcontroller_@GST_API_VERSION@_includedir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(libgstcontroller_@GST_API_VERSION@_includedir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -843,8 +834,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
+distclean-am: clean-am distclean-compile distclean-generic
dvi: dvi-am
@@ -912,10 +902,10 @@ uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
+.PHONY: all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool cscopelist-am ctags-am \
+ distclean distclean-compile distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-girDATA \
install-html install-html-am install-info install-info-am \
@@ -926,7 +916,7 @@ uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-girDATA \
+ tags-am uninstall uninstall-am uninstall-girDATA \
uninstall-libLTLIBRARIES \
uninstall-libgstcontroller_@GST_API_VERSION@_includeHEADERS \
uninstall-typelibsDATA
@@ -951,7 +941,7 @@ Android.mk: Makefile.am
@HAVE_INTROSPECTION_TRUE@GstController-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstcontroller-@GST_API_VERSION@.la
@HAVE_INTROSPECTION_TRUE@ $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
-@HAVE_INTROSPECTION_TRUE@ GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@ GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
@HAVE_INTROSPECTION_TRUE@ $(INTROSPECTION_SCANNER) -v --namespace GstController \
@HAVE_INTROSPECTION_TRUE@ --nsversion=@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --warn-all \
@@ -960,10 +950,9 @@ Android.mk: Makefile.am
@HAVE_INTROSPECTION_TRUE@ -I$(top_srcdir)/libs \
@HAVE_INTROSPECTION_TRUE@ -I$(top_builddir) \
@HAVE_INTROSPECTION_TRUE@ -I$(top_builddir)/libs \
-@HAVE_INTROSPECTION_TRUE@ $(gir_cincludes) \
+@HAVE_INTROSPECTION_TRUE@ --c-include "gst/controller/controller.h" \
@HAVE_INTROSPECTION_TRUE@ --add-include-path=$(top_builddir)/gst \
@HAVE_INTROSPECTION_TRUE@ --library-path=$(top_builddir)/gst \
-@HAVE_INTROSPECTION_TRUE@ --library=$(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
@HAVE_INTROSPECTION_TRUE@ --library=libgstcontroller-@GST_API_VERSION@.la \
@HAVE_INTROSPECTION_TRUE@ --include=Gst-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --libtool="$(top_builddir)/libtool" \
diff --git a/libs/gst/controller/controller.h b/libs/gst/controller/controller.h
new file mode 100644
index 0000000..c9eb4f8
--- /dev/null
+++ b/libs/gst/controller/controller.h
@@ -0,0 +1,32 @@
+/* GStreamer
+ * Copyright (C) 2012 GStreamer developers
+ *
+ * gstcontroller.h: single include header for gst-controller library
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_CONTROLLER_H__
+#define __GST_CONTROLLER_H__
+
+#include <gst/controller/gstargbcontrolbinding.h>
+#include <gst/controller/gstdirectcontrolbinding.h>
+#include <gst/controller/gsttimedvaluecontrolsource.h>
+#include <gst/controller/gstinterpolationcontrolsource.h>
+#include <gst/controller/gsttriggercontrolsource.h>
+#include <gst/controller/gstlfocontrolsource.h>
+
+#endif /* __GST_CONTROLLER_H__ */
diff --git a/libs/gst/controller/gstargbcontrolbinding.c b/libs/gst/controller/gstargbcontrolbinding.c
index be0e5ed..10506ee 100644
--- a/libs/gst/controller/gstargbcontrolbinding.c
+++ b/libs/gst/controller/gstargbcontrolbinding.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstargbcontrolbinding
@@ -104,26 +104,22 @@ gst_argb_control_binding_class_init (GstARGBControlBindingClass * klass)
properties[PROP_CS_A] =
g_param_spec_object ("control-source-a", "ControlSource A",
"The control source for the alpha color component",
- GST_TYPE_CONTROL_SOURCE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+ GST_TYPE_CONTROL_SOURCE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
properties[PROP_CS_R] =
g_param_spec_object ("control-source-r", "ControlSource R",
"The control source for the red color component",
- GST_TYPE_CONTROL_SOURCE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+ GST_TYPE_CONTROL_SOURCE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
properties[PROP_CS_G] =
g_param_spec_object ("control-source-g", "ControlSource G",
"The control source for the green color component",
- GST_TYPE_CONTROL_SOURCE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+ GST_TYPE_CONTROL_SOURCE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
properties[PROP_CS_B] =
g_param_spec_object ("control-source-b", "ControlSource B",
"The control source for the blue color component",
- GST_TYPE_CONTROL_SOURCE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+ GST_TYPE_CONTROL_SOURCE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (gobject_class, PROP_LAST, properties);
}
@@ -164,16 +160,20 @@ gst_argb_control_binding_set_property (GObject * object, guint prop_id,
switch (prop_id) {
case PROP_CS_A:
- self->cs_a = g_value_dup_object (value);
+ gst_object_replace ((GstObject **) & self->cs_a,
+ g_value_dup_object (value));
break;
case PROP_CS_R:
- self->cs_r = g_value_dup_object (value);
+ gst_object_replace ((GstObject **) & self->cs_r,
+ g_value_dup_object (value));
break;
case PROP_CS_G:
- self->cs_r = g_value_dup_object (value);
+ gst_object_replace ((GstObject **) & self->cs_g,
+ g_value_dup_object (value));
break;
case PROP_CS_B:
- self->cs_g = g_value_dup_object (value);
+ gst_object_replace ((GstObject **) & self->cs_b,
+ g_value_dup_object (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -211,14 +211,10 @@ gst_argb_control_binding_dispose (GObject * object)
{
GstARGBControlBinding *self = GST_ARGB_CONTROL_BINDING (object);
- if (self->cs_a)
- gst_object_replace ((GstObject **) & self->cs_a, NULL);
- if (self->cs_r)
- gst_object_replace ((GstObject **) & self->cs_r, NULL);
- if (self->cs_g)
- gst_object_replace ((GstObject **) & self->cs_g, NULL);
- if (self->cs_b)
- gst_object_replace ((GstObject **) & self->cs_b, NULL);
+ gst_object_replace ((GstObject **) & self->cs_a, NULL);
+ gst_object_replace ((GstObject **) & self->cs_r, NULL);
+ gst_object_replace ((GstObject **) & self->cs_g, NULL);
+ gst_object_replace ((GstObject **) & self->cs_b, NULL);
G_OBJECT_CLASS (parent_class)->dispose (object);
}
diff --git a/libs/gst/controller/gstargbcontrolbinding.h b/libs/gst/controller/gstargbcontrolbinding.h
index 26bfc6d..6b51197 100644
--- a/libs/gst/controller/gstargbcontrolbinding.h
+++ b/libs/gst/controller/gstargbcontrolbinding.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_ARGB_CONTROL_BINDING_H__
diff --git a/libs/gst/controller/gstdirectcontrolbinding.c b/libs/gst/controller/gstdirectcontrolbinding.c
index 14f730e..b7d06bc 100644
--- a/libs/gst/controller/gstdirectcontrolbinding.c
+++ b/libs/gst/controller/gstdirectcontrolbinding.c
@@ -16,18 +16,18 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstdirectcontrolbinding
* @short_description: direct attachment for control sources
*
* A value mapping object that attaches control sources to gobject properties. It
- * will map the control values [0.0 ... 1.0] to the target property range.
+ * will map the control values [0.0 ... 1.0] to the target property range. If a
+ * control value is outside of the range, it will be clipped.
*/
-
#include <glib-object.h>
#include <gst/gst.h>
@@ -177,8 +177,7 @@ gst_direct_control_binding_class_init (GstDirectControlBindingClass * klass)
properties[PROP_CS] =
g_param_spec_object ("control-source", "ControlSource",
"The control source",
- GST_TYPE_CONTROL_SOURCE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+ GST_TYPE_CONTROL_SOURCE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (gobject_class, PROP_LAST, properties);
}
diff --git a/libs/gst/controller/gstdirectcontrolbinding.h b/libs/gst/controller/gstdirectcontrolbinding.h
index 24ece6d..597e5b0 100644
--- a/libs/gst/controller/gstdirectcontrolbinding.h
+++ b/libs/gst/controller/gstdirectcontrolbinding.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_DIRECT_CONTROL_BINDING_H__
diff --git a/libs/gst/controller/gstinterpolationcontrolsource.c b/libs/gst/controller/gstinterpolationcontrolsource.c
index d184f7d..0aea6cd 100644
--- a/libs/gst/controller/gstinterpolationcontrolsource.c
+++ b/libs/gst/controller/gstinterpolationcontrolsource.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/libs/gst/controller/gstinterpolationcontrolsource.h b/libs/gst/controller/gstinterpolationcontrolsource.h
index daf17bd..f4b2fbf 100644
--- a/libs/gst/controller/gstinterpolationcontrolsource.h
+++ b/libs/gst/controller/gstinterpolationcontrolsource.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_INTERPOLATION_CONTROL_SOURCE_H__
diff --git a/libs/gst/controller/gstlfocontrolsource.c b/libs/gst/controller/gstlfocontrolsource.c
index 20ee0fd..df7a439 100644
--- a/libs/gst/controller/gstlfocontrolsource.c
+++ b/libs/gst/controller/gstlfocontrolsource.c
@@ -17,25 +17,26 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstlfocontrolsource
* @short_description: LFO control source
*
- * #GstLFOControlSource is a #GstControlSource, that provides several periodic waveforms
- * as control values. It supports all fundamental, numeric GValue types as property.
+ * #GstLFOControlSource is a #GstControlSource, that provides several periodic
+ * waveforms as control values.
*
- * To use #GstLFOControlSource get a new instance by calling gst_lfo_control_source_new(),
- * bind it to a #GParamSpec and set the relevant properties or use
- * gst_lfo_control_source_set_waveform.
+ * To use #GstLFOControlSource get a new instance by calling
+ * gst_lfo_control_source_new(), bind it to a #GParamSpec and set the relevant
+ * properties.
*
* All functions are MT-safe.
- *
*/
+#include <float.h>
+
#include <glib-object.h>
#include <gst/gst.h>
#include <gst/gstcontrolsource.h>
@@ -453,6 +454,7 @@ gst_lfo_control_source_init (GstLFOControlSource * self)
self->priv->waveform = gst_lfo_control_source_set_waveform (self,
GST_LFO_WAVEFORM_SINE);
self->priv->frequency = 1.0;
+ self->priv->amplitude = 1.0;
self->priv->period = GST_SECOND / self->priv->frequency;
self->priv->timeshift = 0;
@@ -486,8 +488,7 @@ gst_lfo_control_source_set_property (GObject * object, guint prop_id,
case PROP_FREQUENCY:{
gdouble frequency = g_value_get_double (value);
- g_return_if_fail (frequency > 0
- || ((GstClockTime) (GST_SECOND / frequency)) != 0);
+ g_return_if_fail (((GstClockTime) (GST_SECOND / frequency)) != 0);
g_mutex_lock (&self->lock);
self->priv->frequency = frequency;
@@ -574,7 +575,7 @@ gst_lfo_control_source_class_init (GstLFOControlSourceClass * klass)
*/
g_object_class_install_property (gobject_class, PROP_FREQUENCY,
g_param_spec_double ("frequency", "Frequency",
- "Frequency of the waveform", 0.0, G_MAXDOUBLE, 1.0,
+ "Frequency of the waveform", DBL_MIN, G_MAXDOUBLE, 1.0,
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
/**
diff --git a/libs/gst/controller/gstlfocontrolsource.h b/libs/gst/controller/gstlfocontrolsource.h
index 2ce6d84..337ab53 100644
--- a/libs/gst/controller/gstlfocontrolsource.h
+++ b/libs/gst/controller/gstlfocontrolsource.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_LFO_CONTROL_SOURCE_H__
diff --git a/libs/gst/controller/gsttimedvaluecontrolsource.c b/libs/gst/controller/gsttimedvaluecontrolsource.c
index bdd41b5..19cb927 100644
--- a/libs/gst/controller/gsttimedvaluecontrolsource.c
+++ b/libs/gst/controller/gsttimedvaluecontrolsource.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -105,12 +105,13 @@ gst_control_point_compare (gconstpointer p1, gconstpointer p2)
* gst_control_point_find:
* @p1: a pointer to a #GstControlPoint
* @p2: a pointer to a #GstClockTime
+ * @user_data: supplied user data
*
- * Compare function for g_list operations that operates on a #GstControlPoint and
+ * Compare function for g_sequence operations that operates on a #GstControlPoint and
* a #GstClockTime.
*/
static gint
-gst_control_point_find (gconstpointer p1, gconstpointer p2)
+gst_control_point_find (gconstpointer p1, gconstpointer p2, gpointer user_data)
{
GstClockTime ct1 = ((GstControlPoint *) p1)->timestamp;
GstClockTime ct2 = *(GstClockTime *) p2;
diff --git a/libs/gst/controller/gsttimedvaluecontrolsource.h b/libs/gst/controller/gsttimedvaluecontrolsource.h
index 06577cb..aea2a44 100644
--- a/libs/gst/controller/gsttimedvaluecontrolsource.h
+++ b/libs/gst/controller/gsttimedvaluecontrolsource.h
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_TIMED_VALUE_CONTROL_SOURCE_H__
diff --git a/libs/gst/controller/gsttriggercontrolsource.c b/libs/gst/controller/gsttriggercontrolsource.c
index 94636be..64d99d4 100644
--- a/libs/gst/controller/gsttriggercontrolsource.c
+++ b/libs/gst/controller/gsttriggercontrolsource.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -68,7 +68,7 @@ _interpolate_trigger (GstTimedValueControlSource * self, GSequenceIter * iter,
if (GST_CLOCK_DIFF (cp->timestamp, timestamp) <= tolerance) {
found = TRUE;
} else {
- if ((iter = g_sequence_iter_next (iter))) {
+ if ((iter = g_sequence_iter_next (iter)) && !g_sequence_iter_is_end (iter)) {
cp = g_sequence_get (iter);
if (GST_CLOCK_DIFF (timestamp, cp->timestamp) <= tolerance) {
found = TRUE;
diff --git a/libs/gst/controller/gsttriggercontrolsource.h b/libs/gst/controller/gsttriggercontrolsource.h
index 1f1f132..16e3ac9 100644
--- a/libs/gst/controller/gsttriggercontrolsource.h
+++ b/libs/gst/controller/gsttriggercontrolsource.h
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/libs/gst/helpers/Makefile.in b/libs/gst/helpers/Makefile.in
index 7a4b757..f55da45 100644
--- a/libs/gst/helpers/Makefile.in
+++ b/libs/gst/helpers/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,14 +81,14 @@ host_triplet = @host@
target_triplet = @target@
helpers_PROGRAMS = gst-plugin-scanner$(EXEEXT)
subdir = libs/gst/helpers
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -85,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -107,10 +136,23 @@ gst_plugin_scanner_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
gst_plugin_scanner_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(gst_plugin_scanner_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -123,20 +165,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(gst_plugin_scanner_SOURCES)
DIST_SOURCES = $(gst_plugin_scanner_SOURCES)
am__can_run_installinfo = \
@@ -144,6 +182,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -245,15 +300,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -263,11 +314,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -275,6 +324,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -337,6 +387,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -478,10 +529,12 @@ install-helpersPROGRAMS: $(helpers_PROGRAMS)
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -502,7 +555,8 @@ uninstall-helpersPROGRAMS:
@list='$(helpers_PROGRAMS)'; test -n "$(helpersdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(helpersdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(helpersdir)" && rm -f $$files
@@ -515,6 +569,7 @@ clean-helpersPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
gst-plugin-scanner$(EXEEXT): $(gst_plugin_scanner_OBJECTS) $(gst_plugin_scanner_DEPENDENCIES) $(EXTRA_gst_plugin_scanner_DEPENDENCIES)
@rm -f gst-plugin-scanner$(EXEEXT)
$(AM_V_CCLD)$(gst_plugin_scanner_LINK) $(gst_plugin_scanner_OBJECTS) $(gst_plugin_scanner_LDADD) $(LIBS)
@@ -568,26 +623,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -599,15 +643,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -616,6 +656,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -761,19 +816,20 @@ uninstall-am: uninstall-helpersPROGRAMS
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-helpersPROGRAMS clean-libtool ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am \
- install-helpersPROGRAMS install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-helpersPROGRAMS
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-helpersPROGRAMS clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-helpersPROGRAMS install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-helpersPROGRAMS
Android.mk: Makefile.am
diff --git a/libs/gst/helpers/gst-plugin-scanner.c b/libs/gst/helpers/gst-plugin-scanner.c
index 09cb852..b5b3980 100644
--- a/libs/gst/helpers/gst-plugin-scanner.c
+++ b/libs/gst/helpers/gst-plugin-scanner.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*
* Helper binary that does plugin-loading out of process and feeds results
* back to the parent over fds.
diff --git a/libs/gst/net/Makefile.am b/libs/gst/net/Makefile.am
index a75742d..dbd342b 100644
--- a/libs/gst/net/Makefile.am
+++ b/libs/gst/net/Makefile.am
@@ -2,6 +2,7 @@ lib_LTLIBRARIES = libgstnet-@GST_API_VERSION@.la
libgstnet_@GST_API_VERSION@_includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/net
libgstnet_@GST_API_VERSION@_include_HEADERS = \
+ net.h \
gstnet.h \
gstnetaddressmeta.h \
gstnetclientclock.h \
@@ -43,11 +44,11 @@ BUILT_GIRSOURCES = GstNet-@GST_API_VERSION@.gir
gir_headers=$(patsubst %,$(srcdir)/%, $(libgstnet_@GST_API_VERSION@_include_HEADERS))
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstnet_@GST_API_VERSION@_la_SOURCES))
-gir_cincludes=--c-include="gst/net/gstnet.h"
+gir_cincludes=--c-include="gst/net/net.h"
GstNet-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstnet-@GST_API_VERSION@.la
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
- GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+ GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
$(INTROSPECTION_SCANNER) -v --namespace GstNet \
--strip-prefix=Gst \
--warn-all \
@@ -59,7 +60,6 @@ GstNet-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstnet-@GST_API_VERSIO
$(gir_cincludes) \
--add-include-path=$(top_builddir)/gst \
--library-path=$(top_builddir)/gst \
- --library=$(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
--library=libgstnet-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
--include=Gio-2.0 \
diff --git a/libs/gst/net/Makefile.in b/libs/gst/net/Makefile.in
index 7ba59fe..7083f0d 100644
--- a/libs/gst/net/Makefile.in
+++ b/libs/gst/net/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,23 +17,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -56,15 +83,15 @@ host_triplet = @host@
target_triplet = @target@
@HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
subdir = libs/gst/net
-DIST_COMMON = $(libgstnet_@GST_API_VERSION@_include_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp \
+ $(libgstnet_@GST_API_VERSION@_include_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -88,12 +115,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -144,10 +173,23 @@ libgstnet_@GST_API_VERSION@_la_OBJECTS = \
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
libgstnet_@GST_API_VERSION@_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(libgstnet_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) \
$(libgstnet_@GST_API_VERSION@_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -160,20 +202,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libgstnet_@GST_API_VERSION@_la_SOURCES)
DIST_SOURCES = $(libgstnet_@GST_API_VERSION@_la_SOURCES)
am__can_run_installinfo = \
@@ -183,8 +221,7 @@ am__can_run_installinfo = \
esac
DATA = $(gir_DATA) $(typelibs_DATA)
HEADERS = $(libgstnet_@GST_API_VERSION@_include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -284,15 +321,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -302,11 +335,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -314,6 +345,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -376,6 +408,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -469,6 +502,7 @@ top_srcdir = @top_srcdir@
lib_LTLIBRARIES = libgstnet-@GST_API_VERSION@.la
libgstnet_@GST_API_VERSION@_includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/net
libgstnet_@GST_API_VERSION@_include_HEADERS = \
+ net.h \
gstnet.h \
gstnetaddressmeta.h \
gstnetclientclock.h \
@@ -488,7 +522,7 @@ CLEANFILES = *.gcno *.gcda *.gcov $(am__append_1)
@HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstNet-@GST_API_VERSION@.gir
@HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, $(libgstnet_@GST_API_VERSION@_include_HEADERS))
@HAVE_INTROSPECTION_TRUE@gir_sources = $(patsubst %,$(srcdir)/%, $(libgstnet_@GST_API_VERSION@_la_SOURCES))
-@HAVE_INTROSPECTION_TRUE@gir_cincludes = --c-include="gst/net/gstnet.h"
+@HAVE_INTROSPECTION_TRUE@gir_cincludes = --c-include="gst/net/net.h"
# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
# install anything - we need to install inside our prefix.
@@ -530,6 +564,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
@@ -556,12 +591,15 @@ uninstall-libLTLIBRARIES:
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
libgstnet-@GST_API_VERSION@.la: $(libgstnet_@GST_API_VERSION@_la_OBJECTS) $(libgstnet_@GST_API_VERSION@_la_DEPENDENCIES) $(EXTRA_libgstnet_@GST_API_VERSION@_la_DEPENDENCIES)
$(AM_V_CCLD)$(libgstnet_@GST_API_VERSION@_la_LINK) -rpath $(libdir) $(libgstnet_@GST_API_VERSION@_la_OBJECTS) $(libgstnet_@GST_API_VERSION@_la_LIBADD) $(LIBS)
@@ -693,58 +731,12 @@ uninstall-libgstnet_@GST_API_VERSION@_includeHEADERS:
@list='$(libgstnet_@GST_API_VERSION@_include_HEADERS)'; test -n "$(libgstnet_@GST_API_VERSION@_includedir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(libgstnet_@GST_API_VERSION@_includedir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -822,8 +814,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
+distclean-am: clean-am distclean-compile distclean-generic
dvi: dvi-am
@@ -891,10 +882,10 @@ uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
+.PHONY: all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool cscopelist-am ctags-am \
+ distclean distclean-compile distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-girDATA \
install-html install-html-am install-info install-info-am \
@@ -905,7 +896,7 @@ uninstall-am: uninstall-girDATA uninstall-libLTLIBRARIES \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-girDATA \
+ tags-am uninstall uninstall-am uninstall-girDATA \
uninstall-libLTLIBRARIES \
uninstall-libgstnet_@GST_API_VERSION@_includeHEADERS \
uninstall-typelibsDATA
@@ -930,7 +921,7 @@ Android.mk: Makefile.am
@HAVE_INTROSPECTION_TRUE@GstNet-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstnet-@GST_API_VERSION@.la
@HAVE_INTROSPECTION_TRUE@ $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
-@HAVE_INTROSPECTION_TRUE@ GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@ GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
@HAVE_INTROSPECTION_TRUE@ $(INTROSPECTION_SCANNER) -v --namespace GstNet \
@HAVE_INTROSPECTION_TRUE@ --strip-prefix=Gst \
@HAVE_INTROSPECTION_TRUE@ --warn-all \
@@ -942,7 +933,6 @@ Android.mk: Makefile.am
@HAVE_INTROSPECTION_TRUE@ $(gir_cincludes) \
@HAVE_INTROSPECTION_TRUE@ --add-include-path=$(top_builddir)/gst \
@HAVE_INTROSPECTION_TRUE@ --library-path=$(top_builddir)/gst \
-@HAVE_INTROSPECTION_TRUE@ --library=$(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la \
@HAVE_INTROSPECTION_TRUE@ --library=libgstnet-@GST_API_VERSION@.la \
@HAVE_INTROSPECTION_TRUE@ --include=Gst-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --include=Gio-2.0 \
diff --git a/libs/gst/net/gstnet.h b/libs/gst/net/gstnet.h
index 078cad5..96cc8b8 100644
--- a/libs/gst/net/gstnet.h
+++ b/libs/gst/net/gstnet.h
@@ -13,18 +13,17 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_NET_H__
#define __GST_NET_H__
-
+#include <gst/net/gstnetaddressmeta.h>
#include <gst/net/gstnetclientclock.h>
#include <gst/net/gstnettimepacket.h>
#include <gst/net/gstnettimeprovider.h>
-
#endif /* __GST_NET_H__ */
diff --git a/libs/gst/net/gstnetaddressmeta.c b/libs/gst/net/gstnetaddressmeta.c
index 5b87afe..118a685 100644
--- a/libs/gst/net/gstnetaddressmeta.c
+++ b/libs/gst/net/gstnetaddressmeta.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/libs/gst/net/gstnetaddressmeta.h b/libs/gst/net/gstnetaddressmeta.h
index 0173d87..feb64d8 100644
--- a/libs/gst/net/gstnetaddressmeta.h
+++ b/libs/gst/net/gstnetaddressmeta.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_NET_ADDRESS_META_H__
diff --git a/libs/gst/net/gstnetclientclock.c b/libs/gst/net/gstnetclientclock.c
index 47e0f0b..7d9843f 100644
--- a/libs/gst/net/gstnetclientclock.c
+++ b/libs/gst/net/gstnetclientclock.c
@@ -19,8 +19,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstnetclientclock
@@ -350,18 +350,34 @@ gst_net_client_clock_start (GstNetClientClock * self)
GInetAddress *inetaddr;
GSocket *socket;
GError *error = NULL;
+ GSocketFamily family;
g_return_val_if_fail (self->priv->address != NULL, FALSE);
g_return_val_if_fail (self->priv->servaddr == NULL, FALSE);
- socket = g_socket_new (G_SOCKET_FAMILY_IPV4, G_SOCKET_TYPE_DATAGRAM,
+ /* create target address */
+ inetaddr = g_inet_address_new_from_string (self->priv->address);
+ if (inetaddr == NULL)
+ goto bad_address;
+
+ family = g_inet_address_get_family (inetaddr);
+
+ servaddr = g_inet_socket_address_new (inetaddr, self->priv->port);
+ g_object_unref (inetaddr);
+
+ g_assert (servaddr != NULL);
+
+ GST_DEBUG_OBJECT (self, "will communicate with %s:%d", self->priv->address,
+ self->priv->port);
+
+ socket = g_socket_new (family, G_SOCKET_TYPE_DATAGRAM,
G_SOCKET_PROTOCOL_UDP, &error);
if (socket == NULL)
goto no_socket;
GST_DEBUG_OBJECT (self, "binding socket");
- inetaddr = g_inet_address_new_any (G_SOCKET_FAMILY_IPV4);
+ inetaddr = g_inet_address_new_any (family);
anyaddr = g_inet_socket_address_new (inetaddr, 0);
g_socket_bind (socket, anyaddr, TRUE, &error);
g_object_unref (anyaddr);
@@ -381,20 +397,6 @@ gst_net_client_clock_start (GstNetClientClock * self)
g_object_unref (myaddr);
- /* create target address */
- inetaddr = g_inet_address_new_from_string (self->priv->address);
-
- if (inetaddr == NULL)
- goto bad_address;
-
- servaddr = g_inet_socket_address_new (inetaddr, self->priv->port);
- g_object_unref (inetaddr);
-
- g_assert (servaddr != NULL);
-
- GST_DEBUG_OBJECT (self, "will communicate with %s:%d", self->priv->address,
- self->priv->port);
-
self->priv->cancel = g_cancellable_new ();
self->priv->socket = socket;
self->priv->servaddr = G_SOCKET_ADDRESS (servaddr);
@@ -432,7 +434,6 @@ bad_address:
{
GST_ERROR_OBJECT (self, "inet_address_new_from_string('%s') failed",
self->priv->address);
- g_object_unref (socket);
return FALSE;
}
no_thread:
diff --git a/libs/gst/net/gstnetclientclock.h b/libs/gst/net/gstnetclientclock.h
index a0fcf1f..8e59807 100644
--- a/libs/gst/net/gstnetclientclock.h
+++ b/libs/gst/net/gstnetclientclock.h
@@ -19,8 +19,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/libs/gst/net/gstnettimepacket.c b/libs/gst/net/gstnettimepacket.c
index 6d18ab6..f6b3bef 100644
--- a/libs/gst/net/gstnettimepacket.c
+++ b/libs/gst/net/gstnettimepacket.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstnettimepacket
diff --git a/libs/gst/net/gstnettimepacket.h b/libs/gst/net/gstnettimepacket.h
index 8839596..3f82264 100644
--- a/libs/gst/net/gstnettimepacket.h
+++ b/libs/gst/net/gstnettimepacket.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/libs/gst/net/gstnettimeprovider.c b/libs/gst/net/gstnettimeprovider.c
index f008c00..a31171d 100644
--- a/libs/gst/net/gstnettimeprovider.c
+++ b/libs/gst/net/gstnettimeprovider.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstnettimeprovider
@@ -280,6 +280,7 @@ gst_net_time_provider_start (GstNetTimeProvider * self)
GSocket *socket;
GError *err = NULL;
int port;
+ gchar *address;
if (self->priv->address) {
inet_addr = g_inet_address_new_from_string (self->priv->address);
@@ -307,14 +308,25 @@ gst_net_time_provider_start (GstNetTimeProvider * self)
bound_addr = g_socket_get_local_address (socket, NULL);
port = g_inet_socket_address_get_port (G_INET_SOCKET_ADDRESS (bound_addr));
- GST_DEBUG_OBJECT (self, "bound on UDP port %d", port);
- g_object_unref (bound_addr);
-
+ inet_addr =
+ g_inet_socket_address_get_address (G_INET_SOCKET_ADDRESS (bound_addr));
+ address = g_inet_address_to_string (inet_addr);
+
+ if (g_strcmp0 (address, self->priv->address)) {
+ g_free (self->priv->address);
+ self->priv->address = address;
+ GST_DEBUG_OBJECT (self, "notifying address %s", address);
+ g_object_notify (G_OBJECT (self), "address");
+ } else {
+ g_free (address);
+ }
if (port != self->priv->port) {
self->priv->port = port;
GST_DEBUG_OBJECT (self, "notifying port %d", port);
g_object_notify (G_OBJECT (self), "port");
}
+ GST_DEBUG_OBJECT (self, "bound on UDP address %s, port %d", address, port);
+ g_object_unref (bound_addr);
self->priv->socket = socket;
self->priv->cancel = g_cancellable_new ();
@@ -382,7 +394,7 @@ gst_net_time_provider_stop (GstNetTimeProvider * self)
/**
* gst_net_time_provider_new:
* @clock: a #GstClock to export over the network
- * @address: an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), or NULL
+ * @address: an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), IPv6 address, or NULL
* to bind to all addresses
* @port: a port to bind on, or 0 to let the kernel choose
*
diff --git a/libs/gst/net/gstnettimeprovider.h b/libs/gst/net/gstnettimeprovider.h
index 81c0fbe..d9834c2 100644
--- a/libs/gst/net/gstnettimeprovider.h
+++ b/libs/gst/net/gstnettimeprovider.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/libs/gst/net/net.h b/libs/gst/net/net.h
new file mode 100644
index 0000000..1ef53d6
--- /dev/null
+++ b/libs/gst/net/net.h
@@ -0,0 +1,31 @@
+/* GStreamer
+ * Copyright (C) 2012 GStreamer developers
+ *
+ * net.h: single include header for gst-net library
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_NET__H__
+#define __GST_NET__H__
+
+#include <gst/net/gstnet.h>
+#include <gst/net/gstnetaddressmeta.h>
+#include <gst/net/gstnetclientclock.h>
+#include <gst/net/gstnettimepacket.h>
+#include <gst/net/gstnettimeprovider.h>
+
+#endif /* __GST_NET__H__ */
diff --git a/ltmain.sh b/ltmain.sh
index 499e473..68c6d96 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -70,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.2
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.3
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -80,7 +80,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.2"
+VERSION="2.4.2 Debian-2.4.2-1.3"
TIMESTAMP=""
package_revision=1.3337
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 07967a7..abc3070 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,13 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = m4
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,24 +109,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -108,6 +142,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -207,15 +242,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -225,11 +256,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -237,6 +266,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -299,6 +329,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -429,11 +460,11 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -569,15 +600,16 @@ uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index 46aedd4..1d45159 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -53,24 +80,23 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = pkgconfig
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/gstreamer-base-uninstalled.pc.in \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(srcdir)/gstreamer.pc.in \
+ $(srcdir)/gstreamer-uninstalled.pc.in \
$(srcdir)/gstreamer-base.pc.in \
- $(srcdir)/gstreamer-check-uninstalled.pc.in \
+ $(srcdir)/gstreamer-base-uninstalled.pc.in \
$(srcdir)/gstreamer-check.pc.in \
- $(srcdir)/gstreamer-controller-uninstalled.pc.in \
+ $(srcdir)/gstreamer-check-uninstalled.pc.in \
$(srcdir)/gstreamer-controller.pc.in \
- $(srcdir)/gstreamer-net-uninstalled.pc.in \
+ $(srcdir)/gstreamer-controller-uninstalled.pc.in \
$(srcdir)/gstreamer-net.pc.in \
- $(srcdir)/gstreamer-uninstalled.pc.in \
- $(srcdir)/gstreamer.pc.in
+ $(srcdir)/gstreamer-net-uninstalled.pc.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -94,12 +120,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -110,12 +138,18 @@ CONFIG_CLEAN_FILES = gstreamer.pc gstreamer-uninstalled.pc \
gstreamer-controller.pc gstreamer-controller-uninstalled.pc \
gstreamer-net.pc gstreamer-net-uninstalled.pc
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -152,6 +186,7 @@ am__uninstall_files_from_dir = { \
}
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
DATA = $(pkgconfig_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -251,15 +286,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -269,11 +300,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -281,6 +310,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -343,6 +373,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -551,11 +582,11 @@ uninstall-pkgconfigDATA:
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -695,16 +726,17 @@ uninstall-am: uninstall-pkgconfigDATA
.MAKE: install-am install-strip
.PHONY: all all-am all-local check check-am clean clean-generic \
- clean-libtool distclean distclean-generic distclean-libtool \
- distdir dvi dvi-am html html-am info info-am install \
- install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-pkgconfigDATA install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am uninstall uninstall-am uninstall-pkgconfigDATA
+ clean-libtool cscopelist-am ctags-am distclean \
+ distclean-generic distclean-libtool distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-pkgconfigDATA install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-pkgconfigDATA
all-local: $(pcfiles) $(pcfiles_uninstalled)
diff --git a/pkgconfig/gstreamer-uninstalled.pc.in b/pkgconfig/gstreamer-uninstalled.pc.in
index 9e5602b..ac1eeef 100644
--- a/pkgconfig/gstreamer-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-uninstalled.pc.in
@@ -12,7 +12,8 @@ typelibdir=@abs_top_builddir@/gst
Name: GStreamer Uninstalled
Description: Streaming media framework, Not Installed
Version: @VERSION@
-Requires: @GST_PKG_DEPS@
+Requires: glib-2.0, gobject-2.0
+Requires.private: gmodule-no-export-2.0
Libs: @abs_top_builddir@/gst/libgstreamer-@GST_API_VERSION@.la
# FIXME: the libs dir doesn't really belong here
Cflags: -I@abs_top_srcdir@ -I@abs_top_srcdir@/libs -I@abs_top_builddir@ -I@abs_top_builddir@/libs
diff --git a/pkgconfig/gstreamer.pc.in b/pkgconfig/gstreamer.pc.in
index 914e186..b949d6c 100644
--- a/pkgconfig/gstreamer.pc.in
+++ b/pkgconfig/gstreamer.pc.in
@@ -11,7 +11,8 @@ typelibdir=${libdir}/girepository-1.0
Name: GStreamer
Description: Streaming media framework
-Requires: @GST_PKG_DEPS@
Version: @VERSION@
+Requires: glib-2.0, gobject-2.0
+Requires.private: gmodule-no-export-2.0
Libs: -L${libdir} -lgstreamer-@GST_API_VERSION@
Cflags: -I${includedir}
diff --git a/plugins/Makefile.in b/plugins/Makefile.in
index f3318b0..ffdad8d 100644
--- a/plugins/Makefile.in
+++ b/plugins/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,13 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = plugins
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,33 +109,42 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -117,9 +152,29 @@ am__can_run_installinfo = \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -246,15 +301,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -264,11 +315,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -276,6 +325,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -338,6 +388,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -471,22 +522,25 @@ clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -501,57 +555,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -567,12 +576,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -584,15 +588,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -601,6 +601,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -761,22 +776,20 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
Android.mk: Makefile.am
diff --git a/plugins/elements/Makefile.am b/plugins/elements/Makefile.am
index baebb7f..5166c02 100644
--- a/plugins/elements/Makefile.am
+++ b/plugins/elements/Makefile.am
@@ -15,9 +15,7 @@ libgstcoreelements_la_SOURCES = \
gstidentity.c \
gstinputselector.c \
gstoutputselector.c \
- gstdataqueue.c \
gstmultiqueue.c \
- gstqueuearray.c \
gstqueue.c \
gstqueue2.c \
gsttee.c \
@@ -43,9 +41,7 @@ noinst_HEADERS = \
gstidentity.h \
gstinputselector.h \
gstoutputselector.h \
- gstdataqueue.h \
gstmultiqueue.h \
- gstqueuearray.h \
gstqueue.h \
gstqueue2.h \
gsttee.h \
diff --git a/plugins/elements/Makefile.in b/plugins/elements/Makefile.in
index d667bc8..a7dc786 100644
--- a/plugins/elements/Makefile.in
+++ b/plugins/elements/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,23 +16,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,15 +81,14 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = plugins/elements
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp $(noinst_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -86,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -141,9 +169,7 @@ am_libgstcoreelements_la_OBJECTS = \
libgstcoreelements_la-gstidentity.lo \
libgstcoreelements_la-gstinputselector.lo \
libgstcoreelements_la-gstoutputselector.lo \
- libgstcoreelements_la-gstdataqueue.lo \
libgstcoreelements_la-gstmultiqueue.lo \
- libgstcoreelements_la-gstqueuearray.lo \
libgstcoreelements_la-gstqueue.lo \
libgstcoreelements_la-gstqueue2.lo \
libgstcoreelements_la-gsttee.lo \
@@ -153,10 +179,23 @@ libgstcoreelements_la_OBJECTS = $(am_libgstcoreelements_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
libgstcoreelements_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) \
$(libgstcoreelements_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -169,20 +208,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libgstcoreelements_la_SOURCES)
DIST_SOURCES = $(libgstcoreelements_la_SOURCES)
am__can_run_installinfo = \
@@ -191,6 +226,23 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -292,15 +344,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -310,11 +358,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -322,6 +368,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -384,6 +431,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -489,9 +537,7 @@ libgstcoreelements_la_SOURCES = \
gstidentity.c \
gstinputselector.c \
gstoutputselector.c \
- gstdataqueue.c \
gstmultiqueue.c \
- gstqueuearray.c \
gstqueue.c \
gstqueue2.c \
gsttee.c \
@@ -517,9 +563,7 @@ noinst_HEADERS = \
gstidentity.h \
gstinputselector.h \
gstoutputselector.h \
- gstdataqueue.h \
gstmultiqueue.h \
- gstqueuearray.h \
gstqueue.h \
gstqueue2.h \
gsttee.h \
@@ -564,6 +608,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+
install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
@@ -590,12 +635,15 @@ uninstall-pluginLTLIBRARIES:
clean-pluginLTLIBRARIES:
-test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
- @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(plugin_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
libgstcoreelements.la: $(libgstcoreelements_la_OBJECTS) $(libgstcoreelements_la_DEPENDENCIES) $(EXTRA_libgstcoreelements_la_DEPENDENCIES)
$(AM_V_CCLD)$(libgstcoreelements_la_LINK) -rpath $(plugindir) $(libgstcoreelements_la_OBJECTS) $(libgstcoreelements_la_LIBADD) $(LIBS)
@@ -606,7 +654,6 @@ distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstcapsfilter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstdataqueue.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstelements.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstfakesink.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstfakesrc.Plo@am__quote@
@@ -621,7 +668,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstoutputselector.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstqueue.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstqueue2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstqueuearray.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gsttee.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gsttypefindelement.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcoreelements_la-gstvalve.Plo@am__quote@
@@ -731,13 +777,6 @@ libgstcoreelements_la-gstoutputselector.lo: gstoutputselector.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -c -o libgstcoreelements_la-gstoutputselector.lo `test -f 'gstoutputselector.c' || echo '$(srcdir)/'`gstoutputselector.c
-libgstcoreelements_la-gstdataqueue.lo: gstdataqueue.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -MT libgstcoreelements_la-gstdataqueue.lo -MD -MP -MF $(DEPDIR)/libgstcoreelements_la-gstdataqueue.Tpo -c -o libgstcoreelements_la-gstdataqueue.lo `test -f 'gstdataqueue.c' || echo '$(srcdir)/'`gstdataqueue.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstcoreelements_la-gstdataqueue.Tpo $(DEPDIR)/libgstcoreelements_la-gstdataqueue.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstdataqueue.c' object='libgstcoreelements_la-gstdataqueue.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -c -o libgstcoreelements_la-gstdataqueue.lo `test -f 'gstdataqueue.c' || echo '$(srcdir)/'`gstdataqueue.c
-
libgstcoreelements_la-gstmultiqueue.lo: gstmultiqueue.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -MT libgstcoreelements_la-gstmultiqueue.lo -MD -MP -MF $(DEPDIR)/libgstcoreelements_la-gstmultiqueue.Tpo -c -o libgstcoreelements_la-gstmultiqueue.lo `test -f 'gstmultiqueue.c' || echo '$(srcdir)/'`gstmultiqueue.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstcoreelements_la-gstmultiqueue.Tpo $(DEPDIR)/libgstcoreelements_la-gstmultiqueue.Plo
@@ -745,13 +784,6 @@ libgstcoreelements_la-gstmultiqueue.lo: gstmultiqueue.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -c -o libgstcoreelements_la-gstmultiqueue.lo `test -f 'gstmultiqueue.c' || echo '$(srcdir)/'`gstmultiqueue.c
-libgstcoreelements_la-gstqueuearray.lo: gstqueuearray.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -MT libgstcoreelements_la-gstqueuearray.lo -MD -MP -MF $(DEPDIR)/libgstcoreelements_la-gstqueuearray.Tpo -c -o libgstcoreelements_la-gstqueuearray.lo `test -f 'gstqueuearray.c' || echo '$(srcdir)/'`gstqueuearray.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstcoreelements_la-gstqueuearray.Tpo $(DEPDIR)/libgstcoreelements_la-gstqueuearray.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstqueuearray.c' object='libgstcoreelements_la-gstqueuearray.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -c -o libgstcoreelements_la-gstqueuearray.lo `test -f 'gstqueuearray.c' || echo '$(srcdir)/'`gstqueuearray.c
-
libgstcoreelements_la-gstqueue.lo: gstqueue.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstcoreelements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcoreelements_la_CFLAGS) $(CFLAGS) -MT libgstcoreelements_la-gstqueue.lo -MD -MP -MF $(DEPDIR)/libgstcoreelements_la-gstqueue.Tpo -c -o libgstcoreelements_la-gstqueue.lo `test -f 'gstqueue.c' || echo '$(srcdir)/'`gstqueue.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstcoreelements_la-gstqueue.Tpo $(DEPDIR)/libgstcoreelements_la-gstqueue.Plo
@@ -793,26 +825,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -824,15 +845,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -841,6 +858,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -986,19 +1018,20 @@ uninstall-am: uninstall-pluginLTLIBRARIES
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-pluginLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-pluginLTLIBRARIES \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-pluginLTLIBRARIES
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-pluginLTLIBRARIES install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-pluginLTLIBRARIES
%.c.gcov: .libs/libgstcoreelements_la-%.gcda %.c
diff --git a/plugins/elements/gstcapsfilter.c b/plugins/elements/gstcapsfilter.c
index fd6a094..c5710ea 100644
--- a/plugins/elements/gstcapsfilter.c
+++ b/plugins/elements/gstcapsfilter.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-capsfilter
@@ -83,6 +83,9 @@ static GstFlowReturn gst_capsfilter_transform_ip (GstBaseTransform * base,
GstBuffer * buf);
static GstFlowReturn gst_capsfilter_prepare_buf (GstBaseTransform * trans,
GstBuffer * input, GstBuffer ** buf);
+static gboolean gst_capsfilter_sink_event (GstBaseTransform * trans,
+ GstEvent * event);
+static gboolean gst_capsfilter_stop (GstBaseTransform * trans);
static void
gst_capsfilter_class_init (GstCapsFilterClass * klass)
@@ -121,6 +124,8 @@ gst_capsfilter_class_init (GstCapsFilterClass * klass)
trans_class->accept_caps = GST_DEBUG_FUNCPTR (gst_capsfilter_accept_caps);
trans_class->prepare_output_buffer =
GST_DEBUG_FUNCPTR (gst_capsfilter_prepare_buf);
+ trans_class->sink_event = GST_DEBUG_FUNCPTR (gst_capsfilter_sink_event);
+ trans_class->stop = GST_DEBUG_FUNCPTR (gst_capsfilter_stop);
}
static void
@@ -193,6 +198,8 @@ gst_capsfilter_dispose (GObject * object)
GstCapsFilter *filter = GST_CAPSFILTER (object);
gst_caps_replace (&filter->filter_caps, NULL);
+ g_list_free_full (filter->pending_events, (GDestroyNotify) gst_event_unref);
+ filter->pending_events = NULL;
G_OBJECT_CLASS (parent_class)->dispose (object);
}
@@ -268,11 +275,11 @@ gst_capsfilter_transform_ip (GstBaseTransform * base, GstBuffer * buf)
return GST_FLOW_OK;
}
-/* Output buffer preparation... if the buffer has no caps, and
- * our allowed output caps is fixed, then give the caps to the
- * buffer.
- * This ensures that outgoing buffers have caps if we can, so
- * that pipelines like:
+/* Ouput buffer preparation ... if the buffer has no caps, and our allowed
+ * output caps is fixed, then send the caps downstream, making sure caps are
+ * sent before segment event.
+ *
+ * This ensures that caps event is sent if we can, so that pipelines like:
* gst-launch filesrc location=rawsamples.raw !
* audio/x-raw,format=S16LE,rate=48000,channels=2 ! alsasink
* will work.
@@ -287,11 +294,15 @@ gst_capsfilter_prepare_buf (GstBaseTransform * trans, GstBuffer * input,
*buf = input;
if (!gst_pad_has_current_caps (trans->sinkpad)) {
- /* Buffer has no caps. See if the output pad only supports fixed caps */
+ /* No caps. See if the output pad only supports fixed caps */
+ GstCapsFilter *filter = GST_CAPSFILTER (trans);
GstCaps *out_caps;
+ GList *pending_events = filter->pending_events;
GST_LOG_OBJECT (trans, "Input pad does not have caps");
+ filter->pending_events = NULL;
+
out_caps = gst_pad_get_current_caps (trans->srcpad);
if (out_caps == NULL) {
out_caps = gst_pad_get_allowed_caps (trans->srcpad);
@@ -304,9 +315,26 @@ gst_capsfilter_prepare_buf (GstBaseTransform * trans, GstBuffer * input,
GST_DEBUG_OBJECT (trans, "Have fixed output caps %"
GST_PTR_FORMAT " to apply to srcpad", out_caps);
- if (!gst_pad_has_current_caps (trans->srcpad))
- if (!gst_pad_set_caps (trans->srcpad, out_caps))
+ if (!gst_pad_has_current_caps (trans->srcpad)) {
+ if (gst_pad_set_caps (trans->srcpad, out_caps)) {
+ if (pending_events) {
+ GList *l;
+
+ for (l = g_list_last (pending_events); l; l = l->prev) {
+ GST_LOG_OBJECT (trans, "Forwarding %s event",
+ GST_EVENT_TYPE_NAME (l->data));
+ GST_BASE_TRANSFORM_CLASS (parent_class)->sink_event (trans,
+ l->data);
+ }
+ g_list_free (pending_events);
+ pending_events = NULL;
+ }
+ } else {
ret = GST_FLOW_NOT_NEGOTIATED;
+ }
+ }
+
+ g_list_free_full (pending_events, (GDestroyNotify) gst_event_unref);
gst_caps_unref (out_caps);
} else {
gchar *caps_str = gst_caps_to_string (out_caps);
@@ -315,13 +343,75 @@ gst_capsfilter_prepare_buf (GstBaseTransform * trans, GstBuffer * input,
GST_PTR_FORMAT, out_caps);
gst_caps_unref (out_caps);
- ret = GST_FLOW_ERROR;
GST_ELEMENT_ERROR (trans, STREAM, FORMAT,
("Filter caps do not completely specify the output format"),
("Output caps are unfixed: %s", caps_str));
+
g_free (caps_str);
+ g_list_free_full (pending_events, (GDestroyNotify) gst_event_unref);
+
+ ret = GST_FLOW_ERROR;
}
}
return ret;
}
+
+/* Queue the segment event if there was no caps event */
+static gboolean
+gst_capsfilter_sink_event (GstBaseTransform * trans, GstEvent * event)
+{
+ GstCapsFilter *filter = GST_CAPSFILTER (trans);
+
+ if (GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_STOP) {
+ GList *l;
+
+ for (l = filter->pending_events; l;) {
+ if (GST_EVENT_TYPE (l->data) == GST_EVENT_SEGMENT) {
+ gst_event_unref (l->data);
+ l = g_list_delete_link (l, l);
+ } else {
+ l = l->next;
+ }
+ }
+ }
+
+ if (!GST_EVENT_IS_STICKY (event) || GST_EVENT_TYPE (event) <= GST_EVENT_CAPS)
+ goto done;
+
+ /* If we get EOS before any buffers, just push all pending events */
+ if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
+ GList *l;
+
+ for (l = g_list_last (filter->pending_events); l; l = l->prev) {
+ GST_LOG_OBJECT (trans, "Forwarding %s event",
+ GST_EVENT_TYPE_NAME (l->data));
+ GST_BASE_TRANSFORM_CLASS (parent_class)->sink_event (trans, l->data);
+ }
+ g_list_free (filter->pending_events);
+ filter->pending_events = NULL;
+ } else if (!gst_pad_has_current_caps (trans->sinkpad)) {
+ GST_LOG_OBJECT (trans, "Got %s event before caps, queueing",
+ GST_EVENT_TYPE_NAME (event));
+
+ filter->pending_events = g_list_prepend (filter->pending_events, event);
+
+ return TRUE;
+ }
+
+done:
+
+ GST_LOG_OBJECT (trans, "Forwarding %s event", GST_EVENT_TYPE_NAME (event));
+ return GST_BASE_TRANSFORM_CLASS (parent_class)->sink_event (trans, event);
+}
+
+static gboolean
+gst_capsfilter_stop (GstBaseTransform * trans)
+{
+ GstCapsFilter *filter = GST_CAPSFILTER (trans);
+
+ g_list_free_full (filter->pending_events, (GDestroyNotify) gst_event_unref);
+ filter->pending_events = NULL;
+
+ return TRUE;
+}
diff --git a/plugins/elements/gstcapsfilter.h b/plugins/elements/gstcapsfilter.h
index 9db6ebc..ab9ac1f 100644
--- a/plugins/elements/gstcapsfilter.h
+++ b/plugins/elements/gstcapsfilter.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -53,6 +53,7 @@ struct _GstCapsFilter {
GstBaseTransform trans;
GstCaps *filter_caps;
+ GList *pending_events;
};
struct _GstCapsFilterClass {
diff --git a/plugins/elements/gstelements.c b/plugins/elements/gstelements.c
index 6ba95d0..23f85c1 100644
--- a/plugins/elements/gstelements.c
+++ b/plugins/elements/gstelements.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -105,5 +105,5 @@ plugin_init (GstPlugin * plugin)
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, coreelements,
- " GStreamer core elements", plugin_init, VERSION, GST_LICENSE,
+ "GStreamer core elements", plugin_init, VERSION, GST_LICENSE,
GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
diff --git a/plugins/elements/gstfakesink.c b/plugins/elements/gstfakesink.c
index 2e28b01..1b8c7c3 100644
--- a/plugins/elements/gstfakesink.c
+++ b/plugins/elements/gstfakesink.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-fakesink
diff --git a/plugins/elements/gstfakesink.h b/plugins/elements/gstfakesink.h
index 274b45a..72b3671 100644
--- a/plugins/elements/gstfakesink.h
+++ b/plugins/elements/gstfakesink.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/plugins/elements/gstfakesrc.c b/plugins/elements/gstfakesrc.c
index ce43c38..e8458cd 100644
--- a/plugins/elements/gstfakesrc.c
+++ b/plugins/elements/gstfakesrc.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-fakesrc
diff --git a/plugins/elements/gstfakesrc.h b/plugins/elements/gstfakesrc.h
index 3ed0e60..e4acb9c 100644
--- a/plugins/elements/gstfakesrc.h
+++ b/plugins/elements/gstfakesrc.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/plugins/elements/gstfdsink.c b/plugins/elements/gstfdsink.c
index 74d30ca..94d27b4 100644
--- a/plugins/elements/gstfdsink.c
+++ b/plugins/elements/gstfdsink.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
diff --git a/plugins/elements/gstfdsink.h b/plugins/elements/gstfdsink.h
index 643453d..3d7ee31 100644
--- a/plugins/elements/gstfdsink.h
+++ b/plugins/elements/gstfdsink.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/plugins/elements/gstfdsrc.c b/plugins/elements/gstfdsrc.c
index a29d84c..b6077a6 100644
--- a/plugins/elements/gstfdsrc.c
+++ b/plugins/elements/gstfdsrc.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-fdsrc
diff --git a/plugins/elements/gstfdsrc.h b/plugins/elements/gstfdsrc.h
index 16e696f..bafae48 100644
--- a/plugins/elements/gstfdsrc.h
+++ b/plugins/elements/gstfdsrc.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/plugins/elements/gstfilesink.c b/plugins/elements/gstfilesink.c
index 4cb0025..6700b13 100644
--- a/plugins/elements/gstfilesink.c
+++ b/plugins/elements/gstfilesink.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-filesink
diff --git a/plugins/elements/gstfilesink.h b/plugins/elements/gstfilesink.h
index 9776550..72a9a47 100644
--- a/plugins/elements/gstfilesink.h
+++ b/plugins/elements/gstfilesink.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/plugins/elements/gstfilesrc.c b/plugins/elements/gstfilesrc.c
index 911223b..b68c279 100644
--- a/plugins/elements/gstfilesrc.c
+++ b/plugins/elements/gstfilesrc.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-filesrc
diff --git a/plugins/elements/gstfilesrc.h b/plugins/elements/gstfilesrc.h
index 18c3c41..e73cfc3 100644
--- a/plugins/elements/gstfilesrc.h
+++ b/plugins/elements/gstfilesrc.h
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_FILE_SRC_H__
diff --git a/plugins/elements/gstfunnel.c b/plugins/elements/gstfunnel.c
index fb4fafe..af3a1ac 100644
--- a/plugins/elements/gstfunnel.c
+++ b/plugins/elements/gstfunnel.c
@@ -45,56 +45,6 @@
GST_DEBUG_CATEGORY_STATIC (gst_funnel_debug);
#define GST_CAT_DEFAULT gst_funnel_debug
-GType gst_funnel_pad_get_type (void);
-#define GST_TYPE_FUNNEL_PAD \
- (gst_funnel_pad_get_type())
-#define GST_FUNNEL_PAD(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_FUNNEL_PAD, GstFunnelPad))
-#define GST_FUNNEL_PAD_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_FUNNEL_PAD, GstFunnelPadClass))
-#define GST_IS_FUNNEL_PAD(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_FUNNEL_PAD))
-#define GST_IS_FUNNEL_PAD_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_FUNNEL_PAD))
-#define GST_FUNNEL_PAD_CAST(obj) \
- ((GstFunnelPad *)(obj))
-
-typedef struct _GstFunnelPad GstFunnelPad;
-typedef struct _GstFunnelPadClass GstFunnelPadClass;
-
-struct _GstFunnelPad
-{
- GstPad parent;
-
- GstSegment segment;
- gboolean got_eos;
-};
-
-struct _GstFunnelPadClass
-{
- GstPadClass parent;
-};
-
-G_DEFINE_TYPE (GstFunnelPad, gst_funnel_pad, GST_TYPE_PAD);
-
-static void
-gst_funnel_pad_class_init (GstFunnelPadClass * klass)
-{
-}
-
-static void
-gst_funnel_pad_reset (GstFunnelPad * pad)
-{
- gst_segment_init (&pad->segment, GST_FORMAT_UNDEFINED);
- pad->got_eos = FALSE;
-}
-
-static void
-gst_funnel_pad_init (GstFunnelPad * pad)
-{
- gst_funnel_pad_reset (pad);
-}
-
static GstStaticPadTemplate funnel_sink_template =
GST_STATIC_PAD_TEMPLATE ("sink_%u",
GST_PAD_SINK,
@@ -112,8 +62,6 @@ GST_STATIC_PAD_TEMPLATE ("src",
#define gst_funnel_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstFunnel, gst_funnel, GST_TYPE_ELEMENT, _do_init);
-static GstStateChangeReturn gst_funnel_change_state (GstElement * element,
- GstStateChange transition);
static GstPad *gst_funnel_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * name, const GstCaps * caps);
static void gst_funnel_release_pad (GstElement * element, GstPad * pad);
@@ -122,17 +70,15 @@ static GstFlowReturn gst_funnel_sink_chain (GstPad * pad, GstObject * parent,
GstBuffer * buffer);
static gboolean gst_funnel_sink_event (GstPad * pad, GstObject * parent,
GstEvent * event);
-static gboolean gst_funnel_sink_query (GstPad * pad, GstObject * parent,
- GstQuery * query);
-
-static gboolean gst_funnel_src_event (GstPad * pad, GstObject * parent,
- GstEvent * event);
static void
gst_funnel_dispose (GObject * object)
{
+ GstFunnel *funnel = GST_FUNNEL (object);
GList *item;
+ gst_object_replace ((GstObject **) & funnel->last_sinkpad, NULL);
+
restart:
for (item = GST_ELEMENT_PADS (object); item; item = g_list_next (item)) {
GstPad *pad = GST_PAD (item->data);
@@ -166,7 +112,6 @@ gst_funnel_class_init (GstFunnelClass * klass)
gstelement_class->request_new_pad =
GST_DEBUG_FUNCPTR (gst_funnel_request_new_pad);
gstelement_class->release_pad = GST_DEBUG_FUNCPTR (gst_funnel_release_pad);
- gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_funnel_change_state);
}
static void
@@ -174,7 +119,6 @@ gst_funnel_init (GstFunnel * funnel)
{
funnel->srcpad = gst_pad_new_from_static_template (&funnel_src_template,
"src");
- gst_pad_set_event_function (funnel->srcpad, gst_funnel_src_event);
gst_pad_use_fixed_caps (funnel->srcpad);
gst_element_add_pad (GST_ELEMENT (funnel), funnel->srcpad);
}
@@ -187,16 +131,12 @@ gst_funnel_request_new_pad (GstElement * element, GstPadTemplate * templ,
GST_DEBUG_OBJECT (element, "requesting pad");
- sinkpad = GST_PAD_CAST (g_object_new (GST_TYPE_FUNNEL_PAD,
- "name", name, "direction", templ->direction, "template", templ,
- NULL));
+ sinkpad = gst_pad_new_from_static_template (&funnel_sink_template, name);
gst_pad_set_chain_function (sinkpad,
GST_DEBUG_FUNCPTR (gst_funnel_sink_chain));
gst_pad_set_event_function (sinkpad,
GST_DEBUG_FUNCPTR (gst_funnel_sink_event));
- gst_pad_set_query_function (sinkpad,
- GST_DEBUG_FUNCPTR (gst_funnel_sink_query));
gst_pad_set_active (sinkpad, TRUE);
@@ -215,9 +155,14 @@ gst_funnel_all_sinkpads_eos_unlocked (GstFunnel * funnel)
return FALSE;
for (item = element->sinkpads; item != NULL; item = g_list_next (item)) {
- GstFunnelPad *sinkpad = item->data;
+ GstPad *sinkpad = item->data;
+ GstEvent *eos;
+
+ eos = gst_pad_get_sticky_event (sinkpad, GST_EVENT_EOS, 0);
+ if (eos)
+ gst_event_unref (eos);
- if (!sinkpad->got_eos)
+ if (eos == NULL)
return FALSE;
}
@@ -228,20 +173,21 @@ static void
gst_funnel_release_pad (GstElement * element, GstPad * pad)
{
GstFunnel *funnel = GST_FUNNEL (element);
- GstFunnelPad *fpad = GST_FUNNEL_PAD_CAST (pad);
- gboolean got_eos;
+ GstEvent *eos;
gboolean send_eos = FALSE;
GST_DEBUG_OBJECT (funnel, "releasing pad");
gst_pad_set_active (pad, FALSE);
- got_eos = fpad->got_eos;
+ eos = gst_pad_get_sticky_event (pad, GST_EVENT_EOS, 0);
+ if (eos)
+ gst_event_unref (eos);
gst_element_remove_pad (GST_ELEMENT_CAST (funnel), pad);
GST_OBJECT_LOCK (funnel);
- if (!got_eos && gst_funnel_all_sinkpads_eos_unlocked (funnel)) {
+ if (eos == NULL && gst_funnel_all_sinkpads_eos_unlocked (funnel)) {
GST_DEBUG_OBJECT (funnel, "Pad removed. All others are EOS. Sending EOS");
send_eos = TRUE;
}
@@ -252,78 +198,39 @@ gst_funnel_release_pad (GstElement * element, GstPad * pad)
GST_WARNING_OBJECT (funnel, "Failure pushing EOS");
}
+static gboolean
+forward_events (GstPad * pad, GstEvent ** event, gpointer user_data)
+{
+ GstPad *srcpad = user_data;
+
+ if (GST_EVENT_TYPE (*event) != GST_EVENT_EOS)
+ gst_pad_push_event (srcpad, gst_event_ref (*event));
+
+ return TRUE;
+}
+
static GstFlowReturn
gst_funnel_sink_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
{
GstFlowReturn res;
GstFunnel *funnel = GST_FUNNEL (parent);
- GstFunnelPad *fpad = GST_FUNNEL_PAD_CAST (pad);
- GstEvent *event = NULL;
- GstClockTime newts;
-#if 0
- GstCaps *padcaps;
-#endif
GST_DEBUG_OBJECT (funnel, "received buffer %p", buffer);
- GST_OBJECT_LOCK (funnel);
+ GST_PAD_STREAM_LOCK (funnel->srcpad);
- if (fpad->got_eos) {
- GST_OBJECT_UNLOCK (funnel);
- GST_WARNING_OBJECT (funnel, "Got buffer on pad that received EOS");
- res = GST_FLOW_EOS;
- gst_buffer_unref (buffer);
- goto out;
- }
+ if (funnel->last_sinkpad != pad) {
+ gst_object_replace ((GstObject **) & funnel->last_sinkpad,
+ GST_OBJECT (pad));
- if (fpad->segment.format == GST_FORMAT_UNDEFINED) {
- GST_WARNING_OBJECT (funnel, "Got buffer without segment,"
- " setting segment [0,inf[");
- gst_segment_init (&fpad->segment, GST_FORMAT_TIME);
+ gst_pad_sticky_events_foreach (pad, forward_events, funnel->srcpad);
}
- if (GST_CLOCK_TIME_IS_VALID (GST_BUFFER_TIMESTAMP (buffer)))
- fpad->segment.position = GST_BUFFER_TIMESTAMP (buffer);
-
- newts = gst_segment_to_running_time (&fpad->segment,
- fpad->segment.format, GST_BUFFER_TIMESTAMP (buffer));
- if (newts != GST_BUFFER_TIMESTAMP (buffer)) {
- buffer = gst_buffer_make_writable (buffer);
- GST_BUFFER_TIMESTAMP (buffer) = newts;
- }
-
- if (!funnel->has_segment) {
- GstSegment segment;
-
- gst_segment_init (&segment, GST_FORMAT_TIME);
- event = gst_event_new_segment (&segment);
- funnel->has_segment = TRUE;
- }
- GST_OBJECT_UNLOCK (funnel);
-
- if (event) {
- if (!gst_pad_push_event (funnel->srcpad, event))
- GST_WARNING_OBJECT (funnel, "Could not push out newsegment event");
- }
-#if 0
- GST_OBJECT_LOCK (pad);
- padcaps = GST_PAD_CAPS (funnel->srcpad);
- GST_OBJECT_UNLOCK (pad);
-
- if (GST_BUFFER_CAPS (buffer) && GST_BUFFER_CAPS (buffer) != padcaps) {
- if (!gst_pad_set_caps (funnel->srcpad, GST_BUFFER_CAPS (buffer))) {
- res = GST_FLOW_NOT_NEGOTIATED;
- gst_buffer_unref (buffer);
- goto out;
- }
- }
-#endif
-
res = gst_pad_push (funnel->srcpad, buffer);
- GST_LOG_OBJECT (funnel, "handled buffer %s", gst_flow_get_name (res));
+ GST_PAD_STREAM_UNLOCK (funnel->srcpad);
-out:
+ GST_LOG_OBJECT (funnel, "handled buffer %s", gst_flow_get_name (res));
return res;
}
@@ -332,46 +239,16 @@ static gboolean
gst_funnel_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
{
GstFunnel *funnel = GST_FUNNEL (parent);
- GstFunnelPad *fpad = GST_FUNNEL_PAD_CAST (pad);
gboolean forward = TRUE;
gboolean res = TRUE;
+ gboolean unlock = FALSE;
- switch (GST_EVENT_TYPE (event)) {
- case GST_EVENT_SEGMENT:
- {
- GST_OBJECT_LOCK (funnel);
- gst_event_copy_segment (event, &fpad->segment);
- GST_OBJECT_UNLOCK (funnel);
+ if (GST_EVENT_IS_STICKY (event)) {
+ unlock = TRUE;
+ GST_PAD_STREAM_LOCK (funnel->srcpad);
+ if (pad != funnel->last_sinkpad)
forward = FALSE;
- break;
- }
- case GST_EVENT_FLUSH_STOP:
- {
- GST_OBJECT_LOCK (funnel);
- gst_segment_init (&fpad->segment, GST_FORMAT_UNDEFINED);
- funnel->has_segment = FALSE;
- fpad->got_eos = FALSE;
- GST_OBJECT_UNLOCK (funnel);
- }
- break;
- case GST_EVENT_EOS:
- {
- GST_OBJECT_LOCK (funnel);
- fpad->got_eos = TRUE;
-
- if (!gst_funnel_all_sinkpads_eos_unlocked (funnel)) {
- GST_DEBUG_OBJECT (funnel,
- "Got EOS, but not from all sinkpads. Skipping");
- forward = FALSE;
- } else {
- GST_DEBUG_OBJECT (funnel, "Got EOS from all sinkpads. Forwarding");
- }
- GST_OBJECT_UNLOCK (funnel);
- break;
- }
- default:
- break;
}
if (forward)
@@ -379,104 +256,8 @@ gst_funnel_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
else
gst_event_unref (event);
- return res;
-}
-
-static gboolean
-gst_funnel_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
-{
- GstFunnel *funnel = GST_FUNNEL (parent);
- gboolean forward = TRUE;
- gboolean res = TRUE;
-
- if (forward)
- res = gst_pad_peer_query (funnel->srcpad, query);
+ if (unlock)
+ GST_PAD_STREAM_UNLOCK (funnel->srcpad);
return res;
}
-
-static gboolean
-gst_funnel_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
-{
- GstElement *funnel;
- GstIterator *iter;
- GstPad *sinkpad;
- gboolean result = FALSE;
- gboolean done = FALSE;
- GValue value = { 0, };
-
- funnel = GST_ELEMENT_CAST (parent);
-
- iter = gst_element_iterate_sink_pads (funnel);
-
- while (!done) {
- switch (gst_iterator_next (iter, &value)) {
- case GST_ITERATOR_OK:
- sinkpad = g_value_get_object (&value);
- gst_event_ref (event);
- result |= gst_pad_push_event (sinkpad, event);
- g_value_reset (&value);
- break;
- case GST_ITERATOR_RESYNC:
- gst_iterator_resync (iter);
- result = FALSE;
- break;
- case GST_ITERATOR_ERROR:
- GST_WARNING_OBJECT (funnel, "Error iterating sinkpads");
- case GST_ITERATOR_DONE:
- done = TRUE;
- break;
- }
- }
- g_value_unset (&value);
- gst_iterator_free (iter);
- gst_event_unref (event);
-
- return result;
-}
-
-static void
-reset_pad (const GValue * data, gpointer user_data)
-{
- GstPad *pad = g_value_get_object (data);
- GstFunnelPad *fpad = GST_FUNNEL_PAD_CAST (pad);
-
- GST_OBJECT_LOCK (pad);
- gst_funnel_pad_reset (fpad);
- GST_OBJECT_UNLOCK (pad);
-}
-
-static GstStateChangeReturn
-gst_funnel_change_state (GstElement * element, GstStateChange transition)
-{
- GstFunnel *funnel = GST_FUNNEL (element);
- GstStateChangeReturn ret;
-
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_PAUSED:
- {
- GstIterator *iter = gst_element_iterate_sink_pads (element);
- GstIteratorResult res;
-
- do {
- res = gst_iterator_foreach (iter, reset_pad, NULL);
- } while (res == GST_ITERATOR_RESYNC);
-
- gst_iterator_free (iter);
-
- if (res == GST_ITERATOR_ERROR)
- return GST_STATE_CHANGE_FAILURE;
-
- GST_OBJECT_LOCK (funnel);
- funnel->has_segment = FALSE;
- GST_OBJECT_UNLOCK (funnel);
- }
- break;
- default:
- break;
- }
-
- ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
- return ret;
-}
diff --git a/plugins/elements/gstfunnel.h b/plugins/elements/gstfunnel.h
index c968fca..75b69ee 100644
--- a/plugins/elements/gstfunnel.h
+++ b/plugins/elements/gstfunnel.h
@@ -55,7 +55,7 @@ struct _GstFunnel {
/*< private >*/
GstPad *srcpad;
- gboolean has_segment;
+ GstPad *last_sinkpad;
};
struct _GstFunnelClass {
diff --git a/plugins/elements/gstidentity.c b/plugins/elements/gstidentity.c
index b7718f9..c33d263 100644
--- a/plugins/elements/gstidentity.c
+++ b/plugins/elements/gstidentity.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-identity
diff --git a/plugins/elements/gstidentity.h b/plugins/elements/gstidentity.h
index 835cf94..5d613b2 100644
--- a/plugins/elements/gstidentity.h
+++ b/plugins/elements/gstidentity.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/plugins/elements/gstinputselector.c b/plugins/elements/gstinputselector.c
index 8ebe058..6fcda93 100644
--- a/plugins/elements/gstinputselector.c
+++ b/plugins/elements/gstinputselector.c
@@ -19,8 +19,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -307,9 +307,13 @@ gst_selector_pad_get_property (GObject * object, guint prop_id,
GstInputSelector *sel;
sel = GST_INPUT_SELECTOR (gst_pad_get_parent (spad));
- g_value_set_boolean (value, gst_input_selector_is_active_sinkpad (sel,
- GST_PAD_CAST (spad)));
- gst_object_unref (sel);
+ if (sel) {
+ g_value_set_boolean (value, gst_input_selector_is_active_sinkpad (sel,
+ GST_PAD_CAST (spad)));
+ gst_object_unref (sel);
+ } else {
+ g_value_set_boolean (value, FALSE);
+ }
break;
}
case PROP_PAD_ALWAYS_OK:
@@ -452,13 +456,19 @@ gst_selector_pad_event (GstPad * pad, GstObject * parent, GstEvent * event)
GST_DEBUG_OBJECT (selpad, "received event %" GST_PTR_FORMAT, event);
GST_INPUT_SELECTOR_LOCK (sel);
- prev_active_sinkpad = sel->active_sinkpad;
+ prev_active_sinkpad =
+ sel->active_sinkpad ? gst_object_ref (sel->active_sinkpad) : NULL;
active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad);
GST_INPUT_SELECTOR_UNLOCK (sel);
if (prev_active_sinkpad != active_sinkpad && pad == active_sinkpad) {
+ if (prev_active_sinkpad)
+ g_object_notify (G_OBJECT (prev_active_sinkpad), "active");
+ g_object_notify (G_OBJECT (active_sinkpad), "active");
g_object_notify (G_OBJECT (sel), "active-pad");
}
+ if (prev_active_sinkpad)
+ gst_object_unref (prev_active_sinkpad);
GST_INPUT_SELECTOR_LOCK (sel);
active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad);
@@ -494,6 +504,7 @@ gst_selector_pad_event (GstPad * pad, GstObject * parent, GstEvent * event)
gst_event_set_seqnum (event, selpad->segment_seqnum);
}
}
+
GST_DEBUG_OBJECT (pad, "configured SEGMENT %" GST_SEGMENT_FORMAT,
&selpad->segment);
break;
@@ -745,7 +756,7 @@ forward_sticky_events (GstPad * sinkpad, GstEvent ** event, gpointer user_data)
gst_event_set_seqnum (e, GST_SELECTOR_PAD_CAST (sinkpad)->segment_seqnum);
gst_pad_push_event (sel->srcpad, e);
- } else if (GST_EVENT_TYPE (*event) != GST_EVENT_STREAM_START) {
+ } else {
gst_pad_push_event (sel->srcpad, gst_event_ref (*event));
}
@@ -918,7 +929,7 @@ gst_selector_pad_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
GstInputSelector *sel;
GstFlowReturn res;
GstPad *active_sinkpad;
- GstPad *prev_active_sinkpad;
+ GstPad *prev_active_sinkpad = NULL;
GstSelectorPad *selpad;
GstClockTime start_time;
@@ -938,7 +949,8 @@ gst_selector_pad_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
GST_LOG_OBJECT (pad, "getting active pad");
- prev_active_sinkpad = sel->active_sinkpad;
+ prev_active_sinkpad =
+ sel->active_sinkpad ? gst_object_ref (sel->active_sinkpad) : NULL;
active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad);
/* In sync mode wait until the active pad has advanced
@@ -1021,6 +1033,9 @@ gst_selector_pad_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
GST_INPUT_SELECTOR_UNLOCK (sel);
if (prev_active_sinkpad != active_sinkpad && pad == active_sinkpad) {
+ if (prev_active_sinkpad)
+ g_object_notify (G_OBJECT (prev_active_sinkpad), "active");
+ g_object_notify (G_OBJECT (active_sinkpad), "active");
g_object_notify (G_OBJECT (sel), "active-pad");
}
@@ -1032,6 +1047,10 @@ gst_selector_pad_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
selpad->events_pending = FALSE;
}
+ if (prev_active_sinkpad)
+ gst_object_unref (prev_active_sinkpad);
+ prev_active_sinkpad = NULL;
+
if (selpad->discont) {
buf = gst_buffer_make_writable (buf);
@@ -1068,6 +1087,11 @@ gst_selector_pad_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
GST_INPUT_SELECTOR_UNLOCK (sel);
done:
+
+ if (prev_active_sinkpad)
+ gst_object_unref (prev_active_sinkpad);
+ prev_active_sinkpad = NULL;
+
return res;
/* dropped buffers */
diff --git a/plugins/elements/gstinputselector.h b/plugins/elements/gstinputselector.h
index 2bfcd3e..57678f6 100644
--- a/plugins/elements/gstinputselector.h
+++ b/plugins/elements/gstinputselector.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_INPUT_SELECTOR_H__
diff --git a/plugins/elements/gstmultiqueue.c b/plugins/elements/gstmultiqueue.c
index 6b89f83..9e9209c 100644
--- a/plugins/elements/gstmultiqueue.c
+++ b/plugins/elements/gstmultiqueue.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -185,6 +185,8 @@ struct _GstMultiQueueItem
GDestroyNotify destroy;
guint32 posid;
+
+ gboolean is_query;
};
static GstSingleQueue *gst_single_queue_new (GstMultiQueue * mqueue, guint id);
@@ -196,6 +198,8 @@ static void compute_high_time (GstMultiQueue * mq);
static void single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq);
static void single_queue_underrun_cb (GstDataQueue * dq, GstSingleQueue * sq);
+static void gst_single_queue_flush_queue (GstSingleQueue * sq, gboolean full);
+
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink_%u",
GST_PAD_SINK,
GST_PAD_REQUEST,
@@ -728,13 +732,11 @@ gst_multi_queue_change_state (GstElement * element, GstStateChange transition)
}
return result;
-
-
-
}
static gboolean
-gst_single_queue_flush (GstMultiQueue * mq, GstSingleQueue * sq, gboolean flush)
+gst_single_queue_flush (GstMultiQueue * mq, GstSingleQueue * sq, gboolean flush,
+ gboolean full)
{
gboolean result;
@@ -761,7 +763,7 @@ gst_single_queue_flush (GstMultiQueue * mq, GstSingleQueue * sq, gboolean flush)
sq->sink_tainted = sq->src_tainted = TRUE;
} else {
GST_MULTI_QUEUE_MUTEX_LOCK (mq);
- gst_data_queue_flush (sq->queue);
+ gst_single_queue_flush_queue (sq, full);
gst_segment_init (&sq->sink_segment, GST_FORMAT_TIME);
gst_segment_init (&sq->src_segment, GST_FORMAT_TIME);
/* All pads start off not-linked for a smooth kick-off */
@@ -1113,7 +1115,7 @@ gst_multi_queue_item_steal_object (GstMultiQueueItem * item)
static void
gst_multi_queue_item_destroy (GstMultiQueueItem * item)
{
- if (item->object)
+ if (!item->is_query && item->object)
gst_mini_object_unref (item->object);
g_slice_free (GstMultiQueueItem, item);
}
@@ -1128,6 +1130,7 @@ gst_multi_queue_buffer_item_new (GstMiniObject * object, guint32 curid)
item->object = object;
item->destroy = (GDestroyNotify) gst_multi_queue_item_destroy;
item->posid = curid;
+ item->is_query = GST_IS_QUERY (object);
item->size = gst_buffer_get_size (GST_BUFFER_CAST (object));
item->duration = GST_BUFFER_DURATION (object);
@@ -1146,6 +1149,7 @@ gst_multi_queue_mo_item_new (GstMiniObject * object, guint32 curid)
item->object = object;
item->destroy = (GDestroyNotify) gst_multi_queue_item_destroy;
item->posid = curid;
+ item->is_query = GST_IS_QUERY (object);
item->size = 0;
item->duration = 0;
@@ -1362,6 +1366,8 @@ out_flushing:
compute_high_time (mq);
compute_high_id (mq);
wake_up_next_non_linked (mq);
+ sq->last_query = FALSE;
+ g_cond_signal (&sq->query_handled);
GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
/* upstream needs to see fatal result ASAP to shut things down,
@@ -1369,7 +1375,7 @@ out_flushing:
* so empty this one and trigger dynamic queue growth. At
* this point the srcresult is not OK, NOT_LINKED
* or EOS, i.e. a real failure */
- gst_data_queue_flush (sq->queue);
+ gst_single_queue_flush_queue (sq, FALSE);
single_queue_underrun_cb (sq->queue, sq);
gst_data_queue_set_flushing (sq->queue, TRUE);
gst_pad_pause_task (sq->srcpad);
@@ -1462,8 +1468,12 @@ gst_multi_queue_sink_activate_mode (GstPad * pad, GstObject * parent,
/* All pads start off linked until they push one buffer */
sq->srcresult = GST_FLOW_OK;
sq->pushed = FALSE;
+ gst_data_queue_set_flushing (sq->queue, FALSE);
} else {
sq->srcresult = GST_FLOW_FLUSHING;
+ sq->last_query = FALSE;
+ g_cond_signal (&sq->query_handled);
+ gst_data_queue_set_flushing (sq->queue, TRUE);
gst_data_queue_flush (sq->queue);
}
res = TRUE;
@@ -1504,7 +1514,7 @@ gst_multi_queue_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
res = gst_pad_push_event (sq->srcpad, event);
- gst_single_queue_flush (mq, sq, TRUE);
+ gst_single_queue_flush (mq, sq, TRUE, FALSE);
goto done;
case GST_EVENT_FLUSH_STOP:
@@ -1513,7 +1523,7 @@ gst_multi_queue_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
res = gst_pad_push_event (sq->srcpad, event);
- gst_single_queue_flush (mq, sq, FALSE);
+ gst_single_queue_flush (mq, sq, FALSE, FALSE);
goto done;
case GST_EVENT_SEGMENT:
/* take ref because the queue will take ownership and we need the event
@@ -1600,6 +1610,10 @@ gst_multi_queue_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
guint32 curid;
GstMultiQueueItem *item;
+ GST_MULTI_QUEUE_MUTEX_LOCK (mq);
+ if (sq->srcresult != GST_FLOW_OK)
+ goto out_flushing;
+
/* Get an unique incrementing id. */
curid = g_atomic_int_add ((gint *) & mq->counter, 1);
@@ -1608,8 +1622,6 @@ gst_multi_queue_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
GST_DEBUG_OBJECT (mq,
"SingleQueue %d : Enqueuing query %p of type %s with id %d",
sq->id, query, GST_QUERY_TYPE_NAME (query), curid);
-
- GST_MULTI_QUEUE_MUTEX_LOCK (mq);
res = gst_data_queue_push (sq->queue, (GstDataQueueItem *) item);
g_cond_wait (&sq->query_handled, &mq->qlock);
res = sq->last_query;
@@ -1621,6 +1633,13 @@ gst_multi_queue_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
break;
}
return res;
+
+out_flushing:
+ {
+ GST_DEBUG_OBJECT (mq, "Flushing");
+ GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
+ return FALSE;
+ }
}
static gboolean
@@ -1639,9 +1658,9 @@ gst_multi_queue_src_activate_mode (GstPad * pad, GstObject * parent,
switch (mode) {
case GST_PAD_MODE_PUSH:
if (active) {
- result = gst_single_queue_flush (mq, sq, FALSE);
+ result = gst_single_queue_flush (mq, sq, FALSE, TRUE);
} else {
- result = gst_single_queue_flush (mq, sq, TRUE);
+ result = gst_single_queue_flush (mq, sq, TRUE, TRUE);
/* make sure streaming finishes */
result |= gst_pad_stop_task (pad);
}
@@ -1657,8 +1676,24 @@ static gboolean
gst_multi_queue_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
{
GstSingleQueue *sq = gst_pad_get_element_private (pad);
+ GstMultiQueue *mq = sq->mqueue;
+ gboolean ret;
+
+ switch (GST_EVENT_TYPE (event)) {
+ case GST_EVENT_RECONFIGURE:
+ GST_MULTI_QUEUE_MUTEX_LOCK (mq);
+ if (sq->srcresult == GST_FLOW_NOT_LINKED)
+ sq->srcresult = GST_FLOW_OK;
+ GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
- return gst_pad_push_event (sq->sinkpad, event);
+ ret = gst_pad_push_event (sq->sinkpad, event);
+ break;
+ default:
+ ret = gst_pad_push_event (sq->sinkpad, event);
+ break;
+ }
+
+ return ret;
}
static gboolean
@@ -1804,16 +1839,36 @@ single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
GstMultiQueue *mq = sq->mqueue;
GList *tmp;
GstDataQueueSize size;
- gboolean filled = FALSE;
+ gboolean filled = TRUE;
gst_data_queue_get_level (sq->queue, &size);
- GST_LOG_OBJECT (mq, "Single Queue %d is full", sq->id);
+ GST_LOG_OBJECT (mq,
+ "Single Queue %d: EOS %d, visible %u/%u, bytes %u/%u, time %"
+ G_GUINT64_FORMAT "/%" G_GUINT64_FORMAT, sq->id, sq->is_eos, size.visible,
+ sq->max_size.visible, size.bytes, sq->max_size.bytes, sq->cur_time,
+ sq->max_size.time);
GST_MULTI_QUEUE_MUTEX_LOCK (mq);
+
+ /* check if we reached the hard time/bytes limits */
+ if (sq->is_eos || IS_FILLED (sq, bytes, size.bytes) ||
+ IS_FILLED (sq, time, sq->cur_time)) {
+ goto done;
+ }
+
+ /* if hard limits are not reached then we allow one more buffer in the full
+ * queue, but only if any of the other singelqueues are empty */
for (tmp = mq->queues; tmp; tmp = g_list_next (tmp)) {
GstSingleQueue *oq = (GstSingleQueue *) tmp->data;
- GstDataQueueSize ssize;
+
+ if (oq == sq)
+ continue;
+
+ if (oq->srcresult == GST_FLOW_NOT_LINKED) {
+ GST_LOG_OBJECT (mq, "Queue %d is not-linked", oq->id);
+ continue;
+ }
GST_LOG_OBJECT (mq, "Checking Queue %d", oq->id);
@@ -1822,43 +1877,22 @@ single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
if (IS_FILLED (sq, visible, size.visible)) {
sq->max_size.visible = size.visible + 1;
GST_DEBUG_OBJECT (mq,
- "Another queue is empty, bumping single queue %d max visible to %d",
- sq->id, sq->max_size.visible);
+ "Queue %d is empty, bumping single queue %d max visible to %d",
+ oq->id, sq->id, sq->max_size.visible);
+ filled = FALSE;
+ break;
}
}
- /* check if we reached the hard time/bytes limits */
- gst_data_queue_get_level (oq->queue, &ssize);
-
- GST_DEBUG_OBJECT (mq,
- "queue %d: visible %u/%u, bytes %u/%u, time %" G_GUINT64_FORMAT "/%"
- G_GUINT64_FORMAT, oq->id, ssize.visible, oq->max_size.visible,
- ssize.bytes, oq->max_size.bytes, oq->cur_time, oq->max_size.time);
-
- /* if this queue is filled completely we must signal overrun.
- * FIXME, this seems wrong in many ways
- * - we're comparing the filled level of this queue against the
- * values of the other one
- * - we should only do this after we found no empty queues, ie, move
- * this check outside of the loop
- * - the debug statement talks about a different queue than the one
- * we are checking here.
- */
- if (sq->is_eos || IS_FILLED (sq, bytes, ssize.bytes) ||
- IS_FILLED (sq, time, sq->cur_time)) {
- GST_LOG_OBJECT (mq, "Queue %d is filled EOS %d", sq->id, sq->is_eos);
- filled = TRUE;
- }
}
- /* no queues were empty */
+
+done:
GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
/* Overrun is always forwarded, since this is blocking the upstream element */
if (filled) {
- GST_DEBUG_OBJECT (mq, "A queue is filled, signalling overrun");
+ GST_DEBUG_OBJECT (mq, "Queue %d is filled, signalling overrun", sq->id);
g_signal_emit (mq, gst_multi_queue_signals[SIGNAL_OVERRUN], 0);
}
-
- return;
}
static void
@@ -1868,8 +1902,13 @@ single_queue_underrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
GstMultiQueue *mq = sq->mqueue;
GList *tmp;
- GST_LOG_OBJECT (mq,
- "Single Queue %d is empty, Checking other single queues", sq->id);
+ if (sq->srcresult == GST_FLOW_NOT_LINKED) {
+ GST_LOG_OBJECT (mq, "Single Queue %d is empty but not-linked", sq->id);
+ return;
+ } else {
+ GST_LOG_OBJECT (mq,
+ "Single Queue %d is empty, Checking other single queues", sq->id);
+ }
GST_MULTI_QUEUE_MUTEX_LOCK (mq);
for (tmp = mq->queues; tmp; tmp = g_list_next (tmp)) {
@@ -1925,6 +1964,45 @@ single_queue_check_full (GstDataQueue * dataq, guint visible, guint bytes,
}
static void
+gst_single_queue_flush_queue (GstSingleQueue * sq, gboolean full)
+{
+ GstDataQueueItem *sitem;
+ GstMultiQueueItem *mitem;
+ gboolean was_flushing = FALSE;
+
+ while (!gst_data_queue_is_empty (sq->queue)) {
+ GstMiniObject *data;
+
+ /* FIXME: If this fails here although the queue is not empty,
+ * we're flushing... but we want to rescue all sticky
+ * events nonetheless.
+ */
+ if (!gst_data_queue_pop (sq->queue, &sitem)) {
+ was_flushing = TRUE;
+ gst_data_queue_set_flushing (sq->queue, FALSE);
+ continue;
+ }
+
+ mitem = (GstMultiQueueItem *) sitem;
+
+ data = sitem->object;
+
+ if (!full && !mitem->is_query && GST_IS_EVENT (data)
+ && GST_EVENT_IS_STICKY (data)
+ && GST_EVENT_TYPE (data) != GST_EVENT_SEGMENT
+ && GST_EVENT_TYPE (data) != GST_EVENT_EOS) {
+ gst_pad_store_sticky_event (sq->srcpad, GST_EVENT_CAST (data));
+ }
+
+ sitem->destroy (sitem);
+ }
+
+ gst_data_queue_flush (sq->queue);
+ if (was_flushing)
+ gst_data_queue_set_flushing (sq->queue, TRUE);
+}
+
+static void
gst_single_queue_free (GstSingleQueue * sq)
{
/* DRAIN QUEUE */
@@ -1983,7 +2061,7 @@ gst_single_queue_new (GstMultiQueue * mqueue, guint id)
sq->mqueue = mqueue;
sq->srcresult = GST_FLOW_FLUSHING;
sq->pushed = FALSE;
- sq->queue = gst_data_queue_new_full ((GstDataQueueCheckFullFunction)
+ sq->queue = gst_data_queue_new ((GstDataQueueCheckFullFunction)
single_queue_check_full,
(GstDataQueueFullCallback) single_queue_overrun_cb,
(GstDataQueueEmptyCallback) single_queue_underrun_cb, sq);
diff --git a/plugins/elements/gstmultiqueue.h b/plugins/elements/gstmultiqueue.h
index 986dc22..adeeb18 100644
--- a/plugins/elements/gstmultiqueue.h
+++ b/plugins/elements/gstmultiqueue.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -24,7 +24,7 @@
#define __GST_MULTI_QUEUE_H__
#include <gst/gst.h>
-#include "gstdataqueue.h"
+#include <gst/base/gstdataqueue.h>
G_BEGIN_DECLS
diff --git a/plugins/elements/gstoutputselector.c b/plugins/elements/gstoutputselector.c
index 545d068..fe5f99d 100644
--- a/plugins/elements/gstoutputselector.c
+++ b/plugins/elements/gstoutputselector.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -546,19 +546,19 @@ gst_output_selector_event (GstPad * pad, GstObject * parent, GstEvent * event)
res = gst_pad_event_default (pad, parent, event);
break;
}
- case GST_EVENT_EOS:
- /* Send eos to all src pads */
- res = gst_pad_event_default (pad, parent, event);
- break;
default:
{
- /* Send other events to pending or active src pad */
- active = gst_output_selector_get_active (sel);
- if (active) {
- res = gst_pad_push_event (active, event);
- gst_object_unref (active);
+ if (GST_EVENT_IS_STICKY (event)) {
+ res = gst_pad_event_default (pad, parent, event);
} else {
- gst_event_unref (event);
+ /* Send other events to pending or active src pad */
+ active = gst_output_selector_get_active (sel);
+ if (active) {
+ res = gst_pad_push_event (active, event);
+ gst_object_unref (active);
+ } else {
+ gst_event_unref (event);
+ }
}
break;
}
diff --git a/plugins/elements/gstoutputselector.h b/plugins/elements/gstoutputselector.h
index b2a4728..360e16e 100644
--- a/plugins/elements/gstoutputselector.h
+++ b/plugins/elements/gstoutputselector.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_OUTPUT_SELECTOR_H__
diff --git a/plugins/elements/gstqueue.c b/plugins/elements/gstqueue.c
index 0cba033..a9e802c 100644
--- a/plugins/elements/gstqueue.c
+++ b/plugins/elements/gstqueue.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -92,7 +92,7 @@ GST_DEBUG_CATEGORY_STATIC (queue_dataflow);
queue->cur_level.time, \
queue->min_threshold.time, \
queue->max_size.time, \
- queue->queue.length)
+ gst_queue_array_get_length (queue->queue))
/* Queue signals and args */
enum
@@ -119,7 +119,8 @@ enum
PROP_MIN_THRESHOLD_BYTES,
PROP_MIN_THRESHOLD_TIME,
PROP_LEAKY,
- PROP_SILENT
+ PROP_SILENT,
+ PROP_FLUSH_ON_EOS
};
/* default property values */
@@ -208,7 +209,7 @@ static gboolean gst_queue_handle_src_event (GstPad * pad, GstObject * parent,
static gboolean gst_queue_handle_src_query (GstPad * pad, GstObject * parent,
GstQuery * query);
-static void gst_queue_locked_flush (GstQueue * queue);
+static void gst_queue_locked_flush (GstQueue * queue, gboolean full);
static gboolean gst_queue_src_activate_mode (GstPad * pad, GstObject * parent,
GstPadMode mode, gboolean active);
@@ -218,6 +219,13 @@ static gboolean gst_queue_sink_activate_mode (GstPad * pad, GstObject * parent,
static gboolean gst_queue_is_empty (GstQueue * queue);
static gboolean gst_queue_is_filled (GstQueue * queue);
+
+typedef struct
+{
+ gboolean is_query;
+ GstMiniObject *item;
+} GstQueueItem;
+
#define GST_TYPE_QUEUE_LEAKY (queue_leaky_get_type ())
static GType
@@ -359,6 +367,26 @@ gst_queue_class_init (GstQueueClass * klass)
"Don't emit queue signals", FALSE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ /**
+ * GstQueue:flush-on-eos
+ *
+ * Discard all data in the queue when an EOS event is received, and pass
+ * on the EOS event as soon as possible (instead of waiting until all
+ * buffers in the queue have been processed, which is the default behaviour).
+ *
+ * Flushing the queue on EOS might be useful when capturing and encoding
+ * from a live source, to finish up the recording quickly in cases when
+ * the encoder is slow. Note that this might mean some data from the end of
+ * the recoding data might be lost though (never more than the configured
+ * max. sizes though).
+ *
+ * Since: 1.2
+ */
+ g_object_class_install_property (gobject_class, PROP_FLUSH_ON_EOS,
+ g_param_spec_boolean ("flush-on-eos", "Flush on EOS",
+ "Discard all data in the queue when an EOS event is received", FALSE,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
gobject_class->finalize = gst_queue_finalize;
gst_element_class_set_static_metadata (gstelement_class,
@@ -416,8 +444,9 @@ gst_queue_init (GstQueue * queue)
g_mutex_init (&queue->qlock);
g_cond_init (&queue->item_add);
g_cond_init (&queue->item_del);
+ g_cond_init (&queue->query_handled);
- gst_queue_array_init (&queue->queue, DEFAULT_MAX_SIZE_BUFFERS * 3 / 2);
+ queue->queue = gst_queue_array_new (DEFAULT_MAX_SIZE_BUFFERS * 3 / 2);
queue->sinktime = GST_CLOCK_TIME_NONE;
queue->srctime = GST_CLOCK_TIME_NONE;
@@ -435,22 +464,23 @@ gst_queue_init (GstQueue * queue)
static void
gst_queue_finalize (GObject * object)
{
- GstMiniObject *data;
GstQueue *queue = GST_QUEUE (object);
GST_DEBUG_OBJECT (queue, "finalizing queue");
- while (!gst_queue_array_is_empty (&queue->queue)) {
- data = gst_queue_array_pop_head (&queue->queue);
+ while (!gst_queue_array_is_empty (queue->queue)) {
+ GstQueueItem *qitem = gst_queue_array_pop_head (queue->queue);
/* FIXME: if it's a query, shouldn't we unref that too? */
- if (!GST_IS_QUERY (data))
- gst_mini_object_unref (data);
+ if (!qitem->is_query)
+ gst_mini_object_unref (qitem->item);
+ g_slice_free (GstQueueItem, qitem);
}
- gst_queue_array_clear (&queue->queue);
+ gst_queue_array_free (queue->queue);
g_mutex_clear (&queue->qlock);
g_cond_clear (&queue->item_add);
g_cond_clear (&queue->item_del);
+ g_cond_clear (&queue->query_handled);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -552,17 +582,25 @@ apply_buffer (GstQueue * queue, GstBuffer * buffer, GstSegment * segment,
}
static void
-gst_queue_locked_flush (GstQueue * queue)
+gst_queue_locked_flush (GstQueue * queue, gboolean full)
{
- GstMiniObject *data;
+ while (!gst_queue_array_is_empty (queue->queue)) {
+ GstQueueItem *qitem = gst_queue_array_pop_head (queue->queue);
- while (!gst_queue_array_is_empty (&queue->queue)) {
- data = gst_queue_array_pop_head (&queue->queue);
/* Then lose another reference because we are supposed to destroy that
data when flushing */
- if (!GST_IS_QUERY (data))
- gst_mini_object_unref (data);
+ if (!full && !qitem->is_query && GST_IS_EVENT (qitem->item)
+ && GST_EVENT_IS_STICKY (qitem->item)
+ && GST_EVENT_TYPE (qitem->item) != GST_EVENT_SEGMENT
+ && GST_EVENT_TYPE (qitem->item) != GST_EVENT_EOS) {
+ gst_pad_store_sticky_event (queue->srcpad, GST_EVENT_CAST (qitem->item));
+ }
+ if (!qitem->is_query)
+ gst_mini_object_unref (qitem->item);
+ g_slice_free (GstQueueItem, qitem);
}
+ queue->last_query = FALSE;
+ g_cond_signal (&queue->query_handled);
GST_QUEUE_CLEAR_LEVEL (queue->cur_level);
queue->min_threshold.buffers = queue->orig_min_threshold.buffers;
queue->min_threshold.bytes = queue->orig_min_threshold.bytes;
@@ -589,8 +627,12 @@ gst_queue_locked_enqueue_buffer (GstQueue * queue, gpointer item)
queue->cur_level.bytes += gst_buffer_get_size (buffer);
apply_buffer (queue, buffer, &queue->sink_segment, TRUE, TRUE);
- if (item)
- gst_queue_array_push_tail (&queue->queue, item);
+ if (item) {
+ GstQueueItem *qitem = g_slice_new (GstQueueItem);
+ qitem->item = item;
+ qitem->is_query = FALSE;
+ gst_queue_array_push_tail (queue->queue, qitem);
+ }
GST_QUEUE_SIGNAL_ADD (queue);
}
@@ -601,17 +643,20 @@ gst_queue_locked_enqueue_event (GstQueue * queue, gpointer item)
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_EOS:
+ GST_CAT_LOG_OBJECT (queue_dataflow, queue, "got EOS from upstream");
/* Zero the thresholds, this makes sure the queue is completely
* filled and we can read all data from the queue. */
- GST_QUEUE_CLEAR_LEVEL (queue->min_threshold);
+ if (queue->flush_on_eos)
+ gst_queue_locked_flush (queue, FALSE);
+ else
+ GST_QUEUE_CLEAR_LEVEL (queue->min_threshold);
/* mark the queue as EOS. This prevents us from accepting more data. */
- GST_CAT_LOG_OBJECT (queue_dataflow, queue, "got EOS from upstream");
queue->eos = TRUE;
break;
case GST_EVENT_SEGMENT:
apply_segment (queue, event, &queue->sink_segment, TRUE);
/* if the queue is empty, apply sink segment on the source */
- if (queue->queue.length == 0) {
+ if (gst_queue_array_is_empty (queue->queue)) {
GST_CAT_LOG_OBJECT (queue_dataflow, queue, "Apply segment on srcpad");
apply_segment (queue, event, &queue->src_segment, FALSE);
queue->newseg_applied_to_src = TRUE;
@@ -624,8 +669,12 @@ gst_queue_locked_enqueue_event (GstQueue * queue, gpointer item)
break;
}
- if (item)
- gst_queue_array_push_tail (&queue->queue, item);
+ if (item) {
+ GstQueueItem *qitem = g_slice_new (GstQueueItem);
+ qitem->item = item;
+ qitem->is_query = FALSE;
+ gst_queue_array_push_tail (queue->queue, qitem);
+ }
GST_QUEUE_SIGNAL_ADD (queue);
}
@@ -633,12 +682,16 @@ gst_queue_locked_enqueue_event (GstQueue * queue, gpointer item)
static GstMiniObject *
gst_queue_locked_dequeue (GstQueue * queue)
{
+ GstQueueItem *qitem;
GstMiniObject *item;
- item = gst_queue_array_pop_head (&queue->queue);
- if (item == NULL)
+ qitem = gst_queue_array_pop_head (queue->queue);
+ if (qitem == NULL)
goto no_item;
+ item = qitem->item;
+ g_slice_free (GstQueueItem, qitem);
+
if (GST_IS_BUFFER (item)) {
GstBuffer *buffer = GST_BUFFER_CAST (item);
@@ -718,6 +771,8 @@ gst_queue_handle_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
/* unblock the loop and chain functions */
GST_QUEUE_SIGNAL_ADD (queue);
GST_QUEUE_SIGNAL_DEL (queue);
+ queue->last_query = FALSE;
+ g_cond_signal (&queue->query_handled);
GST_QUEUE_MUTEX_UNLOCK (queue);
/* make sure it pauses, this should happen since we sent
@@ -733,7 +788,7 @@ gst_queue_handle_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
gst_pad_push_event (queue->srcpad, event);
GST_QUEUE_MUTEX_LOCK (queue);
- gst_queue_locked_flush (queue);
+ gst_queue_locked_flush (queue, FALSE);
queue->srcresult = GST_FLOW_OK;
queue->eos = FALSE;
queue->unexpected = FALSE;
@@ -747,14 +802,24 @@ gst_queue_handle_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
default:
if (GST_EVENT_IS_SERIALIZED (event)) {
/* serialized events go in the queue */
- GST_QUEUE_MUTEX_LOCK_CHECK (queue, out_flushing);
+ GST_QUEUE_MUTEX_LOCK (queue);
+ if (queue->srcresult != GST_FLOW_OK) {
+ /* Errors in sticky event pushing are no problem and ignored here
+ * as they will cause more meaningful errors during data flow.
+ * For EOS events, that are not followed by data flow, we still
+ * return FALSE here though.
+ */
+ if (!GST_EVENT_IS_STICKY (event) ||
+ GST_EVENT_TYPE (event) == GST_EVENT_EOS)
+ goto out_flow_error;
+ }
/* refuse more events on EOS */
if (queue->eos)
goto out_eos;
gst_queue_locked_enqueue_event (queue, event);
GST_QUEUE_MUTEX_UNLOCK (queue);
} else {
- /* non-serialized events are passed upstream. */
+ /* non-serialized events are forwarded downstream immediately */
gst_pad_push_event (queue->srcpad, event);
}
break;
@@ -763,17 +828,18 @@ done:
return TRUE;
/* ERRORS */
-out_flushing:
+out_eos:
{
- GST_CAT_LOG_OBJECT (queue_dataflow, queue,
- "refusing event, we are flushing");
+ GST_CAT_LOG_OBJECT (queue_dataflow, queue, "refusing event, we are EOS");
GST_QUEUE_MUTEX_UNLOCK (queue);
gst_event_unref (event);
return FALSE;
}
-out_eos:
+out_flow_error:
{
- GST_CAT_LOG_OBJECT (queue_dataflow, queue, "refusing event, we are EOS");
+ GST_CAT_LOG_OBJECT (queue_dataflow, queue,
+ "refusing event, we have a downstream flow error: %s",
+ gst_flow_get_name (queue->srcresult));
GST_QUEUE_MUTEX_UNLOCK (queue);
gst_event_unref (event);
return FALSE;
@@ -789,16 +855,19 @@ gst_queue_handle_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
switch (GST_QUERY_TYPE (query)) {
default:
if (G_UNLIKELY (GST_QUERY_IS_SERIALIZED (query))) {
+ GstQueueItem *qitem;
+
GST_QUEUE_MUTEX_LOCK_CHECK (queue, out_flushing);
GST_LOG_OBJECT (queue, "queuing query %p (%s)", query,
GST_QUERY_TYPE_NAME (query));
- gst_queue_array_push_tail (&queue->queue, query);
+ qitem = g_slice_new (GstQueueItem);
+ qitem->item = GST_MINI_OBJECT_CAST (query);
+ qitem->is_query = TRUE;
+ gst_queue_array_push_tail (queue->queue, qitem);
GST_QUEUE_SIGNAL_ADD (queue);
- while (queue->queue.length != 0) {
- /* for as long as the queue has items, we know the query is
- * not handled yet */
- GST_QUEUE_WAIT_DEL_CHECK (queue, out_flushing);
- }
+ g_cond_wait (&queue->query_handled, &queue->qlock);
+ if (queue->srcresult != GST_FLOW_OK)
+ goto out_flushing;
res = queue->last_query;
GST_QUEUE_MUTEX_UNLOCK (queue);
} else {
@@ -811,16 +880,7 @@ gst_queue_handle_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
/* ERRORS */
out_flushing:
{
- gint index;
-
GST_DEBUG_OBJECT (queue, "we are flushing");
-
- /* Remove query from queue if still there, since we hold no ref to it */
- index = gst_queue_array_find (&queue->queue, NULL, query);
-
- if (index >= 0)
- gst_queue_array_drop_element (&queue->queue, index);
-
GST_QUEUE_MUTEX_UNLOCK (queue);
return FALSE;
}
@@ -829,17 +889,17 @@ out_flushing:
static gboolean
gst_queue_is_empty (GstQueue * queue)
{
- GstMiniObject *head;
+ GstQueueItem *head;
- if (queue->queue.length == 0)
+ if (gst_queue_array_is_empty (queue->queue))
return TRUE;
/* Only consider the queue empty if the minimum thresholds
* are not reached and data is at the queue head. Otherwise
* we would block forever on serialized queries.
*/
- head = queue->queue.array[queue->queue.head];
- if (!GST_IS_BUFFER (head) && !GST_IS_BUFFER_LIST (head))
+ head = gst_queue_array_peek_head (queue->queue);
+ if (!GST_IS_BUFFER (head->item) && !GST_IS_BUFFER_LIST (head->item))
return FALSE;
/* It is possible that a max size is reached before all min thresholds are.
@@ -878,6 +938,12 @@ gst_queue_leak_downstream (GstQueue * queue)
GST_CAT_DEBUG_OBJECT (queue_dataflow, queue,
"queue is full, leaking item %p on downstream end", leak);
+ if (GST_IS_EVENT (leak) && GST_EVENT_IS_STICKY (leak)) {
+ GST_CAT_DEBUG_OBJECT (queue_dataflow, queue,
+ "Storing sticky event %s on srcpad", GST_EVENT_TYPE_NAME (leak));
+ gst_pad_store_sticky_event (queue->srcpad, GST_EVENT_CAST (leak));
+ }
+
if (!GST_IS_QUERY (leak))
gst_mini_object_unref (leak);
@@ -1087,6 +1153,7 @@ next:
GST_CAT_LOG_OBJECT (queue_dataflow, queue,
"dropping query %p because of EOS", query);
queue->last_query = FALSE;
+ g_cond_signal (&queue->query_handled);
}
}
/* no more items in the queue. Set the unexpected flag so that upstream
@@ -1113,8 +1180,13 @@ next:
}
} else if (GST_IS_QUERY (data)) {
GstQuery *query = GST_QUERY_CAST (data);
+ gboolean ret;
- queue->last_query = gst_pad_peer_query (queue->srcpad, query);
+ GST_QUEUE_MUTEX_UNLOCK (queue);
+ ret = gst_pad_peer_query (queue->srcpad, query);
+ GST_QUEUE_MUTEX_LOCK_CHECK (queue, out_flushing_query);
+ queue->last_query = ret;
+ g_cond_signal (&queue->query_handled);
GST_CAT_LOG_OBJECT (queue_dataflow, queue,
"did query %p, return %d", query, queue->last_query);
}
@@ -1132,6 +1204,13 @@ out_flushing:
GST_CAT_LOG_OBJECT (queue_dataflow, queue, "exit because we are flushing");
return GST_FLOW_FLUSHING;
}
+out_flushing_query:
+ {
+ queue->last_query = FALSE;
+ g_cond_signal (&queue->query_handled);
+ GST_CAT_LOG_OBJECT (queue_dataflow, queue, "exit because we are flushing");
+ return GST_FLOW_FLUSHING;
+ }
}
static void
@@ -1186,7 +1265,7 @@ out_flushing:
GST_CAT_LOG_OBJECT (queue_dataflow, queue,
"pause task, reason: %s", gst_flow_get_name (ret));
if (ret == GST_FLOW_FLUSHING)
- gst_queue_locked_flush (queue);
+ gst_queue_locked_flush (queue, FALSE);
else
GST_QUEUE_SIGNAL_DEL (queue);
GST_QUEUE_MUTEX_UNLOCK (queue);
@@ -1214,7 +1293,24 @@ gst_queue_handle_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
event, GST_EVENT_TYPE (event));
#endif
- res = gst_pad_push_event (queue->sinkpad, event);
+ switch (GST_EVENT_TYPE (event)) {
+ case GST_EVENT_RECONFIGURE:
+ GST_QUEUE_MUTEX_LOCK (queue);
+ if (queue->srcresult == GST_FLOW_NOT_LINKED) {
+ /* when we got not linked, assume downstream is linked again now and we
+ * can try to start pushing again */
+ queue->srcresult = GST_FLOW_OK;
+ gst_pad_start_task (pad, (GstTaskFunction) gst_queue_loop, pad, NULL);
+ }
+ GST_QUEUE_MUTEX_UNLOCK (queue);
+
+ res = gst_pad_push_event (queue->sinkpad, event);
+ break;
+ default:
+ res = gst_pad_event_default (pad, parent, event);
+ break;
+ }
+
return res;
}
@@ -1318,7 +1414,7 @@ gst_queue_sink_activate_mode (GstPad * pad, GstObject * parent, GstPadMode mode,
/* step 1, unblock chain function */
GST_QUEUE_MUTEX_LOCK (queue);
queue->srcresult = GST_FLOW_FLUSHING;
- gst_queue_locked_flush (queue);
+ gst_queue_locked_flush (queue, TRUE);
GST_QUEUE_MUTEX_UNLOCK (queue);
}
result = TRUE;
@@ -1433,6 +1529,9 @@ gst_queue_set_property (GObject * object,
case PROP_SILENT:
queue->silent = g_value_get_boolean (value);
break;
+ case PROP_FLUSH_ON_EOS:
+ queue->flush_on_eos = g_value_get_boolean (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1483,6 +1582,9 @@ gst_queue_get_property (GObject * object,
case PROP_SILENT:
g_value_set_boolean (value, queue->silent);
break;
+ case PROP_FLUSH_ON_EOS:
+ g_value_set_boolean (value, queue->flush_on_eos);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
diff --git a/plugins/elements/gstqueue.h b/plugins/elements/gstqueue.h
index 1ed123e..5134578 100644
--- a/plugins/elements/gstqueue.h
+++ b/plugins/elements/gstqueue.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -25,7 +25,7 @@
#define __GST_QUEUE_H__
#include <gst/gst.h>
-#include "gstqueuearray.h"
+#include <gst/base/gstqueuearray.h>
G_BEGIN_DECLS
@@ -108,7 +108,7 @@ struct _GstQueue {
gboolean eos;
/* the queue of data we're keeping our grubby hands on */
- GstQueueArray queue;
+ GstQueueArray *queue;
GstQueueSize
cur_level, /* currently in the queue */
@@ -133,7 +133,10 @@ struct _GstQueue {
/* whether the first new segment has been applied to src */
gboolean newseg_applied_to_src;
+ GCond query_handled;
gboolean last_query;
+
+ gboolean flush_on_eos; /* flush on EOS */
};
struct _GstQueueClass {
diff --git a/plugins/elements/gstqueue2.c b/plugins/elements/gstqueue2.c
index 3f12939..59d8b63 100644
--- a/plugins/elements/gstqueue2.c
+++ b/plugins/elements/gstqueue2.c
@@ -19,8 +19,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -261,9 +261,16 @@ typedef enum
GST_QUEUE2_ITEM_TYPE_UNKNOWN = 0,
GST_QUEUE2_ITEM_TYPE_BUFFER,
GST_QUEUE2_ITEM_TYPE_BUFFER_LIST,
- GST_QUEUE2_ITEM_TYPE_EVENT
+ GST_QUEUE2_ITEM_TYPE_EVENT,
+ GST_QUEUE2_ITEM_TYPE_QUERY
} GstQueue2ItemType;
+typedef struct
+{
+ GstQueue2ItemType type;
+ GstMiniObject *item;
+} GstQueue2Item;
+
/* static guint gst_queue2_signals[LAST_SIGNAL] = { 0 }; */
static void
@@ -440,6 +447,9 @@ gst_queue2_init (GstQueue2 * queue)
g_cond_init (&queue->item_del);
g_queue_init (&queue->queue);
+ g_cond_init (&queue->query_handled);
+ queue->last_query = FALSE;
+
queue->buffering_percent = 100;
/* tempfile related */
@@ -463,15 +473,19 @@ gst_queue2_finalize (GObject * object)
GST_DEBUG_OBJECT (queue, "finalizing queue");
while (!g_queue_is_empty (&queue->queue)) {
- GstMiniObject *data = g_queue_pop_head (&queue->queue);
+ GstQueue2Item *qitem = g_queue_pop_head (&queue->queue);
- gst_mini_object_unref (data);
+ if (qitem->type != GST_QUEUE2_ITEM_TYPE_QUERY)
+ gst_mini_object_unref (qitem->item);
+ g_slice_free (GstQueue2Item, qitem);
}
+ queue->last_query = FALSE;
g_queue_clear (&queue->queue);
g_mutex_clear (&queue->qlock);
g_cond_clear (&queue->item_add);
g_cond_clear (&queue->item_del);
+ g_cond_clear (&queue->query_handled);
g_timer_destroy (queue->in_timer);
g_timer_destroy (queue->out_timer);
@@ -765,102 +779,142 @@ apply_buffer_list (GstQueue2 * queue, GstBufferList * buffer_list,
update_time_level (queue);
}
-static void
-update_buffering (GstQueue2 * queue)
+static gboolean
+get_buffering_percent (GstQueue2 * queue, gboolean * is_buffering,
+ gint * percent)
{
- gint64 percent;
gboolean post = FALSE;
+ gint perc;
- if (queue->high_percent <= 0)
- return;
-
+ if (queue->high_percent <= 0) {
+ if (percent)
+ *percent = 100;
+ if (is_buffering)
+ *is_buffering = FALSE;
+ return FALSE;
+ }
#define GET_PERCENT(format,alt_max) ((queue->max_level.format) > 0 ? (queue->cur_level.format) * 100 / ((alt_max) > 0 ? MIN ((alt_max), (queue->max_level.format)) : (queue->max_level.format)) : 0)
if (queue->is_eos) {
/* on EOS we are always 100% full, we set the var here so that it we can
* reuse the logic below to stop buffering */
- percent = 100;
+ perc = 100;
GST_LOG_OBJECT (queue, "we are EOS");
} else {
/* figure out the percent we are filled, we take the max of all formats. */
if (!QUEUE_IS_USING_RING_BUFFER (queue)) {
- percent = GET_PERCENT (bytes, 0);
+ perc = GET_PERCENT (bytes, 0);
} else {
guint64 rb_size = queue->ring_buffer_max_size;
- percent = GET_PERCENT (bytes, rb_size);
+ perc = GET_PERCENT (bytes, rb_size);
}
- percent = MAX (percent, GET_PERCENT (time, 0));
- percent = MAX (percent, GET_PERCENT (buffers, 0));
+ perc = MAX (perc, GET_PERCENT (time, 0));
+ perc = MAX (perc, GET_PERCENT (buffers, 0));
/* also apply the rate estimate when we need to */
if (queue->use_rate_estimate)
- percent = MAX (percent, GET_PERCENT (rate_time, 0));
+ perc = MAX (perc, GET_PERCENT (rate_time, 0));
}
+#undef GET_PERCENT
if (queue->is_buffering) {
post = TRUE;
/* if we were buffering see if we reached the high watermark */
- if (percent >= queue->high_percent)
+ if (perc >= queue->high_percent)
queue->is_buffering = FALSE;
} else {
/* we were not buffering, check if we need to start buffering if we drop
* below the low threshold */
- if (percent < queue->low_percent) {
+ if (perc < queue->low_percent) {
queue->is_buffering = TRUE;
queue->buffering_iteration++;
post = TRUE;
}
}
- if (post) {
- GstMessage *message;
- /* scale to high percent so that it becomes the 100% mark */
- percent = percent * 100 / queue->high_percent;
- /* clip */
- if (percent > 100)
- percent = 100;
+ if (is_buffering)
+ *is_buffering = queue->is_buffering;
+ /* scale to high percent so that it becomes the 100% mark */
+ perc = perc * 100 / queue->high_percent;
+ /* clip */
+ if (perc > 100)
+ perc = 100;
- if (percent != queue->buffering_percent) {
- GstBufferingMode mode;
- gint64 buffering_left;
+ if (post) {
+ if (perc == queue->buffering_percent)
+ post = FALSE;
+ else
+ queue->buffering_percent = perc;
+ }
+ if (percent)
+ *percent = perc;
- buffering_left = (percent == 100 ? 0 : -1);
+ GST_DEBUG_OBJECT (queue, "buffering %d, percent %d", queue->is_buffering,
+ perc);
- queue->buffering_percent = percent;
+ return post;
+}
- if (!QUEUE_IS_USING_QUEUE (queue)) {
- if (QUEUE_IS_USING_RING_BUFFER (queue))
- mode = GST_BUFFERING_TIMESHIFT;
- else
- mode = GST_BUFFERING_DOWNLOAD;
- } else {
- mode = GST_BUFFERING_STREAM;
- }
+static void
+get_buffering_stats (GstQueue2 * queue, gint percent, GstBufferingMode * mode,
+ gint * avg_in, gint * avg_out, gint64 * buffering_left)
+{
+ if (mode) {
+ if (!QUEUE_IS_USING_QUEUE (queue)) {
+ if (QUEUE_IS_USING_RING_BUFFER (queue))
+ *mode = GST_BUFFERING_TIMESHIFT;
+ else
+ *mode = GST_BUFFERING_DOWNLOAD;
+ } else {
+ *mode = GST_BUFFERING_STREAM;
+ }
+ }
- if (queue->use_rate_estimate) {
- guint64 max, cur;
+ if (avg_in)
+ *avg_in = queue->byte_in_rate;
+ if (avg_out)
+ *avg_out = queue->byte_out_rate;
- max = queue->max_level.rate_time;
- cur = queue->cur_level.rate_time;
+ if (buffering_left) {
+ *buffering_left = (percent == 100 ? 0 : -1);
- if (percent != 100 && max > cur)
- buffering_left = (max - cur) / 1000000;
- }
+ if (queue->use_rate_estimate) {
+ guint64 max, cur;
- GST_DEBUG_OBJECT (queue, "buffering %d percent", (gint) percent);
- message = gst_message_new_buffering (GST_OBJECT_CAST (queue),
- (gint) percent);
- gst_message_set_buffering_stats (message, mode,
- queue->byte_in_rate, queue->byte_out_rate, buffering_left);
+ max = queue->max_level.rate_time;
+ cur = queue->cur_level.rate_time;
- gst_element_post_message (GST_ELEMENT_CAST (queue), message);
+ if (percent != 100 && max > cur)
+ *buffering_left = (max - cur) / 1000000;
}
- } else {
- GST_DEBUG_OBJECT (queue, "filled %d percent", (gint) percent);
}
+}
-#undef GET_PERCENT
+static void
+update_buffering (GstQueue2 * queue)
+{
+ gint percent;
+ gboolean post = FALSE;
+
+ post = get_buffering_percent (queue, NULL, &percent);
+
+ if (post) {
+ GstMessage *message;
+ GstBufferingMode mode;
+ gint avg_in, avg_out;
+ gint64 buffering_left;
+
+ get_buffering_stats (queue, percent, &mode, &avg_in, &avg_out,
+ &buffering_left);
+
+ message = gst_message_new_buffering (GST_OBJECT_CAST (queue),
+ (gint) percent);
+ gst_message_set_buffering_stats (message, mode,
+ avg_in, avg_out, buffering_left);
+
+ gst_element_post_message (GST_ELEMENT_CAST (queue), message);
+ }
}
static void
@@ -1473,7 +1527,7 @@ gst_queue2_flush_temp_file (GstQueue2 * queue)
}
static void
-gst_queue2_locked_flush (GstQueue2 * queue)
+gst_queue2_locked_flush (GstQueue2 * queue, gboolean full)
{
if (!QUEUE_IS_USING_QUEUE (queue)) {
if (QUEUE_IS_USING_TEMP_FILE (queue))
@@ -1481,13 +1535,25 @@ gst_queue2_locked_flush (GstQueue2 * queue)
init_ranges (queue);
} else {
while (!g_queue_is_empty (&queue->queue)) {
- GstMiniObject *data = g_queue_pop_head (&queue->queue);
+ GstQueue2Item *qitem = g_queue_pop_head (&queue->queue);
+
+ if (!full && qitem->type == GST_QUEUE2_ITEM_TYPE_EVENT
+ && GST_EVENT_IS_STICKY (qitem->item)
+ && GST_EVENT_TYPE (qitem->item) != GST_EVENT_SEGMENT
+ && GST_EVENT_TYPE (qitem->item) != GST_EVENT_EOS) {
+ gst_pad_store_sticky_event (queue->srcpad,
+ GST_EVENT_CAST (qitem->item));
+ }
/* Then lose another reference because we are supposed to destroy that
data when flushing */
- gst_mini_object_unref (data);
+ if (qitem->type != GST_QUEUE2_ITEM_TYPE_QUERY)
+ gst_mini_object_unref (qitem->item);
+ g_slice_free (GstQueue2Item, qitem);
}
}
+ queue->last_query = FALSE;
+ g_cond_signal (&queue->query_handled);
GST_QUEUE2_CLEAR_LEVEL (queue->cur_level);
gst_segment_init (&queue->sink_segment, GST_FORMAT_TIME);
gst_segment_init (&queue->src_segment, GST_FORMAT_TIME);
@@ -1961,6 +2027,10 @@ gst_queue2_locked_enqueue (GstQueue2 * queue, gpointer item,
goto unexpected_event;
break;
}
+ } else if (GST_IS_QUERY (item)) {
+ /* Can't happen as we check that in the caller */
+ if (!QUEUE_IS_USING_QUEUE (queue))
+ g_assert_not_reached ();
} else {
g_warning ("Unexpected item %p added in queue %s (refcounting problem?)",
item, GST_OBJECT_NAME (queue));
@@ -1974,7 +2044,10 @@ gst_queue2_locked_enqueue (GstQueue2 * queue, gpointer item,
update_buffering (queue);
if (QUEUE_IS_USING_QUEUE (queue)) {
- g_queue_push_tail (&queue->queue, item);
+ GstQueue2Item *qitem = g_slice_new (GstQueue2Item);
+ qitem->type = item_type;
+ qitem->item = item;
+ g_queue_push_tail (&queue->queue, qitem);
} else {
gst_mini_object_unref (GST_MINI_OBJECT_CAST (item));
}
@@ -2002,10 +2075,13 @@ gst_queue2_locked_dequeue (GstQueue2 * queue, GstQueue2ItemType * item_type)
{
GstMiniObject *item;
- if (!QUEUE_IS_USING_QUEUE (queue))
+ if (!QUEUE_IS_USING_QUEUE (queue)) {
item = gst_queue2_read_item_from_file (queue);
- else
- item = g_queue_pop_head (&queue->queue);
+ } else {
+ GstQueue2Item *qitem = g_queue_pop_head (&queue->queue);
+ item = qitem->item;
+ g_slice_free (GstQueue2Item, qitem);
+ }
if (item == NULL)
goto no_item;
@@ -2076,7 +2152,10 @@ gst_queue2_locked_dequeue (GstQueue2 * queue, GstQueue2ItemType * item_type)
/* update the buffering */
if (queue->use_buffering)
update_buffering (queue);
-
+ } else if (GST_IS_QUERY (item)) {
+ GST_CAT_LOG_OBJECT (queue_dataflow, queue,
+ "retrieved query %p from queue", item);
+ *item_type = GST_QUEUE2_ITEM_TYPE_QUERY;
} else {
g_warning
("Unexpected item %p dequeued from queue %s (refcounting problem?)",
@@ -2119,6 +2198,8 @@ gst_queue2_handle_sink_event (GstPad * pad, GstObject * parent,
/* unblock the loop and chain functions */
GST_QUEUE2_SIGNAL_ADD (queue);
GST_QUEUE2_SIGNAL_DEL (queue);
+ queue->last_query = FALSE;
+ g_cond_signal (&queue->query_handled);
GST_QUEUE2_MUTEX_UNLOCK (queue);
/* make sure it pauses, this should happen since we sent
@@ -2130,6 +2211,8 @@ gst_queue2_handle_sink_event (GstPad * pad, GstObject * parent,
/* flush the sink pad */
queue->sinkresult = GST_FLOW_FLUSHING;
GST_QUEUE2_SIGNAL_DEL (queue);
+ queue->last_query = FALSE;
+ g_cond_signal (&queue->query_handled);
GST_QUEUE2_MUTEX_UNLOCK (queue);
gst_event_unref (event);
@@ -2145,7 +2228,7 @@ gst_queue2_handle_sink_event (GstPad * pad, GstObject * parent,
gst_pad_push_event (queue->srcpad, event);
GST_QUEUE2_MUTEX_LOCK (queue);
- gst_queue2_locked_flush (queue);
+ gst_queue2_locked_flush (queue, FALSE);
queue->srcresult = GST_FLOW_OK;
queue->sinkresult = GST_FLOW_OK;
queue->is_eos = FALSE;
@@ -2208,19 +2291,52 @@ static gboolean
gst_queue2_handle_sink_query (GstPad * pad, GstObject * parent,
GstQuery * query)
{
+ GstQueue2 *queue;
gboolean res;
+ queue = GST_QUEUE2 (parent);
+
switch (GST_QUERY_TYPE (query)) {
default:
if (GST_QUERY_IS_SERIALIZED (query)) {
- GST_WARNING_OBJECT (pad, "unhandled serialized query");
- res = FALSE;
+ GST_CAT_LOG_OBJECT (queue_dataflow, queue, "received query %p", query);
+ /* serialized events go in the queue. We need to be certain that we
+ * don't cause deadlocks waiting for the query return value. We check if
+ * the queue is empty (nothing is blocking downstream and the query can
+ * be pushed for sure) or we are not buffering. If we are buffering,
+ * the pipeline waits to unblock downstream until our queue fills up
+ * completely, which can not happen if we block on the query..
+ * Therefore we only potentially block when we are not buffering. */
+ GST_QUEUE2_MUTEX_LOCK_CHECK (queue, queue->sinkresult, out_flushing);
+ if (QUEUE_IS_USING_QUEUE (queue) && (gst_queue2_is_empty (queue)
+ || !queue->use_buffering)) {
+ gst_queue2_locked_enqueue (queue, query, GST_QUEUE2_ITEM_TYPE_QUERY);
+
+ STATUS (queue, queue->sinkpad, "wait for QUERY");
+ g_cond_wait (&queue->query_handled, &queue->qlock);
+ if (queue->sinkresult != GST_FLOW_OK)
+ goto out_flushing;
+ res = queue->last_query;
+ } else {
+ GST_DEBUG_OBJECT (queue,
+ "refusing query, we are not using the queue");
+ res = FALSE;
+ }
+ GST_QUEUE2_MUTEX_UNLOCK (queue);
} else {
res = gst_pad_query_default (pad, parent, query);
}
break;
}
return res;
+
+ /* ERRORS */
+out_flushing:
+ {
+ GST_DEBUG_OBJECT (queue, "refusing query, we are flushing");
+ GST_QUEUE2_MUTEX_UNLOCK (queue);
+ return FALSE;
+ }
}
static gboolean
@@ -2414,6 +2530,10 @@ gst_queue2_dequeue_on_eos (GstQueue2 * queue, GstQueue2ItemType * item_type)
GST_CAT_LOG_OBJECT (queue_dataflow, queue,
"dropping EOS buffer list %p", data);
gst_buffer_list_unref (GST_BUFFER_LIST_CAST (data));
+ } else if (*item_type == GST_QUEUE2_ITEM_TYPE_QUERY) {
+ queue->last_query = FALSE;
+ g_cond_signal (&queue->query_handled);
+ GST_CAT_LOG_OBJECT (queue_dataflow, queue, "dropping EOS query %p", data);
}
}
/* no more items in the queue. Set the unexpected flag so that upstream
@@ -2488,6 +2608,15 @@ next:
* to the caller so that the task function does not shut down */
result = GST_FLOW_OK;
}
+ } else if (item_type == GST_QUEUE2_ITEM_TYPE_QUERY) {
+ GstQuery *query = GST_QUERY_CAST (data);
+
+ queue->last_query = gst_pad_peer_query (queue->srcpad, query);
+ GST_CAT_LOG_OBJECT (queue_dataflow, queue,
+ "did query %p, return %d", query, queue->last_query);
+ g_cond_signal (&queue->query_handled);
+ GST_QUEUE2_MUTEX_LOCK_CHECK (queue, queue->srcresult, out_flushing);
+ result = GST_FLOW_OK;
}
return result;
@@ -2615,6 +2744,21 @@ gst_queue2_handle_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
gst_event_unref (event);
}
break;
+ case GST_EVENT_RECONFIGURE:
+ GST_QUEUE2_MUTEX_LOCK (queue);
+ /* assume downstream is linked now and try to push again */
+ if (queue->srcresult == GST_FLOW_NOT_LINKED) {
+ queue->srcresult = GST_FLOW_OK;
+ queue->sinkresult = GST_FLOW_OK;
+ if (GST_PAD_MODE (pad) == GST_PAD_MODE_PUSH) {
+ gst_pad_start_task (pad, (GstTaskFunction) gst_queue2_loop, pad,
+ NULL);
+ }
+ }
+ GST_QUEUE2_MUTEX_UNLOCK (queue);
+
+ res = gst_pad_push_event (queue->sinkpad, event);
+ break;
default:
res = gst_pad_push_event (queue->sinkpad, event);
break;
@@ -2671,24 +2815,30 @@ gst_queue2_handle_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
}
case GST_QUERY_BUFFERING:
{
- GstFormat format;
+ gint percent;
+ gboolean is_buffering;
+ GstBufferingMode mode;
+ gint avg_in, avg_out;
+ gint64 buffering_left;
GST_DEBUG_OBJECT (queue, "query buffering");
- /* FIXME - is this condition correct? what should ring buffer do? */
- if (QUEUE_IS_USING_QUEUE (queue)) {
- /* no temp file, just forward to the peer */
- if (!gst_pad_peer_query (queue->sinkpad, query))
- goto peer_failed;
- GST_DEBUG_OBJECT (queue, "buffering forwarded to peer");
- } else {
+ get_buffering_percent (queue, &is_buffering, &percent);
+ gst_query_set_buffering_percent (query, is_buffering, percent);
+
+ get_buffering_stats (queue, percent, &mode, &avg_in, &avg_out,
+ &buffering_left);
+ gst_query_set_buffering_stats (query, mode, avg_in, avg_out,
+ buffering_left);
+
+ if (!QUEUE_IS_USING_QUEUE (queue)) {
+ /* add ranges for download and ringbuffer buffering */
+ GstFormat format;
gint64 start, stop, range_start, range_stop;
guint64 writing_pos;
- gint percent;
- gint64 estimated_total, buffering_left;
+ gint64 estimated_total;
gint64 duration;
- gboolean peer_res, is_buffering, is_eos;
- gdouble byte_in_rate, byte_out_rate;
+ gboolean peer_res, is_eos;
GstQueue2Range *queued_ranges;
/* we need a current download region */
@@ -2696,11 +2846,7 @@ gst_queue2_handle_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
return FALSE;
writing_pos = queue->current->writing_pos;
- byte_in_rate = queue->byte_in_rate;
- byte_out_rate = queue->byte_out_rate;
- is_buffering = queue->is_buffering;
is_eos = queue->is_eos;
- percent = queue->buffering_percent;
if (is_eos) {
/* we're EOS, we know the duration in bytes now */
@@ -2716,27 +2862,13 @@ gst_queue2_handle_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
", writing %" G_GINT64_FORMAT, percent, duration, writing_pos);
/* calculate remaining and total download time */
- if (peer_res && byte_in_rate > 0.0)
- estimated_total = ((duration - writing_pos) * 1000) / byte_in_rate;
+ if (peer_res && avg_in > 0.0)
+ estimated_total = ((duration - writing_pos) * 1000) / avg_in;
else
estimated_total = -1;
- /* calculate estimated remaining buffer time */
- buffering_left = (percent == 100 ? 0 : -1);
-
- if (queue->use_rate_estimate) {
- guint64 max, cur;
-
- max = queue->max_level.rate_time;
- cur = queue->cur_level.rate_time;
-
- if (percent != 100 && max > cur)
- buffering_left = (max - cur) / 1000000;
- }
-
- GST_DEBUG_OBJECT (queue, "estimated-total %" G_GINT64_FORMAT
- ", buffering-left %" G_GINT64_FORMAT, estimated_total,
- buffering_left);
+ GST_DEBUG_OBJECT (queue, "estimated-total %" G_GINT64_FORMAT,
+ estimated_total);
gst_query_parse_buffering_range (query, &format, NULL, NULL, NULL);
@@ -2799,9 +2931,6 @@ gst_queue2_handle_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
gst_query_add_buffering_range (query, range_start, range_stop);
}
- gst_query_set_buffering_percent (query, is_buffering, percent);
- gst_query_set_buffering_stats (query, GST_BUFFERING_DOWNLOAD,
- byte_in_rate, byte_out_rate, buffering_left);
gst_query_set_buffering_range (query, format, start, stop,
estimated_total);
}
@@ -2947,7 +3076,7 @@ gst_queue2_sink_activate_mode (GstPad * pad, GstObject * parent,
GST_DEBUG_OBJECT (queue, "deactivating push mode");
queue->srcresult = GST_FLOW_FLUSHING;
queue->sinkresult = GST_FLOW_FLUSHING;
- gst_queue2_locked_flush (queue);
+ gst_queue2_locked_flush (queue, TRUE);
GST_QUEUE2_MUTEX_UNLOCK (queue);
}
result = TRUE;
diff --git a/plugins/elements/gstqueue2.h b/plugins/elements/gstqueue2.h
index b69f46b..11ee33c 100644
--- a/plugins/elements/gstqueue2.h
+++ b/plugins/elements/gstqueue2.h
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_QUEUE2_H__
#define __GST_QUEUE2_H__
@@ -97,6 +97,9 @@ struct _GstQueue2
/* the queue of data we're keeping our hands on */
GQueue queue;
+ GCond query_handled;
+ gboolean last_query; /* result of last serialized query */
+
GstQueue2Size cur_level; /* currently in the queue */
GstQueue2Size max_level; /* max. amount of data allowed in the queue */
gboolean use_buffering;
diff --git a/plugins/elements/gstqueuearray.h b/plugins/elements/gstqueuearray.h
deleted file mode 100644
index 510cbf4..0000000
--- a/plugins/elements/gstqueuearray.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* GStreamer
- * Copyright (C) 2009-2010 Edward Hervey <bilboed@bilboed.com>
- *
- * gstqueuearray.h:
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <glib.h>
-
-#ifndef __GST_QUEUE_ARRAY_H__
-#define __GST_QUEUE_ARRAY_H__
-
-typedef struct _GstQueueArray GstQueueArray;
-
-struct _GstQueueArray
-{
- gpointer *array;
- guint size;
- guint head;
- guint tail;
- guint length;
-};
-
-G_GNUC_INTERNAL void gst_queue_array_init (GstQueueArray * array,
- guint initial_size);
-
-G_GNUC_INTERNAL void gst_queue_array_clear (GstQueueArray * array);
-
-G_GNUC_INTERNAL GstQueueArray * gst_queue_array_new (guint initial_size);
-
-G_GNUC_INTERNAL gpointer gst_queue_array_pop_head (GstQueueArray * array);
-
-G_GNUC_INTERNAL void gst_queue_array_push_tail (GstQueueArray * array,
- gpointer data);
-
-G_GNUC_INTERNAL gboolean gst_queue_array_is_empty (GstQueueArray * array);
-
-G_GNUC_INTERNAL void gst_queue_array_free (GstQueueArray * array);
-
-G_GNUC_INTERNAL void gst_queue_array_drop_element (GstQueueArray * array,
- guint idx);
-
-G_GNUC_INTERNAL guint gst_queue_array_find (GstQueueArray * array,
- GCompareFunc func,
- gpointer data);
-
-#endif
diff --git a/plugins/elements/gsttee.c b/plugins/elements/gsttee.c
index f739505..a6d4b9d 100644
--- a/plugins/elements/gsttee.c
+++ b/plugins/elements/gsttee.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
@@ -262,7 +262,7 @@ gst_tee_class_init (GstTeeClass * klass)
DEFAULT_PULL_MODE,
G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
pspec_alloc_pad = g_param_spec_object ("alloc-pad", "Allocation Src Pad",
- "The pad used for gst_pad_alloc_buffer", GST_TYPE_PAD,
+ "The pad ALLOCATION queries will be proxied to (unused)", GST_TYPE_PAD,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_class_install_property (gobject_class, PROP_ALLOC_PAD,
pspec_alloc_pad);
diff --git a/plugins/elements/gsttee.h b/plugins/elements/gsttee.h
index 5d00947..c092b8f 100644
--- a/plugins/elements/gsttee.h
+++ b/plugins/elements/gsttee.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c
index fc38031..ebbb6e7 100644
--- a/plugins/elements/gsttypefindelement.c
+++ b/plugins/elements/gsttypefindelement.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-typefind
@@ -543,10 +543,14 @@ stop_typefinding (GstTypeFindElement * typefind)
gst_element_get_state (GST_ELEMENT (typefind), &state, NULL, 0);
- push_cached_buffers = (state >= GST_STATE_PAUSED);
+ push_cached_buffers = (state >= GST_STATE_PAUSED && typefind->caps);
GST_DEBUG_OBJECT (typefind, "stopping typefinding%s",
- push_cached_buffers ? " and pushing cached buffers" : "");
+ push_cached_buffers ? " and pushing cached events and buffers" : "");
+
+ typefind->mode = MODE_NORMAL;
+ if (push_cached_buffers)
+ gst_type_find_element_send_cached_events (typefind);
GST_OBJECT_LOCK (typefind);
avail = gst_adapter_available (typefind->adapter);
@@ -561,8 +565,6 @@ stop_typefinding (GstTypeFindElement * typefind)
} else {
GstPad *peer = gst_pad_get_peer (typefind->src);
- typefind->mode = MODE_NORMAL;
-
/* make sure the user gets a meaningful error message in this case,
* which is not a core bug or bug of any kind (as the default error
* message emitted by gstpad.c otherwise would make you think) */
@@ -578,7 +580,6 @@ stop_typefinding (GstTypeFindElement * typefind)
typefind->mode = MODE_ERROR; /* make the chain function error out */
gst_buffer_unref (buffer);
} else {
- gst_type_find_element_send_cached_events (typefind);
gst_pad_push (typefind->src, buffer);
}
if (peer)
@@ -612,16 +613,26 @@ gst_type_find_element_sink_event (GstPad * pad, GstObject * parent,
{
GstCaps *caps;
- /* first pass the caps event downstream */
- res = gst_pad_push_event (typefind->src, gst_event_ref (event));
-
- /* then parse and push out our data */
+ /* Parse and push out our caps and data */
gst_event_parse_caps (event, &caps);
res = gst_type_find_element_setcaps (typefind, caps);
gst_event_unref (event);
break;
}
+ case GST_EVENT_GAP:
+ {
+ GST_FIXME_OBJECT (typefind,
+ "GAP events during typefinding not handled properly");
+
+ /* FIXME: These would need to be inserted in the stream at
+ * the right position between buffers, but we combine all
+ * buffers with a GstAdapter. Drop the GAP event for now,
+ * which will only cause an implicit GAP between buffers.
+ */
+ gst_event_unref (event);
+ res = TRUE;
+ }
case GST_EVENT_EOS:
{
GST_INFO_OBJECT (typefind, "Got EOS and no type found yet");
@@ -643,13 +654,22 @@ gst_type_find_element_sink_event (GstPad * pad, GstObject * parent,
res = gst_pad_push_event (typefind->src, event);
break;
default:
- GST_DEBUG_OBJECT (typefind, "Saving %s event to send later",
- GST_EVENT_TYPE_NAME (event));
- GST_OBJECT_LOCK (typefind);
- typefind->cached_events =
- g_list_append (typefind->cached_events, event);
- GST_OBJECT_UNLOCK (typefind);
- res = TRUE;
+ /* Forward events that would happen before the caps event
+ * directly instead of storing them. There's no reason not
+ * to send them directly and we should only store events
+ * for later sending that would need to come after the caps
+ * event */
+ if (GST_EVENT_TYPE (event) < GST_EVENT_CAPS) {
+ res = gst_pad_push_event (typefind->src, event);
+ } else {
+ GST_DEBUG_OBJECT (typefind, "Saving %s event to send later",
+ GST_EVENT_TYPE_NAME (event));
+ GST_OBJECT_LOCK (typefind);
+ typefind->cached_events =
+ g_list_append (typefind->cached_events, event);
+ GST_OBJECT_UNLOCK (typefind);
+ res = TRUE;
+ }
break;
}
break;
@@ -695,35 +715,12 @@ gst_type_find_element_setcaps (GstTypeFindElement * typefind, GstCaps * caps)
GST_TYPE_FIND_MAXIMUM, caps);
/* Shortcircuit typefinding if we get caps */
- if (typefind->mode == MODE_TYPEFIND) {
- GstBuffer *buffer;
- gsize avail;
-
- GST_DEBUG_OBJECT (typefind, "Skipping typefinding, using caps from "
- "upstream buffer: %" GST_PTR_FORMAT, caps);
- typefind->mode = MODE_NORMAL;
+ GST_DEBUG_OBJECT (typefind, "Skipping typefinding, using caps from "
+ "upstream: %" GST_PTR_FORMAT, caps);
- gst_type_find_element_send_cached_events (typefind);
- GST_OBJECT_LOCK (typefind);
- avail = gst_adapter_available (typefind->adapter);
- if (avail == 0)
- goto no_data;
-
- buffer = gst_adapter_take_buffer (typefind->adapter, avail);
- GST_OBJECT_UNLOCK (typefind);
-
- GST_DEBUG_OBJECT (typefind, "Pushing buffer: %" G_GSIZE_FORMAT, avail);
- gst_pad_push (typefind->src, buffer);
- }
+ stop_typefinding (typefind);
return TRUE;
-
-no_data:
- {
- GST_DEBUG_OBJECT (typefind, "no data to push");
- GST_OBJECT_UNLOCK (typefind);
- return TRUE;
- }
}
static gchar *
@@ -852,39 +849,47 @@ gst_type_find_element_chain_do_typefinding (GstTypeFindElement * typefind,
gboolean check_avail)
{
GstTypeFindProbability probability;
- GstCaps *caps;
+ GstCaps *caps = NULL;
gsize avail;
const guint8 *data;
gboolean have_min, have_max;
GST_OBJECT_LOCK (typefind);
- avail = gst_adapter_available (typefind->adapter);
-
- if (check_avail) {
- have_min = avail >= TYPE_FIND_MIN_SIZE;
- have_max = avail >= TYPE_FIND_MAX_SIZE;
- } else {
- have_min = avail > 0;
- have_max = TRUE;
+ if (typefind->force_caps) {
+ caps = gst_caps_ref (typefind->force_caps);
+ probability = GST_TYPE_FIND_MAXIMUM;
}
- if (!have_min)
- goto not_enough_data;
+ if (!caps) {
+ avail = gst_adapter_available (typefind->adapter);
+
+ if (check_avail) {
+ have_min = avail >= TYPE_FIND_MIN_SIZE;
+ have_max = avail >= TYPE_FIND_MAX_SIZE;
+ } else {
+ have_min = avail > 0;
+ have_max = TRUE;
+ }
- /* map all available data */
- data = gst_adapter_map (typefind->adapter, avail);
- caps = gst_type_find_helper_for_data (GST_OBJECT (typefind),
- data, avail, &probability);
- gst_adapter_unmap (typefind->adapter);
+ if (!have_min)
+ goto not_enough_data;
- if (caps == NULL && have_max)
- goto no_type_found;
- else if (caps == NULL)
- goto wait_for_data;
+ /* map all available data */
+ data = gst_adapter_map (typefind->adapter, avail);
+ caps = gst_type_find_helper_for_data (GST_OBJECT (typefind),
+ data, avail, &probability);
+ gst_adapter_unmap (typefind->adapter);
+
+ if (caps == NULL && have_max)
+ goto no_type_found;
+ else if (caps == NULL)
+ goto wait_for_data;
+
+ /* found a type */
+ if (probability < typefind->min_probability)
+ goto low_probability;
+ }
- /* found a type */
- if (probability < typefind->min_probability)
- goto low_probability;
GST_OBJECT_UNLOCK (typefind);
/* probability is good enough too, so let's make it known ... emiting this
@@ -966,14 +971,6 @@ gst_type_find_element_activate_src_mode (GstPad * pad, GstObject * parent,
* activation might happen from the streaming thread. */
gst_pad_pause_task (typefind->sink);
res = gst_pad_activate_mode (typefind->sink, mode, active);
- if (active && res && typefind->caps) {
- GstCaps *caps;
- GST_OBJECT_LOCK (typefind);
- caps = gst_caps_ref (typefind->caps);
- GST_OBJECT_UNLOCK (typefind);
- res = gst_pad_set_caps (typefind->src, caps);
- gst_caps_unref (caps);
- }
break;
default:
res = TRUE;
@@ -990,47 +987,69 @@ gst_type_find_element_loop (GstPad * pad)
typefind = GST_TYPE_FIND_ELEMENT (GST_PAD_PARENT (pad));
+ if (typefind->need_stream_start) {
+ gchar *stream_id;
+
+ stream_id = gst_pad_create_stream_id (typefind->src,
+ GST_ELEMENT_CAST (typefind), NULL);
+
+ GST_DEBUG_OBJECT (typefind, "Pushing STREAM_START");
+ gst_pad_push_event (typefind->src, gst_event_new_stream_start (stream_id));
+
+ typefind->need_stream_start = FALSE;
+ g_free (stream_id);
+ }
+
if (typefind->mode == MODE_TYPEFIND) {
- GstPad *peer;
+ GstPad *peer = NULL;
GstCaps *found_caps = NULL;
GstTypeFindProbability probability = GST_TYPE_FIND_NONE;
GST_DEBUG_OBJECT (typefind, "find type in pull mode");
- peer = gst_pad_get_peer (pad);
- if (peer) {
- gint64 size;
- gchar *ext;
+ GST_OBJECT_LOCK (typefind);
+ if (typefind->force_caps) {
+ found_caps = gst_caps_ref (typefind->force_caps);
+ probability = GST_TYPE_FIND_MAXIMUM;
+ }
+ GST_OBJECT_UNLOCK (typefind);
- if (!gst_pad_query_duration (peer, GST_FORMAT_BYTES, &size)) {
- GST_WARNING_OBJECT (typefind, "Could not query upstream length!");
- gst_object_unref (peer);
+ if (!found_caps) {
+ peer = gst_pad_get_peer (pad);
+ if (peer) {
+ gint64 size;
+ gchar *ext;
- ret = GST_FLOW_ERROR;
- goto pause;
- }
+ if (!gst_pad_query_duration (peer, GST_FORMAT_BYTES, &size)) {
+ GST_WARNING_OBJECT (typefind, "Could not query upstream length!");
+ gst_object_unref (peer);
- /* the size if 0, we cannot continue */
- if (size == 0) {
- /* keep message in sync with message in sink event handler */
- GST_ELEMENT_ERROR (typefind, STREAM, TYPE_NOT_FOUND,
- (_("Stream contains no data.")), ("Can't typefind empty stream"));
- gst_object_unref (peer);
- ret = GST_FLOW_ERROR;
- goto pause;
- }
- ext = gst_type_find_get_extension (typefind, pad);
+ ret = GST_FLOW_ERROR;
+ goto pause;
+ }
- found_caps =
- gst_type_find_helper_get_range (GST_OBJECT_CAST (peer),
- GST_OBJECT_PARENT (peer),
- (GstTypeFindHelperGetRangeFunction) (GST_PAD_GETRANGEFUNC (peer)),
- (guint64) size, ext, &probability);
- g_free (ext);
+ /* the size if 0, we cannot continue */
+ if (size == 0) {
+ /* keep message in sync with message in sink event handler */
+ GST_ELEMENT_ERROR (typefind, STREAM, TYPE_NOT_FOUND,
+ (_("Stream contains no data.")), ("Can't typefind empty stream"));
+ gst_object_unref (peer);
+ ret = GST_FLOW_ERROR;
+ goto pause;
+ }
+ ext = gst_type_find_get_extension (typefind, pad);
- GST_DEBUG ("Found caps %" GST_PTR_FORMAT, found_caps);
+ found_caps =
+ gst_type_find_helper_get_range (GST_OBJECT_CAST (peer),
+ GST_OBJECT_PARENT (peer),
+ (GstTypeFindHelperGetRangeFunction) (GST_PAD_GETRANGEFUNC (peer)),
+ (guint64) size, ext, &probability);
+ g_free (ext);
- gst_object_unref (peer);
+ GST_DEBUG ("Found caps %" GST_PTR_FORMAT, found_caps);
+
+ gst_object_unref (peer);
+ }
}
if (!found_caps || probability < typefind->min_probability) {
@@ -1055,21 +1074,6 @@ gst_type_find_element_loop (GstPad * pad)
} else if (typefind->mode == MODE_NORMAL) {
GstBuffer *outbuf = NULL;
- if (typefind->need_stream_start) {
- gchar *stream_id;
-
- stream_id =
- gst_pad_create_stream_id (typefind->src, GST_ELEMENT_CAST (typefind),
- NULL);
-
- GST_DEBUG_OBJECT (typefind, "Pushing STREAM_START");
- gst_pad_push_event (typefind->src,
- gst_event_new_stream_start (stream_id));
-
- typefind->need_stream_start = FALSE;
- g_free (stream_id);
- }
-
if (typefind->need_segment) {
typefind->need_segment = FALSE;
gst_pad_push_event (typefind->src,
@@ -1176,37 +1180,10 @@ gst_type_find_element_activate_sink_mode (GstPad * pad, GstObject * parent,
static gboolean
gst_type_find_element_activate_sink (GstPad * pad, GstObject * parent)
{
- GstTypeFindElement *typefind;
GstQuery *query;
gboolean pull_mode;
- GstCaps *found_caps = NULL;
- GstTypeFindProbability probability = GST_TYPE_FIND_NONE;
GstSchedulingFlags sched_flags;
- typefind = GST_TYPE_FIND_ELEMENT (parent);
-
- /* if we have force caps, use those */
- GST_OBJECT_LOCK (typefind);
- if (typefind->force_caps) {
- found_caps = gst_caps_ref (typefind->force_caps);
- probability = GST_TYPE_FIND_MAXIMUM;
- GST_OBJECT_UNLOCK (typefind);
-
- GST_DEBUG ("Emiting found caps %" GST_PTR_FORMAT, found_caps);
- g_signal_emit (typefind, gst_type_find_element_signals[HAVE_TYPE],
- 0, probability, found_caps);
- gst_caps_unref (found_caps);
- typefind->mode = MODE_NORMAL;
- /* the signal above could have made a downstream element activate
- * the pad in pull mode, we check if the pad is already active now and if
- * so, we are done */
- if (gst_pad_is_active (pad))
- return TRUE;
-
- goto typefind_push;
- }
- GST_OBJECT_UNLOCK (typefind);
-
query = gst_query_new_scheduling ();
if (!gst_pad_peer_query (pad, query)) {
diff --git a/plugins/elements/gsttypefindelement.h b/plugins/elements/gsttypefindelement.h
index 66607db..3551ac5 100644
--- a/plugins/elements/gsttypefindelement.h
+++ b/plugins/elements/gsttypefindelement.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/plugins/elements/gstvalve.c b/plugins/elements/gstvalve.c
index bf60e60..54a9038 100644
--- a/plugins/elements/gstvalve.c
+++ b/plugins/elements/gstvalve.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*
*/
diff --git a/plugins/elements/gstvalve.h b/plugins/elements/gstvalve.h
index c12c7c7..eb3c29e 100644
--- a/plugins/elements/gstvalve.h
+++ b/plugins/elements/gstvalve.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*
*/
diff --git a/po/LINGUAS b/po/LINGUAS
index 00632a1..2469e53 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1 +1 @@
-af az be bg ca cs da de en_GB eo es el eu fi fr gl hu hr id it ja lt nb nl pl pt_BR ro ru rw sk sl sq sr sv tr uk vi zh_CN zh_TW
+af az be bg ca cs da de en_GB eo es el eu fi fr gl hu id it ja lt nb nl pl pt_BR ro ru rw sk sl sq sr sv tr uk vi zh_CN zh_TW
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 72c9c75..98c9671 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -5,12 +5,14 @@ gst/gst.c
gst/gstelement.c
gst/gsterror.c
gst/gstpipeline.c
+gst/gstregistry.c
gst/gsttaglist.c
gst/gsttrace.c
+gst/gsturi.c
gst/gstutils.c
gst/parse/grammar.y
-libs/gst/base/gstbasesrc.c
libs/gst/base/gstbasesink.c
+libs/gst/base/gstbasesrc.c
plugins/elements/gstcapsfilter.c
plugins/elements/gstfakesink.c
plugins/elements/gstfdsink.c
diff --git a/po/af.gmo b/po/af.gmo
index 9f5cd2b..1633b6c 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 879025f..aebca14 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.9.7\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2005-12-05 11:45+0200\n"
"Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
"Language-Team: Afrikaans <i18n@af.org.za>\n"
@@ -248,6 +248,10 @@ msgstr "Geen standaard foutboodskap vir domein %s en kode %d."
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "titel"
@@ -799,6 +803,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "FOUT: vanaf element %s: %s\n"
@@ -863,16 +875,6 @@ msgstr "kon nie aan bestemming-element vir URI \"%s\" verbind nie"
msgid "empty pipeline not allowed"
msgstr "leë pyplyn word nie toegelaat nie"
-#, fuzzy
-msgid "Internal clock error."
-msgstr "Interne datavloeifout."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Interne datavloeifout."
-
msgid "A lot of buffers are being dropped."
msgstr ""
@@ -883,6 +885,16 @@ msgstr "Interne datavloeiprobleem."
msgid "Internal data stream error."
msgstr "Interne datavloeifout."
+msgid "Internal data flow error."
+msgstr "Interne datavloeifout."
+
+#, fuzzy
+msgid "Internal clock error."
+msgstr "Interne datavloeifout."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr ""
@@ -1112,6 +1124,9 @@ msgstr "FOUT: vanaf element %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
msgid "buffering..."
msgstr ""
@@ -1134,10 +1149,18 @@ msgstr ""
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Pyplyn word gestel na NULL ...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "geen element \"%s\""
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "FOUT: vanaf element %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Wys etikette (ook bekend as metadata)"
diff --git a/po/az.gmo b/po/az.gmo
index 2232ad6..553847a 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 7ce4a2c..5c494a2 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer-0.8.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2004-03-19 18:40+0200\n"
"Last-Translator: Metin Amiroff <metin@karegen.com>\n"
"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
@@ -233,6 +233,10 @@ msgstr ""
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr ""
@@ -754,6 +758,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr ""
@@ -816,22 +828,22 @@ msgstr ""
msgid "empty pipeline not allowed"
msgstr ""
-msgid "Internal clock error."
+msgid "A lot of buffers are being dropped."
msgstr ""
-msgid "Failed to map buffer."
+msgid "Internal data flow problem."
msgstr ""
-msgid "Internal data flow error."
+msgid "Internal data stream error."
msgstr ""
-msgid "A lot of buffers are being dropped."
+msgid "Internal data flow error."
msgstr ""
-msgid "Internal data flow problem."
+msgid "Internal clock error."
msgstr ""
-msgid "Internal data stream error."
+msgid "Failed to map buffer."
msgstr ""
msgid "Filter caps"
@@ -1059,6 +1071,9 @@ msgstr ""
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
msgid "buffering..."
msgstr ""
@@ -1079,9 +1094,17 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, c-format
msgid "Missing element: %s\n"
msgstr ""
+#, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr ""
+
msgid "Output tags (also known as metadata)"
msgstr ""
diff --git a/po/be.gmo b/po/be.gmo
index b7dbc42..4404452 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index 42e94e4..dbb4863 100644
--- a/po/be.po
+++ b/po/be.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.9.7\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2006-01-18 22:26+0200\n"
"Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
"Language-Team: Belarusian <i18n@mova.org>\n"
@@ -236,6 +236,10 @@ msgstr ""
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "загаловак"
@@ -758,6 +762,14 @@ msgid ", "
msgstr ""
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr ""
@@ -822,22 +834,22 @@ msgstr ""
msgid "empty pipeline not allowed"
msgstr ""
-msgid "Internal clock error."
+msgid "A lot of buffers are being dropped."
msgstr ""
-msgid "Failed to map buffer."
+msgid "Internal data flow problem."
msgstr ""
-msgid "Internal data flow error."
+msgid "Internal data stream error."
msgstr ""
-msgid "A lot of buffers are being dropped."
+msgid "Internal data flow error."
msgstr ""
-msgid "Internal data flow problem."
+msgid "Internal clock error."
msgstr ""
-msgid "Internal data stream error."
+msgid "Failed to map buffer."
msgstr ""
msgid "Filter caps"
@@ -1068,6 +1080,9 @@ msgstr ""
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
msgid "buffering..."
msgstr ""
@@ -1088,9 +1103,17 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, c-format
msgid "Missing element: %s\n"
msgstr ""
+#, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr ""
+
msgid "Output tags (also known as metadata)"
msgstr ""
diff --git a/po/bg.gmo b/po/bg.gmo
index 66918b2..3cc0489 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 196a63d..c11b47d 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2011-04-26 22:40+0300\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -255,6 +255,10 @@ msgstr "Няма стандартно съобщение за грешка за
msgid "Selected clock cannot be used in pipeline."
msgstr "Избраният часовник не може да се използва в конвейер."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "заглавие"
@@ -332,8 +336,8 @@ msgstr "допълнителен коментар"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"свободен текст относно данните във формат ключ=стойност или ключ[език]"
-"=коментар"
+"свободен текст относно данните във формат ключ=стойност или "
+"ключ[език]=коментар"
msgid "track number"
msgstr "номер на песента"
@@ -791,6 +795,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ГРЕШКА: от елемент %s: %s\n"
@@ -855,15 +867,6 @@ msgstr "не може да се свърже елемент-приемник к
msgid "empty pipeline not allowed"
msgstr "не е позволен празен конвейер"
-msgid "Internal clock error."
-msgstr "Вътрешна грешка на часовника."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Вътрешна грешка на потока от данни."
-
msgid "A lot of buffers are being dropped."
msgstr "Много буфери се пропускат."
@@ -873,6 +876,15 @@ msgstr "Вътрешен проблем на потока от данни."
msgid "Internal data stream error."
msgstr "Вътрешна грешка на потока от данни."
+msgid "Internal data flow error."
+msgstr "Вътрешна грешка на потока от данни."
+
+msgid "Internal clock error."
+msgstr "Вътрешна грешка на часовника."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Възможности на филтър"
@@ -1114,6 +1126,10 @@ msgstr "ПРЕДУПРЕЖДЕНИЕ: от елемент %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Буфериран, изчаква се завършването на буферирането…\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Буфериран, изчаква се завършването на буферирането…\n"
+
msgid "buffering..."
msgstr "буфериране…"
@@ -1133,10 +1149,18 @@ msgstr "Задаване на състоянието на %s по заявка
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Прекъсване: Конвейерът се спира…\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "елементът „%s“ липсва"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "ПРЕДУПРЕЖДЕНИЕ: от елемент %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Изходни съобщения за етикетите (метаданните)"
diff --git a/po/ca.gmo b/po/ca.gmo
index 021abc2..7c78b40 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 7601a6e..4199a7d 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.30.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-11-04 19:41+0100\n"
"Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
@@ -255,6 +255,10 @@ msgstr ""
msgid "Selected clock cannot be used in pipeline."
msgstr "El rellotge seleccionat no es pot emprar al conducte."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "títol"
@@ -800,6 +804,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ERROR: des de l'element %s: %s\n"
@@ -864,16 +876,6 @@ msgstr "No s'ha pogut enllaçar l'element de sortida per a l'URI «%s»"
msgid "empty pipeline not allowed"
msgstr "no es permet un conducte buit"
-msgid "Internal clock error."
-msgstr "S'ha produït un error intern del rellotge."
-
-#, fuzzy
-msgid "Failed to map buffer."
-msgstr "No s'ha pogut codificar la imatge."
-
-msgid "Internal data flow error."
-msgstr "S'ha produït un error intern de flux de dades."
-
msgid "A lot of buffers are being dropped."
msgstr "S'estan descartant moltes memòries intermèdies."
@@ -883,6 +885,16 @@ msgstr "Hi ha un problema intern de flux de dades."
msgid "Internal data stream error."
msgstr "S'ha produït un error intern de flux de dades."
+msgid "Internal data flow error."
+msgstr "S'ha produït un error intern de flux de dades."
+
+msgid "Internal clock error."
+msgstr "S'ha produït un error intern del rellotge."
+
+#, fuzzy
+msgid "Failed to map buffer."
+msgstr "No s'ha pogut codificar la imatge."
+
msgid "Filter caps"
msgstr "Filtra les capacitats"
@@ -1119,6 +1131,11 @@ msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
"S'ha preparat, s'està esperant a que s'òmpliga la memòria intermèdial…\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+"S'ha preparat, s'està esperant a que s'òmpliga la memòria intermèdial…\n"
+
msgid "buffering..."
msgstr "s'està omplint la memòria intermèdia…"
@@ -1141,10 +1158,18 @@ msgstr "S'està establint l'estat a %s a petició de %s…\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Interrupció: S'està aturant el conducte…\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "no hi ha cap element «%s»"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "AVÍS: des de l'element %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Mostra els marcadors (també coneguts com metadades)"
diff --git a/po/cs.gmo b/po/cs.gmo
index 16c2bc2..8771773 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 9859edd..27bdcbb 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2011-12-01 08:17+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -251,6 +251,10 @@ msgstr "Pro doménu %s a kód %d není žádná standardní zpráva o chybě."
msgid "Selected clock cannot be used in pipeline."
msgstr "Vybrané hodiny nelze použít v rouře."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "název"
@@ -792,6 +796,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "CHYBA: od prvku %s: %s\n"
@@ -856,15 +868,6 @@ msgstr "nelze připojit cílový prvek pro adresu URI „%s“"
msgid "empty pipeline not allowed"
msgstr "prázdná roura není povolena"
-msgid "Internal clock error."
-msgstr "Interní chyba hodin."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Interní chyba toku dat."
-
msgid "A lot of buffers are being dropped."
msgstr "Většina vyrovnávacích pamětí je vyřazena."
@@ -874,6 +877,15 @@ msgstr "Interní problém toku dat."
msgid "Internal data stream error."
msgstr "Interní chyba proudu dat."
+msgid "Internal data flow error."
+msgstr "Interní chyba toku dat."
+
+msgid "Internal clock error."
+msgstr "Interní chyba hodin."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filtrovat schopnosti"
@@ -1116,6 +1128,10 @@ msgstr "VAROVÁNÍ: od prvku %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Předvinuto, čeká se na dokončení ukládání do vyrovnávací paměti…\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Předvinuto, čeká se na dokončení ukládání do vyrovnávací paměti…\n"
+
msgid "buffering..."
msgstr "ukládá se do vyrovnávací paměti…"
@@ -1136,10 +1152,18 @@ msgstr "Nastavuje se stav na %s na základě požadavku od %s…\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Přerušení: Zastavuje se roura…\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "prvek „%s“ neexistuje"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "VAROVÁNÍ: od prvku %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Vypsat štítky (známé také jako metadata)"
diff --git a/po/da.gmo b/po/da.gmo
index a112011..9e7dca1 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 56989d6..4f7300c 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.30.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-11-06 22:52+0100\n"
"Last-Translator: Mogens Jaeger <mogensjaeger@gmail.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -257,6 +257,10 @@ msgstr "Ingen standard fejlmeddelelse for domæne %s og kode %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Valgt tid kan ikke bruges i rørledningen."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "Kunne ikke skrive registraturcache til %s: %s"
+
msgid "title"
msgstr "titel"
@@ -795,6 +799,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "FEJL: fra element %s: %s\n"
@@ -859,15 +871,6 @@ msgstr "kunne ikke lænke udgangselement for URI \"%s\""
msgid "empty pipeline not allowed"
msgstr "tom rørledning ikke tilladt"
-msgid "Internal clock error."
-msgstr "Fejl i internt ur."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Intern datastrømsfejl."
-
msgid "A lot of buffers are being dropped."
msgstr "En masse af bufferens indhold smides væk."
@@ -877,6 +880,15 @@ msgstr "Intern datastrømsproblem."
msgid "Internal data stream error."
msgstr "Intern datastrømsfejl."
+msgid "Internal data flow error."
+msgstr "Intern datastrømsfejl."
+
+msgid "Internal clock error."
+msgstr "Fejl i internt ur."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filterkapabilitet"
@@ -1116,6 +1128,11 @@ msgstr "ADVARSEL: fra element %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Prerolled, venter på at bufferingen slutter...\n"
+# Ingen anelse
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Prerolled, venter på at bufferingen slutter...\n"
+
msgid "buffering..."
msgstr "indlæser i buffer..."
@@ -1135,10 +1152,18 @@ msgstr "Sætter tilstand til %s som krævet af %s...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Afbrydelse: Stopper rørledning...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "intet element \"%s\""
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "ADVARSEL: fra element %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Uddatamærkater (også kendt som metadata)"
@@ -1273,9 +1298,6 @@ msgstr "Rørledning frigøres ...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Undlad installering af signalhåndtering for SIGUSR1 og SIGUSR2"
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "Kunne ikke skrive registraturcache til %s: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Kunne ikke genskanne registratur %s: %s"
diff --git a/po/de.gmo b/po/de.gmo
index f73a583..203707e 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 2fec83f..26280a8 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,17 +1,17 @@
-# German translation for gstreamer 1.0.3
+# German translation for gstreamer 0.10.30.3
# Copyright (C) 2004 Free Software Foundation, Inc.
# This file is distributed under the same license as the gstreamer package.
#
# Roland Illig <roland.illig@gmx.de>, 2004.
-# Christian Kirbach <christian.kirbach@googlemail.com>, 2009, 2010, 2011, 2012.
+# Christian Kirbach <christian.kirbach@googlemail.com>, 2009, 2010, 2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer 1.0.3\n"
+"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2012-11-28 19:22+0100\n"
-"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
+"PO-Revision-Date: 2011-04-27 23:44+0200\n"
+"Last-Translator: Christian Kirbach <christian.kirbach@googlemail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
@@ -119,8 +119,9 @@ msgstr "Interner GStreamer-Fehler: Padding-Problem."
msgid "Internal GStreamer error: thread problem."
msgstr "Interner GStreamer-Fehler: Thread-Problem."
+#, fuzzy
msgid "GStreamer error: negotiation problem."
-msgstr "GStreamer-Fehler: Verhandlungsproblem."
+msgstr "Interner GStreamer-Fehler: Verhandlungsproblem."
msgid "Internal GStreamer error: event problem."
msgstr "Interner GStreamer-Fehler: Ereignisproblem."
@@ -137,8 +138,9 @@ msgstr "Interner GStreamer-Fehler: Kennzeichnungsproblem."
msgid "Your GStreamer installation is missing a plug-in."
msgstr "Ihrer Installation von GStreamer fehlt ein Plugin."
+#, fuzzy
msgid "GStreamer error: clock problem."
-msgstr "GStreamer-Fehler: Zeitproblem."
+msgstr "Interner GStreamer-Fehler: Zeitproblem."
msgid ""
"This application is trying to use GStreamer functionality that has been "
@@ -264,6 +266,10 @@ msgid "Selected clock cannot be used in pipeline."
msgstr ""
"Der ausgewählte Referenztakt kann nicht in der Pipeline verwendet werden."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "Fehler beim Schreiben des Zwischenspeichers der Registry nach %s: %s"
+
msgid "title"
msgstr "Titel"
@@ -569,14 +575,16 @@ msgstr "Referenzpegel für die Pegelanpassungen von Titel und Album"
msgid "language code"
msgstr "Sprachcode"
+#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "Sprachcode für diesen Strom nach ISO-639-1 oder ISO-639-2"
+msgstr "Sprachcode für diesen Datenstrom nach ISO-639-1"
+#, fuzzy
msgid "language name"
-msgstr "Sprachname"
+msgstr "Sprachcode"
msgid "freeform name of the language this stream is in"
-msgstr "Name der Sprache, in welcher der Datenstrom ist"
+msgstr ""
msgid "image"
msgstr "Bild"
@@ -671,12 +679,13 @@ msgstr ""
msgid "geo location sublocation"
msgstr "geografischer Ortsteil"
+#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
msgstr ""
-"ein Ort innerhalb einer Stadt, an dem das Medium aufgezeichnet oder "
-"produziert wurde (z.B. der Stadtteil)"
+"ein Ort innerhalb einer Stadt, in dem das Medium aufgezeichnet oder "
+"produziert wurde"
msgid "geo location horizontal error"
msgstr "Geografischer horizontaler Fehler"
@@ -812,6 +821,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "FEHLER: Von Element %s: %s\n"
@@ -877,15 +894,6 @@ msgstr "Zielelement für URI »%s« nicht verknüpft werden"
msgid "empty pipeline not allowed"
msgstr "Leere Leitung ist nicht erlaubt"
-msgid "Internal clock error."
-msgstr "Interner Zeitfehler"
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Interner Fehler im Datenfluss."
-
msgid "A lot of buffers are being dropped."
msgstr "Es werden viele Puffer verworfen."
@@ -895,6 +903,15 @@ msgstr "Internes Problem im Datenfluss."
msgid "Internal data stream error."
msgstr "Interner Fehler im Datenstrom."
+msgid "Internal data flow error."
+msgstr "Interner Fehler im Datenfluss."
+
+msgid "Internal clock error."
+msgstr "Interner Zeitfehler"
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filterfähigkeiten"
@@ -1046,14 +1063,12 @@ msgid "List the plugin contents"
msgstr "Die Inhalte des Plugins auflisten"
msgid "Check if the specified element or plugin exists"
-msgstr "Prüfen Sie, ob das angegebene Element oder Plugin vorhanden ist"
+msgstr ""
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-"Kontrollieren Sie beim Prüfen, ob ein Element oder Plugin vorhanden ist, "
-"ebenfalls, ob die Version mindestens der angegebenen entspricht."
msgid "Print supported URI schemes, with the elements that implement them"
msgstr ""
@@ -1105,16 +1120,17 @@ msgstr "KENNZEICHEN GEFUNDEN: Gefunden von Objekt »%s«.\n"
msgid "FOUND TAG\n"
msgstr "KENNZEICHEN GEFUNDEN\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "TOC GEFUNDEN: Gefunden durch Element »%s«.\n"
+msgstr "KENNZEICHEN GEFUNDEN: Gefunden von Element »%s«.\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "TOC GEFUNDEN: Gefunden durch Objekt »%s«.\n"
+msgstr "KENNZEICHEN GEFUNDEN: Gefunden von Objekt »%s«.\n"
+#, fuzzy
msgid "FOUND TOC\n"
-msgstr "TOC GEFUNDEN\n"
+msgstr "KENNZEICHEN GEFUNDEN\n"
#, c-format
msgid ""
@@ -1131,6 +1147,10 @@ msgstr "WARNUNG: Von Element %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Vorgelaufen, auf Ende des Zwischenspeicherns warten …\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Vorgelaufen, auf Ende des Zwischenspeicherns warten …\n"
+
msgid "buffering..."
msgstr "Zwischenspeichern läuft …"
@@ -1154,14 +1174,22 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Interrupt: Leitung wird gestoppt ...\n"
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, fuzzy, c-format
msgid "Missing element: %s\n"
-msgstr "Fehlendes Element »%s«\n"
+msgstr "Kein Element »%s«"
+
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "WARNUNG: Von Element %s: %s\n"
msgid "Output tags (also known as metadata)"
msgstr "Kennzeichen (auch bekannt als Metadaten) ausgeben"
msgid "Output TOC (chapters and editions)"
-msgstr "TOC ausgeben (Kapitel und Editionen)"
+msgstr ""
msgid "Output status information and property notifications"
msgstr "Zustandsinformation und Eigenschaftsmitteilungen ausgeben"
@@ -1229,8 +1257,10 @@ msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr ""
"EOS bei Beenden ist eingeschaltet -- EOS wird auf die Leitung erzwungen\n"
+#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS bei Beenden ist eingeschaltet -- warten auf EOS nach dem Fehler\n"
+msgstr ""
+"EOS bei Beenden ist eingeschaltet -- EOS wird auf die Leitung erzwungen\n"
msgid "Waiting for EOS...\n"
msgstr "Auf EOS wird gewartet …\n"
@@ -1238,8 +1268,9 @@ msgstr "Auf EOS wird gewartet …\n"
msgid "EOS received - stopping pipeline...\n"
msgstr "EOS erhalten - Leitung wird angehalten …\n"
+#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interrupt beim Warten auf EOS - Leitung wird gestoppt ...\n"
+msgstr "Interrupt: Leitung wird gestoppt ...\n"
msgid "An error happened while waiting for EOS\n"
msgstr "Ein Fehler ist beim Warten auf EOS aufgetreten\n"
@@ -1256,8 +1287,9 @@ msgstr "Leitung wird auf NULL gesetzt ...\n"
msgid "Freeing pipeline ...\n"
msgstr "Leitung wird geleert ...\n"
-#~ msgid "maximum"
-#~ msgstr "Maximum"
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr ""
+#~ "Speicherzuordnungsverfolgung ausgeben (falls zur Kompilierzeit aktiviert)"
#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
#~ msgstr "Aufruf: gst-xmllaunch <file.xml> [ element.eigenschaft=wert ...]\n"
@@ -1288,14 +1320,6 @@ msgstr "Leitung wird geleert ...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Keine Routinen für SIGUSR1 und SIGUSR2 installieren"
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr ""
-#~ "Speicherzuordnungsverfolgung ausgeben (falls zur Kompilierzeit aktiviert)"
-
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr ""
-#~ "Fehler beim Schreiben des Zwischenspeichers der Registry nach %s: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Fehler beim erneuten Einlesen der Registry %s : %s"
diff --git a/po/el.gmo b/po/el.gmo
index 3448957..2f72571 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index d239965..db78fc9 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer-0.10.30.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-11-29 11:14+0200\n"
"Last-Translator: Michael Kotsarinis <mk73628@gmail.com>\n"
"Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -257,6 +257,10 @@ msgstr ""
msgid "Selected clock cannot be used in pipeline."
msgstr "Το επιλεγμένο ρολόι δεν μπορεί να χρησιμοποιηθεί στη διασωλήνωση."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "τίτλος"
@@ -334,8 +338,8 @@ msgstr "εκτεταμένο σχόλιο"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"ελεύθερο κείμενο σχολιασμού των δεδομένων της μορφής key=value ή key[en]"
-"=comment"
+"ελεύθερο κείμενο σχολιασμού των δεδομένων της μορφής key=value ή "
+"key[en]=comment"
msgid "track number"
msgstr "αριθμός κομματιού"
@@ -812,6 +816,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ERROR: από στοιχείο %s: %s\n"
@@ -876,15 +888,6 @@ msgstr "αδυναμία σύνδεσης στοιχείου προορισμο
msgid "empty pipeline not allowed"
msgstr "δεν επιτρέπεται κενή διασωλήνωση"
-msgid "Internal clock error."
-msgstr "Σφάλμα εσωτερικού ρολογιού."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
-
msgid "A lot of buffers are being dropped."
msgstr "Πολλές ενδιάμεσες αποθηκεύσεις απορρίπτονται."
@@ -894,6 +897,15 @@ msgstr "Εσωτερικό πρόβλημα ροής δεδομένων."
msgid "Internal data stream error."
msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
+msgid "Internal data flow error."
+msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
+
+msgid "Internal clock error."
+msgstr "Σφάλμα εσωτερικού ρολογιού."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Φιλτράρισμα δυνατοτήτων"
@@ -1129,6 +1141,10 @@ msgstr "WARNING: από το στοιχείο %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Προτυλιγμένο, αναμονή για ολοκλήρωση η αποθήκευση ροής…\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Προτυλιγμένο, αναμονή για ολοκλήρωση η αποθήκευση ροής…\n"
+
msgid "buffering..."
msgstr "προσωρινή αποθήκευση…"
@@ -1148,10 +1164,18 @@ msgstr "Ορισμός κατάστασης σε %s όπως ζητήθηκε α
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Διακοπή: Τερματισμός διασωλήνωσης…\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "δεν υπάρχει στοιχείο «%s»"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "WARNING: από το στοιχείο %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Ετικέτες εξόδου (επίσης γνωστές ως μεταδεδομένα)"
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 6a2c273..fac5b58 100644
--- a/po/en_GB.gmo
+++ b/po/en_GB.gmo
Binary files differ
diff --git a/po/en_GB.po b/po/en_GB.po
index ddd71d6..e2659d4 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.8.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2004-04-26 10:36-0400\n"
"Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
"Language-Team: English (British) <en_gb@li.org>\n"
@@ -253,6 +253,10 @@ msgstr "No standard error message for domain %s and code %d."
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "title"
@@ -803,6 +807,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ERROR: from element %s: %s\n"
@@ -867,22 +879,22 @@ msgstr "could not link sink element for URI \"%s\""
msgid "empty pipeline not allowed"
msgstr "empty pipeline not allowed"
-msgid "Internal clock error."
+msgid "A lot of buffers are being dropped."
msgstr ""
-msgid "Failed to map buffer."
+msgid "Internal data flow problem."
msgstr ""
-msgid "Internal data flow error."
+msgid "Internal data stream error."
msgstr ""
-msgid "A lot of buffers are being dropped."
+msgid "Internal data flow error."
msgstr ""
-msgid "Internal data flow problem."
+msgid "Internal clock error."
msgstr ""
-msgid "Internal data stream error."
+msgid "Failed to map buffer."
msgstr ""
msgid "Filter caps"
@@ -1115,6 +1127,9 @@ msgstr "ERROR: from element %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
msgid "buffering..."
msgstr ""
@@ -1134,10 +1149,18 @@ msgstr ""
msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "no element \"%s\""
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "ERROR: from element %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Output tags (also known as metadata)"
diff --git a/po/eo.gmo b/po/eo.gmo
index 0728438..8f53497 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index c2f5998..a45f738 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2011-06-04 21:11+0100\n"
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -232,6 +232,10 @@ msgstr ""
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "titolo"
@@ -743,6 +747,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr ""
@@ -805,24 +817,24 @@ msgstr ""
msgid "empty pipeline not allowed"
msgstr ""
-msgid "Internal clock error."
+msgid "A lot of buffers are being dropped."
msgstr ""
-msgid "Failed to map buffer."
+msgid "Internal data flow problem."
msgstr ""
+msgid "Internal data stream error."
+msgstr "Interna datumflu-eraro."
+
msgid "Internal data flow error."
msgstr ""
-msgid "A lot of buffers are being dropped."
+msgid "Internal clock error."
msgstr ""
-msgid "Internal data flow problem."
+msgid "Failed to map buffer."
msgstr ""
-msgid "Internal data stream error."
-msgstr "Interna datumflu-eraro."
-
msgid "Filter caps"
msgstr ""
@@ -1050,6 +1062,9 @@ msgstr "AVERTO: de elemento %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
msgid "buffering..."
msgstr "bufrado..."
@@ -1069,10 +1084,18 @@ msgstr ""
msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "neniu elemento \"%s\""
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "AVERTO: de elemento %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr ""
diff --git a/po/es.gmo b/po/es.gmo
index fb7e555..16d2aab 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 0a8763f..c57f82e 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2011-10-02 15:45+0200\n"
"Last-Translator: Jorge González González <aloriel@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -254,6 +254,10 @@ msgstr "No hay un mensaje de error estándar para el dominio %s y código %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "El reloj seleccionado no se puede usar en la segmentación."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "Error al escribir la caché de registro a %s: %s"
+
msgid "title"
msgstr "título"
@@ -803,6 +807,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ERROR: del elemento %s: %s\n"
@@ -867,15 +879,6 @@ msgstr "no se pudo enlazar el elemento sumidero para el URI «%s»"
msgid "empty pipeline not allowed"
msgstr "no se permite un conducto vacío"
-msgid "Internal clock error."
-msgstr "Error en el reloj interno."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Error en el flujo de datos interno."
-
msgid "A lot of buffers are being dropped."
msgstr "Se están desechando muchos búferes."
@@ -885,6 +888,15 @@ msgstr "Problema en el flujo de datos interno."
msgid "Internal data stream error."
msgstr "Error interno de flujo de datos."
+msgid "Internal data flow error."
+msgstr "Error en el flujo de datos interno."
+
+msgid "Internal clock error."
+msgstr "Error en el reloj interno."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filtro de capacidades"
@@ -1121,6 +1133,10 @@ msgstr "ADVERTENCIA: del elemento %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Preparado, esperando a llenar el búfer para terminar…\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Preparado, esperando a llenar el búfer para terminar…\n"
+
msgid "buffering..."
msgstr "almacenando en el búfer…"
@@ -1142,10 +1158,18 @@ msgstr "Estableciendo el estado a %s según lo solicitó %s…\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Interrumpir: parando el conducto …\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "no hay un elemento «%s»"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "ADVERTENCIA: del elemento %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Etiquetas de salida (también conocidos como metadatos)"
@@ -1282,9 +1306,6 @@ msgstr "Liberando la tubería…\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "No instalar los manejadores de señales para SIGUSR1 y SIGUSR2"
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "Error al escribir la caché de registro a %s: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Error al volver a escanear el registro %s: %s"
diff --git a/po/eu.gmo b/po/eu.gmo
index d6f8340..ad8fc34 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 4a93b76..19b041d 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer-0.10.26.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-03-25 13:10+0100\n"
"Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -258,6 +258,10 @@ msgstr "Ez dago errore-mezu estandarrik %s domeinua eta %d kodea dutenentzat."
msgid "Selected clock cannot be used in pipeline."
msgstr "Hautatutako erlojua ezin da kanalizazioan erabili."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "izenburua"
@@ -801,6 +805,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ERROREA: %s elementuarena: %s\n"
@@ -866,15 +878,6 @@ msgstr "ezin izan da kolektore-elementua estekatu \"%s\" URIarentzat"
msgid "empty pipeline not allowed"
msgstr "ez dira onartzen kanalizazio hutsak"
-msgid "Internal clock error."
-msgstr "Erlojuaren barne-errorea."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Datu-fluxuaren barne-errorea."
-
msgid "A lot of buffers are being dropped."
msgstr "Buffer asko jaregiten ari dira."
@@ -884,6 +887,15 @@ msgstr "Datu-fluxuaren barne-arazoa."
msgid "Internal data stream error."
msgstr "Datu-korrontearen barne-errorea."
+msgid "Internal data flow error."
+msgstr "Datu-fluxuaren barne-errorea."
+
+msgid "Internal clock error."
+msgstr "Erlojuaren barne-errorea."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Iragazpen-ahalmena"
@@ -1120,6 +1132,10 @@ msgstr "ABISUA, %s elementuarena: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Prestatu da; bufferreratzen bukatu zain...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Prestatu da; bufferreratzen bukatu zain...\n"
+
msgid "buffering..."
msgstr "bufferreratzen..."
@@ -1140,10 +1156,18 @@ msgstr "Egoera %s(e)ra ezartzen %s(e)k eskatu bezala...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Eten: Kanalizazioa gelditzen... \n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "ez dago \"%s\" elementua"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "ABISUA, %s elementuarena: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Erakutsi etiketak (metadatu gisa ere ezagutzen direnak)"
diff --git a/po/fi.gmo b/po/fi.gmo
index abf4d6e..5854916 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 80d9e89..188871a 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.30.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-11-17 23:10+0200\n"
"Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -254,6 +254,10 @@ msgstr "Standardia virheviestiä alueelle %s ja koodille %d ei ole."
msgid "Selected clock cannot be used in pipeline."
msgstr "Valittua kelloa ei voi käyttää liukuhihnassa."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "Virhe kirjoitettaessa rekisterivälimuistia kohteeseen %s: %s"
+
msgid "title"
msgstr "nimi"
@@ -798,6 +802,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "VIRHE: elementiltä %s: %s\n"
@@ -862,16 +874,6 @@ msgstr "nieluelementtiä ei voitu linkittää URIlle ”%s”"
msgid "empty pipeline not allowed"
msgstr "tyhjää liukuhihnaa ei sallita"
-msgid "Internal clock error."
-msgstr "Sisäinen kellovirhe."
-
-#, fuzzy
-msgid "Failed to map buffer."
-msgstr "Kuvan koodaus epäonnistui."
-
-msgid "Internal data flow error."
-msgstr "Sisäinen tiedon virtausvirhe."
-
msgid "A lot of buffers are being dropped."
msgstr "Useita puskureita putoilee."
@@ -881,6 +883,16 @@ msgstr "Sisäinen tiedon virtausongelma."
msgid "Internal data stream error."
msgstr "Sisäinen tietovirtavirhe."
+msgid "Internal data flow error."
+msgstr "Sisäinen tiedon virtausvirhe."
+
+msgid "Internal clock error."
+msgstr "Sisäinen kellovirhe."
+
+#, fuzzy
+msgid "Failed to map buffer."
+msgstr "Kuvan koodaus epäonnistui."
+
msgid "Filter caps"
msgstr "Kykysuodatus"
@@ -1115,6 +1127,10 @@ msgstr "VAROITUS: elementiltä %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Esipyöritetty, odotetaan puskuroinnin päättymistä...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Esipyöritetty, odotetaan puskuroinnin päättymistä...\n"
+
msgid "buffering..."
msgstr "puskuroidaan..."
@@ -1134,10 +1150,18 @@ msgstr "Asetetaan tilaan %s kuten %s pyysi...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Keskeytys: Pysäytetään liukuhihna ...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "ei elementtiä ”%s”"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "VAROITUS: elementiltä %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Tulostemerkinnät (tunnetaan myös metadatana)"
@@ -1273,9 +1297,6 @@ msgstr "Vapautetaan liukuhihna...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Älä asenna SIGUSR1- ja SIGUSR2-signaalinkäsittelijöitä"
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "Virhe kirjoitettaessa rekisterivälimuistia kohteeseen %s: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Virhe uudelleenskannatessa rekisteriä %s: %s"
diff --git a/po/fr.gmo b/po/fr.gmo
index c204317..e68a609 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 3a2d106..169fc86 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,16 +1,16 @@
# Translation of GStreamer to French
-# Copyright (C) 2003-2012 GStreamer core team
+# Copyright (C) 2003-2011 GStreamer core team
# This file is distributed under the same license as the gstreamer package.
#
# Thomas Vander Stichele <thomas@apestaart.org>, 2004.
-# Claude Paroz <claude@2xlibre.net>, 2008-2012.
+# Claude Paroz <claude@2xlibre.net>, 2008-2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer 1.0.3\n"
+"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2012-12-05 19:31+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
+"PO-Revision-Date: 2011-04-28 09:34+0200\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -119,8 +119,9 @@ msgstr "Erreur interne de GStreamer : problème de connecteur."
msgid "Internal GStreamer error: thread problem."
msgstr "Erreur interne de GStreamer : problème de thread."
+#, fuzzy
msgid "GStreamer error: negotiation problem."
-msgstr "Erreur GStreamer : problème de négociation."
+msgstr "Erreur interne de GStreamer : problème de négociation."
msgid "Internal GStreamer error: event problem."
msgstr "Erreur interne de GStreamer : problème d'événement."
@@ -137,8 +138,9 @@ msgstr "Erreur interne de Gstreamer : problème de balise."
msgid "Your GStreamer installation is missing a plug-in."
msgstr "Il manque un greffon dans votre installation de GStreamer."
+#, fuzzy
msgid "GStreamer error: clock problem."
-msgstr "Erreur Gstreamer : problème d'horloge."
+msgstr "Erreur interne de Gstreamer : problème d'horloge."
msgid ""
"This application is trying to use GStreamer functionality that has been "
@@ -253,6 +255,10 @@ msgstr "Aucun message d'erreur standard pour le domaine %s et le code %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "L'horloge sélectionnée ne peut pas être utilisée dans le pipeline."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "titre"
@@ -331,8 +337,8 @@ msgstr "commentaire étendu"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"texte libre décrivant les données sous la forme clé=valeur ou clé[en]"
-"=commentaire"
+"texte libre décrivant les données sous la forme clé=valeur ou "
+"clé[en]=commentaire"
msgid "track number"
msgstr "numéro de piste"
@@ -554,14 +560,16 @@ msgstr "niveau de référence des valeurs de gain de piste et d'album"
msgid "language code"
msgstr "code linguistique"
+#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "code linguistique du flux, selon la norme ISO-639-1 ou ISO-639-2"
+msgstr "code linguistique du flux, selon la norme ISO-639-1"
+#, fuzzy
msgid "language name"
-msgstr "nom de la langue"
+msgstr "code linguistique"
msgid "freeform name of the language this stream is in"
-msgstr "nom explicite de la langue de ce flux"
+msgstr ""
msgid "image"
msgstr "image"
@@ -652,6 +660,7 @@ msgstr "ville (nom anglais) où le média a été enregistré ou produit"
msgid "geo location sublocation"
msgstr "zone locale de l'emplacement"
+#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
@@ -794,6 +803,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ERREUR : de l'élément %s : %s\n"
@@ -858,15 +875,6 @@ msgstr "impossible de lier un élément d'entrée pour l'URI « %s »"
msgid "empty pipeline not allowed"
msgstr "pipeline vide non autorisé"
-msgid "Internal clock error."
-msgstr "Erreur d'horloge interne."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Erreur interne de flux de données."
-
msgid "A lot of buffers are being dropped."
msgstr "De nombreux tampons sont éliminés."
@@ -876,6 +884,15 @@ msgstr "Problème interne de flux de données."
msgid "Internal data stream error."
msgstr "Erreur interne de flux de données."
+msgid "Internal data flow error."
+msgstr "Erreur interne de flux de données."
+
+msgid "Internal clock error."
+msgstr "Erreur d'horloge interne."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Capacités de filtrage"
@@ -1028,14 +1045,12 @@ msgid "List the plugin contents"
msgstr "Énumère le contenu du greffon"
msgid "Check if the specified element or plugin exists"
-msgstr "Vérifie si l'élément ou le greffon indiqué existe"
+msgstr ""
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-"Lors de la vérification de l'existence d'un élément ou d'un greffon, vérifie "
-"aussi que sa version est au minimum la version indiquée"
msgid "Print supported URI schemes, with the elements that implement them"
msgstr ""
@@ -1088,16 +1103,17 @@ msgstr "BALISE TROUVÉE : découverte par l'objet « %s ».\n"
msgid "FOUND TAG\n"
msgstr "BALISE TROUVÉE\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "TDM TROUVÉE : découverte par l'élément « %s ».\n"
+msgstr "BALISE TROUVÉE : découverte par l'élément « %s ».\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "TDM TROUVÉE : découverte par l'objet « %s ».\n"
+msgstr "BALISE TROUVÉE : découverte par l'objet « %s ».\n"
+#, fuzzy
msgid "FOUND TOC\n"
-msgstr "TDM TROUVÉE\n"
+msgstr "BALISE TROUVÉE\n"
#, c-format
msgid ""
@@ -1114,6 +1130,10 @@ msgstr "AVERTISSEMENT : de l'élément %s : %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Préparation terminée, attente de la fin de remplissage du tampon...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Préparation terminée, attente de la fin de remplissage du tampon...\n"
+
msgid "buffering..."
msgstr "mise en mémoire tampon..."
@@ -1134,14 +1154,22 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Interruption : arrêt du pipeline...\n"
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, fuzzy, c-format
msgid "Missing element: %s\n"
-msgstr "Élément manquant : %s\n"
+msgstr "pas d'élément « %s »"
+
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "AVERTISSEMENT : de l'élément %s : %s\n"
msgid "Output tags (also known as metadata)"
msgstr "Affiche les balises (aussi connues sous le nom de métadonnées)"
msgid "Output TOC (chapters and editions)"
-msgstr "Affiche la table des matières (chapitres et éditions)"
+msgstr ""
msgid "Output status information and property notifications"
msgstr "Affiche des informations d'état et des notifications de propriétés"
@@ -1208,8 +1236,9 @@ msgstr "ERREUR : le pipeline refuse de passer en mode actif.\n"
msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr "EOS à la fermeture est activé -- EOS forcé sur le pipeline\n"
+#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS à la fermeture est activé -- attente d'EOS après erreur\n"
+msgstr "EOS à la fermeture est activé -- EOS forcé sur le pipeline\n"
msgid "Waiting for EOS...\n"
msgstr "Attente d'EOS...\n"
@@ -1217,8 +1246,9 @@ msgstr "Attente d'EOS...\n"
msgid "EOS received - stopping pipeline...\n"
msgstr "EOS reçu - arrêt du pipeline...\n"
+#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interruption lors de l'attende d'EOS - arrêt du pipeline...\n"
+msgstr "Interruption : arrêt du pipeline...\n"
msgid "An error happened while waiting for EOS\n"
msgstr "Une erreur s'est produite lors de l'attente de l'EOS\n"
@@ -1235,6 +1265,15 @@ msgstr "Définition du pipeline à NULL...\n"
msgid "Freeing pipeline ...\n"
msgstr "Libération du pipeline...\n"
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr ""
+#~ "Affiche les traces d'allocations (si activées lors de la compilation)"
+
+#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
+#~ msgstr ""
+#~ "Utilisation : gst-xmllaunch <fichier.xml> [ élément."
+#~ "propriété=valeur ... ]\n"
+
#~ msgid "ERROR: parse of xml file '%s' failed.\n"
#~ msgstr "ERREUR : l'analyse du fichier xml « %s » a échoué.\n"
@@ -1262,3 +1301,6 @@ msgstr "Libération du pipeline...\n"
#~ msgid "FILE"
#~ msgstr "FICHIER"
+
+#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
+#~ msgstr "N'installe pas de gestionnaire de signal pour SIGUSR1 et SIGUSR2"
diff --git a/po/gl.gmo b/po/gl.gmo
index 28f672d..f1cb592 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 046a421..12737f8 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -1,22 +1,20 @@
# Galician translations for gstreamer package.
# This file is put in the public domain.
# Francisco Diéguez <frandieguez@ubuntu.com>, 2011.
-# Fran Dieguez <frandieguez@gnome.org>, 2012.
+#
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer 1.0.3\n"
+"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2012-12-15 03:29+0200\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
+"PO-Revision-Date: 2011-09-05 12:49+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
-"Language: gl\n"
+"Language: gl_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Virtaal 0.7.1\n"
-"X-Project-Style: gnome\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
msgid "Print the GStreamer version"
msgstr "Imprimir a versión de GStreamer"
@@ -116,8 +114,9 @@ msgstr "Erro interno de GStreamer: problema de desprazamento."
msgid "Internal GStreamer error: thread problem."
msgstr "Erro interno de GStreamer: problema cos fíos"
+#, fuzzy
msgid "GStreamer error: negotiation problem."
-msgstr "Erro de GStreamer: problema de negociación."
+msgstr "Erro interno de GStreamer: problema de negociación."
msgid "Internal GStreamer error: event problem."
msgstr "Erro interno de GStreamer: problema cos eventos."
@@ -134,8 +133,9 @@ msgstr "Erro interno de GStreamer: problema coas etiquetas."
msgid "Your GStreamer installation is missing a plug-in."
msgstr "Á súa instalación de GStreamer fáltalle un engadido."
+#, fuzzy
msgid "GStreamer error: clock problem."
-msgstr "Erro de GStreamer: problema de reloxo."
+msgstr "Erro interno de GStreamer: problema de reloxo."
msgid ""
"This application is trying to use GStreamer functionality that has been "
@@ -251,6 +251,10 @@ msgstr "Non hai unha mensaxe de erro estándar par ao dominio %s e código %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Non é posíbel usar o reloxo seleccionado na canalización."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "título"
@@ -553,14 +557,16 @@ msgstr "valor do nivel de referencia da ganancia da pista e do álbum"
msgid "language code"
msgstr "código de idioma"
+#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "código de idioma para este fluxo, axustándose a ISO-639-1 ou ISO-639-2"
+msgstr "código de idioma para este fluxo, axustándose a ISO-639-1"
+#, fuzzy
msgid "language name"
-msgstr "nome do idioma"
+msgstr "código de idioma"
msgid "freeform name of the language this stream is in"
-msgstr "nome freeform do idioma no que está este fluxo"
+msgstr ""
msgid "image"
msgstr "imaxe"
@@ -651,6 +657,7 @@ msgstr "cidade (nome en inglés) onde foi gravado ou producido o medio"
msgid "geo location sublocation"
msgstr "sublocalización da xeolocalización"
+#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
@@ -791,6 +798,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ERRO: do elemento %s: %s\n"
@@ -855,15 +870,6 @@ msgstr "non foi posíbel ligar o elemento sumidoiro para o URI «%s»"
msgid "empty pipeline not allowed"
msgstr "non se permite unha canalización baleira"
-msgid "Internal clock error."
-msgstr "Produciuse un erro no reloxo interno."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Produciuse un erro no fluxo interno de datos."
-
msgid "A lot of buffers are being dropped."
msgstr "Estanse a desbotar moitos búferes."
@@ -873,6 +879,15 @@ msgstr "Hai un problema no fluxo interno de datos."
msgid "Internal data stream error."
msgstr "Produciuse un erro no fluxo interno de datos."
+msgid "Internal data flow error."
+msgstr "Produciuse un erro no fluxo interno de datos."
+
+msgid "Internal clock error."
+msgstr "Produciuse un erro no reloxo interno."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filtro de capacidades"
@@ -1025,14 +1040,12 @@ msgid "List the plugin contents"
msgstr "Listar o contido do engadido"
msgid "Check if the specified element or plugin exists"
-msgstr "Comprobar se o elemento ou engadido especificado existe"
+msgstr ""
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-"Ao comprobar se un elemento ou engadido existe, tamén comprobar se a súa "
-"versión é cando menos a versión especificada"
msgid "Print supported URI schemes, with the elements that implement them"
msgstr "Imprimir os esquemas URI admitidos, cos elementos que os implementan"
@@ -1083,16 +1096,17 @@ msgstr "ETIQUETA ENCONTRADA : encontrada polo obxecto «%s».\n"
msgid "FOUND TAG\n"
msgstr "ETIQUETA ENCONTRADA\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "TOC ATOPADO : atopado polo elemento «%s».\n"
+msgstr "ATOPADA ETIQUETA : atopada polo elemento «%s».\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "TOC ATOPADO : encontrado polo obxecto «%s».\n"
+msgstr "ETIQUETA ENCONTRADA : encontrada polo obxecto «%s».\n"
+#, fuzzy
msgid "FOUND TOC\n"
-msgstr "TOC ATOPADO\n"
+msgstr "ETIQUETA ENCONTRADA\n"
#, c-format
msgid ""
@@ -1109,6 +1123,10 @@ msgstr "AVISO: do elemento %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Preparado, agardando a encher o búfer para rematar…\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Preparado, agardando a encher o búfer para rematar…\n"
+
msgid "buffering..."
msgstr "almacenando no búfer…"
@@ -1131,14 +1149,22 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Interromper: parando a canalización …\n"
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, fuzzy, c-format
msgid "Missing element: %s\n"
-msgstr "Elemento que falta: «%s»\n"
+msgstr "non hai un elemento «%s»"
+
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "AVISO: do elemento %s: %s\n"
msgid "Output tags (also known as metadata)"
msgstr "Etiquetas de saída (tamén coñecido como metadatos)"
msgid "Output TOC (chapters and editions)"
-msgstr "TOC de saída (capítulos e edicións)"
+msgstr ""
msgid "Output status information and property notifications"
msgstr "Información do estado da saída e notificacións das propiedades"
@@ -1205,8 +1231,9 @@ msgstr "ERRO: a tubería non quere reproducirse.\n"
msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr "EOS ao apagar activado; Forzando EOS na tubería\n"
+#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS ao apagar activado; -- agardando polo EOS despois de erro\n"
+msgstr "EOS ao apagar activado; Forzando EOS na tubería\n"
msgid "Waiting for EOS...\n"
msgstr "Agardando pola EOS...\n"
@@ -1214,8 +1241,9 @@ msgstr "Agardando pola EOS...\n"
msgid "EOS received - stopping pipeline...\n"
msgstr "EOS recibido: detendo a tubería...\n"
+#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interromper ao agardar polo EOS - detendo a canalización…\n"
+msgstr "Interromper: parando a canalización …\n"
msgid "An error happened while waiting for EOS\n"
msgstr "Produciuse un erro ao esperar a EOS\n"
@@ -1232,8 +1260,8 @@ msgstr "Estabelecendo a tubería a NULL...\n"
msgid "Freeing pipeline ...\n"
msgstr "Liberando a tubería...\n"
-#~ msgid "maximum"
-#~ msgstr "máximo"
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Imprimir a traza de asignacións (se foi activada ao compilar)"
#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
#~ msgstr ""
@@ -1265,6 +1293,3 @@ msgstr "Liberando a tubería...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Non instalar os manexadores de sinais para SIGUSR1 e SIGUSR2"
-
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Imprimir a traza de asignacións (se foi activada ao compilar)"
diff --git a/po/gstreamer-1.0.pot b/po/gstreamer-1.0.pot
index 8a39185..9ee84a4 100644
--- a/po/gstreamer-1.0.pot
+++ b/po/gstreamer-1.0.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer 1.0.8\n"
+"Project-Id-Version: gstreamer 1.1.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,88 +17,88 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: gst/gst.c:308
+#: gst/gst.c:232
msgid "Print the GStreamer version"
msgstr ""
-#: gst/gst.c:310
+#: gst/gst.c:234
msgid "Make all warnings fatal"
msgstr ""
-#: gst/gst.c:314
+#: gst/gst.c:238
msgid "Print available debug categories and exit"
msgstr ""
-#: gst/gst.c:318
+#: gst/gst.c:242
msgid ""
"Default debug level from 1 (only error) to 5 (anything) or 0 for no output"
msgstr ""
-#: gst/gst.c:320
+#: gst/gst.c:244
msgid "LEVEL"
msgstr ""
-#: gst/gst.c:322
+#: gst/gst.c:246
msgid ""
"Comma-separated list of category_name:level pairs to set specific levels for "
"the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
msgstr ""
-#: gst/gst.c:325
+#: gst/gst.c:249
msgid "LIST"
msgstr ""
-#: gst/gst.c:327
+#: gst/gst.c:251
msgid "Disable colored debugging output"
msgstr ""
-#: gst/gst.c:330
+#: gst/gst.c:254
msgid "Disable debugging"
msgstr ""
-#: gst/gst.c:334
+#: gst/gst.c:258
msgid "Enable verbose plugin loading diagnostics"
msgstr ""
-#: gst/gst.c:338
+#: gst/gst.c:262
msgid "Colon-separated paths containing plugins"
msgstr ""
-#: gst/gst.c:338
+#: gst/gst.c:262
msgid "PATHS"
msgstr ""
-#: gst/gst.c:341
+#: gst/gst.c:265
msgid ""
"Comma-separated list of plugins to preload in addition to the list stored in "
"environment variable GST_PLUGIN_PATH"
msgstr ""
-#: gst/gst.c:343
+#: gst/gst.c:267
msgid "PLUGINS"
msgstr ""
-#: gst/gst.c:346
+#: gst/gst.c:270
msgid "Disable trapping of segmentation faults during plugin loading"
msgstr ""
-#: gst/gst.c:351
+#: gst/gst.c:275
msgid "Disable updating the registry"
msgstr ""
-#: gst/gst.c:356
+#: gst/gst.c:280
msgid "Disable spawning a helper process while scanning the registry"
msgstr ""
-#: gst/gst.c:361
+#: gst/gst.c:285
msgid "GStreamer Options"
msgstr ""
-#: gst/gst.c:362
+#: gst/gst.c:286
msgid "Show GStreamer Options"
msgstr ""
-#: gst/gst.c:921
+#: gst/gst.c:848
msgid "Unknown option"
msgstr ""
@@ -299,6 +299,11 @@ msgstr ""
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#: gst/gstregistry.c:1651
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
#: gst/gsttaglist.c:105
msgid "title"
msgstr ""
@@ -968,12 +973,22 @@ msgstr ""
msgid ", "
msgstr ""
-#: gst/gstutils.c:2338 tools/gst-launch.c:366
+#: gst/gsturi.c:591
+#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#: gst/gsturi.c:764
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#: gst/gstutils.c:2338 tools/gst-launch.c:324
#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr ""
-#: gst/gstutils.c:2340 tools/gst-launch.c:368 tools/gst-launch.c:730
+#: gst/gstutils.c:2340 tools/gst-launch.c:326 tools/gst-launch.c:660
#, c-format
msgid ""
"Additional debug info:\n"
@@ -1048,37 +1063,37 @@ msgstr ""
msgid "empty pipeline not allowed"
msgstr ""
-#: libs/gst/base/gstbasesrc.c:2440
-msgid "Internal clock error."
+#: libs/gst/base/gstbasesink.c:2790
+msgid "A lot of buffers are being dropped."
msgstr ""
-#: libs/gst/base/gstbasesrc.c:2468
-msgid "Failed to map buffer."
+#: libs/gst/base/gstbasesink.c:3255
+msgid "Internal data flow problem."
msgstr ""
-#: libs/gst/base/gstbasesrc.c:2811 libs/gst/base/gstbasesrc.c:2820
-#: libs/gst/base/gstbasesink.c:3776 plugins/elements/gstqueue.c:1197
-#: plugins/elements/gstqueue2.c:2565
-msgid "Internal data flow error."
+#: libs/gst/base/gstbasesink.c:3913
+msgid "Internal data stream error."
msgstr ""
-#: libs/gst/base/gstbasesink.c:2682
-msgid "A lot of buffers are being dropped."
+#: libs/gst/base/gstbasesink.c:3923 libs/gst/base/gstbasesrc.c:2811
+#: libs/gst/base/gstbasesrc.c:2820 plugins/elements/gstqueue.c:1276
+#: plugins/elements/gstqueue2.c:2694
+msgid "Internal data flow error."
msgstr ""
-#: libs/gst/base/gstbasesink.c:3140
-msgid "Internal data flow problem."
+#: libs/gst/base/gstbasesrc.c:2440
+msgid "Internal clock error."
msgstr ""
-#: libs/gst/base/gstbasesink.c:3766
-msgid "Internal data stream error."
+#: libs/gst/base/gstbasesrc.c:2468
+msgid "Failed to map buffer."
msgstr ""
-#: plugins/elements/gstcapsfilter.c:100
+#: plugins/elements/gstcapsfilter.c:103
msgid "Filter caps"
msgstr ""
-#: plugins/elements/gstcapsfilter.c:101
+#: plugins/elements/gstcapsfilter.c:104
msgid ""
"Restrict the possible allowed capabilities (NULL means ANY). Setting this "
"property takes a reference to the supplied GstCaps object."
@@ -1112,7 +1127,7 @@ msgstr ""
msgid "No file name specified for reading."
msgstr ""
-#: plugins/elements/gstfilesrc.c:512 plugins/elements/gstqueue2.c:1437
+#: plugins/elements/gstfilesrc.c:512 plugins/elements/gstqueue2.c:1491
#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr ""
@@ -1136,16 +1151,16 @@ msgstr ""
msgid "Failed after iterations as requested."
msgstr ""
-#: plugins/elements/gstqueue2.c:1423
+#: plugins/elements/gstqueue2.c:1477
msgid "No Temp directory specified."
msgstr ""
-#: plugins/elements/gstqueue2.c:1429
+#: plugins/elements/gstqueue2.c:1483
#, c-format
msgid "Could not create temp file \"%s\"."
msgstr ""
-#: plugins/elements/gstqueue2.c:1819
+#: plugins/elements/gstqueue2.c:1885
msgid "Error while writing to download file."
msgstr ""
@@ -1169,83 +1184,83 @@ msgstr ""
msgid "force caps without doing a typefind"
msgstr ""
-#: plugins/elements/gsttypefindelement.c:1017
+#: plugins/elements/gsttypefindelement.c:1035
msgid "Stream contains no data."
msgstr ""
-#: tools/gst-inspect.c:248
+#: tools/gst-inspect.c:259
msgid "Implemented Interfaces:\n"
msgstr ""
-#: tools/gst-inspect.c:334
+#: tools/gst-inspect.c:345
msgid "readable"
msgstr ""
-#: tools/gst-inspect.c:343
+#: tools/gst-inspect.c:354
msgid "writable"
msgstr ""
-#: tools/gst-inspect.c:347
+#: tools/gst-inspect.c:358
msgid "controllable"
msgstr ""
-#: tools/gst-inspect.c:351
+#: tools/gst-inspect.c:362
msgid "changeable in NULL, READY, PAUSED or PLAYING state"
msgstr ""
-#: tools/gst-inspect.c:353
+#: tools/gst-inspect.c:364
msgid "changeable only in NULL, READY or PAUSED state"
msgstr ""
-#: tools/gst-inspect.c:355
+#: tools/gst-inspect.c:366
msgid "changeable only in NULL or READY state"
msgstr ""
-#: tools/gst-inspect.c:969
+#: tools/gst-inspect.c:980
msgid "Blacklisted files:"
msgstr ""
-#: tools/gst-inspect.c:981 tools/gst-inspect.c:1079
+#: tools/gst-inspect.c:992 tools/gst-inspect.c:1090
msgid "Total count: "
msgstr ""
-#: tools/gst-inspect.c:982
+#: tools/gst-inspect.c:993
#, c-format
msgid "%d blacklisted file"
msgid_plural "%d blacklisted files"
msgstr[0] ""
msgstr[1] ""
-#: tools/gst-inspect.c:1080
+#: tools/gst-inspect.c:1091
#, c-format
msgid "%d plugin"
msgid_plural "%d plugins"
msgstr[0] ""
msgstr[1] ""
-#: tools/gst-inspect.c:1083
+#: tools/gst-inspect.c:1094
#, c-format
msgid "%d blacklist entry"
msgid_plural "%d blacklist entries"
msgstr[0] ""
msgstr[1] ""
-#: tools/gst-inspect.c:1088
+#: tools/gst-inspect.c:1099
#, c-format
msgid "%d feature"
msgid_plural "%d features"
msgstr[0] ""
msgstr[1] ""
-#: tools/gst-inspect.c:1532
+#: tools/gst-inspect.c:1543
msgid "Print all elements"
msgstr ""
-#: tools/gst-inspect.c:1534
+#: tools/gst-inspect.c:1545
msgid "Print list of blacklisted files"
msgstr ""
-#: tools/gst-inspect.c:1536
+#: tools/gst-inspect.c:1547
msgid ""
"Print a machine-parsable list of features the specified plugin or all "
"plugins provide.\n"
@@ -1253,268 +1268,282 @@ msgid ""
"automatic plugin installation mechanisms"
msgstr ""
-#: tools/gst-inspect.c:1541
+#: tools/gst-inspect.c:1552
msgid "List the plugin contents"
msgstr ""
-#: tools/gst-inspect.c:1543
+#: tools/gst-inspect.c:1554
msgid "Check if the specified element or plugin exists"
msgstr ""
-#: tools/gst-inspect.c:1546
+#: tools/gst-inspect.c:1557
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-#: tools/gst-inspect.c:1550
+#: tools/gst-inspect.c:1561
msgid "Print supported URI schemes, with the elements that implement them"
msgstr ""
-#: tools/gst-inspect.c:1688
+#: tools/gst-inspect.c:1699
#, c-format
msgid "Could not load plugin file: %s\n"
msgstr ""
-#: tools/gst-inspect.c:1693
+#: tools/gst-inspect.c:1704
#, c-format
msgid "No such element or plugin '%s'\n"
msgstr ""
-#: tools/gst-launch.c:293
+#: tools/gst-launch.c:251
msgid "Index statistics"
msgstr ""
-#: tools/gst-launch.c:611
+#: tools/gst-launch.c:541
#, c-format
msgid "Got message #%u from element \"%s\" (%s): "
msgstr ""
-#: tools/gst-launch.c:615
+#: tools/gst-launch.c:545
#, c-format
msgid "Got message #%u from pad \"%s:%s\" (%s): "
msgstr ""
-#: tools/gst-launch.c:619
+#: tools/gst-launch.c:549
#, c-format
msgid "Got message #%u from object \"%s\" (%s): "
msgstr ""
-#: tools/gst-launch.c:623
+#: tools/gst-launch.c:553
#, c-format
msgid "Got message #%u (%s): "
msgstr ""
-#: tools/gst-launch.c:655
+#: tools/gst-launch.c:585
#, c-format
msgid "Got EOS from element \"%s\".\n"
msgstr ""
-#: tools/gst-launch.c:664
+#: tools/gst-launch.c:594
#, c-format
msgid "FOUND TAG : found by element \"%s\".\n"
msgstr ""
-#: tools/gst-launch.c:667
+#: tools/gst-launch.c:597
#, c-format
msgid "FOUND TAG : found by pad \"%s:%s\".\n"
msgstr ""
-#: tools/gst-launch.c:670
+#: tools/gst-launch.c:600
#, c-format
msgid "FOUND TAG : found by object \"%s\".\n"
msgstr ""
-#: tools/gst-launch.c:673
+#: tools/gst-launch.c:603
msgid "FOUND TAG\n"
msgstr ""
-#: tools/gst-launch.c:688
+#: tools/gst-launch.c:618
#, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
msgstr ""
-#: tools/gst-launch.c:691
+#: tools/gst-launch.c:621
#, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
msgstr ""
-#: tools/gst-launch.c:694
+#: tools/gst-launch.c:624
msgid "FOUND TOC\n"
msgstr ""
-#: tools/gst-launch.c:711
+#: tools/gst-launch.c:641
#, c-format
msgid ""
"INFO:\n"
"%s\n"
msgstr ""
-#: tools/gst-launch.c:728
+#: tools/gst-launch.c:658
#, c-format
msgid "WARNING: from element %s: %s\n"
msgstr ""
-#: tools/gst-launch.c:758
+#: tools/gst-launch.c:693
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
-#: tools/gst-launch.c:775
+#: tools/gst-launch.c:697
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
+#: tools/gst-launch.c:709
msgid "buffering..."
msgstr ""
-#: tools/gst-launch.c:786
+#: tools/gst-launch.c:720
msgid "Done buffering, setting pipeline to PLAYING ...\n"
msgstr ""
-#: tools/gst-launch.c:794
+#: tools/gst-launch.c:728
msgid "Buffering, setting pipeline to PAUSED ...\n"
msgstr ""
-#: tools/gst-launch.c:803
+#: tools/gst-launch.c:737
msgid "Redistribute latency...\n"
msgstr ""
-#: tools/gst-launch.c:814
+#: tools/gst-launch.c:748
#, c-format
msgid "Setting state to %s as requested by %s...\n"
msgstr ""
-#: tools/gst-launch.c:830
+#: tools/gst-launch.c:764
msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""
-#: tools/gst-launch.c:841
+#: tools/gst-launch.c:793
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#: tools/gst-launch.c:806
#, c-format
msgid "Missing element: %s\n"
msgstr ""
-#: tools/gst-launch.c:923
+#: tools/gst-launch.c:818
+#, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr ""
+
+#: tools/gst-launch.c:954
msgid "Output tags (also known as metadata)"
msgstr ""
-#: tools/gst-launch.c:925
+#: tools/gst-launch.c:956
msgid "Output TOC (chapters and editions)"
msgstr ""
-#: tools/gst-launch.c:927
+#: tools/gst-launch.c:958
msgid "Output status information and property notifications"
msgstr ""
-#: tools/gst-launch.c:929
+#: tools/gst-launch.c:960
msgid "Do not print any progress information"
msgstr ""
-#: tools/gst-launch.c:931
+#: tools/gst-launch.c:962
msgid "Output messages"
msgstr ""
-#: tools/gst-launch.c:933
+#: tools/gst-launch.c:964
msgid "Do not output status information of TYPE"
msgstr ""
-#: tools/gst-launch.c:933
+#: tools/gst-launch.c:964
msgid "TYPE1,TYPE2,..."
msgstr ""
-#: tools/gst-launch.c:935
+#: tools/gst-launch.c:966
msgid "Do not install a fault handler"
msgstr ""
-#: tools/gst-launch.c:937
+#: tools/gst-launch.c:968
msgid "Force EOS on sources before shutting the pipeline down"
msgstr ""
-#: tools/gst-launch.c:940
+#: tools/gst-launch.c:971
msgid "Gather and print index statistics"
msgstr ""
-#: tools/gst-launch.c:1002
+#: tools/gst-launch.c:1031
#, c-format
msgid "ERROR: pipeline could not be constructed: %s.\n"
msgstr ""
-#: tools/gst-launch.c:1006
+#: tools/gst-launch.c:1035
msgid "ERROR: pipeline could not be constructed.\n"
msgstr ""
-#: tools/gst-launch.c:1010
+#: tools/gst-launch.c:1039
#, c-format
msgid "WARNING: erroneous pipeline: %s\n"
msgstr ""
-#: tools/gst-launch.c:1033
+#: tools/gst-launch.c:1062
msgid "ERROR: the 'pipeline' element wasn't found.\n"
msgstr ""
-#: tools/gst-launch.c:1060 tools/gst-launch.c:1155
+#: tools/gst-launch.c:1089 tools/gst-launch.c:1185
msgid "Setting pipeline to PAUSED ...\n"
msgstr ""
-#: tools/gst-launch.c:1065
+#: tools/gst-launch.c:1094
msgid "ERROR: Pipeline doesn't want to pause.\n"
msgstr ""
-#: tools/gst-launch.c:1070
+#: tools/gst-launch.c:1099
msgid "Pipeline is live and does not need PREROLL ...\n"
msgstr ""
-#: tools/gst-launch.c:1074
+#: tools/gst-launch.c:1103
msgid "Pipeline is PREROLLING ...\n"
msgstr ""
-#: tools/gst-launch.c:1077 tools/gst-launch.c:1090
+#: tools/gst-launch.c:1106 tools/gst-launch.c:1119
msgid "ERROR: pipeline doesn't want to preroll.\n"
msgstr ""
-#: tools/gst-launch.c:1083
+#: tools/gst-launch.c:1112
msgid "Pipeline is PREROLLED ...\n"
msgstr ""
-#: tools/gst-launch.c:1095
+#: tools/gst-launch.c:1124
msgid "Setting pipeline to PLAYING ...\n"
msgstr ""
-#: tools/gst-launch.c:1102
+#: tools/gst-launch.c:1131
msgid "ERROR: pipeline doesn't want to play.\n"
msgstr ""
-#: tools/gst-launch.c:1120
+#: tools/gst-launch.c:1149
msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr ""
-#: tools/gst-launch.c:1124
+#: tools/gst-launch.c:1153
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
msgstr ""
-#: tools/gst-launch.c:1127
+#: tools/gst-launch.c:1156
msgid "Waiting for EOS...\n"
msgstr ""
-#: tools/gst-launch.c:1134
+#: tools/gst-launch.c:1163
msgid "EOS received - stopping pipeline...\n"
msgstr ""
-#: tools/gst-launch.c:1138
+#: tools/gst-launch.c:1167
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
msgstr ""
-#: tools/gst-launch.c:1142
+#: tools/gst-launch.c:1171
msgid "An error happened while waiting for EOS\n"
msgstr ""
-#: tools/gst-launch.c:1152
+#: tools/gst-launch.c:1181
msgid "Execution ended after %"
msgstr ""
-#: tools/gst-launch.c:1163
+#: tools/gst-launch.c:1193
msgid "Setting pipeline to READY ...\n"
msgstr ""
-#: tools/gst-launch.c:1175
+#: tools/gst-launch.c:1205
msgid "Setting pipeline to NULL ...\n"
msgstr ""
-#: tools/gst-launch.c:1179
+#: tools/gst-launch.c:1209
msgid "Freeing pipeline ...\n"
msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
deleted file mode 100644
index 486a2e8..0000000
--- a/po/hr.gmo
+++ /dev/null
Binary files differ
diff --git a/po/hr.po b/po/hr.po
deleted file mode 100644
index 17c5587..0000000
--- a/po/hr.po
+++ /dev/null
@@ -1,1264 +0,0 @@
-# Translation of gstreamer to Croatian.
-# This file is put in the public domain.
-# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: gstreamer 0.10.32.2\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2012-05-25 16:47+0200\n"
-"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
-"Language-Team: Croatian <lokalizacija@linux.hr>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
-
-msgid "Print the GStreamer version"
-msgstr "Ispiši inačicu GStreamera"
-
-msgid "Make all warnings fatal"
-msgstr "Učini sva upozorenja fatalnim"
-
-msgid "Print available debug categories and exit"
-msgstr "Ispiši dostupne kategorije debugiranja i izađi"
-
-msgid ""
-"Default debug level from 1 (only error) to 5 (anything) or 0 for no output"
-msgstr ""
-"Zadana razina debugiranja od 1 (samo greške) do 5 (sve) ili 0 bez ispisa"
-
-msgid "LEVEL"
-msgstr "RAZINA"
-
-msgid ""
-"Comma-separated list of category_name:level pairs to set specific levels for "
-"the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
-msgstr ""
-"Popis zarezom odvojenih parova category_name:level za postavljanje posebnih "
-"razina za pojedine kategorije. Primjer: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
-
-msgid "LIST"
-msgstr "POPIS"
-
-msgid "Disable colored debugging output"
-msgstr "Onemogući obojani ispis debugiranja"
-
-msgid "Disable debugging"
-msgstr "Onemogući debugiranje"
-
-msgid "Enable verbose plugin loading diagnostics"
-msgstr "Omogući opširnu dijagnozu učitavanja priključaka"
-
-msgid "Colon-separated paths containing plugins"
-msgstr "Dvotočkom odvojene putanje koje sadržavaju priključke"
-
-msgid "PATHS"
-msgstr "PUTANJE"
-
-msgid ""
-"Comma-separated list of plugins to preload in addition to the list stored in "
-"environment variable GST_PLUGIN_PATH"
-msgstr ""
-"Zarezima odvojen popis priključaka koji će se učitati uz popis spremljen u "
-"varijablu okoline GST_PLUGIN_PATH"
-
-msgid "PLUGINS"
-msgstr "PRIKLJUČCI"
-
-msgid "Disable trapping of segmentation faults during plugin loading"
-msgstr "Onemogući hvatanje segmentacijskih grešaka pri učitavanju priključaka"
-
-msgid "Disable updating the registry"
-msgstr "Onemogući ažuriranje registra"
-
-msgid "Disable spawning a helper process while scanning the registry"
-msgstr "Onemogući stvaranje pomoćnog procesa pri pretraživanju registra"
-
-msgid "GStreamer Options"
-msgstr "GStreamer opcije"
-
-msgid "Show GStreamer Options"
-msgstr "Prikaži GStreamer opcije"
-
-msgid "Unknown option"
-msgstr "Nepoznata opcija"
-
-msgid "GStreamer encountered a general core library error."
-msgstr "GStreamer je naišao na opću grešku osnovne biblioteke."
-
-msgid ""
-"GStreamer developers were too lazy to assign an error code to this error."
-msgstr "Razvijatelji GStreamera su bili prelijeni da pridruže kod ovoj grešci."
-
-msgid "Internal GStreamer error: code not implemented."
-msgstr "Interna GStreamer greška: kod nije implementiran."
-
-msgid ""
-"GStreamer error: state change failed and some element failed to post a "
-"proper error message with the reason for the failure."
-msgstr ""
-"GStreamer greška: nije uspjela promjena stanja i neki element nije uspio "
-"poslati ispravnu poruku greške s razlogom neuspjeha."
-
-msgid "Internal GStreamer error: pad problem."
-msgstr "Interna GStreamer greška: problem podloge."
-
-msgid "Internal GStreamer error: thread problem."
-msgstr "Interna GStreamer greška: problem dretve."
-
-#, fuzzy
-msgid "GStreamer error: negotiation problem."
-msgstr "Interna GStreamer greška: problem pregovaranja."
-
-msgid "Internal GStreamer error: event problem."
-msgstr "Interna GStreamer greška: problem događaja."
-
-msgid "Internal GStreamer error: seek problem."
-msgstr "Interna GStreamer greška: problem traženja."
-
-msgid "Internal GStreamer error: caps problem."
-msgstr "Interna GStreamer greška: problem mogućnosti."
-
-msgid "Internal GStreamer error: tag problem."
-msgstr "Interna GStreamer greška: problem oznake."
-
-msgid "Your GStreamer installation is missing a plug-in."
-msgstr "Vašoj GStreamer instalaciji nedostaje priključak."
-
-#, fuzzy
-msgid "GStreamer error: clock problem."
-msgstr "Interna GStreamer greška: problem takta."
-
-msgid ""
-"This application is trying to use GStreamer functionality that has been "
-"disabled."
-msgstr "Ovaj program pokušava koristiti onemogućenu GStreamer mogućnost."
-
-msgid "GStreamer encountered a general supporting library error."
-msgstr "GStreamer je naišao na opću grešku pomoćne biblioteke."
-
-msgid "Could not initialize supporting library."
-msgstr "Ne mogu inicijalizirati pomoćnu biblioteku."
-
-msgid "Could not close supporting library."
-msgstr "Ne mogu zatvoriti pomoćnu biblioteku."
-
-msgid "Could not configure supporting library."
-msgstr "Ne mogu konfigurirati pomoćnu biblioteku."
-
-msgid "Encoding error."
-msgstr "Greška kodiranja."
-
-msgid "GStreamer encountered a general resource error."
-msgstr "GStreamer je naišao na opću grešku resursa."
-
-msgid "Resource not found."
-msgstr "Resurs nije pronađen."
-
-msgid "Resource busy or not available."
-msgstr "Resurs je zauzet ili nedostupan."
-
-msgid "Could not open resource for reading."
-msgstr "Ne mogu otvoriti resurs za čitanje."
-
-msgid "Could not open resource for writing."
-msgstr "Ne mogu otvoriti resurs za pisanje."
-
-msgid "Could not open resource for reading and writing."
-msgstr "Ne mogu otvoriti resurs za čitanje i pisanje."
-
-msgid "Could not close resource."
-msgstr "Ne mogu zatvoriti resurs."
-
-msgid "Could not read from resource."
-msgstr "Ne mogu čitati iz resursa."
-
-msgid "Could not write to resource."
-msgstr "Ne mogu pisati u resurs."
-
-msgid "Could not perform seek on resource."
-msgstr "Ne mogu izvršiti traženje na resursu."
-
-msgid "Could not synchronize on resource."
-msgstr "Ne mogu sinkronizirati na resursu."
-
-msgid "Could not get/set settings from/on resource."
-msgstr "Ne mogu dohvatiti/postaviti postavke resursa."
-
-msgid "No space left on the resource."
-msgstr "Nema više prostora na resursu."
-
-msgid "GStreamer encountered a general stream error."
-msgstr "GStreamer je naišao na opću grešku toka podataka."
-
-msgid "Element doesn't implement handling of this stream. Please file a bug."
-msgstr ""
-"Element ne implementira upravljanje ovim tokom podataka. Molim prijavite "
-"grešku."
-
-msgid "Could not determine type of stream."
-msgstr "Ne mogu odrediti vrstu toka podataka."
-
-msgid "The stream is of a different type than handled by this element."
-msgstr ""
-"Tok podataka je različite vrste od onoga kojim može upravljati ovaj element."
-
-msgid "There is no codec present that can handle the stream's type."
-msgstr "Nije prisutan kodek koji može upravljati ovom vrstom toka podataka."
-
-msgid "Could not decode stream."
-msgstr "Ne mogu dekodirati tok podataka."
-
-msgid "Could not encode stream."
-msgstr "Ne mogu kodirati tok podataka."
-
-msgid "Could not demultiplex stream."
-msgstr "Ne mogu demultipleksirati tok podataka."
-
-msgid "Could not multiplex stream."
-msgstr "Ne mogu multipleksirati tok podataka."
-
-msgid "The stream is in the wrong format."
-msgstr "Tok podataka je u krivom obliku."
-
-msgid "The stream is encrypted and decryption is not supported."
-msgstr "Tok podataka je šifriran i dešifriranje nije podržano."
-
-msgid ""
-"The stream is encrypted and can't be decrypted because no suitable key has "
-"been supplied."
-msgstr ""
-"Tok podataka je šifriran i ne može se dešifrirati jer nije naveden "
-"odgovarajući ključ."
-
-#, c-format
-msgid "No error message for domain %s."
-msgstr "Nema poruke o grešci za domenu %s."
-
-#, c-format
-msgid "No standard error message for domain %s and code %d."
-msgstr "Nema standardne poruke o grešci za domenu %s i kod %d."
-
-msgid "Selected clock cannot be used in pipeline."
-msgstr "Odabrani takt se ne može koristiti u cjevovodu."
-
-msgid "title"
-msgstr "naslov"
-
-msgid "commonly used title"
-msgstr "uobičajeno korišteni naslov"
-
-msgid "title sortname"
-msgstr "naslov (razvrstavanje)"
-
-msgid "commonly used title for sorting purposes"
-msgstr "uobičajeno korišteni naslov (koristi se za razvrstavanje)"
-
-msgid "artist"
-msgstr "izvođač"
-
-msgid "person(s) responsible for the recording"
-msgstr "osoba odgovorna za snimku"
-
-msgid "artist sortname"
-msgstr "izvođač (razvrstavanje)"
-
-msgid "person(s) responsible for the recording for sorting purposes"
-msgstr "osoba odgovorna za snimku (koristi se za razvrstavanje)"
-
-msgid "album"
-msgstr "album"
-
-msgid "album containing this data"
-msgstr "album koji sadrži ove podatke"
-
-msgid "album sortname"
-msgstr "album (razvrstavanje)"
-
-msgid "album containing this data for sorting purposes"
-msgstr "album koji sadrži ove podatke (koristi se za razvrstavanje)"
-
-msgid "album artist"
-msgstr "izvođač albuma"
-
-msgid "The artist of the entire album, as it should be displayed"
-msgstr "Izvođač cijelog albuma (koristi se za prikaz)"
-
-msgid "album artist sortname"
-msgstr "izvođač albuma (razvrstavanje)"
-
-msgid "The artist of the entire album, as it should be sorted"
-msgstr "Izvođač cijelog albuma (koristi se za razvrstavanje)"
-
-msgid "date"
-msgstr "datum"
-
-msgid "date the data was created (as a GDate structure)"
-msgstr "datum stvaranja podataka (u obliku GDate strukture)"
-
-msgid "datetime"
-msgstr "datumvrijeme"
-
-msgid "date and time the data was created (as a GstDateTime structure)"
-msgstr "datum i vrijeme stvaranja podataka (u obliku GstDateTime strukture)"
-
-msgid "genre"
-msgstr "žanr"
-
-msgid "genre this data belongs to"
-msgstr "žanr kojem pripadaju podaci"
-
-msgid "comment"
-msgstr "komentar"
-
-msgid "free text commenting the data"
-msgstr "slobodan tekst koji opisuje podatke"
-
-msgid "extended comment"
-msgstr "prošireni komentar"
-
-msgid "free text commenting the data in key=value or key[en]=comment form"
-msgstr ""
-"slobodan tekst koji opisuje podatke u obliku ključ=vrijednost ili ključ[en]"
-"=komentar"
-
-msgid "track number"
-msgstr "broj pjesme"
-
-msgid "track number inside a collection"
-msgstr "broj pjesme u kolekciji"
-
-msgid "track count"
-msgstr "broj pjesama"
-
-msgid "count of tracks inside collection this track belongs to"
-msgstr "broj pjesama u kolekciji kojoj pripada ova pjesma"
-
-msgid "disc number"
-msgstr "broj diska"
-
-msgid "disc number inside a collection"
-msgstr "broj diska u kolekciji"
-
-msgid "disc count"
-msgstr "broj diskova"
-
-msgid "count of discs inside collection this disc belongs to"
-msgstr "broj diskova u kolekciji kojoj pripada ovaj disk"
-
-msgid "location"
-msgstr "mjesto"
-
-msgid ""
-"Origin of media as a URI (location, where the original of the file or stream "
-"is hosted)"
-msgstr ""
-"Podrijetlo medija kao URI (mjesto, gdje se nalazi izvor datoteke ili toka "
-"podataka)"
-
-msgid "homepage"
-msgstr "početna stranica"
-
-msgid "Homepage for this media (i.e. artist or movie homepage)"
-msgstr ""
-"Početna stranica ovog medija (npr. početna stranica izvođača ili filma)"
-
-msgid "description"
-msgstr "opis"
-
-msgid "short text describing the content of the data"
-msgstr "kratak tekst koji opisuje sadržaj podataka"
-
-msgid "version"
-msgstr "inačica"
-
-msgid "version of this data"
-msgstr "inačica ovih podataka"
-
-msgid "ISRC"
-msgstr "ISRC"
-
-msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
-msgstr ""
-"International Standard Recording Code - pogledajte http://www.ifpi.org/isrc/"
-
-msgid "organization"
-msgstr "organizacija"
-
-msgid "copyright"
-msgstr "copyright"
-
-msgid "copyright notice of the data"
-msgstr "napomena o autorskim pravima podataka"
-
-msgid "copyright uri"
-msgstr "copyright uri"
-
-msgid "URI to the copyright notice of the data"
-msgstr "URI za napomenu o autorskim pravima podataka"
-
-msgid "encoded by"
-msgstr "kodirao"
-
-msgid "name of the encoding person or organization"
-msgstr "ime osobe ili organizacije koja je kodirala"
-
-msgid "contact"
-msgstr "kontakt"
-
-msgid "contact information"
-msgstr "informacije o kontaktu"
-
-msgid "license"
-msgstr "licenca"
-
-msgid "license of data"
-msgstr "licenca podataka"
-
-msgid "license uri"
-msgstr "uri licence"
-
-msgid "URI to the license of the data"
-msgstr "URI za licencu podataka"
-
-msgid "performer"
-msgstr "izvođač"
-
-msgid "person(s) performing"
-msgstr "osoba koja izvodi"
-
-msgid "composer"
-msgstr "skladatelj"
-
-msgid "person(s) who composed the recording"
-msgstr "osoba koja je skladala snimku"
-
-msgid "duration"
-msgstr "trajanje"
-
-msgid "length in GStreamer time units (nanoseconds)"
-msgstr "duljina u GStreamer vremenskim jedinicama (nanosekunde)"
-
-msgid "codec"
-msgstr "kodek"
-
-msgid "codec the data is stored in"
-msgstr "kodek u kojem su spremljeni podaci"
-
-msgid "video codec"
-msgstr "video kodek"
-
-msgid "codec the video data is stored in"
-msgstr "kodek u kojem su spremljeni video podaci"
-
-msgid "audio codec"
-msgstr "audio kodek"
-
-msgid "codec the audio data is stored in"
-msgstr "kodek u kojem su spremljeni audio podaci"
-
-msgid "subtitle codec"
-msgstr "kodek titlova"
-
-msgid "codec the subtitle data is stored in"
-msgstr "kodek u kojem su spremljeni podaci o titlovima"
-
-msgid "container format"
-msgstr "oblik spremnika"
-
-msgid "container format the data is stored in"
-msgstr "oblik spremnika u kojem su spremljeni podaci"
-
-msgid "bitrate"
-msgstr "brzina"
-
-msgid "exact or average bitrate in bits/s"
-msgstr "točna ili prosječna brzina u bitovima po sekundi"
-
-msgid "nominal bitrate"
-msgstr "nazivna brzina"
-
-msgid "nominal bitrate in bits/s"
-msgstr "nazivna brzina u bitovima po sekundi"
-
-msgid "minimum bitrate"
-msgstr "najmanja brzina"
-
-msgid "minimum bitrate in bits/s"
-msgstr "najmanja brzina u bitovima po sekundi"
-
-msgid "maximum bitrate"
-msgstr "najveća brzina"
-
-msgid "maximum bitrate in bits/s"
-msgstr "najveća brzina u bitovima po sekundi"
-
-msgid "encoder"
-msgstr "koder"
-
-msgid "encoder used to encode this stream"
-msgstr "koder korišten za kodiranje ovog toka podataka"
-
-msgid "encoder version"
-msgstr "inačica kodera"
-
-msgid "version of the encoder used to encode this stream"
-msgstr "inačica kodera korištenog za kodiranje ovog toka podataka"
-
-msgid "serial"
-msgstr "serijski broj"
-
-msgid "serial number of track"
-msgstr "serijski broj pjesme"
-
-msgid "replaygain track gain"
-msgstr "pojačanje reprodukcije pjesme"
-
-msgid "track gain in db"
-msgstr "pojačanje pjesme u decibelima"
-
-msgid "replaygain track peak"
-msgstr "vršno pojačanje reprodukcije pjesme"
-
-msgid "peak of the track"
-msgstr "najveća vrijednost pojačanja pjesme"
-
-msgid "replaygain album gain"
-msgstr "pojačanje reprodukcije albuma"
-
-msgid "album gain in db"
-msgstr "pojačanje albuma u decibelima"
-
-msgid "replaygain album peak"
-msgstr "vršno pojačanje reprodukcije albuma"
-
-msgid "peak of the album"
-msgstr "najveća vrijednost pojačanja albuma"
-
-msgid "replaygain reference level"
-msgstr "referentna razina pojačanja reprodukcije"
-
-msgid "reference level of track and album gain values"
-msgstr "referentna razina vrijednosti pojačanja pjesme i albuma"
-
-msgid "language code"
-msgstr "jezični kod"
-
-#, fuzzy
-msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "jezični kod za ovaj tok podataka, kompatibilan s ISO-639-1"
-
-#, fuzzy
-msgid "language name"
-msgstr "jezični kod"
-
-msgid "freeform name of the language this stream is in"
-msgstr ""
-
-msgid "image"
-msgstr "slika"
-
-msgid "image related to this stream"
-msgstr "slika povezana s ovim tokom podataka"
-
-#. TRANSLATORS: 'preview image' = image that shows a preview of the full image
-msgid "preview image"
-msgstr "pregledna slika"
-
-msgid "preview image related to this stream"
-msgstr "pregledna slika povezana s ovim tokom podataka"
-
-msgid "attachment"
-msgstr "prilog"
-
-msgid "file attached to this stream"
-msgstr "datoteka priložena ovom toku podataka"
-
-msgid "beats per minute"
-msgstr "otkucaja u minuti"
-
-msgid "number of beats per minute in audio"
-msgstr "broj otkucaja u minuti zvučnog zapisa"
-
-msgid "keywords"
-msgstr "ključne riječi"
-
-msgid "comma separated keywords describing the content"
-msgstr "zarezima odvojene ključne riječi koje opisuju sadržaj"
-
-msgid "geo location name"
-msgstr "geolokacijsko ime"
-
-msgid ""
-"human readable descriptive location of where the media has been recorded or "
-"produced"
-msgstr "ljudima čitljivo opisno mjesto gdje medij snimljen ili produciran"
-
-msgid "geo location latitude"
-msgstr "geolokacijska zemljopisna širina"
-
-msgid ""
-"geo latitude location of where the media has been recorded or produced in "
-"degrees according to WGS84 (zero at the equator, negative values for "
-"southern latitudes)"
-msgstr ""
-"zemljopisna širina mjesta gdje je medij snimljen ili produciran, u "
-"stupnjevima prema WGS84 (nula na ekvatoru, negativne vrijednosti za južnu "
-"polutku)"
-
-msgid "geo location longitude"
-msgstr "geolokacijska zemljopisna dužina"
-
-msgid ""
-"geo longitude location of where the media has been recorded or produced in "
-"degrees according to WGS84 (zero at the prime meridian in Greenwich/UK, "
-"negative values for western longitudes)"
-msgstr ""
-"zemljopisna dužina mjesta gdje je medij snimljen ili produciran, u "
-"stupnjevima prema WGS84 (nula na nultom meridijanu Greenwich/UK, negativne "
-"vrijednosti za zapadne dužine)"
-
-msgid "geo location elevation"
-msgstr "geolokacijska visina"
-
-msgid ""
-"geo elevation of where the media has been recorded or produced in meters "
-"according to WGS84 (zero is average sea level)"
-msgstr ""
-"nadmorska visina mjesta gdje je medij snimljen ili produciran, u metrima "
-"prema WGS84 (nula je prosječna razina mora)"
-
-msgid "geo location country"
-msgstr "geolokacijska država"
-
-msgid "country (english name) where the media has been recorded or produced"
-msgstr "država (englesko ime) gdje je medij snimljen ili produciran"
-
-msgid "geo location city"
-msgstr "geolokacijski grad"
-
-msgid "city (english name) where the media has been recorded or produced"
-msgstr "grad (englesko ime) gdje je medij snimljen ili produciran"
-
-msgid "geo location sublocation"
-msgstr "geolokacijska podlokacija"
-
-#, fuzzy
-msgid ""
-"a location within a city where the media has been produced or created (e.g. "
-"the neighborhood)"
-msgstr ""
-"mjesto u gradu gdje je medij snimljen ili produciran (npr. gradska četvrt)"
-
-msgid "geo location horizontal error"
-msgstr "geolokacijska vodoravna greška"
-
-msgid "expected error of the horizontal positioning measures (in meters)"
-msgstr "očekivana greška mjere vodoravnog položaja (u metrima)"
-
-msgid "geo location movement speed"
-msgstr "geolokacijska brzina pomicanja"
-
-msgid ""
-"movement speed of the capturing device while performing the capture in m/s"
-msgstr "brzina pomicanja uređaja za snimanje pri snimanju, u m/s"
-
-msgid "geo location movement direction"
-msgstr "geolokacijski smjer pomicanja"
-
-msgid ""
-"indicates the movement direction of the device performing the capture of a "
-"media. It is represented as degrees in floating point representation, 0 "
-"means the geographic north, and increases clockwise"
-msgstr ""
-"označava smjer pomicanja uređaja koji snima medij. Prikazan je u stupnjevima "
-"u prikazu s decimalnim zarezom, 0 označava zemljopisni sjever i povećava se "
-"u smjeru kazaljke na satu"
-
-msgid "geo location capture direction"
-msgstr "geolokacijski smjer snimanja"
-
-msgid ""
-"indicates the direction the device is pointing to when capturing a media. "
-"It is represented as degrees in floating point representation, 0 means the "
-"geographic north, and increases clockwise"
-msgstr ""
-"označava usmjerenje uređaja koji snima medij. Prikazan je u stupnjevima u "
-"prikazu s decimalnim zarezom, 0 označava zemljopisni sjever i povećava se u "
-"smjeru kazaljke na satu"
-
-#. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
-msgid "show name"
-msgstr "ime emisije"
-
-msgid "Name of the tv/podcast/series show the media is from"
-msgstr "Ime serije ili tv/podcast emisije iz koje je medij"
-
-#. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
-msgid "show sortname"
-msgstr "ime emisije (razvrstavanje)"
-
-msgid ""
-"Name of the tv/podcast/series show the media is from, for sorting purposes"
-msgstr ""
-"Ime serije ili tv/podcast emisije iz koje je medij (koristi se za "
-"razvrstavanje)"
-
-msgid "episode number"
-msgstr "broj epizode"
-
-msgid "The episode number in the season the media is part of"
-msgstr "Broj epizode u sezoni iz koje je medij"
-
-msgid "season number"
-msgstr "broj sezone"
-
-msgid "The season number of the show the media is part of"
-msgstr "Broj sezone emisije iz koje je medij"
-
-msgid "lyrics"
-msgstr "tekstovi"
-
-msgid "The lyrics of the media, commonly used for songs"
-msgstr "Tekstovi medija, najčešće korišteno u pjesmama"
-
-msgid "composer sortname"
-msgstr "skladatelj (razvrstavanje)"
-
-msgid "person(s) who composed the recording, for sorting purposes"
-msgstr "osoba koja je skladala snimku (koristi se za razvrstavanje)"
-
-msgid "grouping"
-msgstr "grupiranje"
-
-msgid ""
-"Groups related media that spans multiple tracks, like the different pieces "
-"of a concerto. It is a higher level than a track, but lower than an album"
-msgstr ""
-"Grupira povezane medije koji se protežu kroz više pjesama, kao npr. "
-"različiti stavci koncerta. To je viša razina od pjesme, ali niža od albuma"
-
-msgid "user rating"
-msgstr "korisnička ocjena"
-
-msgid ""
-"Rating attributed by a user. The higher the rank, the more the user likes "
-"this media"
-msgstr ""
-"Ocjena koju je dodijelio korisnik. Što je veća, korisniku se više sviđa medij"
-
-msgid "device manufacturer"
-msgstr "proizvođač uređaja"
-
-msgid "Manufacturer of the device used to create this media"
-msgstr "Proizvođač uređaja kojim je napravljen medij"
-
-msgid "device model"
-msgstr "model uređaja"
-
-msgid "Model of the device used to create this media"
-msgstr "Model uređaja korišten za izradu medija"
-
-msgid "application name"
-msgstr "ime programa"
-
-msgid "Application used to create the media"
-msgstr "Program korišten za izradu medija"
-
-msgid "application data"
-msgstr "programski podaci"
-
-msgid "Arbitrary application data to be serialized into the media"
-msgstr "Proizvoljni programski podaci uključeni u medij"
-
-msgid "image orientation"
-msgstr "orijentacija slike"
-
-msgid "How the image should be rotated or flipped before display"
-msgstr "Kako se slika treba okrenuti ili zrcaliti prije prikaza"
-
-msgid ", "
-msgstr ", "
-
-#, c-format
-msgid "ERROR: from element %s: %s\n"
-msgstr "GREŠKA: iz elementa %s: %s\n"
-
-#, c-format
-msgid ""
-"Additional debug info:\n"
-"%s\n"
-msgstr ""
-"Dodatne informacije za debugiranje:\n"
-"%s\n"
-
-#, c-format
-msgid "specified empty bin \"%s\", not allowed"
-msgstr ""
-
-#, c-format
-msgid "no bin \"%s\", skipping"
-msgstr ""
-
-#, c-format
-msgid "no property \"%s\" in element \"%s\""
-msgstr "nema svojstva „%s” u elementu „%s”"
-
-#, c-format
-msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
-msgstr "ne mogu postaviti svojstvo „%s” u elementu „%s” u „%s”"
-
-#, c-format
-msgid "could not link %s to %s"
-msgstr "ne mogu povezati %s na %s"
-
-#, c-format
-msgid "no element \"%s\""
-msgstr "nema elementa „%s”"
-
-#, c-format
-msgid "could not parse caps \"%s\""
-msgstr "ne mogu analizirati mogućnost „%s”"
-
-msgid "link without source element"
-msgstr "veza bez izvornog elementa"
-
-msgid "link without sink element"
-msgstr "veza bez prijamnog elementa"
-
-#, c-format
-msgid "no source element for URI \"%s\""
-msgstr "nema izvornog elementa za URI „%s”"
-
-#, c-format
-msgid "no element to link URI \"%s\" to"
-msgstr "nema elementa na koji će se povezati URI „%s”"
-
-#, c-format
-msgid "no sink element for URI \"%s\""
-msgstr "nema prijamnog elementa za URI „%s”"
-
-#, c-format
-msgid "could not link sink element for URI \"%s\""
-msgstr "ne mogu povezati prijamni element za URI „%s”"
-
-msgid "empty pipeline not allowed"
-msgstr "prazan cjevovod nije dozvoljen"
-
-msgid "Internal clock error."
-msgstr "Greška unutrašnjeg takta."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Greška unutrašnjeg toka podataka."
-
-msgid "A lot of buffers are being dropped."
-msgstr "Mnogo međuspremnika je ispušteno."
-
-msgid "Internal data flow problem."
-msgstr "Problem unutrašnjeg toka podataka."
-
-msgid "Internal data stream error."
-msgstr "Greška unutrašnjeg toka podataka."
-
-msgid "Filter caps"
-msgstr "Filtriraj mogućnosti"
-
-msgid ""
-"Restrict the possible allowed capabilities (NULL means ANY). Setting this "
-"property takes a reference to the supplied GstCaps object."
-msgstr ""
-"Ograniči dozvoljene mogućnosti (NULL znači ANY). Postavljanje ovog svojstva "
-"prosljeđuje referencu navedenom GstCaps objektu."
-
-msgid "No file name specified for writing."
-msgstr "Nije navedena datoteka za pisanje."
-
-#, c-format
-msgid "Could not open file \"%s\" for writing."
-msgstr "Ne mogu otvoriti datoteku „%s” za pisanje."
-
-#, c-format
-msgid "Error closing file \"%s\"."
-msgstr "Greška zatvaranja datoteke „%s”."
-
-#, c-format
-msgid "Error while seeking in file \"%s\"."
-msgstr "Greška pri traženju u datoteci „%s”."
-
-#, c-format
-msgid "Error while writing to file \"%s\"."
-msgstr "Greška pri pisanju u datoteku „%s”."
-
-msgid "No file name specified for reading."
-msgstr "Nije navedena datoteka za čitanje."
-
-#, c-format
-msgid "Could not open file \"%s\" for reading."
-msgstr "Ne mogu otvoriti datoteku „%s” za čitanje."
-
-#, c-format
-msgid "Could not get info on \"%s\"."
-msgstr "Ne mogu dobiti podatke o „%s”."
-
-#, c-format
-msgid "\"%s\" is a directory."
-msgstr "„%s” je direktorij."
-
-#, c-format
-msgid "File \"%s\" is a socket."
-msgstr "Datoteka „%s” je utičnica."
-
-msgid "Failed after iterations as requested."
-msgstr "Neuspjeh nakon iteracija kao što je traženo."
-
-msgid "No Temp directory specified."
-msgstr "Nije naveden privremeni direktorij."
-
-#, c-format
-msgid "Could not create temp file \"%s\"."
-msgstr "Ne mogu napraviti privremenu datoteku „%s”."
-
-msgid "Error while writing to download file."
-msgstr "Greška pri pisanju u preuzetu datoteku."
-
-msgid "caps"
-msgstr "mogućnosti"
-
-msgid "detected capabilities in stream"
-msgstr "otkrivene mogućnosti u nizu podataka"
-
-msgid "minimum"
-msgstr "najmanje"
-
-msgid "force caps"
-msgstr "prisili mogućnosti"
-
-msgid "force caps without doing a typefind"
-msgstr "prisiljava mogućnosti bez traženja vrste"
-
-msgid "Stream contains no data."
-msgstr "Tok podataka ne sadrži podatke."
-
-msgid "Implemented Interfaces:\n"
-msgstr "Implementirana sučelja:\n"
-
-msgid "readable"
-msgstr "čitljivo"
-
-msgid "writable"
-msgstr "zapisivo"
-
-msgid "controllable"
-msgstr "upravljivo"
-
-msgid "changeable in NULL, READY, PAUSED or PLAYING state"
-msgstr "promjenjivo u stanja NULL, READY, PAUSED ili PLAYING"
-
-msgid "changeable only in NULL, READY or PAUSED state"
-msgstr "promjenjivo samo u stanja NULL, READY ili PAUSED"
-
-msgid "changeable only in NULL or READY state"
-msgstr "promjenjivo samo u stanja NULL ili READY"
-
-msgid "Blacklisted files:"
-msgstr "Zabranjene datoteke:"
-
-msgid "Total count: "
-msgstr "Ukupan broj: "
-
-#, c-format
-msgid "%d blacklisted file"
-msgid_plural "%d blacklisted files"
-msgstr[0] "%d zabranjena datoteka"
-msgstr[1] "%d zabranjene datoteke"
-msgstr[2] "%d zabranjenih datoteka"
-
-#, c-format
-msgid "%d plugin"
-msgid_plural "%d plugins"
-msgstr[0] "%d priključak"
-msgstr[1] "%d priključka"
-msgstr[2] "%d priključaka"
-
-#, c-format
-msgid "%d blacklist entry"
-msgid_plural "%d blacklist entries"
-msgstr[0] "%d stavka popisa zabrana"
-msgstr[1] "%d stavke popisa zabrana"
-msgstr[2] "%d stavki popisa zabrana"
-
-#, c-format
-msgid "%d feature"
-msgid_plural "%d features"
-msgstr[0] "%d značajka"
-msgstr[1] "%d značajke"
-msgstr[2] "%d značajki"
-
-msgid "Print all elements"
-msgstr "Ispiši sve elemente"
-
-msgid "Print list of blacklisted files"
-msgstr "Ispiši popis zabranjenih datoteka"
-
-msgid ""
-"Print a machine-parsable list of features the specified plugin or all "
-"plugins provide.\n"
-" Useful in connection with external "
-"automatic plugin installation mechanisms"
-msgstr ""
-"Ispiši strojno čitljiv popis značajki navedenog priključka ili svih "
-"priključaka.\n"
-" Korisno pri povezivanju s vanjskim "
-"mehanizmima automatske instalacije priključaka"
-
-msgid "List the plugin contents"
-msgstr "Ispiši sadržaj priključka"
-
-msgid "Check if the specified element or plugin exists"
-msgstr ""
-
-msgid ""
-"When checking if an element or plugin exists, also check that its version is "
-"at least the version specified"
-msgstr ""
-
-msgid "Print supported URI schemes, with the elements that implement them"
-msgstr "Ispiši podržane URI sheme, s elementima koji ih implementiraju"
-
-#, c-format
-msgid "Could not load plugin file: %s\n"
-msgstr "Ne mogu učitati datoteku priključka: %s\n"
-
-#, c-format
-msgid "No such element or plugin '%s'\n"
-msgstr "Nema takvog elementa ili priključka „%s”\n"
-
-msgid "Index statistics"
-msgstr "Statistike indeksa"
-
-#, c-format
-msgid "Got message #%u from element \"%s\" (%s): "
-msgstr "Dobio poruku #%u iz elementa „%s” (%s): "
-
-#, c-format
-msgid "Got message #%u from pad \"%s:%s\" (%s): "
-msgstr "Dobio poruku #%u iz podloge „%s:%s” (%s): "
-
-#, c-format
-msgid "Got message #%u from object \"%s\" (%s): "
-msgstr "Dobio poruku #%u iz objekta „%s” (%s): "
-
-#, c-format
-msgid "Got message #%u (%s): "
-msgstr "Dobio poruku #%u (%s): "
-
-#, c-format
-msgid "Got EOS from element \"%s\".\n"
-msgstr "Dobio EOS iz elementa „%s”.\n"
-
-#, c-format
-msgid "FOUND TAG : found by element \"%s\".\n"
-msgstr "PRONAĐENA OZNAKA: pronašao element „%s”.\n"
-
-#, c-format
-msgid "FOUND TAG : found by pad \"%s:%s\".\n"
-msgstr "PRONAĐENA OZNAKA: pronašla podloga „%s:%s”.\n"
-
-#, c-format
-msgid "FOUND TAG : found by object \"%s\".\n"
-msgstr "PRONAĐENA OZNAKA: pronašao objekt „%s”.\n"
-
-msgid "FOUND TAG\n"
-msgstr "PRONAĐENA OZNAKA\n"
-
-#, fuzzy, c-format
-msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "PRONAĐENA OZNAKA: pronašao element „%s”.\n"
-
-#, fuzzy, c-format
-msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "PRONAĐENA OZNAKA: pronašao objekt „%s”.\n"
-
-#, fuzzy
-msgid "FOUND TOC\n"
-msgstr "PRONAĐENA OZNAKA\n"
-
-#, c-format
-msgid ""
-"INFO:\n"
-"%s\n"
-msgstr ""
-"INFORMACIJE:\n"
-"%s\n"
-
-#, c-format
-msgid "WARNING: from element %s: %s\n"
-msgstr "UPOZORENJE: iz elementa %s: %s\n"
-
-msgid "Prerolled, waiting for buffering to finish...\n"
-msgstr ""
-
-msgid "buffering..."
-msgstr "spremam u međuspremnik..."
-
-msgid "Done buffering, setting pipeline to PLAYING ...\n"
-msgstr "Gotovo spremanje u međuspremnik, postavljam cjevovod u PLAYING ...\n"
-
-msgid "Buffering, setting pipeline to PAUSED ...\n"
-msgstr "Spremam u međuspremnik, postavljam cjevovod u PAUSED ...\n"
-
-msgid "Redistribute latency...\n"
-msgstr "Preraspodjeljujem kašnjenje...\n"
-
-#, c-format
-msgid "Setting state to %s as requested by %s...\n"
-msgstr "Postavljam stanje u %s kao što traži %s...\n"
-
-msgid "Interrupt: Stopping pipeline ...\n"
-msgstr "Prekid: Zaustavljam cjevovod ...\n"
-
-#, fuzzy, c-format
-msgid "Missing element: %s\n"
-msgstr "nema elementa „%s”"
-
-msgid "Output tags (also known as metadata)"
-msgstr "Izlazne oznake (poznate i kao metapodaci)"
-
-msgid "Output TOC (chapters and editions)"
-msgstr ""
-
-msgid "Output status information and property notifications"
-msgstr "Informacije o izlaznom stanju i obavijesti o svojstvima"
-
-msgid "Do not print any progress information"
-msgstr "Ne ispisuj informacije o napretku"
-
-msgid "Output messages"
-msgstr "Izlazne poruke"
-
-msgid "Do not output status information of TYPE"
-msgstr "Ne ispisuj informacije navedene VRSTE o izlaznom stanju"
-
-msgid "TYPE1,TYPE2,..."
-msgstr "VRSTA1,VRSTA2,..."
-
-msgid "Do not install a fault handler"
-msgstr "Nemoj instalirati rukovatelj grešaka"
-
-msgid "Force EOS on sources before shutting the pipeline down"
-msgstr "Prisili EOS na izvorima prije zatvaranja cjevovoda"
-
-msgid "Gather and print index statistics"
-msgstr "Skupi i ispiši statistike indeksa"
-
-#, c-format
-msgid "ERROR: pipeline could not be constructed: %s.\n"
-msgstr "GREŠKA: ne mogu napraviti cjevovod: %s.\n"
-
-msgid "ERROR: pipeline could not be constructed.\n"
-msgstr "GREŠKA: ne mogu napraviti cjevovod.\n"
-
-#, c-format
-msgid "WARNING: erroneous pipeline: %s\n"
-msgstr "UPOZORENJE: cjevovod sklon greškama: %s\n"
-
-msgid "ERROR: the 'pipeline' element wasn't found.\n"
-msgstr "GREŠKA: cjevovodni („pipeline”) element nije pronađen.\n"
-
-msgid "Setting pipeline to PAUSED ...\n"
-msgstr "Postavljam cjevovod u PAUSED ...\n"
-
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "GREŠKA: Cjevovod ne želi pauzirati.\n"
-
-msgid "Pipeline is live and does not need PREROLL ...\n"
-msgstr "Cjevovod je živ i ne traži PREROLL ...\n"
-
-msgid "Pipeline is PREROLLING ...\n"
-msgstr ""
-
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr ""
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Postavljam cjevovod u PLAYING ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "GREŠKA: cjevovod ne želi reproducirati.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS pri zatvaranju omogućen -- Prisiljavam EOS na cjevovodu\n"
-
-#, fuzzy
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS pri zatvaranju omogućen -- Prisiljavam EOS na cjevovodu\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Čekam EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS primljen - zaustavljam cjevovod...\n"
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Prekid: Zaustavljam cjevovod ...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Dogodila se greška pri čekanju EOS-a\n"
-
-msgid "Execution ended after %"
-msgstr "Izvršavanje završilo nakon %"
-
-msgid "Setting pipeline to READY ...\n"
-msgstr "Postavljam cjevovod u READY ...\n"
-
-msgid "Setting pipeline to NULL ...\n"
-msgstr "Postavljam cjevovod u NULL ...\n"
-
-msgid "Freeing pipeline ...\n"
-msgstr "Oslobađam cjevovod ...\n"
-
-#~ msgid "maximum"
-#~ msgstr "najviše"
-
-#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
-#~ msgstr ""
-#~ "Uporaba: gst-xmllaunch <datoteka.xml> [ element."
-#~ "svojstvo=vrijednost ... ]\n"
-
-#~ msgid "ERROR: parse of xml file '%s' failed.\n"
-#~ msgstr "GREŠKA: analiza xml datoteke „%s” nije uspjela.\n"
-
-#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
-#~ msgstr "GREŠKA: ne postoji vršni element cjevovoda u datoteci „%s”.\n"
-
-#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
-#~ msgstr "UPOZORENJE: trenutno je podržan samo jedan vršni element.\n"
-
-#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
-#~ msgstr "GREŠKA: ne mogu analizirati argument naredbenog retka %d: %s.\n"
-
-#~ msgid "WARNING: element named '%s' not found.\n"
-#~ msgstr "UPOZORENJE: element „%s” nije pronađen.\n"
-
-#~ msgid "Save xml representation of pipeline to FILE and exit"
-#~ msgstr "Spremi xml prikaz cjevovoda u DATOTEKU i izađi"
-
-#~ msgid "FILE"
-#~ msgstr "DATOTEKA"
-
-#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
-#~ msgstr "Nemoj instalirati rukovatelj signala za SIGUSR1 i SIGUSR2"
-
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Ispiši alloc praćenje (ako je omogućeno pri kompajliranju)"
diff --git a/po/hu.gmo b/po/hu.gmo
index aabab2f..fad1883 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 83124ba..3c7d7ea 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -2,20 +2,20 @@
# Copyright (c) 2006 Canonical Ltd, and Rosetta Contributors
# This file is distributed under the same license as the gstreamer package.
#
-# Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008, 2009, 2010, 2012.
+# Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008, 2009, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer 1.0.3\n"
+"Project-Id-Version: gstreamer 0.10.30.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2012-11-29 14:03+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
+"PO-Revision-Date: 2010-11-01 13:39+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.4\n"
+"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print the GStreamer version"
@@ -113,8 +113,9 @@ msgstr "Belső GStreamer hiba: kitöltési probléma."
msgid "Internal GStreamer error: thread problem."
msgstr "Belső GStreamer hiba: szálprobléma."
+#, fuzzy
msgid "GStreamer error: negotiation problem."
-msgstr "GStreamer hiba: megállapodási probléma."
+msgstr "Belső GStreamer hiba: megállapodási probléma."
msgid "Internal GStreamer error: event problem."
msgstr "Belső GStreamer hiba: eseményprobléma."
@@ -131,8 +132,9 @@ msgstr "Belső GStreamer hiba: címkeprobléma."
msgid "Your GStreamer installation is missing a plug-in."
msgstr "A GStreamer telepítésből hiányzik egy bővítmény."
+#, fuzzy
msgid "GStreamer error: clock problem."
-msgstr "GStreamer hiba: óraprobléma."
+msgstr "Belső GStreamer hiba: óraprobléma."
msgid ""
"This application is trying to use GStreamer functionality that has been "
@@ -247,6 +249,10 @@ msgstr ""
msgid "Selected clock cannot be used in pipeline."
msgstr "A kijelölt óra nem használható adatcsatornában."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "cím"
@@ -324,8 +330,8 @@ msgstr "kiterjesztett megjegyzés"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"az adatokhoz fűzött szabad szöveges megjegyzés kulcs=érték vagy kulcs[hu]"
-"=megjegyzés formában"
+"az adatokhoz fűzött szabad szöveges megjegyzés kulcs=érték vagy "
+"kulcs[hu]=megjegyzés formában"
msgid "track number"
msgstr "dalsorszám"
@@ -402,11 +408,12 @@ msgstr "védjegy uri"
msgid "URI to the copyright notice of the data"
msgstr "Az adatok védjegymegjegyzésének URI címe"
+#, fuzzy
msgid "encoded by"
-msgstr "kódolta"
+msgstr "kódoló"
msgid "name of the encoding person or organization"
-msgstr "a kódoló személy vagy szervezet"
+msgstr ""
msgid "contact"
msgstr "névjegy"
@@ -549,15 +556,16 @@ msgstr "szám és album hangosításának referenciaszintje"
msgid "language code"
msgstr "nyelvi kód"
+#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr ""
-"az adatfolyam ISO-639-1 vagy ISO-639-2 szabványnak megfelelő nyelvi kódja"
+msgstr "az adatfolyam ISO-639-1 szabványnak megfelelő nyelvi kódja"
+#, fuzzy
msgid "language name"
msgstr "nyelvi kód"
msgid "freeform name of the language this stream is in"
-msgstr "az adatfolyam nyelvének szabad formátumú neve"
+msgstr ""
msgid "image"
msgstr "kép"
@@ -649,6 +657,7 @@ msgstr "város (angol név), ahol a média felvételre vagy előállításra ker
msgid "geo location sublocation"
msgstr "földrajzi hely részhelye"
+#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
@@ -786,6 +795,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "HIBA: a következő elemtől: %s: %s\n"
@@ -850,15 +867,6 @@ msgstr "nem linkelhető nyelőelem a következő URI címhez: „%s”"
msgid "empty pipeline not allowed"
msgstr "üres adatcsatorna nem engedélyezett"
-msgid "Internal clock error."
-msgstr "Belső órahiba."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Belső adatfolyam-hiba."
-
msgid "A lot of buffers are being dropped."
msgstr "Rengetek puffer kerül eldobásra."
@@ -868,6 +876,15 @@ msgstr "Belső adatfolyam-probléma."
msgid "Internal data stream error."
msgstr "Belső adatfolyam-hiba."
+msgid "Internal data flow error."
+msgstr "Belső adatfolyam-hiba."
+
+msgid "Internal clock error."
+msgstr "Belső órahiba."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Képességek szűrése"
@@ -1018,14 +1035,12 @@ msgid "List the plugin contents"
msgstr "A bővítmény tartalmának felsorolása"
msgid "Check if the specified element or plugin exists"
-msgstr "Ellenőrizze, hogy a megadott elem vagy bővítmény létezik-e"
+msgstr ""
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-"Elem vagy bővítmény létezésének ellenőrzésekor azt is ellenőrizze, hogy a "
-"verziója legalább a megadott-e"
msgid "Print supported URI schemes, with the elements that implement them"
msgstr "Támogatott URI sémák kiírása, az azokat megvalósító elemmel"
@@ -1039,7 +1054,7 @@ msgid "No such element or plugin '%s'\n"
msgstr "Nincs ilyen elem vagy bővítmény: „%s”\n"
msgid "Index statistics"
-msgstr "Indexstatisztika"
+msgstr ""
#, c-format
msgid "Got message #%u from element \"%s\" (%s): "
@@ -1076,16 +1091,17 @@ msgstr "CÍMKE MEGTALÁLVA: a(z) „%s” objektum által.\n"
msgid "FOUND TAG\n"
msgstr "CÍMKE MEGTALÁLVA\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "TARTALOMJEGYZÉK MEGTALÁLVA: a(z) „%s” elem által.\n"
+msgstr "CÍMKE MEGTALÁLVA: a(z) „%s” elem által.\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "TARTALOMJEGYZÉK MEGTALÁLVA: a(z) „%s” objektum által.\n"
+msgstr "CÍMKE MEGTALÁLVA: a(z) „%s” objektum által.\n"
+#, fuzzy
msgid "FOUND TOC\n"
-msgstr "TARTALOMJEGYZÉK MEGTALÁLVA\n"
+msgstr "CÍMKE MEGTALÁLVA\n"
#, c-format
msgid ""
@@ -1102,6 +1118,10 @@ msgstr "FIGYELMEZTETÉS: a következő elemtől: %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Előzetesen betöltve, várakozás a pufferelés befejeződésére…\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Előzetesen betöltve, várakozás a pufferelés befejeződésére…\n"
+
msgid "buffering..."
msgstr "pufferelés…"
@@ -1122,14 +1142,22 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Megszakítás: Adatcsatorna leállítása…\n"
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, fuzzy, c-format
msgid "Missing element: %s\n"
-msgstr "Hiányzó elem: „%s”\n"
+msgstr "nincs „%s” elem"
+
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "FIGYELMEZTETÉS: a következő elemtől: %s: %s\n"
msgid "Output tags (also known as metadata)"
msgstr "Kimeneti címkék (metaadatok)"
msgid "Output TOC (chapters and editions)"
-msgstr "TARTALOMJEGYZÉK (fejezetek és változatok) kiírása"
+msgstr ""
msgid "Output status information and property notifications"
msgstr "Kimeneti állapotinformációk és tulajdonság-értesítések"
@@ -1153,7 +1181,7 @@ msgid "Force EOS on sources before shutting the pipeline down"
msgstr "EOS kényszerítése a forrásokra az adatcsatorna leállítása előtt"
msgid "Gather and print index statistics"
-msgstr "Indexstatisztikák gyűjtése és kiírása"
+msgstr ""
#, c-format
msgid "ERROR: pipeline could not be constructed: %s.\n"
@@ -1196,8 +1224,9 @@ msgstr "HIBA: az adatcsatorna nem akar lejátszani.\n"
msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr "Leállításkor EOS engedélyezve – EOS kényszerítése az adatcsatornára\n"
+#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Leállításkor EOS engedélyezve – várakozás EOS-ra hiba után\n"
+msgstr "Leállításkor EOS engedélyezve – EOS kényszerítése az adatcsatornára\n"
msgid "Waiting for EOS...\n"
msgstr "Várakozás EOS-ra…\n"
@@ -1205,8 +1234,9 @@ msgstr "Várakozás EOS-ra…\n"
msgid "EOS received - stopping pipeline...\n"
msgstr "EOS érkezett – adatcsatorna leállítása…\n"
+#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Megszakítás az EOS-ra várakozás közben – adatcsatorna leállítása…\n"
+msgstr "Megszakítás: Adatcsatorna leállítása…\n"
msgid "An error happened while waiting for EOS\n"
msgstr "Hiba történt az EOS-ra várakozáskor\n"
@@ -1223,8 +1253,8 @@ msgstr "Az adatcsatorna beállítása NULL értékre…\n"
msgid "Freeing pipeline ...\n"
msgstr "Adatcsatorna felszabadítása…\n"
-#~ msgid "maximum"
-#~ msgstr "maximum"
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Foglalási nyomkövetés kiírása (ha fordításkor engedélyezték)"
#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
#~ msgstr "Használat: gst-xmllaunch <fájl.xml> [ elem.tulajdonság=érték … ]\n"
@@ -1253,6 +1283,3 @@ msgstr "Adatcsatorna felszabadítása…\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Ne telepítsen szignálkezelőket a SIGUSR1 és SIGUSR2 szignálokhoz"
-
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Foglalási nyomkövetés kiírása (ha fordításkor engedélyezték)"
diff --git a/po/id.gmo b/po/id.gmo
index e956db7..1f749f0 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index acf0539..3191b17 100644
--- a/po/id.po
+++ b/po/id.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2012-01-28 11:44+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -250,6 +250,10 @@ msgstr "Tak ada pesan galat standar untuk domain %s dan kode %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Jam terpilih tak dapat digunakan dalam baris pipa."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "Galat menulis tembolok registry ke %s: %s"
+
msgid "title"
msgstr "judul"
@@ -328,8 +332,8 @@ msgstr "komentar diperpanjang"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"teks bebas untuk mengomentari data dalam bentuk kunci=nilai atau kunci[en]"
-"=komentar"
+"teks bebas untuk mengomentari data dalam bentuk kunci=nilai atau "
+"kunci[en]=komentar"
msgid "track number"
msgstr "nomor jalur"
@@ -794,6 +798,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "GALAT: dari elemen %s: %s\n"
@@ -858,15 +870,6 @@ msgstr "tak dapat menautkan elemen buang untuk URI \"%s\""
msgid "empty pipeline not allowed"
msgstr "baris pipa kosong tak diizinkan"
-msgid "Internal clock error."
-msgstr "Galat jam internal."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Galat aliran data internal."
-
msgid "A lot of buffers are being dropped."
msgstr "Banyak penyangga yang didrop."
@@ -876,6 +879,15 @@ msgstr "Masalah aliran data internal."
msgid "Internal data stream error."
msgstr "Galat arus data internal."
+msgid "Internal data flow error."
+msgstr "Galat aliran data internal."
+
+msgid "Internal clock error."
+msgstr "Galat jam internal."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filter huruf"
@@ -1107,6 +1119,10 @@ msgstr "PERINGATAN: dari elemen %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Pragulung, menunggu hingga penyangga selesai...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Pragulung, menunggu hingga penyangga selesai...\n"
+
msgid "buffering..."
msgstr "menyangga..."
@@ -1126,10 +1142,18 @@ msgstr "Mengatur tingkat ke %s seperti diminta oleh %s...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Interupsi: Menghentikan baris pipa ...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "tak ada elemen \"%s\""
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "PERINGATAN: dari elemen %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Tag keluaran (juga dikenal sebagai metadata)"
@@ -1230,9 +1254,6 @@ msgstr "Mengatur baris pipa ke KOSONG ...\n"
msgid "Freeing pipeline ...\n"
msgstr "Membebaskan baris pipa ...\n"
-#~ msgid "maximum"
-#~ msgstr "maksimum"
-
#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
#~ msgstr ""
#~ "Penggunaan: gst-xmllaunch <berkas.xml> [ elemen.properti=nilai ... ]\n"
@@ -1265,9 +1286,6 @@ msgstr "Membebaskan baris pipa ...\n"
#~ msgid "Print alloc trace (if enabled at compile time)"
#~ msgstr "Cetak jejak alokasi (jika diaktifkan sewaktu kompilasi)"
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "Galat menulis tembolok registry ke %s: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Galat memindai ulang registry %s: %s"
diff --git a/po/it.gmo b/po/it.gmo
index 3cee959..705fab4 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index ab94427..88cd74e 100644
--- a/po/it.po
+++ b/po/it.po
@@ -106,7 +106,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.30.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-10-25 10:03+0200\n"
"Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -369,6 +369,10 @@ msgstr "Nessun messaggio d'errore standard per il dominio %s e il codice %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Il clock selezionato non può essere usato nella pipeline."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "Errore nello scrivere la cache di registro su %s: %s"
+
# questo e i successivi sono nome + descrizione delle proprietà
# dei tag ID3 (o simili); le descrizioni per omogeneità iniziano
# tutte con la lettera minuscola
@@ -451,8 +455,8 @@ msgstr "commento esteso"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"del testo libero a commento dei dati nella forma chiave=valore o chiave[it]"
-"=commento"
+"del testo libero a commento dei dati nella forma chiave=valore o "
+"chiave[it]=commento"
msgid "track number"
msgstr "numero di traccia"
@@ -945,6 +949,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ERRORE: dall'elemento %s: %s\n"
@@ -1009,15 +1021,6 @@ msgstr "impossibile collegare l'elemento sink per l'URI «%s»"
msgid "empty pipeline not allowed"
msgstr "pipeline vuota non consentito"
-msgid "Internal clock error."
-msgstr "Errore interno di clock."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Errore interno nel flusso di dati."
-
msgid "A lot of buffers are being dropped."
msgstr "Stanno per essere scartati molti buffer."
@@ -1027,6 +1030,15 @@ msgstr "Problema interno nel flusso di dati."
msgid "Internal data stream error."
msgstr "Errore interno nello stream di dati."
+msgid "Internal data flow error."
+msgstr "Errore interno nel flusso di dati."
+
+msgid "Internal clock error."
+msgstr "Errore interno di clock."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Caps di filtro"
@@ -1282,6 +1294,10 @@ msgstr "ATTENZIONE: dall'elemento %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Preroll eseguito, in attesa del riempimento buffer per completare...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Preroll eseguito, in attesa del riempimento buffer per completare...\n"
+
msgid "buffering..."
msgstr "riempimento buffer..."
@@ -1302,10 +1318,18 @@ msgstr "Impostazione dello stato a %s come richiesto da %s...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Interrotto: arresto della pipeline ...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "nessun elemento «%s»"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "ATTENZIONE: dall'elemento %s: %s\n"
+
# -t, --tags
msgid "Output tags (also known as metadata)"
msgstr "Stampa i tag (anche noti come metadati)"
@@ -1452,9 +1476,6 @@ msgstr "Esecuzione di free sulla pipeline...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Non installa i gestori di segnale per SIGUSR1 e SIGUSR2"
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "Errore nello scrivere la cache di registro su %s: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Errore nel ri-scansionare il registro %s: %s"
diff --git a/po/ja.gmo b/po/ja.gmo
index c936991..b4c834a 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 0c4a405..8d1207c 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.20.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2008-10-16 19:57+0900\n"
"Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -239,6 +239,10 @@ msgstr ""
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "%s へのレジストリキャッシュの書き込み中にエラーが発生しました: %s"
+
msgid "title"
msgstr "タイトル"
@@ -774,6 +778,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr ""
@@ -838,24 +850,24 @@ msgstr ""
msgid "empty pipeline not allowed"
msgstr "空のパイプラインは許可されません"
-msgid "Internal clock error."
+msgid "A lot of buffers are being dropped."
msgstr ""
-msgid "Failed to map buffer."
+msgid "Internal data flow problem."
msgstr ""
+msgid "Internal data stream error."
+msgstr "内部データストリームエラー"
+
msgid "Internal data flow error."
msgstr "内部データフローエラー"
-msgid "A lot of buffers are being dropped."
+msgid "Internal clock error."
msgstr ""
-msgid "Internal data flow problem."
+msgid "Failed to map buffer."
msgstr ""
-msgid "Internal data stream error."
-msgstr "内部データストリームエラー"
-
msgid "Filter caps"
msgstr ""
@@ -1084,6 +1096,9 @@ msgstr ""
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
#, fuzzy
msgid "buffering..."
msgstr "バッファリング中... %d \n"
@@ -1106,10 +1121,18 @@ msgstr ""
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "割り込み: パイプラインを停止しています...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "エレメント \"%s\" がありません"
+#, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr ""
+
msgid "Output tags (also known as metadata)"
msgstr "タグ (メタデータ) を出力する"
@@ -1242,9 +1265,6 @@ msgstr "パイプラインを解放 (FREEING) しています...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "フォールトハンドラをインストールしない"
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "%s へのレジストリキャッシュの書き込み中にエラーが発生しました: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "レジストリ %s の再スキャン中にエラーが発生しました: %s"
diff --git a/po/lt.gmo b/po/lt.gmo
index 7c287ac..adaca1a 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 492303c..fa7181c 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.29.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-07-16 00:50+0300\n"
"Last-Translator: Žygimantas Beručka <uid0@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -248,6 +248,10 @@ msgstr "Nėra standartinio klaidos pranešimo sričiai %s ir kodui %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Pasirinktas laikrodis negali būti naudojamas konvejeryje."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "pavadinimas"
@@ -327,8 +331,8 @@ msgstr "išplėstinis komentaras"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"laisvas tekstas, apibūdinantis duomenis raktas=reikšmė arba raktas[en]"
-"=komentaras forma"
+"laisvas tekstas, apibūdinantis duomenis raktas=reikšmė arba "
+"raktas[en]=komentaras forma"
msgid "track number"
msgstr "takelio numeris"
@@ -796,6 +800,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "KLAIDA: iš elemento %s: %s\n"
@@ -860,15 +872,6 @@ msgstr "nepavyko susieti išvesties elemento URI „%s“"
msgid "empty pipeline not allowed"
msgstr "tuščias konvejeris neleidžiamas"
-msgid "Internal clock error."
-msgstr "Vidinė laikrodžio klaida."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Vidinė duomenų tėkmės klaida."
-
msgid "A lot of buffers are being dropped."
msgstr "Atlaisvinama daug buferių."
@@ -878,6 +881,15 @@ msgstr "Vidinė duomenų tėkmės problema."
msgid "Internal data stream error."
msgstr "Vidinė duomenų srauto klaida."
+msgid "Internal data flow error."
+msgstr "Vidinė duomenų tėkmės klaida."
+
+msgid "Internal clock error."
+msgstr "Vidinė laikrodžio klaida."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filtruoti galimybes"
@@ -1116,6 +1128,10 @@ msgstr "ĮSPĖJIMAS: iš elemento %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Paruošta, laukiama kol bus sukurtas buferis...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Paruošta, laukiama kol bus sukurtas buferis...\n"
+
msgid "buffering..."
msgstr "kuriamas buferis..."
@@ -1135,10 +1151,18 @@ msgstr "Nustatoma būsena į %s, kaip prašė %s...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Pertraukimas: stabdomas konvejeris...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "nėra elemento „%s“"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "ĮSPĖJIMAS: iš elemento %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Išvesti žymas (dar žinomas kaip metaduomenys)"
diff --git a/po/nb.gmo b/po/nb.gmo
index c5fd59e..e25de88 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index ce8d4c6..092a5da 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.30.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-10-24 21:36+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
@@ -231,6 +231,10 @@ msgstr "Ingen standard feilmelding for domene %s og kode %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Valgt klokke kan ikke brukes i røret."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "tittel"
@@ -762,6 +766,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "FEIL: fra element %s: %s\n"
@@ -826,15 +838,6 @@ msgstr ""
msgid "empty pipeline not allowed"
msgstr ""
-msgid "Internal clock error."
-msgstr "Feil i intern klokke"
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Intern feil med dataflyt."
-
msgid "A lot of buffers are being dropped."
msgstr ""
@@ -844,6 +847,15 @@ msgstr ""
msgid "Internal data stream error."
msgstr ""
+msgid "Internal data flow error."
+msgstr "Intern feil med dataflyt."
+
+msgid "Internal clock error."
+msgstr "Feil i intern klokke"
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr ""
@@ -1072,6 +1084,9 @@ msgstr "FEIL: fra element %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
msgid "buffering..."
msgstr ""
@@ -1091,10 +1106,18 @@ msgstr ""
msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "ingen element «%s»"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "FEIL: fra element %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr ""
diff --git a/po/nl.gmo b/po/nl.gmo
index 4dc5e2e..a316ef4 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index c07b0de..45531c8 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,17 +1,17 @@
-# translation of gstreamer-1.0.3.po to Dutch
+# translation of gstreamer-0.10.32.2.po to Dutch
# Dutch translation of gstreamer
# Copyright (C) 2003-2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the gstreamer package.
#
# Thomas Vander Stichele <thomas@apestaart.org>, 2004.
# Taco Witte <tcwitte@cs.uu.nl>, 2006.
-# Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2010, 2011, 2012.
+# Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2010, 2011.
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer 1.0.3\n"
+"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2012-11-29 22:42+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
+"PO-Revision-Date: 2011-04-26 23:10+0200\n"
"Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.1\n"
msgid "Print the GStreamer version"
msgstr "Toon de GStreamer versie"
@@ -121,8 +121,9 @@ msgstr "Interne GStreamer-fout: padprobleem."
msgid "Internal GStreamer error: thread problem."
msgstr "Interne GStreamer-fout: threadprobleem."
+#, fuzzy
msgid "GStreamer error: negotiation problem."
-msgstr "GStreamer-fout: onderhandelingsprobleem."
+msgstr "Interne GStreamer-fout: onderhandelingsprobleem."
msgid "Internal GStreamer error: event problem."
msgstr "Interne GStreamer-fout: gebeurtenisprobleem."
@@ -139,8 +140,9 @@ msgstr "Interne GStreamer-fout: tagprobleem."
msgid "Your GStreamer installation is missing a plug-in."
msgstr "Er ontbreekt een plugin in uw GStreamer installatie."
+#, fuzzy
msgid "GStreamer error: clock problem."
-msgstr "GStreamer-fout: klokprobleem."
+msgstr "Interne GStreamer-fout: klokprobleem."
msgid ""
"This application is trying to use GStreamer functionality that has been "
@@ -254,6 +256,10 @@ msgstr "Geen standaard foutboodschap voor domein %s en code %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Geselecteerde klok kan niet gebruikt worden in de pijplijn."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "titel"
@@ -334,8 +340,8 @@ msgstr "uitgebreid commentaar"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"vrij te kiezen commentaartekst bij gegevens in de vorm key=waarde of key[en]"
-"=commentaar "
+"vrij te kiezen commentaartekst bij gegevens in de vorm key=waarde of "
+"key[en]=commentaar "
msgid "track number"
msgstr "nummer"
@@ -557,14 +563,16 @@ msgstr "referentieniveau van de waarde van tarck- en albumgeluidsterkte"
msgid "language code"
msgstr "taalcode"
+#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "taalcode van deze stream, conform ISO-639-1 of ISO-639-2"
+msgstr "taalcode van deze stroom, conform ISO-639-1"
+#, fuzzy
msgid "language name"
-msgstr "naam van taal"
+msgstr "taalcode"
msgid "freeform name of the language this stream is in"
-msgstr "naam van de taal in vrije vorm van deze stream"
+msgstr ""
msgid "image"
msgstr "afbeelding"
@@ -656,12 +664,13 @@ msgstr "stad (Engelse naam) waar het medium is opgenomen of geproduceerd"
msgid "geo location sublocation"
msgstr "geografische locatie van de sublocatie"
+#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
msgstr ""
-"een locatie in een stad waar het medium is geproduceerd of gemaakt (bijv. de "
-"buurt)"
+"een sublocatie in een stad waar het medium is opgenomen of geproduceerd "
+"(bijv. de buurt)"
msgid "geo location horizontal error"
msgstr "fout in horizontale geo-locatie"
@@ -798,6 +807,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "FOUT: van element %s: %s\n"
@@ -862,15 +879,6 @@ msgstr "kon doelelement niet verbinden voor URI \"%s\""
msgid "empty pipeline not allowed"
msgstr "lege pijplijn niet toegelaten"
-msgid "Internal clock error."
-msgstr "Interne fout met de klok."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Interne fout met gegevensdoorvoer."
-
msgid "A lot of buffers are being dropped."
msgstr "Er worden veel buffers gedropt."
@@ -880,6 +888,15 @@ msgstr "Intern probleem met gegevensdoorvoer."
msgid "Internal data stream error."
msgstr "Interne fout in gegevensstroom."
+msgid "Internal data flow error."
+msgstr "Interne fout met gegevensdoorvoer."
+
+msgid "Internal clock error."
+msgstr "Interne fout met de klok."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filteropzetstukken"
@@ -1032,14 +1049,12 @@ msgid "List the plugin contents"
msgstr "Toon de inhoud van de plugin"
msgid "Check if the specified element or plugin exists"
-msgstr "Controleer of het gespecificeerde element of plug-in bestaat"
+msgstr ""
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-"Bij het controleren of het gespecificeerde element of plug-in bestaat, "
-"controleer ook dat zijn versie minstens de gespecificeerde versie is"
msgid "Print supported URI schemes, with the elements that implement them"
msgstr ""
@@ -1091,16 +1106,17 @@ msgstr "TAG GEVONDEN : gevonden door object \"%s\".\n"
msgid "FOUND TAG\n"
msgstr "TAG GEVONDEN\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "INH GEVONDEN : gevonden door element \"%s\".\n"
+msgstr "TAG GEVONDEN : gevonden door element \"%s\".\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "INH GEVONDEN : gevonden door object \"%s\".\n"
+msgstr "TAG GEVONDEN : gevonden door object \"%s\".\n"
+#, fuzzy
msgid "FOUND TOC\n"
-msgstr "INH GEVONDEN\n"
+msgstr "TAG GEVONDEN\n"
#, c-format
msgid ""
@@ -1117,6 +1133,10 @@ msgstr "WAARSCHUWING: van element %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Voorbereid, wacht op gereedkomen van de buffering...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Voorbereid, wacht op gereedkomen van de buffering...\n"
+
msgid "buffering..."
msgstr "in buffer opslaan..."
@@ -1137,14 +1157,22 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Interrupt: Pijplijn ingesteld op gestopt ...\n"
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, fuzzy, c-format
msgid "Missing element: %s\n"
-msgstr "ontbrekend element: \"%s\"\n"
+msgstr "geen element \"%s\""
+
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "WAARSCHUWING: van element %s: %s\n"
msgid "Output tags (also known as metadata)"
msgstr "Tags (ook bekend als metadata) weergeven"
msgid "Output TOC (chapters and editions)"
-msgstr "INH uitvoeren (hoofdstukken en uitgaven)"
+msgstr ""
msgid "Output status information and property notifications"
msgstr "Statusinformatie en eigenschapswaarschuwingen weergeven"
@@ -1211,8 +1239,9 @@ msgstr "FOUT: pijplijn wil niet afspelen.\n"
msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr "EOS bij afsluiten ingeschakeld -- Forceer een EOS op de pijplijn\n"
+#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS bij afsluiten ingeschakeld -- wacht op EOS na fout\n"
+msgstr "EOS bij afsluiten ingeschakeld -- Forceer een EOS op de pijplijn\n"
msgid "Waiting for EOS...\n"
msgstr "Wacht op EOS...\n"
@@ -1220,8 +1249,9 @@ msgstr "Wacht op EOS...\n"
msgid "EOS received - stopping pipeline...\n"
msgstr "EOS ontvangen - pijplijn wordt gestopt...\n"
+#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interrupt bij wachten op EOS - pijplijn wordt gestopt...\n"
+msgstr "Interrupt: Pijplijn ingesteld op gestopt ...\n"
msgid "An error happened while waiting for EOS\n"
msgstr "Er trad een fout op bij het wachten op EOS\n"
@@ -1238,8 +1268,8 @@ msgstr "Pijplijn gezet op NULL ...\n"
msgid "Freeing pipeline ...\n"
msgstr "Pijplijn wordt vrijgemaakt ...\n"
-#~ msgid "maximum"
-#~ msgstr "maximum"
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Toewijzingsspoor weergeven (indien aangezet tijdens compileren)"
#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
#~ msgstr ""
@@ -1270,6 +1300,3 @@ msgstr "Pijplijn wordt vrijgemaakt ...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Geen signaalafhandelaars installeren voor SIGUSR1 en SIGUSR2"
-
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Toewijzingsspoor weergeven (indien aangezet tijdens compileren)"
diff --git a/po/pl.gmo b/po/pl.gmo
index 5dceaec..1dfa578 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index d5776fe..b302b49 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,13 +1,13 @@
# Polish translation for gstreamer.
# This file is distributed under the same license as the gstreamer package.
-# Jakub Bogusz <qboosh@pld-linux.org>, 2007-2012.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2007-2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer 1.0.3\n"
+"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2012-11-28 19:15+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
+"PO-Revision-Date: 2011-04-26 17:54+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -115,8 +115,9 @@ msgstr "Błąd wewnętrzny GStreamera: problem z wyrównaniem."
msgid "Internal GStreamer error: thread problem."
msgstr "Błąd wewnętrzny GStreamera: problem z wątkami."
+#, fuzzy
msgid "GStreamer error: negotiation problem."
-msgstr "Błąd GStreamera: problem z negocjacją."
+msgstr "Błąd wewnętrzny GStreamera: problem z negocjacją."
msgid "Internal GStreamer error: event problem."
msgstr "Błąd wewnętrzny GStreamera: problem ze zdarzeniami."
@@ -133,8 +134,9 @@ msgstr "Błąd wewnętrzny GStreamera: problem ze znacznikami."
msgid "Your GStreamer installation is missing a plug-in."
msgstr "W tej instalacji GStreamera brakuje wtyczki."
+#, fuzzy
msgid "GStreamer error: clock problem."
-msgstr "Błąd GStreamera: problem z zegarem."
+msgstr "Błąd wewnętrzny GStreamera: problem z zegarem."
msgid ""
"This application is trying to use GStreamer functionality that has been "
@@ -248,6 +250,10 @@ msgstr "Brak standardowego komunikatu o błędzie dla domeny %s i kodu %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Wybrany zegar nie może być używany w potoku."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "tytuł"
@@ -325,8 +331,8 @@ msgstr "rozszerzony komentarz"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"dowolny tekst komentujący dane w postaci klucz=wartość lub klucz[język]"
-"=komentarz"
+"dowolny tekst komentujący dane w postaci klucz=wartość lub "
+"klucz[język]=komentarz"
msgid "track number"
msgstr "numer ścieżki"
@@ -550,14 +556,16 @@ msgstr "poziom odniesienia wartości osiągów ścieżki i albumu"
msgid "language code"
msgstr "kod języka"
+#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "kod języka dla tego strumienia, zgodny z ISO-639-1 lub ISO-639-2"
+msgstr "kod języka dla tego strumienia, zgodny z ISO-639-1"
+#, fuzzy
msgid "language name"
-msgstr "nazwa języka"
+msgstr "kod języka"
msgid "freeform name of the language this stream is in"
-msgstr "tekstowa nazwa języka, w jakim jest ten strumień"
+msgstr ""
msgid "image"
msgstr "obrazek"
@@ -652,6 +660,7 @@ msgstr ""
msgid "geo location sublocation"
msgstr "część miejscowości lokalizacji"
+#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
@@ -791,6 +800,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "BŁĄD: od elementu %s: %s\n"
@@ -855,15 +872,6 @@ msgstr "nie udało się dowiązać elementu osadzającego dla URI \"%s\""
msgid "empty pipeline not allowed"
msgstr "pusty potok nie jest dozwolony"
-msgid "Internal clock error."
-msgstr "Wewnętrzny błąd zegara."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Wewnętrzny błąd przepływu danych."
-
msgid "A lot of buffers are being dropped."
msgstr "Wiele buforów zostało zgubionych."
@@ -873,6 +881,15 @@ msgstr "Wewnętrzny problem przepływu danych."
msgid "Internal data stream error."
msgstr "Wewnętrzny błąd strumienia danych."
+msgid "Internal data flow error."
+msgstr "Wewnętrzny błąd przepływu danych."
+
+msgid "Internal clock error."
+msgstr "Wewnętrzny błąd zegara."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filtrowanie możliwości"
@@ -1028,14 +1045,12 @@ msgid "List the plugin contents"
msgstr "Wypisanie zawartości wtyczek"
msgid "Check if the specified element or plugin exists"
-msgstr "Sprawdzenie, czy podany element lub wtyczka istnieje"
+msgstr ""
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-"Przy sprawdzaniu istnienia elementu lub wtyczki, sprawdzanie także czy "
-"wersja jest co najmniej podaną"
msgid "Print supported URI schemes, with the elements that implement them"
msgstr ""
@@ -1087,16 +1102,17 @@ msgstr "ZNACZNIK : znaleziony przez obiekt \"%s\".\n"
msgid "FOUND TAG\n"
msgstr "ZNACZNIK\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "SPIS TREŚCI : znaleziony przez element \"%s\".\n"
+msgstr "ZNACZNIK : znaleziony przez element \"%s\".\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "SPIS TREŚCI : znaleziony przez obiekt \"%s\".\n"
+msgstr "ZNACZNIK : znaleziony przez obiekt \"%s\".\n"
+#, fuzzy
msgid "FOUND TOC\n"
-msgstr "SPIS TREŚCI\n"
+msgstr "ZNACZNIK\n"
#, c-format
msgid ""
@@ -1113,6 +1129,10 @@ msgstr "UWAGA: od elementu %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Przewinięto, czekanie na zakończenie buforowania...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Przewinięto, czekanie na zakończenie buforowania...\n"
+
msgid "buffering..."
msgstr "buforowanie..."
@@ -1133,14 +1153,22 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Przerwanie: Zatrzymywanie potoku...\n"
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, fuzzy, c-format
msgid "Missing element: %s\n"
-msgstr "Brak elementu: %s\n"
+msgstr "brak elementu \"%s\""
+
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "UWAGA: od elementu %s: %s\n"
msgid "Output tags (also known as metadata)"
msgstr "Wypisanie znaczników (znanych także jako metadane)"
msgid "Output TOC (chapters and editions)"
-msgstr "Wypisanie spisu treści (rozdziałów i wydań)"
+msgstr ""
msgid "Output status information and property notifications"
msgstr "Wypisywanie informacji o stanie i powiadomień właściwości"
@@ -1207,8 +1235,9 @@ msgstr "BŁĄD: potok odmawia odtwarzania.\n"
msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr "Włączony EOS przy wyłączaniu - wymuszanie EOS w potoku\n"
+#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Włączony EOS przy wyłączaniu - oczekiwanie na EOS po błędzie\n"
+msgstr "Włączony EOS przy wyłączaniu - wymuszanie EOS w potoku\n"
msgid "Waiting for EOS...\n"
msgstr "Oczekiwanie na EOS...\n"
@@ -1216,8 +1245,9 @@ msgstr "Oczekiwanie na EOS...\n"
msgid "EOS received - stopping pipeline...\n"
msgstr "Otrzymano EOS - zatrzymywanie potoku...\n"
+#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Przerwanie podczas oczekiwania na EOS - zatrzymywanie potoku...\n"
+msgstr "Przerwanie: Zatrzymywanie potoku...\n"
msgid "An error happened while waiting for EOS\n"
msgstr "Wystąpił błąd w trakcie oczekiwania na EOS\n"
@@ -1233,3 +1263,36 @@ msgstr "Ustawianie potoku na NULL...\n"
msgid "Freeing pipeline ...\n"
msgstr "Zwalnianie potoku...\n"
+
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr ""
+#~ "Wypisanie śladu alokacji (jeśli został włączony w czasie kompilacji)"
+
+#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
+#~ msgstr ""
+#~ "Składnia: gst-xmllaunch <plik.xml> [ element.właściwość=wartość ... ]\n"
+
+#~ msgid "ERROR: parse of xml file '%s' failed.\n"
+#~ msgstr "BŁĄD: analiza pliku xml '%s' nie powiodła się.\n"
+
+#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
+#~ msgstr "BŁĄD: brak głównego elementu potoku w pliku '%s'.\n"
+
+#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
+#~ msgstr "UWAGA: aktualnie obsługiwany jest tylko jeden element główny.\n"
+
+#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
+#~ msgstr ""
+#~ "BŁĄD: nie udało się przeanalizować argumentu %d linii poleceń: %s.\n"
+
+#~ msgid "WARNING: element named '%s' not found.\n"
+#~ msgstr "UWAGA: nie znaleziono elementu o nazwie '%s'.\n"
+
+#~ msgid "Save xml representation of pipeline to FILE and exit"
+#~ msgstr "Zapisanie reprezentacji xml potoku do PLIKU i zakończenie"
+
+#~ msgid "FILE"
+#~ msgstr "PLIK"
+
+#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
+#~ msgstr "Nieinstalowanie obsługi sygnałów SIGUSR1 i SIGUSR2"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index e974825..7d09cad 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 289a88c..07e4770 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer-0.10.31.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2011-01-08 01:36-0300\n"
"Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -265,6 +265,10 @@ msgid "Selected clock cannot be used in pipeline."
msgstr ""
"O temporizador selecionado não pôde ser usado na fila de processamento."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "título"
@@ -342,8 +346,8 @@ msgstr "comentário prolongado"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"texto livre comentando os dados, usando o formato chave=valor ou chave[pt_BR]"
-"=comentário"
+"texto livre comentando os dados, usando o formato chave=valor ou "
+"chave[pt_BR]=comentário"
msgid "track number"
msgstr "número da faixa"
@@ -810,6 +814,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ERRO: do elemento %s: %s\n"
@@ -876,15 +888,6 @@ msgstr "não foi possível vincular o elemento consumidor para o URI \"%s\""
msgid "empty pipeline not allowed"
msgstr "não é permitido que a fila de processamento seja vazia"
-msgid "Internal clock error."
-msgstr "Erro interno no temporizador."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Erro interno no fluxo de dados."
-
msgid "A lot of buffers are being dropped."
msgstr "Uma grande quantidade de buffers está sendo descartada."
@@ -894,6 +897,15 @@ msgstr "Problema interno no fluxo de dados."
msgid "Internal data stream error."
msgstr "Erro interno no fluxo de dados."
+msgid "Internal data flow error."
+msgstr "Erro interno no fluxo de dados."
+
+msgid "Internal clock error."
+msgstr "Erro interno no temporizador."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Caps do filtro"
@@ -1128,6 +1140,10 @@ msgstr "AVISO: do elemento %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Preparado, esperando o preenchimento do buffer para finalizar...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Preparado, esperando o preenchimento do buffer para finalizar...\n"
+
msgid "buffering..."
msgstr "preenchendo buffer..."
@@ -1150,10 +1166,18 @@ msgstr "Definindo estado de %s como requerido por %s...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Interrupção: Parando a fila de processamento...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "nenhum elemento \"%s\""
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "AVISO: do elemento %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Exibir etiquetas (metadados)"
diff --git a/po/ro.gmo b/po/ro.gmo
index dcd3aca..ea57d8c 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index c8db948..8e3ce99 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.29.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-08-16 01:10+0300\n"
"Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -254,6 +254,10 @@ msgstr "Niciun mesaj standard de eroare pentru domeniul %s și codul %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Ceasul selectat nu poate fi utilizat în linia de asamblare."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "titlu"
@@ -813,6 +817,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "EROARE: de la elementul %s: %s\n"
@@ -878,15 +890,6 @@ msgstr "nu se poate lega elementul derivat pentru URI „%s”"
msgid "empty pipeline not allowed"
msgstr "linia de asamblare vidă nu este permisă"
-msgid "Internal clock error."
-msgstr "Eroare internă de ceas."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Eroare internă de flux al datelor."
-
msgid "A lot of buffers are being dropped."
msgstr "Multe zone de memorie tampon sunt abandonate."
@@ -896,6 +899,15 @@ msgstr "Problemă internă de flux al datelor."
msgid "Internal data stream error."
msgstr "Eroare internă a fluxului de date."
+msgid "Internal data flow error."
+msgstr "Eroare internă de flux al datelor."
+
+msgid "Internal clock error."
+msgstr "Eroare internă de ceas."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filtrare majuscule"
@@ -1135,6 +1147,10 @@ msgstr "AVERTISMENT: de la elementul %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Preîncărcare, se așteaptă terminarea umplerii memoriei tampon...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Preîncărcare, se așteaptă terminarea umplerii memoriei tampon...\n"
+
msgid "buffering..."
msgstr ""
@@ -1154,10 +1170,18 @@ msgstr "Se definește starea la %s după cum a fost cerut de %s...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Întrerupere: Se oprește linia de asamblare ...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "niciun element „%s”"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "AVERTISMENT: de la elementul %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Marcaje de ieșire (cunoscute și ca „metadata”)"
diff --git a/po/ru.gmo b/po/ru.gmo
index efa1357..ae07fa0 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index d21d46f..90cbe29 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -4,13 +4,13 @@
# Peter Astakhov <astakhovp@mail.ru>, 2005.
# Артём Попов <artfwo@gmail.com>, 2009.
# Pavel Maryanov <acid_jack@ukr.net>, 2009.
-# Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011, 2012.
+# Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011.
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer-1.0.3\n"
+"Project-Id-Version: gstreamer-0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2012-12-01 13:36+0400\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
+"PO-Revision-Date: 2011-04-26 20:25+0400\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Lokalize 1.4\n"
+"X-Generator: Lokalize 1.0\n"
msgid "Print the GStreamer version"
msgstr "Вывести версию GStreamer"
@@ -119,8 +119,9 @@ msgstr "Внутренняя ошибка GStreamer: проблема с кон
msgid "Internal GStreamer error: thread problem."
msgstr "Внутренняя ошибка GStreamer: проблема с нитями."
+#, fuzzy
msgid "GStreamer error: negotiation problem."
-msgstr "Ошибка GStreamer: проблема связки элементов."
+msgstr "Внутренняя ошибка GStreamer: проблема связки элементов."
msgid "Internal GStreamer error: event problem."
msgstr "Внутренняя ошибка GStreamer: проблема с событиями."
@@ -137,8 +138,9 @@ msgstr "Внутренняя ошибка GStreamer: проблема с тег
msgid "Your GStreamer installation is missing a plug-in."
msgstr "В вашей установке GStreamer отсутствует модуль."
+#, fuzzy
msgid "GStreamer error: clock problem."
-msgstr "Ошибка GStreamer: проблема синхронизации."
+msgstr "Внутренняя ошибка GStreamer: проблема синхронизации."
msgid ""
"This application is trying to use GStreamer functionality that has been "
@@ -253,6 +255,10 @@ msgstr "Нет стандартного сообщения об ошибке д
msgid "Selected clock cannot be used in pipeline."
msgstr "Выбранные часы не могут быть использованы в конвейере."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "Ошибка записи кэша реестра в %s: %s"
+
msgid "title"
msgstr "название"
@@ -330,8 +336,8 @@ msgstr "дополнительный комментарий"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"комментарий к этим данным в свободной форме в виде ключ=значение или ключ[en]"
-"=значение"
+"комментарий к этим данным в свободной форме в виде ключ=значение или "
+"ключ[en]=значение"
msgid "track number"
msgstr "номер дорожки"
@@ -553,14 +559,16 @@ msgstr "эталонный уровень для корректировки гр
msgid "language code"
msgstr "код языка"
+#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "код языка для этого потока согласно ISO-639-1 или ISO-639-2"
+msgstr "код языка для этого потока согласно ISO-639-1"
+#, fuzzy
msgid "language name"
-msgstr "название языка"
+msgstr "код языка"
msgid "freeform name of the language this stream is in"
-msgstr "название языка в произвольном формате этого потока в"
+msgstr ""
msgid "image"
msgstr "изображение"
@@ -656,6 +664,7 @@ msgstr ""
msgid "geo location sublocation"
msgstr "доп. к местоположению"
+#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
@@ -791,6 +800,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ОШИБКА: из элемента %s: %s\n"
@@ -855,15 +872,6 @@ msgstr "не удалось соединить элемент-приёмник
msgid "empty pipeline not allowed"
msgstr "пустой конвейер недопустим"
-msgid "Internal clock error."
-msgstr "Внутренняя ошибка синхронизации."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Внутренняя ошибка передачи данных."
-
msgid "A lot of buffers are being dropped."
msgstr "Многое из буфера было отброшено."
@@ -873,6 +881,15 @@ msgstr "Внутренняя проблема передачи данных."
msgid "Internal data stream error."
msgstr "Внутренняя ошибка потока данных."
+msgid "Internal data flow error."
+msgstr "Внутренняя ошибка передачи данных."
+
+msgid "Internal clock error."
+msgstr "Внутренняя ошибка синхронизации."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Фильтровать возможности"
@@ -1028,14 +1045,12 @@ msgid "List the plugin contents"
msgstr "Вывести содержимое модуля"
msgid "Check if the specified element or plugin exists"
-msgstr "Проверьте, что указанный элемент или модуль существует"
+msgstr ""
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-"При проверке существования элемента или модуля также проверьте, чтобы его "
-"версия была не старее указанной"
msgid "Print supported URI schemes, with the elements that implement them"
msgstr "Вывести поддерживаемые схемы URI для элементов, которые их используют"
@@ -1086,16 +1101,17 @@ msgstr "НАЙДЕН ТЕГ: найден объектом «%s».\n"
msgid "FOUND TAG\n"
msgstr "НАЙДЕН ТЕГ\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "НАЙДЕН TOC: найден элементом «%s».\n"
+msgstr "НАЙДЕН ТЕГ: найден элементом «%s».\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "НАЙДЕН TOC: найден объектом «%s».\n"
+msgstr "НАЙДЕН ТЕГ: найден объектом «%s».\n"
+#, fuzzy
msgid "FOUND TOC\n"
-msgstr "НАЙДЕН TOC\n"
+msgstr "НАЙДЕН ТЕГ\n"
#, c-format
msgid ""
@@ -1110,36 +1126,48 @@ msgid "WARNING: from element %s: %s\n"
msgstr "ПРЕДУПРЕЖДЕНИЕ: от элемента %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
-msgstr "Конвейер подготовлен, ожидается завершение буферизации…\n"
+msgstr "Конвейер подготовлен, ожидается завершение буферизации...\n"
+
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Конвейер подготовлен, ожидается завершение буферизации...\n"
msgid "buffering..."
-msgstr "буферизация…"
+msgstr "буферизация..."
msgid "Done buffering, setting pipeline to PLAYING ...\n"
-msgstr "Буферизация завершена, конвейер переведён в состояние PLAYING…\n"
+msgstr "Буферизация завершена, конвейер переведён в состояние PLAYING...\n"
msgid "Buffering, setting pipeline to PAUSED ...\n"
-msgstr "Идёт буферизация, конвейер переведён в состояние PAUSED…\n"
+msgstr "Идёт буферизация, конвейер переведён в состояние PAUSED...\n"
msgid "Redistribute latency...\n"
-msgstr "Перераспределение латентности…\n"
+msgstr "Перераспределение латентности...\n"
#, c-format
msgid "Setting state to %s as requested by %s...\n"
-msgstr "Устанавливается состояние %s, запрошенное %s…\n"
+msgstr "Устанавливается состояние %s, запрошенное %s...\n"
msgid "Interrupt: Stopping pipeline ...\n"
-msgstr "Прерывание: Остановка конвейера…\n"
+msgstr "Прерывание: Остановка конвейера...\n"
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, fuzzy, c-format
msgid "Missing element: %s\n"
-msgstr "Элемент отсутствует: %s\n"
+msgstr "элемент «%s» не найден"
+
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "ПРЕДУПРЕЖДЕНИЕ: от элемента %s: %s\n"
msgid "Output tags (also known as metadata)"
msgstr "Выводить теги (метаданные)"
msgid "Output TOC (chapters and editions)"
-msgstr "Выводить TOC (главы и редакции)"
+msgstr ""
msgid "Output status information and property notifications"
msgstr "Выводить информацию о состоянии и уведомления о свойствах"
@@ -1154,7 +1182,7 @@ msgid "Do not output status information of TYPE"
msgstr "Не выводить информацию о состоянии ТИПА"
msgid "TYPE1,TYPE2,..."
-msgstr "ТИП1, ТИП2,…"
+msgstr "ТИП1, ТИП2,..."
msgid "Do not install a fault handler"
msgstr "Не устанавливать обработчик ошибок"
@@ -1180,43 +1208,45 @@ msgid "ERROR: the 'pipeline' element wasn't found.\n"
msgstr "ОШИБКА: не найден элемент «pipeline».\n"
msgid "Setting pipeline to PAUSED ...\n"
-msgstr "Установка конвейера в состояние PAUSED…\n"
+msgstr "Установка конвейера в состояние PAUSED...\n"
msgid "ERROR: Pipeline doesn't want to pause.\n"
msgstr "ОШИБКА: Конвейер не хочет становиться на паузу.\n"
msgid "Pipeline is live and does not need PREROLL ...\n"
-msgstr "Конвейер работает и не требует состояния PREROLL…\n"
+msgstr "Конвейер работает и не требует состояния PREROLL...\n"
msgid "Pipeline is PREROLLING ...\n"
-msgstr "Подготовка конвейера (PREROLL)…\n"
+msgstr "Подготовка конвейера (PREROLL)...\n"
msgid "ERROR: pipeline doesn't want to preroll.\n"
msgstr "ОШИБКА: конвейер не хочет подготавливаться (PREROLL).\n"
msgid "Pipeline is PREROLLED ...\n"
-msgstr "Конвейер подготовлен (PREROLLED)…\n"
+msgstr "Конвейер подготовлен (PREROLLED)...\n"
msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Установка конвейера в состояние PLAYING…\n"
+msgstr "Установка конвейера в состояние PLAYING...\n"
msgid "ERROR: pipeline doesn't want to play.\n"
msgstr "ОШИБКА: конвейер не хочет воспроизводить.\n"
msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "Включён EOS при закрытии — Выдача EOS в конвейер\n"
+msgstr "Включён EOS при закрытии -- Выдача EOS в конвейер\n"
+#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Включён EOS при закрытии — ожидание EOS после ошибки\n"
+msgstr "Включён EOS при закрытии -- Выдача EOS в конвейер\n"
msgid "Waiting for EOS...\n"
-msgstr "Ожидание EOS…\n"
+msgstr "Ожидание EOS...\n"
msgid "EOS received - stopping pipeline...\n"
-msgstr "Получен EOS — остановка конвейера…\n"
+msgstr "Получен EOS - остановка конвейера...\n"
+#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Прерывание во время ожидания EOS — остановка конвейера…\n"
+msgstr "Прерывание: Остановка конвейера...\n"
msgid "An error happened while waiting for EOS\n"
msgstr "Во время ожидания EOS произошла ошибка\n"
@@ -1225,16 +1255,16 @@ msgid "Execution ended after %"
msgstr "Выполнение окончено после %"
msgid "Setting pipeline to READY ...\n"
-msgstr "Установка конвейера в состояние READY…\n"
+msgstr "Установка конвейера в состояние READY...\n"
msgid "Setting pipeline to NULL ...\n"
-msgstr "Установка конвейера в состояние NULL…\n"
+msgstr "Установка конвейера в состояние NULL...\n"
msgid "Freeing pipeline ...\n"
-msgstr "Освобождение конвейера…\n"
+msgstr "Освобождение конвейера...\n"
-#~ msgid "maximum"
-#~ msgstr "максимум"
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Вывести трассировку выделения памяти (если включено при сборке)"
#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
#~ msgstr ""
@@ -1266,12 +1296,6 @@ msgstr "Освобождение конвейера…\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Не устанавливать обработчики сигналов SIGUSR1 и SIGUSR2"
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Вывести трассировку выделения памяти (если включено при сборке)"
-
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "Ошибка записи кэша реестра в %s: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Ошибка повторного сканирования реестра %s: %s"
diff --git a/po/rw.gmo b/po/rw.gmo
index 1db7726..99e1a61 100644
--- a/po/rw.gmo
+++ b/po/rw.gmo
Binary files differ
diff --git a/po/rw.po b/po/rw.po
index 7615483..3fd56dc 100644
--- a/po/rw.po
+++ b/po/rw.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.8.8\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2005-04-04 10:55-0700\n"
"Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
@@ -321,6 +321,10 @@ msgstr "Bisanzwe Ikosa Ubutumwa kugirango Urwego Na ITEGEKONGENGA"
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "umutwe"
@@ -956,6 +960,14 @@ msgstr ""
msgid ", "
msgstr ", "
+#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
#, fuzzy, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "Bivuye Ikigize:"
@@ -1022,22 +1034,22 @@ msgstr "OYA Ihuza Ikigize: kugirango"
msgid "empty pipeline not allowed"
msgstr "ubusa OYA"
-msgid "Internal clock error."
+msgid "A lot of buffers are being dropped."
msgstr ""
-msgid "Failed to map buffer."
+msgid "Internal data flow problem."
msgstr ""
-msgid "Internal data flow error."
+msgid "Internal data stream error."
msgstr ""
-msgid "A lot of buffers are being dropped."
+msgid "Internal data flow error."
msgstr ""
-msgid "Internal data flow problem."
+msgid "Internal clock error."
msgstr ""
-msgid "Internal data stream error."
+msgid "Failed to map buffer."
msgstr ""
msgid "Filter caps"
@@ -1283,6 +1295,9 @@ msgstr "Bivuye Ikigize:"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
msgid "buffering..."
msgstr ""
@@ -1302,10 +1317,18 @@ msgstr ""
msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "Oya Ikigize:"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "Bivuye Ikigize:"
+
#, fuzzy
msgid "Output tags (also known as metadata)"
msgstr "Nka"
diff --git a/po/sk.gmo b/po/sk.gmo
index 92bbf84..300c981 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index d71e746..4ea282b 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.30.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-11-08 16:13+0100\n"
"Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -269,6 +269,10 @@ msgstr "Žiadna štandardná chybová správa pre doménu %s a kód %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Vybraný časovač sa nedá použiť v rúre."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "Chyba pri zápise vyrovnávacej pamäte registrov do %s: %s"
+
msgid "title"
msgstr "názov"
@@ -808,6 +812,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "CHYBA: od prvku %s: %s\n"
@@ -872,15 +884,6 @@ msgstr "nepodarilo sa pripojiť prvok sink pre URI \"%s\""
msgid "empty pipeline not allowed"
msgstr "prázdna rúra sa nepripúšťa"
-msgid "Internal clock error."
-msgstr "Vnútorná chyba časovača."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Vnútorná chyba toku údajov."
-
msgid "A lot of buffers are being dropped."
msgstr "Veľa vyrovnávacej pamäte sa zahadzuje."
@@ -890,6 +893,15 @@ msgstr "Vnútorný problém v toku údajov."
msgid "Internal data stream error."
msgstr "Vnútorná chyba prúdu údajov."
+msgid "Internal data flow error."
+msgstr "Vnútorná chyba toku údajov."
+
+msgid "Internal clock error."
+msgstr "Vnútorná chyba časovača."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filtrovať schopnosti"
@@ -1129,6 +1141,10 @@ msgstr "VAROVANIE: z prvku %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Predčítané, čakám na dokončenie napĺňania vyrovnávacej pamäte...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Predčítané, čakám na dokončenie napĺňania vyrovnávacej pamäte...\n"
+
msgid "buffering..."
msgstr "Ukladám do vyrovnávacej pamäte..."
@@ -1148,10 +1164,18 @@ msgstr "Nastavujem stav na %s ako požaduje %s...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Prerušenie: Zastavujem rúru ...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "prvok \"%s\" neexistuje"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "VAROVANIE: z prvku %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Vypísať značky (známe tiež ako metadáta)"
@@ -1288,9 +1312,6 @@ msgstr "Uvoľňujem rúru ...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Neinštalovať obsluhu signálov SIGUSR1 a SIGUSR2"
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "Chyba pri zápise vyrovnávacej pamäte registrov do %s: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Chyba pri opätovnom skenovaní registrov %s: %s"
diff --git a/po/sl.gmo b/po/sl.gmo
index d247746..b23012d 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index b8993f4..8f9b793 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -1,18 +1,18 @@
-# Slovenian translation for gstreamer.
+# Slovenian translation of gstreamer.
# This file is distributed under the same license as the gstreamer package.
-# Copyright (C) 2005 - 2013 Free Software Foundation, Inc.
+# Copyright (C) 2005 - 2012 Free Software Foundation, Inc.
#
# Matej Urbančič <matej.urban@gmail.com>, 2010 - 2011.
# Martin Srebotnjak <miles@filmsi.net>, 2011.
-# Klemen Košir <klemen913@gmail.com>, 2011 - 2013.
+# Klemen Košir <klemen.kosir@gmx.com>, 2012.
#
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer-1.0.3\n"
+"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2013-01-05 10:16+0100\n"
-"Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
+"PO-Revision-Date: 2012-03-01 14:05+0100\n"
+"Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,9 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Poedit-Language: Slovenian\n"
+"X-Poedit-Country: SLOVENIA\n"
+"X-Poedit-SourceCharset: utf-8\n"
msgid "Print the GStreamer version"
msgstr "Izpiše različico programa GStreamer"
@@ -116,8 +118,9 @@ msgstr "Notranja napaka GStreamer: težave pladnja."
msgid "Internal GStreamer error: thread problem."
msgstr "Notranja napaka GStreamer: težave z nitenjem."
+#, fuzzy
msgid "GStreamer error: negotiation problem."
-msgstr "Napaka GStreamer: težave s pogajanjem."
+msgstr "Notranja napaka GStreamer: težave s pogajanjem."
msgid "Internal GStreamer error: event problem."
msgstr "Notranja napaka GStreamer: težave z dogodkom."
@@ -134,8 +137,9 @@ msgstr "Notranja napaka GStreamer: težave z oznako."
msgid "Your GStreamer installation is missing a plug-in."
msgstr "Namestitvi GStreamer manjka vstavek."
+#, fuzzy
msgid "GStreamer error: clock problem."
-msgstr "Napaka GStreamer: težave z uro."
+msgstr "Notranja napaka GStreamer: težave z uro."
msgid ""
"This application is trying to use GStreamer functionality that has been "
@@ -249,6 +253,10 @@ msgstr "Splošno sporočilo napake za domeno %s in kodo %d ne obstaja."
msgid "Selected clock cannot be used in pipeline."
msgstr "Izbrane ure ni mogoče uporabiti v cevovodu."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "naslov"
@@ -551,8 +559,9 @@ msgstr "sklicna raven vrednosti pridobitve sledi in albuma"
msgid "language code"
msgstr "jezikovna koda"
+#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "koda jezika pretoka v skladu z ISO-639-1 ali ISO-639-2"
+msgstr "koda jezika pretoka v skladu z ISO-639-1"
msgid "language name"
msgstr "ime jezika"
@@ -649,6 +658,7 @@ msgstr "mesto (angleška različica), kjer je bil posnetek posnet ali izdelan"
msgid "geo location sublocation"
msgstr "področje zemljepisne lege"
+#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
@@ -787,6 +797,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "NAPAKA: predmet %s: %s\n"
@@ -852,15 +870,6 @@ msgstr "predmeta korita za naslov URI \"%s\" ni mogoče povezati"
msgid "empty pipeline not allowed"
msgstr "cevovod brez vsebine ni dovoljen"
-msgid "Internal clock error."
-msgstr "Notranja napaka ure."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Notranja napaka toka podatkov."
-
msgid "A lot of buffers are being dropped."
msgstr "Veliko medpomnilnikov se prazni."
@@ -870,6 +879,15 @@ msgstr "Notranja težava toka podatkov."
msgid "Internal data stream error."
msgstr "Notranja napaka pretoka podatkov."
+msgid "Internal data flow error."
+msgstr "Notranja napaka toka podatkov."
+
+msgid "Internal clock error."
+msgstr "Notranja napaka ure."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filtriraj velikost črk"
@@ -1029,14 +1047,12 @@ msgid "List the plugin contents"
msgstr "Izpiši seznam vsebine vstavkov"
msgid "Check if the specified element or plugin exists"
-msgstr "Preveri, če podan predmet ali vstavek že obstaja"
+msgstr ""
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-"Med preverjanjem, če predmet ali vstavek že obstaja, preveri, če je ustrezna "
-"tudi različica"
msgid "Print supported URI schemes, with the elements that implement them"
msgstr "Izpiši podprte sheme URI s predmeti, ki jih vstavljajo"
@@ -1087,16 +1103,17 @@ msgstr "NAJDENA OZNAKA : najdeno s predmetom \"%s\".\n"
msgid "FOUND TAG\n"
msgstr "NAJDENA OZNAKA\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "NAJDENO KAZALO : najdeno s predmetom \"%s\".\n"
+msgstr "NAJDENA OZNAKA : najdeno s predmetom \"%s\".\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "NAJDENO KAZALO : najdeno s predmetom \"%s\".\n"
+msgstr "NAJDENA OZNAKA : najdeno s predmetom \"%s\".\n"
+#, fuzzy
msgid "FOUND TOC\n"
-msgstr "NAJDENO KAZALO\n"
+msgstr "NAJDENA OZNAKA\n"
#, c-format
msgid ""
@@ -1113,6 +1130,10 @@ msgstr "OPOZORILO: predmet %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Pripravljeno, čakanje na zaključek polnjenja medpomnilnika ...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Pripravljeno, čakanje na zaključek polnjenja medpomnilnika ...\n"
+
msgid "buffering..."
msgstr "polnjenje medpomnilnika ..."
@@ -1134,14 +1155,22 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Prekinitev: zaustavljanje cevovoda ... \n"
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, c-format
msgid "Missing element: %s\n"
msgstr "Manjkajoči element: %s\n"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "OPOZORILO: predmet %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Izhodne oznake (znane tudi kot metapodatki)"
msgid "Output TOC (chapters and editions)"
-msgstr "Izpiši kazalo (poglavja)"
+msgstr ""
msgid "Output status information and property notifications"
msgstr "Izhodni podatki o stanju in obvestila o lastnostih"
@@ -1208,8 +1237,9 @@ msgstr "NAPAKA: vsebine cevovoda ni mogoče predvajati.\n"
msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr "EOS ob izklopu je omogočen -- vsiljen EOS vsebine cevovoda\n"
+#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS ob izklopu je omogočen -- čakanje na EOS, ki sledi napaki\n"
+msgstr "EOS ob izklopu je omogočen -- vsiljen EOS vsebine cevovoda\n"
msgid "Waiting for EOS...\n"
msgstr "Čakanje na EOS ...\n"
@@ -1217,8 +1247,9 @@ msgstr "Čakanje na EOS ...\n"
msgid "EOS received - stopping pipeline...\n"
msgstr "Prejet EOS - zaustavljanje cevovoda ...\n"
+#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Prekinitev med čakanjem na EOS. Zaustavljanje cevovoda ...\n"
+msgstr "Prekinitev: zaustavljanje cevovoda ... \n"
msgid "An error happened while waiting for EOS\n"
msgstr "Med čakanjem na EOS je prišlo do napake\n"
@@ -1234,3 +1265,36 @@ msgstr "Nastavljanje cevovoda na NULL ...\n"
msgid "Freeing pipeline ...\n"
msgstr "Sproščanje cevovoda ...\n"
+
+#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
+#~ msgstr ""
+#~ "Uporaba: gst-xmllaunch <datoteka.xml> [ predmet.lastnost=vrednost ... ]\n"
+
+#~ msgid "ERROR: parse of xml file '%s' failed.\n"
+#~ msgstr "NAPAKA: razčlenjevanje datoteke XML \"%s\" je spodletelo.\n"
+
+#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
+#~ msgstr "NAPAKA: v datoteki \"%s\" ni vrhnjega predmeta cevovoda.\n"
+
+#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
+#~ msgstr "OPOZORILO: trenutno je podprt le en vrhnji predmet.\n"
+
+#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
+#~ msgstr "Napaka: argumenta %d ukazne vrstice ni mogoče razčleniti: %s.\n"
+
+#~ msgid "WARNING: element named '%s' not found.\n"
+#~ msgstr "OPOZORILO: predmeta z imenom \"%s\" ni mogoče najti.\n"
+
+#~ msgid "Save xml representation of pipeline to FILE and exit"
+#~ msgstr "Shrani XML-predstavitev cevovoda v DATOTEKO in končaj"
+
+#~ msgid "FILE"
+#~ msgstr "DATOTEKA"
+
+#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
+#~ msgstr "Ne namesti ročnikov signalov za SIGUSR1 in SIGUSR2"
+
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr ""
+#~ "Izpiši zaznavanje dodeljevanja (če je možnost omogočena v trenutku "
+#~ "kodnega prevajanja)"
diff --git a/po/sq.gmo b/po/sq.gmo
index 320e07e..f2875df 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 73d720f..225b23a 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.8.4\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2004-08-07 23:46+0200\n"
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
"Language-Team: Albanian <begraj@hotmail.com>\n"
@@ -258,6 +258,10 @@ msgstr "Asnjë mesazh gabimi standart për domain %s dhe kodin %d."
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "titulli"
@@ -809,6 +813,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "GABIM: nga elementi %s: %s\n"
@@ -873,22 +885,22 @@ msgstr "e pamundur lidhja e elementit sink për URI \"%s\""
msgid "empty pipeline not allowed"
msgstr "nuk lejohet konduktori bosh"
-msgid "Internal clock error."
+msgid "A lot of buffers are being dropped."
msgstr ""
-msgid "Failed to map buffer."
+msgid "Internal data flow problem."
msgstr ""
-msgid "Internal data flow error."
+msgid "Internal data stream error."
msgstr ""
-msgid "A lot of buffers are being dropped."
+msgid "Internal data flow error."
msgstr ""
-msgid "Internal data flow problem."
+msgid "Internal clock error."
msgstr ""
-msgid "Internal data stream error."
+msgid "Failed to map buffer."
msgstr ""
msgid "Filter caps"
@@ -1120,6 +1132,9 @@ msgstr "GABIM: nga elementi %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
msgid "buffering..."
msgstr ""
@@ -1139,10 +1154,18 @@ msgstr ""
msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "asnjë element \"%s\""
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "GABIM: nga elementi %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Tags e output (njohur gjithashtu si metadata)"
diff --git a/po/sr.gmo b/po/sr.gmo
index 301d61a..c124205 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 3716ff9..a2f03db 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer-0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2011-12-05 10:40+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnu@prevod.org>\n"
@@ -253,6 +253,10 @@ msgstr "Нема уобичајене поруке о грешци за доме
msgid "Selected clock cannot be used in pipeline."
msgstr "Изабрани сат не може бити коришћен у спојци низа."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "наслов"
@@ -797,6 +801,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ГРЕШКА: из елемента %s: %s\n"
@@ -861,15 +873,6 @@ msgstr "не могу да вежем елемент усклађивања за
msgid "empty pipeline not allowed"
msgstr "није допуштена празна спојка низа"
-msgid "Internal clock error."
-msgstr "Унутрашња грешка сата."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Унутрaшња грешка протока података."
-
msgid "A lot of buffers are being dropped."
msgstr "Много помоћне меморије је одбачено."
@@ -879,6 +882,15 @@ msgstr "Унутрaшњи проблем протока података."
msgid "Internal data stream error."
msgstr "Унутрашња грешка тока података."
+msgid "Internal data flow error."
+msgstr "Унутрaшња грешка протока података."
+
+msgid "Internal clock error."
+msgstr "Унутрашња грешка сата."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Филтрира могућности"
@@ -1118,6 +1130,10 @@ msgstr "УПОЗРЕЊЕ: из елемента %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Предувијено, чекам да заврши смештање у међумеморију…\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Предувијено, чекам да заврши смештање у међумеморију…\n"
+
msgid "buffering..."
msgstr "смештам у међумеморију..."
@@ -1138,10 +1154,18 @@ msgstr "Постављам стање на %s као што је затражи
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Прекид: Заустављам спојку низа ...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "нема елемента „%s“"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "УПОЗРЕЊЕ: из елемента %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Излазне ознаке (такође познате и као метаподаци)"
diff --git a/po/sv.gmo b/po/sv.gmo
index ab463aa..f0245c8 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 3014153..4d49662 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.31.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2011-01-09 19:46+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -255,6 +255,10 @@ msgstr "Inget standardfelmeddelande för domänen %s och koden %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Vald klocka kan inte användas i rörledning."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "Fel vid skrivning av registercache till %s: %s"
+
msgid "title"
msgstr "titel"
@@ -332,8 +336,8 @@ msgstr "utökad kommentar"
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
-"fri text som kommenterar dessa data i formatet key=värde eller key[sv]"
-"=kommentar"
+"fri text som kommenterar dessa data i formatet key=värde eller "
+"key[sv]=kommentar"
msgid "track number"
msgstr "spårnummer"
@@ -802,6 +806,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "FEL: från element %s: %s\n"
@@ -868,15 +880,6 @@ msgstr "kunde inte länka utgångselementet för URI:n \"%s\""
msgid "empty pipeline not allowed"
msgstr "tom rörledning är inte tillåtet"
-msgid "Internal clock error."
-msgstr "Internt klockfel."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Internt fel i dataflöde."
-
msgid "A lot of buffers are being dropped."
msgstr "Förkastar en stor mängd buffertar."
@@ -886,6 +889,15 @@ msgstr "Internt dataflödesproblem."
msgid "Internal data stream error."
msgstr "Internt fel i dataström."
+msgid "Internal data flow error."
+msgstr "Internt fel i dataflöde."
+
+msgid "Internal clock error."
+msgstr "Internt klockfel."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Filtrera förmågor"
@@ -1125,6 +1137,10 @@ msgstr "VARNING: från elementet %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Förinläst, väntar på att buffringen ska bli färdig...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Förinläst, väntar på att buffringen ska bli färdig...\n"
+
msgid "buffering..."
msgstr "buffrar..."
@@ -1144,10 +1160,18 @@ msgstr "Ställer in tillståndet till %s enligt begäran från %s...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Avbrott: Stoppar rörledningen ...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "inget \"%s\"-element"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "VARNING: från elementet %s: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Utmatningstaggar (även känt som metadata)"
@@ -1282,9 +1306,6 @@ msgstr "Frigör rörledning ...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Installera inte signalhanterare för SIGUSR1 och SIGUSR2"
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "Fel vid skrivning av registercache till %s: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Fel vid återsökning av registret %s: %s"
diff --git a/po/tr.gmo b/po/tr.gmo
index 33febb5..11a7dbf 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 1d288d5..7f71db8 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.8.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2004-04-03 03:14+0300\n"
"Last-Translator: Baris Cicek <baris@teamforce.name.tr>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -258,6 +258,10 @@ msgstr "%s etki alanı ve %d kodu için standart hata iletisi yok."
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "başlık"
@@ -809,6 +813,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "HATA: %s öğesinden: %s\n"
@@ -873,22 +885,22 @@ msgstr "\"%s\" URI'si için 'sink' öğesi bağlanamadı"
msgid "empty pipeline not allowed"
msgstr "boş boruhattına izin verilmiyor"
-msgid "Internal clock error."
+msgid "A lot of buffers are being dropped."
msgstr ""
-msgid "Failed to map buffer."
+msgid "Internal data flow problem."
msgstr ""
-msgid "Internal data flow error."
+msgid "Internal data stream error."
msgstr ""
-msgid "A lot of buffers are being dropped."
+msgid "Internal data flow error."
msgstr ""
-msgid "Internal data flow problem."
+msgid "Internal clock error."
msgstr ""
-msgid "Internal data stream error."
+msgid "Failed to map buffer."
msgstr ""
msgid "Filter caps"
@@ -1121,6 +1133,9 @@ msgstr "HATA: %s öğesinden: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
msgid "buffering..."
msgstr ""
@@ -1140,10 +1155,18 @@ msgstr ""
msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "\"%s\" öğesi yok"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "HATA: %s öğesinden: %s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "Çıktı etiketleri (metadata olarak da bilinir)"
diff --git a/po/uk.gmo b/po/uk.gmo
index 092a40d..4773e63 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 3f6c6fd..7bb27d3 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the gstreamer package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011.
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer 1.0.3\n"
+"Project-Id-Version: gstreamer 0.10.32.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2012-11-28 20:11+0200\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
+"PO-Revision-Date: 2011-04-30 20:26+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
msgid "Print the GStreamer version"
msgstr "Показати дані щодо версії GStreamer"
@@ -114,8 +114,9 @@ msgstr "Внутрішня помилка GStreamer: проблема напов
msgid "Internal GStreamer error: thread problem."
msgstr "Внутрішня помилка GStreamer: помилка потоку виконання."
+#, fuzzy
msgid "GStreamer error: negotiation problem."
-msgstr "Помилка GStreamer: помилка встановлення зв'язку."
+msgstr "Внутрішня помилка GStreamer: помилка встановлення зв'язку."
msgid "Internal GStreamer error: event problem."
msgstr "Внутрішня помилка GStreamer: помилка події."
@@ -132,8 +133,9 @@ msgstr "Внутрішня помилка GStreamer: помилка у мітц
msgid "Your GStreamer installation is missing a plug-in."
msgstr "У вашій збірці GStreamer відсутній модуль."
+#, fuzzy
msgid "GStreamer error: clock problem."
-msgstr "Помилка GStreamer: помилка годинника."
+msgstr "Внутрішня помилка GStreamer: помилка годинника."
msgid ""
"This application is trying to use GStreamer functionality that has been "
@@ -248,6 +250,10 @@ msgstr "Немає стандартного повідомлення про по
msgid "Selected clock cannot be used in pipeline."
msgstr "Обраний годинник не може використовуватись у конвеєрі."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "Помилка при записі кешу реєстру у %s: %s"
+
msgid "title"
msgstr "назва"
@@ -550,14 +556,16 @@ msgstr "опорні рівні гучності композиції чи ал
msgid "language code"
msgstr "код мови"
+#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "код мови для потоку, код має відповідати ISO-639-1 або ISO-639-2"
+msgstr "код мови для потоку, код має відповідати ISO-639-1"
+#, fuzzy
msgid "language name"
-msgstr "назва мови"
+msgstr "код мови"
msgid "freeform name of the language this stream is in"
-msgstr "назва мови цього потоку звукових даних у довільній формі"
+msgstr ""
msgid "image"
msgstr "зображення"
@@ -649,6 +657,7 @@ msgstr "місто (англійською), у якому було записа
msgid "geo location sublocation"
msgstr "додаткові дані розташування"
+#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
@@ -788,6 +797,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ПОМИЛКА: у елементі %s: %s\n"
@@ -852,15 +869,6 @@ msgstr "не вдалося прив'язати елемент-споживач
msgid "empty pipeline not allowed"
msgstr "не можна використовувати порожній канал"
-msgid "Internal clock error."
-msgstr "Помилка внутрішньої синхронізації."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Помилка внутрішнього перенесення даних."
-
msgid "A lot of buffers are being dropped."
msgstr "Викинуто багато буферів."
@@ -870,6 +878,15 @@ msgstr "Помилка внутрішнього перенесення дани
msgid "Internal data stream error."
msgstr "Помилка внутрішнього потоку даних."
+msgid "Internal data flow error."
+msgstr "Помилка внутрішнього перенесення даних."
+
+msgid "Internal clock error."
+msgstr "Помилка внутрішньої синхронізації."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Фільтр можливостей"
@@ -1025,14 +1042,12 @@ msgid "List the plugin contents"
msgstr "Показати вміст модуля"
msgid "Check if the specified element or plugin exists"
-msgstr "Перевірити, чи існує вказаний елемент або додаток"
+msgstr ""
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-"Під час перевірки існування елемента або додатка також перевірити, чи є його "
-"версія новішою за вказану або рівною їй"
msgid "Print supported URI schemes, with the elements that implement them"
msgstr "Показати підтримувані схеми адрес з елементами, які їх реалізують"
@@ -1083,16 +1098,17 @@ msgstr "ЗНАЙДЕНО МІТКУ : знайдено об’єктом «%s».
msgid "FOUND TAG\n"
msgstr "ЗНАЙДЕНО МІТКУ\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "ЗНАЙДЕНО ЗМІСТ : знайдено елементом «%s».\n"
+msgstr "ЗНАЙДЕНО ТЕГ : знайдено у елементі «%s».\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "ЗНАЙДЕНО ЗМІСТУ: знайдено об’єктом «%s».\n"
+msgstr "ЗНАЙДЕНО МІТКУ : знайдено об’єктом «%s».\n"
+#, fuzzy
msgid "FOUND TOC\n"
-msgstr "ЗНАЙДЕНО ЗМІСТ\n"
+msgstr "ЗНАЙДЕНО МІТКУ\n"
#, c-format
msgid ""
@@ -1109,6 +1125,10 @@ msgstr "ПОПЕРЕДЖЕННЯ: у елементі %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Виконано preroll, для буферизації для завершення...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Виконано preroll, для буферизації для завершення...\n"
+
msgid "buffering..."
msgstr "буферизація..."
@@ -1129,14 +1149,22 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Переривання: зупинка каналу...\n"
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, fuzzy, c-format
msgid "Missing element: %s\n"
-msgstr "Не вистачає елемента: %s\n"
+msgstr "немає елемента «%s»"
+
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "ПОПЕРЕДЖЕННЯ: у елементі %s: %s\n"
msgid "Output tags (also known as metadata)"
msgstr "Вивести мітки (також відомі як метадані)"
msgid "Output TOC (chapters and editions)"
-msgstr "Виведений зміст (розділи та редакції)"
+msgstr ""
msgid "Output status information and property notifications"
msgstr "Вивести інформацію про стан та сповіщення щодо властивостей"
@@ -1203,8 +1231,9 @@ msgstr "ПОМИЛКА: канал не може почати відтворен
msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr "Увімкнено EOS при завершенні - Примусове виведення EOS до каналу\n"
+#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Увімкнено EOS при завершенні - очікуємо на EOS після помилки\n"
+msgstr "Увімкнено EOS при завершенні - Примусове виведення EOS до каналу\n"
msgid "Waiting for EOS...\n"
msgstr "Очікування на EOS...\n"
@@ -1212,10 +1241,9 @@ msgstr "Очікування на EOS...\n"
msgid "EOS received - stopping pipeline...\n"
msgstr "Отримано EOS - завершення роботи каналу...\n"
+#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
-"Переривання під час очікування на EOS - перериваємо роботу каналу "
-"передавання даних...\n"
+msgstr "Переривання: зупинка каналу...\n"
msgid "An error happened while waiting for EOS\n"
msgstr "Під час очікування на EOS сталася помилка\n"
@@ -1232,8 +1260,9 @@ msgstr "Канал переводиться у стан NULL ...\n"
msgid "Freeing pipeline ...\n"
msgstr "Спорожнення каналу...\n"
-#~ msgid "maximum"
-#~ msgstr "максимум"
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr ""
+#~ "Вивести трасування розподілу пам’яті (якщо ввімкнено при компіляції)"
#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
#~ msgstr ""
@@ -1266,13 +1295,6 @@ msgstr "Спорожнення каналу...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Не встановлювати обробники сигналів для SIGUSR1 і SIGUSR2"
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr ""
-#~ "Вивести трасування розподілу пам’яті (якщо ввімкнено при компіляції)"
-
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "Помилка при записі кешу реєстру у %s: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Помилка при повторному скануванні реєстру модулів %s: %s"
diff --git a/po/vi.gmo b/po/vi.gmo
index 9cdb638..266e596 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index a298de4..b198f5e 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,25 +1,22 @@
# Vietnamese Translation for GStreamer.
-# Copyright © 2012 Free Software Foundation, Inc.
+# Copyright © 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the gstreamer package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012.
#
msgid ""
msgstr ""
-"Project-Id-Version: gstreamer-1.0.3\n"
+"Project-Id-Version: gstreamer 0.10.29.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
-"PO-Revision-Date: 2012-12-02 08:10+0700\n"
-"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
-"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
+"PO-Revision-Date: 2010-10-03 19:09+1030\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Team-Website: <http://translationproject.org/team/vi.html>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: LocFactoryEditor 1.8\n"
-"X-Poedit-SourceCharset: UTF-8\n"
msgid "Print the GStreamer version"
msgstr "Hiển thị phiên bản GStreamer"
@@ -33,16 +30,17 @@ msgstr "Hiển thị tất cả các loại gỡ lỗi sẵn sàng rồi thoát"
msgid ""
"Default debug level from 1 (only error) to 5 (anything) or 0 for no output"
msgstr ""
-"Mức gỡ lỗi mặc định từ 1 (chỉ lỗi) đến 5 (mọi thứ) hay 0 (không xuất gì)"
+"Mức gỡ lỗi mặc định từ 1 (chỉ lỗi) đến 5 (bất cứ điều nào) hay 0 (không xuất "
+"gì)"
msgid "LEVEL"
-msgstr "MỨC"
+msgstr "CẤP"
msgid ""
"Comma-separated list of category_name:level pairs to set specific levels for "
"the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
msgstr ""
-"Danh sách định giới bằng dấu phẩy của đôi “tên_loại:cấp” để đặt cấp dứt "
+"Danh sách định giới bằng dấu phẩy của đôi « tên_loại:cấp » để đặt cấp dứt "
"khoát cho mỗi loại. Thí dụ: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
msgid "LIST"
@@ -113,10 +111,11 @@ msgid "Internal GStreamer error: pad problem."
msgstr "Lỗi nội bộ GStreamer: vấn đề đệm."
msgid "Internal GStreamer error: thread problem."
-msgstr "Lỗi nội bộ GStreamer: vấn đề về tuyến."
+msgstr "Lỗi nội bộ GStreamer: vấn đề mạch."
+#, fuzzy
msgid "GStreamer error: negotiation problem."
-msgstr "Lỗi GStreamer: vấn đề thỏa thuận."
+msgstr "Lỗi nội bộ GStreamer: vấn đề thỏa thuận."
msgid "Internal GStreamer error: event problem."
msgstr "Lỗi nội bộ GStreamer: vấn đề sự kiện."
@@ -125,7 +124,7 @@ msgid "Internal GStreamer error: seek problem."
msgstr "Lỗi nội bộ GStreamer: vấn đề tìm nơi."
msgid "Internal GStreamer error: caps problem."
-msgstr "Lỗi nội bộ GStreamer: vấn đề thư viện caps."
+msgstr "Lỗi nội bộ GStreamer: vấn đề thư viên caps."
msgid "Internal GStreamer error: tag problem."
msgstr "Lỗi nội bộ GStreamer: vấn đề thẻ."
@@ -133,8 +132,9 @@ msgstr "Lỗi nội bộ GStreamer: vấn đề thẻ."
msgid "Your GStreamer installation is missing a plug-in."
msgstr "Bản cài đặt GStreamer của bạn còn thiếu một bổ sung."
+#, fuzzy
msgid "GStreamer error: clock problem."
-msgstr "Lỗi GStreamer: vấn đề đồng hồ."
+msgstr "Lỗi nội bộ GStreamer: vấn đề đồng hồ."
msgid ""
"This application is trying to use GStreamer functionality that has been "
@@ -154,7 +154,7 @@ msgid "Could not configure supporting library."
msgstr "Không thể cấu hình thư viện hỗ trợ."
msgid "Encoding error."
-msgstr "Gặp lỗi mã hóa."
+msgstr ""
msgid "GStreamer encountered a general resource error."
msgstr "Trình GStreamer mới gặp một lỗi tài nguyên chung."
@@ -190,7 +190,7 @@ msgid "Could not synchronize on resource."
msgstr "Không thể đồng bộ trên tài nguyên."
msgid "Could not get/set settings from/on resource."
-msgstr "Không thể lấy/đặt cài đặt từ/vào tài nguyên."
+msgstr "Không thể lấy/đặt thiết lập từ/vào tài nguyên."
msgid "No space left on the resource."
msgstr "Không có sức chứa còn rảnh trên tài nguyên đó."
@@ -246,6 +246,10 @@ msgstr "Không có thông điệp chuẩn cho miền %s và mã %d."
msgid "Selected clock cannot be used in pipeline."
msgstr "Đồng hồ đã chọn không thể dùng trong đường ống."
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "tựa"
@@ -271,13 +275,13 @@ msgid "person(s) responsible for the recording for sorting purposes"
msgstr "(các) người chịu trách nhiệm về bản thu, cho mục đích sắp xếp"
msgid "album"
-msgstr "album"
+msgstr "tập nhạc"
msgid "album containing this data"
msgstr "tập nhạc chứa dữ liệu này"
msgid "album sortname"
-msgstr "tên sắp album"
+msgstr "tên sắp tập"
msgid "album containing this data for sorting purposes"
msgstr "tập nhạc chứa dữ liệu này, cho mục đích sắp xếp"
@@ -300,11 +304,13 @@ msgstr "ngày"
msgid "date the data was created (as a GDate structure)"
msgstr "ngày tạo dữ liệu này (dạng cấu trúc GDate)"
+#, fuzzy
msgid "datetime"
-msgstr "ngày-giờ"
+msgstr "ngày"
+#, fuzzy
msgid "date and time the data was created (as a GstDateTime structure)"
-msgstr "ngày và giờ mà dữ liệu được tạo (dạng cấu trúc GstDateTime)"
+msgstr "ngày tạo dữ liệu này (dạng cấu trúc GDate)"
msgid "genre"
msgstr "thể loại"
@@ -351,7 +357,7 @@ msgid "count of discs inside collection this disc belongs to"
msgstr "số đếm đĩa ở trong tập hợp"
msgid "location"
-msgstr "địa điểm"
+msgstr "đía điểm"
msgid ""
"Origin of media as a URI (location, where the original of the file or stream "
@@ -383,7 +389,7 @@ msgstr "ISRC"
msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
msgstr ""
-"Luật thu âm Tiêu chuẩn Quốc tế (International Standard Recording Code) — xem "
+"Luật thu Tiêu chuẩn Quốc tế (International Standard Recording Code) — xem "
"<http://www.ifpi.org/isrc/>."
msgid "organization"
@@ -401,11 +407,12 @@ msgstr "URI tác quyền"
msgid "URI to the copyright notice of the data"
msgstr "địa chỉ URI đến thông báo tác quyền của dữ liệu này"
+#, fuzzy
msgid "encoded by"
-msgstr "má hoá bởi"
+msgstr "mã hóa"
msgid "name of the encoding person or organization"
-msgstr "tên của người hay tổ chức đã mã hoá tập tin"
+msgstr ""
msgid "contact"
msgstr "liên lạc"
@@ -511,10 +518,10 @@ msgid "version of the encoder used to encode this stream"
msgstr "phiên bản của bộ mã hóa được dùng để mã hóa luồng này"
msgid "serial"
-msgstr "số sê-ri"
+msgstr "SSX"
msgid "serial number of track"
-msgstr "số sê-ri của rãnh"
+msgstr "số sản xuất của rãnh này"
msgid "replaygain track gain"
msgstr "nhớ âm lượng rãnh"
@@ -549,16 +556,16 @@ msgstr "lớp chỉ dẫn các giá trị khuếch đại của rãnh và tập
msgid "language code"
msgstr "mã ngôn ngữ"
+#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr ""
-"mã ngôn ngữ cho luồng dữ liệu này, tùy theo tiêu chuẩn ISO-639-1 hoặc "
-"ISO-639-2"
+msgstr "mã ngôn ngữ cho luồng này, tùy theo tiêu chuẩn ISO-639-1"
+#, fuzzy
msgid "language name"
-msgstr "Tên ngôn ngữ"
+msgstr "mã ngôn ngữ"
msgid "freeform name of the language this stream is in"
-msgstr "tên freeform của ngôn ngữ luồng dữ liệu này là trong"
+msgstr ""
msgid "image"
msgstr "ảnh"
@@ -580,10 +587,10 @@ msgid "file attached to this stream"
msgstr "tập tin đính kèm luồng này"
msgid "beats per minute"
-msgstr "tiếng nhịp đập mỗi phút"
+msgstr "tiếng đập mỗi phút"
msgid "number of beats per minute in audio"
-msgstr "số tiếng nhịp trong mỗi phút âm thanh"
+msgstr "số tiếng lập trong mỗi phút âm thanh"
msgid "keywords"
msgstr "từ khoá"
@@ -637,30 +644,32 @@ msgstr "vị trí địa lý của quốc gia"
msgid "country (english name) where the media has been recorded or produced"
msgstr ""
-"quốc gia (tên tiếng Anh, v.d. “Vietnam”) ở đó nhạc/phím đã được thu hay tạo"
+"quốc gia (tên tiếng Anh, v.d. « Vietnam ») ở đó nhạc/phím đã được thu hay tạo"
msgid "geo location city"
msgstr "vị trí địa lý của thành phố"
msgid "city (english name) where the media has been recorded or produced"
msgstr ""
-"thành phố (tên tiếng Anh, v.d. “Hanoi”) ở đó nhạc/phím đã được thu hay tạo"
+"thành phố (tên tiếng Anh, v.d. « Hanoi ») ở đó nhạc/phím đã được thu hay tạo"
msgid "geo location sublocation"
msgstr "vị trí phụ địa lý"
+#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
msgstr ""
-"một vùng bên trong thành phố ở đó dữ liệu đa phương tiện đã được tạo hay sản "
-"xuất (v.d. hàng xóm)"
+"một vùng bên trong thành phố ở đó phương tiện đã được tạo hay sản xuất (v.d. "
+"hàng xóm)"
+#, fuzzy
msgid "geo location horizontal error"
-msgstr "lỗi thanh ngang vị trí theo Trái Đất"
+msgstr "tên định vị địa lý"
msgid "expected error of the horizontal positioning measures (in meters)"
-msgstr "chờ đợi một lỗi của đo lường vị trí đường nằm ngang (tính bằng mét)"
+msgstr ""
msgid "geo location movement speed"
msgstr "tốc độ di chuyển theo vị trí đại lý"
@@ -768,18 +777,19 @@ msgstr "mẫu thiết bị"
msgid "Model of the device used to create this media"
msgstr "Mô hình của thiết bị được dùng để tạo phương tiện này"
+#, fuzzy
msgid "application name"
-msgstr "tên ứng dụng"
+msgstr "tên định vị địa lý"
+#, fuzzy
msgid "Application used to create the media"
-msgstr "Ứng dụng sử dụng để tạo đa phương tiện"
+msgstr "Mô hình của thiết bị được dùng để tạo phương tiện này"
msgid "application data"
-msgstr "dữ liệu ứng dụng"
+msgstr ""
msgid "Arbitrary application data to be serialized into the media"
msgstr ""
-"Dữ liệu ứng dụng tùy ý để được xếp thứ tự vào trong đa phương tiện (media)"
msgid "image orientation"
msgstr "hướng ảnh"
@@ -791,8 +801,16 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
-msgstr "LỖI: từ phần tử %s: %s\n"
+msgstr "LỖI: từ yếu tố %s: %s\n"
#, c-format
msgid ""
@@ -804,19 +822,19 @@ msgstr ""
#, c-format
msgid "specified empty bin \"%s\", not allowed"
-msgstr "không cho phép nhị phân trống được ghi rõ “%s”"
+msgstr "không cho phép nhị phân trống được ghi rõ « %s »"
#, c-format
msgid "no bin \"%s\", skipping"
-msgstr "không có nhị phân “%s” nên bỏ qua"
+msgstr "không có nhị phân « %s » nên bỏ qua"
#, c-format
msgid "no property \"%s\" in element \"%s\""
-msgstr "không có tài sản “%s” trong phần tử “%s”"
+msgstr "không có tài sản « %s » trong yếu tố « %s »"
#, c-format
msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
-msgstr "không thể đặt tài sản “%s” trong phần tử “%s” thành “%s”"
+msgstr "không thể đặt tài sản « %s » trong yếu tố « %s » thành « %s »"
#, c-format
msgid "could not link %s to %s"
@@ -824,11 +842,11 @@ msgstr "không thể liên kết %s đến %s"
#, c-format
msgid "no element \"%s\""
-msgstr "không có yếu tố “%s”"
+msgstr "không có yếu tố « %s »"
#, c-format
msgid "could not parse caps \"%s\""
-msgstr "không thể phân tách caps “%s”"
+msgstr "không thể phân tách caps « %s »"
msgid "link without source element"
msgstr "liên kết không có yếu tố nguồn"
@@ -839,36 +857,27 @@ msgstr ""
#, c-format
msgid "no source element for URI \"%s\""
-msgstr "không có yếu tố nguồn cho URI “%s”"
+msgstr "không có yếu tố nguồn cho URI « %s »"
#, c-format
msgid "no element to link URI \"%s\" to"
-msgstr "không có yếu tố đến đó cần liên kết URI “%s”"
+msgstr "không có yếu tố đến đó cần liên kết URI « %s »"
#, c-format
msgid "no sink element for URI \"%s\""
msgstr ""
"không có yếu tố quản lý việc phân phối dữ liệu vào đệm khác nhau, cho địa "
-"điểm “%s”"
+"điểm « %s »"
#, c-format
msgid "could not link sink element for URI \"%s\""
msgstr ""
"không thể kết hợp yếu tố quản lý việc phân phối dữ liệu vào đệm khác nhau, "
-"cho URI “%s”"
+"cho URI « %s »"
msgid "empty pipeline not allowed"
msgstr "không cho phép đường ống trống"
-msgid "Internal clock error."
-msgstr "Lỗi đồng hồ nội bộ."
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "Lỗi luồng dữ liệu nội bộ."
-
msgid "A lot of buffers are being dropped."
msgstr "Nhiều bộ đệm bị bỏ."
@@ -878,6 +887,15 @@ msgstr "Vấn đề luồng dữ liệu nội bộ."
msgid "Internal data stream error."
msgstr "Lỗi luồng dữ liệu nội bộ."
+msgid "Internal data flow error."
+msgstr "Lỗi luồng dữ liệu nội bộ."
+
+msgid "Internal clock error."
+msgstr "Lỗi đồng hồ nội bộ."
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "Lọc tối đa"
@@ -894,38 +912,38 @@ msgstr "Chưa ghi rõ tên tập tin để ghi vào."
#, c-format
msgid "Could not open file \"%s\" for writing."
-msgstr "Không thể mở tập tin “%s” để ghi."
+msgstr "Không thể mở tập tin « %s » để ghi."
#, c-format
msgid "Error closing file \"%s\"."
-msgstr "Gặp lỗi khi đóng tập tin “%s”."
+msgstr "Gặp lỗi khi đóng tập tin « %s »."
#, c-format
msgid "Error while seeking in file \"%s\"."
-msgstr "Gặp lỗi khi tìm trong tập tin “%s”."
+msgstr "Gặp lỗi khi tìm trong tập tin « %s »."
#, c-format
msgid "Error while writing to file \"%s\"."
-msgstr "Gặp lỗi khi ghi vào tập tin “%s”."
+msgstr "Gặp lỗi khi ghi vào tập tin « %s »."
msgid "No file name specified for reading."
msgstr "Chưa ghi rõ tên tập tin để đọc."
#, c-format
msgid "Could not open file \"%s\" for reading."
-msgstr "Không thể mở tập tin “%s” để đọc."
+msgstr "Không thể mở tập tin « %s » để đọc."
#, c-format
msgid "Could not get info on \"%s\"."
-msgstr "Không thể lấy thông tin về “%s”."
+msgstr "Không thể lấy thông tin về « %s »."
#, c-format
msgid "\"%s\" is a directory."
-msgstr "“%s” là thư mục."
+msgstr "« %s » là thư mục."
#, c-format
msgid "File \"%s\" is a socket."
-msgstr "Tập tin “%s” là ổ cắm."
+msgstr "Tập tin « %s » là ổ cắm."
msgid "Failed after iterations as requested."
msgstr "Lỗi sau số lần lặp lại được chọn."
@@ -935,7 +953,7 @@ msgstr "Chưa xác định thư mục tạm thời."
#, c-format
msgid "Could not create temp file \"%s\"."
-msgstr "Không thể tạo tập tin tạm thời “%s”."
+msgstr "Không thể tạo tập tin tạm thời « %s »."
msgid "Error while writing to download file."
msgstr "Gặp lỗi khi ghi vào tập tin tải về."
@@ -971,13 +989,13 @@ msgid "controllable"
msgstr "điều khiển được"
msgid "changeable in NULL, READY, PAUSED or PLAYING state"
-msgstr "có thể thay đổi được trong trạng thái NULL, READY, PAUSED hay PLAYING"
+msgstr ""
msgid "changeable only in NULL, READY or PAUSED state"
-msgstr "chỉ có thể thay đổi trong trạng thái NULL, READY hay PAUSED"
+msgstr ""
msgid "changeable only in NULL or READY state"
-msgstr "chỉ có thể thay đổi trong trạng thái NULL hay READY"
+msgstr ""
msgid "Blacklisted files:"
msgstr "Tập tin bị cấm:"
@@ -1025,14 +1043,12 @@ msgid "List the plugin contents"
msgstr "Liệt kê nội dung phần bổ sung"
msgid "Check if the specified element or plugin exists"
-msgstr "Kiểm tra xem một phần tử hay phần bổ xung đã cho có tồn tại hay không"
+msgstr ""
msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""
-"Kiểm tra xem một phần tử hay phần bổ xung đã cho có tồn tại hay không, đồng "
-"thời cũng kiểm tra cả phiên bản tối thiểu có thể hoạt động được"
msgid "Print supported URI schemes, with the elements that implement them"
msgstr "In ra các lược đồ URI được hỗ trợ, với những yếu tố thực hiện chúng."
@@ -1043,22 +1059,22 @@ msgstr "Không thể nạp tập tin phần bổ sung: %s\n"
#, c-format
msgid "No such element or plugin '%s'\n"
-msgstr "Không có yếu tố hay phần bổ sung như vậy “%s”\n"
+msgstr "Không có yếu tố hay phần bổ sung như vậy « %s »\n"
msgid "Index statistics"
-msgstr "Thống kê chỉ mục"
+msgstr ""
#, c-format
msgid "Got message #%u from element \"%s\" (%s): "
-msgstr "Nhận được thông điệp số %u từ phần tử “%s” (%s): "
+msgstr "Nhận được thông điệp số %u từ phần tử « %s » (%s): "
#, c-format
msgid "Got message #%u from pad \"%s:%s\" (%s): "
-msgstr "Nhận được thông điệp số %u từ đệm “%s:%s” (%s): "
+msgstr "Nhận được thông điệp số %u từ đệm « %s:%s » (%s): "
#, c-format
msgid "Got message #%u from object \"%s\" (%s): "
-msgstr "Nhận được thông điệp số %u từ đối tượng “%s” (%s): "
+msgstr "Nhận được thông điệp số %u từ đối tượng « %s » (%s): "
#, c-format
msgid "Got message #%u (%s): "
@@ -1066,33 +1082,34 @@ msgstr "Nhận được thông điệp số %u (%s): "
#, c-format
msgid "Got EOS from element \"%s\".\n"
-msgstr "Mới nhận kết thúc luồng (EOS) từ yếu tố “%s”.\n"
+msgstr "Mới nhận kết thúc luồng (EOS) từ yếu tố « %s ».\n"
#, c-format
msgid "FOUND TAG : found by element \"%s\".\n"
-msgstr "THẺ ĐÃ TÌM : được tìm bởi phần tử “%s”.\n"
+msgstr "THẺ ĐÃ TÌM : được tìm bởi yếu tố « %s ».\n"
#, c-format
msgid "FOUND TAG : found by pad \"%s:%s\".\n"
-msgstr "THẺ ĐÃ TÌM : được tìm bởi đệm “%s:%s”.\n"
+msgstr "THẺ ĐÃ TÌM : được tìm bởi đệm « %s:%s ».\n"
#, c-format
msgid "FOUND TAG : found by object \"%s\".\n"
-msgstr "THẺ ĐÃ TÌM : được tìm bởi đối tượng “%s”.\n"
+msgstr "THẺ ĐÃ TÌM : được tìm bởi đối tượng « %s ».\n"
msgid "FOUND TAG\n"
msgstr "THẺ ĐÃ TÌM\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by element \"%s\".\n"
-msgstr "TOC ĐÃ TÌM : được tìm bởi phần tử \"%s\".\n"
+msgstr "THẺ ĐÃ TÌM : được tìm bởi yếu tố « %s ».\n"
-#, c-format
+#, fuzzy, c-format
msgid "FOUND TOC : found by object \"%s\".\n"
-msgstr "TOC ĐÃ TÌM : được tìm bởi đối tượng \"%s\".\n"
+msgstr "THẺ ĐÃ TÌM : được tìm bởi đối tượng « %s ».\n"
+#, fuzzy
msgid "FOUND TOC\n"
-msgstr "TOC TÌM THẤY\n"
+msgstr "THẺ ĐÃ TÌM\n"
#, c-format
msgid ""
@@ -1104,19 +1121,23 @@ msgstr ""
#, c-format
msgid "WARNING: from element %s: %s\n"
-msgstr "CẢNH BÁO: từ yếu tố %s: %s\n"
+msgstr "CẢNH BÁO : từ yếu tố %s: %s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Cuộn sẵn, đợi chuyển hoán đệm xong...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Cuộn sẵn, đợi chuyển hoán đệm xong...\n"
+
msgid "buffering..."
msgstr "đang chuyển hoán đệm..."
msgid "Done buffering, setting pipeline to PLAYING ...\n"
-msgstr "Hoàn tất chuyển hoán đệm nên đặt đường ống thành ĐANG PHÁT ...\n"
+msgstr "Hoàn tất chuyển hoán đệm nên lập đường ống thành ĐANG PHÁT ...\n"
msgid "Buffering, setting pipeline to PAUSED ...\n"
-msgstr "Đang chuyển hoán đệm nên đặt đường ống thành BỊ TẠM DỪNG ...\n"
+msgstr "Đang chuyển hoán đệm nên lập đường ống thành BỊ TẠM DỪNG ...\n"
msgid "Redistribute latency...\n"
msgstr "Phân phối lại sự âm ỷ...\n"
@@ -1129,14 +1150,22 @@ msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Ngắt: đang ngừng chạy đường ống ...\n"
#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#, fuzzy, c-format
msgid "Missing element: %s\n"
-msgstr "Thiếu phần tử: %s\n"
+msgstr "không có yếu tố « %s »"
+
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "CẢNH BÁO : từ yếu tố %s: %s\n"
msgid "Output tags (also known as metadata)"
msgstr "Thể xuất (cũng được biết là siêu dữ liệu)"
msgid "Output TOC (chapters and editions)"
-msgstr "TOC kết xuất (các chương và phiên bản)"
+msgstr ""
msgid "Output status information and property notifications"
msgstr "Xuất thông tin trạng thái và thông báo tài sản"
@@ -1160,7 +1189,7 @@ msgid "Force EOS on sources before shutting the pipeline down"
msgstr "Ép buộc kết thúc luồng trên các nguồn trước khi đóng đường ống"
msgid "Gather and print index statistics"
-msgstr "Tập hợp lại và in ra thống kê chỉ mục"
+msgstr ""
#, c-format
msgid "ERROR: pipeline could not be constructed: %s.\n"
@@ -1171,13 +1200,13 @@ msgstr "LỖI: không thể cấu tạo đường ống.\n"
#, c-format
msgid "WARNING: erroneous pipeline: %s\n"
-msgstr "CẢNH BÁO: đường ống có lỗi: %s\n"
+msgstr "CẢNH BÁO : đường ống có lỗi: %s\n"
msgid "ERROR: the 'pipeline' element wasn't found.\n"
-msgstr "LỖI: không tìm thấy yếu tố “đường ống” (pipeline).\n"
+msgstr "LỖI: không tìm thấy yếu tố « đường ống » (pipeline).\n"
msgid "Setting pipeline to PAUSED ...\n"
-msgstr "Đang đặt đường ống thành BỊ TẠM DỪNG ...\n"
+msgstr "Đang lập đường ống thành BỊ TẠM DỪNG ...\n"
msgid "ERROR: Pipeline doesn't want to pause.\n"
msgstr "LỖI: đường ống không tạm dừng được.\n"
@@ -1195,7 +1224,7 @@ msgid "Pipeline is PREROLLED ...\n"
msgstr "Đường ống ĐÃ TIỀN CUỘN ...\n"
msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Đang đặt đường ống thành ĐANG PHÁT ...\n"
+msgstr "Đang lập đường ống thành ĐANG PHÁT ...\n"
msgid "ERROR: pipeline doesn't want to play.\n"
msgstr "LỖI: đường ống không phát được.\n"
@@ -1205,8 +1234,11 @@ msgstr ""
"Kết thúc luồng khi tắt phần mềm vẫn còn hoạt động thì đang ép buộc kết thúc "
"luồng trên đường ống\n"
+#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS khi tắt máy được bật -- chờ sau Lỗi EOS\n"
+msgstr ""
+"Kết thúc luồng khi tắt phần mềm vẫn còn hoạt động thì đang ép buộc kết thúc "
+"luồng trên đường ống\n"
msgid "Waiting for EOS...\n"
msgstr "Đang đợi kết thúc luồng...\n"
@@ -1214,8 +1246,9 @@ msgstr "Đang đợi kết thúc luồng...\n"
msgid "EOS received - stopping pipeline...\n"
msgstr "Nhận được tín hiệu kết thúc luồng: đang ngừng chạy đường ống ...\n"
+#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Ngắt trong khi chờ EOS - đang dừng đường ống lại...\n"
+msgstr "Ngắt: đang ngừng chạy đường ống ...\n"
msgid "An error happened while waiting for EOS\n"
msgstr "Gặp lỗi trong khi đợi kết thúc luồng\n"
@@ -1224,35 +1257,35 @@ msgid "Execution ended after %"
msgstr "Thực hiện xong sau %"
msgid "Setting pipeline to READY ...\n"
-msgstr "Đang đặt đường ống thành SẴN SÀNG ...\n"
+msgstr "Đang lập đường ống thành SẴN SÀNG ...\n"
msgid "Setting pipeline to NULL ...\n"
-msgstr "Đang đặt đường ống thành VÔ GIÁ TRỊ ...\n"
+msgstr "Đang lập đường ống thành VÔ GIÁ TRỊ ...\n"
msgid "Freeing pipeline ...\n"
-msgstr "Đang giải phóng đường ống ...\n"
+msgstr "Đang giải phóng đường ống...\n"
-#~ msgid "maximum"
-#~ msgstr "tối đa"
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "In ra vết cấp phát (nếu được bật khi biên dich)"
#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
#~ msgstr ""
#~ "Cách sử dụng: gst-xmllaunch <tập_tin.xml> [ yếu_tố.tài_sản=giá_trị ...]\n"
#~ msgid "ERROR: parse of xml file '%s' failed.\n"
-#~ msgstr "LỖI: lỗi phân tách tập tin xml “%s”.\n"
+#~ msgstr "LỖI: lỗi phân tách tập tin xml « %s ».\n"
#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
-#~ msgstr "LỖI: không có yếu tố đường ống cấp đầu trong tập tin “%s”.\n"
+#~ msgstr "LỖI: không có yếu tố đường ống cấp đầu trong tập tin « %s ».\n"
#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
-#~ msgstr "CẢNH BÁO: hiện thời hỗ trợ chỉ một yếu tố cấp đầu.\n"
+#~ msgstr "CẢNH BÁO : hiện thời hỗ trợ chỉ một yếu tố cấp đầu.\n"
#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
#~ msgstr "LỖI: không thể phân tách đối số dòng lệnh %d: %s.\n"
#~ msgid "WARNING: element named '%s' not found.\n"
-#~ msgstr "CẢNH BÁO: không tìm thấy yếu tố tên “%s”.\n"
+#~ msgstr "CẢNH BÁO : không tìm thấy yếu tố tên « %s ».\n"
#~ msgid "Save xml representation of pipeline to FILE and exit"
#~ msgstr "Lưu đường ống dạng XML vào TẬP_TIN rồi thoát"
@@ -1262,6 +1295,3 @@ msgstr "Đang giải phóng đường ống ...\n"
#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Đừng cài đặt bộ quản lý tín hiệu cho SIGUSR1 và SIGUSR2"
-
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "In ra vết cấp phát (nếu được bật khi biên dich)"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index c32b1e2..a1718b3 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index c4d996f..bfd3665 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.25.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2010-02-02 18:58+0800\n"
"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -238,6 +238,10 @@ msgstr "域 %s 和代码 %d 中无标准错误信息。"
msgid "Selected clock cannot be used in pipeline."
msgstr "选中的时钟序列无法用在管道中。"
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "寄存器缓存写入 %s 时出错: %s"
+
msgid "title"
msgstr "标题"
@@ -774,6 +778,14 @@ msgid ", "
msgstr ", "
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "错误:来自组件 %s:%s\n"
@@ -838,15 +850,6 @@ msgstr "无法连接 URI“%s”的消音组件"
msgid "empty pipeline not allowed"
msgstr "不允许空管道"
-msgid "Internal clock error."
-msgstr "内部时钟错误。"
-
-msgid "Failed to map buffer."
-msgstr ""
-
-msgid "Internal data flow error."
-msgstr "内部数据流错误。"
-
msgid "A lot of buffers are being dropped."
msgstr "很多缓冲区正被丢弃。"
@@ -856,6 +859,15 @@ msgstr "内部数据流问题。"
msgid "Internal data stream error."
msgstr "内部数据流错误。"
+msgid "Internal data flow error."
+msgstr "内部数据流错误。"
+
+msgid "Internal clock error."
+msgstr "内部时钟错误。"
+
+msgid "Failed to map buffer."
+msgstr ""
+
msgid "Filter caps"
msgstr "过滤分析器"
@@ -1085,6 +1097,10 @@ msgstr "警告:来自组件 %s:%s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Prerolled,等待缓冲完成...\n"
+#, fuzzy
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr "Prerolled,等待缓冲完成...\n"
+
msgid "buffering..."
msgstr "正在缓冲..."
@@ -1104,10 +1120,18 @@ msgstr "%2$s 发起请求时状态设置为 %1$s...\n"
msgid "Interrupt: Stopping pipeline ...\n"
msgstr "中断: 中止管道 ...\n"
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "无组件“%s”"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "警告:来自组件 %s:%s\n"
+
msgid "Output tags (also known as metadata)"
msgstr "输出标识(也可认为是元数据)"
@@ -1209,9 +1233,6 @@ msgstr "设置 NULL 管道 ...\n"
msgid "Freeing pipeline ...\n"
msgstr "释放管道资源 ...\n"
-#~ msgid "maximum"
-#~ msgstr "最大"
-
#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
#~ msgstr "用法: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
@@ -1239,9 +1260,6 @@ msgstr "释放管道资源 ...\n"
#~ msgid "Print alloc trace (if enabled at compile time)"
#~ msgstr "打印分配记录(如果在编译时开启的话)"
-#~ msgid "Error writing registry cache to %s: %s"
-#~ msgstr "寄存器缓存写入 %s 时出错: %s"
-
#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "重新扫描寄存器 %s 时出错: %s"
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 01ed07e..967e1c2 100644
--- a/po/zh_TW.gmo
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
index ae9ecf6..e10b6d0 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.8.8\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-07-11 19:26+0100\n"
+"POT-Creation-Date: 2013-07-11 15:09+0200\n"
"PO-Revision-Date: 2005-04-27 14:55+0800\n"
"Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -254,6 +254,10 @@ msgstr ""
msgid "Selected clock cannot be used in pipeline."
msgstr ""
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
msgid "title"
msgstr "標題"
@@ -792,6 +796,14 @@ msgid ", "
msgstr ""
#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "錯誤:來自 %s 元件:%s\n"
@@ -856,22 +868,22 @@ msgstr ""
msgid "empty pipeline not allowed"
msgstr "不允許使用沒有內容的管線"
-msgid "Internal clock error."
+msgid "A lot of buffers are being dropped."
msgstr ""
-msgid "Failed to map buffer."
+msgid "Internal data flow problem."
msgstr ""
-msgid "Internal data flow error."
+msgid "Internal data stream error."
msgstr ""
-msgid "A lot of buffers are being dropped."
+msgid "Internal data flow error."
msgstr ""
-msgid "Internal data flow problem."
+msgid "Internal clock error."
msgstr ""
-msgid "Internal data stream error."
+msgid "Failed to map buffer."
msgstr ""
msgid "Filter caps"
@@ -1099,6 +1111,9 @@ msgstr "錯誤:來自 %s 元件:%s\n"
msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
msgid "buffering..."
msgstr ""
@@ -1118,10 +1133,18 @@ msgstr ""
msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "“%s” 元件不存在"
+#, fuzzy, c-format
+msgid "Got context from element '%s': %s\n"
+msgstr "錯誤:來自 %s 元件:%s\n"
+
msgid "Output tags (also known as metadata)"
msgstr ""
diff --git a/scripts/gst-uninstalled b/scripts/gst-uninstalled
index 117fb79..2a9d3bf 100755
--- a/scripts/gst-uninstalled
+++ b/scripts/gst-uninstalled
@@ -53,6 +53,7 @@ $GST/gst-plugins-base/tools:\
$GST/gst-player/src:\
$GST/gst-editor/src:\
$GST/gstreamer-sharp/tools:\
+$GST/orc/tools:\
$GST_PREFIX/bin:\
$PATH"
@@ -61,26 +62,24 @@ LD_LIBRARY_PATH=$GST_PREFIX/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
DYLD_LIBRARY_PATH=$GST_PREFIX/lib${DYLD_LIBRARY_PATH:+:$DYLD_LIBRARY_PATH}
GI_TYPELIB_PATH=$GST_PREFIX/share/gir-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}
+# ORC
+LD_LIBRARY_PATH=$GST/orc/orc/.libs:$GST/orc/orc-test/.libs:$LD_LIBRARY_PATH
+DYLD_LIBRARY_PATH=$GST/orc/orc/.libs:$GST/orc/orc-test/.libs:$DYLD_LIBRARY_PATH
+
# GStreamer rtsp server library
LD_LIBRARY_PATH=$GST/gst-rtsp-server/gst/rtsp-server/.libs:$LD_LIBRARY_PATH
DYLD_LIBRARY_PATH=$GST/gst-rtsp-server/gst/rtsp-server/.libs:$DYLD_LIBRARY_PATH
GI_TYPELIB_PATH=$GST/gst-rtsp-server/gst/rtsp-server:$GI_TYPELIB_PATH
-# GStreamer ffmpeg libraries
-for path in libavformat libavutil libavcodec libpostproc libavdevice
-do
- LD_LIBRARY_PATH=$GST/gst-ffmpeg/gst-libs/ext/ffmpeg/$path:$LD_LIBRARY_PATH
- DYLD_LIBRARY_PATH=$GST/gst-ffmpeg/gst-libs/ext/ffmpeg/$path:$DYLD_LIBRARY_PATH
-done
-
# GStreamer Editing Services library
LD_LIBRARY_PATH=$GST/gst-editing-services/ges/.libs:$LD_LIBRARY_PATH
DYLD_LIBRARY_PATH=$GST/gst-editing-services/ges/.libs:$DYLD_LIBRARY_PATH
+GI_TYPELIB_PATH=$GST/gst-editing-services/ges:$GI_TYPELIB_PATH
PATH=$GST/gst-editing-services/tools:$PATH
# GStreamer plugins base libraries
-for path in app audio cdda fft interfaces pbutils netbuffer riff rtp rtsp sdp tag utils video
+for path in allocators app audio fft pbutils riff rtp rtsp sdp tag utils video
do
LD_LIBRARY_PATH=$GST/gst-plugins-base/gst-libs/gst/$path/.libs:$LD_LIBRARY_PATH
DYLD_LIBRARY_PATH=$GST/gst-plugins-base/gst-libs/gst/$path/.libs:$DYLD_LIBRARY_PATH
@@ -88,7 +87,7 @@ do
done
# GStreamer plugins bad libraries
-for path in basecamerabinsrc codecparsers interfaces
+for path in basecamerabinsrc codecparsers uridownloader egl insertbin interfaces mpegts
do
LD_LIBRARY_PATH=$GST/gst-plugins-bad/gst-libs/gst/$path/.libs:$LD_LIBRARY_PATH
DYLD_LIBRARY_PATH=$GST/gst-plugins-bad/gst-libs/gst/$path/.libs:$DYLD_LIBRARY_PATH
@@ -96,7 +95,7 @@ do
done
# GStreamer core libraries
-for path in base net check controller
+for path in base check controller net
do
LD_LIBRARY_PATH=$GST/gstreamer/libs/gst/$path/.libs:$LD_LIBRARY_PATH
DYLD_LIBRARY_PATH=$GST/gstreamer/libs/gst/$path/.libs:$DYLD_LIBRARY_PATH
@@ -116,11 +115,13 @@ $GST_PREFIX/lib/pkgconfig\
:$GST/gst-plugins-good/pkgconfig\
:$GST/gst-plugins-ugly/pkgconfig\
:$GST/gst-plugins-bad/pkgconfig\
+:$GST/gst-libav/pkgconfig\
:$GST/gst-ffmpeg/pkgconfig\
:$GST/gst-python/pkgconfig\
:$GST/gst-rtsp-server/pkgconfig\
:$GST/gst-editing-services/pkgconfig\
:$GST/gstreamer-sharp/pkgconfig\
+:$GST/orc\
:$GST/farsight2\
:$GST/libnice/nice\
${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}"
diff --git a/test-driver b/test-driver
new file mode 100755
index 0000000..32bf39e
--- /dev/null
+++ b/test-driver
@@ -0,0 +1,127 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2012-06-27.10; # UTC
+
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+# Make unconditional expansion of undefined variables an error. This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+ echo "$0: $*" >&2
+ print_usage >&2
+ exit 2
+}
+
+print_usage ()
+{
+ cat <<END
+Usage:
+ test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+ [--expect-failure={yes|no}] [--color-tests={yes|no}]
+ [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+# TODO: better error handling in option parsing (in particular, ensure
+# TODO: $log_file, $trs_file and $test_name are defined).
+test_name= # Used for reporting.
+log_file= # Where to save the output of the test script.
+trs_file= # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+ case $1 in
+ --help) print_usage; exit $?;;
+ --version) echo "test-driver $scriptversion"; exit $?;;
+ --test-name) test_name=$2; shift;;
+ --log-file) log_file=$2; shift;;
+ --trs-file) trs_file=$2; shift;;
+ --color-tests) color_tests=$2; shift;;
+ --expect-failure) expect_failure=$2; shift;;
+ --enable-hard-errors) enable_hard_errors=$2; shift;;
+ --) shift; break;;
+ -*) usage_error "invalid option: '$1'";;
+ esac
+ shift
+done
+
+if test $color_tests = yes; then
+ # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+ red='' # Red.
+ grn='' # Green.
+ lgn='' # Light green.
+ blu='' # Blue.
+ mgn='' # Magenta.
+ std='' # No color.
+else
+ red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+ estatus=1
+fi
+
+case $estatus:$expect_failure in
+ 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+ 0:*) col=$grn res=PASS recheck=no gcopy=no;;
+ 77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
+ 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
+ *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
+ *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
+esac
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 7894e53..e2ee5ab 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,13 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = tests
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,33 +109,42 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -117,9 +152,29 @@ am__can_run_installinfo = \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -246,15 +301,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -264,11 +315,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -276,6 +325,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -338,6 +388,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -494,22 +545,25 @@ clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -524,57 +578,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -590,12 +599,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -607,15 +611,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -624,6 +624,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -784,22 +799,20 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/benchmarks/Makefile.am b/tests/benchmarks/Makefile.am
index 7e1cb55..3301172 100644
--- a/tests/benchmarks/Makefile.am
+++ b/tests/benchmarks/Makefile.am
@@ -6,6 +6,7 @@ noinst_PROGRAMS = \
init \
mass-elements \
gstpollstress \
+ gstpoolstress \
gstclockstress \
gstbufferstress
diff --git a/tests/benchmarks/Makefile.in b/tests/benchmarks/Makefile.in
index e343847..b011746 100644
--- a/tests/benchmarks/Makefile.in
+++ b/tests/benchmarks/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
esac; \
- test $$am__dry = yes; \
- }
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,17 +81,17 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = caps$(EXEEXT) capsnego$(EXEEXT) complexity$(EXEEXT) \
controller$(EXEEXT) init$(EXEEXT) mass-elements$(EXEEXT) \
- gstpollstress$(EXEEXT) gstclockstress$(EXEEXT) \
- gstbufferstress$(EXEEXT)
+ gstpollstress$(EXEEXT) gstpoolstress$(EXEEXT) \
+ gstclockstress$(EXEEXT) gstbufferstress$(EXEEXT)
subdir = tests/benchmarks
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -88,12 +115,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -109,6 +138,7 @@ caps_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
capsnego_SOURCES = capsnego.c
capsnego_OBJECTS = capsnego.$(OBJEXT)
capsnego_LDADD = $(LDADD)
@@ -137,6 +167,10 @@ gstpollstress_SOURCES = gstpollstress.c
gstpollstress_OBJECTS = gstpollstress.$(OBJEXT)
gstpollstress_LDADD = $(LDADD)
gstpollstress_DEPENDENCIES = $(am__DEPENDENCIES_1)
+gstpoolstress_SOURCES = gstpoolstress.c
+gstpoolstress_OBJECTS = gstpoolstress.$(OBJEXT)
+gstpoolstress_LDADD = $(LDADD)
+gstpoolstress_DEPENDENCIES = $(am__DEPENDENCIES_1)
init_SOURCES = init.c
init_OBJECTS = init.$(OBJEXT)
init_LDADD = $(LDADD)
@@ -145,6 +179,18 @@ mass_elements_SOURCES = mass-elements.c
mass_elements_OBJECTS = mass-elements.$(OBJEXT)
mass_elements_LDADD = $(LDADD)
mass_elements_DEPENDENCIES = $(am__DEPENDENCIES_1)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -157,31 +203,44 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = caps.c capsnego.c complexity.c controller.c \
- gstbufferstress.c gstclockstress.c gstpollstress.c init.c \
- mass-elements.c
+ gstbufferstress.c gstclockstress.c gstpollstress.c \
+ gstpoolstress.c init.c mass-elements.c
DIST_SOURCES = caps.c capsnego.c complexity.c controller.c \
- gstbufferstress.c gstclockstress.c gstpollstress.c init.c \
- mass-elements.c
+ gstbufferstress.c gstclockstress.c gstpollstress.c \
+ gstpoolstress.c init.c mass-elements.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -283,15 +342,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -301,11 +356,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -313,6 +366,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -375,6 +429,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -512,30 +567,43 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
caps$(EXEEXT): $(caps_OBJECTS) $(caps_DEPENDENCIES) $(EXTRA_caps_DEPENDENCIES)
@rm -f caps$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(caps_OBJECTS) $(caps_LDADD) $(LIBS)
+
capsnego$(EXEEXT): $(capsnego_OBJECTS) $(capsnego_DEPENDENCIES) $(EXTRA_capsnego_DEPENDENCIES)
@rm -f capsnego$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(capsnego_OBJECTS) $(capsnego_LDADD) $(LIBS)
+
complexity$(EXEEXT): $(complexity_OBJECTS) $(complexity_DEPENDENCIES) $(EXTRA_complexity_DEPENDENCIES)
@rm -f complexity$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(complexity_OBJECTS) $(complexity_LDADD) $(LIBS)
+
controller$(EXEEXT): $(controller_OBJECTS) $(controller_DEPENDENCIES) $(EXTRA_controller_DEPENDENCIES)
@rm -f controller$(EXEEXT)
$(AM_V_CCLD)$(controller_LINK) $(controller_OBJECTS) $(controller_LDADD) $(LIBS)
+
gstbufferstress$(EXEEXT): $(gstbufferstress_OBJECTS) $(gstbufferstress_DEPENDENCIES) $(EXTRA_gstbufferstress_DEPENDENCIES)
@rm -f gstbufferstress$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gstbufferstress_OBJECTS) $(gstbufferstress_LDADD) $(LIBS)
+
gstclockstress$(EXEEXT): $(gstclockstress_OBJECTS) $(gstclockstress_DEPENDENCIES) $(EXTRA_gstclockstress_DEPENDENCIES)
@rm -f gstclockstress$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gstclockstress_OBJECTS) $(gstclockstress_LDADD) $(LIBS)
+
gstpollstress$(EXEEXT): $(gstpollstress_OBJECTS) $(gstpollstress_DEPENDENCIES) $(EXTRA_gstpollstress_DEPENDENCIES)
@rm -f gstpollstress$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gstpollstress_OBJECTS) $(gstpollstress_LDADD) $(LIBS)
+
+gstpoolstress$(EXEEXT): $(gstpoolstress_OBJECTS) $(gstpoolstress_DEPENDENCIES) $(EXTRA_gstpoolstress_DEPENDENCIES)
+ @rm -f gstpoolstress$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(gstpoolstress_OBJECTS) $(gstpoolstress_LDADD) $(LIBS)
+
init$(EXEEXT): $(init_OBJECTS) $(init_DEPENDENCIES) $(EXTRA_init_DEPENDENCIES)
@rm -f init$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(init_OBJECTS) $(init_LDADD) $(LIBS)
+
mass-elements$(EXEEXT): $(mass_elements_OBJECTS) $(mass_elements_DEPENDENCIES) $(EXTRA_mass_elements_DEPENDENCIES)
@rm -f mass-elements$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(mass_elements_OBJECTS) $(mass_elements_LDADD) $(LIBS)
@@ -553,6 +621,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstbufferstress.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstclockstress.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstpollstress.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstpoolstress.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mass-elements.Po@am__quote@
@@ -597,26 +666,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -628,15 +686,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -645,6 +699,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -786,18 +855,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/benchmarks/caps.c b/tests/benchmarks/caps.c
index 32d1725..d5c2101 100644
--- a/tests/benchmarks/caps.c
+++ b/tests/benchmarks/caps.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/tests/benchmarks/capsnego.c b/tests/benchmarks/capsnego.c
index 7db7e91..7e6ca39 100644
--- a/tests/benchmarks/capsnego.c
+++ b/tests/benchmarks/capsnego.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/* this benchmark recursively builds a pipeline and measures the time to go
diff --git a/tests/benchmarks/complexity.c b/tests/benchmarks/complexity.c
index e275811..2d51f78 100644
--- a/tests/benchmarks/complexity.c
+++ b/tests/benchmarks/complexity.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <stdlib.h>
diff --git a/tests/benchmarks/controller.c b/tests/benchmarks/controller.c
index 850b4c1..13012ec 100644
--- a/tests/benchmarks/controller.c
+++ b/tests/benchmarks/controller.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <stdio.h>
diff --git a/tests/benchmarks/gstbufferstress.c b/tests/benchmarks/gstbufferstress.c
index 9f652c3..7871561 100644
--- a/tests/benchmarks/gstbufferstress.c
+++ b/tests/benchmarks/gstbufferstress.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <stdio.h>
diff --git a/tests/benchmarks/gstclockstress.c b/tests/benchmarks/gstclockstress.c
index e274d36..8dacf03 100644
--- a/tests/benchmarks/gstclockstress.c
+++ b/tests/benchmarks/gstclockstress.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <stdio.h>
diff --git a/tests/benchmarks/gstpollstress.c b/tests/benchmarks/gstpollstress.c
index 707be0b..09b2b06 100644
--- a/tests/benchmarks/gstpollstress.c
+++ b/tests/benchmarks/gstpollstress.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <stdio.h>
diff --git a/tests/benchmarks/gstpoolstress.c b/tests/benchmarks/gstpoolstress.c
new file mode 100644
index 0000000..7fa9596
--- /dev/null
+++ b/tests/benchmarks/gstpoolstress.c
@@ -0,0 +1,90 @@
+/* GStreamer
+ * Copyright (C) <2013> Wim Taymans <wim.taymans@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <gst/gst.h>
+#include "gst/glib-compat-private.h"
+
+
+gint
+main (gint argc, gchar * argv[])
+{
+ gint i;
+ GstBuffer *tmp;
+ GstBufferPool *pool;
+ GstClockTime start, end;
+ guint64 nbuffers;
+ GstStructure *conf;
+
+ gst_init (&argc, &argv);
+
+ if (argc != 2) {
+ g_print ("usage: %s <nbuffers>\n", argv[0]);
+ exit (-1);
+ }
+
+ nbuffers = atoi (argv[1]);
+
+ if (nbuffers <= 0) {
+ g_print ("number of buffers must be greater than 0\n");
+ exit (-3);
+ }
+
+ /* Let's just make sure the GstBufferClass is loaded ... */
+ tmp = gst_buffer_new ();
+ gst_buffer_unref (tmp);
+
+ pool = gst_buffer_pool_new ();
+
+ conf = gst_buffer_pool_get_config (pool);
+ gst_buffer_pool_config_set_params (conf, NULL, 1400, 0, 0);
+ gst_buffer_pool_set_config (pool, conf);
+
+ gst_buffer_pool_set_active (pool, TRUE);
+
+ start = gst_util_get_timestamp ();
+ for (i = 0; i < nbuffers; i++) {
+ tmp = gst_buffer_new_allocate (NULL, 1400, NULL);
+ gst_buffer_unref (tmp);
+ }
+ end = gst_util_get_timestamp ();
+ g_print ("*** total %" GST_TIME_FORMAT " - average %" GST_TIME_FORMAT
+ " - Done creating %" G_GUINT64_FORMAT " buffers\n",
+ GST_TIME_ARGS (end - start),
+ GST_TIME_ARGS ((end - start) / (nbuffers)), nbuffers);
+
+
+ start = gst_util_get_timestamp ();
+ for (i = 0; i < nbuffers; i++) {
+ gst_buffer_pool_acquire_buffer (pool, &tmp, NULL);
+ gst_buffer_unref (tmp);
+ }
+ end = gst_util_get_timestamp ();
+
+ g_print ("*** total %" GST_TIME_FORMAT " - average %" GST_TIME_FORMAT
+ " - Done creating %" G_GUINT64_FORMAT " buffers\n",
+ GST_TIME_ARGS (end - start),
+ GST_TIME_ARGS ((end - start) / (nbuffers)), nbuffers);
+
+ gst_buffer_pool_set_active (pool, FALSE);
+ gst_object_unref (pool);
+
+ return 0;
+}
diff --git a/tests/benchmarks/init.c b/tests/benchmarks/init.c
index a03f666..3126a2c 100644
--- a/tests/benchmarks/init.c
+++ b/tests/benchmarks/init.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/tests/benchmarks/mass-elements.c b/tests/benchmarks/mass-elements.c
index 826d3d0..cfe6c85 100644
--- a/tests/benchmarks/mass-elements.c
+++ b/tests/benchmarks/mass-elements.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <stdlib.h>
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index b4880fb..0568d90 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -10,9 +10,9 @@ REGISTRY_ENVIRONMENT = \
TESTS_ENVIRONMENT = \
GST_STATE_IGNORE_ELEMENTS="$(STATE_IGNORE_ELEMENTS)" \
$(REGISTRY_ENVIRONMENT) \
- GST_PLUGIN_SCANNER=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner \
- GST_PLUGIN_SYSTEM_PATH= \
- GST_PLUGIN_PATH=$(top_builddir)/plugins
+ GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner \
+ GST_PLUGIN_SYSTEM_PATH_1_0= \
+ GST_PLUGIN_PATH_1_0=$(top_builddir)/plugins
plugindir = $(libdir)/gstreamer-@GST_API_VERSION@
@@ -61,7 +61,8 @@ REGISTRY_CHECKS = \
gst/gst \
gst/gstbin \
gst/gstchildproxy \
- gst/gstcontroller \
+ gst/gstcontext \
+ gst/gstcontroller \
gst/gstelement \
gst/gstelementfactory \
gst/gstevent \
@@ -106,6 +107,7 @@ check_PROGRAMS = \
gst/gstmemory \
gst/gstbus \
gst/gstcaps \
+ gst/gstcapsfeatures \
$(CXX_CHECKS) \
gst/gstdatetime \
gst/gstinfo \
@@ -138,6 +140,7 @@ check_PROGRAMS = \
libs/collectpads \
libs/gstnetclientclock \
libs/gstnettimeprovider \
+ libs/gsttestclock \
libs/transform1 \
tools/gstinspect
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index 22baba4..34b2ec4 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,23 +16,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -53,12 +80,14 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(top_srcdir)/common/check.mak
+DIST_COMMON = $(top_srcdir)/common/check.mak $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(top_srcdir)/depcomp $(noinst_HEADERS) \
+ $(top_srcdir)/test-driver
check_PROGRAMS = $(am__EXEEXT_1) gst/gstatomicqueue$(EXEEXT) \
gst/gstbuffer$(EXEEXT) gst/gstbufferlist$(EXEEXT) \
gst/gstmeta$(EXEEXT) gst/gstmemory$(EXEEXT) \
- gst/gstbus$(EXEEXT) gst/gstcaps$(EXEEXT) $(am__EXEEXT_2) \
+ gst/gstbus$(EXEEXT) gst/gstcaps$(EXEEXT) \
+ gst/gstcapsfeatures$(EXEEXT) $(am__EXEEXT_2) \
gst/gstdatetime$(EXEEXT) gst/gstinfo$(EXEEXT) \
gst/gstiterator$(EXEEXT) gst/gstmessage$(EXEEXT) \
gst/gstminiobject$(EXEEXT) gst/gstobject$(EXEEXT) \
@@ -73,8 +102,8 @@ check_PROGRAMS = $(am__EXEEXT_1) gst/gstatomicqueue$(EXEEXT) \
$(am__EXEEXT_5) libs/adapter$(EXEEXT) libs/bitreader$(EXEEXT) \
libs/bytereader$(EXEEXT) libs/bytewriter$(EXEEXT) \
libs/collectpads$(EXEEXT) libs/gstnetclientclock$(EXEEXT) \
- libs/gstnettimeprovider$(EXEEXT) libs/transform1$(EXEEXT) \
- tools/gstinspect$(EXEEXT)
+ libs/gstnettimeprovider$(EXEEXT) libs/gsttestclock$(EXEEXT) \
+ libs/transform1$(EXEEXT) tools/gstinspect$(EXEEXT)
noinst_PROGRAMS =
subdir = tests/check
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -83,7 +112,6 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -107,12 +135,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -130,6 +160,7 @@ CONFIG_CLEAN_VPATH_FILES =
@GST_DISABLE_REGISTRY_FALSE@am__EXEEXT_4 = gst/gst$(EXEEXT) \
@GST_DISABLE_REGISTRY_FALSE@ gst/gstbin$(EXEEXT) \
@GST_DISABLE_REGISTRY_FALSE@ gst/gstchildproxy$(EXEEXT) \
+@GST_DISABLE_REGISTRY_FALSE@ gst/gstcontext$(EXEEXT) \
@GST_DISABLE_REGISTRY_FALSE@ gst/gstcontroller$(EXEEXT) \
@GST_DISABLE_REGISTRY_FALSE@ gst/gstelement$(EXEEXT) \
@GST_DISABLE_REGISTRY_FALSE@ gst/gstelementfactory$(EXEEXT) \
@@ -176,6 +207,7 @@ elements_capsfilter_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@G
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
am__dirstamp = $(am__leading_dot)dirstamp
elements_fakesink_SOURCES = elements/fakesink.c
elements_fakesink_OBJECTS = fakesink.$(OBJEXT)
@@ -323,6 +355,12 @@ gst_gstcaps_LDADD = $(LDADD)
gst_gstcaps_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
$(am__DEPENDENCIES_1)
+gst_gstcapsfeatures_SOURCES = gst/gstcapsfeatures.c
+gst_gstcapsfeatures_OBJECTS = gstcapsfeatures.$(OBJEXT)
+gst_gstcapsfeatures_LDADD = $(LDADD)
+gst_gstcapsfeatures_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
+ $(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+ $(am__DEPENDENCIES_1)
gst_gstchildproxy_SOURCES = gst/gstchildproxy.c
gst_gstchildproxy_OBJECTS = gstchildproxy.$(OBJEXT)
gst_gstchildproxy_LDADD = $(LDADD)
@@ -335,6 +373,12 @@ gst_gstclock_LDADD = $(LDADD)
gst_gstclock_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
$(am__DEPENDENCIES_1)
+gst_gstcontext_SOURCES = gst/gstcontext.c
+gst_gstcontext_OBJECTS = gstcontext.$(OBJEXT)
+gst_gstcontext_LDADD = $(LDADD)
+gst_gstcontext_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
+ $(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+ $(am__DEPENDENCIES_1)
gst_gstcontroller_SOURCES = gst/gstcontroller.c
gst_gstcontroller_OBJECTS = gstcontroller.$(OBJEXT)
gst_gstcontroller_LDADD = $(LDADD)
@@ -596,6 +640,12 @@ libs_gstnettimeprovider_OBJECTS = gstnettimeprovider.$(OBJEXT)
libs_gstnettimeprovider_DEPENDENCIES = \
$(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+libs_gsttestclock_SOURCES = libs/gsttestclock.c
+libs_gsttestclock_OBJECTS = gsttestclock.$(OBJEXT)
+libs_gsttestclock_LDADD = $(LDADD)
+libs_gsttestclock_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
+ $(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
+ $(am__DEPENDENCIES_1)
libs_libsabi_SOURCES = libs/libsabi.c
libs_libsabi_OBJECTS = libsabi.$(OBJEXT)
libs_libsabi_LDADD = $(LDADD)
@@ -669,6 +719,18 @@ tools_gstinspect_LDADD = $(LDADD)
tools_gstinspect_DEPENDENCIES = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
$(am__DEPENDENCIES_1)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -681,17 +743,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
@@ -700,17 +761,16 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_@AM_V@)
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
SOURCES = elements/capsfilter.c elements/fakesink.c elements/fakesrc.c \
elements/fdsrc.c elements/filesink.c elements/filesrc.c \
elements/funnel.c elements/identity.c elements/multiqueue.c \
@@ -718,14 +778,15 @@ SOURCES = elements/capsfilter.c elements/fakesink.c elements/fakesrc.c \
elements/tee.c elements/valve.c generic/sinks.c \
generic/states.c gst/gst.c gst/gstabi.c gst/gstatomicqueue.c \
gst/gstbin.c gst/gstbuffer.c gst/gstbufferlist.c gst/gstbus.c \
- gst/gstcaps.c gst/gstchildproxy.c gst/gstclock.c \
- gst/gstcontroller.c $(gst_gstcpp_SOURCES) gst/gstdatetime.c \
- gst/gstelement.c gst/gstelementfactory.c gst/gstevent.c \
- gst/gstghostpad.c gst/gstinfo.c gst/gstiterator.c \
- gst/gstmemory.c gst/gstmessage.c gst/gstmeta.c \
- gst/gstminiobject.c gst/gstobject.c gst/gstpad.c \
- gst/gstparamspecs.c gst/gstpipeline.c gst/gstplugin.c \
- gst/gstpoll.c gst/gstpreset.c gst/gstquery.c gst/gstregistry.c \
+ gst/gstcaps.c gst/gstcapsfeatures.c gst/gstchildproxy.c \
+ gst/gstclock.c gst/gstcontext.c gst/gstcontroller.c \
+ $(gst_gstcpp_SOURCES) gst/gstdatetime.c gst/gstelement.c \
+ gst/gstelementfactory.c gst/gstevent.c gst/gstghostpad.c \
+ gst/gstinfo.c gst/gstiterator.c gst/gstmemory.c \
+ gst/gstmessage.c gst/gstmeta.c gst/gstminiobject.c \
+ gst/gstobject.c gst/gstpad.c gst/gstparamspecs.c \
+ gst/gstpipeline.c gst/gstplugin.c gst/gstpoll.c \
+ gst/gstpreset.c gst/gstquery.c gst/gstregistry.c \
gst/gstsegment.c gst/gststructure.c gst/gstsystemclock.c \
gst/gsttag.c gst/gsttagsetter.c gst/gsttask.c gst/gsttoc.c \
gst/gsttocsetter.c gst/gsturi.c gst/gstutils.c gst/gstvalue.c \
@@ -733,8 +794,8 @@ SOURCES = elements/capsfilter.c elements/fakesink.c elements/fakesrc.c \
libs/bytereader.c libs/bytewriter.c libs/collectpads.c \
libs/controller.c $(libs_gstlibscpp_SOURCES) \
libs/gstnetclientclock.c libs/gstnettimeprovider.c \
- libs/libsabi.c libs/queuearray.c libs/transform1.c \
- libs/typefindhelper.c pipelines/cleanup.c \
+ libs/gsttestclock.c libs/libsabi.c libs/queuearray.c \
+ libs/transform1.c libs/typefindhelper.c pipelines/cleanup.c \
pipelines/parse-disabled.c pipelines/parse-launch.c \
pipelines/queue-error.c pipelines/seek.c \
pipelines/simple-launch-lines.c pipelines/stress.c \
@@ -747,14 +808,14 @@ DIST_SOURCES = elements/capsfilter.c elements/fakesink.c \
generic/sinks.c generic/states.c gst/gst.c gst/gstabi.c \
gst/gstatomicqueue.c gst/gstbin.c gst/gstbuffer.c \
gst/gstbufferlist.c gst/gstbus.c gst/gstcaps.c \
- gst/gstchildproxy.c gst/gstclock.c gst/gstcontroller.c \
- $(gst_gstcpp_SOURCES) gst/gstdatetime.c gst/gstelement.c \
- gst/gstelementfactory.c gst/gstevent.c gst/gstghostpad.c \
- gst/gstinfo.c gst/gstiterator.c gst/gstmemory.c \
- gst/gstmessage.c gst/gstmeta.c gst/gstminiobject.c \
- gst/gstobject.c gst/gstpad.c gst/gstparamspecs.c \
- gst/gstpipeline.c gst/gstplugin.c gst/gstpoll.c \
- gst/gstpreset.c gst/gstquery.c gst/gstregistry.c \
+ gst/gstcapsfeatures.c gst/gstchildproxy.c gst/gstclock.c \
+ gst/gstcontext.c gst/gstcontroller.c $(gst_gstcpp_SOURCES) \
+ gst/gstdatetime.c gst/gstelement.c gst/gstelementfactory.c \
+ gst/gstevent.c gst/gstghostpad.c gst/gstinfo.c \
+ gst/gstiterator.c gst/gstmemory.c gst/gstmessage.c \
+ gst/gstmeta.c gst/gstminiobject.c gst/gstobject.c gst/gstpad.c \
+ gst/gstparamspecs.c gst/gstpipeline.c gst/gstplugin.c \
+ gst/gstpoll.c gst/gstpreset.c gst/gstquery.c gst/gstregistry.c \
gst/gstsegment.c gst/gststructure.c gst/gstsystemclock.c \
gst/gsttag.c gst/gsttagsetter.c gst/gsttask.c gst/gsttoc.c \
gst/gsttocsetter.c gst/gsturi.c gst/gstutils.c gst/gstvalue.c \
@@ -762,8 +823,8 @@ DIST_SOURCES = elements/capsfilter.c elements/fakesink.c \
libs/bytereader.c libs/bytewriter.c libs/collectpads.c \
libs/controller.c $(libs_gstlibscpp_SOURCES) \
libs/gstnetclientclock.c libs/gstnettimeprovider.c \
- libs/libsabi.c libs/queuearray.c libs/transform1.c \
- libs/typefindhelper.c pipelines/cleanup.c \
+ libs/gsttestclock.c libs/libsabi.c libs/queuearray.c \
+ libs/transform1.c libs/typefindhelper.c pipelines/cleanup.c \
pipelines/parse-disabled.c pipelines/parse-launch.c \
pipelines/queue-error.c pipelines/seek.c \
pipelines/simple-launch-lines.c pipelines/stress.c \
@@ -774,10 +835,229 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+ case '$@' in \
+ */*) \
+ case '$*' in \
+ */*) b='$*';; \
+ *) b=`echo '$@' | sed 's/\.log$$//'`; \
+ esac;; \
+ *) \
+ b='$*';; \
+ esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+ $(TEST_LOG_FLAGS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -877,15 +1157,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -895,11 +1171,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -907,6 +1181,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -969,6 +1244,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -1059,7 +1335,6 @@ target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-LOOPS = 10
# inspect every plugin feature
GST_INSPECT = $(GST_TOOLS_DIR)/gst-inspect-$(GST_API_VERSION)
@@ -1071,9 +1346,9 @@ REGISTRY_ENVIRONMENT = \
TESTS_ENVIRONMENT = \
GST_STATE_IGNORE_ELEMENTS="$(STATE_IGNORE_ELEMENTS)" \
$(REGISTRY_ENVIRONMENT) \
- GST_PLUGIN_SCANNER=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner \
- GST_PLUGIN_SYSTEM_PATH= \
- GST_PLUGIN_PATH=$(top_builddir)/plugins
+ GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner \
+ GST_PLUGIN_SYSTEM_PATH_1_0= \
+ GST_PLUGIN_PATH_1_0=$(top_builddir)/plugins
# the core dumps of some machines have PIDs appended, test registry and
@@ -1096,7 +1371,8 @@ LIBSABI_CHECKS = libs/libsabi
@GST_DISABLE_REGISTRY_FALSE@ gst/gst \
@GST_DISABLE_REGISTRY_FALSE@ gst/gstbin \
@GST_DISABLE_REGISTRY_FALSE@ gst/gstchildproxy \
-@GST_DISABLE_REGISTRY_FALSE@ gst/gstcontroller \
+@GST_DISABLE_REGISTRY_FALSE@ gst/gstcontext \
+@GST_DISABLE_REGISTRY_FALSE@ gst/gstcontroller \
@GST_DISABLE_REGISTRY_FALSE@ gst/gstelement \
@GST_DISABLE_REGISTRY_FALSE@ gst/gstelementfactory \
@GST_DISABLE_REGISTRY_FALSE@ gst/gstevent \
@@ -1225,7 +1501,7 @@ COVERAGE_OUT_FILES_REL = $(subst $(top_builddir)/,,$(COVERAGE_OUT_FILES))
all: all-am
.SUFFIXES:
-.SUFFIXES: .c .cc .lo .o .obj
+.SUFFIXES: .c .cc .lo .log .o .obj .test .test$(EXEEXT) .trs
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/common/check.mak $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -1278,264 +1554,358 @@ clean-noinstPROGRAMS:
elements/$(am__dirstamp):
@$(MKDIR_P) elements
@: > elements/$(am__dirstamp)
+
elements/capsfilter$(EXEEXT): $(elements_capsfilter_OBJECTS) $(elements_capsfilter_DEPENDENCIES) $(EXTRA_elements_capsfilter_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/capsfilter$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_capsfilter_OBJECTS) $(elements_capsfilter_LDADD) $(LIBS)
+
elements/fakesink$(EXEEXT): $(elements_fakesink_OBJECTS) $(elements_fakesink_DEPENDENCIES) $(EXTRA_elements_fakesink_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/fakesink$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_fakesink_OBJECTS) $(elements_fakesink_LDADD) $(LIBS)
+
elements/fakesrc$(EXEEXT): $(elements_fakesrc_OBJECTS) $(elements_fakesrc_DEPENDENCIES) $(EXTRA_elements_fakesrc_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/fakesrc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_fakesrc_OBJECTS) $(elements_fakesrc_LDADD) $(LIBS)
+
elements/fdsrc$(EXEEXT): $(elements_fdsrc_OBJECTS) $(elements_fdsrc_DEPENDENCIES) $(EXTRA_elements_fdsrc_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/fdsrc$(EXEEXT)
$(AM_V_CCLD)$(elements_fdsrc_LINK) $(elements_fdsrc_OBJECTS) $(elements_fdsrc_LDADD) $(LIBS)
+
elements/filesink$(EXEEXT): $(elements_filesink_OBJECTS) $(elements_filesink_DEPENDENCIES) $(EXTRA_elements_filesink_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/filesink$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_filesink_OBJECTS) $(elements_filesink_LDADD) $(LIBS)
+
elements/filesrc$(EXEEXT): $(elements_filesrc_OBJECTS) $(elements_filesrc_DEPENDENCIES) $(EXTRA_elements_filesrc_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/filesrc$(EXEEXT)
$(AM_V_CCLD)$(elements_filesrc_LINK) $(elements_filesrc_OBJECTS) $(elements_filesrc_LDADD) $(LIBS)
+
elements/funnel$(EXEEXT): $(elements_funnel_OBJECTS) $(elements_funnel_DEPENDENCIES) $(EXTRA_elements_funnel_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/funnel$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_funnel_OBJECTS) $(elements_funnel_LDADD) $(LIBS)
+
elements/identity$(EXEEXT): $(elements_identity_OBJECTS) $(elements_identity_DEPENDENCIES) $(EXTRA_elements_identity_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/identity$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_identity_OBJECTS) $(elements_identity_LDADD) $(LIBS)
+
elements/multiqueue$(EXEEXT): $(elements_multiqueue_OBJECTS) $(elements_multiqueue_DEPENDENCIES) $(EXTRA_elements_multiqueue_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/multiqueue$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_multiqueue_OBJECTS) $(elements_multiqueue_LDADD) $(LIBS)
+
elements/queue$(EXEEXT): $(elements_queue_OBJECTS) $(elements_queue_DEPENDENCIES) $(EXTRA_elements_queue_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/queue$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_queue_OBJECTS) $(elements_queue_LDADD) $(LIBS)
+
elements/queue2$(EXEEXT): $(elements_queue2_OBJECTS) $(elements_queue2_DEPENDENCIES) $(EXTRA_elements_queue2_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/queue2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_queue2_OBJECTS) $(elements_queue2_LDADD) $(LIBS)
+
elements/selector$(EXEEXT): $(elements_selector_OBJECTS) $(elements_selector_DEPENDENCIES) $(EXTRA_elements_selector_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/selector$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_selector_OBJECTS) $(elements_selector_LDADD) $(LIBS)
+
elements/tee$(EXEEXT): $(elements_tee_OBJECTS) $(elements_tee_DEPENDENCIES) $(EXTRA_elements_tee_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/tee$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_tee_OBJECTS) $(elements_tee_LDADD) $(LIBS)
+
elements/valve$(EXEEXT): $(elements_valve_OBJECTS) $(elements_valve_DEPENDENCIES) $(EXTRA_elements_valve_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/valve$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_valve_OBJECTS) $(elements_valve_LDADD) $(LIBS)
generic/$(am__dirstamp):
@$(MKDIR_P) generic
@: > generic/$(am__dirstamp)
+
generic/sinks$(EXEEXT): $(generic_sinks_OBJECTS) $(generic_sinks_DEPENDENCIES) $(EXTRA_generic_sinks_DEPENDENCIES) generic/$(am__dirstamp)
@rm -f generic/sinks$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(generic_sinks_OBJECTS) $(generic_sinks_LDADD) $(LIBS)
+
generic/states$(EXEEXT): $(generic_states_OBJECTS) $(generic_states_DEPENDENCIES) $(EXTRA_generic_states_DEPENDENCIES) generic/$(am__dirstamp)
@rm -f generic/states$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(generic_states_OBJECTS) $(generic_states_LDADD) $(LIBS)
gst/$(am__dirstamp):
@$(MKDIR_P) gst
@: > gst/$(am__dirstamp)
+
gst/gst$(EXEEXT): $(gst_gst_OBJECTS) $(gst_gst_DEPENDENCIES) $(EXTRA_gst_gst_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gst$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gst_OBJECTS) $(gst_gst_LDADD) $(LIBS)
+
gst/gstabi$(EXEEXT): $(gst_gstabi_OBJECTS) $(gst_gstabi_DEPENDENCIES) $(EXTRA_gst_gstabi_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstabi$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstabi_OBJECTS) $(gst_gstabi_LDADD) $(LIBS)
+
gst/gstatomicqueue$(EXEEXT): $(gst_gstatomicqueue_OBJECTS) $(gst_gstatomicqueue_DEPENDENCIES) $(EXTRA_gst_gstatomicqueue_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstatomicqueue$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstatomicqueue_OBJECTS) $(gst_gstatomicqueue_LDADD) $(LIBS)
+
gst/gstbin$(EXEEXT): $(gst_gstbin_OBJECTS) $(gst_gstbin_DEPENDENCIES) $(EXTRA_gst_gstbin_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstbin$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstbin_OBJECTS) $(gst_gstbin_LDADD) $(LIBS)
+
gst/gstbuffer$(EXEEXT): $(gst_gstbuffer_OBJECTS) $(gst_gstbuffer_DEPENDENCIES) $(EXTRA_gst_gstbuffer_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstbuffer$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstbuffer_OBJECTS) $(gst_gstbuffer_LDADD) $(LIBS)
+
gst/gstbufferlist$(EXEEXT): $(gst_gstbufferlist_OBJECTS) $(gst_gstbufferlist_DEPENDENCIES) $(EXTRA_gst_gstbufferlist_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstbufferlist$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstbufferlist_OBJECTS) $(gst_gstbufferlist_LDADD) $(LIBS)
+
gst/gstbus$(EXEEXT): $(gst_gstbus_OBJECTS) $(gst_gstbus_DEPENDENCIES) $(EXTRA_gst_gstbus_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstbus$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstbus_OBJECTS) $(gst_gstbus_LDADD) $(LIBS)
+
gst/gstcaps$(EXEEXT): $(gst_gstcaps_OBJECTS) $(gst_gstcaps_DEPENDENCIES) $(EXTRA_gst_gstcaps_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstcaps$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstcaps_OBJECTS) $(gst_gstcaps_LDADD) $(LIBS)
+
+gst/gstcapsfeatures$(EXEEXT): $(gst_gstcapsfeatures_OBJECTS) $(gst_gstcapsfeatures_DEPENDENCIES) $(EXTRA_gst_gstcapsfeatures_DEPENDENCIES) gst/$(am__dirstamp)
+ @rm -f gst/gstcapsfeatures$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(gst_gstcapsfeatures_OBJECTS) $(gst_gstcapsfeatures_LDADD) $(LIBS)
+
gst/gstchildproxy$(EXEEXT): $(gst_gstchildproxy_OBJECTS) $(gst_gstchildproxy_DEPENDENCIES) $(EXTRA_gst_gstchildproxy_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstchildproxy$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstchildproxy_OBJECTS) $(gst_gstchildproxy_LDADD) $(LIBS)
+
gst/gstclock$(EXEEXT): $(gst_gstclock_OBJECTS) $(gst_gstclock_DEPENDENCIES) $(EXTRA_gst_gstclock_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstclock$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstclock_OBJECTS) $(gst_gstclock_LDADD) $(LIBS)
+
+gst/gstcontext$(EXEEXT): $(gst_gstcontext_OBJECTS) $(gst_gstcontext_DEPENDENCIES) $(EXTRA_gst_gstcontext_DEPENDENCIES) gst/$(am__dirstamp)
+ @rm -f gst/gstcontext$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(gst_gstcontext_OBJECTS) $(gst_gstcontext_LDADD) $(LIBS)
+
gst/gstcontroller$(EXEEXT): $(gst_gstcontroller_OBJECTS) $(gst_gstcontroller_DEPENDENCIES) $(EXTRA_gst_gstcontroller_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstcontroller$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstcontroller_OBJECTS) $(gst_gstcontroller_LDADD) $(LIBS)
+
gst/gstcpp$(EXEEXT): $(gst_gstcpp_OBJECTS) $(gst_gstcpp_DEPENDENCIES) $(EXTRA_gst_gstcpp_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstcpp$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(gst_gstcpp_OBJECTS) $(gst_gstcpp_LDADD) $(LIBS)
+
gst/gstdatetime$(EXEEXT): $(gst_gstdatetime_OBJECTS) $(gst_gstdatetime_DEPENDENCIES) $(EXTRA_gst_gstdatetime_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstdatetime$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstdatetime_OBJECTS) $(gst_gstdatetime_LDADD) $(LIBS)
+
gst/gstelement$(EXEEXT): $(gst_gstelement_OBJECTS) $(gst_gstelement_DEPENDENCIES) $(EXTRA_gst_gstelement_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstelement$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstelement_OBJECTS) $(gst_gstelement_LDADD) $(LIBS)
+
gst/gstelementfactory$(EXEEXT): $(gst_gstelementfactory_OBJECTS) $(gst_gstelementfactory_DEPENDENCIES) $(EXTRA_gst_gstelementfactory_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstelementfactory$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstelementfactory_OBJECTS) $(gst_gstelementfactory_LDADD) $(LIBS)
+
gst/gstevent$(EXEEXT): $(gst_gstevent_OBJECTS) $(gst_gstevent_DEPENDENCIES) $(EXTRA_gst_gstevent_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstevent$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstevent_OBJECTS) $(gst_gstevent_LDADD) $(LIBS)
+
gst/gstghostpad$(EXEEXT): $(gst_gstghostpad_OBJECTS) $(gst_gstghostpad_DEPENDENCIES) $(EXTRA_gst_gstghostpad_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstghostpad$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstghostpad_OBJECTS) $(gst_gstghostpad_LDADD) $(LIBS)
+
gst/gstinfo$(EXEEXT): $(gst_gstinfo_OBJECTS) $(gst_gstinfo_DEPENDENCIES) $(EXTRA_gst_gstinfo_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstinfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstinfo_OBJECTS) $(gst_gstinfo_LDADD) $(LIBS)
+
gst/gstiterator$(EXEEXT): $(gst_gstiterator_OBJECTS) $(gst_gstiterator_DEPENDENCIES) $(EXTRA_gst_gstiterator_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstiterator$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstiterator_OBJECTS) $(gst_gstiterator_LDADD) $(LIBS)
+
gst/gstmemory$(EXEEXT): $(gst_gstmemory_OBJECTS) $(gst_gstmemory_DEPENDENCIES) $(EXTRA_gst_gstmemory_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstmemory$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstmemory_OBJECTS) $(gst_gstmemory_LDADD) $(LIBS)
+
gst/gstmessage$(EXEEXT): $(gst_gstmessage_OBJECTS) $(gst_gstmessage_DEPENDENCIES) $(EXTRA_gst_gstmessage_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstmessage$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstmessage_OBJECTS) $(gst_gstmessage_LDADD) $(LIBS)
+
gst/gstmeta$(EXEEXT): $(gst_gstmeta_OBJECTS) $(gst_gstmeta_DEPENDENCIES) $(EXTRA_gst_gstmeta_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstmeta$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstmeta_OBJECTS) $(gst_gstmeta_LDADD) $(LIBS)
+
gst/gstminiobject$(EXEEXT): $(gst_gstminiobject_OBJECTS) $(gst_gstminiobject_DEPENDENCIES) $(EXTRA_gst_gstminiobject_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstminiobject$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstminiobject_OBJECTS) $(gst_gstminiobject_LDADD) $(LIBS)
+
gst/gstobject$(EXEEXT): $(gst_gstobject_OBJECTS) $(gst_gstobject_DEPENDENCIES) $(EXTRA_gst_gstobject_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstobject$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstobject_OBJECTS) $(gst_gstobject_LDADD) $(LIBS)
+
gst/gstpad$(EXEEXT): $(gst_gstpad_OBJECTS) $(gst_gstpad_DEPENDENCIES) $(EXTRA_gst_gstpad_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstpad$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstpad_OBJECTS) $(gst_gstpad_LDADD) $(LIBS)
+
gst/gstparamspecs$(EXEEXT): $(gst_gstparamspecs_OBJECTS) $(gst_gstparamspecs_DEPENDENCIES) $(EXTRA_gst_gstparamspecs_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstparamspecs$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstparamspecs_OBJECTS) $(gst_gstparamspecs_LDADD) $(LIBS)
+
gst/gstpipeline$(EXEEXT): $(gst_gstpipeline_OBJECTS) $(gst_gstpipeline_DEPENDENCIES) $(EXTRA_gst_gstpipeline_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstpipeline$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstpipeline_OBJECTS) $(gst_gstpipeline_LDADD) $(LIBS)
+
gst/gstplugin$(EXEEXT): $(gst_gstplugin_OBJECTS) $(gst_gstplugin_DEPENDENCIES) $(EXTRA_gst_gstplugin_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstplugin$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstplugin_OBJECTS) $(gst_gstplugin_LDADD) $(LIBS)
+
gst/gstpoll$(EXEEXT): $(gst_gstpoll_OBJECTS) $(gst_gstpoll_DEPENDENCIES) $(EXTRA_gst_gstpoll_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstpoll$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstpoll_OBJECTS) $(gst_gstpoll_LDADD) $(LIBS)
+
gst/gstpreset$(EXEEXT): $(gst_gstpreset_OBJECTS) $(gst_gstpreset_DEPENDENCIES) $(EXTRA_gst_gstpreset_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstpreset$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstpreset_OBJECTS) $(gst_gstpreset_LDADD) $(LIBS)
+
gst/gstquery$(EXEEXT): $(gst_gstquery_OBJECTS) $(gst_gstquery_DEPENDENCIES) $(EXTRA_gst_gstquery_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstquery$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstquery_OBJECTS) $(gst_gstquery_LDADD) $(LIBS)
+
gst/gstregistry$(EXEEXT): $(gst_gstregistry_OBJECTS) $(gst_gstregistry_DEPENDENCIES) $(EXTRA_gst_gstregistry_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstregistry$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstregistry_OBJECTS) $(gst_gstregistry_LDADD) $(LIBS)
+
gst/gstsegment$(EXEEXT): $(gst_gstsegment_OBJECTS) $(gst_gstsegment_DEPENDENCIES) $(EXTRA_gst_gstsegment_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstsegment$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstsegment_OBJECTS) $(gst_gstsegment_LDADD) $(LIBS)
+
gst/gststructure$(EXEEXT): $(gst_gststructure_OBJECTS) $(gst_gststructure_DEPENDENCIES) $(EXTRA_gst_gststructure_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gststructure$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gststructure_OBJECTS) $(gst_gststructure_LDADD) $(LIBS)
+
gst/gstsystemclock$(EXEEXT): $(gst_gstsystemclock_OBJECTS) $(gst_gstsystemclock_DEPENDENCIES) $(EXTRA_gst_gstsystemclock_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstsystemclock$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstsystemclock_OBJECTS) $(gst_gstsystemclock_LDADD) $(LIBS)
+
gst/gsttag$(EXEEXT): $(gst_gsttag_OBJECTS) $(gst_gsttag_DEPENDENCIES) $(EXTRA_gst_gsttag_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gsttag$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gsttag_OBJECTS) $(gst_gsttag_LDADD) $(LIBS)
+
gst/gsttagsetter$(EXEEXT): $(gst_gsttagsetter_OBJECTS) $(gst_gsttagsetter_DEPENDENCIES) $(EXTRA_gst_gsttagsetter_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gsttagsetter$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gsttagsetter_OBJECTS) $(gst_gsttagsetter_LDADD) $(LIBS)
+
gst/gsttask$(EXEEXT): $(gst_gsttask_OBJECTS) $(gst_gsttask_DEPENDENCIES) $(EXTRA_gst_gsttask_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gsttask$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gsttask_OBJECTS) $(gst_gsttask_LDADD) $(LIBS)
+
gst/gsttoc$(EXEEXT): $(gst_gsttoc_OBJECTS) $(gst_gsttoc_DEPENDENCIES) $(EXTRA_gst_gsttoc_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gsttoc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gsttoc_OBJECTS) $(gst_gsttoc_LDADD) $(LIBS)
+
gst/gsttocsetter$(EXEEXT): $(gst_gsttocsetter_OBJECTS) $(gst_gsttocsetter_DEPENDENCIES) $(EXTRA_gst_gsttocsetter_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gsttocsetter$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gsttocsetter_OBJECTS) $(gst_gsttocsetter_LDADD) $(LIBS)
+
gst/gsturi$(EXEEXT): $(gst_gsturi_OBJECTS) $(gst_gsturi_DEPENDENCIES) $(EXTRA_gst_gsturi_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gsturi$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gsturi_OBJECTS) $(gst_gsturi_LDADD) $(LIBS)
+
gst/gstutils$(EXEEXT): $(gst_gstutils_OBJECTS) $(gst_gstutils_DEPENDENCIES) $(EXTRA_gst_gstutils_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstutils$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstutils_OBJECTS) $(gst_gstutils_LDADD) $(LIBS)
+
gst/gstvalue$(EXEEXT): $(gst_gstvalue_OBJECTS) $(gst_gstvalue_DEPENDENCIES) $(EXTRA_gst_gstvalue_DEPENDENCIES) gst/$(am__dirstamp)
@rm -f gst/gstvalue$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gst_gstvalue_OBJECTS) $(gst_gstvalue_LDADD) $(LIBS)
libs/$(am__dirstamp):
@$(MKDIR_P) libs
@: > libs/$(am__dirstamp)
+
libs/adapter$(EXEEXT): $(libs_adapter_OBJECTS) $(libs_adapter_DEPENDENCIES) $(EXTRA_libs_adapter_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/adapter$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_adapter_OBJECTS) $(libs_adapter_LDADD) $(LIBS)
+
libs/basesink$(EXEEXT): $(libs_basesink_OBJECTS) $(libs_basesink_DEPENDENCIES) $(EXTRA_libs_basesink_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/basesink$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_basesink_OBJECTS) $(libs_basesink_LDADD) $(LIBS)
+
libs/basesrc$(EXEEXT): $(libs_basesrc_OBJECTS) $(libs_basesrc_DEPENDENCIES) $(EXTRA_libs_basesrc_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/basesrc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_basesrc_OBJECTS) $(libs_basesrc_LDADD) $(LIBS)
+
libs/bitreader$(EXEEXT): $(libs_bitreader_OBJECTS) $(libs_bitreader_DEPENDENCIES) $(EXTRA_libs_bitreader_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/bitreader$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_bitreader_OBJECTS) $(libs_bitreader_LDADD) $(LIBS)
+
libs/bytereader$(EXEEXT): $(libs_bytereader_OBJECTS) $(libs_bytereader_DEPENDENCIES) $(EXTRA_libs_bytereader_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/bytereader$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_bytereader_OBJECTS) $(libs_bytereader_LDADD) $(LIBS)
+
libs/bytewriter$(EXEEXT): $(libs_bytewriter_OBJECTS) $(libs_bytewriter_DEPENDENCIES) $(EXTRA_libs_bytewriter_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/bytewriter$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_bytewriter_OBJECTS) $(libs_bytewriter_LDADD) $(LIBS)
+
libs/collectpads$(EXEEXT): $(libs_collectpads_OBJECTS) $(libs_collectpads_DEPENDENCIES) $(EXTRA_libs_collectpads_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/collectpads$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_collectpads_OBJECTS) $(libs_collectpads_LDADD) $(LIBS)
+
libs/controller$(EXEEXT): $(libs_controller_OBJECTS) $(libs_controller_DEPENDENCIES) $(EXTRA_libs_controller_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/controller$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_controller_OBJECTS) $(libs_controller_LDADD) $(LIBS)
+
libs/gstlibscpp$(EXEEXT): $(libs_gstlibscpp_OBJECTS) $(libs_gstlibscpp_DEPENDENCIES) $(EXTRA_libs_gstlibscpp_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/gstlibscpp$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(libs_gstlibscpp_OBJECTS) $(libs_gstlibscpp_LDADD) $(LIBS)
+
libs/gstnetclientclock$(EXEEXT): $(libs_gstnetclientclock_OBJECTS) $(libs_gstnetclientclock_DEPENDENCIES) $(EXTRA_libs_gstnetclientclock_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/gstnetclientclock$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_gstnetclientclock_OBJECTS) $(libs_gstnetclientclock_LDADD) $(LIBS)
+
libs/gstnettimeprovider$(EXEEXT): $(libs_gstnettimeprovider_OBJECTS) $(libs_gstnettimeprovider_DEPENDENCIES) $(EXTRA_libs_gstnettimeprovider_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/gstnettimeprovider$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_gstnettimeprovider_OBJECTS) $(libs_gstnettimeprovider_LDADD) $(LIBS)
+
+libs/gsttestclock$(EXEEXT): $(libs_gsttestclock_OBJECTS) $(libs_gsttestclock_DEPENDENCIES) $(EXTRA_libs_gsttestclock_DEPENDENCIES) libs/$(am__dirstamp)
+ @rm -f libs/gsttestclock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(libs_gsttestclock_OBJECTS) $(libs_gsttestclock_LDADD) $(LIBS)
+
libs/libsabi$(EXEEXT): $(libs_libsabi_OBJECTS) $(libs_libsabi_DEPENDENCIES) $(EXTRA_libs_libsabi_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/libsabi$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_libsabi_OBJECTS) $(libs_libsabi_LDADD) $(LIBS)
+
libs/queuearray$(EXEEXT): $(libs_queuearray_OBJECTS) $(libs_queuearray_DEPENDENCIES) $(EXTRA_libs_queuearray_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/queuearray$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_queuearray_OBJECTS) $(libs_queuearray_LDADD) $(LIBS)
+
libs/transform1$(EXEEXT): $(libs_transform1_OBJECTS) $(libs_transform1_DEPENDENCIES) $(EXTRA_libs_transform1_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/transform1$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_transform1_OBJECTS) $(libs_transform1_LDADD) $(LIBS)
+
libs/typefindhelper$(EXEEXT): $(libs_typefindhelper_OBJECTS) $(libs_typefindhelper_DEPENDENCIES) $(EXTRA_libs_typefindhelper_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/typefindhelper$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(libs_typefindhelper_OBJECTS) $(libs_typefindhelper_LDADD) $(LIBS)
pipelines/$(am__dirstamp):
@$(MKDIR_P) pipelines
@: > pipelines/$(am__dirstamp)
+
pipelines/cleanup$(EXEEXT): $(pipelines_cleanup_OBJECTS) $(pipelines_cleanup_DEPENDENCIES) $(EXTRA_pipelines_cleanup_DEPENDENCIES) pipelines/$(am__dirstamp)
@rm -f pipelines/cleanup$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(pipelines_cleanup_OBJECTS) $(pipelines_cleanup_LDADD) $(LIBS)
+
pipelines/parse-disabled$(EXEEXT): $(pipelines_parse_disabled_OBJECTS) $(pipelines_parse_disabled_DEPENDENCIES) $(EXTRA_pipelines_parse_disabled_DEPENDENCIES) pipelines/$(am__dirstamp)
@rm -f pipelines/parse-disabled$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(pipelines_parse_disabled_OBJECTS) $(pipelines_parse_disabled_LDADD) $(LIBS)
+
pipelines/parse-launch$(EXEEXT): $(pipelines_parse_launch_OBJECTS) $(pipelines_parse_launch_DEPENDENCIES) $(EXTRA_pipelines_parse_launch_DEPENDENCIES) pipelines/$(am__dirstamp)
@rm -f pipelines/parse-launch$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(pipelines_parse_launch_OBJECTS) $(pipelines_parse_launch_LDADD) $(LIBS)
+
pipelines/queue-error$(EXEEXT): $(pipelines_queue_error_OBJECTS) $(pipelines_queue_error_DEPENDENCIES) $(EXTRA_pipelines_queue_error_DEPENDENCIES) pipelines/$(am__dirstamp)
@rm -f pipelines/queue-error$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(pipelines_queue_error_OBJECTS) $(pipelines_queue_error_LDADD) $(LIBS)
+
pipelines/seek$(EXEEXT): $(pipelines_seek_OBJECTS) $(pipelines_seek_DEPENDENCIES) $(EXTRA_pipelines_seek_DEPENDENCIES) pipelines/$(am__dirstamp)
@rm -f pipelines/seek$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(pipelines_seek_OBJECTS) $(pipelines_seek_LDADD) $(LIBS)
+
pipelines/simple-launch-lines$(EXEEXT): $(pipelines_simple_launch_lines_OBJECTS) $(pipelines_simple_launch_lines_DEPENDENCIES) $(EXTRA_pipelines_simple_launch_lines_DEPENDENCIES) pipelines/$(am__dirstamp)
@rm -f pipelines/simple-launch-lines$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(pipelines_simple_launch_lines_OBJECTS) $(pipelines_simple_launch_lines_LDADD) $(LIBS)
+
pipelines/stress$(EXEEXT): $(pipelines_stress_OBJECTS) $(pipelines_stress_DEPENDENCIES) $(EXTRA_pipelines_stress_DEPENDENCIES) pipelines/$(am__dirstamp)
@rm -f pipelines/stress$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(pipelines_stress_OBJECTS) $(pipelines_stress_LDADD) $(LIBS)
tools/$(am__dirstamp):
@$(MKDIR_P) tools
@: > tools/$(am__dirstamp)
+
tools/gstinspect$(EXEEXT): $(tools_gstinspect_OBJECTS) $(tools_gstinspect_DEPENDENCIES) $(EXTRA_tools_gstinspect_DEPENDENCIES) tools/$(am__dirstamp)
@rm -f tools/gstinspect$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(tools_gstinspect_OBJECTS) $(tools_gstinspect_LDADD) $(LIBS)
@@ -1570,8 +1940,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstbufferlist.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstbus.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstcaps.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstcapsfeatures.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstchildproxy.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstclock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstcontext.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstcontroller.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstcpp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstdatetime.Po@am__quote@
@@ -1604,6 +1976,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsttag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsttagsetter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsttask.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsttestclock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsttoc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsttocsetter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsturi.Po@am__quote@
@@ -1986,6 +2359,20 @@ gstcaps.obj: gst/gstcaps.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstcaps.obj `if test -f 'gst/gstcaps.c'; then $(CYGPATH_W) 'gst/gstcaps.c'; else $(CYGPATH_W) '$(srcdir)/gst/gstcaps.c'; fi`
+gstcapsfeatures.o: gst/gstcapsfeatures.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstcapsfeatures.o -MD -MP -MF $(DEPDIR)/gstcapsfeatures.Tpo -c -o gstcapsfeatures.o `test -f 'gst/gstcapsfeatures.c' || echo '$(srcdir)/'`gst/gstcapsfeatures.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gstcapsfeatures.Tpo $(DEPDIR)/gstcapsfeatures.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gst/gstcapsfeatures.c' object='gstcapsfeatures.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstcapsfeatures.o `test -f 'gst/gstcapsfeatures.c' || echo '$(srcdir)/'`gst/gstcapsfeatures.c
+
+gstcapsfeatures.obj: gst/gstcapsfeatures.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstcapsfeatures.obj -MD -MP -MF $(DEPDIR)/gstcapsfeatures.Tpo -c -o gstcapsfeatures.obj `if test -f 'gst/gstcapsfeatures.c'; then $(CYGPATH_W) 'gst/gstcapsfeatures.c'; else $(CYGPATH_W) '$(srcdir)/gst/gstcapsfeatures.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gstcapsfeatures.Tpo $(DEPDIR)/gstcapsfeatures.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gst/gstcapsfeatures.c' object='gstcapsfeatures.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstcapsfeatures.obj `if test -f 'gst/gstcapsfeatures.c'; then $(CYGPATH_W) 'gst/gstcapsfeatures.c'; else $(CYGPATH_W) '$(srcdir)/gst/gstcapsfeatures.c'; fi`
+
gstchildproxy.o: gst/gstchildproxy.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstchildproxy.o -MD -MP -MF $(DEPDIR)/gstchildproxy.Tpo -c -o gstchildproxy.o `test -f 'gst/gstchildproxy.c' || echo '$(srcdir)/'`gst/gstchildproxy.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gstchildproxy.Tpo $(DEPDIR)/gstchildproxy.Po
@@ -2014,6 +2401,20 @@ gstclock.obj: gst/gstclock.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstclock.obj `if test -f 'gst/gstclock.c'; then $(CYGPATH_W) 'gst/gstclock.c'; else $(CYGPATH_W) '$(srcdir)/gst/gstclock.c'; fi`
+gstcontext.o: gst/gstcontext.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstcontext.o -MD -MP -MF $(DEPDIR)/gstcontext.Tpo -c -o gstcontext.o `test -f 'gst/gstcontext.c' || echo '$(srcdir)/'`gst/gstcontext.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gstcontext.Tpo $(DEPDIR)/gstcontext.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gst/gstcontext.c' object='gstcontext.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstcontext.o `test -f 'gst/gstcontext.c' || echo '$(srcdir)/'`gst/gstcontext.c
+
+gstcontext.obj: gst/gstcontext.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstcontext.obj -MD -MP -MF $(DEPDIR)/gstcontext.Tpo -c -o gstcontext.obj `if test -f 'gst/gstcontext.c'; then $(CYGPATH_W) 'gst/gstcontext.c'; else $(CYGPATH_W) '$(srcdir)/gst/gstcontext.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gstcontext.Tpo $(DEPDIR)/gstcontext.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gst/gstcontext.c' object='gstcontext.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstcontext.obj `if test -f 'gst/gstcontext.c'; then $(CYGPATH_W) 'gst/gstcontext.c'; else $(CYGPATH_W) '$(srcdir)/gst/gstcontext.c'; fi`
+
gstcontroller.o: gst/gstcontroller.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gstcontroller.o -MD -MP -MF $(DEPDIR)/gstcontroller.Tpo -c -o gstcontroller.o `test -f 'gst/gstcontroller.c' || echo '$(srcdir)/'`gst/gstcontroller.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gstcontroller.Tpo $(DEPDIR)/gstcontroller.Po
@@ -2602,6 +3003,20 @@ gstnettimeprovider.obj: libs/gstnettimeprovider.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gstnettimeprovider.obj `if test -f 'libs/gstnettimeprovider.c'; then $(CYGPATH_W) 'libs/gstnettimeprovider.c'; else $(CYGPATH_W) '$(srcdir)/libs/gstnettimeprovider.c'; fi`
+gsttestclock.o: libs/gsttestclock.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gsttestclock.o -MD -MP -MF $(DEPDIR)/gsttestclock.Tpo -c -o gsttestclock.o `test -f 'libs/gsttestclock.c' || echo '$(srcdir)/'`libs/gsttestclock.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsttestclock.Tpo $(DEPDIR)/gsttestclock.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libs/gsttestclock.c' object='gsttestclock.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gsttestclock.o `test -f 'libs/gsttestclock.c' || echo '$(srcdir)/'`libs/gsttestclock.c
+
+gsttestclock.obj: libs/gsttestclock.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gsttestclock.obj -MD -MP -MF $(DEPDIR)/gsttestclock.Tpo -c -o gsttestclock.obj `if test -f 'libs/gsttestclock.c'; then $(CYGPATH_W) 'libs/gsttestclock.c'; else $(CYGPATH_W) '$(srcdir)/libs/gsttestclock.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsttestclock.Tpo $(DEPDIR)/gsttestclock.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libs/gsttestclock.c' object='gsttestclock.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gsttestclock.obj `if test -f 'libs/gsttestclock.c'; then $(CYGPATH_W) 'libs/gsttestclock.c'; else $(CYGPATH_W) '$(srcdir)/libs/gsttestclock.c'; fi`
+
libsabi.o: libs/libsabi.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsabi.o -MD -MP -MF $(DEPDIR)/libsabi.Tpo -c -o libsabi.o `test -f 'libs/libsabi.c' || echo '$(srcdir)/'`libs/libsabi.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsabi.Tpo $(DEPDIR)/libsabi.Po
@@ -2831,26 +3246,15 @@ clean-libtool:
-rm -rf pipelines/.libs pipelines/_libs
-rm -rf tools/.libs tools/_libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -2862,15 +3266,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -2879,102 +3279,775 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
- list=' $(TESTS) '; \
- $(am__tty_colors); \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$tst[\ \ ]*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- col=$$red; res=XPASS; \
- ;; \
- *) \
- col=$$grn; res=PASS; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$tst[\ \ ]*) \
- xfail=`expr $$xfail + 1`; \
- col=$$lgn; res=XFAIL; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- col=$$red; res=FAIL; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- col=$$blu; res=SKIP; \
- fi; \
- echo "$${col}$$res$${std}: $$tst"; \
- done; \
- if test "$$all" -eq 1; then \
- tests="test"; \
- All=""; \
- else \
- tests="tests"; \
- All="All "; \
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+ rm -f $< $@
+ $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+ @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+ @$(am__set_TESTS_bases); \
+ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+ redo_bases=`for i in $$bases; do \
+ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+ done`; \
+ if test -n "$$redo_bases"; then \
+ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+ if $(am__make_dryrun); then :; else \
+ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
fi; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="$$All$$all $$tests passed"; \
- else \
- if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
- banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all $$tests failed"; \
+ fi; \
+ if test -n "$$am__remaking_logs"; then \
+ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+ "recursion detected" >&2; \
+ else \
+ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+ fi; \
+ if $(am__make_dryrun); then :; else \
+ st=0; \
+ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+ for i in $$redo_bases; do \
+ test -f $$i.trs && test -r $$i.trs \
+ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+ test -f $$i.log && test -r $$i.log \
+ || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+ done; \
+ test $$st -eq 0 || exit 1; \
+ fi
+ @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+ ws='[ ]'; \
+ results=`for b in $$bases; do echo $$b.trs; done`; \
+ test -n "$$results" || results=/dev/null; \
+ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
+ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
+ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
+ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
+ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+ if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+ success=true; \
+ else \
+ success=false; \
+ fi; \
+ br='==================='; br=$$br$$br$$br$$br; \
+ result_count () \
+ { \
+ if test x"$$1" = x"--maybe-color"; then \
+ maybe_colorize=yes; \
+ elif test x"$$1" = x"--no-color"; then \
+ maybe_colorize=no; \
else \
- if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
- banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ echo "$@: invalid 'result_count' usage" >&2; exit 4; \
fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- if test "$$skip" -eq 1; then \
- skipped="($$skip test was not run)"; \
+ shift; \
+ desc=$$1 count=$$2; \
+ if test $$maybe_colorize = yes && test $$count -gt 0; then \
+ color_start=$$3 color_end=$$std; \
else \
- skipped="($$skip tests were not run)"; \
+ color_start= color_end=; \
fi; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- if test "$$failed" -eq 0; then \
- col="$$grn"; \
- else \
- col="$$red"; \
- fi; \
- echo "$${col}$$dashes$${std}"; \
- echo "$${col}$$banner$${std}"; \
- test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
- test -z "$$report" || echo "$${col}$$report$${std}"; \
- echo "$${col}$$dashes$${std}"; \
- test "$$failed" -eq 0; \
- else :; fi
+ echo "$${color_start}# $$desc $$count$${color_end}"; \
+ }; \
+ create_testsuite_report () \
+ { \
+ result_count $$1 "TOTAL:" $$all "$$brg"; \
+ result_count $$1 "PASS: " $$pass "$$grn"; \
+ result_count $$1 "SKIP: " $$skip "$$blu"; \
+ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+ result_count $$1 "FAIL: " $$fail "$$red"; \
+ result_count $$1 "XPASS:" $$xpass "$$red"; \
+ result_count $$1 "ERROR:" $$error "$$mgn"; \
+ }; \
+ { \
+ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
+ $(am__rst_title); \
+ create_testsuite_report --no-color; \
+ echo; \
+ echo ".. contents:: :depth: 2"; \
+ echo; \
+ for b in $$bases; do echo $$b; done \
+ | $(am__create_global_log); \
+ } >$(TEST_SUITE_LOG).tmp || exit 1; \
+ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
+ if $$success; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
+ fi; \
+ echo "$${col}$$br$${std}"; \
+ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
+ echo "$${col}$$br$${std}"; \
+ create_testsuite_report --maybe-color; \
+ echo "$$col$$br$$std"; \
+ if $$success; then :; else \
+ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
+ if test -n "$(PACKAGE_BUGREPORT)"; then \
+ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+ fi; \
+ echo "$$col$$br$$std"; \
+ fi; \
+ $$success || exit 1
+
+check-TESTS:
+ @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+ @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+ exit $$?;
+recheck: all $(check_PROGRAMS)
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ bases=`for i in $$bases; do echo $$i; done \
+ | $(am__list_recheck_tests)` || exit 1; \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ log_list=`echo $$log_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+ am__force_recheck=am--force-recheck \
+ TEST_LOGS="$$log_list"; \
+ exit $$?
+gst/gstabi.log: gst/gstabi$(EXEEXT)
+ @p='gst/gstabi$(EXEEXT)'; \
+ b='gst/gstabi'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstatomicqueue.log: gst/gstatomicqueue$(EXEEXT)
+ @p='gst/gstatomicqueue$(EXEEXT)'; \
+ b='gst/gstatomicqueue'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstbuffer.log: gst/gstbuffer$(EXEEXT)
+ @p='gst/gstbuffer$(EXEEXT)'; \
+ b='gst/gstbuffer'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstbufferlist.log: gst/gstbufferlist$(EXEEXT)
+ @p='gst/gstbufferlist$(EXEEXT)'; \
+ b='gst/gstbufferlist'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstmeta.log: gst/gstmeta$(EXEEXT)
+ @p='gst/gstmeta$(EXEEXT)'; \
+ b='gst/gstmeta'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstmemory.log: gst/gstmemory$(EXEEXT)
+ @p='gst/gstmemory$(EXEEXT)'; \
+ b='gst/gstmemory'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstbus.log: gst/gstbus$(EXEEXT)
+ @p='gst/gstbus$(EXEEXT)'; \
+ b='gst/gstbus'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstcaps.log: gst/gstcaps$(EXEEXT)
+ @p='gst/gstcaps$(EXEEXT)'; \
+ b='gst/gstcaps'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstcapsfeatures.log: gst/gstcapsfeatures$(EXEEXT)
+ @p='gst/gstcapsfeatures$(EXEEXT)'; \
+ b='gst/gstcapsfeatures'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstcpp.log: gst/gstcpp$(EXEEXT)
+ @p='gst/gstcpp$(EXEEXT)'; \
+ b='gst/gstcpp'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/gstlibscpp.log: libs/gstlibscpp$(EXEEXT)
+ @p='libs/gstlibscpp$(EXEEXT)'; \
+ b='libs/gstlibscpp'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstdatetime.log: gst/gstdatetime$(EXEEXT)
+ @p='gst/gstdatetime$(EXEEXT)'; \
+ b='gst/gstdatetime'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstinfo.log: gst/gstinfo$(EXEEXT)
+ @p='gst/gstinfo$(EXEEXT)'; \
+ b='gst/gstinfo'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstiterator.log: gst/gstiterator$(EXEEXT)
+ @p='gst/gstiterator$(EXEEXT)'; \
+ b='gst/gstiterator'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstmessage.log: gst/gstmessage$(EXEEXT)
+ @p='gst/gstmessage$(EXEEXT)'; \
+ b='gst/gstmessage'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstminiobject.log: gst/gstminiobject$(EXEEXT)
+ @p='gst/gstminiobject$(EXEEXT)'; \
+ b='gst/gstminiobject'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstobject.log: gst/gstobject$(EXEEXT)
+ @p='gst/gstobject$(EXEEXT)'; \
+ b='gst/gstobject'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstpad.log: gst/gstpad$(EXEEXT)
+ @p='gst/gstpad$(EXEEXT)'; \
+ b='gst/gstpad'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstparamspecs.log: gst/gstparamspecs$(EXEEXT)
+ @p='gst/gstparamspecs$(EXEEXT)'; \
+ b='gst/gstparamspecs'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstpipeline.log: gst/gstpipeline$(EXEEXT)
+ @p='gst/gstpipeline$(EXEEXT)'; \
+ b='gst/gstpipeline'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstpoll.log: gst/gstpoll$(EXEEXT)
+ @p='gst/gstpoll$(EXEEXT)'; \
+ b='gst/gstpoll'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstsegment.log: gst/gstsegment$(EXEEXT)
+ @p='gst/gstsegment$(EXEEXT)'; \
+ b='gst/gstsegment'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstsystemclock.log: gst/gstsystemclock$(EXEEXT)
+ @p='gst/gstsystemclock$(EXEEXT)'; \
+ b='gst/gstsystemclock'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstclock.log: gst/gstclock$(EXEEXT)
+ @p='gst/gstclock$(EXEEXT)'; \
+ b='gst/gstclock'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gststructure.log: gst/gststructure$(EXEEXT)
+ @p='gst/gststructure$(EXEEXT)'; \
+ b='gst/gststructure'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gsttag.log: gst/gsttag$(EXEEXT)
+ @p='gst/gsttag$(EXEEXT)'; \
+ b='gst/gsttag'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gsttagsetter.log: gst/gsttagsetter$(EXEEXT)
+ @p='gst/gsttagsetter$(EXEEXT)'; \
+ b='gst/gsttagsetter'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gsttask.log: gst/gsttask$(EXEEXT)
+ @p='gst/gsttask$(EXEEXT)'; \
+ b='gst/gsttask'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gsttoc.log: gst/gsttoc$(EXEEXT)
+ @p='gst/gsttoc$(EXEEXT)'; \
+ b='gst/gsttoc'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gsttocsetter.log: gst/gsttocsetter$(EXEEXT)
+ @p='gst/gsttocsetter$(EXEEXT)'; \
+ b='gst/gsttocsetter'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstvalue.log: gst/gstvalue$(EXEEXT)
+ @p='gst/gstvalue$(EXEEXT)'; \
+ b='gst/gstvalue'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+generic/states.log: generic/states$(EXEEXT)
+ @p='generic/states$(EXEEXT)'; \
+ b='generic/states'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+pipelines/simple-launch-lines.log: pipelines/simple-launch-lines$(EXEEXT)
+ @p='pipelines/simple-launch-lines$(EXEEXT)'; \
+ b='pipelines/simple-launch-lines'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+pipelines/cleanup.log: pipelines/cleanup$(EXEEXT)
+ @p='pipelines/cleanup$(EXEEXT)'; \
+ b='pipelines/cleanup'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+pipelines/parse-launch.log: pipelines/parse-launch$(EXEEXT)
+ @p='pipelines/parse-launch$(EXEEXT)'; \
+ b='pipelines/parse-launch'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+pipelines/parse-disabled.log: pipelines/parse-disabled$(EXEEXT)
+ @p='pipelines/parse-disabled$(EXEEXT)'; \
+ b='pipelines/parse-disabled'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gst.log: gst/gst$(EXEEXT)
+ @p='gst/gst$(EXEEXT)'; \
+ b='gst/gst'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstbin.log: gst/gstbin$(EXEEXT)
+ @p='gst/gstbin$(EXEEXT)'; \
+ b='gst/gstbin'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstchildproxy.log: gst/gstchildproxy$(EXEEXT)
+ @p='gst/gstchildproxy$(EXEEXT)'; \
+ b='gst/gstchildproxy'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstcontext.log: gst/gstcontext$(EXEEXT)
+ @p='gst/gstcontext$(EXEEXT)'; \
+ b='gst/gstcontext'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstcontroller.log: gst/gstcontroller$(EXEEXT)
+ @p='gst/gstcontroller$(EXEEXT)'; \
+ b='gst/gstcontroller'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstelement.log: gst/gstelement$(EXEEXT)
+ @p='gst/gstelement$(EXEEXT)'; \
+ b='gst/gstelement'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstelementfactory.log: gst/gstelementfactory$(EXEEXT)
+ @p='gst/gstelementfactory$(EXEEXT)'; \
+ b='gst/gstelementfactory'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstevent.log: gst/gstevent$(EXEEXT)
+ @p='gst/gstevent$(EXEEXT)'; \
+ b='gst/gstevent'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstghostpad.log: gst/gstghostpad$(EXEEXT)
+ @p='gst/gstghostpad$(EXEEXT)'; \
+ b='gst/gstghostpad'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstplugin.log: gst/gstplugin$(EXEEXT)
+ @p='gst/gstplugin$(EXEEXT)'; \
+ b='gst/gstplugin'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstpreset.log: gst/gstpreset$(EXEEXT)
+ @p='gst/gstpreset$(EXEEXT)'; \
+ b='gst/gstpreset'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstquery.log: gst/gstquery$(EXEEXT)
+ @p='gst/gstquery$(EXEEXT)'; \
+ b='gst/gstquery'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstregistry.log: gst/gstregistry$(EXEEXT)
+ @p='gst/gstregistry$(EXEEXT)'; \
+ b='gst/gstregistry'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gsturi.log: gst/gsturi$(EXEEXT)
+ @p='gst/gsturi$(EXEEXT)'; \
+ b='gst/gsturi'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+gst/gstutils.log: gst/gstutils$(EXEEXT)
+ @p='gst/gstutils$(EXEEXT)'; \
+ b='gst/gstutils'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+generic/sinks.log: generic/sinks$(EXEEXT)
+ @p='generic/sinks$(EXEEXT)'; \
+ b='generic/sinks'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/capsfilter.log: elements/capsfilter$(EXEEXT)
+ @p='elements/capsfilter$(EXEEXT)'; \
+ b='elements/capsfilter'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/fakesink.log: elements/fakesink$(EXEEXT)
+ @p='elements/fakesink$(EXEEXT)'; \
+ b='elements/fakesink'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/fakesrc.log: elements/fakesrc$(EXEEXT)
+ @p='elements/fakesrc$(EXEEXT)'; \
+ b='elements/fakesrc'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/fdsrc.log: elements/fdsrc$(EXEEXT)
+ @p='elements/fdsrc$(EXEEXT)'; \
+ b='elements/fdsrc'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/filesink.log: elements/filesink$(EXEEXT)
+ @p='elements/filesink$(EXEEXT)'; \
+ b='elements/filesink'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/filesrc.log: elements/filesrc$(EXEEXT)
+ @p='elements/filesrc$(EXEEXT)'; \
+ b='elements/filesrc'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/funnel.log: elements/funnel$(EXEEXT)
+ @p='elements/funnel$(EXEEXT)'; \
+ b='elements/funnel'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/identity.log: elements/identity$(EXEEXT)
+ @p='elements/identity$(EXEEXT)'; \
+ b='elements/identity'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/multiqueue.log: elements/multiqueue$(EXEEXT)
+ @p='elements/multiqueue$(EXEEXT)'; \
+ b='elements/multiqueue'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/selector.log: elements/selector$(EXEEXT)
+ @p='elements/selector$(EXEEXT)'; \
+ b='elements/selector'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/tee.log: elements/tee$(EXEEXT)
+ @p='elements/tee$(EXEEXT)'; \
+ b='elements/tee'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/queue.log: elements/queue$(EXEEXT)
+ @p='elements/queue$(EXEEXT)'; \
+ b='elements/queue'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/queue2.log: elements/queue2$(EXEEXT)
+ @p='elements/queue2$(EXEEXT)'; \
+ b='elements/queue2'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/valve.log: elements/valve$(EXEEXT)
+ @p='elements/valve$(EXEEXT)'; \
+ b='elements/valve'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/basesrc.log: libs/basesrc$(EXEEXT)
+ @p='libs/basesrc$(EXEEXT)'; \
+ b='libs/basesrc'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/basesink.log: libs/basesink$(EXEEXT)
+ @p='libs/basesink$(EXEEXT)'; \
+ b='libs/basesink'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/controller.log: libs/controller$(EXEEXT)
+ @p='libs/controller$(EXEEXT)'; \
+ b='libs/controller'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/queuearray.log: libs/queuearray$(EXEEXT)
+ @p='libs/queuearray$(EXEEXT)'; \
+ b='libs/queuearray'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/typefindhelper.log: libs/typefindhelper$(EXEEXT)
+ @p='libs/typefindhelper$(EXEEXT)'; \
+ b='libs/typefindhelper'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+pipelines/seek.log: pipelines/seek$(EXEEXT)
+ @p='pipelines/seek$(EXEEXT)'; \
+ b='pipelines/seek'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+pipelines/stress.log: pipelines/stress$(EXEEXT)
+ @p='pipelines/stress$(EXEEXT)'; \
+ b='pipelines/stress'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+pipelines/queue-error.log: pipelines/queue-error$(EXEEXT)
+ @p='pipelines/queue-error$(EXEEXT)'; \
+ b='pipelines/queue-error'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/libsabi.log: libs/libsabi$(EXEEXT)
+ @p='libs/libsabi$(EXEEXT)'; \
+ b='libs/libsabi'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/adapter.log: libs/adapter$(EXEEXT)
+ @p='libs/adapter$(EXEEXT)'; \
+ b='libs/adapter'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/bitreader.log: libs/bitreader$(EXEEXT)
+ @p='libs/bitreader$(EXEEXT)'; \
+ b='libs/bitreader'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/bytereader.log: libs/bytereader$(EXEEXT)
+ @p='libs/bytereader$(EXEEXT)'; \
+ b='libs/bytereader'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/bytewriter.log: libs/bytewriter$(EXEEXT)
+ @p='libs/bytewriter$(EXEEXT)'; \
+ b='libs/bytewriter'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/collectpads.log: libs/collectpads$(EXEEXT)
+ @p='libs/collectpads$(EXEEXT)'; \
+ b='libs/collectpads'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/gstnetclientclock.log: libs/gstnetclientclock$(EXEEXT)
+ @p='libs/gstnetclientclock$(EXEEXT)'; \
+ b='libs/gstnetclientclock'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/gstnettimeprovider.log: libs/gstnettimeprovider$(EXEEXT)
+ @p='libs/gstnettimeprovider$(EXEEXT)'; \
+ b='libs/gstnettimeprovider'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/gsttestclock.log: libs/gsttestclock$(EXEEXT)
+ @p='libs/gsttestclock$(EXEEXT)'; \
+ b='libs/gsttestclock'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/transform1.log: libs/transform1$(EXEEXT)
+ @p='libs/transform1$(EXEEXT)'; \
+ b='libs/transform1'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+tools/gstinspect.log: tools/gstinspect$(EXEEXT)
+ @p='tools/gstinspect$(EXEEXT)'; \
+ b='tools/gstinspect'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+ @p='$<'; \
+ $(am__set_b); \
+ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@ @p='$<'; \
+@am__EXEEXT_TRUE@ $(am__set_b); \
+@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -3032,6 +4105,9 @@ install-strip:
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
+ -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+ -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+ -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -3122,19 +4198,20 @@ uninstall-am:
.MAKE: check-am install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
clean-checkPROGRAMS clean-generic clean-libtool clean-local \
- clean-noinstPROGRAMS ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
+ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am recheck tags tags-am uninstall \
+ uninstall-am
# keep target around, since it's referenced in the modules' Makefiles
@@ -3147,6 +4224,8 @@ clean-local-check:
@HAVE_VALGRIND_FALSE@check-valgrind:
@HAVE_VALGRIND_FALSE@ @true
+LOOPS ?= 10
+
# run any given test by running make test.check
# if the test fails, run it again at at least debug level 2
%.check: %
@@ -3208,6 +4287,17 @@ clean-local-check:
--gen-suppressions=all \
./$* 2>&1 | tee suppressions.log
+# valgrind torture any given test
+%.valgrind-torture: %
+ @for i in `seq 1 $(LOOPS)`; do \
+ $(MAKE) $*.valgrind || \
+ (echo "Failure after $$i runs"; exit 1) || \
+ exit 1; \
+ done
+ @banner="All $(LOOPS) loops passed"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo $$dashes; echo $$banner; echo $$dashes
+
# valgrind any given test until failure by running make test.valgrind-forever
%.valgrind-forever: %
@while $(MAKE) $*.valgrind; do \
@@ -3220,9 +4310,31 @@ clean-local-check:
$(LIBTOOL) --mode=execute \
gdb $*
+%.lcov-reset:
+ $(MAKE) $*.lcov-run
+ $(MAKE) $*.lcov-report
+
+%.lcov: %
+ $(MAKE) $*.lcov-reset
+
+@GST_GCOV_ENABLED_TRUE@%.lcov-clean:
+@GST_GCOV_ENABLED_TRUE@ $(MAKE) -C $(top_builddir) lcov-clean
+
+@GST_GCOV_ENABLED_TRUE@%.lcov-run:
+@GST_GCOV_ENABLED_TRUE@ $(MAKE) $*.lcov-clean
+@GST_GCOV_ENABLED_TRUE@ $(MAKE) $*.check
+
+@GST_GCOV_ENABLED_TRUE@%.lcov-report:
+@GST_GCOV_ENABLED_TRUE@ $(MAKE) -C $(top_builddir) lcov-report
+@GST_GCOV_ENABLED_FALSE@%.lcov-run:
+@GST_GCOV_ENABLED_FALSE@ echo "Need to reconfigure with --enable-gcov"
+
+@GST_GCOV_ENABLED_FALSE@%.lcov-report:
+@GST_GCOV_ENABLED_FALSE@ echo "Need to reconfigure with --enable-gcov"
+
# torture tests
torture: $(TESTS)
- -rm test-registry.xml
+ -rm test-registry.*
@echo "Torturing tests ..."
@for i in `seq 1 $(LOOPS)`; do \
$(MAKE) check || \
@@ -3235,7 +4347,7 @@ torture: $(TESTS)
# forever tests
forever: $(TESTS)
- -rm test-registry.xml
+ -rm test-registry.*
@echo "Forever tests ..."
@while true; do \
$(MAKE) check || \
@@ -3261,6 +4373,29 @@ valgrind: $(TESTS)
false; \
fi
+# valgrind all tests until failure
+valgrind-forever: $(TESTS)
+ -rm test-registry.*
+ @echo "Forever valgrinding tests ..."
+ @while true; do \
+ $(MAKE) valgrind || \
+ (echo "Failure"; exit 1) || \
+ exit 1; \
+ done
+
+# valgrind torture all tests
+valgrind-torture: $(TESTS)
+ -rm test-registry.*
+ @echo "Torturing and valgrinding tests ..."
+ @for i in `seq 1 $(LOOPS)`; do \
+ $(MAKE) valgrind || \
+ (echo "Failure after $$i runs"; exit 1) || \
+ exit 1; \
+ done
+ @banner="All $(LOOPS) loops passed"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo $$dashes; echo $$banner; echo $$dashes
+
# valgrind all tests and generate suppressions
valgrind.gen-suppressions: $(TESTS)
@echo "Valgrinding tests ..."
@@ -3297,10 +4432,13 @@ help:
@echo "make (dir)/(test).gdb -- start up gdb for the given test"
@echo
@echo "make valgrind -- valgrind all tests"
+ @echo "make valgrind-forever -- valgrind all tests forever"
+ @echo "make valgrind-torture -- valgrind all tests $(LOOPS) times"
@echo "make valgrind.gen-suppressions -- generate suppressions for all tests"
@echo " and save to suppressions.log"
@echo "make (dir)/(test).valgrind -- valgrind the given test"
@echo "make (dir)/(test).valgrind-forever -- valgrind the given test forever"
+ @echo "make (dir)/(test).valgrind-torture -- valgrind the given test $(LOOPS) times"
@echo "make (dir)/(test).valgrind.gen-suppressions -- generate suppressions"
@echo " and save to suppressions.log"
@echo "make inspect -- inspect all plugin features"
diff --git a/tests/check/elements/capsfilter.c b/tests/check/elements/capsfilter.c
index cea6eac..3e1d0e2 100644
--- a/tests/check/elements/capsfilter.c
+++ b/tests/check/elements/capsfilter.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/elements/fakesink.c b/tests/check/elements/fakesink.c
index 8a6bfa6..639905c 100644
--- a/tests/check/elements/fakesink.c
+++ b/tests/check/elements/fakesink.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <unistd.h>
@@ -98,6 +98,8 @@ GST_START_TEST (test_clipping)
ret = gst_element_set_state (sink, GST_STATE_PAUSED);
fail_unless (ret == GST_STATE_CHANGE_ASYNC);
+ gst_pad_send_event (sinkpad, gst_event_new_stream_start ("test"));
+
/* send segment */
{
GstEvent *event;
@@ -262,6 +264,8 @@ GST_START_TEST (test_preroll_sync)
ret = gst_element_set_state (pipeline, GST_STATE_PAUSED);
fail_unless (ret == GST_STATE_CHANGE_ASYNC);
+ gst_pad_send_event (sinkpad, gst_event_new_stream_start ("test"));
+
/* send segment */
{
GstEvent *event;
@@ -475,6 +479,8 @@ GST_START_TEST (test_eos)
fail_unless (eret == TRUE);
}
+ gst_pad_send_event (sinkpad, gst_event_new_stream_start ("test"));
+
/* send segment, this should now work again */
{
GstEvent *event;
@@ -540,6 +546,8 @@ GST_START_TEST (test_eos2)
ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
fail_unless (ret == GST_STATE_CHANGE_ASYNC);
+ gst_pad_send_event (sinkpad, gst_event_new_stream_start ("test"));
+
/* send segment, this should work */
{
GstEvent *event;
@@ -645,6 +653,8 @@ GST_START_TEST (test_position)
qret = gst_element_query_position (sink, GST_FORMAT_TIME, &qcur);
fail_unless (qret == FALSE);
+ gst_pad_send_event (sinkpad, gst_event_new_stream_start ("test"));
+
/* send segment, this should work */
{
GstSegment segment;
diff --git a/tests/check/elements/fakesrc.c b/tests/check/elements/fakesrc.c
index decc3af..55605f7 100644
--- a/tests/check/elements/fakesrc.c
+++ b/tests/check/elements/fakesrc.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <unistd.h>
diff --git a/tests/check/elements/fdsrc.c b/tests/check/elements/fdsrc.c
index 06ba059..12e9d10 100644
--- a/tests/check/elements/fdsrc.c
+++ b/tests/check/elements/fdsrc.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <unistd.h>
diff --git a/tests/check/elements/filesink.c b/tests/check/elements/filesink.c
index f432402..a28c893 100644
--- a/tests/check/elements/filesink.c
+++ b/tests/check/elements/filesink.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -143,6 +143,9 @@ GST_START_TEST (test_seeking)
gst_query_unref (seeking_query);
#endif
+ fail_unless (gst_pad_push_event (mysrcpad,
+ gst_event_new_stream_start ("test")));
+
gst_segment_init (&segment, GST_FORMAT_BYTES);
fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment)));
diff --git a/tests/check/elements/filesrc.c b/tests/check/elements/filesrc.c
index cc35a4d..4e760f8 100644
--- a/tests/check/elements/filesrc.c
+++ b/tests/check/elements/filesrc.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <unistd.h>
diff --git a/tests/check/elements/funnel.c b/tests/check/elements/funnel.c
index 3aaff1a..fd41a73 100644
--- a/tests/check/elements/funnel.c
+++ b/tests/check/elements/funnel.c
@@ -57,15 +57,16 @@ setup_test_objects (struct TestData *td, GstPadChainFunction chain_func)
td->mysink = gst_pad_new ("sink", GST_PAD_SINK);
gst_pad_set_chain_function (td->mysink, chain_func);
gst_pad_set_active (td->mysink, TRUE);
- gst_pad_set_caps (td->mysink, td->mycaps);
td->mysrc1 = gst_pad_new ("src1", GST_PAD_SRC);
gst_pad_set_active (td->mysrc1, TRUE);
- gst_pad_set_caps (td->mysrc1, td->mycaps);
+ gst_check_setup_events_with_stream_id (td->mysrc1, td->funnel, td->mycaps,
+ GST_FORMAT_BYTES, "test1");
td->mysrc2 = gst_pad_new ("src2", GST_PAD_SRC);
gst_pad_set_active (td->mysrc2, TRUE);
- gst_pad_set_caps (td->mysrc2, td->mycaps);
+ gst_check_setup_events_with_stream_id (td->mysrc2, td->funnel, td->mycaps,
+ GST_FORMAT_BYTES, "test2");
fail_unless (GST_PAD_LINK_SUCCESSFUL (gst_pad_link (td->funnelsrc,
td->mysink)));
@@ -118,10 +119,6 @@ chain_ok (GstPad * pad, GstObject * parent, GstBuffer * buffer)
GST_START_TEST (test_funnel_simple)
{
struct TestData td;
-#if 0
- GstBuffer *buf1 = NULL;
- GstBuffer *buf2 = NULL;
-#endif
setup_test_objects (&td, chain_ok);
@@ -133,18 +130,6 @@ GST_START_TEST (test_funnel_simple)
fail_unless (bufcount == 2);
-#if 0
- fail_unless (gst_pad_alloc_buffer (td.mysrc1, 0, 1024, td.mycaps,
- &buf1) == GST_FLOW_OK);
- fail_unless (gst_pad_alloc_buffer (td.mysrc2, 1024, 1024, td.mycaps,
- &buf2) == GST_FLOW_OK);
-
- fail_unless (alloccount == 2);
-
- gst_buffer_unref (buf1);
- gst_buffer_unref (buf2);
-#endif
-
release_test_objects (&td);
}
@@ -164,6 +149,7 @@ eos_event_func (GstPad * pad, GstObject * parent, GstEvent * event)
GST_START_TEST (test_funnel_eos)
{
struct TestData td;
+ GstSegment segment;
setup_test_objects (&td, chain_ok);
@@ -196,6 +182,10 @@ GST_START_TEST (test_funnel_eos)
fail_unless (gst_pad_push_event (td.mysrc1, gst_event_new_flush_start ()));
fail_unless (gst_pad_push_event (td.mysrc1, gst_event_new_flush_stop (TRUE)));
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
+ gst_pad_push_event (td.mysrc1, gst_event_new_segment (&segment));
+ gst_pad_push_event (td.mysrc2, gst_event_new_segment (&segment));
+
fail_unless (gst_pad_push (td.mysrc1, gst_buffer_new ()) == GST_FLOW_OK);
fail_unless (gst_pad_push (td.mysrc2, gst_buffer_new ()) == GST_FLOW_EOS);
@@ -214,7 +204,7 @@ GST_START_TEST (test_funnel_eos)
td.funnelsink11)));
/* This will fail because everything is EOS already */
- fail_if (gst_pad_push_event (td.mysrc1, gst_event_new_eos ()));
+ fail_unless (gst_pad_push_event (td.mysrc1, gst_event_new_eos ()));
fail_unless (num_eos == 2);
fail_unless (gst_pad_unlink (td.mysrc1, td.funnelsink11));
@@ -236,11 +226,6 @@ funnel_suite (void)
{
Suite *s = suite_create ("funnel");
TCase *tc_chain;
- GLogLevelFlags fatal_mask;
-
- fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK);
- fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL;
- g_log_set_always_fatal (fatal_mask);
tc_chain = tcase_create ("funnel simple");
tcase_add_test (tc_chain, test_funnel_simple);
diff --git a/tests/check/elements/identity.c b/tests/check/elements/identity.c
index 270fbdd..2beb987 100644
--- a/tests/check/elements/identity.c
+++ b/tests/check/elements/identity.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <unistd.h>
@@ -46,12 +46,10 @@ event_func (GstPad * pad, GstObject * parent, GstEvent * event)
{
if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
have_eos = TRUE;
- gst_event_unref (event);
- return TRUE;
}
gst_event_unref (event);
- return FALSE;
+ return TRUE;
}
static GstElement *
@@ -87,12 +85,17 @@ GST_START_TEST (test_one_buffer)
{
GstElement *identity;
GstBuffer *buffer;
+ GstSegment segment;
identity = setup_identity ();
fail_unless (gst_element_set_state (identity,
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
"could not set to playing");
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
+ gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
+ gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment));
+
buffer = gst_buffer_new_and_alloc (4);
ASSERT_BUFFER_REFCOUNT (buffer, "buffer", 1);
diff --git a/tests/check/elements/multiqueue.c b/tests/check/elements/multiqueue.c
index 3e6a919..651ff7d 100644
--- a/tests/check/elements/multiqueue.c
+++ b/tests/check/elements/multiqueue.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <unistd.h>
@@ -420,6 +420,9 @@ run_output_order_test (gint n_linked)
gint i;
const gint NPADS = 5;
const gint NBUFFERS = 1000;
+ GstSegment segment;
+
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
g_mutex_init (&mutex);
g_cond_init (&cond);
@@ -456,6 +459,9 @@ run_output_order_test (gint n_linked)
gst_pad_set_active (inputpads[i], TRUE);
+ gst_pad_push_event (inputpads[i], gst_event_new_stream_start ("test"));
+ gst_pad_push_event (inputpads[i], gst_event_new_segment (&segment));
+
mq_srcpad = mq_sinkpad_to_srcpad (mq, mq_sinkpad);
name = g_strdup_printf ("dummysink%d", i);
@@ -596,6 +602,8 @@ GST_START_TEST (test_sparse_stream)
"extra-size-bytes", (guint) 0,
"extra-size-buffers", (guint) 0, "extra-size-time", (guint64) 0, NULL);
+ gst_segment_init (&segment, GST_FORMAT_TIME);
+
/* Construct 2 dummy output pads. */
for (i = 0; i < 2; i++) {
GstPad *mq_srcpad, *mq_sinkpad;
@@ -612,6 +620,9 @@ GST_START_TEST (test_sparse_stream)
gst_pad_set_active (inputpads[i], TRUE);
+ gst_pad_push_event (inputpads[i], gst_event_new_stream_start ("test"));
+ gst_pad_push_event (inputpads[i], gst_event_new_segment (&segment));
+
mq_srcpad = mq_sinkpad_to_srcpad (mq, mq_sinkpad);
name = g_strdup_printf ("dummysink%d", i);
@@ -644,12 +655,6 @@ GST_START_TEST (test_sparse_stream)
gst_element_set_state (pipe, GST_STATE_PLAYING);
- /* Push 2 new segment events */
- gst_segment_init (&segment, GST_FORMAT_TIME);
- event = gst_event_new_segment (&segment);
- gst_pad_push_event (inputpads[0], gst_event_ref (event));
- gst_pad_push_event (inputpads[1], event);
-
for (i = 0; i < NBUFFERS; i++) {
GstBuffer *buf;
GstFlowReturn ret;
diff --git a/tests/check/elements/queue.c b/tests/check/elements/queue.c
index 386bfb4..9a2ebcf 100644
--- a/tests/check/elements/queue.c
+++ b/tests/check/elements/queue.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <unistd.h>
@@ -223,6 +223,7 @@ GST_START_TEST (test_non_leaky_overrun)
GstBuffer *buffer2;
GstBuffer *buffer3;
GstBuffer *buffer;
+ GstSegment segment;
g_signal_connect (queue, "overrun",
G_CALLBACK (queue_overrun_link_and_activate), NULL);
@@ -239,7 +240,9 @@ GST_START_TEST (test_non_leaky_overrun)
UNDERRUN_WAIT ();
UNDERRUN_UNLOCK ();
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
+ gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment));
fail_unless (underrun_count == 1);
fail_unless (overrun_count == 0);
@@ -316,6 +319,7 @@ GST_START_TEST (test_leaky_upstream)
GstBuffer *buffer2;
GstBuffer *buffer3;
GstBuffer *buffer;
+ GstSegment segment;
g_signal_connect (queue, "overrun", G_CALLBACK (queue_overrun), NULL);
g_object_set (G_OBJECT (queue), "max-size-buffers", 2, "leaky", 1, NULL);
@@ -331,7 +335,9 @@ GST_START_TEST (test_leaky_upstream)
UNDERRUN_WAIT ();
UNDERRUN_UNLOCK ();
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
+ gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment));
fail_unless (overrun_count == 0);
fail_unless (underrun_count == 1);
@@ -402,6 +408,7 @@ GST_START_TEST (test_leaky_downstream)
GstBuffer *buffer2;
GstBuffer *buffer3;
GstBuffer *buffer;
+ GstSegment segment;
g_signal_connect (queue, "overrun", G_CALLBACK (queue_overrun), NULL);
g_object_set (G_OBJECT (queue), "max-size-buffers", 2, "leaky", 2, NULL);
@@ -417,7 +424,9 @@ GST_START_TEST (test_leaky_downstream)
UNDERRUN_WAIT ();
UNDERRUN_UNLOCK ();
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
+ gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment));
fail_unless (overrun_count == 0);
fail_unless (underrun_count == 1);
@@ -483,6 +492,7 @@ GST_START_TEST (test_time_level)
{
GstBuffer *buffer = NULL;
GstClockTime time;
+ GstSegment segment;
g_signal_connect (queue, "overrun",
G_CALLBACK (queue_overrun_link_and_activate), NULL);
@@ -500,7 +510,9 @@ GST_START_TEST (test_time_level)
UNDERRUN_WAIT ();
UNDERRUN_UNLOCK ();
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
+ gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment));
/* push buffer without duration */
buffer = gst_buffer_new_and_alloc (4);
@@ -630,6 +642,62 @@ GST_START_TEST (test_time_level_task_not_started)
GST_END_TEST;
+GST_START_TEST (test_sticky_not_linked)
+{
+ GstEvent *event;
+ GstSegment segment;
+ gboolean ret;
+ GstFlowReturn flow_ret;
+
+ GST_DEBUG ("starting");
+
+ g_object_set (queue, "max-size-buffers", 1, NULL);
+
+ UNDERRUN_LOCK ();
+ fail_unless (gst_element_set_state (queue,
+ GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
+ "could not set to playing");
+ UNDERRUN_WAIT ();
+ UNDERRUN_UNLOCK ();
+
+ gst_pad_push_event (mysrcpad, gst_event_new_stream_start ("test"));
+
+ gst_segment_init (&segment, GST_FORMAT_TIME);
+ segment.start = 1 * GST_SECOND;
+ segment.stop = 5 * GST_SECOND;
+ segment.time = 0;
+ segment.position = 1 * GST_SECOND;
+
+ event = gst_event_new_segment (&segment);
+ ret = gst_pad_push_event (mysrcpad, event);
+ fail_unless (ret == TRUE);
+
+ /* the first few buffers can return OK as they are queued and gst_queue_loop
+ * is woken up, tries to push and sets ->srcresult to NOT_LINKED
+ */
+ flow_ret = GST_FLOW_OK;
+ while (flow_ret != GST_FLOW_NOT_LINKED)
+ flow_ret = gst_pad_push (mysrcpad, gst_buffer_new ());
+
+ /* send a new sticky event so that it will be pushed on the next gst_pad_push
+ */
+ event = gst_event_new_segment (&segment);
+ ret = gst_pad_push_event (mysrcpad, event);
+ fail_unless (ret == TRUE);
+
+ /* make sure that gst_queue_sink_event doesn't return FALSE if the queue is
+ * unlinked, as that would make gst_pad_push return ERROR
+ */
+ flow_ret = gst_pad_push (mysrcpad, gst_buffer_new ());
+ fail_unless_equals_int (flow_ret, GST_FLOW_NOT_LINKED);
+
+ GST_DEBUG ("stopping");
+ fail_unless (gst_element_set_state (queue,
+ GST_STATE_NULL) == GST_STATE_CHANGE_SUCCESS, "could not set to null");
+}
+
+GST_END_TEST;
+
#if 0
static gboolean
event_equals_newsegment (GstEvent * event, gboolean update, gdouble rate,
@@ -844,6 +912,7 @@ queue_suite (void)
#if 0
tcase_add_test (tc_chain, test_newsegment);
#endif
+ tcase_add_test (tc_chain, test_sticky_not_linked);
return s;
}
diff --git a/tests/check/elements/queue2.c b/tests/check/elements/queue2.c
index c03ca1d..18170c1 100644
--- a/tests/check/elements/queue2.c
+++ b/tests/check/elements/queue2.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
@@ -225,6 +225,7 @@ GST_START_TEST (test_filled_read)
GstBuffer *buffer;
GstPad *sinkpad, *srcpad;
GThread *thread;
+ GstSegment segment;
queue2 = gst_element_factory_make ("queue2", NULL);
sinkpad = gst_element_get_static_pad (queue2, "sink");
@@ -238,6 +239,10 @@ GST_START_TEST (test_filled_read)
gst_pad_activate_mode (srcpad, GST_PAD_MODE_PULL, TRUE);
gst_element_set_state (queue2, GST_STATE_PLAYING);
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
+ gst_pad_send_event (sinkpad, gst_event_new_stream_start ("test"));
+ gst_pad_send_event (sinkpad, gst_event_new_segment (&segment));
+
/* fill up the buffer */
buffer = gst_buffer_new_and_alloc (4 * 1024);
fail_unless (gst_pad_chain (sinkpad, buffer) == GST_FLOW_OK);
diff --git a/tests/check/elements/selector.c b/tests/check/elements/selector.c
index 09c54b4..34179e5 100644
--- a/tests/check/elements/selector.c
+++ b/tests/check/elements/selector.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
@@ -56,8 +56,8 @@ probe_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
count++;
g_object_set_data (G_OBJECT (pad), count_type, GINT_TO_POINTER (count));
- /* drop everything */
- return GST_PAD_PROBE_DROP;
+ /* drop every buffer */
+ return GST_IS_BUFFER (obj) ? GST_PAD_PROBE_DROP : GST_PAD_PROBE_PASS;
}
/* Create and link output pad: selector:src%d ! output_pad */
@@ -217,6 +217,7 @@ push_newsegment_events (GList * input_pads)
for (l = input_pads; l; l = l->next) {
GstPad *pad = l->data;
+ gst_pad_push_event (pad, gst_event_new_stream_start ("test"));
gst_pad_push_event (pad, gst_event_new_segment (&seg));
}
}
@@ -227,12 +228,10 @@ push_switched_buffers (GList * input_pads,
GstElement * elem, GList * peer_pads, gint num_buffers)
{
GstBuffer *buf = NULL;
- GstCaps *caps = NULL;
GList *l = peer_pads;
GstPad *selpad = NULL;
/* setup dummy buffer */
- caps = gst_caps_from_string ("application/x-unknown");
buf = gst_buffer_new_and_alloc (1);
while (l != NULL) {
@@ -250,7 +249,6 @@ push_switched_buffers (GList * input_pads,
/* cleanup buffer */
gst_buffer_unref (buf);
- gst_caps_unref (caps);
}
/* Create output-selector with given number of src pads and switch
diff --git a/tests/check/elements/tee.c b/tests/check/elements/tee.c
index 46ff4d9..b212eaf 100644
--- a/tests/check/elements/tee.c
+++ b/tests/check/elements/tee.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <unistd.h>
@@ -460,6 +460,7 @@ GST_START_TEST (test_flow_aggregation)
GstPad *teesink, *teesrc1, *teesrc2;
GstElement *tee;
GstBuffer *buffer;
+ GstSegment segment;
GstCaps *caps;
caps = gst_caps_new_empty_simple ("test/test");
@@ -477,19 +478,20 @@ GST_START_TEST (test_flow_aggregation)
mysink1 = gst_pad_new ("mysink1", GST_PAD_SINK);
gst_pad_set_chain_function (mysink1, _fake_chain);
gst_pad_set_active (mysink1, TRUE);
- gst_pad_set_caps (mysink1, caps);
GST_DEBUG ("Creating mysink2");
mysink2 = gst_pad_new ("mysink2", GST_PAD_SINK);
gst_pad_set_chain_function (mysink2, _fake_chain);
gst_pad_set_active (mysink2, TRUE);
- gst_pad_set_caps (mysink2, caps);
GST_DEBUG ("Creating mysrc");
mysrc = gst_pad_new ("mysrc", GST_PAD_SRC);
gst_pad_set_active (mysrc, TRUE);
- gst_pad_set_caps (mysrc, caps);
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
+ gst_pad_push_event (mysrc, gst_event_new_stream_start ("test"));
+ gst_pad_set_caps (mysrc, caps);
+ gst_pad_push_event (mysrc, gst_event_new_segment (&segment));
fail_unless (gst_pad_link (mysrc, teesink) == GST_PAD_LINK_OK);
fail_unless (gst_pad_link (teesrc1, mysink1) == GST_PAD_LINK_OK);
@@ -516,7 +518,6 @@ GST_START_TEST (test_flow_aggregation)
GST_DEBUG ("Trying to push with mysink2 disabled");
gst_pad_set_active (mysink1, FALSE);
gst_pad_set_active (mysink2, TRUE);
- gst_pad_set_caps (mysink2, caps);
fail_unless (gst_pad_push (mysrc,
gst_buffer_ref (buffer)) == GST_FLOW_FLUSHING);
@@ -528,9 +529,7 @@ GST_START_TEST (test_flow_aggregation)
/* Test if everything still works in normal state */
GST_DEBUG ("Reactivate both pads and try pushing");
gst_pad_set_active (mysink1, TRUE);
- gst_pad_set_caps (mysink1, caps);
gst_pad_set_active (mysink2, TRUE);
- gst_pad_set_caps (mysink2, caps);
fail_unless (gst_pad_push (mysrc, gst_buffer_ref (buffer)) == GST_FLOW_OK);
/* One unlinked pad must return OK, two unlinked pads must return NOT_LINKED */
diff --git a/tests/check/elements/valve.c b/tests/check/elements/valve.c
index 417dae1..4c6e9ca 100644
--- a/tests/check/elements/valve.c
+++ b/tests/check/elements/valve.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/generic/sinks.c b/tests/check/generic/sinks.c
index f70b52a..2d60611 100644
--- a/tests/check/generic/sinks.c
+++ b/tests/check/generic/sinks.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
@@ -919,6 +919,7 @@ GST_START_TEST (test_fake_eos)
GstPad *sinkpad;
GstFlowReturn res;
GThread *thread;
+ GstSegment segment;
pipeline = gst_pipeline_new ("pipeline");
@@ -932,6 +933,10 @@ GST_START_TEST (test_fake_eos)
ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
fail_unless (ret == GST_STATE_CHANGE_ASYNC, "no ASYNC state return");
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
+ gst_pad_send_event (sinkpad, gst_event_new_stream_start ("test"));
+ gst_pad_send_event (sinkpad, gst_event_new_segment (&segment));
+
/* push buffer of 100 seconds, since it has a timestamp of 0, it should be
* rendered immediately and the chain function should return immediately */
buffer = gst_buffer_new_and_alloc (10);
@@ -1073,6 +1078,8 @@ GST_START_TEST (test_async_done)
gst_bus_set_sync_handler (bus, (GstBusSyncHandler) async_done_func, sink,
NULL);
+ gst_pad_send_event (sinkpad, gst_event_new_stream_start ("test"));
+
/* make newsegment, this sets the position to 10sec when the buffer prerolls */
GST_DEBUG ("sending segment");
gst_segment_init (&segment, GST_FORMAT_TIME);
diff --git a/tests/check/generic/states.c b/tests/check/generic/states.c
index 3c2ad7f..251f433 100644
--- a/tests/check/generic/states.c
+++ b/tests/check/generic/states.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/gst/gst.c b/tests/check/gst/gst.c
index e907959..bbe953d 100644
--- a/tests/check/gst/gst.c
+++ b/tests/check/gst/gst.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstabi.c b/tests/check/gst/gstabi.c
index f9b9de3..2356cb1 100644
--- a/tests/check/gst/gstabi.c
+++ b/tests/check/gst/gstabi.c
@@ -15,15 +15,19 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <config.h>
#include <gst/check/gstcheck.h>
#ifdef HAVE_CPU_I386
+#ifndef G_OS_WIN32
#include "struct_i386.h"
+#else
+#include "struct_i386w.h"
+#endif
#define HAVE_ABI_SIZES TRUE
#else
#ifdef __powerpc64__
@@ -48,7 +52,7 @@
#else
#ifdef HAVE_CPU_ARM
#include "struct_arm.h"
-#define HAVE_ABI_SIZES FALSE
+#define HAVE_ABI_SIZES TRUE
#else
/* in case someone wants to generate a new arch */
#include "struct_i386.h"
diff --git a/tests/check/gst/gstatomicqueue.c b/tests/check/gst/gstatomicqueue.c
index 89801b8..4262c41 100644
--- a/tests/check/gst/gstatomicqueue.c
+++ b/tests/check/gst/gstatomicqueue.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c
index 67aec7e..58c91ea 100644
--- a/tests/check/gst/gstbin.c
+++ b/tests/check/gst/gstbin.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c
index 6143506..e3da42c 100644
--- a/tests/check/gst/gstbuffer.c
+++ b/tests/check/gst/gstbuffer.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -791,6 +791,44 @@ GST_START_TEST (test_find)
GST_END_TEST;
+GST_START_TEST (test_fill)
+{
+ GstBuffer *buf;
+ guint8 data[1024], data2[25];
+ gint i;
+
+ buf = gst_buffer_new ();
+ gst_buffer_append_memory (buf, gst_allocator_alloc (NULL, 0, NULL));
+ gst_buffer_append_memory (buf, gst_allocator_alloc (NULL, 10, NULL));
+ gst_buffer_append_memory (buf, gst_allocator_alloc (NULL, 15, NULL));
+ gst_buffer_append_memory (buf, gst_allocator_alloc (NULL, 0, NULL));
+
+ for (i = 0; i < G_N_ELEMENTS (data); ++i)
+ data[i] = i & 0xff;
+
+ /* a NULL src pointer should be ok if the src length is 0 bytes */
+ fail_unless_equals_int (gst_buffer_fill (buf, 0, NULL, 0), 0);
+ fail_unless_equals_int (gst_buffer_fill (buf, 20, NULL, 0), 0);
+ fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 0), 0);
+
+ fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 1), 1);
+ fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 11), 11);
+ fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 15), 15);
+ fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 25), 25);
+ fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 26), 25);
+ fail_unless_equals_int (gst_buffer_fill (buf, 1, data, 26), 24);
+ fail_unless_equals_int (gst_buffer_fill (buf, 10, data, 100), 15);
+ fail_unless_equals_int (gst_buffer_fill (buf, 11, data, 100), 14);
+ fail_unless_equals_int (gst_buffer_fill (buf, 25, data, 100), 0);
+
+ fail_unless_equals_int (gst_buffer_fill (buf, 0, data + 10, 25), 25);
+ fail_unless_equals_int (gst_buffer_extract (buf, 0, data2, 25), 25);
+ fail_unless (memcmp (data2, data + 10, 25) == 0);
+
+ gst_buffer_unref (buf);
+}
+
+GST_END_TEST;
static Suite *
gst_buffer_suite (void)
@@ -811,6 +849,7 @@ gst_buffer_suite (void)
tcase_add_test (tc_chain, test_map);
tcase_add_test (tc_chain, test_map_range);
tcase_add_test (tc_chain, test_find);
+ tcase_add_test (tc_chain, test_fill);
return s;
}
diff --git a/tests/check/gst/gstbufferlist.c b/tests/check/gst/gstbufferlist.c
index 55ca748..10c3165 100644
--- a/tests/check/gst/gstbufferlist.c
+++ b/tests/check/gst/gstbufferlist.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstbus.c b/tests/check/gst/gstbus.c
index 3a90651..6ceb71f 100644
--- a/tests/check/gst/gstbus.c
+++ b/tests/check/gst/gstbus.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstcaps.c b/tests/check/gst/gstcaps.c
index 1c0bd3b..ca4d59b 100644
--- a/tests/check/gst/gstcaps.c
+++ b/tests/check/gst/gstcaps.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -982,6 +982,106 @@ GST_START_TEST (test_broken)
GST_END_TEST;
+GST_START_TEST (test_features)
+{
+ GstCaps *c1, *c2, *c3;
+ GstStructure *s1, *s2;
+ GstCapsFeatures *f1, *f2;
+ gchar *str1;
+ static GstStaticCaps scaps =
+ GST_STATIC_CAPS
+ ("video/x-raw(memory:EGLImage), width=320, height=[ 240, 260 ]");
+
+ c1 = gst_caps_new_empty ();
+ fail_unless (c1 != NULL);
+ s1 = gst_structure_new ("video/x-raw", "width", G_TYPE_INT, 320, "height",
+ GST_TYPE_INT_RANGE, 240, 260, NULL);
+ fail_unless (s1 != NULL);
+ f1 = gst_caps_features_new ("memory:EGLImage", NULL);
+ fail_unless (f1 != NULL);
+
+ gst_caps_append_structure_full (c1, s1, f1);
+ s2 = gst_caps_get_structure (c1, 0);
+ fail_unless (s1 == s2);
+ f2 = gst_caps_get_features (c1, 0);
+ fail_unless (f1 == f2);
+
+ str1 = gst_caps_to_string (c1);
+ fail_unless (str1 != NULL);
+ c2 = gst_caps_from_string (str1);
+ fail_unless (c2 != NULL);
+ g_free (str1);
+
+ fail_unless (gst_caps_is_equal (c1, c2));
+ fail_unless (gst_caps_is_subset (c1, c2));
+ fail_unless (gst_caps_is_subset (c2, c1));
+ fail_unless (gst_caps_can_intersect (c1, c2));
+
+ gst_caps_unref (c2);
+
+ c2 = gst_caps_new_empty ();
+ fail_unless (c2 != NULL);
+ s2 = gst_structure_new ("video/x-raw", "width", G_TYPE_INT, 320, "height",
+ GST_TYPE_INT_RANGE, 240, 260, NULL);
+ fail_unless (s2 != NULL);
+ f2 = gst_caps_features_new ("memory:VASurface", "meta:VAMeta", NULL);
+ fail_unless (f2 != NULL);
+ gst_caps_append_structure_full (c2, s2, f2);
+
+ fail_if (gst_caps_is_equal (c1, c2));
+ fail_if (gst_caps_is_subset (c1, c2));
+ fail_if (gst_caps_is_subset (c2, c1));
+ fail_if (gst_caps_can_intersect (c1, c2));
+
+ str1 = gst_caps_to_string (c2);
+ fail_unless (str1 != NULL);
+ c3 = gst_caps_from_string (str1);
+ fail_unless (c3 != NULL);
+ g_free (str1);
+
+ fail_unless (gst_caps_is_equal (c2, c3));
+ fail_unless (gst_caps_is_subset (c2, c3));
+ fail_unless (gst_caps_is_subset (c3, c2));
+ fail_unless (gst_caps_can_intersect (c2, c3));
+
+ f1 = gst_caps_get_features (c3, 0);
+ fail_unless (f1 != NULL);
+ fail_if (f1 == f2);
+ gst_caps_features_contains (f1, "memory:VASurface");
+ gst_caps_features_remove (f1, "memory:VASurface");
+ fail_if (gst_caps_is_equal (c2, c3));
+ fail_if (gst_caps_is_subset (c2, c3));
+ fail_if (gst_caps_is_subset (c3, c2));
+ fail_if (gst_caps_can_intersect (c2, c3));
+
+ gst_caps_unref (c3);
+ gst_caps_unref (c2);
+
+ c2 = gst_static_caps_get (&scaps);
+ fail_unless (c2 != NULL);
+ fail_unless (gst_caps_is_equal (c1, c2));
+ fail_unless (gst_caps_is_subset (c1, c2));
+ fail_unless (gst_caps_is_subset (c2, c1));
+ fail_unless (gst_caps_can_intersect (c1, c2));
+ gst_caps_unref (c2);
+
+ c2 = gst_caps_from_string
+ ("video/x-raw(ANY), width=320, height=[ 240, 260 ]");
+ fail_unless (c2 != NULL);
+ fail_if (gst_caps_is_equal (c1, c2));
+ fail_unless (gst_caps_is_subset (c1, c2));
+ fail_if (gst_caps_is_subset (c2, c1));
+ fail_unless (gst_caps_can_intersect (c1, c2));
+
+ c3 = gst_caps_intersect (c1, c2);
+ fail_unless (gst_caps_is_equal (c3, c1));
+
+ gst_caps_unref (c3);
+ gst_caps_unref (c2);
+ gst_caps_unref (c1);
+}
+
+GST_END_TEST;
static Suite *
gst_caps_suite (void)
@@ -1009,6 +1109,7 @@ gst_caps_suite (void)
tcase_add_test (tc_chain, test_intersect_duplication);
tcase_add_test (tc_chain, test_normalize);
tcase_add_test (tc_chain, test_broken);
+ tcase_add_test (tc_chain, test_features);
return s;
}
diff --git a/tests/check/gst/gstcapsfeatures.c b/tests/check/gst/gstcapsfeatures.c
new file mode 100644
index 0000000..5f76aa7
--- /dev/null
+++ b/tests/check/gst/gstcapsfeatures.c
@@ -0,0 +1,111 @@
+/* GStreamer
+ * Copyright (C) 2013 Collabora Ltd.
+ * Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ *
+ * gstcapsfeatures.c: Unit test for GstCapsFeatures
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <gst/check/gstcheck.h>
+#include <gst/gstcapsfeatures.h>
+
+GST_START_TEST (test_basic_operations)
+{
+ GstCapsFeatures *a, *b;
+
+ a = gst_caps_features_new ("m:abc", "m:def", "m:ghi", NULL);
+ fail_unless (a != NULL);
+ b = gst_caps_features_copy (a);
+ fail_unless (b != NULL);
+ fail_unless (gst_caps_features_is_equal (a, b));
+ fail_if (gst_caps_features_is_equal (a,
+ GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY));
+ fail_unless_equals_int (gst_caps_features_get_size (a), 3);
+ fail_unless_equals_string (gst_caps_features_get_nth (a, 1), "m:def");
+ gst_caps_features_add (b, "m:jkl");
+ fail_if (gst_caps_features_is_equal (a, b));
+ fail_unless_equals_int (gst_caps_features_get_size (b), 4);
+ fail_unless_equals_string (gst_caps_features_get_nth (b, 3), "m:jkl");
+ gst_caps_features_add (b, "m:jkl");
+ fail_unless_equals_int (gst_caps_features_get_size (b), 4);
+
+ gst_caps_features_remove (b, "m:jkl");
+ fail_unless (gst_caps_features_is_equal (a, b));
+ gst_caps_features_remove (b, "m:abc");
+ gst_caps_features_add (b, "m:abc");
+ fail_unless (gst_caps_features_is_equal (a, b));
+ gst_caps_features_remove (b, "m:abc");
+ gst_caps_features_remove (b, "m:def");
+ gst_caps_features_remove (b, "m:ghi");
+ fail_unless (gst_caps_features_is_equal (b,
+ GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY));
+ gst_caps_features_add (b, GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY);
+
+ gst_caps_features_free (a);
+ gst_caps_features_free (b);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_from_to_string)
+{
+ GstCapsFeatures *a, *b;
+ gchar *str;
+
+ a = gst_caps_features_new ("m:abc", "m:def", "m:ghi", NULL);
+ fail_unless (a != NULL);
+ str = gst_caps_features_to_string (a);
+ fail_unless (str != NULL);
+ fail_unless_equals_string (str, "m:abc, m:def, m:ghi");
+ b = gst_caps_features_from_string (str);
+ fail_unless (b != NULL);
+ fail_unless (gst_caps_features_is_equal (a, b));
+ gst_caps_features_free (a);
+ gst_caps_features_free (b);
+ g_free (str);
+
+ a = gst_caps_features_new_any ();
+ fail_unless (a != NULL);
+ fail_unless (gst_caps_features_is_any (a));
+ str = gst_caps_features_to_string (a);
+ fail_unless (str != NULL);
+ fail_unless_equals_string (str, "ANY");
+ b = gst_caps_features_from_string (str);
+ fail_unless (b != NULL);
+ fail_unless (gst_caps_features_is_equal (a, b));
+ fail_unless (gst_caps_features_is_any (b));
+ gst_caps_features_free (a);
+ gst_caps_features_free (b);
+ g_free (str);
+}
+
+GST_END_TEST;
+
+static Suite *
+gst_capsfeatures_suite (void)
+{
+ Suite *s = suite_create ("GstCapsFeatures");
+ TCase *tc_chain = tcase_create ("operations");
+
+ suite_add_tcase (s, tc_chain);
+ tcase_add_test (tc_chain, test_basic_operations);
+ tcase_add_test (tc_chain, test_from_to_string);
+
+ return s;
+}
+
+GST_CHECK_MAIN (gst_capsfeatures);
diff --git a/tests/check/gst/gstchildproxy.c b/tests/check/gst/gstchildproxy.c
index b9bb665..35c9d37 100644
--- a/tests/check/gst/gstchildproxy.c
+++ b/tests/check/gst/gstchildproxy.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstclock.c b/tests/check/gst/gstclock.c
index fba8b02..a394cf8 100644
--- a/tests/check/gst/gstclock.c
+++ b/tests/check/gst/gstclock.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
@@ -22,24 +22,24 @@
typedef struct
{
GstClock parent;
-} GstTestClock;
+} TestClock;
typedef struct
{
GstClockClass parent_class;
-} GstTestClockClass;
+} TestClockClass;
-#define GST_TYPE_TEST_CLOCK (gst_test_clock_get_type ())
-#define GST_TEST_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TEST_CLOCK, GstTestClock))
-#define GST_TEST_CLOCK_CAST(obj) ((GstTestClock *)(obj))
-#define GST_IS_TEST_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TEST_CLOCK))
-#define GST_TEST_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_TEST_CLOCK, GstTestClockClass))
-#define GST_IS_TEST_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TEST_CLOCK))
-#define GST_TEST_CLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_TEST_CLOCK, GstTestClockClass))
+#define TYPE_TEST_CLOCK (test_clock_get_type ())
+#define TEST_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEST_CLOCK, TestClock))
+#define TEST_CLOCK_CAST(obj) ((TestClock *)(obj))
+#define IS_TEST_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEST_CLOCK))
+#define TEST_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEST_CLOCK, TestClockClass))
+#define IS_TEST_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEST_CLOCK))
+#define TEST_CLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEST_CLOCK, TestClockClass))
-GType gst_test_clock_get_type (void);
-G_DEFINE_TYPE (GstTestClock, gst_test_clock, GST_TYPE_CLOCK);
+GType test_clock_get_type (void);
+G_DEFINE_TYPE (TestClock, test_clock, GST_TYPE_CLOCK);
static GstClockReturn
fake_wait_async (GstClock * clock, GstClockEntry * entry)
@@ -48,7 +48,7 @@ fake_wait_async (GstClock * clock, GstClockEntry * entry)
}
static void
-gst_test_clock_class_init (GstTestClockClass * klass)
+test_clock_class_init (TestClockClass * klass)
{
GstClockClass *clock_class;
@@ -58,7 +58,7 @@ gst_test_clock_class_init (GstTestClockClass * klass)
}
static void
-gst_test_clock_init (GstTestClock * clock)
+test_clock_init (TestClock * clock)
{
}
@@ -75,8 +75,8 @@ GST_START_TEST (test_set_master_refcount)
gboolean master_alive = TRUE;
/* create master and slave */
- master = g_object_new (GST_TYPE_TEST_CLOCK, "name", "TestClockMaster", NULL);
- slave = g_object_new (GST_TYPE_TEST_CLOCK, "name", "TestClockMaster", NULL);
+ master = g_object_new (TYPE_TEST_CLOCK, "name", "TestClockMaster", NULL);
+ slave = g_object_new (TYPE_TEST_CLOCK, "name", "TestClockMaster", NULL);
GST_OBJECT_FLAG_SET (slave, GST_CLOCK_FLAG_CAN_SET_MASTER);
fail_unless_equals_int (GST_OBJECT_REFCOUNT (master), 1);
diff --git a/tests/check/gst/gstcontext.c b/tests/check/gst/gstcontext.c
new file mode 100644
index 0000000..702cd03
--- /dev/null
+++ b/tests/check/gst/gstcontext.c
@@ -0,0 +1,355 @@
+/* GStreamer
+ * Copyright (C) 2013 Collabora Ltd.
+ * Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ *
+ * gstcontext.c: Unit test for GstContext
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <gst/check/gstcheck.h>
+
+GST_START_TEST (test_basic)
+{
+ GstContext *c1, *c2;
+ GstStructure *s1;
+ const GstStructure *s2;
+
+ c1 = gst_context_new ();
+ fail_unless (c1 != NULL);
+ fail_unless (GST_IS_CONTEXT (c1));
+ s1 = gst_context_writable_structure (c1);
+ fail_unless (s1 != NULL);
+ gst_structure_set (s1, "foobar", G_TYPE_INT, 1, NULL);
+
+ c2 = gst_context_copy (c1);
+ fail_unless (c2 != NULL);
+ fail_unless (GST_IS_CONTEXT (c2));
+ s2 = gst_context_get_structure (c2);
+ fail_unless (s2 != NULL);
+ fail_unless (gst_structure_is_equal (s1, s2));
+
+ gst_context_unref (c1);
+ gst_context_unref (c2);
+}
+
+GST_END_TEST;
+
+typedef struct
+{
+ GstElement parent;
+ gboolean set_before_ready;
+ gboolean set_from_need_context;
+ gboolean create_self;
+} GstContextElement;
+
+typedef struct
+{
+ GstElementClass parent_class;
+} GstContextElementClass;
+
+GType gst_context_element_get_type (void);
+
+G_DEFINE_TYPE (GstContextElement, gst_context_element, GST_TYPE_ELEMENT);
+
+static void
+gst_context_element_set_context (GstElement * element, GstContext * context)
+{
+ GST_ELEMENT_CLASS (gst_context_element_parent_class)->set_context (element,
+ context);
+}
+
+static GstStateChangeReturn
+gst_context_element_change_state (GstElement * element,
+ GstStateChange transition)
+{
+ GstContextElement *celement = (GstContextElement *) element;
+
+ if (transition == GST_STATE_CHANGE_NULL_TO_READY) {
+ GstContext *context;
+ const GstStructure *s;
+ GstMessage *msg;
+ gboolean have_foobar = FALSE;
+
+ context = gst_element_get_context (element);
+ if (context) {
+ s = gst_context_get_structure (context);
+ if (gst_structure_has_field (s, "foobar"))
+ have_foobar = TRUE;
+ gst_context_unref (context);
+ }
+
+ if (celement->set_before_ready && !have_foobar)
+ return GST_STATE_CHANGE_FAILURE;
+ else if (celement->set_before_ready)
+ return
+ GST_ELEMENT_CLASS (gst_context_element_parent_class)->change_state
+ (element, transition);
+
+ if (celement->set_from_need_context && have_foobar)
+ return GST_STATE_CHANGE_FAILURE;
+
+ if (!have_foobar) {
+ /* Here we would first query downstream for a context but we have no pads */
+ msg = gst_message_new_need_context (GST_OBJECT (element));
+ gst_message_add_context_type (msg, "foobar");
+ gst_element_post_message (element, msg);
+
+ context = gst_element_get_context (element);
+ if (context) {
+ s = gst_context_get_structure (context);
+ if (gst_structure_has_field (s, "foobar"))
+ have_foobar = TRUE;
+ gst_context_unref (context);
+ }
+ }
+
+ if (celement->set_from_need_context && !have_foobar)
+ return GST_STATE_CHANGE_FAILURE;
+ else if (celement->set_from_need_context)
+ return
+ GST_ELEMENT_CLASS (gst_context_element_parent_class)->change_state
+ (element, transition);
+
+ if (celement->create_self && have_foobar)
+ return GST_STATE_CHANGE_FAILURE;
+
+ if (!have_foobar) {
+ GstStructure *s2;
+ context = gst_element_get_context (element);
+ if (context)
+ context = gst_context_make_writable (context);
+ else
+ context = gst_context_new ();
+ s2 = gst_context_writable_structure (context);
+ gst_structure_set (s2, "foobar", G_TYPE_INT, 123, NULL);
+ gst_element_set_context (element, context);
+ msg =
+ gst_message_new_have_context (GST_OBJECT (element),
+ gst_context_ref (context));
+ gst_element_post_message (element, msg);
+ gst_context_unref (context);
+ }
+ return
+ GST_ELEMENT_CLASS (gst_context_element_parent_class)->change_state
+ (element, transition);
+ }
+
+ return
+ GST_ELEMENT_CLASS (gst_context_element_parent_class)->change_state
+ (element, transition);
+}
+
+static void
+gst_context_element_class_init (GstContextElementClass * klass)
+{
+ GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
+
+ gstelement_class->set_context = gst_context_element_set_context;
+ gstelement_class->change_state = gst_context_element_change_state;
+}
+
+static void
+gst_context_element_init (GstContextElement * self)
+{
+
+}
+
+GST_START_TEST (test_element_set_before_ready)
+{
+ GstBus *bus;
+ GstElement *element;
+ GstContext *context, *context2;
+ GstStructure *s;
+ const GstStructure *s2;
+ GstMessage *msg;
+
+ element = g_object_new (gst_context_element_get_type (), NULL);
+ bus = gst_bus_new ();
+ gst_element_set_bus (element, bus);
+
+ ((GstContextElement *) element)->set_before_ready = TRUE;
+
+ fail_if (gst_element_set_state (element,
+ GST_STATE_READY) == GST_STATE_CHANGE_SUCCESS);
+ fail_if (gst_bus_pop (bus) != NULL);
+
+ context = gst_context_new ();
+ s = gst_context_writable_structure (context);
+ gst_structure_set (s, "foobar", G_TYPE_INT, 123, NULL);
+ gst_element_set_context (element, context);
+ fail_unless (gst_element_set_state (element,
+ GST_STATE_READY) == GST_STATE_CHANGE_SUCCESS);
+ fail_unless ((msg =
+ gst_bus_pop_filtered (bus, GST_MESSAGE_STATE_CHANGED)) != NULL);
+ gst_message_unref (msg);
+ fail_if (gst_bus_pop (bus) != NULL);
+
+ context2 = gst_element_get_context (element);
+ fail_unless (GST_IS_CONTEXT (context2));
+ s2 = gst_context_get_structure (context2);
+ fail_unless (gst_structure_is_equal (s, s2));
+
+ gst_context_unref (context);
+ gst_context_unref (context2);
+
+ gst_element_set_bus (element, NULL);
+ fail_unless (gst_element_set_state (element,
+ GST_STATE_NULL) == GST_STATE_CHANGE_SUCCESS);
+
+ gst_object_unref (bus);
+ gst_object_unref (element);
+}
+
+GST_END_TEST;
+
+static GstBusSyncReply
+sync_handler (GstBus * bus, GstMessage * message, gpointer user_data)
+{
+ if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_NEED_CONTEXT) {
+ guint n;
+ const gchar *type;
+ GstElement *element = GST_ELEMENT (GST_MESSAGE_SRC (message));
+ GstContext *context;
+ GstStructure *s;
+
+ n = gst_message_get_n_context_types (message);
+ fail_unless (n == 1);
+ fail_unless (gst_message_parse_nth_context_type (message, 0, &type));
+ fail_unless_equals_string (type, "foobar");
+ context = gst_element_get_context (element);
+ if (context)
+ context = gst_context_make_writable (context);
+ else
+ context = gst_context_new ();
+ s = gst_context_writable_structure (context);
+ gst_structure_set (s, "foobar", G_TYPE_INT, 123, NULL);
+ gst_element_set_context (element, context);
+ gst_context_unref (context);
+ }
+
+ return GST_BUS_PASS;
+}
+
+GST_START_TEST (test_element_set_from_need_context)
+{
+ GstBus *bus;
+ GstElement *element;
+ GstContext *context;
+ const GstStructure *s;
+ GstMessage *msg;
+
+ element = g_object_new (gst_context_element_get_type (), NULL);
+ bus = gst_bus_new ();
+ gst_bus_set_sync_handler (bus, sync_handler, NULL, NULL);
+ gst_element_set_bus (element, bus);
+
+ ((GstContextElement *) element)->set_from_need_context = TRUE;
+
+ fail_unless (gst_element_set_state (element,
+ GST_STATE_READY) == GST_STATE_CHANGE_SUCCESS);
+ fail_unless ((msg =
+ gst_bus_pop_filtered (bus, GST_MESSAGE_NEED_CONTEXT)) != NULL);
+ gst_message_unref (msg);
+ fail_unless ((msg =
+ gst_bus_pop_filtered (bus, GST_MESSAGE_STATE_CHANGED)) != NULL);
+ gst_message_unref (msg);
+ fail_if (gst_bus_pop (bus) != NULL);
+
+ context = gst_element_get_context (element);
+ fail_unless (GST_IS_CONTEXT (context));
+ s = gst_context_get_structure (context);
+ fail_unless (gst_structure_has_field (s, "foobar"));
+
+ gst_context_unref (context);
+
+ gst_element_set_bus (element, NULL);
+ fail_unless (gst_element_set_state (element,
+ GST_STATE_NULL) == GST_STATE_CHANGE_SUCCESS);
+
+ gst_object_unref (bus);
+ gst_object_unref (element);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_element_create_self)
+{
+ GstBus *bus;
+ GstElement *element;
+ GstContext *context;
+ const GstStructure *s;
+ GstMessage *msg;
+
+ element = g_object_new (gst_context_element_get_type (), NULL);
+ bus = gst_bus_new ();
+ gst_element_set_bus (element, bus);
+
+ ((GstContextElement *) element)->create_self = TRUE;
+
+ fail_unless (gst_element_set_state (element,
+ GST_STATE_READY) == GST_STATE_CHANGE_SUCCESS);
+ fail_unless ((msg =
+ gst_bus_pop_filtered (bus, GST_MESSAGE_NEED_CONTEXT)) != NULL);
+ gst_message_unref (msg);
+ fail_unless ((msg =
+ gst_bus_pop_filtered (bus, GST_MESSAGE_HAVE_CONTEXT)) != NULL);
+ gst_message_parse_have_context (msg, &context);
+ fail_unless (GST_IS_CONTEXT (context));
+ s = gst_context_get_structure (context);
+ fail_unless (gst_structure_has_field (s, "foobar"));
+ gst_context_unref (context);
+ gst_message_unref (msg);
+ fail_unless ((msg =
+ gst_bus_pop_filtered (bus, GST_MESSAGE_STATE_CHANGED)) != NULL);
+ gst_message_unref (msg);
+ fail_if (gst_bus_pop (bus) != NULL);
+
+ context = gst_element_get_context (element);
+ fail_unless (GST_IS_CONTEXT (context));
+ s = gst_context_get_structure (context);
+ fail_unless (gst_structure_has_field (s, "foobar"));
+
+ gst_context_unref (context);
+
+ gst_element_set_bus (element, NULL);
+ fail_unless (gst_element_set_state (element,
+ GST_STATE_NULL) == GST_STATE_CHANGE_SUCCESS);
+
+ gst_object_unref (bus);
+ gst_object_unref (element);
+}
+
+GST_END_TEST;
+
+static Suite *
+gst_context_suite (void)
+{
+ Suite *s = suite_create ("GstContext");
+ TCase *tc_chain = tcase_create ("context tests");
+
+ tcase_set_timeout (tc_chain, 0);
+
+ suite_add_tcase (s, tc_chain);
+ tcase_add_test (tc_chain, test_basic);
+ tcase_add_test (tc_chain, test_element_set_before_ready);
+ tcase_add_test (tc_chain, test_element_set_from_need_context);
+ tcase_add_test (tc_chain, test_element_create_self);
+
+ return s;
+}
+
+GST_CHECK_MAIN (gst_context);
diff --git a/tests/check/gst/gstcontroller.c b/tests/check/gst/gstcontroller.c
index 205b89b..531e727 100644
--- a/tests/check/gst/gstcontroller.c
+++ b/tests/check/gst/gstcontroller.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -127,6 +127,7 @@ static void
gst_test_obj_class_init (GstTestObjClass * klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gobject_class->set_property = gst_test_obj_set_property;
gobject_class->get_property = gst_test_obj_get_property;
@@ -171,12 +172,6 @@ gst_test_obj_class_init (GstTestObjClass * klass)
"construct-only prop",
"construct-only parameter",
0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-}
-
-static void
-gst_test_obj_base_init (GstTestObjClass * klass)
-{
- GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_set_metadata (element_class,
"test object for unit tests",
@@ -192,7 +187,7 @@ gst_test_obj_get_type (void)
GType type;
static const GTypeInfo info = {
(guint16) sizeof (GstTestObjClass),
- (GBaseInitFunc) gst_test_obj_base_init, // base_init
+ NULL, // base_init
NULL, // base_finalize
(GClassInitFunc) gst_test_obj_class_init, // class_init
NULL, // class_finalize
@@ -301,6 +296,11 @@ gst_test_control_source_get_type (void)
/* test control binding */
+enum
+{
+ PROP_CS = 1,
+};
+
#define GST_TYPE_TEST_CONTROL_BINDING (gst_test_control_binding_get_type ())
#define GST_TEST_CONTROL_BINDING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TEST_CONTROL_BINDING, GstTestControlBinding))
#define GST_TEST_CONTROL_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_TEST_CONTROL_BINDING, GstTestControlBindingClass))
@@ -338,12 +338,36 @@ gst_test_control_binding_new (GstObject * object, const gchar * property_name,
return (GstControlBinding *) self;
}
-static GstControlSource *
-gst_test_control_binding_get_control_source (GstTestControlBinding * self)
+static void
+gst_test_control_binding_get_property (GObject * object,
+ guint property_id, GValue * value, GParamSpec * pspec)
+{
+ GstTestControlBinding *self = GST_TEST_CONTROL_BINDING (object);
+
+ switch (property_id) {
+ case PROP_CS:
+ g_value_set_object (value, self->cs);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static void
+gst_test_control_binding_set_property (GObject * object,
+ guint property_id, const GValue * value, GParamSpec * pspec)
{
- g_return_val_if_fail (GST_IS_TEST_CONTROL_BINDING (self), NULL);
+ GstTestControlBinding *self = GST_TEST_CONTROL_BINDING (object);
- return self->cs ? gst_object_ref (self->cs) : NULL;
+ switch (property_id) {
+ case PROP_CS:
+ self->cs = g_value_dup_object (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
}
static void
@@ -363,7 +387,14 @@ gst_test_control_binding_class_init (gpointer klass, gpointer class_data)
gst_test_control_binding_parent_class = g_type_class_peek_parent (klass);
+ gobject_class->set_property = gst_test_control_binding_set_property;
+ gobject_class->get_property = gst_test_control_binding_get_property;
gobject_class->finalize = gst_test_control_binding_finalize;
+
+ g_object_class_install_property (gobject_class, PROP_CS,
+ g_param_spec_object ("control-source", "ControlSource",
+ "The control source",
+ GST_TYPE_CONTROL_SOURCE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
}
static GType
@@ -629,9 +660,7 @@ GST_START_TEST (controller_controlsource_refcounts)
test_cb = gst_object_get_control_binding (GST_OBJECT (elem), "int");
fail_unless (test_cb != NULL, NULL);
- test_cs =
- gst_test_control_binding_get_control_source (GST_TEST_CONTROL_BINDING
- (test_cb));
+ g_object_get (test_cb, "control-source", &test_cs, NULL);
fail_unless (test_cs != NULL, NULL);
fail_unless (test_cs == cs);
fail_unless_equals_int (G_OBJECT (cs)->ref_count, 3);
diff --git a/tests/check/gst/gstdatetime.c b/tests/check/gst/gstdatetime.c
index c770a2c..eb637c4 100644
--- a/tests/check/gst/gstdatetime.c
+++ b/tests/check/gst/gstdatetime.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/gst/gstelement.c b/tests/check/gst/gstelement.c
index 5bb45da..8732611 100644
--- a/tests/check/gst/gstelement.c
+++ b/tests/check/gst/gstelement.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstelementfactory.c b/tests/check/gst/gstelementfactory.c
index 52a668f..366a1c2 100644
--- a/tests/check/gst/gstelementfactory.c
+++ b/tests/check/gst/gstelementfactory.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "../../gst/gst_private.h"
diff --git a/tests/check/gst/gstevent.c b/tests/check/gst/gstevent.c
index acca8ac..7aae693 100644
--- a/tests/check/gst/gstevent.c
+++ b/tests/check/gst/gstevent.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -198,6 +198,27 @@ GST_START_TEST (create_events)
gst_event_unref (event);
}
+ /* STREAM_START */
+ {
+ GstStreamFlags flags = ~GST_STREAM_FLAG_NONE;
+
+ event = gst_event_new_stream_start ("7f4b2f0/audio_02");
+ fail_if (event == NULL);
+ fail_unless (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_START);
+ fail_if (GST_EVENT_IS_UPSTREAM (event));
+ fail_unless (GST_EVENT_IS_DOWNSTREAM (event));
+ fail_unless (GST_EVENT_IS_SERIALIZED (event));
+ gst_event_parse_stream_flags (event, &flags);
+ fail_unless_equals_int (flags, GST_STREAM_FLAG_NONE);
+ gst_event_set_stream_flags (event, GST_STREAM_FLAG_SPARSE);
+ gst_event_parse_stream_flags (event, &flags);
+ fail_unless_equals_int (flags, GST_STREAM_FLAG_SPARSE);
+ gst_event_ref (event);
+ ASSERT_CRITICAL (gst_event_set_stream_flags (event, GST_STREAM_FLAG_NONE));
+ gst_event_unref (event);
+ gst_event_unref (event);
+ }
+
/* NAVIGATION */
{
structure = gst_structure_new ("application/x-gst-navigation", "event",
diff --git a/tests/check/gst/gstghostpad.c b/tests/check/gst/gstghostpad.c
index ba037aa..c274e6d 100644
--- a/tests/check/gst/gstghostpad.c
+++ b/tests/check/gst/gstghostpad.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
@@ -1130,6 +1130,7 @@ GST_START_TEST (test_ghost_pads_remove_while_playing)
{
GstPad *sinkpad;
GstPad *srcpad;
+ GstSegment segment;
bin = gst_bin_new (NULL);
gst_element_set_state (bin, GST_STATE_PLAYING);
@@ -1147,6 +1148,12 @@ GST_START_TEST (test_ghost_pads_remove_while_playing)
gst_pad_set_active (srcpad, TRUE);
gst_pad_link (srcpad, ghostsink);
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
+ fail_unless (gst_pad_push_event (srcpad,
+ gst_event_new_stream_start ("test")) == TRUE);
+ fail_unless (gst_pad_push_event (srcpad,
+ gst_event_new_segment (&segment)) == TRUE);
+
gst_pad_add_probe (ghostsrc, GST_PAD_PROBE_TYPE_BUFFER,
remove_ghostpad_probe_cb, NULL, NULL);
diff --git a/tests/check/gst/gstinfo.c b/tests/check/gst/gstinfo.c
index bc786ee..29f272c 100644
--- a/tests/check/gst/gstinfo.c
+++ b/tests/check/gst/gstinfo.c
@@ -16,14 +16,19 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
+#include <string.h>
+
#ifndef GST_DISABLE_GST_DEBUG
+static GList *messages; /* NULL */
+static gboolean save_messages; /* FALSE */
+
static void
printf_extension_log_func (GstDebugCategory * category,
GstDebugLevel level, const gchar * file, const gchar * function,
@@ -34,6 +39,9 @@ printf_extension_log_func (GstDebugCategory * category,
dbg_msg = gst_debug_message_get (message);
fail_unless (dbg_msg != NULL);
+ if (save_messages)
+ messages = g_list_append (messages, g_strdup (dbg_msg));
+
/* g_print ("%s\n", dbg_msg); */
/* quick hack to still get stuff to show if GST_DEBUG is set */
@@ -241,6 +249,71 @@ GST_START_TEST (info_fixme)
}
GST_END_TEST;
+
+/* need this indirection so the compiler doesn't check the printf format
+ * like it would if we used GST_INFO directly (it would complain) */
+static void
+call_GST_INFO (const gchar * format, ...)
+{
+ va_list var_args;
+
+ va_start (var_args, format);
+ gst_debug_log_valist (GST_CAT_DEFAULT, GST_LEVEL_INFO, __FILE__, GST_FUNCTION,
+ __LINE__, NULL, format, var_args);
+ va_end (var_args);
+}
+
+GST_START_TEST (info_old_printf_extensions)
+{
+ GstSegment segment;
+ GstCaps *caps;
+ gchar *str;
+
+ /* set up our own log function to make sure the code in gstinfo is actually
+ * executed without GST_DEBUG being set or it being output to stdout */
+ gst_debug_remove_log_function (gst_debug_log_default);
+ gst_debug_add_log_function (printf_extension_log_func, NULL, NULL);
+
+ gst_debug_set_default_threshold (GST_LEVEL_LOG);
+
+ save_messages = TRUE;
+
+ fail_unless (messages == NULL);
+
+ gst_segment_init (&segment, GST_FORMAT_TIME);
+ caps = gst_caps_new_simple ("foo/bar", "width", G_TYPE_INT, 4096,
+ "framerate", GST_TYPE_FRACTION, 50, 1, "format", G_TYPE_STRING, "ARGB",
+ NULL);
+ call_GST_INFO ("Segment %Q, caps are %P", &segment, caps);
+ gst_caps_unref (caps);
+
+ fail_unless_equals_int (g_list_length (messages), 1);
+ str = (gchar *) messages->data;
+ fail_unless (str != NULL);
+
+ GST_INFO ("str = '%s'", str);
+
+ fail_unless (strstr (str, "time") != NULL);
+ fail_unless (strstr (str, "start=0:00:00.000000000") != NULL);
+ fail_unless (strstr (str, "stop=99:99:99.999999999") != NULL);
+ fail_unless (strstr (str, "applied_rate=1.000000") != NULL);
+
+ fail_unless (strstr (str, " caps are ") != NULL);
+ fail_unless (strstr (str, "foo/bar") != NULL);
+ fail_unless (strstr (str, "width=(int)4096") != NULL);
+ fail_unless (strstr (str, "framerate=(fraction)50/1") != NULL);
+ fail_unless (strstr (str, "ARGB") != NULL);
+
+ /* clean up */
+ gst_debug_set_default_threshold (GST_LEVEL_NONE);
+ gst_debug_add_log_function (gst_debug_log_default, NULL, NULL);
+ gst_debug_remove_log_function (printf_extension_log_func);
+ save_messages = FALSE;
+ g_list_foreach (messages, (GFunc) g_free, NULL);
+ messages = NULL;
+}
+
+GST_END_TEST;
#endif
static Suite *
@@ -258,6 +331,7 @@ gst_info_suite (void)
tcase_add_test (tc_chain, info_log_handler);
tcase_add_test (tc_chain, info_dump_mem);
tcase_add_test (tc_chain, info_fixme);
+ tcase_add_test (tc_chain, info_old_printf_extensions);
#endif
return s;
diff --git a/tests/check/gst/gstiterator.c b/tests/check/gst/gstiterator.c
index d7b589e..7b90771 100644
--- a/tests/check/gst/gstiterator.c
+++ b/tests/check/gst/gstiterator.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/tests/check/gst/gstmemory.c b/tests/check/gst/gstmemory.c
index 9d209e9..486f6fe 100644
--- a/tests/check/gst/gstmemory.c
+++ b/tests/check/gst/gstmemory.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/gst/gstmessage.c b/tests/check/gst/gstmessage.c
index 682faf6..94d5cdd 100644
--- a/tests/check/gst/gstmessage.c
+++ b/tests/check/gst/gstmessage.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstmeta.c b/tests/check/gst/gstmeta.c
index 0f2355b..0cb034f 100644
--- a/tests/check/gst/gstmeta.c
+++ b/tests/check/gst/gstmeta.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/gst/gstminiobject.c b/tests/check/gst/gstminiobject.c
index 237f7e4..6351b70 100644
--- a/tests/check/gst/gstminiobject.c
+++ b/tests/check/gst/gstminiobject.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstobject.c b/tests/check/gst/gstobject.c
index ce2ed3e..96f6bcf 100644
--- a/tests/check/gst/gstobject.c
+++ b/tests/check/gst/gstobject.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/gst/gstpad.c b/tests/check/gst/gstpad.c
index 2b537e1..406d1ce 100644
--- a/tests/check/gst/gstpad.c
+++ b/tests/check/gst/gstpad.c
@@ -15,12 +15,14 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
+static GstSegment dummy_segment;
+
GST_START_TEST (test_link)
{
GstPad *src, *sink;
@@ -226,7 +228,14 @@ sticky_event (GstPad * pad, GstObject * parent, GstEvent * event)
{
GstCaps *caps;
- fail_unless (GST_EVENT_TYPE (event) == GST_EVENT_CAPS);
+ fail_unless (GST_EVENT_TYPE (event) == GST_EVENT_CAPS
+ || GST_EVENT_TYPE (event) == GST_EVENT_STREAM_START
+ || GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT);
+
+ if (GST_EVENT_TYPE (event) != GST_EVENT_CAPS) {
+ gst_event_unref (event);
+ return TRUE;
+ }
/* Ensure we get here just once: */
fail_unless (event_caps == NULL);
@@ -268,14 +277,21 @@ GST_START_TEST (test_sticky_caps_unlinked)
gst_object_unref (src_template);
gst_object_unref (sink_template);
+ gst_pad_set_active (src, TRUE);
+
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_stream_start ("test")) == TRUE);
+
caps = gst_caps_from_string ("foo/bar, dummy=(int)1");
ASSERT_CAPS_REFCOUNT (caps, "caps", 1);
event = gst_event_new_caps (caps);
- gst_pad_set_active (src, TRUE);
fail_unless (gst_pad_push_event (src, event) == TRUE);
fail_unless (event_caps == NULL);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
/* Linking and activating will not forward the sticky event yet... */
fail_unless (GST_PAD_LINK_SUCCESSFUL (gst_pad_link (src, sink)));
gst_pad_set_active (sink, TRUE);
@@ -286,9 +302,10 @@ GST_START_TEST (test_sticky_caps_unlinked)
fail_unless (event_caps == caps);
fail_unless_equals_int (g_list_length (buffers), 1);
+ gst_check_drop_buffers ();
+
gst_caps_replace (&caps, NULL);
gst_caps_replace (&event_caps, NULL);
-
ASSERT_OBJECT_REFCOUNT (src, "src", 1);
ASSERT_OBJECT_REFCOUNT (sink, "sink", 1);
gst_object_unref (src);
@@ -330,17 +347,24 @@ GST_START_TEST (test_sticky_caps_unlinked_incompatible)
gst_object_unref (src_template);
gst_object_unref (sink_template);
+ gst_pad_set_active (src, TRUE);
+
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_stream_start ("test")) == TRUE);
+
failcaps = gst_caps_from_string ("pony/express, failure=(boolean)true");
ASSERT_CAPS_REFCOUNT (failcaps, "caps", 1);
event = gst_event_new_caps (failcaps);
gst_caps_unref (failcaps);
- gst_pad_set_active (src, TRUE);
/* The pad isn't linked yet, and anything matches the source pad template
* (which is ANY) */
fail_unless (gst_pad_push_event (src, event) == TRUE);
fail_unless (event_caps == NULL);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
/* Linking and activating will not forward the sticky event yet... */
fail_unless (GST_PAD_LINK_SUCCESSFUL (gst_pad_link (src, sink)));
gst_pad_set_active (sink, TRUE);
@@ -355,6 +379,8 @@ GST_START_TEST (test_sticky_caps_unlinked_incompatible)
/* We shouldn't have received any buffers since caps are incompatible */
fail_unless_equals_int (g_list_length (buffers), 0);
+ gst_check_drop_buffers ();
+
gst_caps_replace (&event_caps, NULL);
ASSERT_OBJECT_REFCOUNT (src, "src", 1);
@@ -397,12 +423,18 @@ GST_START_TEST (test_sticky_caps_flushing)
ASSERT_CAPS_REFCOUNT (caps, "caps", 1);
event = gst_event_new_caps (caps);
+
gst_pad_set_active (src, TRUE);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_stream_start ("test")) == TRUE);
/* The caps event gets accepted by the source pad (and stored) */
fail_unless (gst_pad_push_event (src, event) == TRUE);
/* But wasn't forwarded since the sink pad is flushing (not activated) */
fail_unless (event_caps == NULL);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
/* Activating will not forward the sticky event yet... */
gst_pad_set_active (sink, TRUE);
fail_unless (event_caps == NULL);
@@ -412,6 +444,8 @@ GST_START_TEST (test_sticky_caps_flushing)
fail_unless (event_caps == caps);
fail_unless_equals_int (g_list_length (buffers), 1);
+ gst_check_drop_buffers ();
+
gst_caps_replace (&caps, NULL);
gst_caps_replace (&event_caps, NULL);
@@ -493,9 +527,13 @@ GST_START_TEST (test_push_unlinked)
gst_buffer_unref (buffer);
gst_pad_set_active (src, TRUE);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_stream_start ("test")) == TRUE);
GST_DEBUG ("push caps event inactive");
gst_pad_set_caps (src, caps);
ASSERT_CAPS_REFCOUNT (caps, "caps", 2);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
/* pushing on an unlinked pad will drop the buffer */
GST_DEBUG ("push buffer unlinked");
@@ -563,15 +601,22 @@ GST_START_TEST (test_push_linked)
ASSERT_CAPS_REFCOUNT (caps, "caps", 1);
gst_pad_set_active (src, TRUE);
+
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_stream_start ("test")) == TRUE);
+
gst_pad_set_caps (src, caps);
+
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
gst_pad_set_active (sink, TRUE);
- gst_pad_set_caps (sink, caps);
/* one for me and one for each set_caps */
- ASSERT_CAPS_REFCOUNT (caps, "caps", 3);
+ ASSERT_CAPS_REFCOUNT (caps, "caps", 2);
plr = gst_pad_link (src, sink);
fail_unless (GST_PAD_LINK_SUCCESSFUL (plr));
- ASSERT_CAPS_REFCOUNT (caps, "caps", 3);
+ ASSERT_CAPS_REFCOUNT (caps, "caps", 2);
buffer = gst_buffer_new ();
@@ -654,16 +699,19 @@ GST_START_TEST (test_push_linked_flushing)
ASSERT_CAPS_REFCOUNT (caps, "caps", 1);
gst_pad_set_active (src, TRUE);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_stream_start ("test")) == TRUE);
gst_pad_set_caps (src, caps);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
/* need to activate to make it accept the caps */
gst_pad_set_active (sink, TRUE);
- gst_pad_set_caps (sink, caps);
/* one for me and one for each set_caps */
- ASSERT_CAPS_REFCOUNT (caps, "caps", 3);
+ ASSERT_CAPS_REFCOUNT (caps, "caps", 2);
plr = gst_pad_link (src, sink);
fail_unless (GST_PAD_LINK_SUCCESSFUL (plr));
- ASSERT_CAPS_REFCOUNT (caps, "caps", 3);
+ ASSERT_CAPS_REFCOUNT (caps, "caps", 2);
/* not activating the pads here, which keeps them flushing */
gst_pad_set_active (src, FALSE);
@@ -680,13 +728,18 @@ GST_START_TEST (test_push_linked_flushing)
gst_pad_set_active (src, TRUE);
gst_pad_set_active (sink, FALSE);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_stream_start ("test")) == TRUE);
+ gst_pad_set_caps (src, caps);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
/* adding a probe that returns FALSE will drop the buffer without trying
* to chain */
id = gst_pad_add_probe (src, GST_PAD_PROBE_TYPE_BUFFER, _probe_handler,
GINT_TO_POINTER (0), NULL);
buffer = gst_buffer_new ();
gst_buffer_ref (buffer);
- fail_unless (gst_pad_push (src, buffer) == GST_FLOW_OK);
+ fail_unless (gst_pad_push (src, buffer) == GST_FLOW_FLUSHING);
ASSERT_MINI_OBJECT_REFCOUNT (buffer, "buffer", 1);
fail_unless_equals_int (g_list_length (buffers), 0);
gst_buffer_unref (buffer);
@@ -705,7 +758,7 @@ GST_START_TEST (test_push_linked_flushing)
gst_pad_remove_probe (src, id);
/* cleanup */
- ASSERT_CAPS_REFCOUNT (caps, "caps", 1);
+ ASSERT_CAPS_REFCOUNT (caps, "caps", 2);
ASSERT_OBJECT_REFCOUNT (src, "src", 1);
gst_pad_link (src, sink);
gst_object_unref (src);
@@ -764,9 +817,16 @@ GST_START_TEST (test_push_buffer_list_compat)
caps = gst_caps_from_string ("foo/bar");
gst_pad_set_active (src, TRUE);
+
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_stream_start ("test")) == TRUE);
+
gst_pad_set_caps (src, caps);
+
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
gst_pad_set_active (sink, TRUE);
- gst_pad_set_caps (sink, caps);
plr = gst_pad_link (src, sink);
fail_unless (GST_PAD_LINK_SUCCESSFUL (plr));
@@ -999,6 +1059,12 @@ GST_START_TEST (test_block_async)
fail_unless (pad != NULL);
gst_pad_set_active (pad, TRUE);
+
+ fail_unless (gst_pad_push_event (pad,
+ gst_event_new_stream_start ("test")) == TRUE);
+ fail_unless (gst_pad_push_event (pad,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
id = gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BLOCK, block_async_cb, &data,
NULL);
@@ -1035,6 +1101,12 @@ test_pad_blocking_with_type (GstPadProbeType type)
fail_unless (pad != NULL);
gst_pad_set_active (pad, TRUE);
+
+ fail_unless (gst_pad_push_event (pad,
+ gst_event_new_stream_start ("test")) == TRUE);
+ fail_unless (gst_pad_push_event (pad,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
id = gst_pad_add_probe (pad, type, block_async_cb_return_ok, NULL, NULL);
@@ -1120,6 +1192,85 @@ GST_START_TEST (test_pad_probe_remove)
GST_END_TEST;
+static gboolean src_flush_start_probe_called = FALSE;
+static gboolean src_flush_stop_probe_called = FALSE;
+static gboolean sink_flush_start_probe_called = FALSE;
+static gboolean sink_flush_stop_probe_called = FALSE;
+
+static GstPadProbeReturn
+flush_probe_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+ GstEvent *event;
+
+ if (!(GST_PAD_PROBE_INFO_TYPE (info) & GST_PAD_PROBE_TYPE_EVENT_FLUSH))
+ goto out;
+
+ event = gst_pad_probe_info_get_event (info);
+ switch (GST_EVENT_TYPE (event)) {
+ case GST_EVENT_FLUSH_START:
+ if (GST_PAD_DIRECTION (pad) == GST_PAD_SRC)
+ src_flush_start_probe_called = TRUE;
+ else
+ sink_flush_start_probe_called = TRUE;
+ break;
+ case GST_EVENT_FLUSH_STOP:
+ if (GST_PAD_DIRECTION (pad) == GST_PAD_SRC)
+ src_flush_stop_probe_called = TRUE;
+ else
+ sink_flush_stop_probe_called = TRUE;
+ break;
+ default:
+ break;
+ }
+
+out:
+ return GST_PAD_PROBE_OK;
+}
+
+GST_START_TEST (test_pad_probe_flush_events)
+{
+ GstPad *src, *sink;
+
+ src = gst_pad_new ("src", GST_PAD_SRC);
+ sink = gst_pad_new ("sink", GST_PAD_SINK);
+ gst_pad_set_chain_function (sink, gst_check_chain_func);
+ gst_pad_set_active (src, TRUE);
+ gst_pad_set_active (sink, TRUE);
+
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_stream_start ("test")) == TRUE);
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
+ fail_unless (gst_pad_link (src, sink) == GST_PAD_LINK_OK);
+
+ gst_pad_add_probe (src,
+ GST_PAD_PROBE_TYPE_PUSH | GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM |
+ GST_PAD_PROBE_TYPE_EVENT_FLUSH, flush_probe_cb, NULL, NULL);
+ gst_pad_add_probe (sink,
+ GST_PAD_PROBE_TYPE_PUSH | GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM |
+ GST_PAD_PROBE_TYPE_EVENT_FLUSH, flush_probe_cb, NULL, NULL);
+
+ gst_pad_push_event (src, gst_event_new_flush_start ());
+ gst_pad_push_event (src, gst_event_new_flush_stop (TRUE));
+
+ fail_unless (gst_pad_push_event (src,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
+ /* push a buffer so the events are propagated downstream */
+ gst_pad_push (src, gst_buffer_new ());
+
+ fail_unless (src_flush_start_probe_called);
+ fail_unless (src_flush_stop_probe_called);
+ fail_unless (sink_flush_start_probe_called);
+ fail_unless (sink_flush_stop_probe_called);
+
+ gst_object_unref (src);
+ gst_object_unref (sink);
+}
+
+GST_END_TEST;
+
static gboolean got_notify;
static void
@@ -1280,6 +1431,11 @@ GST_START_TEST (test_block_async_full_destroy)
fail_unless (pad != NULL);
gst_pad_set_active (pad, TRUE);
+ fail_unless (gst_pad_push_event (pad,
+ gst_event_new_stream_start ("test")) == TRUE);
+ fail_unless (gst_pad_push_event (pad,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
id = gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BLOCK, block_async_full_cb,
&state, block_async_full_destroy);
fail_unless (state == 0);
@@ -1309,6 +1465,11 @@ GST_START_TEST (test_block_async_full_destroy_dispose)
fail_unless (pad != NULL);
gst_pad_set_active (pad, TRUE);
+ fail_unless (gst_pad_push_event (pad,
+ gst_event_new_stream_start ("test")) == TRUE);
+ fail_unless (gst_pad_push_event (pad,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
(void) gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BLOCK, block_async_full_cb,
&state, block_async_full_destroy);
@@ -1419,6 +1580,11 @@ GST_START_TEST (test_block_async_replace_callback_no_flush)
fail_unless (pad != NULL);
gst_pad_set_active (pad, TRUE);
+ fail_unless (gst_pad_push_event (pad,
+ gst_event_new_stream_start ("test")) == TRUE);
+ fail_unless (gst_pad_push_event (pad,
+ gst_event_new_segment (&dummy_segment)) == TRUE);
+
GST_DEBUG ("adding probe");
id = gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BLOCK,
block_async_first_no_flush, bool_user_data, NULL);
@@ -1474,19 +1640,36 @@ test_sticky_events_handler (GstPad * pad, GstObject * parent, GstEvent * event)
return TRUE;
}
+static GstFlowReturn
+test_sticky_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
+{
+ gst_buffer_unref (buffer);
+ return GST_FLOW_OK;
+}
+
GST_START_TEST (test_sticky_events)
{
GstPad *srcpad, *sinkpad;
GstCaps *caps;
GstSegment seg;
+ gchar *id;
/* make unlinked srcpad */
srcpad = gst_pad_new ("src", GST_PAD_SRC);
fail_unless (srcpad != NULL);
gst_pad_set_active (srcpad, TRUE);
+ /* test stream-start */
+ fail_unless (gst_pad_get_stream_id (srcpad) == NULL);
+
/* push an event, it should be sticky on the srcpad */
- gst_pad_push_event (srcpad, gst_event_new_stream_start ("test"));
+ fail_unless (gst_pad_push_event (srcpad,
+ gst_event_new_stream_start ("test")) == TRUE);
+
+ /* let's see if it stuck */
+ id = gst_pad_get_stream_id (srcpad);
+ fail_unless_equals_string (id, "test");
+ g_free (id);
/* make a caps event */
caps = gst_caps_new_empty_simple ("foo/bar");
@@ -1502,6 +1685,7 @@ GST_START_TEST (test_sticky_events)
fail_unless (sinkpad != NULL);
sticky_count = 0;
gst_pad_set_event_function (sinkpad, test_sticky_events_handler);
+ gst_pad_set_chain_function (sinkpad, test_sticky_chain);
fail_unless (sticky_count == 0);
gst_pad_set_active (sinkpad, TRUE);
@@ -1516,8 +1700,13 @@ GST_START_TEST (test_sticky_events)
gst_pad_push_event (srcpad, gst_event_new_caps (caps));
gst_caps_unref (caps);
- /* should have triggered 2 events */
- fail_unless (sticky_count == 3);
+ /* should have triggered 2 events, the segment event is still pending */
+ fail_unless_equals_int (sticky_count, 2);
+
+ fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_OK);
+
+ /* should have triggered 3 events */
+ fail_unless_equals_int (sticky_count, 3);
gst_object_unref (srcpad);
gst_object_unref (sinkpad);
@@ -1534,6 +1723,8 @@ gst_pad_suite (void)
/* turn off timeout */
tcase_set_timeout (tc_chain, 60);
+ gst_segment_init (&dummy_segment, GST_FORMAT_BYTES);
+
suite_add_tcase (s, tc_chain);
tcase_add_test (tc_chain, test_link);
tcase_add_test (tc_chain, test_refcount);
@@ -1555,6 +1746,7 @@ gst_pad_suite (void)
tcase_add_test (tc_chain, test_pad_blocking_with_probe_type_block);
tcase_add_test (tc_chain, test_pad_blocking_with_probe_type_blocking);
tcase_add_test (tc_chain, test_pad_probe_remove);
+ tcase_add_test (tc_chain, test_pad_probe_flush_events);
tcase_add_test (tc_chain, test_queue_src_caps_notify_linked);
tcase_add_test (tc_chain, test_queue_src_caps_notify_not_linked);
#if 0
diff --git a/tests/check/gst/gstparamspecs.c b/tests/check/gst/gstparamspecs.c
index 5db7408..ad2e99b 100644
--- a/tests/check/gst/gstparamspecs.c
+++ b/tests/check/gst/gstparamspecs.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstpipeline.c b/tests/check/gst/gstpipeline.c
index 038f340..e1b4670 100644
--- a/tests/check/gst/gstpipeline.c
+++ b/tests/check/gst/gstpipeline.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
diff --git a/tests/check/gst/gstplugin.c b/tests/check/gst/gstplugin.c
index c4c3395..7e69629 100644
--- a/tests/check/gst/gstplugin.c
+++ b/tests/check/gst/gstplugin.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "config.h"
diff --git a/tests/check/gst/gstpoll.c b/tests/check/gst/gstpoll.c
index d25c421..3357bf5 100644
--- a/tests/check/gst/gstpoll.c
+++ b/tests/check/gst/gstpoll.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <unistd.h>
@@ -327,12 +327,22 @@ gst_poll_suite (void)
tcase_set_timeout (tc_chain, 60);
suite_add_tcase (s, tc_chain);
+
+#ifndef G_OS_WIN32
tcase_add_test (tc_chain, test_poll_basic);
tcase_add_test (tc_chain, test_poll_wait);
tcase_add_test (tc_chain, test_poll_wait_stop);
tcase_add_test (tc_chain, test_poll_wait_restart);
tcase_add_test (tc_chain, test_poll_wait_flush);
tcase_add_test (tc_chain, test_poll_controllable);
+#else
+ tcase_skip_broken_test (tc_chain, test_poll_basic);
+ tcase_skip_broken_test (tc_chain, test_poll_wait);
+ tcase_skip_broken_test (tc_chain, test_poll_wait_stop);
+ tcase_skip_broken_test (tc_chain, test_poll_wait_restart);
+ tcase_skip_broken_test (tc_chain, test_poll_wait_flush);
+ tcase_skip_broken_test (tc_chain, test_poll_controllable);
+#endif
return s;
}
diff --git a/tests/check/gst/gstpreset.c b/tests/check/gst/gstpreset.c
index e731f75..82fca39 100644
--- a/tests/check/gst/gstpreset.c
+++ b/tests/check/gst/gstpreset.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/gst/gstquery.c b/tests/check/gst/gstquery.c
index b37eec2..efd9898 100644
--- a/tests/check/gst/gstquery.c
+++ b/tests/check/gst/gstquery.c
@@ -12,8 +12,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/tests/check/gst/gstregistry.c b/tests/check/gst/gstregistry.c
index 13d9772..1a7ec91 100644
--- a/tests/check/gst/gstregistry.c
+++ b/tests/check/gst/gstregistry.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/gst/gstsegment.c b/tests/check/gst/gstsegment.c
index 98d48c0..4c15133 100644
--- a/tests/check/gst/gstsegment.c
+++ b/tests/check/gst/gstsegment.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gststructure.c b/tests/check/gst/gststructure.c
index 6427481..86cd393 100644
--- a/tests/check/gst/gststructure.c
+++ b/tests/check/gst/gststructure.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/tests/check/gst/gstsystemclock.c b/tests/check/gst/gstsystemclock.c
index 946933c..7d5a146 100644
--- a/tests/check/gst/gstsystemclock.c
+++ b/tests/check/gst/gstsystemclock.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gsttag.c b/tests/check/gst/gsttag.c
index ed2e24b..fe770a0 100644
--- a/tests/check/gst/gsttag.c
+++ b/tests/check/gst/gsttag.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gsttagsetter.c b/tests/check/gst/gsttagsetter.c
index 62c6a5c..11c16b8 100644
--- a/tests/check/gst/gsttagsetter.c
+++ b/tests/check/gst/gsttagsetter.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gsttask.c b/tests/check/gst/gsttask.c
index 699219f..986c403 100644
--- a/tests/check/gst/gsttask.c
+++ b/tests/check/gst/gsttask.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gsttoc.c b/tests/check/gst/gsttoc.c
index 4a03cd7..fc5d07b 100644
--- a/tests/check/gst/gsttoc.c
+++ b/tests/check/gst/gsttoc.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/* ------- TOC -------
diff --git a/tests/check/gst/gsttocsetter.c b/tests/check/gst/gsttocsetter.c
index 2d95ce8..047c1e9 100644
--- a/tests/check/gst/gsttocsetter.c
+++ b/tests/check/gst/gsttocsetter.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gsturi.c b/tests/check/gst/gsturi.c
index 259b3a0..1d53265 100644
--- a/tests/check/gst/gsturi.c
+++ b/tests/check/gst/gsturi.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/gst/gstutils.c b/tests/check/gst/gstutils.c
index e0d0ff3..b1daf39 100644
--- a/tests/check/gst/gstutils.c
+++ b/tests/check/gst/gstutils.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -1089,22 +1089,6 @@ GST_START_TEST (test_read_macros)
guint32 uarray[2];
guint8 *cpointer;
-#define fail_unless_equals_int_hex(a, b) \
-G_STMT_START { \
- int first = a; \
- int second = b; \
- fail_unless(first == second, \
- "'" #a "' (0x%08x) is not equal to '" #b"' (0x%08x)", first, second); \
-} G_STMT_END;
-
-#define fail_unless_equals_int64_hex(a, b) \
-G_STMT_START { \
- gint64 first = a; \
- gint64 second = b; \
- fail_unless(first == second, \
- "'" #a "' (0x%016x) is not equal to '" #b"' (0x%016x)", first, second); \
-} G_STMT_END;
-
memcpy (uarray, carray, 8);
cpointer = carray;
@@ -1240,10 +1224,86 @@ G_STMT_START { \
0x4142434445464748);
fail_unless_equals_int64_hex (GST_READ_UINT64_LE (uarray),
0x4847464544434241);
+
+ /* make sure the data argument is not duplicated inside the macro
+ * with possibly unexpected side-effects */
+ cpointer = carray;
+ fail_unless_equals_int (GST_READ_UINT8 (cpointer++), 'A');
+ fail_unless (cpointer == carray + 1);
+
+ cpointer = carray;
+ fail_unless_equals_int_hex (GST_READ_UINT16_BE (cpointer++), 0x4142);
+ fail_unless (cpointer == carray + 1);
+
+ cpointer = carray;
+ fail_unless_equals_int_hex (GST_READ_UINT32_BE (cpointer++), 0x41424344);
+ fail_unless (cpointer == carray + 1);
+
+ cpointer = carray;
+ fail_unless_equals_int64_hex (GST_READ_UINT64_BE (cpointer++),
+ 0x4142434445464748);
+ fail_unless (cpointer == carray + 1);
}
GST_END_TEST;
+GST_START_TEST (test_write_macros)
+{
+ guint8 carray[8];
+ guint8 *cpointer;
+
+ /* make sure the data argument is not duplicated inside the macro
+ * with possibly unexpected side-effects */
+ memset (carray, 0, sizeof (carray));
+ cpointer = carray;
+ GST_WRITE_UINT8 (cpointer++, 'A');
+ fail_unless_equals_pointer (cpointer, carray + 1);
+ fail_unless_equals_int (carray[0], 'A');
+
+ memset (carray, 0, sizeof (carray));
+ cpointer = carray;
+ GST_WRITE_UINT16_BE (cpointer++, 0x4142);
+ fail_unless_equals_pointer (cpointer, carray + 1);
+ fail_unless_equals_int (carray[0], 'A');
+ fail_unless_equals_int (carray[1], 'B');
+
+ memset (carray, 0, sizeof (carray));
+ cpointer = carray;
+ GST_WRITE_UINT32_BE (cpointer++, 0x41424344);
+ fail_unless_equals_pointer (cpointer, carray + 1);
+ fail_unless_equals_int (carray[0], 'A');
+ fail_unless_equals_int (carray[3], 'D');
+
+ memset (carray, 0, sizeof (carray));
+ cpointer = carray;
+ GST_WRITE_UINT64_BE (cpointer++, 0x4142434445464748);
+ fail_unless_equals_pointer (cpointer, carray + 1);
+ fail_unless_equals_int (carray[0], 'A');
+ fail_unless_equals_int (carray[7], 'H');
+
+ memset (carray, 0, sizeof (carray));
+ cpointer = carray;
+ GST_WRITE_UINT16_LE (cpointer++, 0x4142);
+ fail_unless_equals_pointer (cpointer, carray + 1);
+ fail_unless_equals_int (carray[0], 'B');
+ fail_unless_equals_int (carray[1], 'A');
+
+ memset (carray, 0, sizeof (carray));
+ cpointer = carray;
+ GST_WRITE_UINT32_LE (cpointer++, 0x41424344);
+ fail_unless_equals_pointer (cpointer, carray + 1);
+ fail_unless_equals_int (carray[0], 'D');
+ fail_unless_equals_int (carray[3], 'A');
+
+ memset (carray, 0, sizeof (carray));
+ cpointer = carray;
+ GST_WRITE_UINT64_LE (cpointer++, 0x4142434445464748);
+ fail_unless_equals_pointer (cpointer, carray + 1);
+ fail_unless_equals_int (carray[0], 'H');
+ fail_unless_equals_int (carray[7], 'A');
+}
+
+GST_END_TEST;
static Suite *
gst_utils_suite (void)
{
@@ -1279,6 +1339,7 @@ gst_utils_suite (void)
tcase_add_test (tc_chain, test_greatest_common_divisor);
tcase_add_test (tc_chain, test_read_macros);
+ tcase_add_test (tc_chain, test_write_macros);
return s;
}
diff --git a/tests/check/gst/gstvalue.c b/tests/check/gst/gstvalue.c
index 480840b..babe914 100644
--- a/tests/check/gst/gstvalue.c
+++ b/tests/check/gst/gstvalue.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -810,16 +810,6 @@ GST_START_TEST (test_value_intersect)
g_value_unset (&src1);
g_value_unset (&src2);
g_value_unset (&dest);
-
- g_value_init (&src1, GST_TYPE_BITMASK);
- gst_value_set_bitmask (&src1, 0xf00f);
- g_value_init (&src2, GST_TYPE_BITMASK);
- gst_value_set_bitmask (&src2, 0xff00);
- ret = gst_value_intersect (&dest, &src1, &src2);
- fail_unless (ret == TRUE);
- fail_unless_equals_uint64 (0xf000, gst_value_get_bitmask (&dest));
- g_value_unset (&src1);
- g_value_unset (&src2);
}
GST_END_TEST;
@@ -1919,27 +1909,6 @@ GST_START_TEST (test_value_subtract_fraction_list)
GST_END_TEST;
-GST_START_TEST (test_value_subtract_bitmask)
-{
- GValue result = { 0 };
- GValue src1 = { 0 };
- GValue src2 = { 0 };
-
- /* Subtract 1/4 from 1/2 */
- g_value_init (&src1, GST_TYPE_BITMASK);
- g_value_init (&src2, GST_TYPE_BITMASK);
- gst_value_set_bitmask (&src1, 0xffff);
- gst_value_set_bitmask (&src2, 0xff00);
- fail_unless (gst_value_subtract (&result, &src1, &src2) == TRUE);
- fail_unless_equals_uint64 (0x00ff, gst_value_get_bitmask (&result));
-
- g_value_unset (&src1);
- g_value_unset (&src2);
- g_value_unset (&result);
-}
-
-GST_END_TEST;
-
GST_START_TEST (test_date)
{
GstStructure *s;
@@ -2868,7 +2837,6 @@ gst_value_suite (void)
tcase_add_test (tc_chain, test_value_subtract_fraction);
tcase_add_test (tc_chain, test_value_subtract_fraction_range);
tcase_add_test (tc_chain, test_value_subtract_fraction_list);
- tcase_add_test (tc_chain, test_value_subtract_bitmask);
tcase_add_test (tc_chain, test_date);
tcase_add_test (tc_chain, test_date_time);
tcase_add_test (tc_chain, test_fraction_range);
diff --git a/tests/check/gst/struct_arm.h b/tests/check/gst/struct_arm.h
index b7a2952..db6ed90 100644
--- a/tests/check/gst/struct_arm.h
+++ b/tests/check/gst/struct_arm.h
@@ -1,72 +1,73 @@
-static GstCheckABIStruct list[] = {
- {"GstAllocationParams", sizeof (GstAllocationParams), 64},
- {"GstAllocator", sizeof (GstAllocator), 176},
- {"GstAllocatorClass", sizeof (GstAllocatorClass), 232},
- {"GstBinClass", sizeof (GstBinClass), 576},
- {"GstBin", sizeof (GstBin), 376},
- {"GstBuffer", sizeof (GstBuffer), 112},
- {"GstBufferPoolAcquireParams", sizeof (GstBufferPoolAcquireParams), 64},
- {"GstBufferPool", sizeof (GstBufferPool), 136},
- {"GstBufferPoolClass", sizeof (GstBufferPoolClass), 288},
- {"GstBusClass", sizeof (GstBusClass), 232},
- {"GstBus", sizeof (GstBus), 128},
- {"GstCaps", sizeof (GstCaps), 64},
- {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 88},
- {"GstClockClass", sizeof (GstClockClass), 264},
- {"GstClockEntry", sizeof (GstClockEntry), 112},
- {"GstClock", sizeof (GstClock), 128},
- {"GstControlBinding", sizeof (GstControlBinding), 152},
- {"GstControlBindingClass", sizeof (GstControlBindingClass), 248},
- {"GstControlSource", sizeof (GstControlSource), 136},
- {"GstControlSourceClass", sizeof (GstControlSourceClass), 216},
- {"GstDebugCategory", sizeof (GstDebugCategory), 24},
- {"GstElementClass", sizeof (GstElementClass), 488},
- {"GstElement", sizeof (GstElement), 264},
- {"GstEvent", sizeof (GstEvent), 88},
- {"GstFormatDefinition", sizeof (GstFormatDefinition), 32},
- {"GstGhostPadClass", sizeof (GstGhostPadClass), 272},
- {"GstGhostPad", sizeof (GstGhostPad), 536},
- {"GstIterator", sizeof (GstIterator), 120},
- {"GstMemory", sizeof (GstMemory), 112},
- {"GstMapInfo", sizeof (GstMapInfo), 104},
- {"GstMessage", sizeof (GstMessage), 120},
- {"GstMeta", sizeof (GstMeta), 16},
- {"GstMetaTransformCopy", sizeof (GstMetaTransformCopy), 24},
- {"GstMetaInfo", sizeof (GstMetaInfo), 80},
- {"GstMiniObject", sizeof (GstMiniObject), 64},
- {"GstObjectClass", sizeof (GstObjectClass), 184},
- {"GstObject", sizeof (GstObject), 88},
- {"GstPadClass", sizeof (GstPadClass), 232},
- {"GstPad", sizeof (GstPad), 520},
- {"GstPadProbeInfo", sizeof (GstPadProbeInfo), 72},
- {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 224},
- {"GstPadTemplate", sizeof (GstPadTemplate), 144},
- {"GstParamSpecFraction", sizeof (GstParamSpecFraction), 96},
- {"GstPipelineClass", sizeof (GstPipelineClass), 608},
- {"GstPipeline", sizeof (GstPipeline), 440},
- {"GstPluginDesc", sizeof (GstPluginDesc), 112},
- {"GstPresetInterface", sizeof (GstPresetInterface), 112},
- {"GstProxyPadClass", sizeof (GstProxyPadClass), 240},
- {"GstProxyPad", sizeof (GstProxyPad), 528},
- {"GstQuery", sizeof (GstQuery), 72},
- {"GstRegistryClass", sizeof (GstRegistryClass), 184},
- {"GstRegistry", sizeof (GstRegistry), 96},
- {"GstSegment", sizeof (GstSegment), 120},
- {"GstStaticCaps", sizeof (GstStaticCaps), 48},
- {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 64},
- {"GstStructure", sizeof (GstStructure), 16},
- {"GstSystemClockClass", sizeof (GstSystemClockClass), 296},
- {"GstSystemClock", sizeof (GstSystemClock), 168},
- {"GstTagList", sizeof (GstTagList), 64,},
- {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 16},
- {"GstTaskClass", sizeof (GstTaskClass), 224},
- {"GstTask", sizeof (GstTask), 200},
- {"GstTaskPoolClass", sizeof (GstTaskPoolClass), 248},
- {"GstTaskPool", sizeof (GstTaskPool), 128},
+
+GstCheckABIStruct list[] = {
+ {"GstAllocationParams", sizeof (GstAllocationParams), 32},
+ {"GstAllocator", sizeof (GstAllocator), 112},
+ {"GstAllocatorClass", sizeof (GstAllocatorClass), 116},
+ {"GstBinClass", sizeof (GstBinClass), 292},
+ {"GstBin", sizeof (GstBin), 248},
+ {"GstBuffer", sizeof (GstBuffer), 80},
+ {"GstBufferPoolAcquireParams", sizeof (GstBufferPoolAcquireParams), 48},
+ {"GstBufferPool", sizeof (GstBufferPool), 88},
+ {"GstBufferPoolClass", sizeof (GstBufferPoolClass), 144},
+ {"GstBusClass", sizeof (GstBusClass), 116},
+ {"GstBus", sizeof (GstBus), 88},
+ {"GstCaps", sizeof (GstCaps), 36},
+ {"GstChildProxyInterface", sizeof (GstChildProxyInterface), 44},
+ {"GstClockClass", sizeof (GstClockClass), 132},
+ {"GstClockEntry", sizeof (GstClockEntry), 72},
+ {"GstClock", sizeof (GstClock), 88},
+ {"GstControlBinding", sizeof (GstControlBinding), 96},
+ {"GstControlBindingClass", sizeof (GstControlBindingClass), 124},
+ {"GstControlSource", sizeof (GstControlSource), 88},
+ {"GstControlSourceClass", sizeof (GstControlSourceClass), 108},
+ {"GstDebugCategory", sizeof (GstDebugCategory), 16},
+ {"GstElementClass", sizeof (GstElementClass), 248},
+ {"GstElement", sizeof (GstElement), 184},
+ {"GstEvent", sizeof (GstEvent), 56},
+ {"GstFormatDefinition", sizeof (GstFormatDefinition), 16},
+ {"GstGhostPadClass", sizeof (GstGhostPadClass), 136},
+ {"GstGhostPad", sizeof (GstGhostPad), 320},
+ {"GstIterator", sizeof (GstIterator), 60},
+ {"GstMemory", sizeof (GstMemory), 60},
+ {"GstMapInfo", sizeof (GstMapInfo), 52},
+ {"GstMessage", sizeof (GstMessage), 80},
+ {"GstMeta", sizeof (GstMeta), 8},
+ {"GstMetaTransformCopy", sizeof (GstMetaTransformCopy), 12},
+ {"GstMetaInfo", sizeof (GstMetaInfo), 40},
+ {"GstMiniObject", sizeof (GstMiniObject), 36},
+ {"GstObjectClass", sizeof (GstObjectClass), 92},
+ {"GstObject", sizeof (GstObject), 64},
+ {"GstPadClass", sizeof (GstPadClass), 116},
+ {"GstPad", sizeof (GstPad), 304},
+ {"GstPadProbeInfo", sizeof (GstPadProbeInfo), 48},
+ {"GstPadTemplateClass", sizeof (GstPadTemplateClass), 112},
+ {"GstPadTemplate", sizeof (GstPadTemplate), 96},
+ {"GstParamSpecFraction", sizeof (GstParamSpecFraction), 64},
+ {"GstPipelineClass", sizeof (GstPipelineClass), 308},
+ {"GstPipeline", sizeof (GstPipeline), 296},
+ {"GstPluginDesc", sizeof (GstPluginDesc), 60},
+ {"GstPresetInterface", sizeof (GstPresetInterface), 56},
+ {"GstProxyPadClass", sizeof (GstProxyPadClass), 120},
+ {"GstProxyPad", sizeof (GstProxyPad), 312},
+ {"GstQuery", sizeof (GstQuery), 40},
+ {"GstRegistryClass", sizeof (GstRegistryClass), 92},
+ {"GstRegistry", sizeof (GstRegistry), 72},
+ {"GstSegment", sizeof (GstSegment), 104},
+ {"GstStaticCaps", sizeof (GstStaticCaps), 24},
+ {"GstStaticPadTemplate", sizeof (GstStaticPadTemplate), 36},
+ {"GstStructure", sizeof (GstStructure), 8},
+ {"GstSystemClockClass", sizeof (GstSystemClockClass), 148},
+ {"GstSystemClock", sizeof (GstSystemClock), 112},
+ {"GstTagList", sizeof (GstTagList), 36},
+ {"GstTagSetterInterface", sizeof (GstTagSetterInterface), 8},
+ {"GstTaskClass", sizeof (GstTaskClass), 112},
+ {"GstTask", sizeof (GstTask), 128},
+ {"GstTaskPoolClass", sizeof (GstTaskPoolClass), 124},
+ {"GstTaskPool", sizeof (GstTaskPool), 88},
{"GstTimedValue", sizeof (GstTimedValue), 16},
- {"GstTocSetterInterface", sizeof (GstTocSetterInterface), 16},
- {"GstTypeFind", sizeof (GstTypeFind), 64},
- {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 48},
- {"GstValueTable", sizeof (GstValueTable), 64},
+ {"GstTocSetterInterface", sizeof (GstTocSetterInterface), 8},
+ {"GstTypeFind", sizeof (GstTypeFind), 32},
+ {"GstURIHandlerInterface", sizeof (GstURIHandlerInterface), 24},
+ {"GstValueTable", sizeof (GstValueTable), 32},
{NULL, 0, 0}
};
diff --git a/tests/check/libs/adapter.c b/tests/check/libs/adapter.c
index e3b801a..df740f9 100644
--- a/tests/check/libs/adapter.c
+++ b/tests/check/libs/adapter.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
@@ -376,7 +376,7 @@ GST_START_TEST (test_timestamp)
fail_unless (avail == 100);
/* timestamp is now undefined */
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == GST_CLOCK_TIME_NONE);
fail_unless (dist == 0);
@@ -385,7 +385,7 @@ GST_START_TEST (test_timestamp)
fail_unless (avail == 50);
/* still undefined, dist changed, though */
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == GST_CLOCK_TIME_NONE);
fail_unless (dist == 50);
@@ -398,7 +398,7 @@ GST_START_TEST (test_timestamp)
fail_unless (avail == 150);
/* timestamp is still undefined */
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == GST_CLOCK_TIME_NONE);
fail_unless (dist == 50);
@@ -407,7 +407,7 @@ GST_START_TEST (test_timestamp)
avail = gst_adapter_available (adapter);
fail_unless (avail == 100);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 1 * GST_SECOND);
fail_unless (dist == 0);
@@ -416,7 +416,7 @@ GST_START_TEST (test_timestamp)
avail = gst_adapter_available (adapter);
fail_unless (avail == 50);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 1 * GST_SECOND);
fail_unless (dist == 50);
@@ -433,7 +433,7 @@ GST_START_TEST (test_timestamp)
fail_unless (avail == 250);
/* timestamp still as it was before the push */
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 1 * GST_SECOND);
fail_unless (dist == 50);
@@ -441,7 +441,7 @@ GST_START_TEST (test_timestamp)
gst_adapter_flush (adapter, 50);
avail = gst_adapter_available (adapter);
fail_unless (avail == 200);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 1 * GST_SECOND);
fail_unless (dist == 100);
@@ -449,7 +449,7 @@ GST_START_TEST (test_timestamp)
gst_adapter_flush (adapter, 50);
avail = gst_adapter_available (adapter);
fail_unless (avail == 150);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 1 * GST_SECOND);
fail_unless (dist == 150);
@@ -457,7 +457,7 @@ GST_START_TEST (test_timestamp)
gst_adapter_flush (adapter, 50);
avail = gst_adapter_available (adapter);
fail_unless (avail == 100);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 2 * GST_SECOND);
fail_unless (dist == 0);
@@ -465,7 +465,7 @@ GST_START_TEST (test_timestamp)
gst_adapter_flush (adapter, 100);
avail = gst_adapter_available (adapter);
fail_unless (avail == 0);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 2 * GST_SECOND);
fail_unless (dist == 100);
@@ -473,7 +473,7 @@ GST_START_TEST (test_timestamp)
gst_adapter_clear (adapter);
avail = gst_adapter_available (adapter);
fail_unless (avail == 0);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == GST_CLOCK_TIME_NONE);
fail_unless (dist == 0);
@@ -483,7 +483,7 @@ GST_START_TEST (test_timestamp)
gst_adapter_push (adapter, buffer);
avail = gst_adapter_available (adapter);
fail_unless (avail == 0);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 2 * GST_SECOND);
fail_unless (dist == 0);
@@ -493,7 +493,7 @@ GST_START_TEST (test_timestamp)
gst_adapter_push (adapter, buffer);
avail = gst_adapter_available (adapter);
fail_unless (avail == 0);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 2 * GST_SECOND);
fail_unless (dist == 0);
@@ -503,14 +503,14 @@ GST_START_TEST (test_timestamp)
gst_adapter_push (adapter, buffer);
avail = gst_adapter_available (adapter);
fail_unless (avail == 100);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 2 * GST_SECOND);
fail_unless (dist == 0);
gst_adapter_flush (adapter, 1);
avail = gst_adapter_available (adapter);
fail_unless (avail == 99);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 4 * GST_SECOND);
fail_unless (dist == 1);
@@ -520,7 +520,7 @@ GST_START_TEST (test_timestamp)
gst_adapter_push (adapter, buffer);
avail = gst_adapter_available (adapter);
fail_unless (avail == 99);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 4 * GST_SECOND);
fail_unless (dist == 1);
@@ -529,7 +529,7 @@ GST_START_TEST (test_timestamp)
gst_adapter_push (adapter, buffer);
avail = gst_adapter_available (adapter);
fail_unless (avail == 199);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 4 * GST_SECOND);
fail_unless (dist == 1);
@@ -540,7 +540,7 @@ GST_START_TEST (test_timestamp)
gst_buffer_unref (buffer);
avail = gst_adapter_available (adapter);
fail_unless (avail == 100);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 5 * GST_SECOND);
fail_unless (dist == 0);
@@ -554,7 +554,7 @@ GST_START_TEST (test_timestamp)
g_free (data);
avail = gst_adapter_available (adapter);
fail_unless (avail == 50);
- timestamp = gst_adapter_prev_timestamp (adapter, &dist);
+ timestamp = gst_adapter_prev_pts (adapter, &dist);
fail_unless (timestamp == 5 * GST_SECOND);
fail_unless (dist == 50);
diff --git a/tests/check/libs/basesink.c b/tests/check/libs/basesink.c
index 595c4ce..2953ce7 100644
--- a/tests/check/libs/basesink.c
+++ b/tests/check/libs/basesink.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/libs/basesrc.c b/tests/check/libs/basesrc.c
index 21e2481..b9e66d1 100644
--- a/tests/check/libs/basesrc.c
+++ b/tests/check/libs/basesrc.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/libs/bitreader.c b/tests/check/libs/bitreader.c
index 1cdb55d..8910c36 100644
--- a/tests/check/libs/bitreader.c
+++ b/tests/check/libs/bitreader.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/libs/bytereader.c b/tests/check/libs/bytereader.c
index 0aa41c5..ecb3ddb 100644
--- a/tests/check/libs/bytereader.c
+++ b/tests/check/libs/bytereader.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/libs/bytewriter.c b/tests/check/libs/bytewriter.c
index fab4a5e..89999af 100644
--- a/tests/check/libs/bytewriter.c
+++ b/tests/check/libs/bytewriter.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/libs/collectpads.c b/tests/check/libs/collectpads.c
index fea3f67..97d2e65 100644
--- a/tests/check/libs/collectpads.c
+++ b/tests/check/libs/collectpads.c
@@ -17,18 +17,254 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <gst/check/gstcheck.h>
#include <gst/base/gstcollectpads.h>
+/* dummy collectpads based element */
+
+#define GST_TYPE_AGGREGATOR (gst_aggregator_get_type ())
+#define GST_AGGREGATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_AGGREGATOR, GstAggregator))
+#define GST_AGGREGATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_AGGREGATOR, GstAggregatorClass))
+#define GST_AGGREGATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_AGGREGATOR, GstAggregatorClass))
+
+typedef struct _GstAggregator GstAggregator;
+typedef struct _GstAggregatorClass GstAggregatorClass;
+
+struct _GstAggregator
+{
+ GstElement parent;
+ GstCollectPads *collect;
+ GstPad *srcpad;
+ GstPad *sinkpad[2];
+ gint padcount;
+ gboolean first;
+};
+struct _GstAggregatorClass
+{
+ GstElementClass parent_class;
+};
+
+static GType gst_aggregator_get_type (void);
+
+G_DEFINE_TYPE (GstAggregator, gst_aggregator, GST_TYPE_ELEMENT);
+
+static GstStaticPadTemplate gst_aggregator_src_template =
+GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
+ GST_STATIC_CAPS_ANY);
+
+static GstStaticPadTemplate gst_aggregator_sink_template =
+GST_STATIC_PAD_TEMPLATE ("sink_%u", GST_PAD_SINK, GST_PAD_REQUEST,
+ GST_STATIC_CAPS_ANY);
+
+static GstFlowReturn
+gst_agregator_collected (GstCollectPads * pads, gpointer user_data)
+{
+ GstAggregator *aggregator = GST_AGGREGATOR (user_data);
+ GstBuffer *inbuf;
+ GstCollectData *collect_data = (GstCollectData *) pads->data->data;
+ guint outsize = gst_collect_pads_available (pads);
+
+ /* can only happen when no pads to collect or all EOS */
+ if (outsize == 0)
+ goto eos;
+
+ inbuf = gst_collect_pads_take_buffer (pads, collect_data, outsize);
+ if (!inbuf)
+ goto eos;
+
+ if (aggregator->first) {
+ GstSegment segment;
+
+ gst_segment_init (&segment, GST_FORMAT_BYTES);
+ gst_pad_push_event (aggregator->srcpad,
+ gst_event_new_stream_start ("test"));
+ gst_pad_push_event (aggregator->srcpad, gst_event_new_segment (&segment));
+ aggregator->first = FALSE;
+ }
+
+ /* just forward the first buffer */
+ GST_DEBUG_OBJECT (aggregator, "forward buffer %p", inbuf);
+ return gst_pad_push (aggregator->srcpad, inbuf);
+ /* ERRORS */
+eos:
+ {
+ GST_DEBUG_OBJECT (aggregator, "no data available, must be EOS");
+ gst_pad_push_event (aggregator->srcpad, gst_event_new_eos ());
+ return GST_FLOW_EOS;
+ }
+}
+
+static GstPad *
+gst_aggregator_request_new_pad (GstElement * element, GstPadTemplate * templ,
+ const gchar * unused, const GstCaps * caps)
+{
+ GstAggregator *aggregator = GST_AGGREGATOR (element);
+ gchar *name;
+ GstPad *newpad;
+ gint padcount;
+
+ if (templ->direction != GST_PAD_SINK)
+ return NULL;
+
+ /* create new pad */
+ padcount = g_atomic_int_add (&aggregator->padcount, 1);
+ name = g_strdup_printf ("sink_%u", padcount);
+ newpad = gst_pad_new_from_template (templ, name);
+ g_free (name);
+
+ gst_collect_pads_add_pad (aggregator->collect, newpad,
+ sizeof (GstCollectData), NULL, TRUE);
+
+ /* takes ownership of the pad */
+ if (!gst_element_add_pad (GST_ELEMENT (aggregator), newpad))
+ goto could_not_add;
+
+ GST_DEBUG_OBJECT (aggregator, "added new pad %s", GST_OBJECT_NAME (newpad));
+ return newpad;
+
+ /* errors */
+could_not_add:
+ {
+ GST_DEBUG_OBJECT (aggregator, "could not add pad");
+ gst_collect_pads_remove_pad (aggregator->collect, newpad);
+ gst_object_unref (newpad);
+ return NULL;
+ }
+}
+
+static void
+gst_aggregator_release_pad (GstElement * element, GstPad * pad)
+{
+ GstAggregator *aggregator = GST_AGGREGATOR (element);
+
+ if (aggregator->collect)
+ gst_collect_pads_remove_pad (aggregator->collect, pad);
+ gst_element_remove_pad (element, pad);
+}
+
+static GstStateChangeReturn
+gst_aggregator_change_state (GstElement * element, GstStateChange transition)
+{
+ GstAggregator *aggregator = GST_AGGREGATOR (element);
+ GstStateChangeReturn ret;
+
+ switch (transition) {
+ case GST_STATE_CHANGE_NULL_TO_READY:
+ break;
+ case GST_STATE_CHANGE_READY_TO_PAUSED:
+ gst_collect_pads_start (aggregator->collect);
+ break;
+ case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
+ break;
+ case GST_STATE_CHANGE_PAUSED_TO_READY:
+ /* need to unblock the collectpads before calling the
+ * parent change_state so that streaming can finish */
+ gst_collect_pads_stop (aggregator->collect);
+ break;
+ default:
+ break;
+ }
+
+ ret =
+ GST_ELEMENT_CLASS (gst_aggregator_parent_class)->change_state (element,
+ transition);
+
+ switch (transition) {
+ default:
+ break;
+ }
+
+ return ret;
+}
+
+static void
+gst_aggregator_dispose (GObject * object)
+{
+ GstAggregator *aggregator = GST_AGGREGATOR (object);
+
+ if (aggregator->collect) {
+ gst_object_unref (aggregator->collect);
+ aggregator->collect = NULL;
+ }
+
+ G_OBJECT_CLASS (gst_aggregator_parent_class)->dispose (object);
+}
+
+static void
+gst_aggregator_class_init (GstAggregatorClass * klass)
+{
+ GObjectClass *gobject_class = (GObjectClass *) klass;
+ GstElementClass *gstelement_class = (GstElementClass *) klass;
+
+ gobject_class->dispose = gst_aggregator_dispose;
+
+ gst_element_class_add_pad_template (gstelement_class,
+ gst_static_pad_template_get (&gst_aggregator_src_template));
+ gst_element_class_add_pad_template (gstelement_class,
+ gst_static_pad_template_get (&gst_aggregator_sink_template));
+ gst_element_class_set_static_metadata (gstelement_class, "Aggregator",
+ "Testing", "Combine N buffers", "Stefan Sauer <ensonic@users.sf.net>");
+
+ gstelement_class->request_new_pad =
+ GST_DEBUG_FUNCPTR (gst_aggregator_request_new_pad);
+ gstelement_class->release_pad =
+ GST_DEBUG_FUNCPTR (gst_aggregator_release_pad);
+ gstelement_class->change_state =
+ GST_DEBUG_FUNCPTR (gst_aggregator_change_state);
+}
+
+static void
+gst_aggregator_init (GstAggregator * agregator)
+{
+ GstPadTemplate *template;
+
+ template = gst_static_pad_template_get (&gst_aggregator_src_template);
+ agregator->srcpad = gst_pad_new_from_template (template, "src");
+ gst_object_unref (template);
+
+ GST_PAD_SET_PROXY_CAPS (agregator->srcpad);
+ gst_element_add_pad (GST_ELEMENT (agregator), agregator->srcpad);
+
+ /* keep track of the sinkpads requested */
+ agregator->collect = gst_collect_pads_new ();
+ gst_collect_pads_set_function (agregator->collect,
+ GST_DEBUG_FUNCPTR (gst_agregator_collected), agregator);
+
+ agregator->first = TRUE;
+}
+
+static gboolean
+gst_agregator_plugin_init (GstPlugin * plugin)
+{
+ return gst_element_register (plugin, "aggregator", GST_RANK_NONE,
+ GST_TYPE_AGGREGATOR);
+}
+
+static gboolean
+gst_agregator_plugin_register (void)
+{
+ return gst_plugin_register_static (GST_VERSION_MAJOR,
+ GST_VERSION_MINOR,
+ "aggregator",
+ "Combine buffers",
+ gst_agregator_plugin_init,
+ VERSION, GST_LICENSE, PACKAGE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
+}
+
+
#define fail_unless_collected(expected) \
G_STMT_START { \
g_mutex_lock (&lock); \
while (expected == TRUE && collected == FALSE) \
- g_cond_wait (&cond,& lock); \
+ g_cond_wait (&cond, &lock); \
fail_unless_equals_int (collected, expected); \
g_mutex_unlock (&lock); \
} G_STMT_END;
@@ -61,6 +297,7 @@ static gboolean collected;
static GstPad *srcpad1, *srcpad2;
static GstPad *sinkpad1, *sinkpad2;
static TestData *data1, *data2;
+static GstBuffer *outbuf1, *outbuf2;
static GMutex lock;
static GCond cond;
@@ -68,6 +305,26 @@ static GCond cond;
static GstFlowReturn
collected_cb (GstCollectPads * pads, gpointer user_data)
{
+ outbuf1 = gst_collect_pads_pop (pads, (GstCollectData *) data1);
+ outbuf2 = gst_collect_pads_pop (pads, (GstCollectData *) data2);
+
+ g_mutex_lock (&lock);
+ collected = TRUE;
+ g_cond_signal (&cond);
+ g_mutex_unlock (&lock);
+
+ return GST_FLOW_OK;
+}
+
+static GstFlowReturn
+handle_buffer_cb (GstCollectPads * pads, GstCollectData * data,
+ GstBuffer * buf, gpointer user_data)
+{
+ GST_DEBUG ("collected buffers via callback");
+
+ outbuf1 = gst_collect_pads_pop (pads, (GstCollectData *) data1);
+ outbuf2 = gst_collect_pads_pop (pads, (GstCollectData *) data2);
+
g_mutex_lock (&lock);
collected = TRUE;
g_cond_signal (&cond);
@@ -82,6 +339,7 @@ push_buffer (gpointer user_data)
GstFlowReturn flow;
GstCaps *caps;
TestData *test_data = (TestData *) user_data;
+ GstSegment segment;
gst_pad_push_event (test_data->pad, gst_event_new_stream_start ("test"));
@@ -89,6 +347,9 @@ push_buffer (gpointer user_data)
gst_pad_push_event (test_data->pad, gst_event_new_caps (caps));
gst_caps_unref (caps);
+ gst_segment_init (&segment, GST_FORMAT_TIME);
+ gst_pad_push_event (test_data->pad, gst_event_new_segment (&segment));
+
flow = gst_pad_push (test_data->pad, test_data->buffer);
fail_unless (flow == GST_FLOW_OK, "got flow %s instead of OK",
gst_flow_get_name (flow));
@@ -107,10 +368,9 @@ push_event (gpointer user_data)
}
static void
-setup (void)
+setup_default (void)
{
collect = gst_collect_pads_new ();
- gst_collect_pads_set_function (collect, collected_cb, NULL);
srcpad1 = gst_pad_new_from_static_template (&srctemplate, "src1");
srcpad2 = gst_pad_new_from_static_template (&srctemplate, "src2");
@@ -126,10 +386,26 @@ setup (void)
data1 = NULL;
data2 = NULL;
+ outbuf1 = NULL;
+ outbuf2 = NULL;
collected = FALSE;
}
static void
+setup (void)
+{
+ setup_default ();
+ gst_collect_pads_set_function (collect, collected_cb, NULL);
+}
+
+static void
+setup_buffer_cb (void)
+{
+ setup_default ();
+ gst_collect_pads_set_buffer_function (collect, handle_buffer_cb, NULL);
+}
+
+static void
teardown (void)
{
gst_object_unref (sinkpad1);
@@ -154,7 +430,7 @@ GST_END_TEST;
GST_START_TEST (test_collect)
{
- GstBuffer *buf1, *buf2, *tmp;
+ GstBuffer *buf1, *buf2;
GThread *thread1, *thread2;
data1 = (TestData *) gst_collect_pads_add_pad (collect,
@@ -185,10 +461,8 @@ GST_START_TEST (test_collect)
/* now both pads have a buffer */
fail_unless_collected (TRUE);
- tmp = gst_collect_pads_pop (collect, (GstCollectData *) data1);
- fail_unless (tmp == buf1);
- tmp = gst_collect_pads_pop (collect, (GstCollectData *) data2);
- fail_unless (tmp == buf2);
+ fail_unless (outbuf1 == buf1);
+ fail_unless (outbuf2 == buf2);
/* these will return immediately as at this point the threads have been
* unlocked and are finished */
@@ -203,9 +477,10 @@ GST_START_TEST (test_collect)
GST_END_TEST;
+
GST_START_TEST (test_collect_eos)
{
- GstBuffer *buf1, *tmp;
+ GstBuffer *buf1;
GThread *thread1, *thread2;
data1 = (TestData *) gst_collect_pads_add_pad (collect,
@@ -234,11 +509,9 @@ GST_START_TEST (test_collect_eos)
/* now sinkpad1 has a buffer and sinkpad2 has EOS */
fail_unless_collected (TRUE);
- tmp = gst_collect_pads_pop (collect, (GstCollectData *) data1);
- fail_unless (tmp == buf1);
+ fail_unless (outbuf1 == buf1);
/* sinkpad2 has EOS so a NULL buffer is returned */
- tmp = gst_collect_pads_pop (collect, (GstCollectData *) data2);
- fail_unless (tmp == NULL);
+ fail_unless (outbuf2 == NULL);
/* these will return immediately as when the data is popped the threads are
* unlocked and will terminate */
@@ -254,7 +527,7 @@ GST_END_TEST;
GST_START_TEST (test_collect_twice)
{
- GstBuffer *buf1, *buf2, *tmp;
+ GstBuffer *buf1, *buf2;
GThread *thread1, *thread2;
data1 = (TestData *) gst_collect_pads_add_pad (collect,
@@ -287,11 +560,9 @@ GST_START_TEST (test_collect_twice)
/* one of the pads has a buffer, the other has EOS */
fail_unless_collected (TRUE);
- tmp = gst_collect_pads_pop (collect, (GstCollectData *) data1);
- fail_unless (tmp == buf1);
+ fail_unless (outbuf1 == buf1);
/* there's nothing to pop from the one which received EOS */
- tmp = gst_collect_pads_pop (collect, (GstCollectData *) data2);
- fail_unless (tmp == NULL);
+ fail_unless (outbuf2 == NULL);
/* these will return immediately as at this point the threads have been
* unlocked and are finished */
@@ -326,10 +597,65 @@ GST_START_TEST (test_collect_twice)
/* now both pads have a buffer */
fail_unless_collected (TRUE);
- tmp = gst_collect_pads_pop (collect, (GstCollectData *) data1);
- fail_unless (tmp == buf1);
- tmp = gst_collect_pads_pop (collect, (GstCollectData *) data2);
- fail_unless (tmp == buf2);
+ fail_unless (outbuf1 == buf1);
+ fail_unless (outbuf2 == buf2);
+
+ /* these will return immediately as at this point the threads have been
+ * unlocked and are finished */
+ g_thread_join (thread1);
+ g_thread_join (thread2);
+
+ gst_collect_pads_stop (collect);
+
+ gst_buffer_unref (buf1);
+ gst_buffer_unref (buf2);
+
+}
+
+GST_END_TEST;
+
+
+/* Test the default collected buffer func */
+GST_START_TEST (test_collect_default)
+{
+ GstBuffer *buf1, *buf2;
+ GThread *thread1, *thread2;
+
+ data1 = (TestData *) gst_collect_pads_add_pad (collect,
+ sinkpad1, sizeof (TestData), NULL, TRUE);
+ fail_unless (data1 != NULL);
+
+ data2 = (TestData *) gst_collect_pads_add_pad (collect,
+ sinkpad2, sizeof (TestData), NULL, TRUE);
+ fail_unless (data2 != NULL);
+
+ buf1 = gst_buffer_new ();
+ GST_BUFFER_TIMESTAMP (buf1) = 0;
+ buf2 = gst_buffer_new ();
+ GST_BUFFER_TIMESTAMP (buf2) = GST_SECOND;
+
+ /* start collect pads */
+ gst_collect_pads_start (collect);
+
+ /* push buffers on the pads */
+ data1->pad = srcpad1;
+ data1->buffer = buf1;
+ thread1 = g_thread_try_new ("gst-check", push_buffer, data1, NULL);
+ /* here thread1 is blocked and srcpad1 has a queued buffer */
+ fail_unless_collected (FALSE);
+
+ data2->pad = srcpad2;
+ data2->buffer = buf2;
+ thread2 = g_thread_try_new ("gst-check", push_buffer, data2, NULL);
+
+ /* now both pads have a buffer */
+ fail_unless_collected (TRUE);
+
+ /* The default callback should have popped the buffer with lower timestamp,
+ * and this should therefore be NULL: */
+ fail_unless (outbuf1 == NULL);
+ /* While this one should still be pending: */
+ fail_unless (outbuf2 == buf2);
/* these will return immediately as at this point the threads have been
* unlocked and are finished */
@@ -340,16 +666,119 @@ GST_START_TEST (test_collect_twice)
gst_buffer_unref (buf1);
gst_buffer_unref (buf2);
+}
+
+GST_END_TEST;
+
+
+#define NUM_BUFFERS 3
+static void
+handoff (GstElement * fakesink, GstBuffer * buf, GstPad * pad, guint * count)
+{
+ *count = *count + 1;
+}
+
+/* Test a linear pipeline using aggregator */
+GST_START_TEST (test_linear_pipeline)
+{
+ GstElement *pipeline, *src, *agg, *sink;
+ GstBus *bus;
+ GstMessage *msg;
+ gint count = 0;
+
+ pipeline = gst_pipeline_new ("pipeline");
+ src = gst_check_setup_element ("fakesrc");
+ g_object_set (src, "num-buffers", NUM_BUFFERS, "sizetype", 2, "sizemax", 4,
+ NULL);
+ agg = gst_check_setup_element ("aggregator");
+ sink = gst_check_setup_element ("fakesink");
+ g_object_set (sink, "signal-handoffs", TRUE, NULL);
+ g_signal_connect (sink, "handoff", (GCallback) handoff, &count);
+
+ fail_unless (gst_bin_add (GST_BIN (pipeline), src));
+ fail_unless (gst_bin_add (GST_BIN (pipeline), agg));
+ fail_unless (gst_bin_add (GST_BIN (pipeline), sink));
+ fail_unless (gst_element_link (src, agg));
+ fail_unless (gst_element_link (agg, sink));
+
+ bus = gst_element_get_bus (pipeline);
+ fail_if (bus == NULL);
+ gst_element_set_state (pipeline, GST_STATE_PLAYING);
+
+ msg = gst_bus_poll (bus, GST_MESSAGE_EOS | GST_MESSAGE_ERROR, -1);
+ fail_if (GST_MESSAGE_TYPE (msg) != GST_MESSAGE_EOS);
+ gst_message_unref (msg);
+
+ fail_unless_equals_int (count, NUM_BUFFERS);
+
+ gst_element_set_state (pipeline, GST_STATE_NULL);
+ gst_object_unref (bus);
+ gst_object_unref (pipeline);
+}
+GST_END_TEST;
+
+/* Test a linear pipeline using aggregator */
+GST_START_TEST (test_branched_pipeline)
+{
+ GstElement *pipeline, *src, *tee, *queue[2], *agg, *sink;
+ GstBus *bus;
+ GstMessage *msg;
+ gint count = 0;
+
+ pipeline = gst_pipeline_new ("pipeline");
+ src = gst_check_setup_element ("fakesrc");
+ g_object_set (src, "num-buffers", NUM_BUFFERS, "sizetype", 2, "sizemax", 4,
+ NULL);
+ tee = gst_check_setup_element ("tee");
+ queue[0] = gst_check_setup_element ("queue");
+ gst_object_set_name (GST_OBJECT (queue[0]), "queue0");
+ queue[1] = gst_check_setup_element ("queue");
+ gst_object_set_name (GST_OBJECT (queue[1]), "queue1");
+ agg = gst_check_setup_element ("aggregator");
+ sink = gst_check_setup_element ("fakesink");
+ g_object_set (sink, "signal-handoffs", TRUE, NULL);
+ g_signal_connect (sink, "handoff", (GCallback) handoff, &count);
+
+ fail_unless (gst_bin_add (GST_BIN (pipeline), src));
+ fail_unless (gst_bin_add (GST_BIN (pipeline), tee));
+ fail_unless (gst_bin_add (GST_BIN (pipeline), queue[0]));
+ fail_unless (gst_bin_add (GST_BIN (pipeline), queue[1]));
+ fail_unless (gst_bin_add (GST_BIN (pipeline), agg));
+ fail_unless (gst_bin_add (GST_BIN (pipeline), sink));
+ fail_unless (gst_element_link (src, tee));
+ fail_unless (gst_element_link (tee, queue[0]));
+ fail_unless (gst_element_link (tee, queue[1]));
+ fail_unless (gst_element_link (queue[0], agg));
+ fail_unless (gst_element_link (queue[1], agg));
+ fail_unless (gst_element_link (agg, sink));
+
+ bus = gst_element_get_bus (pipeline);
+ fail_if (bus == NULL);
+ gst_element_set_state (pipeline, GST_STATE_PLAYING);
+
+ msg = gst_bus_poll (bus, GST_MESSAGE_EOS | GST_MESSAGE_ERROR, -1);
+ fail_if (GST_MESSAGE_TYPE (msg) != GST_MESSAGE_EOS);
+ gst_message_unref (msg);
+
+ /* we have two branches, but we still only forward buffers from one branch */
+ fail_unless_equals_int (count, NUM_BUFFERS);
+
+ gst_element_set_state (pipeline, GST_STATE_NULL);
+ gst_object_unref (bus);
+ gst_object_unref (pipeline);
}
GST_END_TEST;
+
static Suite *
gst_collect_pads_suite (void)
{
Suite *suite;
- TCase *general;
+ TCase *general, *buffers, *pipeline;
+
+ gst_agregator_plugin_register ();
suite = suite_create ("GstCollectPads");
general = tcase_create ("general");
@@ -360,6 +789,16 @@ gst_collect_pads_suite (void)
tcase_add_test (general, test_collect_eos);
tcase_add_test (general, test_collect_twice);
+ buffers = tcase_create ("buffers");
+ suite_add_tcase (suite, buffers);
+ tcase_add_checked_fixture (buffers, setup_buffer_cb, teardown);
+ tcase_add_test (buffers, test_collect_default);
+
+ pipeline = tcase_create ("pipeline");
+ suite_add_tcase (suite, pipeline);
+ tcase_add_test (pipeline, test_linear_pipeline);
+ tcase_add_test (pipeline, test_branched_pipeline);
+
return suite;
}
diff --git a/tests/check/libs/controller.c b/tests/check/libs/controller.c
index bdb5e36..f385c6b 100644
--- a/tests/check/libs/controller.c
+++ b/tests/check/libs/controller.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -1371,52 +1371,6 @@ GST_START_TEST (controller_lfo_triangle)
GST_END_TEST;
-/* test lfo control source with nothing set */
-GST_START_TEST (controller_lfo_none)
-{
- GstControlSource *cs;
- GstElement *elem;
-
- elem = gst_element_factory_make ("testobj", NULL);
-
- /* new lfo control source */
- cs = gst_lfo_control_source_new ();
-
- fail_unless (gst_object_add_control_binding (GST_OBJECT (elem),
- gst_direct_control_binding_new (GST_OBJECT (elem), "int", cs)));
-
- /* now pull in values for some timestamps */
- gst_object_sync_values (GST_OBJECT (elem), 0 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 250 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 500 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 750 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 1000 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 1250 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 1500 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 1750 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 2000 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 1250 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 1500 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
- gst_object_sync_values (GST_OBJECT (elem), 1750 * GST_MSECOND);
- fail_unless_equals_int (GST_TEST_OBJ (elem)->val_int, 0);
-
- gst_object_unref (cs);
- gst_object_unref (elem);
-}
-
-GST_END_TEST;
-
/* test timed value handling in trigger mode */
GST_START_TEST (controller_trigger_exact)
{
@@ -1537,7 +1491,6 @@ gst_controller_suite (void)
tcase_add_test (tc, controller_lfo_saw);
tcase_add_test (tc, controller_lfo_rsaw);
tcase_add_test (tc, controller_lfo_triangle);
- tcase_add_test (tc, controller_lfo_none);
tcase_add_test (tc, controller_trigger_exact);
tcase_add_test (tc, controller_trigger_tolerance);
diff --git a/tests/check/libs/gstlibscpp.cc b/tests/check/libs/gstlibscpp.cc
index 0009ec3..f7f89e3 100644
--- a/tests/check/libs/gstlibscpp.cc
+++ b/tests/check/libs/gstlibscpp.cc
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/libs/gstnetclientclock.c b/tests/check/libs/gstnetclientclock.c
index 72b7af3..117004f 100644
--- a/tests/check/libs/gstnetclientclock.c
+++ b/tests/check/libs/gstnetclientclock.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/libs/gstnettimeprovider.c b/tests/check/libs/gstnettimeprovider.c
index 49bfee0..3ba2bde 100644
--- a/tests/check/libs/gstnettimeprovider.c
+++ b/tests/check/libs/gstnettimeprovider.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/libs/gsttestclock.c b/tests/check/libs/gsttestclock.c
new file mode 100644
index 0000000..de59031
--- /dev/null
+++ b/tests/check/libs/gsttestclock.c
@@ -0,0 +1,969 @@
+/*
+ * Unit test for a deterministic clock for Gstreamer unit tests
+ *
+ * Copyright (C) 2008 Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
+ * Copyright (C) 2012 Sebastian Rasmussen <sebastian.rasmussen@axis.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gst/check/gstcheck.h>
+#include <gst/check/gsttestclock.h>
+
+typedef struct
+{
+ GstTestClock *test_clock;
+ GstClockID id;
+ GstClockTime reference;
+} GtuClockWaitContext;
+
+typedef struct
+{
+ GstClockID clock_id;
+ GstClockTimeDiff jitter;
+} SyncClockWaitContext;
+
+#define assert_pending_id(pending_id, id, type, time) \
+G_STMT_START { \
+ GstClockEntry *entry = GST_CLOCK_ENTRY (pending_id); \
+ g_assert (entry == (id)); \
+ g_assert (GST_CLOCK_ENTRY_TYPE (entry) == (type)); \
+ g_assert_cmpuint (GST_CLOCK_ENTRY_TIME (entry), ==, (time)); \
+} G_STMT_END
+
+#define assert_processed_id(processed_id, id, type, time) \
+G_STMT_START { \
+ GstClockEntry *entry = GST_CLOCK_ENTRY (processed_id); \
+ g_assert (entry == (id)); \
+ g_assert (GST_CLOCK_ENTRY_TYPE (entry) == (type)); \
+ g_assert_cmpuint (GST_CLOCK_ENTRY_STATUS (entry), ==, (time)); \
+} G_STMT_END
+
+static gpointer test_wait_pending_single_shot_id_sync_worker (gpointer data);
+static gpointer test_wait_pending_single_shot_id_async_worker (gpointer data);
+static gpointer test_wait_pending_periodic_id_waiter_thread (gpointer data);
+static gboolean test_async_wait_cb (GstClock * clock, GstClockTime time,
+ GstClockID id, gpointer user_data);
+
+static GtuClockWaitContext *gst_test_util_wait_for_clock_id_begin (GstTestClock
+ * clock, GstClockID id, GstClockTimeDiff * jitter);
+static GstClockReturn gst_test_util_wait_for_clock_id_end (GtuClockWaitContext *
+ wait_ctx);
+static gboolean
+gst_test_util_clock_wait_context_has_completed (GtuClockWaitContext * wait_ctx);
+
+static gpointer
+test_wait_pending_single_shot_id_sync_worker (gpointer data)
+{
+ SyncClockWaitContext *ctx = data;
+
+ gst_clock_id_wait (ctx->clock_id, &ctx->jitter);
+
+ return NULL;
+}
+
+static gpointer
+test_wait_pending_single_shot_id_async_worker (gpointer data)
+{
+ GstClockID clock_id = data;
+
+ g_usleep (G_USEC_PER_SEC / 10);
+ gst_clock_id_wait_async (clock_id, test_async_wait_cb, NULL, NULL);
+
+ return NULL;
+}
+
+static gpointer
+test_wait_pending_periodic_id_waiter_thread (gpointer data)
+{
+ GstClockID clock_id = data;
+ gst_clock_id_wait (clock_id, NULL);
+ return NULL;
+}
+
+static gboolean
+test_async_wait_cb (GstClock * clock,
+ GstClockTime time, GstClockID id, gpointer user_data)
+{
+
+ gboolean *wait_complete = user_data;
+
+ if (wait_complete != NULL)
+ *wait_complete = TRUE;
+
+ return TRUE;
+}
+
+static GtuClockWaitContext *
+gst_test_util_wait_for_clock_id_begin (GstTestClock * test_clock, GstClockID id,
+ GstClockTimeDiff * jitter)
+{
+ GtuClockWaitContext *wait_ctx;
+
+ wait_ctx = g_slice_new (GtuClockWaitContext);
+ wait_ctx->test_clock = gst_object_ref (test_clock);
+ wait_ctx->reference = gst_clock_get_time (GST_CLOCK (wait_ctx->test_clock));
+ wait_ctx->id = gst_clock_id_ref (id);
+
+ if (jitter) {
+ GstClockEntry *entry = GST_CLOCK_ENTRY (wait_ctx->id);
+ GstClockTime requested = GST_CLOCK_ENTRY_TIME (entry);
+ GstClockTime reference = wait_ctx->reference;
+
+ *jitter = GST_CLOCK_DIFF (requested, reference);
+ }
+
+ if (!gst_test_clock_has_id (wait_ctx->test_clock, wait_ctx->id)) {
+ GstClockClass *klass = GST_CLOCK_GET_CLASS (wait_ctx->test_clock);
+ GstClock *clock = GST_CLOCK (wait_ctx->test_clock);
+ g_assert (klass->wait_async (clock, wait_ctx->id) == GST_CLOCK_OK);
+ }
+
+ g_assert (gst_test_clock_has_id (wait_ctx->test_clock, wait_ctx->id));
+ g_assert_cmpint (gst_test_clock_peek_id_count (wait_ctx->test_clock), >, 0);
+
+ return wait_ctx;
+}
+
+static GstClockReturn
+gst_test_util_wait_for_clock_id_end (GtuClockWaitContext * wait_ctx)
+{
+ GstClockReturn status = GST_CLOCK_ERROR;
+ GstClockEntry *entry = GST_CLOCK_ENTRY (wait_ctx->id);
+
+ if (G_UNLIKELY (GST_CLOCK_ENTRY_STATUS (entry) == GST_CLOCK_UNSCHEDULED)) {
+ status = GST_CLOCK_UNSCHEDULED;
+ } else {
+ GstClockTime requested = GST_CLOCK_ENTRY_TIME (entry);
+ GstClockTimeDiff diff;
+
+ g_assert (gst_test_clock_has_id (wait_ctx->test_clock, wait_ctx->id));
+
+ diff = GST_CLOCK_DIFF (requested, wait_ctx->reference);
+
+ if (diff > 0) {
+ status = GST_CLOCK_EARLY;
+ } else {
+ status = GST_CLOCK_OK;
+ }
+
+ g_atomic_int_set (&GST_CLOCK_ENTRY_STATUS (entry), status);
+ }
+
+ if (GST_CLOCK_ENTRY_TYPE (entry) == GST_CLOCK_ENTRY_SINGLE) {
+ GstClockClass *klass = GST_CLOCK_GET_CLASS (wait_ctx->test_clock);
+ GstClock *clock = GST_CLOCK (wait_ctx->test_clock);
+
+ klass->unschedule (clock, wait_ctx->id);
+ g_assert (!gst_test_clock_has_id (wait_ctx->test_clock, wait_ctx->id));
+ } else {
+ GST_CLOCK_ENTRY_TIME (entry) += GST_CLOCK_ENTRY_INTERVAL (entry);
+ g_assert (gst_test_clock_has_id (wait_ctx->test_clock, wait_ctx->id));
+ }
+
+ gst_clock_id_unref (wait_ctx->id);
+ gst_object_unref (wait_ctx->test_clock);
+ g_slice_free (GtuClockWaitContext, wait_ctx);
+
+ return status;
+}
+
+static gboolean
+gst_test_util_clock_wait_context_has_completed (GtuClockWaitContext * wait_ctx)
+{
+ GstClock *clock = GST_CLOCK (wait_ctx->test_clock);
+ GstClockEntry *entry = GST_CLOCK_ENTRY (wait_ctx->id);
+ GstClockTime requested = GST_CLOCK_ENTRY_TIME (entry);
+ GstClockTime now = gst_clock_get_time (clock);
+
+ return requested < now;
+}
+
+GST_START_TEST (test_object_flags)
+{
+ GstClock *clock = gst_test_clock_new ();
+ g_assert (GST_OBJECT_FLAG_IS_SET (clock, GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC));
+ g_assert (GST_OBJECT_FLAG_IS_SET (clock, GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC));
+ g_assert (GST_OBJECT_FLAG_IS_SET (clock,
+ GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC));
+ g_assert (GST_OBJECT_FLAG_IS_SET (clock,
+ GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC));
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_resolution_query)
+{
+ GstClock *clock = gst_test_clock_new ();
+ g_assert_cmpuint (gst_clock_get_resolution (clock), ==, 1);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_start_time)
+{
+ GstClock *clock;
+ guint64 start_time;
+
+ clock = gst_test_clock_new ();
+ g_assert_cmpuint (gst_clock_get_time (clock), ==, 0);
+ g_object_get (clock, "start-time", &start_time, NULL);
+ g_assert_cmpuint (start_time, ==, 0);
+ gst_object_unref (clock);
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ g_assert_cmpuint (gst_clock_get_time (clock), ==, GST_SECOND);
+ g_object_get (clock, "start-time", &start_time, NULL);
+ g_assert_cmpuint (start_time, ==, GST_SECOND);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_set_time)
+{
+ GstClock *clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ gst_test_clock_set_time (GST_TEST_CLOCK (clock), GST_SECOND);
+ g_assert_cmpuint (gst_clock_get_time (clock), ==, GST_SECOND);
+ gst_test_clock_set_time (GST_TEST_CLOCK (clock), GST_SECOND + 1);
+ g_assert_cmpuint (gst_clock_get_time (clock), ==, GST_SECOND + 1);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_advance_time)
+{
+ GstClock *clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ gst_test_clock_advance_time (GST_TEST_CLOCK (clock), 0);
+ g_assert_cmpuint (gst_clock_get_time (clock), ==, GST_SECOND);
+ gst_test_clock_advance_time (GST_TEST_CLOCK (clock), 42 * GST_MSECOND);
+ g_assert_cmpuint (gst_clock_get_time (clock), ==,
+ GST_SECOND + (42 * GST_MSECOND));
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_wait_synchronous_no_timeout)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id;
+ GThread *worker_thread;
+ GstClockID pending_id;
+ GstClockID processed_id;
+ SyncClockWaitContext context;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id = gst_clock_new_single_shot_id (clock, GST_SECOND - 1);
+ context.clock_id = gst_clock_id_ref (clock_id);
+ context.jitter = 0;
+ worker_thread =
+ g_thread_new ("worker_thread",
+ test_wait_pending_single_shot_id_sync_worker, &context);
+ gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ assert_pending_id (pending_id, clock_id, GST_CLOCK_ENTRY_SINGLE,
+ GST_SECOND - 1);
+ gst_clock_id_unref (pending_id);
+ processed_id = gst_test_clock_process_next_clock_id (test_clock);
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_SINGLE,
+ GST_CLOCK_EARLY);
+ gst_clock_id_unref (processed_id);
+ g_thread_join (worker_thread);
+ g_assert_cmpuint (context.jitter, ==, 1);
+ gst_clock_id_unref (context.clock_id);
+ gst_clock_id_unref (clock_id);
+
+ clock_id = gst_clock_new_single_shot_id (clock, GST_SECOND);
+ context.clock_id = gst_clock_id_ref (clock_id);
+ context.jitter = 0;
+ worker_thread =
+ g_thread_new ("worker_thread",
+ test_wait_pending_single_shot_id_sync_worker, &context);
+ gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ assert_pending_id (pending_id, clock_id, GST_CLOCK_ENTRY_SINGLE, GST_SECOND);
+ gst_clock_id_unref (pending_id);
+ processed_id = gst_test_clock_process_next_clock_id (test_clock);
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_SINGLE,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+ g_thread_join (worker_thread);
+ g_assert_cmpuint (context.jitter, ==, 0);
+ gst_clock_id_unref (context.clock_id);
+ gst_clock_id_unref (clock_id);
+
+ clock_id = gst_clock_new_single_shot_id (clock, GST_SECOND + 1);
+ context.clock_id = gst_clock_id_ref (clock_id);
+ context.jitter = 0;
+ worker_thread =
+ g_thread_new ("worker_thread",
+ test_wait_pending_single_shot_id_sync_worker, &context);
+ gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ assert_pending_id (pending_id, clock_id, GST_CLOCK_ENTRY_SINGLE,
+ GST_SECOND + 1);
+ gst_clock_id_unref (pending_id);
+ processed_id = gst_test_clock_process_next_clock_id (test_clock);
+ g_assert (processed_id == NULL);
+ gst_test_clock_advance_time (test_clock, 1);
+ processed_id = gst_test_clock_process_next_clock_id (test_clock);
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_SINGLE,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+ g_thread_join (worker_thread);
+ g_assert_cmpuint (context.jitter, ==, -1);
+ gst_clock_id_unref (context.clock_id);
+ gst_clock_id_unref (clock_id);
+
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_wait_pending_single_shot_id)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id;
+ GstClockID processed_id;
+ GThread *worker_thread;
+ GstClockID pending_id;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id = gst_clock_new_single_shot_id (clock, GST_SECOND);
+ gst_clock_id_wait_async (clock_id, test_async_wait_cb, NULL, NULL);
+ gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ assert_pending_id (pending_id, clock_id, GST_CLOCK_ENTRY_SINGLE, GST_SECOND);
+ gst_clock_id_unref (pending_id);
+ processed_id = gst_test_clock_process_next_clock_id (test_clock);
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_SINGLE,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+ gst_clock_id_unref (clock_id);
+
+ clock_id = gst_clock_new_single_shot_id (clock, 2 * GST_SECOND);
+ worker_thread =
+ g_thread_new ("worker_thread",
+ test_wait_pending_single_shot_id_async_worker, clock_id);
+ gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ assert_pending_id (pending_id, clock_id, GST_CLOCK_ENTRY_SINGLE,
+ 2 * GST_SECOND);
+ gst_clock_id_unref (pending_id);
+ g_thread_join (worker_thread);
+ gst_clock_id_unref (clock_id);
+
+ clock_id = gst_clock_new_single_shot_id (clock, 3 * GST_SECOND);
+ worker_thread =
+ g_thread_new ("worker_thread",
+ test_wait_pending_single_shot_id_async_worker, clock_id);
+ gst_test_clock_wait_for_next_pending_id (test_clock, NULL);
+ g_thread_join (worker_thread);
+ gst_clock_id_unref (clock_id);
+
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_wait_pending_periodic_id)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id;
+ GstClockID processed_id;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ test_clock = GST_TEST_CLOCK (clock);
+ clock_id = gst_clock_new_periodic_id (clock, GST_SECOND, GST_MSECOND);
+
+ {
+ GThread *waiter_thread;
+
+ waiter_thread =
+ g_thread_new ("waiter_thread",
+ test_wait_pending_periodic_id_waiter_thread, clock_id);
+
+ gst_test_clock_wait_for_next_pending_id (test_clock, NULL);
+ gst_test_clock_set_time (test_clock, GST_SECOND);
+ processed_id = gst_test_clock_process_next_clock_id (test_clock);
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_PERIODIC,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+
+ g_thread_join (waiter_thread);
+ }
+
+ {
+ guint i;
+ GThread *waiter_thread;
+
+ for (i = 0; i < 3; i++) {
+ g_assert (!gst_test_clock_peek_next_pending_id (test_clock, NULL));
+ g_usleep (G_USEC_PER_SEC / 10 / 10);
+ }
+
+ waiter_thread =
+ g_thread_new ("waiter_thread",
+ test_wait_pending_periodic_id_waiter_thread, clock_id);
+
+ gst_test_clock_wait_for_next_pending_id (test_clock, NULL);
+ gst_clock_id_unschedule (clock_id);
+
+ g_thread_join (waiter_thread);
+ }
+
+ gst_clock_id_unref (clock_id);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_sync_past)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id;
+ GstClockTimeDiff jitter;
+ GtuClockWaitContext *wait_ctx;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id = gst_clock_new_single_shot_id (clock, GST_SECOND - 1);
+ wait_ctx =
+ gst_test_util_wait_for_clock_id_begin (test_clock, clock_id, &jitter);
+ g_assert (gst_test_util_wait_for_clock_id_end (wait_ctx) == GST_CLOCK_EARLY);
+ g_assert_cmpint (jitter, ==, 1);
+ gst_clock_id_unref (clock_id);
+
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_sync_present)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id;
+ GstClockTimeDiff jitter;
+ GtuClockWaitContext *wait_ctx;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id = gst_clock_new_single_shot_id (clock, GST_SECOND);
+ wait_ctx =
+ gst_test_util_wait_for_clock_id_begin (test_clock, clock_id, &jitter);
+ g_assert (gst_test_util_wait_for_clock_id_end (wait_ctx) == GST_CLOCK_OK);
+ g_assert_cmpint (jitter, ==, 0);
+ gst_clock_id_unref (clock_id);
+
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_sync_future)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id;
+ GstClockTimeDiff jitter;
+ GtuClockWaitContext *wait_ctx;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id = gst_clock_new_single_shot_id (clock, 2 * GST_SECOND);
+ wait_ctx =
+ gst_test_util_wait_for_clock_id_begin (test_clock, clock_id, &jitter);
+ gst_test_clock_advance_time (test_clock, GST_SECOND);
+ g_assert (gst_test_util_wait_for_clock_id_end (wait_ctx) == GST_CLOCK_OK);
+ g_assert_cmpint (jitter, ==, -GST_SECOND);
+ gst_clock_id_unref (clock_id);
+
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_sync_unschedule)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id;
+ GtuClockWaitContext *wait_ctx;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id = gst_clock_new_single_shot_id (clock, GST_SECOND);
+ gst_clock_id_unschedule (clock_id);
+ gst_clock_id_unref (clock_id);
+
+ clock_id = gst_clock_new_single_shot_id (clock, 2 * GST_SECOND);
+ wait_ctx = gst_test_util_wait_for_clock_id_begin (test_clock, clock_id, NULL);
+ gst_clock_id_unschedule (clock_id);
+ g_assert (gst_test_util_wait_for_clock_id_end (wait_ctx)
+ == GST_CLOCK_UNSCHEDULED);
+ gst_clock_id_unref (clock_id);
+
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_sync_ordering)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id_a, clock_id_b;
+ GtuClockWaitContext *wait_ctx_a, *wait_ctx_b;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id_a = gst_clock_new_single_shot_id (clock, 3 * GST_SECOND);
+ wait_ctx_a =
+ gst_test_util_wait_for_clock_id_begin (test_clock, clock_id_a, NULL);
+
+ gst_test_clock_advance_time (test_clock, GST_SECOND);
+
+ clock_id_b = gst_clock_new_single_shot_id (clock, 2 * GST_SECOND);
+ wait_ctx_b =
+ gst_test_util_wait_for_clock_id_begin (test_clock, clock_id_b, NULL);
+
+ gst_test_clock_advance_time (test_clock, GST_SECOND);
+
+ g_assert (gst_test_util_wait_for_clock_id_end (wait_ctx_b) == GST_CLOCK_OK);
+ g_assert (gst_test_util_wait_for_clock_id_end (wait_ctx_a) == GST_CLOCK_OK);
+
+ gst_clock_id_unref (clock_id_b);
+ gst_clock_id_unref (clock_id_a);
+
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_sync_ordering_parallel)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id_a, clock_id_b;
+ GtuClockWaitContext *wait_ctx_a, *wait_ctx_b;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id_a = gst_clock_new_single_shot_id (clock, 3 * GST_SECOND);
+ clock_id_b = gst_clock_new_single_shot_id (clock, 2 * GST_SECOND);
+ wait_ctx_a = gst_test_util_wait_for_clock_id_begin (test_clock, clock_id_a,
+ NULL);
+ wait_ctx_b = gst_test_util_wait_for_clock_id_begin (test_clock, clock_id_b,
+ NULL);
+
+ g_assert_cmpuint (gst_test_clock_get_next_entry_time (test_clock), ==,
+ 2 * GST_SECOND);
+ gst_test_clock_advance_time (test_clock, GST_SECOND);
+ g_assert (gst_test_util_wait_for_clock_id_end (wait_ctx_b) == GST_CLOCK_OK);
+
+ g_assert_cmpuint (gst_test_clock_get_next_entry_time (test_clock), ==,
+ 3 * GST_SECOND);
+ gst_test_clock_advance_time (test_clock, GST_SECOND);
+ g_assert (gst_test_util_wait_for_clock_id_end (wait_ctx_a) == GST_CLOCK_OK);
+
+ gst_clock_id_unref (clock_id_b);
+ gst_clock_id_unref (clock_id_a);
+
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_sync_simultaneous_no_timeout)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id_a;
+ GstClockID clock_id_b;
+ SyncClockWaitContext context_a;
+ SyncClockWaitContext context_b;
+ GThread *worker_thread_a;
+ GThread *worker_thread_b;
+ GstClockID processed_id;
+ GstClockID pending_id;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id_a = gst_clock_new_single_shot_id (clock, 5 * GST_SECOND);
+ clock_id_b = gst_clock_new_single_shot_id (clock, 6 * GST_SECOND);
+
+ context_a.clock_id = gst_clock_id_ref (clock_id_a);
+ context_a.jitter = 0;
+ context_b.clock_id = gst_clock_id_ref (clock_id_b);
+ context_b.jitter = 0;
+
+ gst_test_clock_wait_for_pending_id_count (test_clock, 0);
+
+ worker_thread_b =
+ g_thread_new ("worker_thread_b",
+ test_wait_pending_single_shot_id_sync_worker, &context_b);
+
+ gst_test_clock_wait_for_pending_id_count (test_clock, 1);
+ gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ assert_pending_id (pending_id, clock_id_b, GST_CLOCK_ENTRY_SINGLE,
+ 6 * GST_SECOND);
+ gst_clock_id_unref (pending_id);
+
+ worker_thread_a =
+ g_thread_new ("worker_thread_a",
+ test_wait_pending_single_shot_id_sync_worker, &context_a);
+
+ gst_test_clock_wait_for_pending_id_count (test_clock, 2);
+ gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ assert_pending_id (pending_id, clock_id_a, GST_CLOCK_ENTRY_SINGLE,
+ 5 * GST_SECOND);
+ gst_clock_id_unref (pending_id);
+
+ g_assert_cmpuint (gst_test_clock_get_next_entry_time (test_clock), ==,
+ 5 * GST_SECOND);
+ gst_test_clock_advance_time (test_clock, 5 * GST_SECOND);
+ processed_id = gst_test_clock_process_next_clock_id (test_clock);
+ assert_processed_id (processed_id, clock_id_a, GST_CLOCK_ENTRY_SINGLE,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+
+ gst_test_clock_wait_for_pending_id_count (test_clock, 1);
+ gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ assert_pending_id (pending_id, clock_id_b, GST_CLOCK_ENTRY_SINGLE,
+ 6 * GST_SECOND);
+ gst_clock_id_unref (pending_id);
+
+ g_assert_cmpuint (gst_test_clock_get_next_entry_time (test_clock), ==,
+ 6 * GST_SECOND);
+ gst_test_clock_advance_time (test_clock, 6 * GST_SECOND);
+ processed_id = gst_test_clock_process_next_clock_id (test_clock);
+ assert_processed_id (processed_id, clock_id_b, GST_CLOCK_ENTRY_SINGLE,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+
+ gst_test_clock_wait_for_pending_id_count (test_clock, 0);
+
+ g_thread_join (worker_thread_a);
+ g_thread_join (worker_thread_b);
+
+ g_assert_cmpuint (context_a.jitter, ==, -4 * GST_SECOND);
+ g_assert_cmpuint (context_b.jitter, ==, -5 * GST_SECOND);
+
+ gst_clock_id_unref (context_a.clock_id);
+ gst_clock_id_unref (context_b.clock_id);
+
+ gst_clock_id_unref (clock_id_a);
+ gst_clock_id_unref (clock_id_b);
+
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_async_past)
+{
+ GstClock *clock;
+ GstClockID clock_id;
+ GstClockID processed_id;
+ gboolean wait_complete = FALSE;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ clock_id = gst_clock_new_single_shot_id (clock, GST_SECOND - 1);
+ g_assert (gst_clock_id_wait_async (clock_id, test_async_wait_cb,
+ &wait_complete, NULL) == GST_CLOCK_OK);
+ g_assert (!wait_complete);
+ processed_id = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock));
+ g_assert (wait_complete);
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_SINGLE,
+ GST_CLOCK_EARLY);
+ gst_clock_id_unref (processed_id);
+ gst_clock_id_unref (clock_id);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_async_present)
+{
+ GstClock *clock;
+ GstClockID clock_id;
+ GstClockID processed_id;
+ gboolean wait_complete = FALSE;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ clock_id = gst_clock_new_single_shot_id (clock, GST_SECOND);
+ g_assert (gst_clock_id_wait_async (clock_id, test_async_wait_cb,
+ &wait_complete, NULL) == GST_CLOCK_OK);
+ g_assert (!wait_complete);
+ processed_id = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock));
+ g_assert (wait_complete);
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_SINGLE,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+ gst_clock_id_unref (clock_id);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_async_future)
+{
+ GstClock *clock;
+ GstClockID clock_id;
+ GstClockID processed_id;
+ gboolean wait_complete = FALSE;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+ clock_id = gst_clock_new_single_shot_id (clock, 2 * GST_SECOND);
+ g_assert (gst_clock_id_wait_async (clock_id, test_async_wait_cb,
+ &wait_complete, NULL) == GST_CLOCK_OK);
+ processed_id = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock));
+ g_assert (processed_id == NULL);
+ g_assert (!wait_complete);
+ g_assert (GST_CLOCK_ENTRY_STATUS (GST_CLOCK_ENTRY (clock_id))
+ == GST_CLOCK_OK);
+
+ gst_test_clock_advance_time (GST_TEST_CLOCK (clock), GST_SECOND - 1);
+ processed_id = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock));
+ g_assert (processed_id == NULL);
+ g_assert (!wait_complete);
+ g_assert (GST_CLOCK_ENTRY_STATUS (GST_CLOCK_ENTRY (clock_id))
+ == GST_CLOCK_OK);
+
+ gst_test_clock_advance_time (GST_TEST_CLOCK (clock), 1);
+ processed_id = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock));
+ g_assert (wait_complete);
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_SINGLE,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+ g_assert (GST_CLOCK_ENTRY_STATUS (GST_CLOCK_ENTRY (clock_id))
+ == GST_CLOCK_OK);
+
+ gst_clock_id_unref (clock_id);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_single_shot_async_unschedule)
+{
+ GstClock *clock;
+ GstClockID clock_id;
+ gboolean wait_complete = FALSE;
+
+ clock = gst_test_clock_new_with_start_time (GST_SECOND);
+
+ clock_id = gst_clock_new_single_shot_id (clock, 3 * GST_SECOND);
+ g_assert (gst_clock_id_wait_async (clock_id, test_async_wait_cb,
+ &wait_complete, NULL) == GST_CLOCK_OK);
+
+ gst_clock_id_unschedule (clock_id);
+
+ gst_test_clock_advance_time (GST_TEST_CLOCK (clock), 2 * GST_SECOND);
+ g_assert (gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock))
+ == NULL);
+ g_assert (!wait_complete);
+
+ gst_clock_id_unref (clock_id);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_periodic_sync)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id;
+ guint i;
+ const GstClockTime interval = 4 * GST_MSECOND;
+
+ clock = gst_test_clock_new ();
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id = gst_clock_new_periodic_id (clock, GST_SECOND, interval);
+
+ for (i = 0; i < 3; i++) {
+ GtuClockWaitContext *wait_ctx;
+ GstClockID pending_id;
+ guint j;
+
+ wait_ctx =
+ gst_test_util_wait_for_clock_id_begin (test_clock, clock_id, NULL);
+
+ gst_test_clock_wait_for_next_pending_id (test_clock, &pending_id);
+ assert_pending_id (pending_id, clock_id, GST_CLOCK_ENTRY_PERIODIC,
+ GST_SECOND + (i * interval));
+ gst_clock_id_unref (pending_id);
+
+ for (j = 0; j < 10; j++) {
+ g_usleep (G_USEC_PER_SEC / 10 / 10);
+ g_assert (!gst_test_util_clock_wait_context_has_completed (wait_ctx));
+ }
+
+ if (i == 0)
+ gst_test_clock_advance_time (test_clock, GST_SECOND);
+ else
+ gst_test_clock_advance_time (test_clock, interval);
+
+ gst_test_util_wait_for_clock_id_end (wait_ctx);
+ }
+
+ gst_clock_id_unref (clock_id);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_periodic_async)
+{
+ GstClock *clock;
+ GstClockID clock_id;
+ GstClockID processed_id;
+ gboolean wait_complete = FALSE;
+ const GstClockTime interval = 4 * GST_MSECOND;
+
+ clock = gst_test_clock_new ();
+ clock_id = gst_clock_new_periodic_id (clock, gst_clock_get_time (clock),
+ interval);
+ g_assert (gst_clock_id_wait_async (clock_id, test_async_wait_cb,
+ &wait_complete, NULL) == GST_CLOCK_OK);
+
+ processed_id = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock));
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_PERIODIC,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+
+ g_assert (wait_complete);
+ wait_complete = FALSE;
+
+ gst_test_clock_advance_time (GST_TEST_CLOCK (clock), interval - 1);
+ processed_id = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock));
+ g_assert (processed_id == NULL);
+ g_assert (!wait_complete);
+
+ gst_test_clock_advance_time (GST_TEST_CLOCK (clock), 1);
+ processed_id = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock));
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_PERIODIC,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+ g_assert (wait_complete);
+ wait_complete = FALSE;
+
+ gst_test_clock_advance_time (GST_TEST_CLOCK (clock), interval - 1);
+ processed_id = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock));
+ g_assert (processed_id == NULL);
+ g_assert (!wait_complete);
+
+ gst_test_clock_advance_time (GST_TEST_CLOCK (clock), 1);
+ processed_id = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (clock));
+ assert_processed_id (processed_id, clock_id, GST_CLOCK_ENTRY_PERIODIC,
+ GST_CLOCK_OK);
+ gst_clock_id_unref (processed_id);
+ g_assert (wait_complete);
+ wait_complete = FALSE;
+
+ gst_clock_id_unref (clock_id);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_periodic_uniqueness)
+{
+ GstClock *clock;
+ GstTestClock *test_clock;
+ GstClockID clock_id;
+ guint i;
+ const GstClockTime interval = 4 * GST_MSECOND;
+
+ clock = gst_test_clock_new ();
+ test_clock = GST_TEST_CLOCK (clock);
+
+ clock_id = gst_clock_new_periodic_id (clock, 0, interval);
+
+ for (i = 0; i < 3; i++) {
+ GtuClockWaitContext *wait_ctx;
+ guint j;
+
+ wait_ctx =
+ gst_test_util_wait_for_clock_id_begin (test_clock, clock_id, NULL);
+
+ for (j = 0; j < 10; j++) {
+ g_usleep (G_USEC_PER_SEC / 10 / 10);
+ g_assert_cmpuint (gst_test_clock_peek_id_count (test_clock), ==, 1);
+ }
+
+ gst_test_clock_advance_time (test_clock, interval);
+ gst_test_util_wait_for_clock_id_end (wait_ctx);
+ }
+
+ gst_clock_id_unref (clock_id);
+ gst_object_unref (clock);
+}
+
+GST_END_TEST;
+
+static Suite *
+gst_test_clock_suite (void)
+{
+ Suite *s = suite_create ("GstTestClock");
+ TCase *tc_chain = tcase_create ("testclock");
+
+ suite_add_tcase (s, tc_chain);
+
+ tcase_add_test (tc_chain, test_object_flags);
+ tcase_add_test (tc_chain, test_resolution_query);
+ tcase_add_test (tc_chain, test_start_time);
+ tcase_add_test (tc_chain, test_set_time);
+ tcase_add_test (tc_chain, test_advance_time);
+ tcase_add_test (tc_chain, test_wait_synchronous_no_timeout);
+ tcase_add_test (tc_chain, test_wait_pending_single_shot_id);
+ tcase_add_test (tc_chain, test_wait_pending_periodic_id);
+ tcase_add_test (tc_chain, test_single_shot_sync_simultaneous_no_timeout);
+ tcase_add_test (tc_chain, test_single_shot_sync_past);
+ tcase_add_test (tc_chain, test_single_shot_sync_present);
+ tcase_add_test (tc_chain, test_single_shot_sync_future);
+ tcase_add_test (tc_chain, test_single_shot_sync_unschedule);
+ tcase_add_test (tc_chain, test_single_shot_sync_ordering);
+ tcase_add_test (tc_chain, test_single_shot_sync_ordering_parallel);
+ tcase_add_test (tc_chain, test_single_shot_async_past);
+ tcase_add_test (tc_chain, test_single_shot_async_present);
+ tcase_add_test (tc_chain, test_single_shot_async_future);
+ tcase_add_test (tc_chain, test_single_shot_async_unschedule);
+ tcase_add_test (tc_chain, test_periodic_sync);
+ tcase_add_test (tc_chain, test_periodic_async);
+ tcase_add_test (tc_chain, test_periodic_uniqueness);
+
+ return s;
+}
+
+GST_CHECK_MAIN (gst_test_clock);
diff --git a/tests/check/libs/libsabi.c b/tests/check/libs/libsabi.c
index e24f4fb..42ca40f 100644
--- a/tests/check/libs/libsabi.c
+++ b/tests/check/libs/libsabi.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <config.h>
@@ -70,7 +70,7 @@
#else
#ifdef HAVE_CPU_ARM
#include "struct_arm.h"
-#define HAVE_ABI_SIZES FALSE
+#define HAVE_ABI_SIZES TRUE
#else
/* in case someone wants to generate a new arch */
#include "struct_i386.h"
diff --git a/tests/check/libs/queuearray.c b/tests/check/libs/queuearray.c
index b8fac2b..0141a11 100644
--- a/tests/check/libs/queuearray.c
+++ b/tests/check/libs/queuearray.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -26,8 +26,7 @@
#include <gst/gst.h>
#include <gst/check/gstcheck.h>
-#include "../../../plugins/elements/gstqueuearray.h"
-#include "../../../plugins/elements/gstqueuearray.c"
+#include <gst/base/gstqueuearray.h>
/* Simplest test
* Initial size : 10
@@ -45,7 +44,7 @@ GST_START_TEST (test_array_1)
for (i = 0; i < 5; i++)
gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
- fail_unless_equals_int (array->length, 5);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 5);
/* pull 5 values out */
for (i = 0; i < 5; i++) {
@@ -53,7 +52,7 @@ GST_START_TEST (test_array_1)
i);
}
- fail_unless_equals_int (array->length, 0);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 0);
gst_queue_array_free (array);
}
@@ -67,31 +66,18 @@ GST_START_TEST (test_array_grow)
/* Create an array of initial size 10 */
array = gst_queue_array_new (10);
- fail_unless_equals_int (array->size, 10);
/* push 10 values in */
for (i = 0; i < 10; i++)
gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
- fail_unless_equals_int (array->length, 10);
- /* It did not grow beyond initial size */
- fail_unless_equals_int (array->size, 10);
- /* The head is still at the beginning */
- fail_unless_equals_int (array->head, 0);
- /* The tail wrapped around to the head */
- fail_unless_equals_int (array->tail, 0);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 10);
/* If we add one value, it will grow */
gst_queue_array_push_tail (array, GINT_TO_POINTER (10));
- fail_unless_equals_int (array->length, 11);
- /* It did grow beyond initial size */
- fail_unless_equals_int (array->size, 15);
- /* The head remains the same */
- fail_unless_equals_int (array->head, 0);
- /* The tail was brought to position 11 */
- fail_unless_equals_int (array->tail, 11);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 11);
/* pull the 11 values out */
for (i = 0; i < 11; i++) {
@@ -99,7 +85,7 @@ GST_START_TEST (test_array_grow)
i);
}
- fail_unless_equals_int (array->length, 0);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 0);
gst_queue_array_free (array);
}
@@ -112,23 +98,20 @@ GST_START_TEST (test_array_grow_multiple)
/* Create an array of initial size 10 */
array = gst_queue_array_new (10);
- fail_unless_equals_int (array->size, 10);
/* push 11 values in */
for (i = 0; i < 11; i++)
gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
/* With 11 values, it should have grown once (15) */
- fail_unless_equals_int (array->length, 11);
- fail_unless_equals_int (array->size, 15);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 11);
for (i = 11; i < 20; i++)
gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
/* With 20 total values, it should have grown another time (3 * 15) / 2 = 22) */
- fail_unless_equals_int (array->length, 20);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 20);
/* It did grow beyond initial size */
- fail_unless_equals_int (array->size, 22);
/* pull the 20 values out */
for (i = 0; i < 20; i++) {
@@ -136,7 +119,7 @@ GST_START_TEST (test_array_grow_multiple)
i);
}
- fail_unless_equals_int (array->length, 0);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 0);
gst_queue_array_free (array);
}
@@ -149,7 +132,6 @@ GST_START_TEST (test_array_grow_middle)
/* Create an array of initial size 10 */
array = gst_queue_array_new (10);
- fail_unless_equals_int (array->size, 10);
/* push/pull 5 values to end up in the middle */
for (i = 0; i < 5; i++) {
@@ -162,15 +144,11 @@ GST_START_TEST (test_array_grow_middle)
for (i = 0; i < 10; i++)
gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
- fail_unless_equals_int (array->length, 10);
- /* It did not grow beyond initial size */
- fail_unless_equals_int (array->size, 10);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 10);
/* If we add one value, it will grow */
gst_queue_array_push_tail (array, GINT_TO_POINTER (10));
- fail_unless_equals_int (array->length, 11);
- /* It did grow beyond initial size */
- fail_unless_equals_int (array->size, 15);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 11);
/* pull the 11 values out */
for (i = 0; i < 11; i++) {
@@ -178,7 +156,7 @@ GST_START_TEST (test_array_grow_middle)
i);
}
- fail_unless_equals_int (array->length, 0);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 0);
gst_queue_array_free (array);
}
@@ -191,7 +169,6 @@ GST_START_TEST (test_array_grow_end)
/* Create an array of initial size 10 */
array = gst_queue_array_new (10);
- fail_unless_equals_int (array->size, 10);
/* push/pull 9 values to end up at the last position */
for (i = 0; i < 9; i++) {
@@ -204,15 +181,11 @@ GST_START_TEST (test_array_grow_end)
for (i = 0; i < 10; i++)
gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
- fail_unless_equals_int (array->length, 10);
- /* It did not grow beyond initial size */
- fail_unless_equals_int (array->size, 10);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 10);
/* If we add one value, it will grow */
gst_queue_array_push_tail (array, GINT_TO_POINTER (10));
- fail_unless_equals_int (array->length, 11);
- /* It did grow beyond initial size */
- fail_unless_equals_int (array->size, 15);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 11);
/* pull the 11 values out */
for (i = 0; i < 11; i++) {
@@ -220,7 +193,7 @@ GST_START_TEST (test_array_grow_end)
i);
}
- fail_unless_equals_int (array->length, 0);
+ fail_unless_equals_int (gst_queue_array_get_length (array), 0);
gst_queue_array_free (array);
}
@@ -232,144 +205,6 @@ compare_pointer_value (gconstpointer a, gconstpointer b)
return (int) ((guintptr) a - (guintptr) b);
}
-GST_START_TEST (test_array_find)
-{
- GstQueueArray *array;
- guint i;
- guint index;
-
- guint random_initial = g_random_int_range (10, 100);
- guint value_to_find = 5;
-
- /* Create an array of initial size 10 */
- array = gst_queue_array_new (10);
- fail_unless_equals_int (array->size, 10);
-
- while (random_initial--) {
- gst_queue_array_push_tail (array, GINT_TO_POINTER (g_random_int ()));
- gst_queue_array_pop_head (array);
- }
-
- /* push 10 values in */
- for (i = 0; i < 10; i++)
- gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
-
- fail_unless_equals_int (array->length, 10);
- fail_unless_equals_int (array->size, 10);
-
- index =
- gst_queue_array_find (array, compare_pointer_value,
- GINT_TO_POINTER (value_to_find));
- fail_if (index == -1);
- fail_unless_equals_int (value_to_find, GPOINTER_TO_INT (array->array[index]));
-
- /* push 10 values in */
- for (i = 0; i < 10; i++)
- gst_queue_array_pop_head (array);
-
- index =
- gst_queue_array_find (array, compare_pointer_value,
- GINT_TO_POINTER (value_to_find));
- fail_unless (index == -1);
-
- gst_queue_array_free (array);
-}
-
-GST_END_TEST;
-
-GST_START_TEST (test_array_drop)
-{
- GstQueueArray *array;
- guint i;
- guint index;
- guint index_2;
-
- /* Create an array of initial size 10 */
- array = gst_queue_array_new (10);
- fail_unless_equals_int (array->size, 10);
-
- for (i = 0; i < 5; i++)
- gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
-
- fail_unless (array->length == 5);
-
- /* Naive case remove head */
- index =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (0));
- fail_if (index == -1);
- gst_queue_array_drop_element (array, index);
- fail_unless (array->length == 4);
- index =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (0));
- fail_unless (index == -1);
-
- /* Naive case remove tail */
- index =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (4));
- fail_if (index == -1);
- gst_queue_array_drop_element (array, index);
- fail_unless (array->length == 3);
- index =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (4));
- fail_unless (index == -1);
-
- /* Remove in middle of non-wrapped */
- index =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (2));
- index_2 =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (3));
- fail_if (index == -1);
- fail_if (index_2 == -1);
- gst_queue_array_drop_element (array, index);
- fail_unless (array->length == 2);
- index =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (2));
- fail_unless (index == -1);
- index_2 =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (3));
- fail_if (index_2 == -1);
-
- /* Remove the rest */
- while (array->length)
- gst_queue_array_pop_head (array);
-
- /* Add until wrapping */
- for (i = 0; i < 9; i++)
- gst_queue_array_push_tail (array, GINT_TO_POINTER (i));
-
- fail_unless (array->head > array->tail);
-
- /* Remove from between head and array end */
- index =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (1));
- fail_if (index == -1);
- fail_unless (index > array->head);
- index_2 = array->head;
- gst_queue_array_drop_element (array, index);
- fail_unless (array->length == 8);
- fail_if (array->head == index_2);
- index =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (1));
- fail_unless (index == -1);
-
- /* Remove from between head and array end */
- index =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (8));
- fail_if (index == -1);
- fail_unless (index < array->tail);
- index_2 = array->tail;
- gst_queue_array_drop_element (array, index);
- fail_unless (array->length == 7);
- fail_if (array->tail == index_2);
- index =
- gst_queue_array_find (array, compare_pointer_value, GINT_TO_POINTER (8));
- fail_unless (index == -1);
-
- gst_queue_array_free (array);
-}
-
-GST_END_TEST;
-
GST_START_TEST (test_array_drop2)
{
#define NUM_QA_ELEMENTS 674
@@ -390,21 +225,24 @@ GST_START_TEST (test_array_drop2)
for (j = 0, count = 0; j < NUM_QA_ELEMENTS; j++)
count += in_array[j] ? 1 : 0;
- fail_unless_equals_int (array->length, count);
+ fail_unless_equals_int (gst_queue_array_get_length (array), count);
- while (array->length > 0) {
+ while (gst_queue_array_get_length (array) > 0) {
for (i = 0; i < NUM_QA_ELEMENTS; i++) {
+ gpointer dropped;
+
if (g_random_boolean () && g_random_boolean () && in_array[i]) {
idx = gst_queue_array_find (array, compare_pointer_value,
GUINT_TO_POINTER (i));
- gst_queue_array_drop_element (array, idx);
+ dropped = gst_queue_array_drop_element (array, idx);
+ fail_unless_equals_int (i, GPOINTER_TO_INT (dropped));
in_array[i] = FALSE;
}
}
for (j = 0, count = 0; j < NUM_QA_ELEMENTS; j++)
count += in_array[j] ? 1 : 0;
- fail_unless_equals_int (array->length, count);
+ fail_unless_equals_int (gst_queue_array_get_length (array), count);
}
gst_queue_array_free (array);
@@ -425,8 +263,6 @@ gst_queue_array_suite (void)
tcase_add_test (tc_chain, test_array_grow_multiple);
tcase_add_test (tc_chain, test_array_grow_middle);
tcase_add_test (tc_chain, test_array_grow_end);
- tcase_add_test (tc_chain, test_array_find);
- tcase_add_test (tc_chain, test_array_drop);
tcase_add_test (tc_chain, test_array_drop2);
return s;
diff --git a/tests/check/libs/struct_arm.h b/tests/check/libs/struct_arm.h
index 484298e..8c99bf2 100644
--- a/tests/check/libs/struct_arm.h
+++ b/tests/check/libs/struct_arm.h
@@ -1,39 +1,39 @@
GstCheckABIStruct list[] = {
- {"GstBaseParseClass", sizeof (GstBaseParseClass), 728},
- {"GstBaseParse", sizeof (GstBaseParse), 576},
- {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 792},
- {"GstBaseSink", sizeof (GstBaseSink), 664},
- {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 800},
- {"GstBaseSrc", sizeof (GstBaseSrc), 648},
- {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 816},
- {"GstBaseTransform", sizeof (GstBaseTransform), 576},
- {"GstBitReader", sizeof (GstBitReader), 56},
- {"GstByteReader", sizeof (GstByteReader), 48},
- {"GstByteWriter", sizeof (GstByteWriter), 96},
- {"GstCollectData", sizeof (GstCollectData), 200},
- {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 216},
- {"GstCollectPads", sizeof (GstCollectPads), 152},
- {"GstARGBControlBindingClass", sizeof (GstARGBControlBindingClass), 280},
- {"GstARGBControlBinding", sizeof (GstARGBControlBinding), 248},
- {"GstDirectControlBindingClass", sizeof (GstDirectControlBindingClass), 280},
- {"GstDirectControlBinding", sizeof (GstDirectControlBinding), 248},
- {"GstInterpolationControlSourceClass", sizeof (GstInterpolationControlSourceClass), 280},
- {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 240},
- {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 248},
- {"GstLFOControlSource", sizeof (GstLFOControlSource), 184},
+ {"GstBaseParseClass", sizeof (GstBaseParseClass), 368},
+ {"GstBaseParse", sizeof (GstBaseParse), 392},
+ {"GstBaseSinkClass", sizeof (GstBaseSinkClass), 400},
+ {"GstBaseSink", sizeof (GstBaseSink), 464},
+ {"GstBaseSrcClass", sizeof (GstBaseSrcClass), 404},
+ {"GstBaseSrc", sizeof (GstBaseSrc), 448},
+ {"GstBaseTransformClass", sizeof (GstBaseTransformClass), 416},
+ {"GstBaseTransform", sizeof (GstBaseTransform), 392},
+ {"GstBitReader", sizeof (GstBitReader), 32},
+ {"GstByteReader", sizeof (GstByteReader), 28},
+ {"GstByteWriter", sizeof (GstByteWriter), 56},
+ {"GstCollectData", sizeof (GstCollectData), 144},
+ {"GstCollectPadsClass", sizeof (GstCollectPadsClass), 108},
+ {"GstCollectPads", sizeof (GstCollectPads), 104},
+ {"GstARGBControlBindingClass", sizeof (GstARGBControlBindingClass), 140},
+ {"GstARGBControlBinding", sizeof (GstARGBControlBinding), 160},
+ {"GstDirectControlBindingClass", sizeof (GstDirectControlBindingClass), 140},
+ {"GstDirectControlBinding", sizeof (GstDirectControlBinding), 168},
+ {"GstInterpolationControlSourceClass", sizeof (GstInterpolationControlSourceClass), 140},
+ {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 152},
+ {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 124},
+ {"GstLFOControlSource", sizeof (GstLFOControlSource), 120},
{"GstControlPoint", sizeof (GstControlPoint), 32},
- {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 248},
- {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 200},
- {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 280},
- {"GstTriggerControlSource", sizeof (GstTriggerControlSource), 240},
- {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 328},
- {"GstNetClientClock", sizeof (GstNetClientClock), 208},
+ {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 124},
+ {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 128},
+ {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 140},
+ {"GstTriggerControlSource", sizeof (GstTriggerControlSource), 152},
+ {"GstNetClientClockClass", sizeof (GstNetClientClockClass), 164},
+ {"GstNetClientClock", sizeof (GstNetClientClock), 136},
{"GstNetTimePacket", sizeof (GstNetTimePacket), 16},
- {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 216},
- {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 128},
- {"GstPushSrcClass", sizeof (GstPushSrcClass), 856},
- {"GstPushSrc", sizeof (GstPushSrc), 680},
+ {"GstNetTimeProviderClass", sizeof (GstNetTimeProviderClass), 108},
+ {"GstNetTimeProvider", sizeof (GstNetTimeProvider), 88},
+ {"GstPushSrcClass", sizeof (GstPushSrcClass), 432},
+ {"GstPushSrc", sizeof (GstPushSrc), 464},
{"GstTimedValue", sizeof (GstTimedValue), 16},
{NULL, 0, 0}
};
diff --git a/tests/check/libs/test_transform.c b/tests/check/libs/test_transform.c
index 0d10d02..403f701 100644
--- a/tests/check/libs/test_transform.c
+++ b/tests/check/libs/test_transform.c
@@ -183,6 +183,8 @@ gst_test_trans_new (void)
gst_element_set_state (res->trans, GST_STATE_PAUSED);
gst_pad_set_active (res->srcpad, TRUE);
+ gst_pad_push_event (res->srcpad, gst_event_new_stream_start ("test"));
+
return res;
}
@@ -233,3 +235,19 @@ gst_test_trans_pop (TestTransData * data)
}
return ret;
}
+
+static gboolean
+gst_test_trans_setcaps (TestTransData * data, GstCaps * caps)
+{
+ return gst_pad_set_caps (data->srcpad, caps);
+}
+
+static gboolean
+gst_test_trans_push_segment (TestTransData * data)
+{
+ GstSegment segment;
+
+ gst_segment_init (&segment, GST_FORMAT_TIME);
+
+ return gst_pad_push_event (data->srcpad, gst_event_new_segment (&segment));
+}
diff --git a/tests/check/libs/transform1.c b/tests/check/libs/transform1.c
index 8a04a45..f8f32e2 100644
--- a/tests/check/libs/transform1.c
+++ b/tests/check/libs/transform1.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -29,25 +29,6 @@
#include "test_transform.c"
-static gboolean buffer_alloc_pt1_called;
-
-#if 0
-static GstFlowReturn
-buffer_alloc_pt1 (GstPad * pad, guint64 offset, guint size, GstCaps * caps,
- GstBuffer ** buf)
-{
- GST_DEBUG_OBJECT (pad, "buffer_alloc called %" G_GUINT64_FORMAT ", %u, %"
- GST_PTR_FORMAT, offset, size, caps);
-
- buffer_alloc_pt1_called = TRUE;
-
- *buf = gst_buffer_new_and_alloc (size);
- gst_buffer_set_caps (*buf, caps);
-
- return GST_FLOW_OK;
-}
-#endif
-
static gboolean set_caps_pt1_called;
static gboolean
@@ -67,78 +48,52 @@ GST_START_TEST (basetransform_chain_pt1)
TestTransData *trans;
GstBuffer *buffer;
GstFlowReturn res;
- //GstCaps *caps;
+ GstCaps *caps;
klass_set_caps = set_caps_pt1;
trans = gst_test_trans_new ();
+ gst_test_trans_push_segment (trans);
+
GST_DEBUG_OBJECT (trans, "buffer without caps, size 20");
buffer = gst_buffer_new_and_alloc (20);
- buffer_alloc_pt1_called = FALSE;
set_caps_pt1_called = FALSE;
res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_OK);
- /* FIXME, passthough without pad-alloc, do pad-alloc on the srcpad */
- //fail_unless (buffer_alloc_pt1_called == TRUE);
fail_unless (set_caps_pt1_called == FALSE);
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
fail_unless (gst_buffer_get_size (buffer) == 20);
-#if 0
- /* caps should not have been set */
- fail_unless (GST_BUFFER_CAPS (buffer) == NULL);
-#endif
gst_buffer_unref (buffer);
GST_DEBUG_OBJECT (trans, "buffer without caps, size 10");
buffer = gst_buffer_new_and_alloc (10);
- buffer_alloc_pt1_called = FALSE;
set_caps_pt1_called = FALSE;
res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_OK);
- /* FIXME, passthough without pad-alloc, do pad-alloc on the srcpad */
- //fail_unless (buffer_alloc_pt1_called == TRUE);
fail_unless (set_caps_pt1_called == FALSE);
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
fail_unless (gst_buffer_get_size (buffer) == 10);
-#if 0
- /* caps should not have been set */
- fail_unless (GST_BUFFER_CAPS (buffer) == NULL);
-#endif
gst_buffer_unref (buffer);
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 10");
+ gst_pad_push_event (trans->srcpad, gst_event_new_flush_start ());
+ gst_pad_push_event (trans->srcpad, gst_event_new_flush_stop (TRUE));
caps = gst_caps_new_empty_simple ("foo/x-bar");
- buffer_alloc_pt1_called = FALSE;
set_caps_pt1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, caps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_pt1_called == TRUE);
- fail_unless (set_caps_pt1_called == FALSE);
- gst_buffer_unref (buffer);
-
- /* once more */
- buffer_alloc_pt1_called = FALSE;
- set_caps_pt1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, caps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_pt1_called == TRUE);
- fail_unless (set_caps_pt1_called == FALSE);
- gst_buffer_unref (buffer);
-
+ gst_test_trans_setcaps (trans, caps);
+ fail_unless (set_caps_pt1_called == TRUE);
gst_caps_unref (caps);
-#endif
+
+ gst_test_trans_push_segment (trans);
gst_test_trans_free (trans);
}
@@ -172,103 +127,66 @@ GST_START_TEST (basetransform_chain_pt2)
trans = gst_test_trans_new ();
/* first buffer */
+ set_caps_pt2_called = FALSE;
caps = gst_caps_new_empty_simple ("foo/x-bar");
+ gst_test_trans_setcaps (trans, caps);
+ gst_test_trans_push_segment (trans);
GST_DEBUG_OBJECT (trans, "buffer with caps, size 20");
buffer = gst_buffer_new_and_alloc (20);
-#if 0
- gst_buffer_set_caps (buffer, caps);
-#endif
- buffer_alloc_pt1_called = FALSE;
- set_caps_pt2_called = FALSE;
res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_OK);
- /* FIXME, passthough without pad-alloc, do pad-alloc on the srcpad */
- //fail_unless (buffer_alloc_pt1_called == TRUE);
- //fail_unless (set_caps_pt2_called == TRUE);
+ fail_unless (set_caps_pt2_called == TRUE);
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
fail_unless (gst_buffer_get_size (buffer) == 20);
-#if 0
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), caps));
-#endif
gst_buffer_unref (buffer);
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 20");
-
- buffer_alloc_pt1_called = FALSE;
- set_caps_pt2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, caps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_pt1_called == TRUE);
- fail_unless (set_caps_pt2_called == FALSE);
- gst_buffer_unref (buffer);
-#endif
-
gst_caps_unref (caps);
/* second buffer, renegotiates, keeps extra type arg in caps */
caps = gst_caps_new_simple ("foo/x-bar", "type", G_TYPE_INT, 1, NULL);
+ set_caps_pt2_called = FALSE;
+ gst_test_trans_setcaps (trans, caps);
GST_DEBUG_OBJECT (trans, "buffer with caps, size 10");
buffer = gst_buffer_new_and_alloc (10);
-#if 0
- gst_buffer_set_caps (buffer, caps);
-#endif
- buffer_alloc_pt1_called = FALSE;
- set_caps_pt2_called = FALSE;
res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_OK);
- /* FIXME, passthough without pad-alloc, do pad-alloc on the srcpad */
- //fail_unless (buffer_alloc_pt1_called == TRUE);
- //fail_unless (set_caps_pt2_called == TRUE);
+ fail_unless (set_caps_pt2_called == TRUE);
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
fail_unless (gst_buffer_get_size (buffer) == 10);
-#if 0
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), caps));
-#endif
gst_buffer_unref (buffer);
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 20");
-
- buffer_alloc_pt1_called = FALSE;
- set_caps_pt2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, caps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_pt1_called == TRUE);
- fail_unless (set_caps_pt2_called == FALSE);
- gst_buffer_unref (buffer);
-#endif
-
gst_caps_unref (caps);
/* with caps that is a superset */
caps = gst_caps_new_empty_simple ("foo/x-bar");
+ set_caps_pt2_called = FALSE;
+ gst_test_trans_setcaps (trans, caps);
-#if 0
- GST_DEBUG_OBJECT (trans, "alloc with superset caps, size 20");
+ GST_DEBUG_OBJECT (trans, "buffer with caps, size 10");
- buffer_alloc_pt1_called = FALSE;
- set_caps_pt2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, caps, &buffer);
+ buffer = gst_buffer_new_and_alloc (10);
+
+ res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_pt1_called == TRUE);
- fail_unless (set_caps_pt2_called == FALSE);
+ fail_unless (set_caps_pt2_called == TRUE);
+
+ buffer = gst_test_trans_pop (trans);
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 10);
+
gst_buffer_unref (buffer);
-#endif
gst_caps_unref (caps);
@@ -304,19 +222,18 @@ GST_START_TEST (basetransform_chain_ip1)
klass_transform_ip = transform_ip_1;
trans = gst_test_trans_new ();
+ gst_test_trans_push_segment (trans);
+
GST_DEBUG_OBJECT (trans, "buffer without caps, size 20");
buffer = gst_buffer_new_and_alloc (20);
transform_ip_1_called = FALSE;
transform_ip_1_writable = TRUE;
- buffer_alloc_pt1_called = FALSE;
res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_OK);
fail_unless (transform_ip_1_called == TRUE);
fail_unless (transform_ip_1_writable == TRUE);
- /* FIXME, in-place without pad-alloc, do pad-alloc on the srcpad */
- //fail_unless (buffer_alloc_pt1_called == TRUE);
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
@@ -333,13 +250,11 @@ GST_START_TEST (basetransform_chain_ip1)
transform_ip_1_called = FALSE;
transform_ip_1_writable = FALSE;
- buffer_alloc_pt1_called = FALSE;
res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_OK);
fail_unless (transform_ip_1_called == TRUE);
/* copy should have been taken with pad-alloc */
fail_unless (transform_ip_1_writable == TRUE);
- //fail_unless (buffer_alloc_pt1_called == TRUE);
/* after push, get rid of the final ref we had */
gst_buffer_unref (buffer);
@@ -354,14 +269,6 @@ GST_START_TEST (basetransform_chain_ip1)
/* with caps buffer */
GST_DEBUG_OBJECT (trans, "alloc without caps, size 20");
-#if 0
- buffer_alloc_pt1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, NULL, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_pt1_called == TRUE);
- gst_buffer_unref (buffer);
-#endif
-
gst_test_trans_free (trans);
}
@@ -402,33 +309,8 @@ GST_START_TEST (basetransform_chain_ip2)
trans = gst_test_trans_new ();
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc without caps, size 20");
-
- buffer_alloc_pt1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, NULL, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_pt1_called == TRUE);
- fail_unless (gst_buffer_get_size (buffer) == 20);
- fail_unless (GST_BUFFER_CAPS (buffer) == NULL);
- gst_buffer_unref (buffer);
-#endif
-
caps = gst_caps_new_empty_simple ("foo/x-bar");
-
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 20");
-
- buffer_alloc_pt1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, caps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_pt1_called == TRUE);
- fail_unless (gst_buffer_get_size (buffer) == 20);
- fail_unless (GST_BUFFER_CAPS (buffer) == caps);
- gst_buffer_unref (buffer);
-#endif
+ gst_test_trans_push_segment (trans);
/* first try to push a buffer without caps, this should fail */
buffer = gst_buffer_new_and_alloc (20);
@@ -437,60 +319,41 @@ GST_START_TEST (basetransform_chain_ip2)
transform_ip_1_called = FALSE;
transform_ip_1_writable = FALSE;
- buffer_alloc_pt1_called = FALSE;
set_caps_1_called = FALSE;
res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_NOT_NEGOTIATED);
fail_unless (transform_ip_1_called == FALSE);
fail_unless (transform_ip_1_writable == FALSE);
fail_unless (set_caps_1_called == FALSE);
- fail_unless (buffer_alloc_pt1_called == FALSE);
/* try to push a buffer with caps */
+ gst_pad_push_event (trans->srcpad, gst_event_new_flush_start ());
+ gst_pad_push_event (trans->srcpad, gst_event_new_flush_stop (TRUE));
+
+ set_caps_1_called = FALSE;
+ gst_test_trans_setcaps (trans, caps);
+ gst_test_trans_push_segment (trans);
+
GST_DEBUG_OBJECT (trans, "buffer with caps, size 20");
buffer = gst_buffer_new_and_alloc (20);
-#if 0
- gst_buffer_set_caps (buffer, caps);
-#endif
transform_ip_1_called = FALSE;
transform_ip_1_writable = FALSE;
- set_caps_1_called = FALSE;
- buffer_alloc_pt1_called = FALSE;
res = gst_test_trans_push (trans, buffer);
- //fail_unless (res == GST_FLOW_OK);
- //fail_unless (transform_ip_1_called == TRUE);
- //fail_unless (transform_ip_1_writable == TRUE);
- //fail_unless (set_caps_1_called == TRUE);
- /* FIXME, in-place without pad-alloc, do pad-alloc on the srcpad */
- //fail_unless (buffer_alloc_pt1_called == TRUE);
+ fail_unless (res == GST_FLOW_OK);
+ fail_unless (transform_ip_1_called == TRUE);
+ fail_unless (transform_ip_1_writable == TRUE);
+ fail_unless (set_caps_1_called == TRUE);
buffer = gst_test_trans_pop (trans);
- //fail_unless (buffer != NULL);
- //fail_unless (gst_buffer_get_size (buffer) == 20);
-#if 0
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), caps));
-#endif
- //gst_buffer_unref (buffer);
-
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 20");
-
- buffer_alloc_pt1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, caps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_pt1_called == TRUE);
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
gst_buffer_unref (buffer);
-#endif
GST_DEBUG_OBJECT (trans, "buffer with caps extra ref, size 20");
buffer = gst_buffer_new_and_alloc (20);
-#if 0
- gst_buffer_set_caps (buffer, caps);
-#endif
/* take additional ref to make it non-writable */
gst_buffer_ref (buffer);
@@ -498,36 +361,20 @@ GST_START_TEST (basetransform_chain_ip2)
transform_ip_1_called = FALSE;
transform_ip_1_writable = FALSE;
- buffer_alloc_pt1_called = FALSE;
res = gst_test_trans_push (trans, buffer);
- //fail_unless (res == GST_FLOW_OK);
- //fail_unless (transform_ip_1_called == TRUE);
- //fail_unless (transform_ip_1_writable == TRUE);
- //fail_unless (buffer_alloc_pt1_called == TRUE);
+ fail_unless (res == GST_FLOW_OK);
+ fail_unless (transform_ip_1_called == TRUE);
+ fail_unless (transform_ip_1_writable == TRUE);
/* after push, get rid of the final ref we had */
gst_buffer_unref (buffer);
buffer = gst_test_trans_pop (trans);
- //fail_unless (buffer != NULL);
- //fail_unless (gst_buffer_get_size (buffer) == 20);
-#if 0
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), caps));
-#endif
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
/* output buffer has refcount 1 */
- //fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
- //gst_buffer_unref (buffer);
-
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 20");
-
- buffer_alloc_pt1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, caps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_pt1_called == TRUE);
+ fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
gst_buffer_unref (buffer);
-#endif
gst_caps_unref (caps);
@@ -614,31 +461,6 @@ transform_size_ct1 (GstBaseTransform * trans, GstPadDirection direction,
return TRUE;
}
-gboolean buffer_alloc_ct1_called;
-
-#if 0
-static GstFlowReturn
-buffer_alloc_ct1 (GstPad * pad, guint64 offset, guint size, GstCaps * caps,
- GstBuffer ** buf)
-{
- GstCaps *outcaps;
-
- GST_DEBUG_OBJECT (pad, "buffer_alloc called %" G_GUINT64_FORMAT ", %u, %"
- GST_PTR_FORMAT, offset, size, caps);
-
- buffer_alloc_ct1_called = TRUE;
-
- outcaps = gst_caps_new_empty_simple ("foo/x-bar");
- fail_unless (gst_caps_is_equal (outcaps, caps));
- gst_caps_unref (outcaps);
-
- *buf = gst_buffer_new_and_alloc (size);
- gst_buffer_set_caps (*buf, caps);
-
- return GST_FLOW_OK;
-}
-#endif
-
/* basic copy-transform, check if the transform function is called,
* buffer should be writable. we also set a setcaps function and
* see if it's called. */
@@ -659,42 +481,7 @@ GST_START_TEST (basetransform_chain_ct1)
incaps = gst_caps_new_empty_simple ("baz/x-foo");
outcaps = gst_caps_new_empty_simple ("foo/x-bar");
-
-#if 0
- /* without caps buffer, I think this should fail */
- GST_DEBUG_OBJECT (trans, "alloc without caps, size 20");
-
- buffer_alloc_ct1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, NULL, &buffer);
- fail_unless (res == GST_FLOW_NOT_NEGOTIATED);
- /* should not call pad-alloc because the caps and sizes are different */
- fail_unless (buffer_alloc_ct1_called == FALSE);
-#endif
-
-#if 0
- /* with wrong (unsupported) caps */
- GST_DEBUG_OBJECT (trans, "alloc with wrong caps, size 20");
-
- buffer_alloc_ct1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, outcaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_if (buffer == NULL);
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
- gst_buffer_unref (buffer);
- /* FIXME, why would this call the alloc function? we try to alloc something
- * with caps that are not supported on the sinkpad */
- fail_unless (buffer_alloc_ct1_called == FALSE);
-
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 20");
-
- buffer_alloc_ct1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, incaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- /* should not call pad-alloc because the caps and sizes are different */
- fail_unless (buffer_alloc_ct1_called == FALSE);
- gst_buffer_unref (buffer);
-#endif
+ gst_test_trans_push_segment (trans);
/* first try to push a buffer without caps, this should fail */
buffer = gst_buffer_new_and_alloc (20);
@@ -704,45 +491,38 @@ GST_START_TEST (basetransform_chain_ct1)
transform_ct1_called = FALSE;
transform_ct1_writable = FALSE;
set_caps_ct1_called = FALSE;
- buffer_alloc_ct1_called = FALSE;
res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_NOT_NEGOTIATED);
fail_unless (transform_ct1_called == FALSE);
fail_unless (transform_ct1_writable == FALSE);
fail_unless (set_caps_ct1_called == FALSE);
- fail_unless (buffer_alloc_ct1_called == FALSE);
/* try to push a buffer with caps */
+ gst_pad_push_event (trans->srcpad, gst_event_new_flush_start ());
+ gst_pad_push_event (trans->srcpad, gst_event_new_flush_stop (TRUE));
+
+ set_caps_ct1_called = FALSE;
+ gst_test_trans_setcaps (trans, incaps);
+ gst_test_trans_push_segment (trans);
+
buffer = gst_buffer_new_and_alloc (20);
-#if 0
- gst_buffer_set_caps (buffer, incaps);
-#endif
GST_DEBUG_OBJECT (trans, "buffer with caps %" GST_PTR_FORMAT, incaps);
transform_ct1_called = FALSE;
transform_ct1_writable = FALSE;
- set_caps_ct1_called = FALSE;
- buffer_alloc_ct1_called = FALSE;
res = gst_test_trans_push (trans, buffer);
- //fail_unless (res == GST_FLOW_OK);
- //fail_unless (transform_ct1_called == TRUE);
- //fail_unless (transform_ct1_writable == TRUE);
- //fail_unless (set_caps_ct1_called == TRUE);
- //fail_unless (buffer_alloc_ct1_called == TRUE);
+ fail_unless (res == GST_FLOW_OK);
+ fail_unless (transform_ct1_called == TRUE);
+ fail_unless (transform_ct1_writable == TRUE);
+ fail_unless (set_caps_ct1_called == TRUE);
buffer = gst_test_trans_pop (trans);
- //fail_unless (buffer != NULL);
- //fail_unless (gst_buffer_get_size (buffer) == 40);
-#if 0
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), outcaps));
-#endif
- //gst_buffer_unref (buffer);
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 40);
+ gst_buffer_unref (buffer);
buffer = gst_buffer_new_and_alloc (20);
-#if 0
- gst_buffer_set_caps (buffer, incaps);
-#endif
/* take additional ref to make it non-writable */
gst_buffer_ref (buffer);
@@ -752,52 +532,20 @@ GST_START_TEST (basetransform_chain_ct1)
transform_ct1_called = FALSE;
transform_ct1_writable = FALSE;
- buffer_alloc_ct1_called = FALSE;
res = gst_test_trans_push (trans, buffer);
- //fail_unless (res == GST_FLOW_OK);
- //fail_unless (transform_ct1_called == TRUE);
- //fail_unless (transform_ct1_writable == TRUE);
- //fail_unless (buffer_alloc_ct1_called == TRUE);
+ fail_unless (res == GST_FLOW_OK);
+ fail_unless (transform_ct1_called == TRUE);
+ fail_unless (transform_ct1_writable == TRUE);
/* after push, get rid of the final ref we had */
gst_buffer_unref (buffer);
buffer = gst_test_trans_pop (trans);
- //fail_unless (buffer != NULL);
- //fail_unless (gst_buffer_get_size (buffer) == 40);
-#if 0
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), outcaps));
-#endif
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 40);
/* output buffer has refcount 1 */
- //fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
- //gst_buffer_unref (buffer);
-
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 10");
-
- buffer_alloc_ct1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, incaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- /* should not call pad-alloc because the caps and sizes are different, it
- * currently still calls the pad alloc for no reason and then throws away the
- * buffer. */
- fail_unless (buffer_alloc_ct1_called == FALSE);
- fail_unless (gst_buffer_get_size (buffer) == 10);
- gst_buffer_unref (buffer);
-
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with wrong caps, size 10");
-
- buffer_alloc_ct1_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, outcaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_if (buffer == NULL);
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
+ fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
gst_buffer_unref (buffer);
- /* should not call the pad-alloc function */
- fail_unless (buffer_alloc_ct1_called == FALSE);
-#endif
gst_caps_unref (incaps);
gst_caps_unref (outcaps);
@@ -863,7 +611,10 @@ transform_caps_ct2 (GstBaseTransform * trans, GstPadDirection dir,
if (dir == GST_PAD_SINK) {
/* everything on the sinkpad can be transformed to the output formats */
- res = gst_caps_from_string ("foo/x-bar;baz/x-foo");
+ if (set_caps_ct2_case == 1)
+ res = gst_caps_new_empty_simple ("foo/x-bar");
+ else
+ res = gst_caps_new_empty_simple ("baz/x-foo");
} else {
/* all on the srcpad can be transformed to the format of the sinkpad */
res = gst_caps_new_empty_simple ("foo/x-bar");
@@ -896,54 +647,6 @@ transform_size_ct2 (GstBaseTransform * trans, GstPadDirection direction,
return TRUE;
}
-static gint buffer_alloc_ct2_case;
-static gboolean buffer_alloc_ct2_called;
-static gboolean buffer_alloc_ct2_suggest;
-
-#if 0
-static GstFlowReturn
-buffer_alloc_ct2 (GstPad * pad, guint64 offset, guint size, GstCaps * caps,
- GstBuffer ** buf)
-{
- GstCaps *incaps, *outcaps;
-
- GST_DEBUG_OBJECT (pad, "buffer_alloc called %" G_GUINT64_FORMAT ", %u, %"
- GST_PTR_FORMAT, offset, size, caps);
-
- buffer_alloc_ct2_called = TRUE;
-
- if (buffer_alloc_ct2_case == 1) {
- incaps = gst_caps_new_empty_simple ("foo/x-bar");
- if (buffer_alloc_ct2_suggest) {
- outcaps = gst_caps_new_empty_simple ("baz/x-foo");
- size *= 2;
- } else
- outcaps = gst_caps_ref (incaps);
- } else {
- incaps = gst_caps_new_empty_simple ("baz/x-foo");
- if (buffer_alloc_ct2_suggest) {
- outcaps = gst_caps_new_empty_simple ("foo/x-bar");
- size /= 2;
- } else
- outcaps = gst_caps_ref (incaps);
- }
- GST_DEBUG_OBJECT (pad, "expect %" GST_PTR_FORMAT, incaps);
-
- fail_unless (gst_caps_is_equal (caps, incaps));
-
- *buf = gst_buffer_new_and_alloc (size);
- gst_buffer_set_caps (*buf, outcaps);
-
- GST_DEBUG_OBJECT (pad, "return buffer of size %u, caps %" GST_PTR_FORMAT,
- size, outcaps);
-
- gst_caps_unref (outcaps);
- gst_caps_unref (incaps);
-
- return GST_FLOW_OK;
-}
-#endif
-
/* basic copy-transform, check if the transform function is called,
* buffer should be writable. we also set a setcaps function and
* see if it's called. */
@@ -965,43 +668,7 @@ GST_START_TEST (basetransform_chain_ct2)
incaps = gst_caps_new_empty_simple ("foo/x-bar");
outcaps = gst_caps_new_empty_simple ("baz/x-foo");
-#if 0
- /* without caps buffer, I think this should fail */
- GST_DEBUG_OBJECT (trans, "alloc without caps, size 20");
-
- buffer_alloc_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, NULL, &buffer);
- fail_unless (res == GST_FLOW_NOT_NEGOTIATED);
- /* should not call pad-alloc because the caps and sizes are different */
- fail_unless (buffer_alloc_ct2_called == FALSE);
-#endif
-
-#if 0
- /* with passthrough caps */
- GST_DEBUG_OBJECT (trans, "alloc size 20, with passthrough caps %"
- GST_PTR_FORMAT, incaps);
-
- buffer_alloc_ct2_case = 1;
- buffer_alloc_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, incaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_ct2_called == TRUE);
- gst_buffer_unref (buffer);
-
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc size 20, with wrong caps %" GST_PTR_FORMAT,
- outcaps);
-
- buffer_alloc_ct2_case = 2;
- buffer_alloc_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, outcaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_if (buffer == NULL);
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
- gst_buffer_unref (buffer);
- /* should not call pad-alloc because the caps and sizes are different */
- fail_unless (buffer_alloc_ct2_called == FALSE);
-#endif
+ gst_test_trans_push_segment (trans);
/* first try to push a buffer without caps, this should fail */
buffer = gst_buffer_new_and_alloc (20);
@@ -1011,47 +678,40 @@ GST_START_TEST (basetransform_chain_ct2)
transform_ct2_called = FALSE;
transform_ct2_writable = FALSE;
set_caps_ct2_called = FALSE;
- buffer_alloc_ct2_called = FALSE;
res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_NOT_NEGOTIATED);
fail_unless (transform_ct2_called == FALSE);
fail_unless (transform_ct2_writable == FALSE);
fail_unless (set_caps_ct2_called == FALSE);
- fail_unless (buffer_alloc_ct2_called == FALSE);
+
/* try to push a buffer with caps */
+ gst_pad_push_event (trans->srcpad, gst_event_new_flush_start ());
+ gst_pad_push_event (trans->srcpad, gst_event_new_flush_stop (TRUE));
+
+ set_caps_ct2_case = 1;
+ set_caps_ct2_called = FALSE;
+ gst_test_trans_setcaps (trans, incaps);
+ gst_test_trans_push_segment (trans);
+
buffer = gst_buffer_new_and_alloc (20);
-#if 0
- gst_buffer_set_caps (buffer, incaps);
-#endif
GST_DEBUG_OBJECT (trans, "buffer with caps %" GST_PTR_FORMAT, incaps);
- buffer_alloc_ct2_case = 1;
- set_caps_ct2_case = 1;
transform_ct2_called = FALSE;
transform_ct2_writable = FALSE;
- set_caps_ct2_called = FALSE;
- buffer_alloc_ct2_called = FALSE;
res = gst_test_trans_push (trans, buffer);
- //fail_unless (res == GST_FLOW_OK);
- //fail_unless (transform_ct2_called == TRUE);
- //fail_unless (transform_ct2_writable == TRUE);
- //fail_unless (set_caps_ct2_called == TRUE);
- //fail_unless (buffer_alloc_ct2_called == TRUE);
+ fail_unless (res == GST_FLOW_OK);
+ fail_unless (transform_ct2_called == TRUE);
+ fail_unless (transform_ct2_writable == TRUE);
+ fail_unless (set_caps_ct2_called == TRUE);
buffer = gst_test_trans_pop (trans);
- //fail_unless (buffer != NULL);
- //fail_unless (gst_buffer_get_size (buffer) == 20);
-#if 0
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
-#endif
- //gst_buffer_unref (buffer);
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
+ gst_buffer_unref (buffer);
buffer = gst_buffer_new_and_alloc (20);
-#if 0
- gst_buffer_set_caps (buffer, incaps);
-#endif
/* take additional ref to make it non-writable */
gst_buffer_ref (buffer);
@@ -1061,51 +721,20 @@ GST_START_TEST (basetransform_chain_ct2)
transform_ct2_called = FALSE;
transform_ct2_writable = FALSE;
- buffer_alloc_ct2_called = FALSE;
res = gst_test_trans_push (trans, buffer);
- //fail_unless (res == GST_FLOW_OK);
- //fail_unless (transform_ct2_called == TRUE);
- //fail_unless (transform_ct2_writable == TRUE);
- //fail_unless (buffer_alloc_ct2_called == TRUE);
+ fail_unless (res == GST_FLOW_OK);
+ fail_unless (transform_ct2_called == TRUE);
+ fail_unless (transform_ct2_writable == TRUE);
/* after push, get rid of the final ref we had */
gst_buffer_unref (buffer);
buffer = gst_test_trans_pop (trans);
- //fail_unless (buffer != NULL);
- //fail_unless (gst_buffer_get_size (buffer) == 20);
-#if 0
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
-#endif
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
/* output buffer has refcount 1 */
- //fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
- //gst_buffer_unref (buffer);
-
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 10");
-
- buffer_alloc_ct2_case = 1;
- buffer_alloc_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, incaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_ct2_called == TRUE);
- fail_unless (gst_buffer_get_size (buffer) == 10);
- gst_buffer_unref (buffer);
-
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with wrong caps, size 10");
-
- buffer_alloc_ct2_case = 2;
- buffer_alloc_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, outcaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_if (buffer == NULL);
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
+ fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
gst_buffer_unref (buffer);
- /* should not call the pad-alloc function */
- fail_unless (buffer_alloc_ct2_called == FALSE);
-#endif
gst_caps_unref (incaps);
gst_caps_unref (outcaps);
@@ -1135,44 +764,11 @@ GST_START_TEST (basetransform_chain_ct3)
incaps = gst_caps_new_empty_simple ("foo/x-bar");
outcaps = gst_caps_new_empty_simple ("baz/x-foo");
-#if 0
- /* without caps buffer, I think this should fail */
- GST_DEBUG_OBJECT (trans, "alloc without caps, size 20");
-
- buffer_alloc_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, NULL, &buffer);
- fail_unless (res == GST_FLOW_NOT_NEGOTIATED);
- /* should not call pad-alloc because the caps and sizes are different */
- fail_unless (buffer_alloc_ct2_called == FALSE);
-#endif
-
/* with passthrough caps */
+ gst_test_trans_push_segment (trans);
GST_DEBUG_OBJECT (trans, "alloc size 20, with passthrough caps %"
GST_PTR_FORMAT, incaps);
-#if 0
- buffer_alloc_ct2_case = 1;
- buffer_alloc_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, incaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_ct2_called == TRUE);
- gst_buffer_unref (buffer);
-
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc size 20, with wrong caps %" GST_PTR_FORMAT,
- outcaps);
-
- buffer_alloc_ct2_case = 2;
- buffer_alloc_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, outcaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_if (buffer == NULL);
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
- gst_buffer_unref (buffer);
- /* should not call pad-alloc because the caps and sizes are different */
- fail_unless (buffer_alloc_ct2_called == FALSE);
-#endif
-
/* first try to push a buffer without caps, this should fail */
buffer = gst_buffer_new_and_alloc (20);
@@ -1181,45 +777,37 @@ GST_START_TEST (basetransform_chain_ct3)
transform_ct2_called = FALSE;
transform_ct2_writable = FALSE;
set_caps_ct2_called = FALSE;
- buffer_alloc_ct2_called = FALSE;
res = gst_test_trans_push (trans, buffer);
fail_unless (res == GST_FLOW_NOT_NEGOTIATED);
fail_unless (transform_ct2_called == FALSE);
fail_unless (transform_ct2_writable == FALSE);
fail_unless (set_caps_ct2_called == FALSE);
- fail_unless (buffer_alloc_ct2_called == FALSE);
/* try to push a buffer with caps */
buffer = gst_buffer_new_and_alloc (20);
-#if 0
- gst_buffer_set_caps (buffer, incaps);
-#endif
GST_DEBUG_OBJECT (trans, "buffer with caps %" GST_PTR_FORMAT, incaps);
- buffer_alloc_ct2_case = 1;
+ gst_pad_push_event (trans->srcpad, gst_event_new_flush_start ());
+ gst_pad_push_event (trans->srcpad, gst_event_new_flush_stop (TRUE));
+
set_caps_ct2_case = 1;
- transform_ct2_called = FALSE;
set_caps_ct2_called = FALSE;
- buffer_alloc_ct2_called = FALSE;
+ gst_test_trans_setcaps (trans, incaps);
+ gst_test_trans_push_segment (trans);
+
+ transform_ct2_called = FALSE;
res = gst_test_trans_push (trans, buffer);
- //fail_unless (res == GST_FLOW_OK);
- //fail_unless (transform_ct2_called == FALSE);
- //fail_unless (set_caps_ct2_called == TRUE);
- //fail_unless (buffer_alloc_ct2_called == TRUE);
+ fail_unless (res == GST_FLOW_OK);
+ fail_unless (transform_ct2_called == FALSE);
+ fail_unless (set_caps_ct2_called == TRUE);
buffer = gst_test_trans_pop (trans);
- //fail_unless (buffer != NULL);
- //fail_unless (gst_buffer_get_size (buffer) == 20);
-#if 0
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
-#endif
- //gst_buffer_unref (buffer);
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
+ gst_buffer_unref (buffer);
buffer = gst_buffer_new_and_alloc (20);
-#if 0
- gst_buffer_set_caps (buffer, incaps);
-#endif
/* take additional ref to make it non-writable */
gst_buffer_ref (buffer);
@@ -1228,137 +816,60 @@ GST_START_TEST (basetransform_chain_ct3)
GST_DEBUG_OBJECT (trans, "buffer with caps %" GST_PTR_FORMAT, incaps);
transform_ct2_called = FALSE;
- buffer_alloc_ct2_called = FALSE;
res = gst_test_trans_push (trans, buffer);
- //fail_unless (res == GST_FLOW_OK);
- //fail_unless (transform_ct2_called == FALSE);
- //fail_unless (buffer_alloc_ct2_called == TRUE);
+ fail_unless (res == GST_FLOW_OK);
+ fail_unless (transform_ct2_called == FALSE);
/* after push, get rid of the final ref we had */
gst_buffer_unref (buffer);
buffer = gst_test_trans_pop (trans);
- //fail_unless (buffer != NULL);
- //fail_unless (gst_buffer_get_size (buffer) == 20);
-#if 0
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
-#endif
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
/* output buffer has refcount 1 */
- //fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
- //gst_buffer_unref (buffer);
-
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 10");
-
- buffer_alloc_ct2_case = 1;
- buffer_alloc_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, incaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_ct2_called == TRUE);
- fail_unless (gst_buffer_get_size (buffer) == 10);
- gst_buffer_unref (buffer);
-
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with wrong caps, size 10");
-
- buffer_alloc_ct2_case = 2;
- buffer_alloc_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, outcaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_if (buffer == NULL);
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
- /* if we don't push here, basetransform will think it doesn't need do a
- * pad alloc for downstream caps suggestions */
- res = gst_test_trans_push (trans, buffer);
- buffer = gst_test_trans_pop (trans);
+ fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
gst_buffer_unref (buffer);
- /* FIXME should not call the pad-alloc function but it currently does */
- fail_unless (buffer_alloc_ct2_called == FALSE);
-#endif
/* change the return value of the buffer-alloc function */
GST_DEBUG_OBJECT (trans, "switching transform output");
- buffer_alloc_ct2_suggest = TRUE;
GST_DEBUG_OBJECT (trans,
"buffer with in passthrough with caps %" GST_PTR_FORMAT, incaps);
buffer = gst_buffer_new_and_alloc (10);
-#if 0
- gst_buffer_set_caps (buffer, incaps);
-#endif
/* don't suggest anything else */
- buffer_alloc_ct2_case = 1;
set_caps_ct2_case = 2;
+ gst_pad_push_event (trans->sinkpad, gst_event_new_reconfigure ());
transform_ct2_called = FALSE;
- buffer_alloc_ct2_called = FALSE;
res = gst_test_trans_push (trans, buffer);
- //fail_unless (res == GST_FLOW_OK);
- //fail_unless (transform_ct2_called == TRUE);
- /* FIXME, pad alloc must be called to get the new caps, because we don't call
- * pad alloc */
- //fail_unless (buffer_alloc_ct2_called == TRUE);
+ fail_unless (res == GST_FLOW_OK);
+ fail_unless (transform_ct2_called == TRUE);
buffer = gst_test_trans_pop (trans);
- //fail_unless (buffer != NULL);
- /* FIXME changing src caps should produce converted buffer */
-#if 0
- GST_DEBUG_OBJECT (trans, "received caps %" GST_PTR_FORMAT,
- GST_BUFFER_CAPS (buffer));
-#endif
- //fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), outcaps));
- //fail_unless (gst_buffer_get_size (buffer) == 20);
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
/* output buffer has refcount 1 */
- //fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
- //gst_buffer_unref (buffer);
-
-#if 0
- /* with caps buffer */
- GST_DEBUG_OBJECT (trans, "alloc with caps, size 10");
-
- set_caps_ct2_case = 0;
- buffer_alloc_ct2_case = 1;
- buffer_alloc_ct2_called = FALSE;
- set_caps_ct2_called = FALSE;
- res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, incaps, &buffer);
- fail_unless (res == GST_FLOW_OK);
- fail_unless (buffer_alloc_ct2_called == TRUE);
- /* FIXME a buffer alloc should never set caps */
- fail_unless (set_caps_ct2_called == FALSE);
- fail_unless (gst_buffer_get_size (buffer) == 10);
- /* FIXME, ideally we want to reuse these caps */
- fail_unless (GST_BUFFER_CAPS (buffer) == incaps);
- fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
+ fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
gst_buffer_unref (buffer);
-#endif
GST_DEBUG_OBJECT (trans, "buffer with caps %" GST_PTR_FORMAT, incaps);
buffer = gst_buffer_new_and_alloc (10);
-#if 0
- gst_buffer_set_caps (buffer, incaps);
-#endif
/* don't suggest anything else */
- buffer_alloc_ct2_suggest = FALSE;
- buffer_alloc_ct2_case = 0;
transform_ct2_called = FALSE;
- buffer_alloc_ct2_called = FALSE;
res = gst_test_trans_push (trans, buffer);
- //fail_unless (res == GST_FLOW_OK);
- //fail_unless (transform_ct2_called == TRUE);
- //fail_unless (buffer_alloc_ct2_called == TRUE);
+ fail_unless (res == GST_FLOW_OK);
+ fail_unless (transform_ct2_called == TRUE);
/* after push, get rid of the final ref we had */
buffer = gst_test_trans_pop (trans);
- //fail_unless (buffer != NULL);
- //fail_unless (gst_buffer_get_size (buffer) == 20);
- //fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), outcaps));
+ fail_unless (buffer != NULL);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
/* output buffer has refcount 1 */
- //fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
- //gst_buffer_unref (buffer);
+ fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
+ gst_buffer_unref (buffer);
gst_caps_unref (incaps);
gst_caps_unref (outcaps);
diff --git a/tests/check/libs/typefindhelper.c b/tests/check/libs/typefindhelper.c
index 346539b..750fc18 100644
--- a/tests/check/libs/typefindhelper.c
+++ b/tests/check/libs/typefindhelper.c
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/pipelines/cleanup.c b/tests/check/pipelines/cleanup.c
index ffab6ec..5ccb50b 100644
--- a/tests/check/pipelines/cleanup.c
+++ b/tests/check/pipelines/cleanup.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/tests/check/pipelines/parse-disabled.c b/tests/check/pipelines/parse-disabled.c
index b70a5f6..5ddb0e3 100644
--- a/tests/check/pipelines/parse-disabled.c
+++ b/tests/check/pipelines/parse-disabled.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/pipelines/parse-launch.c b/tests/check/pipelines/parse-launch.c
index 16d70c4..e23a045 100644
--- a/tests/check/pipelines/parse-launch.c
+++ b/tests/check/pipelines/parse-launch.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/pipelines/queue-error.c b/tests/check/pipelines/queue-error.c
index 50f9104..81e9d25 100644
--- a/tests/check/pipelines/queue-error.c
+++ b/tests/check/pipelines/queue-error.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/check/gstcheck.h>
diff --git a/tests/check/pipelines/seek.c b/tests/check/pipelines/seek.c
index 35f2fb9..ca7fd3b 100644
--- a/tests/check/pipelines/seek.c
+++ b/tests/check/pipelines/seek.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
diff --git a/tests/check/pipelines/simple-launch-lines.c b/tests/check/pipelines/simple-launch-lines.c
index 4c24aa5..62385b2 100644
--- a/tests/check/pipelines/simple-launch-lines.c
+++ b/tests/check/pipelines/simple-launch-lines.c
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/tests/check/pipelines/stress.c b/tests/check/pipelines/stress.c
index f776633..7c2d06e 100644
--- a/tests/check/pipelines/stress.c
+++ b/tests/check/pipelines/stress.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
@@ -66,7 +66,7 @@ GST_START_TEST (test_stress_preroll)
gst_element_set_state (pipeline, GST_STATE_PLAYING);
g_timeout_add (500, &change_state_timeout, pipeline);
- g_timeout_add (10000, &quit_timeout, NULL);
+ g_timeout_add_seconds (10, &quit_timeout, NULL);
while (!quit) {
g_main_context_iteration (NULL, TRUE);
diff --git a/tests/check/tools/gstinspect.c b/tests/check/tools/gstinspect.c
index e89d998..1d3d8cc 100644
--- a/tests/check/tools/gstinspect.c
+++ b/tests/check/tools/gstinspect.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index ad9cc5d..cd5d232 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -20,23 +19,51 @@
# descending into all subdirectories a second time, but only after the first
# (parallel) run has finished, so it should go right through the second time.
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -56,8 +83,8 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/common/parallel-subdirs.mak
+DIST_COMMON = $(top_srcdir)/common/parallel-subdirs.mak \
+ $(srcdir)/Makefile.in $(srcdir)/Makefile.am
subdir = tests/examples
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -65,7 +92,6 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -89,33 +115,42 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -123,9 +158,29 @@ am__can_run_installinfo = \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -252,15 +307,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -270,11 +321,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -282,6 +331,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -344,6 +394,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -515,22 +566,25 @@ clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -545,57 +599,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -611,12 +620,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -628,15 +632,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -645,6 +645,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -805,22 +820,20 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
.PHONY: independent-subdirs $(SUBDIRS)
diff --git a/tests/examples/adapter/Makefile.in b/tests/examples/adapter/Makefile.in
index 08dbfa6..f5edcc8 100644
--- a/tests/examples/adapter/Makefile.in
+++ b/tests/examples/adapter/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,14 +81,14 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = adapter_test$(EXEEXT)
subdir = tests/examples/adapter
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -85,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -106,9 +135,22 @@ adapter_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
adapter_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(adapter_test_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -121,20 +163,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = adapter_test.c
DIST_SOURCES = adapter_test.c
am__can_run_installinfo = \
@@ -142,6 +180,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -243,15 +298,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -261,11 +312,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -273,6 +322,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -335,6 +385,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -470,6 +521,7 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
adapter_test$(EXEEXT): $(adapter_test_OBJECTS) $(adapter_test_DEPENDENCIES) $(EXTRA_adapter_test_DEPENDENCIES)
@rm -f adapter_test$(EXEEXT)
$(AM_V_CCLD)$(adapter_test_LINK) $(adapter_test_OBJECTS) $(adapter_test_LDADD) $(LIBS)
@@ -523,26 +575,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -554,15 +595,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -571,6 +608,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -712,18 +764,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/examples/controller/Makefile.in b/tests/examples/controller/Makefile.in
index b8bb97c..94ed384 100644
--- a/tests/examples/controller/Makefile.in
+++ b/tests/examples/controller/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,14 +82,14 @@ target_triplet = @target@
noinst_PROGRAMS = audio-example$(EXEEXT) control-sources$(EXEEXT) \
text-color-example$(EXEEXT)
subdir = tests/examples/controller
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -86,12 +113,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -108,6 +137,7 @@ audio_example_DEPENDENCIES = $(top_builddir)/libs/gst/controller/libgstcontrolle
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
control_sources_SOURCES = control-sources.c
control_sources_OBJECTS = control-sources.$(OBJEXT)
control_sources_LDADD = $(LDADD)
@@ -118,6 +148,18 @@ text_color_example_OBJECTS = text-color-example.$(OBJEXT)
text_color_example_LDADD = $(LDADD)
text_color_example_DEPENDENCIES = $(top_builddir)/libs/gst/controller/libgstcontroller-@GST_API_VERSION@.la \
$(am__DEPENDENCIES_1)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -130,20 +172,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = audio-example.c control-sources.c text-color-example.c
DIST_SOURCES = audio-example.c control-sources.c text-color-example.c
am__can_run_installinfo = \
@@ -151,6 +189,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -252,15 +307,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -270,11 +321,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -282,6 +331,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -344,6 +394,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -482,12 +533,15 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
audio-example$(EXEEXT): $(audio_example_OBJECTS) $(audio_example_DEPENDENCIES) $(EXTRA_audio_example_DEPENDENCIES)
@rm -f audio-example$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(audio_example_OBJECTS) $(audio_example_LDADD) $(LIBS)
+
control-sources$(EXEEXT): $(control_sources_OBJECTS) $(control_sources_DEPENDENCIES) $(EXTRA_control_sources_DEPENDENCIES)
@rm -f control-sources$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(control_sources_OBJECTS) $(control_sources_LDADD) $(LIBS)
+
text-color-example$(EXEEXT): $(text_color_example_OBJECTS) $(text_color_example_DEPENDENCIES) $(EXTRA_text_color_example_DEPENDENCIES)
@rm -f text-color-example$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(text_color_example_OBJECTS) $(text_color_example_LDADD) $(LIBS)
@@ -529,26 +583,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -560,15 +603,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -577,6 +616,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -718,18 +772,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
Android.mk: Makefile.am audio-example.c
diff --git a/tests/examples/helloworld/Makefile.in b/tests/examples/helloworld/Makefile.in
index c2602b8..5294d8b 100644
--- a/tests/examples/helloworld/Makefile.in
+++ b/tests/examples/helloworld/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,14 +81,14 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = helloworld$(EXEEXT)
subdir = tests/examples/helloworld
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -85,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -105,9 +134,22 @@ helloworld_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
helloworld_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(helloworld_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -120,20 +162,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = helloworld.c
DIST_SOURCES = helloworld.c
am__can_run_installinfo = \
@@ -141,6 +179,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -242,15 +297,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -260,11 +311,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -272,6 +321,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -334,6 +384,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -469,6 +520,7 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
helloworld$(EXEEXT): $(helloworld_OBJECTS) $(helloworld_DEPENDENCIES) $(EXTRA_helloworld_DEPENDENCIES)
@rm -f helloworld$(EXEEXT)
$(AM_V_CCLD)$(helloworld_LINK) $(helloworld_OBJECTS) $(helloworld_LDADD) $(LIBS)
@@ -522,26 +574,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -553,15 +594,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -570,6 +607,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -711,18 +763,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/examples/launch/Makefile.in b/tests/examples/launch/Makefile.in
index 1fd19df..39c4e09 100644
--- a/tests/examples/launch/Makefile.in
+++ b/tests/examples/launch/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,14 +81,14 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = mp3parselaunch$(EXEEXT)
subdir = tests/examples/launch
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -85,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -105,10 +134,23 @@ mp3parselaunch_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
mp3parselaunch_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(mp3parselaunch_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
$@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -121,20 +163,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = mp3parselaunch.c
DIST_SOURCES = mp3parselaunch.c
am__can_run_installinfo = \
@@ -142,6 +180,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -243,15 +298,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -261,11 +312,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -273,6 +322,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -335,6 +385,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -470,6 +521,7 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
mp3parselaunch$(EXEEXT): $(mp3parselaunch_OBJECTS) $(mp3parselaunch_DEPENDENCIES) $(EXTRA_mp3parselaunch_DEPENDENCIES)
@rm -f mp3parselaunch$(EXEEXT)
$(AM_V_CCLD)$(mp3parselaunch_LINK) $(mp3parselaunch_OBJECTS) $(mp3parselaunch_LDADD) $(LIBS)
@@ -523,26 +575,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -554,15 +595,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -571,6 +608,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -712,18 +764,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
#noinst_SCRIPTS = mp3play
diff --git a/tests/examples/manual/Makefile.in b/tests/examples/manual/Makefile.in
index 2eb2d58..631082a 100644
--- a/tests/examples/manual/Makefile.in
+++ b/tests/examples/manual/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -59,14 +86,14 @@ TESTS = bin$(EXEEXT) elementcreate$(EXEEXT) elementfactory$(EXEEXT) \
ghostpad$(EXEEXT) init$(EXEEXT)
noinst_PROGRAMS = $(am__EXEEXT_3)
subdir = tests/examples/manual
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp $(top_srcdir)/test-driver
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -90,12 +117,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -124,6 +153,7 @@ appsink_DEPENDENCIES = \
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
appsrc_SOURCES = appsrc.c
appsrc_OBJECTS = appsrc.$(OBJEXT)
appsrc_LDADD = $(LDADD)
@@ -256,6 +286,18 @@ typefind_LDADD = $(LDADD)
typefind_DEPENDENCIES = \
$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
$(am__DEPENDENCIES_1)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -268,20 +310,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = appsink.c appsrc.c bin.c blockprobe.c decodebin.c \
dynformat.c effectswitch.c elementcreate.c elementfactory.c \
elementget.c elementlink.c elementmake.c ghostpad.c \
@@ -297,10 +335,229 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+ case '$@' in \
+ */*) \
+ case '$*' in \
+ */*) b='$*';; \
+ *) b=`echo '$@' | sed 's/\.log$$//'`; \
+ esac;; \
+ *) \
+ b='$*';; \
+ esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+ $(TEST_LOG_FLAGS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -400,15 +657,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -418,11 +671,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -430,6 +681,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -492,6 +744,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -623,7 +876,7 @@ all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
+.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -663,72 +916,95 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
appsink$(EXEEXT): $(appsink_OBJECTS) $(appsink_DEPENDENCIES) $(EXTRA_appsink_DEPENDENCIES)
@rm -f appsink$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(appsink_OBJECTS) $(appsink_LDADD) $(LIBS)
+
appsrc$(EXEEXT): $(appsrc_OBJECTS) $(appsrc_DEPENDENCIES) $(EXTRA_appsrc_DEPENDENCIES)
@rm -f appsrc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(appsrc_OBJECTS) $(appsrc_LDADD) $(LIBS)
+
bin$(EXEEXT): $(bin_OBJECTS) $(bin_DEPENDENCIES) $(EXTRA_bin_DEPENDENCIES)
@rm -f bin$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(bin_OBJECTS) $(bin_LDADD) $(LIBS)
+
blockprobe$(EXEEXT): $(blockprobe_OBJECTS) $(blockprobe_DEPENDENCIES) $(EXTRA_blockprobe_DEPENDENCIES)
@rm -f blockprobe$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(blockprobe_OBJECTS) $(blockprobe_LDADD) $(LIBS)
+
decodebin$(EXEEXT): $(decodebin_OBJECTS) $(decodebin_DEPENDENCIES) $(EXTRA_decodebin_DEPENDENCIES)
@rm -f decodebin$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(decodebin_OBJECTS) $(decodebin_LDADD) $(LIBS)
+
dynformat$(EXEEXT): $(dynformat_OBJECTS) $(dynformat_DEPENDENCIES) $(EXTRA_dynformat_DEPENDENCIES)
@rm -f dynformat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(dynformat_OBJECTS) $(dynformat_LDADD) $(LIBS)
+
effectswitch$(EXEEXT): $(effectswitch_OBJECTS) $(effectswitch_DEPENDENCIES) $(EXTRA_effectswitch_DEPENDENCIES)
@rm -f effectswitch$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(effectswitch_OBJECTS) $(effectswitch_LDADD) $(LIBS)
+
elementcreate$(EXEEXT): $(elementcreate_OBJECTS) $(elementcreate_DEPENDENCIES) $(EXTRA_elementcreate_DEPENDENCIES)
@rm -f elementcreate$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elementcreate_OBJECTS) $(elementcreate_LDADD) $(LIBS)
+
elementfactory$(EXEEXT): $(elementfactory_OBJECTS) $(elementfactory_DEPENDENCIES) $(EXTRA_elementfactory_DEPENDENCIES)
@rm -f elementfactory$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elementfactory_OBJECTS) $(elementfactory_LDADD) $(LIBS)
+
elementget$(EXEEXT): $(elementget_OBJECTS) $(elementget_DEPENDENCIES) $(EXTRA_elementget_DEPENDENCIES)
@rm -f elementget$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elementget_OBJECTS) $(elementget_LDADD) $(LIBS)
+
elementlink$(EXEEXT): $(elementlink_OBJECTS) $(elementlink_DEPENDENCIES) $(EXTRA_elementlink_DEPENDENCIES)
@rm -f elementlink$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elementlink_OBJECTS) $(elementlink_LDADD) $(LIBS)
+
elementmake$(EXEEXT): $(elementmake_OBJECTS) $(elementmake_DEPENDENCIES) $(EXTRA_elementmake_DEPENDENCIES)
@rm -f elementmake$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elementmake_OBJECTS) $(elementmake_LDADD) $(LIBS)
+
ghostpad$(EXEEXT): $(ghostpad_OBJECTS) $(ghostpad_DEPENDENCIES) $(EXTRA_ghostpad_DEPENDENCIES)
@rm -f ghostpad$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(ghostpad_OBJECTS) $(ghostpad_LDADD) $(LIBS)
+
helloworld$(EXEEXT): $(helloworld_OBJECTS) $(helloworld_DEPENDENCIES) $(EXTRA_helloworld_DEPENDENCIES)
@rm -f helloworld$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(helloworld_OBJECTS) $(helloworld_LDADD) $(LIBS)
+
init$(EXEEXT): $(init_OBJECTS) $(init_DEPENDENCIES) $(EXTRA_init_DEPENDENCIES)
@rm -f init$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(init_OBJECTS) $(init_LDADD) $(LIBS)
+
norebuffer$(EXEEXT): $(norebuffer_OBJECTS) $(norebuffer_DEPENDENCIES) $(EXTRA_norebuffer_DEPENDENCIES)
@rm -f norebuffer$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(norebuffer_OBJECTS) $(norebuffer_LDADD) $(LIBS)
+
pad$(EXEEXT): $(pad_OBJECTS) $(pad_DEPENDENCIES) $(EXTRA_pad_DEPENDENCIES)
@rm -f pad$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(pad_OBJECTS) $(pad_LDADD) $(LIBS)
+
playbin$(EXEEXT): $(playbin_OBJECTS) $(playbin_DEPENDENCIES) $(EXTRA_playbin_DEPENDENCIES)
@rm -f playbin$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(playbin_OBJECTS) $(playbin_LDADD) $(LIBS)
+
playsink$(EXEEXT): $(playsink_OBJECTS) $(playsink_DEPENDENCIES) $(EXTRA_playsink_DEPENDENCIES)
@rm -f playsink$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(playsink_OBJECTS) $(playsink_LDADD) $(LIBS)
+
probe$(EXEEXT): $(probe_OBJECTS) $(probe_DEPENDENCIES) $(EXTRA_probe_DEPENDENCIES)
@rm -f probe$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(probe_OBJECTS) $(probe_LDADD) $(LIBS)
+
query$(EXEEXT): $(query_OBJECTS) $(query_DEPENDENCIES) $(EXTRA_query_DEPENDENCIES)
@rm -f query$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(query_OBJECTS) $(query_LDADD) $(LIBS)
+
testrtpool$(EXEEXT): $(testrtpool_OBJECTS) $(testrtpool_DEPENDENCIES) $(EXTRA_testrtpool_DEPENDENCIES)
@rm -f testrtpool$(EXEEXT)
$(AM_V_CCLD)$(testrtpool_LINK) $(testrtpool_OBJECTS) $(testrtpool_LDADD) $(LIBS)
+
typefind$(EXEEXT): $(typefind_OBJECTS) $(typefind_DEPENDENCIES) $(EXTRA_typefind_DEPENDENCIES)
@rm -f typefind$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(typefind_OBJECTS) $(typefind_LDADD) $(LIBS)
@@ -804,26 +1080,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -835,15 +1100,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -852,102 +1113,236 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
- list=' $(TESTS) '; \
- $(am__tty_colors); \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$tst[\ \ ]*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- col=$$red; res=XPASS; \
- ;; \
- *) \
- col=$$grn; res=PASS; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$tst[\ \ ]*) \
- xfail=`expr $$xfail + 1`; \
- col=$$lgn; res=XFAIL; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- col=$$red; res=FAIL; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- col=$$blu; res=SKIP; \
- fi; \
- echo "$${col}$$res$${std}: $$tst"; \
- done; \
- if test "$$all" -eq 1; then \
- tests="test"; \
- All=""; \
- else \
- tests="tests"; \
- All="All "; \
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+ rm -f $< $@
+ $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+ @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+ @$(am__set_TESTS_bases); \
+ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+ redo_bases=`for i in $$bases; do \
+ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+ done`; \
+ if test -n "$$redo_bases"; then \
+ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+ if $(am__make_dryrun); then :; else \
+ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
fi; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="$$All$$all $$tests passed"; \
- else \
- if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
- banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all $$tests failed"; \
+ fi; \
+ if test -n "$$am__remaking_logs"; then \
+ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+ "recursion detected" >&2; \
+ else \
+ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+ fi; \
+ if $(am__make_dryrun); then :; else \
+ st=0; \
+ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+ for i in $$redo_bases; do \
+ test -f $$i.trs && test -r $$i.trs \
+ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+ test -f $$i.log && test -r $$i.log \
+ || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+ done; \
+ test $$st -eq 0 || exit 1; \
+ fi
+ @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+ ws='[ ]'; \
+ results=`for b in $$bases; do echo $$b.trs; done`; \
+ test -n "$$results" || results=/dev/null; \
+ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
+ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
+ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
+ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
+ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+ if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+ success=true; \
+ else \
+ success=false; \
+ fi; \
+ br='==================='; br=$$br$$br$$br$$br; \
+ result_count () \
+ { \
+ if test x"$$1" = x"--maybe-color"; then \
+ maybe_colorize=yes; \
+ elif test x"$$1" = x"--no-color"; then \
+ maybe_colorize=no; \
else \
- if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
- banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ echo "$@: invalid 'result_count' usage" >&2; exit 4; \
fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- if test "$$skip" -eq 1; then \
- skipped="($$skip test was not run)"; \
+ shift; \
+ desc=$$1 count=$$2; \
+ if test $$maybe_colorize = yes && test $$count -gt 0; then \
+ color_start=$$3 color_end=$$std; \
else \
- skipped="($$skip tests were not run)"; \
+ color_start= color_end=; \
fi; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- if test "$$failed" -eq 0; then \
- col="$$grn"; \
- else \
- col="$$red"; \
- fi; \
- echo "$${col}$$dashes$${std}"; \
- echo "$${col}$$banner$${std}"; \
- test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
- test -z "$$report" || echo "$${col}$$report$${std}"; \
- echo "$${col}$$dashes$${std}"; \
- test "$$failed" -eq 0; \
- else :; fi
+ echo "$${color_start}# $$desc $$count$${color_end}"; \
+ }; \
+ create_testsuite_report () \
+ { \
+ result_count $$1 "TOTAL:" $$all "$$brg"; \
+ result_count $$1 "PASS: " $$pass "$$grn"; \
+ result_count $$1 "SKIP: " $$skip "$$blu"; \
+ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+ result_count $$1 "FAIL: " $$fail "$$red"; \
+ result_count $$1 "XPASS:" $$xpass "$$red"; \
+ result_count $$1 "ERROR:" $$error "$$mgn"; \
+ }; \
+ { \
+ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
+ $(am__rst_title); \
+ create_testsuite_report --no-color; \
+ echo; \
+ echo ".. contents:: :depth: 2"; \
+ echo; \
+ for b in $$bases; do echo $$b; done \
+ | $(am__create_global_log); \
+ } >$(TEST_SUITE_LOG).tmp || exit 1; \
+ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
+ if $$success; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
+ fi; \
+ echo "$${col}$$br$${std}"; \
+ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
+ echo "$${col}$$br$${std}"; \
+ create_testsuite_report --maybe-color; \
+ echo "$$col$$br$$std"; \
+ if $$success; then :; else \
+ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
+ if test -n "$(PACKAGE_BUGREPORT)"; then \
+ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+ fi; \
+ echo "$$col$$br$$std"; \
+ fi; \
+ $$success || exit 1
+
+check-TESTS:
+ @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+ @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+ exit $$?;
+recheck: all
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ bases=`for i in $$bases; do echo $$i; done \
+ | $(am__list_recheck_tests)` || exit 1; \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ log_list=`echo $$log_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+ am__force_recheck=am--force-recheck \
+ TEST_LOGS="$$log_list"; \
+ exit $$?
+bin.log: bin$(EXEEXT)
+ @p='bin$(EXEEXT)'; \
+ b='bin'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elementcreate.log: elementcreate$(EXEEXT)
+ @p='elementcreate$(EXEEXT)'; \
+ b='elementcreate'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elementfactory.log: elementfactory$(EXEEXT)
+ @p='elementfactory$(EXEEXT)'; \
+ b='elementfactory'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elementget.log: elementget$(EXEEXT)
+ @p='elementget$(EXEEXT)'; \
+ b='elementget'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elementlink.log: elementlink$(EXEEXT)
+ @p='elementlink$(EXEEXT)'; \
+ b='elementlink'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+elementmake.log: elementmake$(EXEEXT)
+ @p='elementmake$(EXEEXT)'; \
+ b='elementmake'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+ghostpad.log: ghostpad$(EXEEXT)
+ @p='ghostpad$(EXEEXT)'; \
+ b='ghostpad'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+init.log: init$(EXEEXT)
+ @p='init$(EXEEXT)'; \
+ b='init'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+ @p='$<'; \
+ $(am__set_b); \
+ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@ @p='$<'; \
+@am__EXEEXT_TRUE@ $(am__set_b); \
+@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -1006,6 +1401,9 @@ install-strip:
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
+ -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+ -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+ -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -1091,9 +1489,9 @@ uninstall-am:
.MAKE: all check check-am install install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
- clean-generic clean-libtool clean-noinstPROGRAMS ctags \
- distclean distclean-compile distclean-generic \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
+ clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
@@ -1103,7 +1501,7 @@ uninstall-am:
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
+ recheck tags tags-am uninstall uninstall-am
elementmake.c elementcreate.c elementget.c elementlink.c elementfactory.c: $(top_srcdir)/docs/manual/basics-elements.xml
diff --git a/tests/examples/manual/effectswitch.c b/tests/examples/manual/effectswitch.c
index 5cba9c0..a8a4cda 100644
--- a/tests/examples/manual/effectswitch.c
+++ b/tests/examples/manual/effectswitch.c
@@ -26,7 +26,7 @@ event_probe_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
gst_pad_remove_probe (pad, GST_PAD_PROBE_INFO_ID (info));
- /* push current event back into the queue */
+ /* push current effect back into the queue */
g_queue_push_tail (&effects, gst_object_ref (cur_effect));
/* take next effect from the queue */
next = g_queue_pop_head (&effects);
diff --git a/tests/examples/memory/Makefile.in b/tests/examples/memory/Makefile.in
index 7ae750a..12672d1 100644
--- a/tests/examples/memory/Makefile.in
+++ b/tests/examples/memory/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,14 +81,14 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = memory_test$(EXEEXT)
subdir = tests/examples/memory
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -85,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -107,9 +136,22 @@ memory_test_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
memory_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(memory_test_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -122,20 +164,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(memory_test_SOURCES)
DIST_SOURCES = $(memory_test_SOURCES)
am__can_run_installinfo = \
@@ -143,6 +181,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -244,15 +299,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -262,11 +313,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -274,6 +323,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -336,6 +386,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -472,6 +523,7 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
memory_test$(EXEEXT): $(memory_test_OBJECTS) $(memory_test_DEPENDENCIES) $(EXTRA_memory_test_DEPENDENCIES)
@rm -f memory_test$(EXEEXT)
$(AM_V_CCLD)$(memory_test_LINK) $(memory_test_OBJECTS) $(memory_test_LDADD) $(LIBS)
@@ -555,26 +607,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -586,15 +627,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -603,6 +640,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -744,18 +796,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/examples/memory/my-memory.c b/tests/examples/memory/my-memory.c
index 1bbd960..2c1b7cb 100644
--- a/tests/examples/memory/my-memory.c
+++ b/tests/examples/memory/my-memory.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "my-memory.h"
diff --git a/tests/examples/memory/my-memory.h b/tests/examples/memory/my-memory.h
index dad2d24..3f43e1d 100644
--- a/tests/examples/memory/my-memory.h
+++ b/tests/examples/memory/my-memory.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/gst.h>
diff --git a/tests/examples/memory/my-vidmem.c b/tests/examples/memory/my-vidmem.c
index b1a58be..1303a67 100644
--- a/tests/examples/memory/my-vidmem.c
+++ b/tests/examples/memory/my-vidmem.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include "my-vidmem.h"
diff --git a/tests/examples/memory/my-vidmem.h b/tests/examples/memory/my-vidmem.h
index 337ebbb..e11fa5c 100644
--- a/tests/examples/memory/my-vidmem.h
+++ b/tests/examples/memory/my-vidmem.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/gst.h>
diff --git a/tests/examples/metadata/Makefile.in b/tests/examples/metadata/Makefile.in
index 4d72ebc..5a470a8 100644
--- a/tests/examples/metadata/Makefile.in
+++ b/tests/examples/metadata/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,14 +81,14 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = read-metadata$(EXEEXT)
subdir = tests/examples/metadata
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -85,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -105,9 +134,22 @@ read_metadata_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
read_metadata_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(read_metadata_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -120,20 +162,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = read-metadata.c
DIST_SOURCES = read-metadata.c
am__can_run_installinfo = \
@@ -141,6 +179,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -242,15 +297,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -260,11 +311,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -272,6 +321,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -334,6 +384,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -469,6 +520,7 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
read-metadata$(EXEEXT): $(read_metadata_OBJECTS) $(read_metadata_DEPENDENCIES) $(EXTRA_read_metadata_DEPENDENCIES)
@rm -f read-metadata$(EXEEXT)
$(AM_V_CCLD)$(read_metadata_LINK) $(read_metadata_OBJECTS) $(read_metadata_LDADD) $(LIBS)
@@ -522,26 +574,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -553,15 +594,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -570,6 +607,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -711,18 +763,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/examples/metadata/read-metadata.c b/tests/examples/metadata/read-metadata.c
index 9678862..a872289 100644
--- a/tests/examples/metadata/read-metadata.c
+++ b/tests/examples/metadata/read-metadata.c
@@ -18,8 +18,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/tests/examples/queue/Makefile.in b/tests/examples/queue/Makefile.in
index 67256bb..a9d7dca 100644
--- a/tests/examples/queue/Makefile.in
+++ b/tests/examples/queue/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,14 +81,14 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = queue$(EXEEXT)
subdir = tests/examples/queue
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -85,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -105,9 +134,22 @@ queue_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
queue_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(queue_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -120,20 +162,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = queue.c
DIST_SOURCES = queue.c
am__can_run_installinfo = \
@@ -141,6 +179,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -242,15 +297,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -260,11 +311,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -272,6 +321,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -334,6 +384,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -469,6 +520,7 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
queue$(EXEEXT): $(queue_OBJECTS) $(queue_DEPENDENCIES) $(EXTRA_queue_DEPENDENCIES)
@rm -f queue$(EXEEXT)
$(AM_V_CCLD)$(queue_LINK) $(queue_OBJECTS) $(queue_LDADD) $(LIBS)
@@ -522,26 +574,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -553,15 +594,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -570,6 +607,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -711,18 +763,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/examples/stepping/Makefile.in b/tests/examples/stepping/Makefile.in
index 62ade0c..37f3398 100644
--- a/tests/examples/stepping/Makefile.in
+++ b/tests/examples/stepping/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,14 +81,14 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = framestep1$(EXEEXT)
subdir = tests/examples/stepping
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -85,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -105,9 +134,22 @@ framestep1_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
framestep1_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(framestep1_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -120,20 +162,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = framestep1.c
DIST_SOURCES = framestep1.c
am__can_run_installinfo = \
@@ -141,6 +179,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -242,15 +297,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -260,11 +311,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -272,6 +321,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -334,6 +384,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -469,6 +520,7 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
framestep1$(EXEEXT): $(framestep1_OBJECTS) $(framestep1_DEPENDENCIES) $(EXTRA_framestep1_DEPENDENCIES)
@rm -f framestep1$(EXEEXT)
$(AM_V_CCLD)$(framestep1_LINK) $(framestep1_OBJECTS) $(framestep1_LDADD) $(LIBS)
@@ -522,26 +574,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -553,15 +594,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -570,6 +607,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -711,18 +763,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/examples/streams/Makefile.in b/tests/examples/streams/Makefile.in
index cc3a419..b106c81 100644
--- a/tests/examples/streams/Makefile.in
+++ b/tests/examples/streams/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,14 +82,14 @@ target_triplet = @target@
noinst_PROGRAMS = stream-status$(EXEEXT) $(am__EXEEXT_1)
@HAVE_PTHREAD_TRUE@am__append_1 = rtpool-test
subdir = tests/examples/streams
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -86,12 +113,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -108,6 +137,7 @@ rtpool_test_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
rtpool_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(rtpool_test_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -117,6 +147,18 @@ stream_status_DEPENDENCIES = $(am__DEPENDENCIES_1)
stream_status_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(stream_status_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -129,20 +171,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(rtpool_test_SOURCES) $(stream_status_SOURCES)
DIST_SOURCES = $(rtpool_test_SOURCES) $(stream_status_SOURCES)
am__can_run_installinfo = \
@@ -150,6 +188,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -251,15 +306,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -269,11 +320,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -281,6 +330,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -343,6 +393,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -483,9 +534,11 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
rtpool-test$(EXEEXT): $(rtpool_test_OBJECTS) $(rtpool_test_DEPENDENCIES) $(EXTRA_rtpool_test_DEPENDENCIES)
@rm -f rtpool-test$(EXEEXT)
$(AM_V_CCLD)$(rtpool_test_LINK) $(rtpool_test_OBJECTS) $(rtpool_test_LDADD) $(LIBS)
+
stream-status$(EXEEXT): $(stream_status_OBJECTS) $(stream_status_DEPENDENCIES) $(EXTRA_stream_status_DEPENDENCIES)
@rm -f stream-status$(EXEEXT)
$(AM_V_CCLD)$(stream_status_LINK) $(stream_status_OBJECTS) $(stream_status_LDADD) $(LIBS)
@@ -569,26 +622,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -600,15 +642,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -617,6 +655,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -758,18 +811,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/examples/streams/stream-status.c b/tests/examples/streams/stream-status.c
index 1331110..c94823e 100644
--- a/tests/examples/streams/stream-status.c
+++ b/tests/examples/streams/stream-status.c
@@ -82,10 +82,8 @@ sync_bus_handler (GstBus * bus, GstMessage * message, GstElement * bin)
g_message ("created task %p", task);
break;
case GST_STREAM_STATUS_TYPE_ENTER:
- if (task) {
- /* g_message ("raising task priority for %p", task); */
- /* FIXME: do something here */
- }
+ /* g_message ("raising task priority"); */
+ /* setpriority (PRIO_PROCESS, 0, -10); */
break;
case GST_STREAM_STATUS_TYPE_LEAVE:
break;
diff --git a/tests/examples/streams/testrtpool.c b/tests/examples/streams/testrtpool.c
index f2e6fa5..0a29fda 100644
--- a/tests/examples/streams/testrtpool.c
+++ b/tests/examples/streams/testrtpool.c
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <pthread.h>
diff --git a/tests/examples/streams/testrtpool.h b/tests/examples/streams/testrtpool.h
index 580cffa..95e62e9 100644
--- a/tests/examples/streams/testrtpool.h
+++ b/tests/examples/streams/testrtpool.h
@@ -13,8 +13,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __TEST_RT_POOL_H__
diff --git a/tests/examples/typefind/Makefile.in b/tests/examples/typefind/Makefile.in
index 25a6688..97dc803 100644
--- a/tests/examples/typefind/Makefile.in
+++ b/tests/examples/typefind/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -54,14 +81,14 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = typefind$(EXEEXT)
subdir = tests/examples/typefind
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -85,12 +112,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -105,9 +134,22 @@ typefind_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
typefind_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(typefind_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -120,20 +162,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = typefind.c
DIST_SOURCES = typefind.c
am__can_run_installinfo = \
@@ -141,6 +179,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -242,15 +297,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -260,11 +311,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -272,6 +321,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -334,6 +384,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -469,6 +520,7 @@ clean-noinstPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
typefind$(EXEEXT): $(typefind_OBJECTS) $(typefind_DEPENDENCIES) $(EXTRA_typefind_DEPENDENCIES)
@rm -f typefind$(EXEEXT)
$(AM_V_CCLD)$(typefind_LINK) $(typefind_OBJECTS) $(typefind_LDADD) $(LIBS)
@@ -522,26 +574,15 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -553,15 +594,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -570,6 +607,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -711,18 +763,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/examples/typefind/typefind.c b/tests/examples/typefind/typefind.c
index 58f11db..d9576a4 100644
--- a/tests/examples/typefind/typefind.c
+++ b/tests/examples/typefind/typefind.c
@@ -14,8 +14,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <gst/gst.h>
diff --git a/tests/misc/Makefile.in b/tests/misc/Makefile.in
index 8321517..d0bb5d8 100644
--- a/tests/misc/Makefile.in
+++ b/tests/misc/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,14 +79,13 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = tests/misc
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -83,24 +109,32 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -108,6 +142,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -207,15 +242,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -225,11 +256,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -237,6 +266,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -299,6 +329,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -433,11 +464,11 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -573,15 +604,16 @@ uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/tests/misc/network-clock-utils.scm b/tests/misc/network-clock-utils.scm
index 174b5f7..1a71e32 100644
--- a/tests/misc/network-clock-utils.scm
+++ b/tests/misc/network-clock-utils.scm
@@ -15,8 +15,8 @@
;; along with this program; if not, contact:
;;
;; Free Software Foundation Voice: +1-617-542-5942
-;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652
-;; Boston, MA 02111-1307, USA gnu@gnu.org
+;; 51 Franklin St, Fifth Floor Fax: +1-617-542-2652
+;; Boston, MA 02110-1301, USA gnu@gnu.org
;;; Commentary:
diff --git a/tests/misc/network-clock.scm b/tests/misc/network-clock.scm
index 10878c6..cd21bef 100755
--- a/tests/misc/network-clock.scm
+++ b/tests/misc/network-clock.scm
@@ -20,8 +20,8 @@ exec guile --debug -l $0 -e main -- "$@"
;; along with this program; if not, contact:
;;
;; Free Software Foundation Voice: +1-617-542-5942
-;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652
-;; Boston, MA 02111-1307, USA gnu@gnu.org
+;; 51 Franklin St, Fifth Floor Fax: +1-617-542-2652
+;; Boston, MA 02110-1301, USA gnu@gnu.org
;;; Commentary:
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 9c1f133..c79e667 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,23 +17,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -59,15 +86,14 @@ bin_PROGRAMS = gst-inspect-@GST_API_VERSION@$(EXEEXT) \
@GST_DISABLE_PARSE_FALSE@am__append_1 = gst-launch-@GST_API_VERSION@
@GST_DISABLE_PARSE_FALSE@am__append_2 = gst-launch-@GST_API_VERSION@.1
subdir = tools
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp $(noinst_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
$(top_srcdir)/common/m4/as-docbook.m4 \
$(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-python.m4 \
$(top_srcdir)/common/m4/as-scrub-include.m4 \
$(top_srcdir)/common/m4/as-version.m4 \
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
@@ -91,12 +117,14 @@ am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/pkg.m4 $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/check-checks.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -115,6 +143,7 @@ gst_inspect_@GST_API_VERSION@_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
gst_inspect_@GST_API_VERSION@_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(gst_inspect_@GST_API_VERSION@_CFLAGS) $(CFLAGS) \
@@ -139,6 +168,18 @@ gst_typefind_@GST_API_VERSION@_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(gst_typefind_@GST_API_VERSION@_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SCRIPTS = $(noinst_SCRIPTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -151,20 +192,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(gst_inspect_@GST_API_VERSION@_SOURCES) \
$(gst_launch_@GST_API_VERSION@_SOURCES) \
$(gst_typefind_@GST_API_VERSION@_SOURCES)
@@ -207,6 +244,23 @@ man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -308,15 +362,11 @@ GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PKG_DEPS = @GST_PKG_DEPS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PLUGIN_SCANNER_INSTALLED = @GST_PLUGIN_SCANNER_INSTALLED@
-GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE@
-GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE = @GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE@
GST_REGISTRY_DOC_TYPES = @GST_REGISTRY_DOC_TYPES@
GST_REVISION = @GST_REVISION@
-GST_USING_PRINTF_EXTENSION_DEFINE = @GST_USING_PRINTF_EXTENSION_DEFINE@
GST_VERSION_MAJOR = @GST_VERSION_MAJOR@
GST_VERSION_MICRO = @GST_VERSION_MICRO@
GST_VERSION_MINOR = @GST_VERSION_MINOR@
@@ -326,11 +376,9 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
-HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@
HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@
HAVE_DVIPS = @HAVE_DVIPS@
HAVE_EPSTOPDF = @HAVE_EPSTOPDF@
-HAVE_FIG2DEV = @HAVE_FIG2DEV@
HAVE_GMP = @HAVE_GMP@
HAVE_GSL = @HAVE_GSL@
HAVE_JADETEX = @HAVE_JADETEX@
@@ -338,6 +386,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@
HAVE_PNMTOPS = @HAVE_PNMTOPS@
HAVE_PS2PDF = @HAVE_PS2PDF@
HAVE_XMLLINT = @HAVE_XMLLINT@
+HAVE_XSLTPROC = @HAVE_XSLTPROC@
HOST_CPU = @HOST_CPU@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
@@ -400,6 +449,7 @@ PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
+PRINTF_CFLAGS = @PRINTF_CFLAGS@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
@@ -557,10 +607,12 @@ install-binPROGRAMS: $(bin_PROGRAMS)
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -581,7 +633,8 @@ uninstall-binPROGRAMS:
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
@@ -594,12 +647,15 @@ clean-binPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+
gst-inspect-@GST_API_VERSION@$(EXEEXT): $(gst_inspect_@GST_API_VERSION@_OBJECTS) $(gst_inspect_@GST_API_VERSION@_DEPENDENCIES) $(EXTRA_gst_inspect_@GST_API_VERSION@_DEPENDENCIES)
@rm -f gst-inspect-@GST_API_VERSION@$(EXEEXT)
$(AM_V_CCLD)$(gst_inspect_@GST_API_VERSION@_LINK) $(gst_inspect_@GST_API_VERSION@_OBJECTS) $(gst_inspect_@GST_API_VERSION@_LDADD) $(LIBS)
+
gst-launch-@GST_API_VERSION@$(EXEEXT): $(gst_launch_@GST_API_VERSION@_OBJECTS) $(gst_launch_@GST_API_VERSION@_DEPENDENCIES) $(EXTRA_gst_launch_@GST_API_VERSION@_DEPENDENCIES)
@rm -f gst-launch-@GST_API_VERSION@$(EXEEXT)
$(AM_V_CCLD)$(gst_launch_@GST_API_VERSION@_LINK) $(gst_launch_@GST_API_VERSION@_OBJECTS) $(gst_launch_@GST_API_VERSION@_LDADD) $(LIBS)
+
gst-typefind-@GST_API_VERSION@$(EXEEXT): $(gst_typefind_@GST_API_VERSION@_OBJECTS) $(gst_typefind_@GST_API_VERSION@_DEPENDENCIES) $(EXTRA_gst_typefind_@GST_API_VERSION@_DEPENDENCIES)
@rm -f gst-typefind-@GST_API_VERSION@$(EXEEXT)
$(AM_V_CCLD)$(gst_typefind_@GST_API_VERSION@_LINK) $(gst_typefind_@GST_API_VERSION@_OBJECTS) $(gst_typefind_@GST_API_VERSION@_LDADD) $(LIBS)
@@ -726,26 +782,15 @@ uninstall-man1:
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -757,15 +802,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -774,24 +815,26 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- @list='$(MANS)'; if test -n "$$list"; then \
- list=`for p in $$list; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
- if test -n "$$list" && \
- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
- echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
- echo " typically \`make maintainer-clean' will remove them" >&2; \
- exit 1; \
- else :; fi; \
- else :; fi
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -933,20 +976,20 @@ uninstall-man: uninstall-man1
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-man1 install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-binPROGRAMS uninstall-man \
- uninstall-man1
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-man uninstall-man1
Android.mk: Makefile.am
diff --git a/tools/gst-inspect.c b/tools/gst-inspect.c
index fd7e7cf..fcf4724 100644
--- a/tools/gst-inspect.c
+++ b/tools/gst-inspect.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
@@ -81,8 +81,19 @@ print_caps (const GstCaps * caps, const gchar * pfx)
for (i = 0; i < gst_caps_get_size (caps); i++) {
GstStructure *structure = gst_caps_get_structure (caps, i);
+ GstCapsFeatures *features = gst_caps_get_features (caps, i);
- n_print ("%s%s\n", pfx, gst_structure_get_name (structure));
+ if (features && (gst_caps_features_is_any (features) ||
+ !gst_caps_features_is_equal (features,
+ GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY))) {
+ gchar *features_string = gst_caps_features_to_string (features);
+
+ n_print ("%s%s(%s)\n", pfx, gst_structure_get_name (structure),
+ features_string);
+ g_free (features_string);
+ } else {
+ n_print ("%s%s\n", pfx, gst_structure_get_name (structure));
+ }
gst_structure_foreach (structure, print_field, (gpointer) pfx);
}
}
@@ -190,7 +201,7 @@ print_factory_details_info (GstElementFactory * factory)
rank = gst_plugin_feature_get_rank (GST_PLUGIN_FEATURE (factory));
n_print ("Factory Details:\n");
- n_print (" Rank:\t\t%s (%d)\n", get_rank_name (s, rank), rank);
+ n_print (" %-25s%s (%d)\n", "Rank", get_rank_name (s, rank), rank);
keys = gst_element_factory_get_metadata_keys (factory);
if (keys != NULL) {
@@ -200,7 +211,7 @@ print_factory_details_info (GstElementFactory * factory)
val = gst_element_factory_get_metadata (factory, key);
key[0] = g_ascii_toupper (key[0]);
- n_print (" %s:\t\t%s\n", key, val);
+ n_print (" %-25s%s\n", key, val);
}
g_strfreev (keys);
}
@@ -1172,12 +1183,12 @@ print_plugin_info (GstPlugin * plugin)
const gchar *filename = gst_plugin_get_filename (plugin);
n_print ("Plugin Details:\n");
- n_print (" Name:\t\t\t%s\n", gst_plugin_get_name (plugin));
- n_print (" Description:\t\t%s\n", gst_plugin_get_description (plugin));
- n_print (" Filename:\t\t%s\n", (filename != NULL) ? filename : "(null)");
- n_print (" Version:\t\t%s\n", gst_plugin_get_version (plugin));
- n_print (" License:\t\t%s\n", gst_plugin_get_license (plugin));
- n_print (" Source module:\t%s\n", gst_plugin_get_source (plugin));
+ n_print (" %-25s%s\n", "Name", gst_plugin_get_name (plugin));
+ n_print (" %-25s%s\n", "Description", gst_plugin_get_description (plugin));
+ n_print (" %-25s%s\n", "Filename", (filename != NULL) ? filename : "(null)");
+ n_print (" %-25s%s\n", "Version", gst_plugin_get_version (plugin));
+ n_print (" %-25s%s\n", "License", gst_plugin_get_license (plugin));
+ n_print (" %-25s%s\n", "Source module", gst_plugin_get_source (plugin));
if (release_date != NULL) {
const gchar *tz = "(UTC)";
@@ -1195,11 +1206,11 @@ print_plugin_info (GstPlugin * plugin)
} else {
tz = "";
}
- n_print (" Source release date:\t%s%s\n", str, tz);
+ n_print (" %-25s%s%s\n", "Source release date", str, tz);
g_free (str);
}
- n_print (" Binary package:\t%s\n", gst_plugin_get_package (plugin));
- n_print (" Origin URL:\t\t%s\n", gst_plugin_get_origin (plugin));
+ n_print (" %-25s%s\n", "Binary package", gst_plugin_get_package (plugin));
+ n_print (" %-25s%s\n", "Origin URL", gst_plugin_get_origin (plugin));
n_print ("\n");
}
@@ -1247,7 +1258,7 @@ print_plugin_features (GstPlugin * plugin)
if (extensions) {
guint i = 0;
- g_print ("%s: %s: ", gst_plugin_get_name (plugin),
+ g_print (" %s: %s: ", gst_plugin_get_name (plugin),
gst_plugin_feature_get_name (feature));
while (extensions[i]) {
g_print ("%s%s", i > 0 ? ", " : "", extensions[i]);
@@ -1255,7 +1266,7 @@ print_plugin_features (GstPlugin * plugin)
}
g_print ("\n");
} else
- g_print ("%s: %s: no extensions\n", gst_plugin_get_name (plugin),
+ g_print (" %s: %s: no extensions\n", gst_plugin_get_name (plugin),
gst_plugin_feature_get_name (feature));
num_typefinders++;
diff --git a/tools/gst-launch.1.in b/tools/gst-launch.1.in
index 299b398..13eadb3 100644
--- a/tools/gst-launch.1.in
+++ b/tools/gst-launch.1.in
@@ -406,20 +406,26 @@ samples and a sample rate between 32kHz and 64KHz.
.SH "ENVIRONMENT VARIABLES"
.TP
\fBGST_DEBUG\fR
-Comma-separated list of debug categories and levels, e.g.
-GST_DEBUG=totem:4,typefind:5
+Comma-separated list of debug categories and levels (e.g.
+GST_DEBUG=totem:4,typefind:5). '*' is allowed as a wildcard as part of
+debug category names (e.g. GST_DEBUG=*sink:6,*audio*:6). Since 1.2.0 it is
+also possible to specify the log level by name (1=ERROR, 2=WARN, 3=FIXME,
+4=INFO, 5=DEBUG, 6=LOG, 7=TRACE, 9=MEMDUMP) (e.g. GST_DEBUG=*audio*:LOG)
.TP
\fBGST_DEBUG_NO_COLOR\fR
When this environment variable is set, coloured debug output is disabled.
.TP
\fBGST_DEBUG_DUMP_DOT_DIR\fR
-When set to a filesystem path, store dot files of pipeline graphs there.
+When set to a filesystem path, store 'dot' files of pipeline graphs there.
+These can then later be converted into an image using the 'dot' utility from
+the graphviz set of tools, like this: dot foo.dot -Tsvg -o foo.svg (png or jpg
+are also possible as output format)
.TP
\fBGST_REGISTRY\fR
Path of the plugin registry file. Default is
-~/.gstreamer-GST_API_VERSION/registry-CPU.bin where CPU is the machine/cpu type
-GStreamer was compiled for, e.g. 'i486', 'i686', 'x86-64', 'ppc', etc. (check
-the output of "uname -i" and "uname -m" for details).
+~/.cache/gstreamer-GST_API_VERSION/registry-CPU.bin where CPU is the
+machine/cpu type GStreamer was compiled for, e.g. 'i486', 'i686', 'x86-64',
+'ppc', etc. (check the output of "uname -i" and "uname -m" for details).
.TP
\fBGST_REGISTRY_UPDATE\fR
Set to "no" to force GStreamer to assume that no plugins have changed,
@@ -437,6 +443,11 @@ Specifies a list of plugins that are always loaded by default. If not set,
this defaults to the system-installed path, and the plugins installed in the
user's home directory
.TP
+\fBGST_DEBUG_FILE\fR
+Set this variable to a file path to redirect all GStreamer debug
+messages to this file. If left unset, debug messages with be output
+unto the standard error.
+.TP
\fBORC_CODE\fR
Useful Orc environment variable. Set ORC_CODE=debug to enable debuggers
such as gdb to create useful backtraces from Orc-generated code. Set
diff --git a/tools/gst-launch.c b/tools/gst-launch.c
index cf46d19..61a17a4 100644
--- a/tools/gst-launch.c
+++ b/tools/gst-launch.c
@@ -17,44 +17,33 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
-/* FIXME: hack alert */
-#ifdef HAVE_WIN32
-#define DISABLE_FAULT_HANDLER
-#endif
-
+#include <glib.h>
#include <stdio.h>
#include <string.h>
#include <signal.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
-#ifndef DISABLE_FAULT_HANDLER
+#ifdef G_OS_UNIX
+#include <glib-unix.h>
#include <sys/wait.h>
#endif
#include <locale.h> /* for LC_ALL */
#include "tools.h"
-/* FIXME: This is just a temporary hack. We should have a better
- * check for siginfo handling. */
-#ifdef SA_SIGINFO
-#define USE_SIGINFO
-#endif
-
extern volatile gboolean glib_on_error_halt;
-#ifndef DISABLE_FAULT_HANDLER
+#ifdef G_OS_UNIX
static void fault_restore (void);
static void fault_spin (void);
-static void sigint_restore (void);
-static gboolean caught_intr = FALSE;
#endif
/* event_loop return codes */
@@ -74,11 +63,13 @@ static gboolean messages = FALSE;
static gboolean is_live = FALSE;
static gboolean waiting_eos = FALSE;
+G_LOCK_DEFINE_STATIC (context);
+static GstContext *context = NULL;
+
/* convenience macro so we don't have to litter the code with if(!quiet) */
#define PRINT if(!quiet)g_print
-#ifndef DISABLE_FAULT_HANDLER
-#ifndef USE_SIGINFO
+#ifdef G_OS_UNIX
static void
fault_handler_sighandler (int signum)
{
@@ -102,34 +93,6 @@ fault_handler_sighandler (int signum)
fault_spin ();
}
-#else /* USE_SIGINFO */
-
-static void
-fault_handler_sigaction (int signum, siginfo_t * si, void *misc)
-{
- fault_restore ();
-
- /* printf is used instead of g_print(), since it's less likely to
- * deadlock */
- switch (si->si_signo) {
- case SIGSEGV:
- fprintf (stderr, "Caught SIGSEGV accessing address %p\n", si->si_addr);
- break;
- case SIGQUIT:
- if (!quiet)
- printf ("Caught SIGQUIT\n");
- break;
- default:
- fprintf (stderr, "signo: %d\n", si->si_signo);
- fprintf (stderr, "errno: %d\n", si->si_errno);
- fprintf (stderr, "code: %d\n", si->si_code);
- break;
- }
-
- fault_spin ();
-}
-#endif /* USE_SIGINFO */
-
static void
fault_spin (void)
{
@@ -142,7 +105,7 @@ fault_spin (void)
/* FIXME how do we know if we were run by libtool? */
fprintf (stderr,
- "Spinning. Please run 'gdb gst-launch- " GST_API_VERSION " %d' to "
+ "Spinning. Please run 'gdb gst-launch-" GST_API_VERSION " %d' to "
"continue debugging, Ctrl-C to quit, or Ctrl-\\ to dump core.\n",
(gint) getpid ());
while (spinning)
@@ -167,17 +130,12 @@ fault_setup (void)
struct sigaction action;
memset (&action, 0, sizeof (action));
-#ifdef USE_SIGINFO
- action.sa_sigaction = fault_handler_sigaction;
- action.sa_flags = SA_SIGINFO;
-#else
action.sa_handler = fault_handler_sighandler;
-#endif
sigaction (SIGSEGV, &action, NULL);
sigaction (SIGQUIT, &action, NULL);
}
-#endif /* DISABLE_FAULT_HANDLER */
+#endif /* G_OS_UNIX */
#if 0
typedef struct _GstIndexStats
@@ -503,89 +461,61 @@ print_toc_entry (gpointer data, gpointer user_data)
g_list_foreach (subentries, print_toc_entry, GUINT_TO_POINTER (indent));
}
-#ifndef DISABLE_FAULT_HANDLER
-/* we only use sighandler here because the registers are not important */
-static void
-sigint_handler_sighandler (int signum)
-{
- PRINT ("Caught interrupt -- ");
-
- /* If we were waiting for an EOS, we still want to catch
- * the next signal to shutdown properly (and the following one
- * will quit the program). */
- if (waiting_eos) {
- waiting_eos = FALSE;
- } else {
- sigint_restore ();
- }
- /* we set a flag that is checked by the mainloop, we cannot do much in the
- * interrupt handler (no mutex or other blocking stuff) */
- caught_intr = TRUE;
-}
-
-/* is called every 250 milliseconds (4 times a second), the interrupt handler
- * will set a flag for us. We react to this by posting a message. */
+#ifdef G_OS_UNIX
+/* As the interrupt handler is dispatched from GMainContext as a GSourceFunc
+ * handler, we can react to this by posting a message. */
static gboolean
-check_intr (GstElement * pipeline)
+intr_handler (gpointer user_data)
{
- if (!caught_intr) {
- return TRUE;
- } else {
- caught_intr = FALSE;
- PRINT ("handling interrupt.\n");
-
- /* post an application specific message */
- gst_element_post_message (GST_ELEMENT (pipeline),
- gst_message_new_application (GST_OBJECT (pipeline),
- gst_structure_new ("GstLaunchInterrupt",
- "message", G_TYPE_STRING, "Pipeline interrupted", NULL)));
-
- /* remove timeout handler */
- return FALSE;
- }
-}
+ GstElement *pipeline = (GstElement *) user_data;
-static void
-sigint_setup (void)
-{
- struct sigaction action;
+ PRINT ("handling interrupt.\n");
- memset (&action, 0, sizeof (action));
- action.sa_handler = sigint_handler_sighandler;
+ /* post an application specific message */
+ gst_element_post_message (GST_ELEMENT (pipeline),
+ gst_message_new_application (GST_OBJECT (pipeline),
+ gst_structure_new ("GstLaunchInterrupt",
+ "message", G_TYPE_STRING, "Pipeline interrupted", NULL)));
- sigaction (SIGINT, &action, NULL);
+ /* remove signal handler */
+ return FALSE;
}
-static void
-sigint_restore (void)
+#endif /* G_OS_UNIX */
+
+static gboolean
+merge_structures (GQuark field_id, const GValue * value, gpointer user_data)
{
- struct sigaction action;
+ GstStructure *s2 = user_data;
- memset (&action, 0, sizeof (action));
- action.sa_handler = SIG_DFL;
+ /* Copy all fields that are not set yet */
+ if (!gst_structure_id_has_field (s2, field_id))
+ gst_structure_id_set_value (s2, field_id, value);
- sigaction (SIGINT, &action, NULL);
+ return TRUE;
}
-#endif /* DISABLE_FAULT_HANDLER */
/* returns ELR_ERROR if there was an error
* or ELR_INTERRUPT if we caught a keyboard interrupt
* or ELR_NO_ERROR otherwise. */
static EventLoopResult
-event_loop (GstElement * pipeline, gboolean blocking, GstState target_state)
+event_loop (GstElement * pipeline, gboolean blocking, gboolean do_progress,
+ GstState target_state)
{
-#ifndef DISABLE_FAULT_HANDLER
- gulong timeout_id;
+#ifdef G_OS_UNIX
+ guint signal_watch_id;
#endif
GstBus *bus;
GstMessage *message = NULL;
EventLoopResult res = ELR_NO_ERROR;
- gboolean buffering = FALSE;
+ gboolean buffering = FALSE, in_progress = FALSE;
+ gboolean prerolled = target_state != GST_STATE_PAUSED;
bus = gst_element_get_bus (GST_ELEMENT (pipeline));
-#ifndef DISABLE_FAULT_HANDLER
- timeout_id = g_timeout_add (250, (GSourceFunc) check_intr, pipeline);
+#ifdef G_OS_UNIX
+ signal_watch_id =
+ g_unix_signal_add (SIGINT, (GSourceFunc) intr_handler, pipeline);
#endif
while (TRUE) {
@@ -752,19 +682,23 @@ event_loop (GstElement * pipeline, gboolean blocking, GstState target_state)
if (GST_MESSAGE_SRC (message) != GST_OBJECT_CAST (pipeline))
break;
- /* ignore when we are buffering since then we mess with the states
- * ourselves. */
- if (buffering) {
- PRINT (_("Prerolled, waiting for buffering to finish...\n"));
- break;
- }
-
gst_message_parse_state_changed (message, &old, &new, &pending);
/* if we reached the final target state, exit */
- if (target_state == GST_STATE_PAUSED && new == target_state)
+ if (target_state == GST_STATE_PAUSED && new == target_state) {
+ prerolled = TRUE;
+ /* ignore when we are buffering since then we mess with the states
+ * ourselves. */
+ if (buffering) {
+ PRINT (_("Prerolled, waiting for buffering to finish...\n"));
+ break;
+ }
+ if (in_progress) {
+ PRINT (_("Prerolled, waiting for progress to finish...\n"));
+ break;
+ }
goto exit;
-
+ }
/* else not an interesting message */
break;
}
@@ -785,7 +719,7 @@ event_loop (GstElement * pipeline, gboolean blocking, GstState target_state)
if (target_state == GST_STATE_PLAYING) {
PRINT (_("Done buffering, setting pipeline to PLAYING ...\n"));
gst_element_set_state (pipeline, GST_STATE_PLAYING);
- } else
+ } else if (prerolled && !in_progress)
goto exit;
} else {
/* buffering busy */
@@ -833,6 +767,37 @@ event_loop (GstElement * pipeline, gboolean blocking, GstState target_state)
}
break;
}
+ case GST_MESSAGE_PROGRESS:
+ {
+ GstProgressType type;
+ gchar *code, *text;
+
+ gst_message_parse_progress (message, &type, &code, &text);
+
+ switch (type) {
+ case GST_PROGRESS_TYPE_START:
+ case GST_PROGRESS_TYPE_CONTINUE:
+ if (do_progress) {
+ in_progress = TRUE;
+ blocking = TRUE;
+ }
+ break;
+ case GST_PROGRESS_TYPE_COMPLETE:
+ case GST_PROGRESS_TYPE_CANCELED:
+ case GST_PROGRESS_TYPE_ERROR:
+ in_progress = FALSE;
+ break;
+ default:
+ break;
+ }
+ PRINT (_("Progress: (%s) %s\n"), code, text);
+ g_free (code);
+ g_free (text);
+
+ if (do_progress && !in_progress && !buffering && prerolled)
+ goto exit;
+ break;
+ }
case GST_MESSAGE_ELEMENT:{
if (gst_is_missing_plugin_message (message)) {
const gchar *desc;
@@ -842,6 +807,29 @@ event_loop (GstElement * pipeline, gboolean blocking, GstState target_state)
}
break;
}
+ case GST_MESSAGE_HAVE_CONTEXT:{
+ GstContext *context_new;
+ gchar *context_str;
+
+ gst_message_parse_have_context (message, &context_new);
+
+ context_str =
+ gst_structure_to_string (gst_context_get_structure (context_new));
+ PRINT (_("Got context from element '%s': %s\n"),
+ GST_ELEMENT_NAME (GST_MESSAGE_SRC (message)), context_str);
+ g_free (context_str);
+ gst_context_unref (context_new);
+
+ /* The contexts were merged in the sync handler already, here
+ * now just print them and propagate the merged context to the
+ * complete pipeline */
+ G_LOCK (context);
+ context_new = gst_context_ref (context_new);
+ G_UNLOCK (context);
+ gst_element_set_context (pipeline, context_new);
+ gst_context_unref (context_new);
+ break;
+ }
default:
/* just be quiet by default */
break;
@@ -856,8 +844,8 @@ exit:
if (message)
gst_message_unref (message);
gst_object_unref (bus);
-#ifndef DISABLE_FAULT_HANDLER
- g_source_remove (timeout_id);
+#ifdef G_OS_UNIX
+ g_source_remove (signal_watch_id);
#endif
return res;
}
@@ -899,6 +887,49 @@ bus_sync_handler (GstBus * bus, GstMessage * message, gpointer data)
g_free (state_transition_name);
}
+ case GST_MESSAGE_NEED_CONTEXT:{
+ G_LOCK (context);
+ /* We could filter something here, but instead we can also just pass the complete
+ * context knowledge we have to the element. If we have what it needs, it will be
+ * happy, otherwise we can't do anything else anyway */
+ if (context)
+ gst_element_set_context (GST_ELEMENT_CAST (GST_MESSAGE_SRC (message)),
+ context);
+ G_UNLOCK (context);
+
+ break;
+ }
+ case GST_MESSAGE_HAVE_CONTEXT:{
+ GstContext *context_new;
+
+ gst_message_parse_have_context (message, &context_new);
+
+ /* Merge the contexts here as soon as possible and not
+ * in the async bus handler, in case something asks for
+ * a specific context before the async bus handler is run.
+ *
+ * Don't set the context on the complete pipeline here as it
+ * might deadlock, but do that from the async bus handler
+ * instead.
+ */
+ G_LOCK (context);
+ if (context) {
+ const GstStructure *s1;
+ GstStructure *s2;
+
+ /* Merge structures */
+ context = gst_context_make_writable (context);
+ s1 = gst_context_get_structure (context_new);
+ s2 = gst_context_writable_structure (context);
+ gst_structure_foreach (s1, merge_structures, s2);
+ } else {
+ /* Copy over the context */
+ gst_context_replace (&context, context_new);
+ }
+ gst_context_unref (context_new);
+ G_UNLOCK (context);
+ break;
+ }
default:
break;
}
@@ -981,11 +1012,9 @@ main (int argc, char *argv[])
gst_tools_print_version ();
-#ifndef DISABLE_FAULT_HANDLER
+#ifdef G_OS_UNIX
if (!no_fault)
fault_setup ();
-
- sigint_setup ();
#endif
/* make a null-terminated version of argv */
@@ -1064,7 +1093,7 @@ main (int argc, char *argv[])
case GST_STATE_CHANGE_FAILURE:
g_printerr (_("ERROR: Pipeline doesn't want to pause.\n"));
res = -1;
- event_loop (pipeline, FALSE, GST_STATE_VOID_PENDING);
+ event_loop (pipeline, FALSE, FALSE, GST_STATE_VOID_PENDING);
goto end;
case GST_STATE_CHANGE_NO_PREROLL:
PRINT (_("Pipeline is live and does not need PREROLL ...\n"));
@@ -1072,7 +1101,7 @@ main (int argc, char *argv[])
break;
case GST_STATE_CHANGE_ASYNC:
PRINT (_("Pipeline is PREROLLING ...\n"));
- caught_error = event_loop (pipeline, TRUE, GST_STATE_PAUSED);
+ caught_error = event_loop (pipeline, TRUE, TRUE, GST_STATE_PAUSED);
if (caught_error) {
g_printerr (_("ERROR: pipeline doesn't want to preroll.\n"));
goto end;
@@ -1084,7 +1113,7 @@ main (int argc, char *argv[])
break;
}
- caught_error = event_loop (pipeline, FALSE, GST_STATE_PLAYING);
+ caught_error = event_loop (pipeline, FALSE, TRUE, GST_STATE_PLAYING);
if (caught_error) {
g_printerr (_("ERROR: pipeline doesn't want to preroll.\n"));
@@ -1111,7 +1140,7 @@ main (int argc, char *argv[])
}
tfthen = gst_util_get_timestamp ();
- caught_error = event_loop (pipeline, TRUE, GST_STATE_PLAYING);
+ caught_error = event_loop (pipeline, TRUE, FALSE, GST_STATE_PLAYING);
if (eos_on_shutdown && caught_error != ELR_NO_ERROR) {
gboolean ignore_errors;
@@ -1127,7 +1156,7 @@ main (int argc, char *argv[])
PRINT (_("Waiting for EOS...\n"));
while (TRUE) {
- caught_error = event_loop (pipeline, TRUE, GST_STATE_PLAYING);
+ caught_error = event_loop (pipeline, TRUE, FALSE, GST_STATE_PLAYING);
if (caught_error == ELR_NO_ERROR) {
/* we got EOS */
@@ -1149,7 +1178,8 @@ main (int argc, char *argv[])
diff = GST_CLOCK_DIFF (tfthen, tfnow);
- PRINT (_("Execution ended after %" G_GINT64_FORMAT " ns.\n"), diff);
+ PRINT (_("Execution ended after %" GST_TIME_FORMAT "\n"),
+ GST_TIME_ARGS (diff));
}
PRINT (_("Setting pipeline to PAUSED ...\n"));
@@ -1178,6 +1208,7 @@ main (int argc, char *argv[])
PRINT (_("Freeing pipeline ...\n"));
gst_object_unref (pipeline);
+ gst_context_replace (&context, NULL);
gst_deinit ();
diff --git a/tools/gst-typefind.c b/tools/gst-typefind.c
index 4cab8c4..a6b42aa 100644
--- a/tools/gst-typefind.c
+++ b/tools/gst-typefind.c
@@ -17,8 +17,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/tools/tools.h b/tools/tools.h
index 1d4e0d4..6bed5ac 100644
--- a/tools/tools.h
+++ b/tools/tools.h
@@ -15,8 +15,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
diff --git a/win32/common/config.h b/win32/common/config.h
index d620210..b0fe69d 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -169,12 +169,25 @@
/* Define if you have the iconv() function and it works. */
#undef HAVE_ICONV
+/* Define to 1 if the system has the type `intmax_t'. */
+#undef HAVE_INTMAX_T
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
+ declares uintmax_t. */
+#undef HAVE_INTTYPES_H_WITH_UINTMAX
+
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
+/* Define to 1 if the system has the type long long */
+#undef HAVE_LONG_LONG
+
+/* Define to 1 if the system has the type `long long int'. */
+#undef HAVE_LONG_LONG_INT
+
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
@@ -205,9 +218,6 @@
/* defined if the compiler implements __PRETTY_FUNCTION__ */
#undef HAVE_PRETTY_FUNCTION
-/* Defined if we have printf specifier extensions available */
-#undef HAVE_PRINTF_EXTENSION
-
/* Define to 1 if you have the <process.h> header file. */
#define HAVE_PROCESS_H 1
@@ -220,21 +230,22 @@
/* Have PTHREAD_PRIO_INHERIT. */
#undef HAVE_PTHREAD_PRIO_INHERIT
+/* Define to 1 if the system has the type `ptrdiff_t'. */
+#undef HAVE_PTRDIFF_T
+
/* Define if RDTSC is available */
#undef HAVE_RDTSC
-/* Define to 1 if you have the `register_printf_function' function. */
-#undef HAVE_REGISTER_PRINTF_FUNCTION
-
-/* Define to 1 if you have the `register_printf_specifier' function. */
-#undef HAVE_REGISTER_PRINTF_SPECIFIER
-
/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
+/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
+ uintmax_t. */
+#undef HAVE_STDINT_H_WITH_UINTMAX
+
/* Define to 1 if you have the <stdio_ext.h> header file. */
#undef HAVE_STDIO_EXT_H
@@ -292,6 +303,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define to 1 if the system has the type `unsigned long long int'. */
+#undef HAVE_UNSIGNED_LONG_LONG_INT
+
/* Define if valgrind should be used */
#undef HAVE_VALGRIND
@@ -343,7 +357,7 @@
#define PACKAGE_NAME "GStreamer"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer 1.0.8"
+#define PACKAGE_STRING "GStreamer 1.1.2"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gstreamer"
@@ -352,7 +366,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.0.8"
+#define PACKAGE_VERSION "1.1.2"
/* directory where plugins are located */
#ifdef _DEBUG
@@ -390,7 +404,7 @@
#undef USE_POISONING
/* Version number of package */
-#define VERSION "1.0.8"
+#define VERSION "1.1.2"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
@@ -420,3 +434,10 @@
/* We need at least WinXP SP2 for __stat64 */
#undef __MSVCRT_VERSION__
+
+/* Define to the widest signed integer type if <stdint.h> and <inttypes.h> do
+ not define. */
+#undef intmax_t
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/win32/common/gstconfig.h b/win32/common/gstconfig.h
index af3b00b..20cd084 100644
--- a/win32/common/gstconfig.h
+++ b/win32/common/gstconfig.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstconfig
diff --git a/win32/common/gstenumtypes.c b/win32/common/gstenumtypes.c
index f5c7776..9a54a03 100644
--- a/win32/common/gstenumtypes.c
+++ b/win32/common/gstenumtypes.c
@@ -108,6 +108,7 @@ gst_buffer_copy_flags_get_type (void)
{C_FLAGS (GST_BUFFER_COPY_META), "GST_BUFFER_COPY_META", "meta"},
{C_FLAGS (GST_BUFFER_COPY_MEMORY), "GST_BUFFER_COPY_MEMORY", "memory"},
{C_FLAGS (GST_BUFFER_COPY_MERGE), "GST_BUFFER_COPY_MERGE", "merge"},
+ {C_FLAGS (GST_BUFFER_COPY_DEEP), "GST_BUFFER_COPY_DEEP", "deep"},
{0, NULL, NULL}
};
@@ -598,6 +599,7 @@ gst_event_type_get_type (void)
{C_ENUM (GST_EVENT_SINK_MESSAGE), "GST_EVENT_SINK_MESSAGE", "sink-message"},
{C_ENUM (GST_EVENT_EOS), "GST_EVENT_EOS", "eos"},
{C_ENUM (GST_EVENT_TOC), "GST_EVENT_TOC", "toc"},
+ {C_ENUM (GST_EVENT_CONTEXT), "GST_EVENT_CONTEXT", "context"},
{C_ENUM (GST_EVENT_SEGMENT_DONE), "GST_EVENT_SEGMENT_DONE", "segment-done"},
{C_ENUM (GST_EVENT_GAP), "GST_EVENT_GAP", "gap"},
{C_ENUM (GST_EVENT_QOS), "GST_EVENT_QOS", "qos"},
@@ -648,6 +650,27 @@ gst_qos_type_get_type (void)
return (GType) id;
}
+GType
+gst_stream_flags_get_type (void)
+{
+ static gsize id = 0;
+ static const GFlagsValue values[] = {
+ {C_FLAGS (GST_STREAM_FLAG_NONE), "GST_STREAM_FLAG_NONE", "none"},
+ {C_FLAGS (GST_STREAM_FLAG_SPARSE), "GST_STREAM_FLAG_SPARSE", "sparse"},
+ {C_FLAGS (GST_STREAM_FLAG_SELECT), "GST_STREAM_FLAG_SELECT", "select"},
+ {C_FLAGS (GST_STREAM_FLAG_UNSELECT), "GST_STREAM_FLAG_UNSELECT",
+ "unselect"},
+ {0, NULL, NULL}
+ };
+
+ if (g_once_init_enter (&id)) {
+ GType tmp = g_flags_register_static ("GstStreamFlags", values);
+ g_once_init_leave (&id, tmp);
+ }
+
+ return (GType) id;
+}
+
/* enumerations from "gstformat.h" */
GType
gst_format_get_type (void)
@@ -820,6 +843,10 @@ gst_message_type_get_type (void)
{C_FLAGS (GST_MESSAGE_RESET_TIME), "GST_MESSAGE_RESET_TIME", "reset-time"},
{C_FLAGS (GST_MESSAGE_STREAM_START), "GST_MESSAGE_STREAM_START",
"stream-start"},
+ {C_FLAGS (GST_MESSAGE_NEED_CONTEXT), "GST_MESSAGE_NEED_CONTEXT",
+ "need-context"},
+ {C_FLAGS (GST_MESSAGE_HAVE_CONTEXT), "GST_MESSAGE_HAVE_CONTEXT",
+ "have-context"},
{C_FLAGS (GST_MESSAGE_ANY), "GST_MESSAGE_ANY", "any"},
{0, NULL, NULL}
};
@@ -942,6 +969,10 @@ gst_memory_flags_get_type (void)
"zero-prefixed"},
{C_FLAGS (GST_MEMORY_FLAG_ZERO_PADDED), "GST_MEMORY_FLAG_ZERO_PADDED",
"zero-padded"},
+ {C_FLAGS (GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS),
+ "GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS", "physically-contiguous"},
+ {C_FLAGS (GST_MEMORY_FLAG_NOT_MAPPABLE), "GST_MEMORY_FLAG_NOT_MAPPABLE",
+ "not-mappable"},
{C_FLAGS (GST_MEMORY_FLAG_LAST), "GST_MEMORY_FLAG_LAST", "last"},
{0, NULL, NULL}
};
@@ -1442,6 +1473,7 @@ gst_query_type_get_type (void)
{C_ENUM (GST_QUERY_ACCEPT_CAPS), "GST_QUERY_ACCEPT_CAPS", "accept-caps"},
{C_ENUM (GST_QUERY_CAPS), "GST_QUERY_CAPS", "caps"},
{C_ENUM (GST_QUERY_DRAIN), "GST_QUERY_DRAIN", "drain"},
+ {C_ENUM (GST_QUERY_CONTEXT), "GST_QUERY_CONTEXT", "context"},
{0, NULL, NULL}
};
@@ -1482,6 +1514,8 @@ gst_scheduling_flags_get_type (void)
"seekable"},
{C_FLAGS (GST_SCHEDULING_FLAG_SEQUENTIAL), "GST_SCHEDULING_FLAG_SEQUENTIAL",
"sequential"},
+ {C_FLAGS (GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED),
+ "GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED", "bandwidth-limited"},
{0, NULL, NULL}
};
diff --git a/win32/common/gstenumtypes.h b/win32/common/gstenumtypes.h
index c15314f..d015fa0 100644
--- a/win32/common/gstenumtypes.h
+++ b/win32/common/gstenumtypes.h
@@ -81,6 +81,8 @@ GType gst_event_type_get_type (void);
#define GST_TYPE_EVENT_TYPE (gst_event_type_get_type())
GType gst_qos_type_get_type (void);
#define GST_TYPE_QOS_TYPE (gst_qos_type_get_type())
+GType gst_stream_flags_get_type (void);
+#define GST_TYPE_STREAM_FLAGS (gst_stream_flags_get_type())
/* enumerations from "gstformat.h" */
GType gst_format_get_type (void);
diff --git a/win32/common/gstversion.h b/win32/common/gstversion.h
index 9090e55..81a4eab 100644
--- a/win32/common/gstversion.h
+++ b/win32/common/gstversion.h
@@ -16,8 +16,8 @@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstversion
@@ -51,13 +51,13 @@ G_BEGIN_DECLS
*
* The minor version of GStreamer at compile time:
*/
-#define GST_VERSION_MINOR (0)
+#define GST_VERSION_MINOR (1)
/**
* GST_VERSION_MICRO:
*
* The micro version of GStreamer at compile time:
*/
-#define GST_VERSION_MICRO (8)
+#define GST_VERSION_MICRO (2)
/**
* GST_VERSION_NANO:
*
diff --git a/win32/common/libgstbase.def b/win32/common/libgstbase.def
index bc52be4..7044ad5 100644
--- a/win32/common/libgstbase.def
+++ b/win32/common/libgstbase.def
@@ -10,7 +10,9 @@ EXPORTS
gst_adapter_masked_scan_uint32_peek
gst_adapter_new
gst_adapter_prev_dts
+ gst_adapter_prev_dts_at_offset
gst_adapter_prev_pts
+ gst_adapter_prev_pts_at_offset
gst_adapter_push
gst_adapter_take
gst_adapter_take_buffer
@@ -29,15 +31,18 @@ EXPORTS
gst_base_parse_set_duration
gst_base_parse_set_frame_rate
gst_base_parse_set_has_timing_info
+ gst_base_parse_set_infer_ts
gst_base_parse_set_latency
gst_base_parse_set_min_frame_size
gst_base_parse_set_passthrough
gst_base_parse_set_pts_interpolation
gst_base_parse_set_syncable
+ gst_base_parse_set_ts_at_offset
gst_base_sink_do_preroll
gst_base_sink_get_blocksize
gst_base_sink_get_last_sample
gst_base_sink_get_latency
+ gst_base_sink_get_max_bitrate
gst_base_sink_get_max_lateness
gst_base_sink_get_render_delay
gst_base_sink_get_sync
@@ -51,6 +56,7 @@ EXPORTS
gst_base_sink_set_async_enabled
gst_base_sink_set_blocksize
gst_base_sink_set_last_sample_enabled
+ gst_base_sink_set_max_bitrate
gst_base_sink_set_max_lateness
gst_base_sink_set_qos_enabled
gst_base_sink_set_render_delay
@@ -238,7 +244,28 @@ EXPORTS
gst_collect_pads_start
gst_collect_pads_stop
gst_collect_pads_take_buffer
+ gst_data_queue_drop_head
+ gst_data_queue_flush
+ gst_data_queue_get_level
+ gst_data_queue_get_type
+ gst_data_queue_is_empty
+ gst_data_queue_is_full
+ gst_data_queue_limits_changed
+ gst_data_queue_new
+ gst_data_queue_peek
+ gst_data_queue_pop
+ gst_data_queue_push
+ gst_data_queue_set_flushing
gst_push_src_get_type
+ gst_queue_array_drop_element
+ gst_queue_array_find
+ gst_queue_array_free
+ gst_queue_array_get_length
+ gst_queue_array_is_empty
+ gst_queue_array_new
+ gst_queue_array_peek_head
+ gst_queue_array_pop_head
+ gst_queue_array_push_tail
gst_type_find_helper
gst_type_find_helper_for_buffer
gst_type_find_helper_for_data
diff --git a/win32/common/libgstreamer.def b/win32/common/libgstreamer.def
index 15eac39..4f89ad1 100644
--- a/win32/common/libgstreamer.def
+++ b/win32/common/libgstreamer.def
@@ -5,6 +5,7 @@ EXPORTS
GST_CAT_CALL_TRACE DATA
GST_CAT_CAPS DATA
GST_CAT_CLOCK DATA
+ GST_CAT_CONTEXT DATA
GST_CAT_DEFAULT DATA
GST_CAT_ELEMENT_PADS DATA
GST_CAT_ERROR_SYSTEM DATA
@@ -33,6 +34,9 @@ EXPORTS
_gst_buffer_list_type DATA
_gst_buffer_type DATA
_gst_caps_any DATA
+ _gst_caps_features_any DATA
+ _gst_caps_features_memory_system_memory DATA
+ _gst_caps_features_type DATA
_gst_caps_none DATA
_gst_caps_type DATA
_gst_debug_category_new
@@ -62,6 +66,7 @@ EXPORTS
gst_allocator_get_type
gst_allocator_register
gst_allocator_set_default
+ gst_allocator_sysmem_get_type
gst_atomic_queue_get_type
gst_atomic_queue_length
gst_atomic_queue_new
@@ -97,11 +102,13 @@ EXPORTS
gst_buffer_copy_into
gst_buffer_copy_region
gst_buffer_extract
+ gst_buffer_extract_dup
gst_buffer_fill
gst_buffer_find_memory
gst_buffer_flags_get_type
gst_buffer_foreach_meta
gst_buffer_get_all_memory
+ gst_buffer_get_max_memory
gst_buffer_get_memory
gst_buffer_get_memory_range
gst_buffer_get_meta
@@ -187,11 +194,36 @@ EXPORTS
gst_bus_timed_pop_filtered
gst_caps_append
gst_caps_append_structure
+ gst_caps_append_structure_full
gst_caps_can_intersect
gst_caps_copy_nth
+ gst_caps_features_add
+ gst_caps_features_add_id
+ gst_caps_features_contains
+ gst_caps_features_contains_id
+ gst_caps_features_copy
+ gst_caps_features_free
+ gst_caps_features_from_string
+ gst_caps_features_get_nth
+ gst_caps_features_get_nth_id
+ gst_caps_features_get_size
+ gst_caps_features_get_type
+ gst_caps_features_is_any
+ gst_caps_features_is_equal
+ gst_caps_features_new
+ gst_caps_features_new_any
+ gst_caps_features_new_empty
+ gst_caps_features_new_id
+ gst_caps_features_new_id_valist
+ gst_caps_features_new_valist
+ gst_caps_features_remove
+ gst_caps_features_remove_id
+ gst_caps_features_set_parent_refcount
+ gst_caps_features_to_string
gst_caps_fixate
gst_caps_flags_get_type
gst_caps_from_string
+ gst_caps_get_features
gst_caps_get_size
gst_caps_get_structure
gst_caps_get_type
@@ -207,8 +239,10 @@ EXPORTS
gst_caps_is_strictly_equal
gst_caps_is_subset
gst_caps_is_subset_structure
+ gst_caps_is_subset_structure_full
gst_caps_merge
gst_caps_merge_structure
+ gst_caps_merge_structure_full
gst_caps_new_any
gst_caps_new_empty
gst_caps_new_empty_simple
@@ -217,6 +251,7 @@ EXPORTS
gst_caps_new_simple
gst_caps_normalize
gst_caps_remove_structure
+ gst_caps_set_features
gst_caps_set_simple
gst_caps_set_simple_valist
gst_caps_set_value
@@ -267,6 +302,10 @@ EXPORTS
gst_clock_single_shot_id_reinit
gst_clock_type_get_type
gst_clock_unadjust_unlocked
+ gst_context_get_structure
+ gst_context_get_type
+ gst_context_new
+ gst_context_writable_structure
gst_control_binding_get_g_value_array
gst_control_binding_get_type
gst_control_binding_get_value
@@ -339,8 +378,8 @@ EXPORTS
gst_debug_set_colored
gst_debug_set_default_threshold
gst_debug_set_threshold_for_name
+ gst_debug_set_threshold_from_string
gst_debug_unset_threshold_for_name
- gst_default_allocator_get_type
gst_deinit
gst_double_range_get_type
gst_element_abort_state
@@ -381,6 +420,7 @@ EXPORTS
gst_element_get_clock
gst_element_get_compatible_pad
gst_element_get_compatible_pad_template
+ gst_element_get_context
gst_element_get_factory
gst_element_get_request_pad
gst_element_get_start_time
@@ -417,6 +457,7 @@ EXPORTS
gst_element_set_base_time
gst_element_set_bus
gst_element_set_clock
+ gst_element_set_context
gst_element_set_locked_state
gst_element_set_start_time
gst_element_set_state
@@ -434,6 +475,7 @@ EXPORTS
gst_event_has_name
gst_event_new_buffer_size
gst_event_new_caps
+ gst_event_new_context
gst_event_new_custom
gst_event_new_eos
gst_event_new_flush_start
@@ -454,6 +496,7 @@ EXPORTS
gst_event_new_toc_select
gst_event_parse_buffer_size
gst_event_parse_caps
+ gst_event_parse_context
gst_event_parse_flush_stop
gst_event_parse_gap
gst_event_parse_latency
@@ -463,11 +506,13 @@ EXPORTS
gst_event_parse_segment_done
gst_event_parse_sink_message
gst_event_parse_step
+ gst_event_parse_stream_flags
gst_event_parse_stream_start
gst_event_parse_tag
gst_event_parse_toc
gst_event_parse_toc_select
gst_event_set_seqnum
+ gst_event_set_stream_flags
gst_event_type_flags_get_type
gst_event_type_get_flags
gst_event_type_get_name
@@ -488,6 +533,7 @@ EXPORTS
gst_formats_contains
gst_fraction_get_type
gst_fraction_range_get_type
+ gst_g_thread_get_type
gst_ghost_pad_activate_mode_default
gst_ghost_pad_construct
gst_ghost_pad_get_target
@@ -503,6 +549,7 @@ EXPORTS
gst_init_get_option_group
gst_int64_range_get_type
gst_int_range_get_type
+ gst_is_caps_features
gst_is_initialized
gst_iterator_copy
gst_iterator_filter
@@ -530,12 +577,15 @@ EXPORTS
gst_memory_get_type
gst_memory_init
gst_memory_is_span
+ gst_memory_is_type
gst_memory_make_mapped
gst_memory_map
gst_memory_new_wrapped
gst_memory_resize
gst_memory_share
gst_memory_unmap
+ gst_message_add_context_type
+ gst_message_get_n_context_types
gst_message_get_seqnum
gst_message_get_stream_status_object
gst_message_get_structure
@@ -552,8 +602,10 @@ EXPORTS
gst_message_new_element
gst_message_new_eos
gst_message_new_error
+ gst_message_new_have_context
gst_message_new_info
gst_message_new_latency
+ gst_message_new_need_context
gst_message_new_new_clock
gst_message_new_progress
gst_message_new_qos
@@ -577,8 +629,10 @@ EXPORTS
gst_message_parse_clock_lost
gst_message_parse_clock_provide
gst_message_parse_error
+ gst_message_parse_have_context
gst_message_parse_info
gst_message_parse_new_clock
+ gst_message_parse_nth_context_type
gst_message_parse_progress
gst_message_parse_qos
gst_message_parse_qos_stats
@@ -678,6 +732,7 @@ EXPORTS
gst_pad_get_peer
gst_pad_get_range
gst_pad_get_sticky_event
+ gst_pad_get_stream_id
gst_pad_get_type
gst_pad_has_current_caps
gst_pad_is_active
@@ -742,6 +797,7 @@ EXPORTS
gst_pad_start_task
gst_pad_sticky_events_foreach
gst_pad_stop_task
+ gst_pad_store_sticky_event
gst_pad_template_flags_get_type
gst_pad_template_get_caps
gst_pad_template_get_type
@@ -783,6 +839,7 @@ EXPORTS
gst_plugin_error_quark
gst_plugin_feature_check_version
gst_plugin_feature_get_plugin
+ gst_plugin_feature_get_plugin_name
gst_plugin_feature_get_rank
gst_plugin_feature_get_type
gst_plugin_feature_list_copy
@@ -854,12 +911,14 @@ EXPORTS
gst_query_add_allocation_param
gst_query_add_allocation_pool
gst_query_add_buffering_range
+ gst_query_add_context_type
gst_query_add_scheduling_mode
gst_query_find_allocation_meta
gst_query_get_n_allocation_metas
gst_query_get_n_allocation_params
gst_query_get_n_allocation_pools
gst_query_get_n_buffering_ranges
+ gst_query_get_n_context_types
gst_query_get_n_scheduling_modes
gst_query_get_structure
gst_query_get_type
@@ -869,6 +928,7 @@ EXPORTS
gst_query_new_allocation
gst_query_new_buffering
gst_query_new_caps
+ gst_query_new_context
gst_query_new_convert
gst_query_new_custom
gst_query_new_drain
@@ -888,6 +948,7 @@ EXPORTS
gst_query_parse_buffering_stats
gst_query_parse_caps
gst_query_parse_caps_result
+ gst_query_parse_context
gst_query_parse_convert
gst_query_parse_duration
gst_query_parse_latency
@@ -896,6 +957,7 @@ EXPORTS
gst_query_parse_nth_allocation_param
gst_query_parse_nth_allocation_pool
gst_query_parse_nth_buffering_range
+ gst_query_parse_nth_context_type
gst_query_parse_nth_format
gst_query_parse_nth_scheduling_mode
gst_query_parse_position
@@ -904,11 +966,14 @@ EXPORTS
gst_query_parse_segment
gst_query_parse_uri
gst_query_remove_nth_allocation_meta
+ gst_query_remove_nth_allocation_param
+ gst_query_remove_nth_allocation_pool
gst_query_set_accept_caps_result
gst_query_set_buffering_percent
gst_query_set_buffering_range
gst_query_set_buffering_stats
gst_query_set_caps_result
+ gst_query_set_context
gst_query_set_convert
gst_query_set_duration
gst_query_set_formats
@@ -986,6 +1051,7 @@ EXPORTS
gst_static_pad_template_get_type
gst_stream_error_get_type
gst_stream_error_quark
+ gst_stream_flags_get_type
gst_stream_status_type_get_type
gst_structure_can_intersect
gst_structure_change_type_get_type
@@ -1036,6 +1102,7 @@ EXPORTS
gst_structure_n_fields
gst_structure_new
gst_structure_new_empty
+ gst_structure_new_from_string
gst_structure_new_id
gst_structure_new_id_empty
gst_structure_new_valist
@@ -1230,6 +1297,7 @@ EXPORTS
gst_util_uint64_scale_int_ceil
gst_util_uint64_scale_int_round
gst_util_uint64_scale_round
+ gst_value_array_append_and_take_value
gst_value_array_append_value
gst_value_array_get_size
gst_value_array_get_type
@@ -1246,6 +1314,7 @@ EXPORTS
gst_value_fraction_subtract
gst_value_get_bitmask
gst_value_get_caps
+ gst_value_get_caps_features
gst_value_get_double_range_max
gst_value_get_double_range_min
gst_value_get_fraction_denominator
@@ -1263,6 +1332,7 @@ EXPORTS
gst_value_intersect
gst_value_is_fixed
gst_value_is_subset
+ gst_value_list_append_and_take_value
gst_value_list_append_value
gst_value_list_concat
gst_value_list_get_size
@@ -1274,6 +1344,7 @@ EXPORTS
gst_value_serialize
gst_value_set_bitmask
gst_value_set_caps
+ gst_value_set_caps_features
gst_value_set_double_range
gst_value_set_fraction
gst_value_set_fraction_range