- May 31, 2021
- May 29, 2021
-
-
Tim-Philipp Müller authored
On Windows with MSVC, jpeg_header_size would end up 2 bytes larger than it should be. This then leads to the first 2 bytes of the actual jpeg image data to be dropped, because we think those belong to the header, which results in an undecodable image when reconstructed in the depayloader. What happens is that when the compiler evaluates jpeg_header_size = mem.offset + read_u16_and_inc_offset_by_2(&mem); it actually uses the mem.offset value after it has been increased by the function call on the right hand size of the equation. From section 6.5 of the C99 spec: 3. The grouping of operators and operands is indicated by the syntax [74]. Except as specified later (for the function-call (), &&, ||, ?:, and comma operators), the order of evaluation of subexpressions and the order in which side effects take place are both unspecified. Fixes gst-plugins-good#889 Part-of: <gst-plugins-good!999>
-
- May 28, 2021
-
-
If the duration of the v4l2object is invalid, use default 25fps instead. Part-of: <gst-plugins-good!996>
-
- May 27, 2021
-
-
Seungha Yang authored
Like other basetransform subclasses are doing, drop field which can be converted by deinterlace. Part-of: <gst-plugins-good!997>
-
Seungha Yang authored
Progressive with field-order doesn't make sense Part-of: <gst-plugins-good!997>
-
- May 25, 2021
-
-
This crash could happen at any time a RTP and RTCP buffer arrived simultaneously in ssrcdemux. The problem was that sticky-event arriving while the rtp and rtcp pads were being set up could arrive just too late to be included in the initial forwarding. The fix checks if the stickies have been sent on the srcpad about to be pushed on, and if not sends them. It also blocks any stickes from being forwarded *prior* to this happening, to avoid them arriving on the srcpad multiple times. Since the test loops 1000 times, this will make running under valgrind take forever, so use the RUNNING_ON_VALGRIND variable to detect we are running under valgrind, and reduce the loop-count to 2 in that case. Part-of: <gst-plugins-good!992>
-
Part-of: <gst-plugins-good!992>
-
Use plural for GstRtpSsrcDemuxPads, since it contains two pads, and use the variable-name 'dpads' everywhere. Part-of: <gst-plugins-good!992>
-
- May 23, 2021
-
-
Tim-Philipp Müller authored
So we don't rely on NUL terminators inside the data. Part-of: <!994>
-
Tim-Philipp Müller authored
We were passing the size of the adtl chunk to the note/labl sub-chunk parsing function, which means we may memdup lots of data after the chunk string's NUL terminator that doesn't really belong to it. Part-of: <gst-plugins-good!994>
-
Tim-Philipp Müller authored
Could be rewritten as lsize > (size - 8) a well, but the extra check seems clearer. Doesn't look like it was problematic, lsize wasn't actually used when parsing the sub-chunks. Part-of: <gst-plugins-good!994>
-
- May 21, 2021
-
-
Part-of: <gst-plugins-good!991>
-
- May 20, 2021
-
-
Stéphane Cerveau authored
To avoid decoder starvation causing glitches on screen, the demuxer shall clip only when the buffer is a key frame and the lace time is greater than the stop time. Fixes gst-editing-services#128 Part-of: <gst-plugins-good!973>
-
- May 12, 2021
-
-
If the GL context is not shareable, ignore it. A future change may also not output the relevant output either. Part-of: <gst-plugins-good!983>
-
Fixes corrupted texture output when changing OpenGL display/contexts. Part-of: <gst-plugins-good!983>
-
- May 11, 2021
-
-
Nicolas Dufresne authored
Part-of: <gst-plugins-good!968>
-
Nicolas Dufresne authored
This will be used to select the appropriate decoders. We also only attach the GstVideoCodecAlphaMeta if the AlphaMode element is set, this is to stay on the safe side and mimic what browsers (verified in Firefox and Chromium code) do. Part-of: <gst-plugins-good!968>
-
Nicolas Dufresne authored
This generalize the feature over using mini object quark data. If that feature was Matroska specifc, using the new CustomMeta would have been enough and arguably cleaner then QData, though it seems that similar technique is use with AV1 Image Format (AVIF). Part-of: <gst-plugins-good!968>
-
And put it on buffers as qdata (which is easier in this case than a private custom meta because it can be picked up easily in other modules). Part-of: <gst-plugins-good!968>
-
This allows the 'replace-gstreamer-opengl-context' context machinery to correctly replace the OpenGL context used by the pipeline when the first qmlglsink is added to the pipeline. Part-of: <!982>
-
- May 07, 2021
-
-
Part-of: <!977>
-
Part-of: <gst-plugins-good!977>
-
Changing the method would leak the previous method. Part-of: <gst-plugins-good!976>
-
- May 06, 2021
-
-
Nicolas Dufresne authored
When setting the colorspace, we now clear the range to reduced range, the default, and then we also set the range so the VP9 encoder encodes the right information in the bitstream. Part-of: <gst-plugins-good!975>
-
Nicolas Dufresne authored
This is not supported by VP8 and was causing a warning. Part-of: <gst-plugins-good!975>
-
Nicolas Dufresne authored
This will be needed to configure the VP9 specific colorimetry, which is currently configured for VP8 casing warning. Part-of: <gst-plugins-good!975>
-
Remove our own translation in the mouse event capture code, as that translation will be done through the navigation interface. Tested by resizing the window created by: gst-launch-1.0 -v videotestsrc ! navigationtest ! glupload ! glcolorconvert ! tee name=t ! gtkglsink and checking that the cursor follows the mouse as expected. Part-of: <gst-plugins-good!974>
-
If the application passed down some pointer coordinates, translate those from display coordinates to stream coordinates, so things work as expected even if the video is resized. Part-of: <gst-plugins-good!974>
-
Export _display_size_to_stream_size() so that GstNavigation implementors can translate from display coordinates to stream coordinates before pushing the events upstream to the DVD source, for example. Part-of: <gst-plugins-good!974>
-
- May 05, 2021
-
-
There are cases where the video size might be less than 16x16. This change allows the Matroska muxer to accept this cases. Part-of: <!539>
-
Instead of the deprecated gst_element_get_request_pad. Part-of: <gst-plugins-good!958>
-
- Apr 29, 2021
-
-
Jan Schmidt authored
qtmux attempts to choose between writing a 32-bit stco chunk offset table when it can, but switch to a 64-bit co64 table when file offsets go over 4GB. This patch fixes a problem where the atom handling code was checking mdat-relative offsets instead of the final file offset (computed by adding the mdat position plus the mdat-relative offset) - leading to problems where files with a size between 4GB and 4GB+offset-of-the-mdat would write incorrect STCO tables with some samples having truncated 32-bit offsets. Smaller files write STCO correctly, larger files would switch to co64 and also output correctly. Part-of: <gst-plugins-good!970>
-
- Apr 27, 2021
-
-
skip_try_fmt_probes is set to TRUE for v4l2src to skip interlace-mode and colorimetry when probe caps. gst_v4l2_object_set_format_full() will add colorimetry back to caps when iterating over the negotiated caps. There is one case that v4l2src is first in preview state then starts recording. v4l2src caps will change with an additional interlace-mode structure after renegotiation, then v4l2src needs to reset. But this camera driver can't orphan buffer pool, it causes require buffer failed as streaming is still in active state. To fix this, also need to add interlace-mode back to caps for camera to avoid reset. Part-of: <!961>
-
- Apr 26, 2021
-
-
Guillaume Desmottes authored
Set MARKER flag on first buffer after DTX. According to RFC 3551 section 4.1 the marker bit needs to be set on "the first packet after a silence period during which packets have not been transmitted contiguously". Part-of: <gst-plugins-good!967>
-
Guillaume Desmottes authored
If enabled, the payloader won't transmit empty frames. Can be tested using: opusenc dtx=true bitrate-type=vbr ! rtpopuspay dtx=true Part-of: <gst-plugins-good!967>
-
ID3v2::FrameFactory::createFrame() versions not taking a Header have been deprecated since v1.5 (Jan 2008). Part-of: <gst-plugins-good!965>
-
- Apr 25, 2021
-
-
The estimated packet-duration can sometimes end up as zero, and dividing by that is never a good idea... The test reproduces the scenario, and the fix is easy. Part-of: <gst-plugins-good!966>
-
- Apr 24, 2021
-
-
* Try to make variable and function names more clear. * Add plenty of comments describing the logic step-by-step. * Improve the logging around this, making the logs easier to read and understand when debugging these issues. * Revise the logic of packets that are actually beyond saving in doing the following: 1. Do an optimistic estimation of which packets can still arrive. 2. Based on this, find which packets (and duration) are now hopelessly lost. 3. Issue an immediate lost-event for the hopelessly lost and then add lost/rtx timers for the ones we still hope to save, meaning that if they are to arrive, they will not be discarded. * Revise the use of rtx-delay: Earlier the rtx-delay would vary, depending on the pts of the latest packet and the estimated pts of the packet it being issued a RTX for, but now that we aim to estimate the PTS of the missing packet accurately, the RTX delay should remain the same for all packets. Meaning: If the packet have a PTS of X, the delay in asked for a RTX for this packet is always a constant X + delay, not a variable one. * Finally ensure that the chaotic "check-for-stall" tests uses timestamps that starts from 0 to make them easier to debug. Part-of: <gst-plugins-good!952>
-
- Apr 23, 2021
-
-
Guillaume Desmottes authored
Part-of: <!962>
-
Guillaume Desmottes authored
Ensure we receive a writable buffer to add the meta. Fix #878 Part-of: <gst-plugins-good!962>
-