- Apr 14, 2016
-
-
Tim-Philipp Müller authored
-
- Apr 11, 2016
-
-
There is a small window of time where the audio ringbuffer thread can access the parent thread variable, before it's initialized by the parent thread. The patch replaces this variable use by g_thread_self(). https://bugzilla.gnome.org/show_bug.cgi?id=764865
-
- Apr 06, 2016
-
-
Tim-Philipp Müller authored
The function gst_discoverer_info_copy doesn't copy the data members seekable and result of the source GstDiscovererInfo. In the case of copying a GstDiscovererInfo for later use, the seekbale will be undefined, which in practice usually will be false, even though the seekable of the original GstDiscovererInfo is true. https://bugzilla.gnome.org/show_bug.cgi?id=762710
-
There's a small window between decodebin choosing a buffering level to post and another thread choosing a different buffering level where things can race. Close that window by holding a new lock that's only for posting buffering messages - like what was done in multiqueue. https://bugzilla.gnome.org/show_bug.cgi?id=764020
-
Fixes 100% cpu usage when client disconnects. Commit 6db2ee56 would just make multisocketsink ignore reads of 0 bytes without removing the client, so we'd get woken up over and over again for the client. Fix the original issue differently by handling the non-fatal error code. https://bugzilla.gnome.org/show_bug.cgi?id=761257 https://bugzilla.gnome.org/show_bug.cgi?id=743834
-
- Mar 02, 2016
-
-
-
Avoids some false positives leading to miss identification: * Prevent picture start code emulation for the first 2 bytes read * Add check for valid "picture coding type" and "PB-frames mode" combination Additionally, change name on confusingly named TR var to what it is, the layer's PTYPE. https://bugzilla.gnome.org/show_bug.cgi?id=693263
-
- Feb 23, 2016
-
-
This reverts commit 3bc67006. The issue that the patch fixes is only noticeable when using decodebin3, which isn't yet in master.
-
- Feb 11, 2016
-
-
Wim Taymans authored
Avoid overflow in rate calculation. This can cause the resampler to start on the wrong phase after a rate change. Avoid overflow in cubic fraction calculation. This can cause noise when dealing with higher samplerates.
-
Wim Taymans authored
We were only reading 2 filter taps and we need to read 4 to do cubic interpolation.
-
- Jan 20, 2016
-
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
Wim Taymans authored
In gst_video_info_to_caps(), make sure we end up with an RGB matrix for RGB formats and warn when the GstVideoInfo colorimetry is wrong. In gst_video_info_from_caps(), fix the GstVideoInfo with an RGB matrix for RGB formats and warn about inconsistent caps. See https://bugzilla.gnome.org/show_bug.cgi?id=759624
-
Wim Taymans authored
For RGB formats, the matrix in the colorimetry (conversion from YUV to RGB) is irrelevant and we should ignore it and assume the identity transform for everything we do. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=759624
-
It was never actually supported or used https://bugzilla.gnome.org/show_bug.cgi?id=760666
-
This reverts commit 63517d0e. It was wrong ref counting wise and we decided to deprecated DROPPED return value https://bugzilla.gnome.org/show_bug.cgi?id=760666
-
- Jan 16, 2016
-
-
[..] when resetting group start time. In GES, we are usually connected to the streamsynchronizer on one audio and one video pad. When seeking the timeline, both nlecompositions often output their flush_start before any of them has output its flush_stop. The current code, when receiving the first flush stop was using the running time of the start of the second composition, which could be pretty much anything, and means nothing at that point. This patch is thread-safe, as STREAM_SYNCHRONIZER_LOCK is taken both when setting flushing and when checking it. https://bugzilla.gnome.org/show_bug.cgi?id=750013
-
When blocking input pads, we also need to properly set the appropriate pending flag. Without this, when switching stream types after initial configuration (like going from Audio+Video to Audio+Video+Sub) playsink would never wait for *all* input streams to be blocked (it would just wait for the new input pad (text in this case) to be blocked). Since the reconfiguration might introduce unlinking/relinking of elements, we need to ensure that *ALL* input streams are blocked. Failure to do so would result in having some input streams pushing data to inactive elements (returning GST_FLOW_FLUSHING) or unlinked pads (returning GST_FLOW_NOT_LINKED). A later optimization could involve only blocking the input pads that might be involved in reconfiguration. But better be safe than sorry for now :)
-
- Jan 11, 2016
-
-
Otherwise, pool could be negotiated with a size which will be different from the one used in allocation which is the GstVideoInfo. https://bugzilla.gnome.org/show_bug.cgi?id=760222
-
- Dec 28, 2015
-
-
Sebastian Dröge authored
We would otherwise read beyond the array bounds and crash every now and then. This was introduced with 5640ba17. https://bugzilla.gnome.org/show_bug.cgi?id=759910
-
Sebastian Dröge authored
The filters' floating references are sinked during set_property() already, which means that GstBin takes a new reference when adding the filter to it. Get rid of the additional reference after adding the filter to the bin.
-
Sebastian Dröge authored
And also recreate the chains if the filter is changing.
-
Sebastian Dröge authored
-
- Dec 21, 2015
-
-
The EOS event can be propagated to the downstream elements when is_eos flag remains set even after leaving the flushing state. This fix allows this element to normally restart the streaming after receiving the flush event by clearing the is_eos flag. https://bugzilla.gnome.org/show_bug.cgi?id=759110
-
- Dec 14, 2015
-
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
- Dec 13, 2015
-
-
Tim-Philipp Müller authored
Depayloaders will look at rtpbuffer->buffer for the discont flag. When we set the discont flag on a buffer in the rtp base depayloader and we have to make the buffer writable, make sure the rtpbuffer actually contains the newly-flagged buffer, not the original input buffer. This was introduced with the addition of the process_rtp_packet vfunc, but would only trigger if the input buffer wasn't flagged already and was not writable already.
-
Tim-Philipp Müller authored
When we detect a discont and the input buffer isn't already flagged as discont, handle_buffer() does a gst_buffer_make_writable() on the input buffer in order to set the flag. This assumed it had ownership of the input buffer though, which it didn't. This would still work fine in most scenarios, but could lead to crashes or mini object unref criticals in some cases when a discont is detected, e.g. when using pcapparse in front of a depayloader. This problem was introduced in bc14cdf5.
-
- Dec 07, 2015
-
-
Sebastian Dröge authored
Otherwise we'll remove that element while keeping its buffering message in our list, and because of that never ever report buffering 100% as that element will always be at a lower percentage. This fixes e.g. seeking over Period boundaries in DASH and various other issues when buffering happens between group switches. Also use a new mutex for protecting the buffering messages. The object lock is already used by gst_object_has_as_ancestor() and we need to use it now for checking if the buffering message sender has the to-be-removed element as ancestor.
-
Some servers incorrectly parse header names with strict case-sensitivity. For compatibility with these systems change X-Sessioncookie to x-sessioncookie. https://bugzilla.gnome.org/show_bug.cgi?id=758921
-
- Nov 17, 2015
-
-
- Nov 07, 2015
-
-
Just setting the ghostpad as flushing wasn't enough. It needs to be consistent on the internal proxypad also, otherwise you end up in situations where: * a pending buffer on the target pad triggers the sticky event propagation * the default implementation sees that the proxypad is not flushing, so it tries to push it to the other pad (the actual ghostpad) * the ghostpad is flushing, so returns FALSE * the push_event function sees that pushing the event failed... * ... and pending buffer push returns GST_FLOW_ERROR, instead of GST_FLOW_FLUSHING By using gst_pad_set_active(FALSE), we ensure that both the ghostpad and the proxypad are flushing/deactivated. The situation above will no longer occur, and a GST_FLOW_FLUSHING will be returned.
-
- Nov 05, 2015
-
-
Thibault Saunier authored
In some conditions we might process empty buffers, calling gst_control_binding_get_value_array in that case will lead to the assertion: (lt-ges-launch-1.0:18859): GStreamer-CRITICAL **: gst_control_binding_get_value_array: assertion 'values' failed
-
- Oct 31, 2015
-
-
The client-removed signal used G_INT_TYPE instead of G_SOCKET_TYPE in its definition leading to problems on platforms where the size of a pointer is larger than the size of an integer, It would also not work at all with dynamic language bindings. https://bugzilla.gnome.org/show_bug.cgi?id=757155
-
- Oct 30, 2015
-
-
Due to a typo, videotestsrc did not handle the Bayer format 'gbrg' properly and reported it as invalid, causing negotiation errors. https://bugzilla.gnome.org/show_bug.cgi?id=757264
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-