Age | Commit message (Collapse) | Author | Files | Lines |
|
See https://bugzilla.gnome.org/show_bug.cgi?id=719893
|
|
The offset can be -1 when we are configured in TIME format. Instead of
failing the seek and erroring, do what and offset of -1 is supposed to
do and simply read from the current offset.
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=721253
|
|
It was used for pad-alloc in 0.10 but currently is completely unused
and not necessary. All pad access is protected by the tee object lock
and keeping another reference to the current pad.
|
|
A pad probe on that pad might otherwise just release the pad, drop
the last reference and cause great misery.
https://bugzilla.gnome.org/show_bug.cgi?id=721300
|
|
item is guaranteed to be non-null.
COVERITY CID 1037152
COVERITY CID 1037153
|
|
funnel outputs whatever one of the upstreams currently outputs, a caps
query to a random upstream does not give the right answer here.
|
|
|
|
This makes buffering stop in case a stream switch happens. This is
important for adaptive streams that can disable not-linked streams
to avoid consuming the network bandwidth.
https://bugzilla.gnome.org/show_bug.cgi?id=719575
|
|
Pass the event return value upstream.
Remove strange goto construct.
|
|
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720029
|
|
After patch bda406c4, the state of the singlequeue was set to OK, but nothing
would then wake up the thread, as the other wakeup functions only look at
singlequeues that are marked as having received as not-linked.
https://bugzilla.gnome.org/show_bug.cgi?id=708200
|
|
* add many missing declarations to sections
* GstController has been removed, update docs
* skip GstIndex when generating documentation
* rephrase so gtkdoc doesn't imagine return value
* add missing argument description for gst_context_new()
* document GstOutputSelectorPadNegotiationMode and move to header-file
https://bugzilla.gnome.org/show_bug.cgi?id=719614
|
|
Use gap events to advance the selector's pad position.
This is relevant to keep sync_streams mode working when one of the
streams doesn't have data all the time.
|
|
Makes qst_queue_locked_dequeue 20% faster
|
|
Proxy the caps queries on the srcpad as well.
Proxy the allocation query on the sinkpad.
|
|
Also remove incorrect comment about code possibly not being reachable
that is now exercised by the filesrc unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=709831
|
|
This reverts commit e658379534eb4a90b654d90f1d0bdf86f37c6e31.
This test commit should've never been pushed. Oops.
|
|
Since the refactoring of GstContext (commits
qc9fa2771b508e9aaeecc700e66e958190476f,
a7f5dc8b8af837f01782d1572379948ff62daab7,
690326f906dc82e41ea58b81cdb2e3e88b754,
d367dc1b0d4ecb37f4d27267e03d7bf0c6c06a6, and
82d158aed3f2e8545e1e7d35085085ff58f18) I am no longer able to get
a shared context for an element that is used twice in a pipeline.
I used the documentation and eglglessink as my reference for
implementing the GstContext logic.
As the code was tied to a hardware decoder, I have ported the
GstContext code to fakesink to show the problem. Using the old
API a single ExampleMgr instance is created, but using the new
API each element is creating its own instance.
|
|
Otherwise queue->level is NULL and dereferencing that is not a good
idea in general.
https://bugzilla.gnome.org/show_bug.cgi?id=707648
|
|
In some cases the wait for more data was happening without updating
the buffering state, meaning the API user would not be able to notice
it should pause the pipeline and update UI to indicate that is the
case, the video would likely stutter instead.
https://bugzilla.gnome.org/show_bug.cgi?id=707648
|
|
Thanks to Edward Hervey for noticing.
|
|
If the multiqueue has automatically grown chances are good that
we will cause the pipeline to starve if the maximum level is reduced
below that automatically grown size.
https://bugzilla.gnome.org/show_bug.cgi?id=707156
|
|
switching pads
This does not make any sense at all and breaks timestamp->running_time
calculations in unpredictable ways.
https://bugzilla.gnome.org/show_bug.cgi?id=707130
|
|
When removing a segment event.
https://bugzilla.gnome.org/show_bug.cgi?id=707088
|
|
|
|
Reset the write position to 0 and truncate the file on FLUSH_STOP.
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=705835
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=706360
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=705835
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=705835
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=705835
|
|
Fixes spurious crash in test_simple_shutdown_while_running
unit test.
|
|
When a buffering query is handled it uses the get_buffering_percent()
function to get some statitics. Unfortunately this function also
calculates whether the queue should be buffering and adapts the
global queue2 state in case of state transitions from/to buffering
(including whether a buffering message was posted on the bus!).
This means that there is a race which can cause buffering messages
to never posted if the global state changes happen as a result of aa
query instead of resulting from bytes flowing in/out.
Spotted by Sjoerd Simons.
Change to only query state in get_buffering_percent() and update
state only in update_buffering().
https://bugzilla.gnome.org/show_bug.cgi?id=705332
|
|
When the capacity of the queue changes, make sure we post an updated buffering
message because we might suddenly have completed the buffering stage.
|
|
When in download buffering mode queue2 didn't check if a range offset is
in a undownloaded range before the currently in-progress range. Causing
seeks to an earlier offset to, well, take a while.
|
|
When asked about the scheduling flags first check with upstream and
simply add the _SEEKABLE flag when using a temporary file as storage.
This enables the forwarding of _SEQUENTIAL and _BANDWIDTH_LIMITED from
sources if needed.
https://bugzilla.gnome.org/show_bug.cgi?id=704927
|
|
There might be a short read at EOS.
|
|
A new active pad might not be notified in some cases, which results
in the current track number not being set in playbin.
The active-pad notification is only sent in the chain and sink_event
functions, and only when the buffer or event that triggered the active
pad selection is from the newly activated pad. So in the other case
the notification will never be sent.
https://bugzilla.gnome.org/show_bug.cgi?id=704691
|
|
they all have group ids
https://bugzilla.gnome.org/show_bug.cgi?id=704408
|
|
|
|
We must be certain that we don't cause a deadlock when blocking the serialized
queries. One such deadlock can happen when we are buffering and downstream is
blocked in preroll and a serialized query arrives. Downstream will not unblock
(and allow our query to execute) until we complete buffering and buffering will
not complete until we can answer the query..
https://bugzilla.gnome.org/show_bug.cgi?id=702840
|
|
Otherwise we might get deadlocks caused by lock order inversion:
During the chain function the stream lock is first locked and then the
inputselector lock. During pad release we first locked the inputselector
lock and then deactivating the pad would lock the stream lock.
There's no reason why the inputselector lock should be required while
deactivating and removing the pad, it's only needed before.
https://bugzilla.gnome.org/show_bug.cgi?id=704002
|
|
Otherwise we'll send a new segment event downstream for each buffer.
|
|
Don't special case segment/caps, just push all sticky events when they are
received on the currently active pad or when the active pad changes.
|
|
The default functions in 1.x already do the right thing
|
|
We must be certain that we don't cause a deadlock when blocking the serialized
queries. One such deadlock can happen when we are buffering and downstream is
blocked in preroll and a serialized query arrives. Downstream will not unblock
(and allow our query to execute) until we complete buffering and buffering will
not complete until we can answer the query..
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702840
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=702520
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=701319
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=701323
|