Wim Taymans
baada0a330
ringbuffer: use gcc atomic operations
...
Remove barrier, use GCC atomic operations for ringbuffer
2017-04-24 13:18:57 +02:00
Wim Taymans
02d4dc0efd
context: add option to disable registry
2017-04-21 16:39:14 +02:00
Wim Taymans
c29fed1ac8
video-play: add example video capture + playback
2017-04-21 12:36:46 +02:00
Wim Taymans
7d1d3bd666
stream: use 2 eventfds for client <-> server signaling
2017-04-21 10:24:42 +02:00
Wim Taymans
f0aafb5b51
alsa: work on ringbuffer data transport
...
Add ringbuffer test
2017-04-20 19:25:14 +02:00
Wim Taymans
0b508db9fc
ringbuffer: simplify the API
...
Use absolute indexes that we let wrap around. We can then easily detect
how much we under of overflowed by using serial number arithmetic.
Remove the Areas, we can trivially compute this ourselves, move the
logic in read/write_data.
2017-04-20 11:25:24 +02:00
Wim Taymans
90ea120d3c
audiomixer: don't mix when no input
...
Give the app a chance to provide some input when there is nothing to mix
anymore in process_output.
alsa: fix buffer size
2017-04-19 13:06:03 +02:00
Wim Taymans
e864836300
fix formats
2017-04-19 12:33:42 +02:00
Wim Taymans
7ef4fea2f2
video-src: make size dynamic
2017-04-19 11:31:51 +02:00
Wim Taymans
50a7240a52
stream: improve states
2017-04-19 11:17:56 +02:00
Wim Taymans
db16de85bb
examples: add video upload example
...
Add an example of a node that makes a video available.
Improve buffer reuse in stream.
Add more video formats
2017-04-18 18:05:45 +02:00
Wim Taymans
c7333c46cc
types: remap ids
...
Remap ids between client and server
2017-04-17 19:36:22 +02:00
Wim Taymans
be528ba7c2
flatpak: add flatpak module
...
Pass LoopUtils to callbacks to make it easier to reschedule timeouts.
2017-04-17 16:32:25 +02:00
Wim Taymans
a5b39019d1
core: add async create_client_node access check
2017-04-13 10:38:54 +02:00
Wim Taymans
4cf59e3953
access: add access checks
...
Rework the access checks.
Add owner field to more objects to do access control checks
Make sure the object global is set in the object before signaling the
new global.
2017-04-12 19:24:48 +02:00
Wim Taymans
d9bb116d27
node: schedule upstream first
...
In pull mode, schedule all upstream nodes first, if any of them
produce output, push it into the current node.
Underrun streams without input on audiomixer, avoids glitch when
starting a new stream.
2017-04-12 11:24:11 +02:00
Wim Taymans
4c7b56020a
audiomixer: improve mixing
...
Remove PortIO flags, we can use the status
Move PortIO to ports
Move transport to client-node
Improve scheduling
2017-04-12 10:40:17 +02:00
Wim Taymans
9bd92b781c
small fixes
2017-04-08 20:59:38 +02:00
Wim Taymans
d3682067fa
node: remove node state
...
Remove the node state. The state of the node is based on the state
of the ports, which can be derived directly from calling the port
methods. Track this state in the Port instead.
Add a mixer module that puts a mixer in from of audio sinks. This allows
multiple clients to play on one sink (still has some bugs). do some
fixes in the mixer and the scheduler to make this work.
2017-04-08 20:33:54 +02:00
Wim Taymans
28389e05f3
alsa: fix device enumeration
2017-04-06 17:32:00 +02:00
Wim Taymans
4808f8f10e
link: fix negotiation
...
Fix renegotiation of idle but not yet suspended nodes.
2017-04-06 16:12:47 +02:00
Wim Taymans
3adbaacec2
alsa: filter formats
2017-04-05 20:46:57 +02:00
Wim Taymans
8594d28f59
alsa: rework monitor
...
Enumerate all playback and capture devices
2017-04-05 18:37:12 +02:00
Wim Taymans
22070ecbf8
improve format filters
2017-04-04 20:25:02 +02:00
Wim Taymans
4bdbb58276
alsa: implement enum_format
2017-04-04 19:44:00 +02:00
Wim Taymans
698bddfbb6
pinossink: fix bufferpool
2017-04-04 17:29:07 +02:00
Wim Taymans
4337a99bb0
alsa: add more formats
2017-04-04 17:25:47 +02:00
Wim Taymans
39c3650b5f
fix media.class
2017-04-04 15:32:11 +02:00
Wim Taymans
8071b76e41
alsa: improve default buffer size
...
Fix sample size
2017-04-04 12:05:35 +02:00
Wim Taymans
70255b5ecd
context: wait for proxy info
...
Only become connected after we have received all proxy bind replies.
2017-04-04 12:04:46 +02:00
Wim Taymans
032cc69f2f
plugins: small cleanups
2017-04-04 09:40:12 +02:00
Wim Taymans
b05d82d514
plugins: use macros for input checks
...
That way we can compile them out if we want
2017-04-04 09:00:49 +02:00
Wim Taymans
32368d741d
audiotestsrc: implement sine wave
...
Fix audiomixer some more
2017-04-03 19:23:53 +02:00
Wim Taymans
5c32690cc8
Add sync and async support in *testsrc
...
Make minumum alsa latency configurable.
2017-04-03 16:54:44 +02:00
Wim Taymans
01c13adab5
improve node io
...
Unify input and output io areas.
Add support for ranges in the io area.
Automatically recycle buffers in the output areas in process_output
Improve the mixer, add use_buffer support, use a queue of input buffers,
fix mixing, add support for ranges.
Fix mixer and v4l2 tests
2017-04-03 14:56:04 +02:00
Wim Taymans
29fbf2e841
props: improve prop flags
...
Only keep the READONLY prop flag.
Work on test-mixer
2017-03-31 11:48:24 +02:00
Wim Taymans
7b8bb8da6b
implement alsa capture with timers
...
Add timer based alsa capture support
Improve format negotiation in alsa
Better track buffer owner in the links
2017-03-30 17:30:28 +02:00
Wim Taymans
73ec9e2d24
loop: improve update_timer
...
Handle NULL time as now when specifying an interval.
2017-03-30 09:18:26 +02:00
Wim Taymans
61885b00b6
stream: also return current monotonic time in _get_time()
2017-03-30 09:07:17 +02:00
Wim Taymans
9a0ada2a3f
stream: fix timeout
2017-03-29 16:52:50 +02:00
Wim Taymans
3f8123143d
alsa: use absolute timers
...
Use absolute timers, together with the alsa timestamp they are
potentially more accurate.
fix some crashes
2017-03-29 16:39:24 +02:00
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
c86673b557
gst: do some extra checks
2017-03-27 15:20:01 +02:00
Wim Taymans
37ae4e80c3
gstformat: flesh out caps conversion
2017-03-27 13:00:04 +02:00
Wim Taymans
e90166678c
monitor: pass info to factory
2017-03-24 18:31:37 +01:00
Wim Taymans
29cb7bf39a
format: improve format parsing
2017-03-24 18:11:11 +01:00
Wim Taymans
94019fb1f5
small cleanups
2017-03-24 16:14:17 +01:00
Wim Taymans
141202b1fd
type: add subclass check
2017-03-24 13:25:43 +01:00
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