Commit graph

16 commits

Author SHA1 Message Date
Wim Taymans
fca3e1d85d Remove dynamic types
Do not use dynamic types anymore. The reason is that it's difficult:

- to maintain a shared type database over a network.
- the extra overhead when translating between processes and for
  maintaining the translation tables.
- race conditions in translating in RT-threads, this is a problem
  because we want to make event streams.

We now have simple enums with types and extension points for all
types. This is also nicer to use in general.
We don't need the mapper anymore or pass strings around as types.
There is a parallel type info system to get more info about ids and
enums and their hierarchy. It can also be used for debugging.
2018-08-23 17:47:57 +02:00
Wim Taymans
e5e360d5df props: improve property introspection
Make a new PropInfo parameter that allows us to iterate all
properties. Make some new fields to set labels and names for
properties. We will be able to add more things to describe the
properties this way.
Use the Props param to simply query or set properties.
We can now make int enum properties and describe all possible
values with labels, we don't need to register types anymore.
This then makes it possible to enumerate the v4l2 controls and make
them available as control params.
2017-12-15 16:30:56 +01:00
Wim Taymans
6fb0f580ea Use errno for result errors
Make new enumeration for data transport status and use errno
style error numbers for errors.
2017-11-13 09:41:41 +01:00
Wim Taymans
0f6b3a7cab indent 2017-05-26 09:09:31 +02:00
Wim Taymans
11f23a3ffa spa: don't use typedef for struct and enum 2017-05-25 13:28:15 +02:00
Linus Svensson
cba22d0e39 spa/plugins/videotestsrc: Draw correctly for all resolutions
Use an incremented variable to support all resolutions. If the width of
the pludge part of the test image was not dividable by three, a
rounding error made the resulting pattern containing noise.
2017-05-16 09:14:36 +02:00
Wim Taymans
5825c62d6d types: more work on types 2017-03-24 11:40:58 +01:00
Wim Taymans
e28b5f91b8 props: make properties dynamic keys and values 2017-03-23 12:38:00 +01:00
Wim Taymans
ff62c1b9ce format: make formats as uri 2017-03-21 13:36:22 +01:00
Wim Taymans
3f5a3e215b format: make media types and properties dynamic
Use URI properties to dynamically register the media types/subtypes and
property names. Add some helpers to set up the mappings.
2017-03-21 11:28:23 +01:00
Wim Taymans
8a6ce3b179 Make AllocParams into POD objects
Make allocparams into pod objects. This makes it easy to serialize,
copy, create and intersect them.
Add convenience macros for properties
Add helper function to collect object properties.
2017-03-17 11:58:09 +01:00
Wim Taymans
dbae2e3f96 rework props with pod 2017-02-27 21:25:33 +01:00
Wim Taymans
16b62de53a Rework formats
Use a POD for the format body. This allows us to more easily build
and copy the formats.
Remove obsolete code to make video and audio formats.
Use SpaVideo/AudioInfo to keep track of formats. Make functions to parse
the format into the structures.
Update plugins
2017-02-24 09:28:18 +01:00
David Svensson Fors
bc4893057b videotestsrc: add pattern property and snow pattern 2016-11-21 09:06:25 +01:00
David Svensson Fors
5c56fbdfc2 videotestsrc: add support for UYVY 2016-11-21 09:05:42 +01:00
Wim Taymans
4b83d6cfc8 videotestsrc: remove threads
Remove the threads from the element and use timerfd to schedule timeouts
Propagate live flag between node links
2016-09-19 19:17:59 +02:00