Wim Taymans
25b7ede0bc
uri -> type
...
Clean up some more types.
2017-03-24 13:11:57 +01:00
Wim Taymans
5825c62d6d
types: more work on types
2017-03-24 11:40:58 +01:00
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
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
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
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
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
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
7a7ede96e5
Format: implement intersection and fixate
2017-02-28 15:09:34 +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
Wim Taymans
7a66af71ca
pinosformat: rewrite format conversion
2017-02-24 16:27:36 +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
c433df9d32
context: connect to a specified socket
...
Support in the context API for connecting to a Pinos instance
listening at a specified socket - not only to the one pointed out by
the environment variables XDG_RUNTIME_DIR and PINOS_CORE.
2017-02-15 11:57:40 +01:00
David Svensson Fors
dac9755765
stream: free formats and transport in destroy()
2017-02-15 11:56:45 +01:00
David Svensson Fors
dda5a22fcd
context: free objects map in destroy()
2017-02-15 11:56:17 +01:00
Wim Taymans
df86fcec10
Improve negotiation
...
Try to link ports based on compatible formats
Add methods to filter formats.
2017-02-10 10:17:07 +01:00
Wim Taymans
1370fafd5b
Fix renegotiation
...
When we are idle and are asked to negotiate, suspend first so that we
can do full negotiation again instead of using the old format.
Stability fixes.
2017-02-02 17:48:39 +01:00