Wim Taymans
46928cbc04
alsa: use timerfd
...
Use timerfd instead of period events to wake up alsa.
module-autolink: fix crash
Some cleanups
2017-03-28 19:29:08 +02:00
Wim Taymans
29cb7bf39a
format: improve format parsing
2017-03-24 18:11:11 +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
6f0a12462b
format: add format utils
2017-03-21 11:37:18 +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
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
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
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
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
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
fd54471249
Implement SYNC message
...
A sync message returns a notify-done after all request are finished and
can be used to wait for completion of a bunch of commands. Use it wait
for all proxy BIND requests to complete so that we can look at the
info immediately.
Copy the default value of unset properties.
2017-02-01 17:48:12 +01:00
Wim Taymans
4b55d7c4da
Fix proxy ids
...
The proxy/resource ids are generated by the client and so we need to
used them as index in the client resource map instead of making our own
number.
Fix stream disconnect and client-node destroy
Fix gstreamer device provider
Make all sockets non-blocking to avoid errors with bad clients
Advertise the subsystems we monitor and disable the gstreamer monitors.
Implement core properties updates
Make sure we send REMOVE_ID after we are done with the resource.
2017-01-20 15:53:03 +01:00
Wim Taymans
cae971e106
improve error reporting
...
Move signals from core to the objects themselves
Use per object info to track object signals
Use periods in alsasink and source
2017-01-17 10:27:58 +01:00
Wim Taymans
6d4db64767
Use refcounting for async shutdown
...
fix some memory leaks
2017-01-12 15:13:15 +01:00
Wim Taymans
ee0aa6a2ac
Implement access control
...
Move send and dispatch functions to the implementation. This makes it
possible to place an access check before sending and dispatching.
Add module-access that allows to bind and notify on globals owned by
the client.
2017-01-10 17:26:43 +01:00
Wim Taymans
85d375e4bb
Implement subscription with a signal
...
Use a signal for subscription events
Work on handling OOM errors and other errors.
2016-12-22 16:50:01 +01:00
Wim Taymans
ff5e260d67
Add client info message
...
Update client info and improve core info
2016-12-21 17:19:06 +01:00
Wim Taymans
8ce3f949e2
Add core introspection
...
Use global ids in info messages to refer to global objects.
2016-12-15 20:09:48 +01:00
Wim Taymans
5e8a3afe17
handle cleanup of remote proxies
...
Destroying a resource informs the client to destroy the proxy.
Destroying an object destroys all the bound resources on it.
2016-12-02 17:14:32 +01:00
Wim Taymans
e6f45a7686
Add link introspection
2016-12-02 16:06:16 +01:00
Wim Taymans
b969623ec8
Work on introspection
2016-12-02 13:38:43 +01:00
Wim Taymans
7c29209023
Registry: implement registry
...
Make GET_REGISTRY method to create a registry resource, send global
added and removed to this resource.
Use map for storing proxies and resources.
2016-11-30 19:09:09 +01:00
Wim Taymans
1d61fd3696
Work on async cleanup
...
Track all async changes and only perform free of resources when all
previous async operations completed.
2016-11-25 13:06:23 +01:00
Wim Taymans
27bba6f587
Make native protocol
...
Remove DBus and work towards something like wayland.
Remove more glib stuff from the client code
2016-11-24 17:00:42 +01:00
Wim Taymans
efae64a759
Mainloop: use PinosLoop
...
Implement the main-loop with pinos_loop except for the parts that still
need to go through glib mainloop.
Start working on native protocol
2016-11-22 13:06:22 +01:00
Wim Taymans
e7cae649aa
Use mapper to make object id
...
Reuse object ids by using a mapper
Simpify the uri struct a little.
2016-11-21 16:29:15 +01:00
Wim Taymans
3dcbf4b228
Move suspend on idle in module
...
Move suspend-on-idle code from the node to a module
Add some more SpaLoop API
2016-11-21 12:54:40 +01:00
Wim Taymans
ae93f15965
Work on event loop
...
Make a new epoll based event loop and use it for the data tranport.
Simplify the spa event api a little and rename to SpaLoop
2016-11-18 17:46:01 +01:00
Wim Taymans
dfbfb4c9ee
Rework dbus handling
...
Remove the Daemon object and remove all dbus code from the main
objects. We can use the signals in a separate module to create and
destroy the DBus interfaces.
Move the dbus protocol in a module
Move the autolink policy to a module
2016-11-16 16:57:47 +01:00
Wim Taymans
1a48bccca0
cleanups
...
Remove hastables, use lists
Remove obsolete ringbuffer
some small cleanups
2016-11-15 20:12:31 +01:00
Wim Taymans
b6ad45bb74
track client resources
2016-11-15 17:06:09 +01:00
Wim Taymans
0d21d633c9
WIP object model change
...
Work on cleanup
2016-11-15 13:29:58 +01:00
Wim Taymans
c25ccbb4ba
WIP change object model
2016-11-14 12:42:00 +01:00
Wim Taymans
190f01d88e
WIP
...
Change object model
2016-11-10 15:42:14 +01:00