Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Destroying a resource informs the client to destroy the proxy.
Destroying an object destroys all the bound resources on it.
|
|
|
|
|
|
Make GET_REGISTRY method to create a registry resource, send global
added and removed to this resource.
Use map for storing proxies and resources.
|
|
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...
|
|
When searching for an unused port, look for an empty links list.
|
|
Improve pinossink
|
|
|
|
Track all async changes and only perform free of resources when all
previous async operations completed.
|
|
|
|
Remove more glib stuff
|
|
Remove DBus and work towards something like wayland.
Remove more glib stuff from the client code
|
|
Implement the main-loop with pinos_loop except for the parts that still
need to go through glib mainloop.
Start working on native protocol
|
|
Reuse object ids by using a mapper
Simpify the uri struct a little.
|
|
|
|
|
|
Move suspend-on-idle code from the node to a module
Add some more SpaLoop API
|
|
This allows us to use the dbus name to connect again
|
|
|
|
|
|
|
|
Make it possible to add options for modules in pinos.conf.in.
Only a few options for videotestsrc is supported at the moment.
|
|
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
|
|
|
|
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
|
|
|
|
Remove hastables, use lists
Remove obsolete ringbuffer
some small cleanups
|
|
|
|
Work on cleanup
|
|
|
|
Change object model
|
|
|
|
Hide GDBus from RTKit API
Remove register node from dbus API
Add signal
Add object and register objects in the registry
Add some preregistered types to the registry
Let the daemon listen to the registry
|
|
We can optimize the transport some more if we allow the host to
configure the area used for transfering buffers. We can then also place
the current status in the area and avoid calling get_status(). We can
also allocate this area in shared memory, avoiding a memcpy in the
client-node.
|
|
Use a more simple tranport protocol for the realtime data. Use a piece
of shared memory and a socket where we use a 1byte read/write to trigger
remote actions. Also use a ringbuffer for events.
|
|
Move array and map to pinos
Move more things to spa lib
ControlCmd -> Message
Make pinos log, use for plugins as well
work on ringbuffer in alsa and nodes
work on making registry with all objects
|
|
|
|
Add connection message for PORT_COMMAND
Add rtkit support to ask for realtime priority
work on stream states and improve negotiation
Rework of port linking works, keep separate state for realtime threads
and use message passing to update the state.
Don't try to link nodes that are removed.
Open the device in the ALSA monitor to detect source or sink
Implement send_command as async methods on the plugins, use async
replies to sync start and stop.
Work on alsa sink.
Implement async PAUSE/START on v4l2 src. move the STREAMON/OFF calls to
the mainloop because they have high latency, add the poll descriptors
from the data loop.
|
|
Simplify the ringbuffer code by using ideas from the portaudio ringbuffer
implementation.
|
|
Keep lock while doing recycle_buffer
Pass context to main loop
Recycle WorkItems in a free list
Push and pull from the node data loop
Do async start/pause in alsa
Add alsa fds right after open.
|
|
Keep a separate array with the links that we only access and update from
the data-thread.
|
|
|
|
|
|
Remove unused events, drained and marker can be done with
ASYNC_COMPLETED messages
Handle result of idle callback to disable the poll item
Identify poll items with a unique id.
Remove set_state vfunc
push_event -> send_command, commands are to do something, events are the
result of something.
Add poll item in v4l2 as soon as we have the fd but disable the item
until streaming starts.
|
|
|
|
Make a main-loop object with associated helper functions to handle async
methods.
rtloop -> data_loop
Handle async results a lot better.
Remove REMOVE_MEM command. We don't need it.
Handle stream memory updates better.
|
|
spa_serialize -> pinos_serialize
Improve PinosPort, move links to the object and make it part of
PinosNode
Work on improving signals to react to changes in the graph
Error when a client-node becomes unlinked, like when removing a camera.
|
|
|
|
|