- Oct 26, 2020
- Oct 22, 2020
-
-
Setting telemetry options, even to zero, causes libtheora to enable an expensive code path. For large enough videos (e.g. 1920x1080) this can increase the time to decode each frame by 30-40 ms, which can be enough to cause noticeable stutter. Part-of: <gstreamer/gst-plugins-base!892>
-
GLSLstage creates the glShader using glCreateShader, but never calls glDeleteShader if the glShader is not used anymore. This forces the GL library to keep the compiled shader around, because it might be used in the future. Therefore, the glShader is leaked whenever a GLSLStage is destroyed. Fix the leak by deleting the glShader when finishing the GLSLStage. Part-of: <gstreamer/gst-plugins-base!891>
-
OutputSlotInfo doesn't hold ref of queue, so gst_bin_remove() will free the queue memory. Part-of: <gstreamer/gst-plugins-base!890>
-
Demonstrate a way to select multiple streams Part-of: <gstreamer/gst-plugins-base!889>
-
It's required for users to be able to figure out associated GstStream object with a pad on pad-added callback. Part-of: <gstreamer/gst-plugins-base!889>
-
- Oct 17, 2020
-
-
Part-of: <gstreamer/gst-plugins-base!878>
-
On macOS, for example, "text/*" can be returned as mimetype for plaintext files but we don't allow '*' in structure names and this would cause critical warnings. It's a valid mimetype but not a valid structure name. Fixes gstreamer/gstreamer#616 Part-of: <gstreamer/gst-plugins-base!877>
-
- Oct 14, 2020
-
-
Otherwise default handler will try to forward it to sink element or srcpad which might not be available at that moment.
-
These then don't require going through the generic code path via AYUV64 first but can be converted directly. This speeds up processing of videotestsrc ! v210 ! videoconvert ! other_format ! fakesink by a factor of 1.55 for I420/YV12 and 1.40 for the other destination formats and reduces memory pressure considerably. Part-of: <gstreamer/gst-plugins-base!870>
-
This seems like an obvious mistake, since `modified_caps` was created but not used. Part-of: <gstreamer/gst-plugins-base!869>
-
Part-of: <gstreamer/gst-plugins-base!869>
-
- Oct 12, 2020
-
-
We validate the header extensions length of an RTP buffer by comparing it against the block size. Since we multiply the length in words by 4 to get the length in bytes, a suitably large length could cause a wrapround of the uint16, giving a lower length which erroneously passes the check and allows the buffer to be mapped. Part-of: <!865>
-
- Oct 11, 2020
-
-
The initial streams-selected message might not match any select-streams, in which case it is currently overriden with GST_SEQNUM_INVALID. Related to: - gstreamer/gstreamer-rs!601 Part-of: <gstreamer/gst-plugins-base!861>
-
- Oct 10, 2020
-
-
There are three instances where in- and outbuf have been swapped. This didn't affect the correctness of the libs *filter code, but the videoscale implementation swapped the arguments of meta->transform_func. Part-of: <gstreamer/gst-plugins-base!856>
-
e.g. on 32-bit arm, we may have armv6, armv7l, armv7hf, etc which all generally have the same layouts. cpu_family() groups all of these into just 'arm' that the ABI check table is expecting. Part-of: <gstreamer/gst-plugins-base!858>
-
Part-of: <gstreamer/gst-plugins-base!858>
-
Fields really should alternate in this mode. Part-of: <gstreamer/gst-plugins-base!859>
-
When user is passing the actual interlace-mode when calling gst_video_decoder_set_interlaced_output_state() it should not be overidden by the input interlace-mode. Needed to fix #825 as we want to keep interlace-mode=interleaved from parsers and have the OMX decoder producing interlace-mode=alternate. Part-of: <gstreamer/gst-plugins-base!859>
-
Part-of: <gstreamer/gst-plugins-base!859>
-
Apparently the sinkpad caps can get cleared when shutting down the pipeline while the sink is working, provoking a critical warning. Part-of: <gstreamer/gst-plugins-base!857>
-
- Oct 04, 2020
-
-
Fixes a typo from gstreamer/gst-plugins-base!800 Part-of: <gstreamer/gst-plugins-base!849>
-
Both "\" and "/" separators are allowed on Windows but the problem is that "\" is not converted to "\\" in this case. It will result to unknown/unrecognized character escape sequence. Part-of: <gstreamer/gst-plugins-base!851>
-
gst_pad_get_current_caps() may be wrong when there is a renegotiation in progress for the pad and we have not yet received or selected the buffer with different caps yet. Fix by storing the caps through in a similar way to the existing code for buffer/video-info selection machinery. Part-of: <gstreamer/gst-plugins-base!850>
-
- Oct 03, 2020
-
-
This is not actually required (anymore?). Source pad caps can be negotiated at any time regardless of any configured (or existing) sink pads and videoaggregator comes up with some fixated caps based on the downstream caps. Subclasses can override this behaviour as needed by overriding update_src_caps(). Part-of: <gstreamer/gst-plugins-base!848>
-
- Oct 02, 2020
-
-
`gst_gl_memory_read_pixels` reads pixels from `GLMemory` into the pointer, effectively writing to it. This is opposite from `gst_gl_memory_texsubimage` which reads texture data from `read_pointer` into `GLMemory`. Both cases are clarified by changing `read_pointer` to `write_pointer`, and explaining what `gst_gl_memory_texsubimage` does in addition to referring back to `gst_gl_memory_read_pixels`. Part-of: <!847>
-
On next aggregation the new offset will be calculated based on the segment position. Without this a rate change would cause a jump forwards or backwards in the output timeline. Part-of: <gstreamer/gst-plugins-base!845>
-
- Oct 01, 2020
-
-
If the transformation is just a copy, copy over the metadata. For AFD also copy over the metadata if the aspect ratio stays the same in scaling transformations. In all other cases fail the transformation. Part-of: <gstreamer/gst-plugins-base!841>
-
- Sep 30, 2020
-
-
This allows the new caps to be sent downstream as soon as possible instead of having to wait for the next buffer/buffer list. Part-of: <gstreamer/gst-plugins-base!840>
-
Part-of: <gstreamer/gst-plugins-base!839>
-
- Sep 08, 2020
-
-
Tim-Philipp Müller authored
-
- Sep 07, 2020
-
-
Tim-Philipp Müller authored
Part-of: <!808>
-
Sebastian Dröge authored
The type is called GstVideoTransferFunction so the function names should match, otherwise gobject-introspection is keeping the functions as global functions instead of methods on the type. The same mistake was also made in lots of other APIs over the years, but here we can at least fix it for 1.18 still. Thanks to Marijn Suijten for noticing. Part-of: <gstreamer/gst-plugins-base!807>
- Sep 02, 2020
-
-
Nirbheek Chauhan authored
When we're using wgl, we have to link to `-lopengl32`, not `-lGL`. Fixes building of anything that uses this pc file, such as the nvcodec plugin. Part-of: <!803>
-
- Aug 30, 2020
-
-
For audio we copy metas that have no tags at all, or that only have the "audio" and/or "audio-channels" tag. Audio codecs don't change the audio aspect of the stream and in almost all cases don't change the number of channels. They might however change the sample rate (e.g. Opus). Subclasses that change the number of channels will have to override ::transform_meta() accordingly. For video we copy metas that have no tags at all, or that only have the "video" and/or "video-size" and/or "video-orientation" tag. Video codecs don't change the "video" aspect of the stream and in almost all cases don't change the resolution or orientation. Subclasses that rescale or change the orientation will have to override ::transform_meta() accordingly. See gstreamer/gst-plugins-good!576 (comment 610581) Part-of: <gstreamer/gst-plugins-base!801>
-
- Aug 28, 2020
-
-
Tim-Philipp Müller authored
Part-of: <gstreamer/gst-plugins-base!802>
-
- Aug 27, 2020
-
-
Fixes case-insensitive file systems confusing gst-libs/gst/gl/egl/egl.h with EGL/egl.h when the source directory gst-libs/gst/gl is automatically added to the compiler's search path. Due to https://github.com/mesonbuild/meson/issues/7582 we also need to perform manual enumtype generation. Fixes gstreamer/gst-plugins-base#814
-
- Aug 26, 2020
-
-
Use a more naive blend formulation that avoids off-by-one errors at the 0x00 and 0xff alpha endpoints. Fixes #810 Part-of: <gstreamer/gst-plugins-base!796>
-
videorate/videoscale/audioresample: Ensure that the caps returned from fixate_caps() are actually fixated If there is some other field than the ones we care about left and not fixated yet then basetransform will just error out. So instead just pass the result through gst_caps_fixate() in the very end. Part-of: <gstreamer/gst-plugins-base!799>
-