gstreamer/tests
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
..
benchmarks Run gst-indent through the files 2018-11-28 05:58:53 +02:00
check buffer: store sequence number for metas 2019-02-12 17:53:08 +00:00
examples examples: Remove dead assignments 2018-12-15 11:08:09 +01:00
misc tests: netclock-replay: fix build with new api export/import 2018-09-24 08:39:39 +01:00
.gitignore Add new streamiddemux binaries to .gitignore 2015-03-14 16:05:57 +00:00
Makefile.am tests: don't build misc subdir if both examples and benchmarks have been disabled 2016-09-02 23:22:17 +01:00
meson.build meson: Always use a dependency object for dependencies 2018-09-05 16:33:43 +05:30
README README: update after removal of "old" dir. 2010-07-05 12:26:42 +03:00

This directory contains regression tests, functionality tests, examples,
benchmarks, ...

benchmarks/
   benchmarks to profile pieces of GStreamer
check/
   unit tests using the check library, non-interactive
examples/
   small examples demonstrating the use of various features
misc/
   prototypes, random bits, ...