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
Wim Taymans
e79a294816
tests: add static caps example
...
Add example of how to define a static caps.
2017-02-24 18:46:30 +01:00
Wim Taymans
825cbbbdd6
v4l2: fix negotiation
2017-02-24 17:15:29 +01:00
Wim Taymans
7a66af71ca
pinosformat: rewrite format conversion
2017-02-24 16:27:36 +01:00
Wim Taymans
47714886c0
prop-builder: remove propbuilder
...
Replaced by more flexible POD
2017-02-24 09:53:40 +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
Wim Taymans
7fc73953cd
Add POD helper objects
...
POD (plain old data) objects are similar to LV2 Atoms and allows storage
and construction of datastructures in memory or on the stack. They can
be copied with a simple memcpy.
The idea is to use this to construct the network messages and to replace
the structures used for describing formats and properties.
2017-02-22 13:12:32 +01:00
Wim Taymans
922997175d
add new header
2017-02-21 15:02:54 +01:00
Wim Taymans
808d6b6fca
prop-builder: add helper to make properties and formats
...
Use this to make a format filter. Use the filter to negotiate
a format automatically.
2017-02-20 17:22:46 +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