Wim Taymans
e579efea10
loop: don't destroy the event twice
2017-01-20 09:17:55 +01:00
Wim Taymans
fd5f0d96f3
improve states
2017-01-19 20:07:03 +01:00
Wim Taymans
e92e1acec4
Improve logging
2017-01-19 18:53:45 +01:00
Wim Taymans
0398f997d7
cleanups
...
Update some docs
Remove special structs for some events
Remove some unused flags
Update some plugins
2017-01-19 18:10:00 +01:00
Wim Taymans
7a9dc2c4fd
optimize data transport
...
Remove queue and ringbuffer between nodes. transfer the buffer id
directly between the io areas when possible.
Let only pinos send push or pull requests for now.
Allow polling multiple fds, like how alsa wants it
Remove port_id from events.
2017-01-18 18:29:15 +01:00
Wim Taymans
c8648eaf59
only send events
...
Only send events between client and server and use the socket simply
to wake up the other end.
2017-01-17 15:02:06 +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
fb69758251
Do cleanup of queues
...
Wait for async state changes to complete
2017-01-12 20:02:58 +01:00
Wim Taymans
474981ddda
Refactor the work queue
...
Make a separate work queue to track async operations. Keep separate
work queues for links and nodes. This avoids lockups when some async
operation take a long time and the work queue has SYNC_WAIT operations.
2017-01-12 16:48:17 +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
a8964ca657
fix device provider
2016-12-22 17:08:19 +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
1b66bbcffd
Remove old makefiles
2016-12-21 17:21:25 +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
2f18af1fb2
plugins: small fixes
2016-12-20 19:13:04 +01:00
Wim Taymans
618f5ec2b2
thread-mainloop: use recursive mutex
2016-12-20 18:37:06 +01:00
Wim Taymans
f5dbdbc0df
Improve process_output
...
process_output is now to finish processing of the output in async nodes,
which means we need to fill the io area before sending the HAVE_OUTPUT
event. This simplifies some things and improves performance because we
don't need to deal with queues and additional checks.
2016-12-20 18:10:50 +01:00
Wim Taymans
5b0b9c43d0
Improve upload
...
Only send a buffer when we have received a NEED_DATA message.
Add a signal to pulla buffer from the sink. Restructure the sink to use
a queue like the source and only push a buffer when we can.
Improve SpaData. Offset and size should be between 0 and maxsize, make
sure we clamp correctly when needed.
node_process_output completes the processing of the output after
receiving HAVE_OUTPUT for async elements. It instructs the node that
it now can produce more output.
2016-12-20 16:51:57 +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
0d0385b881
Rework buffer memory layout
...
Move offset, size and stride to separate chunk structure that we
can keep in shared memory.
Add shared metadata type to hold the memory block holding the
metadata.
2016-12-15 14:57:34 +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
3dada4731c
rename signal -> sig
...
Meson puts the directory of the source file in the include path and then
it picks up our signal.h instead of the system one...
2016-11-28 16:24:10 +01:00
David Svensson Fors
497febf2f1
node: check links list in get_free_port()
...
When searching for an unused port, look for an empty links list.
2016-11-28 15:46:09 +01:00
Wim Taymans
046c2b1cae
remove last glib bits
...
Improve pinossink
2016-11-26 19:18:51 +01:00
Wim Taymans
ee67929a7c
cleanups
2016-11-25 13:38:49 +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
7ecfc28d0f
use plain libdbus instead of GDBus
2016-11-24 18:17:29 +01:00
Wim Taymans
4e94743906
Use pinos loop for mainloop
...
Remove more glib stuff
2016-11-24 17:40:26 +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
f42268b9a5
loop: build loop with SPA interface
2016-11-21 15:55:30 +01:00
Wim Taymans
80deb6b387
node: remove unused code
2016-11-21 12:59:47 +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
d250ed42e6
Use global id in dbus name
...
This allows us to use the dbus name to connect again
2016-11-21 10:03:31 +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
David Svensson Fors
ddcbca3c4b
video-raw: set default framerate to 25/1
2016-11-21 09:03:22 +01:00
Jonathan Karlsson
7c127f91a5
Pinos modules: Parse options with getopt
...
Make it possible to add options for modules in pinos.conf.in.
Only a few options for videotestsrc is supported at the moment.
2016-11-21 08:58:54 +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
0d2fa5ebc8
cleanups
2016-11-16 17:21:59 +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
b9e2b1c0e3
Remove glib from config loading
2016-11-16 09:43:51 +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