- Jan 13, 2021
-
-
Map V4L2_PIX_FMT_RGBA32 pixel format to GST_VIDEO_FORMAT_RGBA instead of GST_VIDEO_FORMAT_RGB video format to support RGBA. Fixes #823 Part-of: <gstreamer/gst-plugins-good!851>
-
A classic case of not enough locking. One interesting thing with this is the interaction between the rotation value and caps negotiation. i.e. the width/height of the caps can be swapped depending on the video-direction property. We can't lock the entirety of the caps negotiation for obvious reasons so we need to do something else. This takes the approach of trying to use a single rotation value throughout the entirety of the negotiation and then subsequent output frame in a kind of latching sequence. Fixes: gstreamer/gst-plugins-good#792 Part-of: <gstreamer/gst-plugins-good!847>
-
Part-of: <gstreamer/gst-plugins-good!847>
- Dec 30, 2020
-
-
This is due to a bug in meson where it will not detect properly the compiler if the symbols need an undercore. https://github.com/mesonbuild/meson/issues/5482 Fixes #821 Part-of: <gstreamer/gst-plugins-good!846>
-
- Dec 17, 2020
-
-
Might not drain correctly Part-of: <gstreamer/gst-plugins-good!843>
-
- Dec 14, 2020
-
-
Check the sequence of format-location/fragment-opened/fragment-closed events is respected. There should be 1 format-location call for each fragment-opened message, and 1 fragment-closed for each. Part-of: <gstreamer/gst-plugins-good!840>
-
gstreamer/gst-plugins-good!798 introduced a check in the need-new-fragment logic to avoid starting a new fragment unless there has been some data on the reference stream, but the check is done against the number of bytes that have been received on the input, not the number that were released for output into the current fragment. Fix the check to remember and test against bytes that have been sent for output. This also fixes a problem where starting a new fragment fails to request a new filename from the format-location signal. Part-of: <gstreamer/gst-plugins-good!840>
-
When posting fragment-opened and fragment-closed messages, put a debug statement in the logs Part-of: <gstreamer/gst-plugins-good!840>
-
Change some g_assert into element errors so that they can be caught and the pipeline shut down. Part-of: <gstreamer/gst-plugins-good!840>
-
- Dec 06, 2020
-
-
Tim-Philipp Müller authored
-
- Dec 02, 2020
-
-
fix: undefined reference to `vc_gencmd' /usr/src/debug/gstreamer1.0-plugins-good/1.18.1-r0/build/../gst-plugins-good-1.18.1/sys/rpicamsrc/RaspiCamControl.c:1440: undefined reference to `vc_gencmd' Part-of: <gstreamer/gst-plugins-good!829>
-
- Nov 24, 2020
-
-
We need to remove x86inc.asm from the list of compiled assembly files because it is not supposed to be compiled separately. It is directly included by yadif.asm, and it exports no symbols. The object file was getting ignored on all platforms except on msvc where it was causing a linker hang when building with debugging enabled because the object file had no debug symbols (or similar). We've seen this before in FFmpeg too, which uses nasm: gstreamer/meson-ports/ffmpeg!46 Part-of: <gstreamer/gst-plugins-good!826>
-
- Nov 21, 2020
-
-
Release pads by calling up into aggregator so it can do the right things. Don't clean up the pad until after that. Add some missing locks around some accesses to shared pad state. Part-of: <gstreamer/gst-plugins-good!800>
-
- Nov 18, 2020
-
-
gst_caps_simplify() will move interlace format before normal video format. It will cause caps negotiate prefer interlaced caps which isn't expected. Seperate normal caps and interlaced caps and then merge it will keep prefer progress video format. Add ARGB/BGRA for interlaced caps. Fixes gstreamer/gst-plugins-good#802 Part-of <gstreamer/gst-plugins-good!813> Part-of: <gstreamer/gst-plugins-good!821>
-
- Nov 16, 2020
-
-
In baseparse we set the fixed caps flag on all src pads, therefore the source pad caps query in get_allowed_caps will return the current caps. Current caps won't necessarily intersect with the new caps (e.g. sample rate change). Replace get_allowed_caps with peer_query_caps. Part-of: <gstreamer/gst-plugins-good!819>
-
- Nov 11, 2020
-
-
Part-of: <gstreamer/gst-plugins-good!814>
-
Part-of: <gstreamer/gst-plugins-good!814>
-
- Nov 02, 2020
-
-
See gstreamer/gst-plugins-good!797 Part-of: <gstreamer/gst-plugins-good!803>
-
- Oct 31, 2020
-
-
Fix a comment in the splitmuxsrc robust muxing test so it describes the test properly. Part-of: <gstreamer/gst-plugins-good!799>
-
Add a new state for ending the overall stream, and use it to decide whether to pass the final EOS message up the bus instead of dropping it. Fixes a small race that makes the testsuite sometimes not generate the last fragment(s) sometimes because the wrong EOS gets allowed through too early. Part-of: <gstreamer/gst-plugins-good!799>
-
Using the element state lock to avoid splitmuxsink shutting down while doing element manipulations can lead to a deadlock on shutdown if a fragment switch happens at exactly the wrong moment. Use a private mutex and a shutdown boolean instead. Part-of: <gstreamer/gst-plugins-good!799>
-
If a pad gets into the check_completed_gop method and then the underlying conditions change on the reference context, things could get stuck in a busy loop when the context should instead jump back out and wait for more data. Part-of: <gstreamer/gst-plugins-good!799>
-
Make sure that any late gst_element_call_async() callbacks know that the elements is shutting down and bail out instead of operating on the element we're trying to stop. Fixes a spurious test failure in elements_splitmuxsrc Part-of: <gstreamer/gst-plugins-good!799>
-
Re-enable forwarding EOS messages from fragments that are completing asynchronously, so that splitmuxsink itself won't go EOS until they are complete. This was disabled to work around a bug in core that is fixed in gstreamer/gstreamer!683 Part-of: <gstreamer/gst-plugins-good!799>
-
If there has been no bytes from the reference stream muxed into the current fragment, then time can't have advanced, there's no GOP... this fragment would be broken or empty, so wait for some data on the reference buffer. Part-of: <gstreamer/gst-plugins-good!799>
-
- Oct 29, 2020
-
-
gstreamer/gst-plugins-good!656 introduced an invalid memory access when debug is enabled, by casting the wrong pointer to a GstCollectPad. Fixing that showed the original change was incorrect and leads to an infinite loop in the testsuite. This patch fixes both problems. Part-of: <gstreamer/gst-plugins-good!793>
-
- Oct 27, 2020
-
-
Tim-Philipp Müller authored
-
- Oct 26, 2020
- Oct 23, 2020
-
-
This reverts commit 85b9893e. This change caused a regression reported in #796. Basically the pool get deactivated by basesrc and the encoder does not recover. Recovering with current design would cause insertion of an unwanted keyframe. This is being reverted in 1.18 only, a proper solution is wanted for 1.20. Part-of: <gstreamer/gst-plugins-good!785>
-
- Oct 22, 2020
-
-
0/1 means unknown framerate not X/0 (which is illegal). Part-of: <gstreamer/gst-plugins-good!783>
-
The crash is caused by a race condition where the render thread calls a method on the QtGLVideoItem instance that was previously destroyed by the main thread. Also, less frequently, QtGLVideoItem::onSceneGraphInitialized is called when QQuickItem::window is null, also causing a crash. Fixes #798 Part-of: <gstreamer/gst-plugins-good!781>
-
Arun Raghavan authored
The GstMetaInfos registered in core do not set their tags to NULL, but instead use an empty list (non-NULL list with a single NULL value). Let's check explicitly for that so as to not miss some metas. Part-of: <gstreamer/gst-plugins-good!780>
-
- Oct 04, 2020
-
-
Since !348, the jitterbuffer was only removed with the session. This restores the original behaviour and removes the jitterbuffer when the stream is removed. This avoid accumulating jitterbuffer objects into the bin when a session is reused. Part-of: <gstreamer/gst-plugins-good!765>
-
The rtpjitterbuffer is now part of the session elements, we no longer need to do the ref_sink dance when signalling it. It is already owned by the bin when signalled. Also, the code that handles generic session elements already handle the ref_sink() calls since: 03dc2295 Part-of: <gstreamer/gst-plugins-good!765>
-
If we have not received a FU with a start bit set, any subsequent FU data is not useful at all and would result in an invalid stream. This case is constructed from multiple requirements in RFC 3984 Section 5.8 and RFC 7798 Section 4.4.3. Following are excerpts from RFC 3984 but RFC 7798 contains similar language. The FU in a single FU case is forbidden: A fragmented NAL unit MUST NOT be transmitted in one FU; i.e., the Start bit and End bit MUST NOT both be set to one in the same FU header. and dropping is possible: If a fragmentation unit is lost, the receiver SHOULD discard all following fragmentation units in transmission order corresponding to the same fragmented NAL unit. The jump in seqnum case is supported by this from the specification instead of implementing the forbidden_zero_bit mangling: If a fragmentation unit is lost, the receiver SHOULD discard all following fragmentation units in transmission order corresponding to the same fragmented NAL unit. A receiver in an endpoint or in a MANE MAY aggregate the first n-1 fragments of a NAL unit to an (incomplete) NAL unit, even if fragment n of that NAL unit is not received. In this case, the forbidden_zero_bit of the NAL unit MUST be set to one to indicate a syntax violation. Part-of: <gstreamer/gst-plugins-good!764>
-
- Oct 03, 2020
-
-
... and chain up to default query handler for unhandled query types. Unhandled query shouldn't be returned with FALSE if there's no special needs. Part-of: <gstreamer/gst-plugins-good!763>
-
Various live555 based products are using the wrong "mode" string or seem to assume case-insensitive matching, which is wrong. Examples for this are the Yuan SC6C0N1 mini and the Kiloview E2. Part-of: <gstreamer/gst-plugins-good!762>
-
- Oct 02, 2020
-
-
When using python, signal parameter must match with function. Part-of: <gstreamer/gst-plugins-good!761>
-