Olivier Crête
86a256aebc
aggregator: Process serialized queries through the queue
...
This ensures that they really get processed in order with
buffers. Just waiting for the queue to be empty is sometimes not
enough as the buffers are dropped from the pad before the result is
pushed to the next element, sometimes resulting in surprising
re-ordering.
2017-05-23 12:35:58 +02:00
Olivier Crête
9e2640ba95
aggregator: Set flow to FLUSHING on pad stop
...
Fixes a rare race where the pad is being stopped while doing a query.
2017-05-23 12:35:58 +02:00
Olivier Crête
4b374ca3fb
tests: audiointerleave: Remove drain with manual clock
...
Now that the queries go onto the queue, you may need to pull the crank
in order for them to be processed, making this test difficult.
2017-05-23 12:35:58 +02:00
Tim-Philipp Müller
c402496916
Require wildmidi >= 0.4
...
https://bugzilla.gnome.org/show_bug.cgi?id=768576
2017-05-23 09:58:08 +01:00
Tim-Philipp Müller
0969e8323f
wildmidi: include stdint.h for int8_t
2017-05-23 09:17:29 +01:00
Tim-Philipp Müller
caeb59fc87
win32: update .def file for new base class
...
https://bugzilla.gnome.org/show_bug.cgi?id=768576
2017-05-23 08:45:23 +01:00
Reynaldo H. Verdejo Pinochet
bbb89dd34c
wildmididec: explicitly cast buffer data to int8 in _decode()
...
Fixes compiler warning introduced in commit ff32a4297
:
gstwildmididec.c:637:47: error: pointer targets in passing argument 2 of ‘WildMidi_GetOutput’ differ in signedness
WildMidi_GetOutput (wildmidi_dec->song, (char *) (info.data), info.size);
^
wildmidi_lib.h:106:15: note: expected ‘int8_t * {aka signed char *}’ but argument is of type ‘char *’
WM_SYMBOL int WildMidi_GetOutput (midi *handle, int8_t *buffer, uint32_t size);
https://bugzilla.gnome.org/show_bug.cgi?id=768576
2017-05-23 08:44:53 +01:00
Carlos Rafael Giani
e7a5fdfde4
openmpt: Add openmptdec element
...
https://bugzilla.gnome.org/show_bug.cgi?id=768576
2017-05-22 16:34:05 +02:00
Carlos Rafael Giani
ff32a4297f
wildmidi: Port to 1.0 on top of the nonstreamaudiodecoder base class
...
https://bugzilla.gnome.org/show_bug.cgi?id=768576
2017-05-22 16:34:05 +02:00
Carlos Rafael Giani
2e4c6d6a49
audio: Add nonstreamaudiodecoder base class
...
https://bugzilla.gnome.org/show_bug.cgi?id=768576
2017-05-22 16:34:05 +02:00
Anders Jonsson
f3de920b12
gltestsrc: Fix typo (occured->occurred)
...
https://bugzilla.gnome.org/show_bug.cgi?id=782947
2017-05-22 13:57:37 +02:00
Tim-Philipp Müller
bd22e10799
meson: don't need config.h.meson any longer
2017-05-21 18:03:02 +01:00
Olivier Crête
5443aa9ac8
audioaggregate: Don't hold object locks across calls to aggregate_one
...
https://bugzilla.gnome.org/show_bug.cgi?id=782878
2017-05-21 18:44:53 +02:00
Olivier Crête
fbfc427552
aggregator: Request pad templates which are not request pad
...
https://bugzilla.gnome.org/show_bug.cgi?id=782920
2017-05-21 18:39:49 +02:00
Olivier Crête
8f0fba54b5
aggregator: Don't restrict sink pad names
...
Sink pads could have other names than sink_%u
https://bugzilla.gnome.org/show_bug.cgi?id=782920
2017-05-21 18:39:09 +02:00
Olivier Crête
1e84f90bdb
glbasemixer: Remove unused negotiated member
...
This is now all handled in GstAggregator, so this code is not
called anymore.
2017-05-21 18:31:59 +02:00
Olivier Crête
68bb5bfecc
videoaggregator: Declare that it supports the video meta on input
...
https://bugzilla.gnome.org/show_bug.cgi?id=782918
2017-05-21 18:17:54 +02:00
Olivier Crête
1a2df0400d
gl*mixer: Use propose_allocation from the GstAggregator base class
...
https://bugzilla.gnome.org/show_bug.cgi?id=782918
2017-05-21 18:17:54 +02:00
Olivier Crête
431dc9720a
aggregator: Implement propose allocation
...
https://bugzilla.gnome.org/show_bug.cgi?id=782918
2017-05-21 18:17:54 +02:00
Olivier Crête
20bf97f089
aggregator: Check for the result of caps events
...
https://bugzilla.gnome.org/show_bug.cgi?id=782918
2017-05-21 18:17:54 +02:00
Olivier Crête
a463859eba
aggregator: Caps event always goes to the aggregate thread
...
So no need to check it here.
https://bugzilla.gnome.org/show_bug.cgi?id=782918
2017-05-21 18:17:54 +02:00
Carlos Rafael Giani
d6e46b905a
gl/viv-fb: Fix user-choice string comparisons
...
https://bugzilla.gnome.org/show_bug.cgi?id=782921
2017-05-21 16:52:23 +02:00
Carlos Rafael Giani
f191bf0c11
qmlglsink: Add dummy texture that is shown as placeholder for NULL buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=782917
2017-05-21 16:52:23 +02:00
Tim-Philipp Müller
ec17c6859d
win32: update .def file for new exports
2017-05-21 15:15:48 +01:00
Olivier Crête
892693865f
videoaggregator: Create normal video pool as a fallback
...
https://bugzilla.gnome.org/show_bug.cgi?id=746529
2017-05-21 13:24:29 +02:00
Olivier Crête
ea26b9aa37
audioaggregator: Use downstream allocator and params if available
...
https://bugzilla.gnome.org/show_bug.cgi?id=746529
2017-05-21 13:24:29 +02:00
Olivier Crête
9897c5c80d
glbasemixer: Remove own decide_allocation, use GstAggregator's
...
https://bugzilla.gnome.org/show_bug.cgi?id=746529
2017-05-21 13:24:29 +02:00
Olivier Crête
d3c2ccb3dd
glbasemixer: Use aggregator for allocation handling
...
https://bugzilla.gnome.org/show_bug.cgi?id=746529
2017-05-21 13:24:29 +02:00
Olivier Crête
31bbfd6773
videoaggregator: Get the buffer from the pool if available
...
https://bugzilla.gnome.org/show_bug.cgi?id=746529
2017-05-21 13:24:29 +02:00
Olivier Crête
12197e4bb5
aggregator: Add downstream allocation query
...
https://bugzilla.gnome.org/show_bug.cgi?id=746529
2017-05-21 13:24:26 +02:00
Olivier Crête
7b1235940f
videoaggregator: Return to parent on reconfigure
...
The caps negotiation is now in the parent, so need to return there
if a reconfiguration is needed, otherwise it will loops forever.
2017-05-21 12:45:07 +02:00
Tim-Philipp Müller
06ae762211
gl: x11: fix compiler warning
2017-05-21 11:44:37 +01:00
Matthew Waters
15e13bd44e
glcontext: add public swap_buffers function
...
That simply calls the implementation
2017-05-21 12:12:02 +02:00
Tim-Philipp Müller
624fe65f54
examples: gl: remove ancient bitrotten .vcproj files
2017-05-21 10:57:53 +01:00
Graham Leggett
711b006cb9
adaptivedemux: fix debug message printf format
...
Match gsize to G_GSIZE_FORMAT in the debug message.
https://bugzilla.gnome.org/show_bug.cgi?id=782873
2017-05-20 18:20:34 +01:00
Tim-Philipp Müller
616a6acb05
win32: update .def file for API removal
2017-05-20 17:05:08 +01:00
Olivier Crête
57ede26031
audiointerleave: Take object lock while modifying channel count
2017-05-20 17:52:00 +02:00
Olivier Crête
583e655234
aggregator: Remove unused GST_FLOW_NOT_HANDLED
2017-05-20 16:21:17 +02:00
Matthew Waters
7c53043386
aggregator: add simple support for caps handling
...
Modelled off the videoaggregator caps handling as that seems the most
mature aggregtor-using implementation that has caps handling there is.
https://bugzilla.gnome.org/show_bug.cgi?id=776931
2017-05-20 16:21:17 +02:00
Nicolas Dufresne
ed8512c53e
aggregator: Reset upstream latency on first buffer
...
In the case an aggregator is created and pads are requested but only
linked later, we end up never updating the upstream latency.
This was because latency queries on pads that are not linked succeed,
so we never did a new query once a live source has been linked, so the
thread was never started.
https://bugzilla.gnome.org/show_bug.cgi?id=757548
2017-05-20 16:21:17 +02:00
George Kiagiadakis
39d2526c34
videoaggregator: delay using new caps from a sink pad until the next buffer in the queue is taken
...
When caps changes while streaming, the new caps was getting processed
immediately in videoaggregator, but the next buffer in the queue that
corresponds to this new caps was not necessarily being used immediately,
which resulted sometimes in using an old buffer with new caps. Of course
there used to be a separate buffer_vinfo for mapping the buffer with its
own caps, but in compositor the GstVideoConverter was still using wrong
info and resulted in invalid reads and corrupt output.
This approach here is more safe. We delay using the new caps
until we actually select the next buffer in the queue for use.
This way we also eliminate the need for buffer_vinfo, since the
pad->info is always in sync with the format of the selected buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=780682
2017-05-20 16:21:16 +02:00
Olivier Crête
d2335bce9b
aggregator: Always handle sync'ed events on output thread
...
Having all synchronized events always be handled on the output
thread should make synchronization easier.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Olivier Crête
4cec1925e3
aggregator: Delay clipping to output thread
...
This is required because the synchronized events like caps or segments
may only be processed on the output thread.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Olivier Crête
a6710944e8
aggregator: Make pad eos as soon as all buffers are processed, dont way for events
...
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Olivier Crête
6e96bebd5b
aggregator: Only count buffers when declaring queue full
...
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Olivier Crête
c0849df4ac
tests: Test caps using query
...
Sending an event can accepted event if the caps were rejected
because the event could be queued and processed later.
Also send a drain query in the caps test to make sure that the
event has been processed.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Olivier Crête
4d408ea920
aggregator: Simplify clip function
...
The return value was ignored anyway
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Olivier Crête
20aee5f575
aggregator: Only declare first buffer on actual buffer
...
The function needs to be unlocked if any data is received, but only
end the first buffer processing on an actual buffer, synchronized events
don't matter on the first buffer processing.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Olivier Crête
1ab33d78fe
aggregator: Set initial position on first buffer
...
Set the initial position on the first buffer, otherwise the queue
will grow without limits before the output thread is started.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Olivier Crête
82f7b00ea3
aggregator: Reset the pad's first buffer flag with the rest
...
There is not reason to have separate code to reset this one.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00