Commit graph

212 commits

Author SHA1 Message Date
Wim Taymans
6c62146031 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:59:10 +02:00
Sebastian Dröge
7477b25df5 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 18:15:52 +02:00
Sebastian Dröge
171c79c9a7 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-13 10:46:37 +01:00
Tim-Philipp Müller
22036ef1c4 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:55:26 +00:00
Wim Taymans
5f2fbb6370 add debug category
Adding a debug category is nicer than logging to the default category
2012-12-14 11:09:30 +01:00
Tim-Philipp Müller
666c8c11c6 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:44:48 +00:00
Tim-Philipp Müller
c2175db889 sample: add serialisation/deserialisation functions for GstSample
Since these things are inside taglists now, it would be good to be
able to print them and deserialise them.

https://bugzilla.gnome.org/show_bug.cgi?id=681322
2012-09-16 23:20:46 +01:00
Tim-Philipp Müller
ffdefd7720 value: add GstTagList serialisation/deserialisation
So we can serialise/deserialise taglists inside structures,
which used to work automagically before because GstTagList
was just a typedef to GstStructure (same for the GType),
but now that it's a separate GType we need to register
explicit functions for this.

Helps with GDP stuff in pipelines/streamheader tests.
2012-07-20 09:39:53 +01:00
Edward Hervey
634cb80c8e structure: Demote WARNING to DEBUG
It is not an issue to get fields that don't exist, calling code should
handle that.
2012-07-11 10:24:51 +02:00
Edward Hervey
d3ffa82639 Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
Sebastian Rasmussen
aab5b579a8 gststructure: Set lcopy string const exactly as glib's macro
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679534
2012-07-07 13:32:41 +01:00
Edward Hervey
d2627a158e structure: Demote WARNING to INFO
It is common to use gst_structure_get() to know if a field is present
or not.
2012-07-06 12:48:44 +02:00
Anton Belka
0bdd1224d3 docs: fix gst_structure_to_string() docs 2012-05-17 12:01:51 +02:00
Wim Taymans
ce67b0e539 docs: update more documentation 2012-03-29 13:34:50 +02:00
Wim Taymans
89d0316895 structure: add allocation debug 2012-03-11 17:22:01 +01:00
Tim-Philipp Müller
ebe525be4c structure: print a g_warning() if someone tries to construct 0.10-style raw audio/video caps 2012-02-29 12:41:44 +00:00
Edward Hervey
479b7ff5f1 gststructure: Set "transfer none" to return values that shouldn't be freed 2012-01-26 18:54:50 +01:00
Vincent Penquerc'h
39533f4364 gstvalue: add stepped ranges
int and int64 ranges can now have an optional step (defaulting to 1).
Members of the range are those values within the min and max bounds
which are a multiple of this step.

https://bugzilla.gnome.org/show_bug.cgi?id=665294
2012-01-24 12:11:44 +00:00
Tim-Philipp Müller
66d19b65fb Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	tools/gst-inspect.c
2012-01-13 00:22:03 +00:00
Tim-Philipp Müller
c721d53773 Remove GST_TYPE_DATE, our own GDate type
Which we had to add because GLib didn't have it
back in the day. Port everything to plain old
G_TYPE_DATE, which is also a boxed type. Ideally
we'd just use GDateTime for everything, but it
doesn't support not setting some of the fields
unfortuntely (which would be very useful for
tag handling in general, if we could express
2012-01 for example).

https://bugzilla.gnome.org/show_bug.cgi?id=666351
2012-01-12 20:50:53 +00:00
Vincent Penquerc'h
98c99630ad gststructure: clarify _get docs about the returned reference
https://bugzilla.gnome.org/show_bug.cgi?id=667689
2012-01-11 12:23:25 +00:00
Sebastian Dröge
33f53d46ab structure: Add "bitmask" as alias for (GstBitmask) when (de-)serializing values 2012-01-05 10:24:14 +01:00
Wim Taymans
9c0d8ca718 Merge branch 'master' into 0.11
Conflicts:
	gst/gstelement.h
	gst/gstghostpad.c
	gst/gstminiobject.c
2011-11-08 12:54:15 +01:00
Tim-Philipp Müller
16dcd5e958 docs: fix Since: markers for API added after 0.10.35 2011-11-08 00:32:36 +00:00
Wim Taymans
c9a4037805 Merge branch 'master' into 0.11
Conflicts:
	gst/gstvalue.c
2011-11-07 17:17:39 +01:00
Vincent Penquerc'h
b37d06aed8 gstvalue: quicker version of intersection when we do not need the result
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:19 +00:00
Vincent Penquerc'h
d9901a6288 gststructure: simplify return statement in gst_structure_can_intersect
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:14 +00:00
Vincent Penquerc'h
afc80c10d1 gststructure: early out when we know a value cannot be a subset
If two values can be ordered, but are unequal, they are
necessarily distinct, thus one cannot be a subset of the other.

https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:17:04 +00:00
Vincent Penquerc'h
29c97fe780 gstvalue: quicker test for substraction emptiness
When we do not care about the actual resulting set,
but only whether it is empty of not, we can skip a fair bit
of GValue juggling.

Add a function that does so, since we cannot just pass NULL
to the existing API as it may be part of the API contract.

https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:16:52 +00:00
Vincent Penquerc'h
7090257a83 gststructure: rejig test ordering for speed
https://bugzilla.gnome.org/show_bug.cgi?id=662777
2011-11-07 15:16:26 +00:00
Wim Taymans
e4725d9df2 structure: cleanup API
gst_structure_empty_new() -> gst_structure_new_empty()
  gst_structure_id_empty_new() -> gst_structure_new_id_empty()
  gst_structure_id_new() -> gst_structure_new_id()
2011-11-02 08:59:44 +01:00
Tim-Philipp Müller
002446820e Merge remote-tracking branch 'origin/master' into 0.11 2011-10-30 09:31:39 +00:00
Tim-Philipp Müller
bc1a37e64f structure: identical structures are definitely equal 2011-10-29 23:52:22 +01:00
Johan Dahlin
22acd34c42 Add gst_structure_get_type
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2011-10-19 10:20:31 +02:00
Wim Taymans
52cb649834 Merge branch 'master' into 0.11 2011-09-26 19:25:22 +02:00
Raimo Järvi
6637d983d3 gst: Fix compiler warnings on 64 bit mingw-w64
Fixes bug #660083.
2011-09-26 12:17:30 +02:00
Sebastian Dröge
43538e2e75 Merge branch 'master' into 0.11
Conflicts:
	docs/design/draft-buffer2.txt
	docs/design/part-TODO.txt
	docs/design/part-block.txt
	docs/design/part-bufferlist.txt
	docs/design/part-caps.txt
	docs/design/part-element-transform.txt
	docs/design/part-events.txt
	docs/design/part-negotiation.txt
	gst/gstcaps.c
	gst/gstevent.h
	gst/gstghostpad.c
	gst/gstinterface.c
	gst/gstpad.c
	gst/gstpad.h
	gst/gstutils.c
	libs/gst/base/gstbasesink.c
	libs/gst/base/gstbasesrc.c
	libs/gst/base/gstbasetransform.c
	libs/gst/base/gsttypefindhelper.c
	plugins/elements/gstcapsfilter.c
	plugins/elements/gsttee.c
	tests/check/generic/sinks.c
	tools/gst-launch.1.in
2011-09-08 14:28:23 +02:00
Piotr Fusik
14f5518f3d docs, gst: typo fixes
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +01:00
Wim Taymans
4145598972 gst: add some _priv prefixes to private methods 2011-08-29 13:27:26 +02:00
Wim Taymans
405a5d2a92 value: remove our FOURCC GType
Remove our custom fourcc GValue.
2011-08-22 12:19:19 +02:00
Wim Taymans
b1573e9865 structure: add method to fixate one field 2011-08-17 17:56:40 +02:00
Wim Taymans
49fc4249e5 caps: add fixate function
Add a fixate function and use it in gstpad.c
2011-08-15 14:40:38 +02:00
Wim Taymans
bd20d2d199 structure: add function to fixate
Add a function to fixate a structure and use it for the default fixate function
in gstpad.c.
2011-08-15 14:32:17 +02:00
Wim Taymans
7b43f02ed3 structure: fix some more 0.11 fixmes
don't allow spaces in structure names and fix unit tests.
2011-06-03 13:25:54 +02:00
Wim Taymans
04323a0bb9 structure: fix a FIXME 2011-06-02 15:38:29 +02:00
Wim Taymans
272b3263aa Merge branch 'master' into 0.11
Conflicts:
	plugins/elements/gstoutputselector.c
2011-06-01 19:47:10 +02:00
Sebastian Dröge
0a80b57d74 value: Consider "1" and "{1}" as equal in gst_value_compare()
Previously this was only done in the is_subset() check but
having it only there brings us into definition-hell where
"1" and "{1}" are subset of each other but not equal.
2011-05-30 11:33:57 +02:00
Sebastian Dröge
58302cedfa Merge branch 'master' into 0.11 2011-05-30 07:41:13 +02:00
Sebastian Dröge
f304196148 caps: Fix subset check for equivalent lists and scalar values
For example "{ 1 }" and "1" are not strictly equal but
both are a subset of each other. Also add a unit test
for this.
2011-05-30 07:38:40 +02:00
Sebastian Dröge
30a7fd7b4d Merge branch 'master' into 0.11 2011-05-27 13:58:26 +02:00