Commit graph

581 commits

Author SHA1 Message Date
Wim Taymans
acedfe71c0 clean up types 2017-03-23 21:15:52 +01:00
Wim Taymans
d9a51b5d14 mapper: place strings in array
mapper: place strings in a big array.
Make it possible to configure array and map extend size.
2017-03-23 17:57:03 +01:00
Wim Taymans
f613240b66 pod: add support for maybe-NULL types 2017-03-23 17:11:20 +01:00
Wim Taymans
3dba9f0fd4 pod: handle NULL 2017-03-23 16:08:50 +01:00
Wim Taymans
e28b5f91b8 props: make properties dynamic keys and values 2017-03-23 12:38:00 +01:00
Wim Taymans
048a4b81a8 alloc-params: use dynamic types for alloc-params 2017-03-23 10:12:20 +01:00
Wim Taymans
7270986c3a monitor: use dynamic types
Make the monitor item a POD object and use dynamic types.
2017-03-23 08:54:04 +01:00
Wim Taymans
c44a7c9735 command: make commands dynamic
Ensure format object type.
2017-03-22 10:04:24 +01:00
Wim Taymans
4d9f2c5161 event: make events dynamic
Use uri for the events.
2017-03-21 20:39:20 +01:00
Wim Taymans
5bccb1aeea format: various audio format fixes 2017-03-21 17:09:08 +01:00
Wim Taymans
03292fd80f audio: make audio format an uri type 2017-03-21 16:50:44 +01:00
Wim Taymans
ff62c1b9ce format: make formats as uri 2017-03-21 13:36:22 +01:00
Wim Taymans
6f0a12462b format: add format utils 2017-03-21 11:37:18 +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
ee470fc6c6 iter: fix return value 2017-03-20 15:34:56 +01:00
Wim Taymans
08194ec982 pod: optimize a little 2017-03-20 11:26:55 +01:00
Wim Taymans
1588b9df8d serialize: remove serialization
Remove obsolete serialization code. Merge last bits into stream buffer
reconstruction. Use POD copy for the allocation params.
Small cleanups
2017-03-17 17:09:16 +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
b1f7df52e3 format: use padding attribute 2017-03-15 17:09:28 +01:00
Wim Taymans
c951264fff spa: make events and commands as objects
So we can serialize and introspect them more easily
2017-03-15 16:21:05 +01:00
Wim Taymans
4c4c0f2a7f context: use need_flush signal to schedule flush
Use the need_flush signal to signal an event that triggers a flush in
the main thread.
2017-03-15 16:17:24 +01:00
Wim Taymans
3ab17281f6 connection: add need_flush signal
Add a need_flush signal to the connection when something can be flushed.
Add destroy signal to connection
2017-03-15 16:16:16 +01:00
Wim Taymans
c1cf1e6f67 Add update_uris method and event
Add a way to send mapper updates between client and server and a way
to map between client and server types.
2017-03-14 20:18:31 +01:00
Wim Taymans
997aa036ba id-map: add get_size method 2017-03-14 20:17:51 +01:00
Wim Taymans
ff659ad1a7 proxy: use 0 as the core resource
Make it possible to insert and object with a fixed id for the proxy.
Make it possible to choose an id for a resource.
2017-03-14 16:15:09 +01:00
Wim Taymans
3e472c2dae loop: add before_iterate signal
Add before_iterate signal and use it to flush data to clients.
2017-03-14 16:13:29 +01:00
Wim Taymans
9b93fd396a Fix some crashers 2017-03-13 11:43:34 +01:00
David Svensson Fors
6e4a7c779a props: filter range against fixed value or enum
Fix start of iteration when a range is filtered against a fixed value
or an enum.
2017-03-13 11:42:34 +01:00
Wim Taymans
5440435405 connection: guard against fd overflow 2017-03-09 19:42:35 +01:00
Wim Taymans
8fbcb0fef1 remove some unused event and seqnum 2017-03-09 19:21:50 +01:00
Wim Taymans
1e600713a5 core: handle client bind errors
When a client attempts to bind to an unexisting global, don't error
but instead let the client know the object was removed.
2017-03-09 15:52:19 +01:00
Wim Taymans
7ad02f553a improve interfaces
Make an interface structure to hold methods and events.
Move interface setup to protocol
2017-03-09 13:00:56 +01:00
Wim Taymans
905743dac6 Improve padding
Write out 0 while padding to make sure all memory is initialized
Remove the fd from the loop before destroying the node.
2017-03-09 09:48:41 +01:00
Wim Taymans
a1dad30fd1 Use new builder for props and formats 2017-03-07 19:40:51 +01:00
Wim Taymans
78a3cd61b8 pod-builder: make more generic builder
Make a vararg based builder that produces much smaller code.
Catch demarshal errors.
Simplify array handling
2017-03-07 17:23:35 +01:00
Wim Taymans
f92b68c3c3 Use types with known sizes where we can, easier to serialize
Add iterator for POD and use it to implement some demarshalling.
2017-03-07 11:56:43 +01:00
Wim Taymans
23d09d5b60 use format_copy 2017-03-06 15:57:08 +01:00
Wim Taymans
41399b0b25 Rework serialization
Move serialization to the protocol, we now just send blocks of bytes
over the connection and let the protocol deserialize them.
2017-03-06 15:48:04 +01:00
Wim Taymans
842d73ca4b protocol-native: move to separate file
Move protocol-native to separate client and server file
2017-03-03 19:06:54 +01:00
Wim Taymans
b9a0b067be use interfaces in client 2017-03-03 17:43:23 +01:00
Wim Taymans
e0813b679d Use interfaces
Add interfaces and events on objects. Use this to communicate with the
objects and transparently convert/marshall to network in the protocols.
2017-03-02 16:06:45 +01:00
Wim Taymans
9b7debbfd3 pod: fix padding 2017-03-01 20:00:11 +01:00
Wim Taymans
c063e206f4 v4l2: fix encoded formats 2017-03-01 14:59:49 +01:00
Wim Taymans
710a1a41e6 Improve negotiation
Fix selection of the default property value by restricting it to
something in the valid range of the property.
Fix audio/videotestsrc reuse
Fix format enum with filters.
Fix module property configuration
Fix connection refill
2017-03-01 14:07:02 +01:00
Wim Taymans
282995d0d0 intersection improvements
Add uri type
2017-02-28 16:38:23 +01:00
Wim Taymans
7a7ede96e5 Format: implement intersection and fixate 2017-02-28 15:09:34 +01:00
Wim Taymans
9dd826136d update properties 2017-02-28 10:48:53 +01:00
Wim Taymans
dbae2e3f96 rework props with pod 2017-02-27 21:25:33 +01:00
Wim Taymans
f02f93cda9 pod: make format like other PODs 2017-02-27 17:07:48 +01:00
Wim Taymans
e2d930e394 props: move prop builder to pod-builder.h 2017-02-26 19:52:21 +01:00