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
Olivier Crête
05374aa22c
aggregator: Reset pad on init
...
Factor out the pad reset code from the flushing and use it on init as well
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Olivier Crête
d722e064fd
aggregator: Fix indentation
...
https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
fvanzile
eca91d6772
glcontext: keep a ref to the active thread
...
With the macOS/iOS implementations, the active thread can change
multiple times over the life of a pipeline which would expose a race in
the thread tracking.
Fix by taking a ref on the active thread while the context is active.
https://bugzilla.gnome.org/show_bug.cgi?id=779202
2017-05-20 16:19:38 +02:00
Tim-Philipp Müller
918ad83e46
meson: add options to set package name and origin
...
https://bugzilla.gnome.org/show_bug.cgi?id=782172
2017-05-20 15:04:45 +01:00
Josep Torra
2c9b513695
examples: fix macOS 9.12 deprecation warnings
...
Add #defines to allow older versions of macOS to use the new constant names.
2017-05-20 12:41:51 +02:00
Josep Torra
f805608075
cocoa: fix a recently introduced typo
...
Fixes gstgldisplay_cocoa.m:175:26: error: use of undeclared identifier 'singletone'.
2017-05-20 12:19:08 +02:00
Josep Torra
ef5d42b0a7
cocoa: fix macOS 10.12 deprecation warnings
...
Add #defines to allow older versions of macOS to use the new constant names.
2017-05-20 12:16:50 +02:00
Sebastian Dröge
be465a139b
dashdemux: Use correct (sub) fragment start when clipping chunk size
...
If we didn't download anything yet, we shouldn't use fragment.start but
the start position of the current sidx entry.
2017-05-18 19:04:57 +02:00
Sebastian Dröge
d5eee31918
dashdemux: Make sure to pass the next buffer after a seek with DISCONT flag
...
When we manually seek for skipping ahead in keyunit-only trickmode, we
have to enforce that ourselves as adaptivedemux does not know about the
seeks.
2017-05-18 19:04:57 +02:00
Sebastian Dröge
d884ec2904
dashdemux: Ensure that we never ever download over the current SIDX entry
...
Even if downloading more than needed to try to get the moof and first
keyframe both together.
2017-05-18 19:04:57 +02:00
Sebastian Dröge
71259d9ad4
dashdemux: Take SIDX entry timestamp/duration into account for keyunit-only mode
...
And not the whole segment's timestamp/duration
2017-05-18 19:04:57 +02:00
Sebastian Dröge
c3fd905f11
dashdemux: Reset parsing state correctly in various places
2017-05-18 19:04:57 +02:00
Sebastian Dröge
927c158303
dashdemux: Reset previous target_time when seeking
2017-05-18 19:04:57 +02:00
Sebastian Dröge
e2a6573c7d
dashdemux: Smooth out skip distances in keyframe-only trick modes
...
This ensures smoother playback. It looks weird if we first do a big
jump, then play a couple of consecutive frames, just to again skip ahead
quite a bit because we ran late again.
2017-05-18 19:04:57 +02:00
Sebastian Dröge
ddef518701
dashdemux: Take configure max bitrate/framerate into account for keyframe skipping
...
And by default only produce up to 10 fps.
2017-05-18 19:04:57 +02:00
Sebastian Dröge
6a037a78de
dashdemux: Try harder to not run into a loop over the same fragment over and over
...
While still making sure to not jump ahead one fragment further than
needed.
2017-05-18 19:04:57 +02:00
Sebastian Dröge
ef8f194855
dashdemux: Add some debug output to the target time selection
2017-05-18 19:04:57 +02:00
Sebastian Dröge
6b6c7382c3
dashdemux: Use the current clock running time in addition to the QoS earliest time
2017-05-18 19:04:57 +02:00
Sebastian Dröge
133d1e86bd
dashdemux: Download keyframes from the current position if we're far enough ahead
...
Far enough here means more than 500ms or 4 times the average keyframe
download time. There is no need to jump ahead by one average keyframe
download time in this case.
This makes playback smooth if the network is fast enough.
2017-05-18 19:04:57 +02:00
Sebastian Dröge
4efa3185bb
dashdemux: Fix sync sample selection based on target time in reverse playback mode
2017-05-18 19:04:57 +02:00
Sebastian Dröge
b3e2657ac1
dashdemux: Snap-seek for skipping ahead and use actual keyframe distance in the current fragment if applicable
2017-05-18 19:04:57 +02:00
Sebastian Dröge
b7f87e2518
dashdemux: Don't adjust for fragment duration twice when seeking ahead in KEYUNITS mode
2017-05-18 19:04:57 +02:00
Sebastian Dröge
5d09bc04a2
dashdemux: Add current fragment duration in reverse playback mode to the position
...
We play from the end of the fragment to the beginning, not from the
beginning backwards.
2017-05-18 19:04:57 +02:00
Sebastian Dröge
9267b4a725
dashdemux: Never take more than the current fragment duration for estimations inside the fragment
...
Taking the average might give us from results.
2017-05-18 19:04:57 +02:00
Sebastian Dröge
df420cc21f
dashdemux: Don't increase current position if we just downloaded the moof in KEYUNIT mode
2017-05-18 19:04:57 +02:00