gstreamer/tests/check/gst
Tim-Philipp Müller f62ee97592 buffer: store sequence number for metas
For metas where order might be significant if multiple metas are
attached to the same buffer, so store a sequence number with the
meta when adding it to the buffer. This allows users of the meta
to make sure metas are processed in the right order.

We need a 64-bit integer for the sequence number here in the API,
a 32-bit one might overflow too easily with high packet/buffer
rates. We could do it rtp-seqnum style of course, but that's a
bit of a pain.

We could also make it so that gst_buffer_add_meta() just keeps metas in
order or rely on the order we add the metas in, but that seems too
fragile overall, when buffers (incl. metas) get merged or split.

Also add a compare function for easier sorting.

We store the seqnum in the MetaItem struct here and not in the
GstMeta struct since there's no padding in the GstMeta struct.
We could add a private struct to GstMeta before the start of
GstMeta, but that's what MetaItem effectively is implementation-
wise. We can still change this later if we want, since it's all
private.

Fixes #262
2019-02-12 17:53:08 +00:00
..
.gitignore Skip gst_deinit() if gstreamer was not initialized properly 2017-12-24 16:21:38 +01:00
capslist.h gstvalue: Add GstFlagSet type 2015-05-25 16:23:33 +10:00
gst.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstabi.c tests: abi: fix abi test on 64-bit Windows 2018-01-11 12:04:31 +00:00
gstatomicqueue.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstbin.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstbuffer.c gst/buffer: add a new function for wrapping GBytes 2018-11-06 16:12:42 +11:00
gstbufferlist.c bufferlist: Prevent gst_buffer_list_foreach() from modifying non-writeable lists 2018-07-09 09:45:45 +02:00
gstbufferpool.c test: Pool now try to reset the size 2018-03-21 20:02:50 -04:00
gstbus.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstcaps.c gstcaps: add gst_caps_set_features_simple() 2018-12-11 16:39:30 +01:00
gstcapsfeatures.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstchildproxy.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstclock.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstcontext.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstcontroller.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstcpp.cc tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstdatetime.c tests: gstdatetime: move gst_date_time_new* and time() calls closer 2019-01-11 12:54:54 +02:00
gstdeinit.c Skip gst_deinit() if gstreamer was not initialized properly 2017-12-24 16:21:38 +01:00
gstdevice.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstelement.c element: add gst_element_foreach_*pad() 2017-11-02 15:59:22 +00:00
gstelementfactory.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstevent.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstghostpad.c tests: fix tests when compiling with glib_checks=disabled 2018-11-10 15:37:36 +00:00
gstindex.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstinfo.c tests: info: Fix spurious validation 2019-01-24 10:14:18 +09:00
gstiterator.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstmemory.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstmessage.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstmeta.c buffer: store sequence number for metas 2019-02-12 17:53:08 +00:00
gstminiobject.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstobject.c tests: fix tests when compiling with glib_checks=disabled 2018-11-10 15:37:36 +00:00
gstpad.c pad: Let threads in the test take ownership of a strong reference to their pads 2018-12-14 18:38:21 +02:00
gstparamspecs.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstpipeline.c pipeline: Call gst_task_cleanup_all() before checking reference counts after shutdown 2019-01-03 14:05:31 +00:00
gstplugin.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstpoll.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstpreset.c Source code typo fixes 2018-05-01 11:25:21 +01:00
gstprintf.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstpromise.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstprotection.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstquery.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gstregistry.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstsegment.c segment: Allow stop == -1 in gst_segment_to_running_time() and rate < 0 2018-10-29 04:03:56 +11:00
gststream.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gststructure.c tests: Add more int range fixation tests 2019-01-09 23:03:08 +00:00
gstsystemclock.c tests: systemclock: scale stress test threads according to number of cpus 2018-01-11 18:39:50 +00:00
gsttag.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gsttagsetter.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gsttask.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gsttoc.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gsttocsetter.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gsttracerrecord.c tests: include config.h and don't include unix headers 2017-11-24 13:41:20 +01:00
gsturi.c Run gst-indent through the files 2018-11-28 05:58:53 +02:00
gstutils.c utils: Export linear regression calculation as public function 2016-11-28 14:26:50 +02:00
gstvalue.c tests: fix tests when compiling with glib_checks=disabled 2018-11-10 15:37:36 +00:00
struct_arm.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_hppa.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_i386.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_i386w.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_ppc32.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_ppc64.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_sparc.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_x86_64.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_x86_64w.h tests: abi: fix abi test on 64-bit Windows 2018-01-11 12:04:31 +00:00