- 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
-
- Oct 28, 2015
-
-
Wim Taymans authored
Fix the 8-pole noise shaping error update. We were mixing errors from different channels.
-
- Oct 27, 2015
-
-
Sebastian Dröge authored
This makes sure that they will always get SEEK events, even if we're currently in the middle of a group switch (i.e. switching to another representation/bitrate/etc). https://bugzilla.gnome.org/show_bug.cgi?id=606382
-
- Oct 25, 2015
-
-
As stated in GST_PAD_PROBE_HANDLED's documentation, we are supposed to unref the event before returning. Fixes an event leak in the validate.hls.playback.play_15s.hls_bibbop validate scenario. https://bugzilla.gnome.org/show_bug.cgi?id=754459
-
- Oct 23, 2015
-
-
Sebastian Dröge authored
Send event directly to playsink instead of letting GstBin iterate over all sink elements. The latter might send the event multiple times in case the SEEK causes a reconfiguration of the pipeline, as can easily happen with adaptive streaming demuxers. What would then happen is that the iterator would be reset, we send the event again, and on the second time it will fail in the majority of cases because the pipeline is still being reconfigured
-
- Oct 22, 2015
-
-
Closing parenthesis was missing in two cases. https://bugzilla.gnome.org/show_bug.cgi?id=756893
-
- Oct 20, 2015
-
-
Sebastian Dröge authored
-
-
Encrypted RTP buffers may contain encrypted padding, hence it's necessary to have an option to relax the validation in order to successfully map the buffer. When the flag GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is set gst_rtp_buffer_map() will map the buffer like if padding is not present. https://bugzilla.gnome.org/show_bug.cgi?id=752705
-
If the flush-start is arrived during _eos_wait() in basesink, the 'eos' flag is overwritten to TRUE after exiting the _eos_wait(). To resolve the overwritten issue, the subclass doing the _eos_wait() call should return the right value. If the eos flag is set to TRUE again, it will cause error(enter the eos flow) of the following state changing from PAUSED to PLAYING in basesink. https://bugzilla.gnome.org/show_bug.cgi?id=754980
-
Sebastian Dröge authored
Not only if the base class told us, but also if one of our own elements did. https://bugzilla.gnome.org/show_bug.cgi?id=756611
-