- Jul 20, 2023
-
-
Tim-Philipp Müller authored
-
- Jul 19, 2023
-
-
Part-of: <gstreamer/gstreamer!5061>
-
The drop-frame rules are specified in “SMPTE ST 12-3:2016” and are consistent with the traditional ones: “ To minimize fractional time deviation from real time, the first two super-frame numbers (00 and 01) shall be omitted from the count at the start of each minute except minutes 00, 10, 20, 30, 40, and 50. Thus the first eight frame numbers (0 through 7) are omitted from the count at the start of each minute except minutes 00, 10, 20, 30, 40, and 50. ” Where “super-frame” is a group of 4 frames for 120 FPS. Fixes #2797 Part-of: <gstreamer/gstreamer!5061>
-
These are not explicitly defined but the existing calculations can be extended to also cover that case by inverting them to avoid floating point calculations. Fixes gstreamer/gstreamer#2465 Part-of: <gstreamer/gstreamer!5074>
-
Fixes ZDI-CAN-21444 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2782 Part-of: <gstreamer/gstreamer!5073>
-
Part-of: <gstreamer/gstreamer!5073>
-
Part-of: <gstreamer/gstreamer!5073>
-
Fixes ZDI-CAN-21443 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2782 Part-of: <gstreamer/gstreamer!5073>
-
Part-of: <gstreamer/gstreamer!5073>
-
Do not attempt to send a streams-selected message when reassigning an output slot in case upstream signalled that it is handling stream selection. In this case decodebin3 doesn't keep track of stream collections (`dbin->collection` is NULL). Part-of: <gstreamer/gstreamer!5069>
-
Setting the input field on the empty slot prevents future linking of it and will result in flow errors later on. This was observed in WebKit's MediaStream source element, when it changes the caps on one of its associated streams, from an encoded format to a raw video format. The associated stream-id on the sticky stream-start event doesn´t change, but the element creates a new GstStream with a different ID and sets it on the stream-start event. Stream parsing is disabled in urisourcebin, so decodebin3 handles the parsing. Without this patch we would end-up with unlinked pads in decodebin3 after switching to the raw video format. Part-of: <gstreamer/gstreamer!5067>
-
So that `gst_query_type_get_name()` won't return "unknown" for this type. Part-of: <gstreamer/gstreamer!5067>
-
- Jul 18, 2023
-
-
Generating the source element is done when urisourcebin is doing the READY to PAUSED state change, so it is reasonable to set the new source element to that state. This also allows detecting early failures with backing libraries or hardware (checks done in NULL->READY). Finally it makes more sense to have an element in READY when attempting to query information from it (such as SCHEDULING queries or probing live-ness). Part-of: <gstreamer/gstreamer!5058>
-
In the same way we don't for regular playlists in the base class. If there is a referer specified by the app/user, the downloadhelper will set it accordingly. Part-of: <gstreamer/gstreamer!5057>
-
There's no guarantee it will *actually* be the URI which refered to what we are downloading. It could be a stream URI or anything else. Instead of putting something wrong, put no (specific) referer as a better choice Part-of: <gstreamer/gstreamer!5057>
-
The current implementation copies metas without checking if the buffer is writable. The operation that needs to be done, replacing the input buffer and copying the metas, is only part of that process. We create a new function that does both. Part-of: <gstreamer/gstreamer!5054>
-
From gstreamer/gst-editing-services!247 Part-of: <gstreamer/gstreamer!5055>
-
From gstreamer/gst-editing-services!247 Part-of: <gstreamer/gstreamer!5055>
-
It's only malformed data in APP when its length is less than 6 chars, because it should have at least an id string. Otherwise, if the id string is not handled, no warning is raised, only a debug message noticing it. Part-of: <gstreamer/gstreamer!5053>
-
Part-of: <gstreamer/gstreamer!5053>
-
According to spec, the JPEG_MARKER_DRI(Restart interval definition) marker can come before the SOS marker. So we should not check the SOS state when parsing the DRI marker. Part-of: <gstreamer/gstreamer!5053>
-
This check fixes a critical warning that can happen when a pointer motion happens and the video doesn't have its width/height information available. GStreamer-Video-CRITICAL **: gst_video_center_rect: assertion 'src->h != 0' failed #0 g_logv (log_domain=0x7ffff705e176 "GStreamer-Video", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../../../../Projects/jhbuild/glib/glib/gmessages.c:1422 #1 0x00007ffff7e1a81d in g_log (log_domain=<optimized out>, log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7ffff7e77a9d "%s: assertion '%s' failed") at ../../../../Projects/jhbuild/glib/glib/gmessages.c:1460 #2 0x00007ffff7e1b749 in g_return_if_fail_warning (log_domain=<optimized out>, pretty_function=<optimized out>, expression=<optimized out>) at ../../../../Projects/jhbuild/glib/glib/gmessages.c:2930 #3 0x00007ffff701d90b in gst_video_sink_center_rect (src=..., dst=..., result=result@entry=0x7fffffffc6d0, scaling=scaling@entry=1) at ../../../../Projects/jhbuild/gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/gstvideosink.c:105 #4 0x00007fffe5652dbb in _fit_stream_to_allocated_size (result=0x7fffffffc6d0, allocation=0x7fffffffc6c0, base_widget=0x9396f0) at ../../../../Projects/jhbuild/gstreamer/subprojects/gst-plugins-good/ext/gtk/gtkgstbasewidget.c:326 #5 gtk_gst_base_widget_display_size_to_stream_size (base_widget=base_widget@entry=0x9396f0, x=1207.7109375, y=811.84765625, stream_x=stream_x@entry=0x7fffffffc720, stream_y=stream_y@entry=0x7fffffffc728) at ../../../../Projects/jhbuild/gstreamer/subprojects/gst-plugins-good/ext/gtk/gtkgstbasewidget.c:344 #6 0x00007fffe5651a4b in gst_gtk_base_sink_navigation_send_event (navigation=0x5ff990, event=0x178a730) at ../../../../Projects/jhbuild/gstreamer/subprojects/gst-plugins-good/ext/gtk/gstgtkbasesink.c:340 #7 0x00007fffe5652432 in gtk_gst_base_widget_motion_event (widget=<optimized out>, event=event@entry=0x1f14b60) at ../../../../Projects/jhbuild/gstreamer/subprojects/gst-plugins-good/ext/gtk/gtkgstbasewidget.c:404 Part-of: <gstreamer/gstreamer!5051>
-
- Jul 13, 2023
-
-
The sink_query() function simply calls the sink_query() function of the parent videoencoder class. Remove the override to simply directly call the parent's function. Part-of: <gstreamer/gstreamer!5036>
-
The videoencoder base class uses getcaps() to ask a subclass for the caps in its sink_query_default() implementation. Replace the custom handling of the QUERY_CAPS in the v4l2videoenc with an implementation of getcaps() that returns the caps that are supported by the v4l2videoenc to return these caps in the query. This getcaps() implementation also calls the provided proxy_getcaps(), which sends a caps query to downstream. This fixes the v4l2videoenc element to respect limits of downstream elements in a sink query. Part-of: <gstreamer/gstreamer!5036>
-
- Jul 12, 2023
-
-
Given the amount of complains about artifacts when negotiating dmabuf given incompatible drm-formats, and that there's no enough bandwidth for a proper and quick fix in gstreamer-vaapi, this patch disables, from decoders and postprocessor, the DMABuf caps feature. For those who needs DMABuf can use the va elements in -bad, increasing their ranking for autoplugging by using the environment variable GST_PLUGIN_FEATURE_RANK=vah264dec:MAX, for example. This can be considered a first step to the deprecation of gstreamer-vaapi in favor of the va plugin in -bad. Fixes: #1137 Part-of: <!5029>
-
Commit 22917b14 added extra locks in `reset_input_parsebin()` but all call sites of that function already take the input lock. Part-of: <gstreamer/gstreamer!5025>
-
Part-of: <gstreamer/gstreamer!4959>
-
Matthew Waters authored
Required to be able to generate coherent bindings for window system specific APIs due to limitations in gobject-introspection. Part-of: <gstreamer/gstreamer!4959>
-
Matthew Waters authored
It is not needed at all by any external implementations and should not be exposed to the outside world. Part-of: <gstreamer/gstreamer!4959>
-
Vivante direct textures do not depend on the viv-fb windowing system. Decouple these two to be able to use direct textures even when viv-fb is not enabled. Part-of: <!4959>
-
Needed by qmlglsink at build time to allocate a viv-fb display. Without this, the GL fastpath doesn't work, and performance is really bad. Part-of: <!4959>
-
Fix compiler warnings about not using the return value when freeing the GString segment with g_string_free(.., FALSE): ignoring return value of ‘g_string_free_and_steal’ declared with attribute ‘warn_unused_result’ which we get with newer GLib versions. These were all harmless. Part-of: <!5015>
-
- Jul 11, 2023
-
-
There's no reason to release GstMemory manually at all. If we do release GstMemory, corresponding GstBuffer will be discarded by GstBufferPool baseclass because the size is changed to zero. Actual cause of heavy CPU usage in case of fixed-size pool (i.e., decoder output buffer pool) and if we remove GstMemory from GstBuffer is that GstBufferPool baseclass is doing busy wait in acquire_buffer() for some reason. That needs to be investigated though, discarding and re-alloc every GstBuffer is not ideal already. Part-of: <!4943>
-
The max_channels value wasn't clamped to 65534 in all situations. Part-of: <!5012>
-
Removes the signal byte when the frame is unencrypted to be consistent with when the frame is encrypted. Part-of: <!5014>
-
Part-of: <!5013>
-
- Jul 10, 2023
-
-
`gst_aggregator_set_latency` will post a message on the bus which triggers traces for not constructed objects which fails in rust tracers as object should have names in all traces. Part-of: <!4984>
-
`gst_pad_create_stream_id` runs a URI query on the element which triggers traces for not constructed objects which fails in rust tracers as object should have names in all traces. Part-of: <!4984>
-
It means setting state which triggers traces for not constructed objects which fails in rust tracers as object should have names in all traces. Part-of: <!4984>
-