gst-plugins-base merge requestshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests2024-02-14T13:27:49Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1238Draft: appsink: Unblock pull-preroll on GAP event2024-02-14T13:27:49ZSeungha Yangseungha@centricular.comDraft: appsink: Unblock pull-preroll on GAP eventFrom application point of view, it's tricky to know that whether
pipeline is prerolled by buffer/buffer-list or by GAP event.
Then, if pipeline is prerolled by GAP event but pipeline's state
is staying in PAUSED, pull-preroll would be bl...From application point of view, it's tricky to know that whether
pipeline is prerolled by buffer/buffer-list or by GAP event.
Then, if pipeline is prerolled by GAP event but pipeline's state
is staying in PAUSED, pull-preroll would be blocked forever
which doesn't seem to very desired behavior.
Depends on: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/861https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/477macos 10.15: draw UI API called on a background thread2023-11-09T15:38:54ZRoman Shpuntovmacos 10.15: draw UI API called on a background threadhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/686
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/685https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/686
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/685https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1121test/profile: Use random profile names for load/save tests.2023-10-23T20:39:39ZDoug Nazartest/profile: Use random profile names for load/save tests.The tests use a shared directory to store the profiles. If tests are run
concurrently would race and cause failures.The tests use a shared directory to store the profiles. If tests are run
concurrently would race and cause failures.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/820video-scaler, audio-resampler: downgrade `can't find exact taps` to debug2023-09-20T21:23:33ZNazar Mokrynskyivideo-scaler, audio-resampler: downgrade `can't find exact taps` to debugFixes #631Fixes #631GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/188decodebin3: force to pushing custom stream-start when no stream-start in inpu...2023-06-09T08:43:07ZHOONHEE LEEdecodebin3: force to pushing custom stream-start when no stream-start in input streamThis is timing issue and it could be observed as below scenario.
1) parsebin0:src_0 is received EOS.
2) It is marked to custom EOS and pushed it to multiqueue0:src_0.
3) parsebin0:src_1 is received EOS and recognize ALL EOS state in mul...This is timing issue and it could be observed as below scenario.
1) parsebin0:src_0 is received EOS.
2) It is marked to custom EOS and pushed it to multiqueue0:src_0.
3) parsebin0:src_1 is received EOS and recognize ALL EOS state in multiqueue pre.
4) It is pushed to multiqueue0:src_1 as regular EOS.
5) Decodebin3 understand multiqueue pre and post are in ALL EOS when all drained.
6) Decodebin3 try to send custom stream-start and final EOS to multiqueue all sinkpads.
In normal case, we could get stored stream-start event from parsebin0:srcpads.
But we've got NULL stream-start event and it is rarely found.
Therefore, final EOS is propataged without custom stream-start and it is just handled
in multiqueue's sink_event and then final EOS is not delivered to multiqueue post
(e.g multiqueue_src_probe).
To fallback this symptom, we make manually custom stream-start event and push before
final EOS.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/121https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/262decodebin3: introduce parse input lock for upstream changes2023-06-09T08:42:14ZHOONHEE LEEdecodebin3: introduce parse input lock for upstream changesWhen upstream changes like dynamic stream changes is happened,
below symptom may be observed.
1) DecodebinInputSteam is created in create_input_stream.
But, it is not linked yet to multiqueue sinkpad and not assigned.
2) custom-...When upstream changes like dynamic stream changes is happened,
below symptom may be observed.
1) DecodebinInputSteam is created in create_input_stream.
But, it is not linked yet to multiqueue sinkpad and not assigned.
2) custom-eos is delivered to multiqueue srcpad and it understands
input stream is null and try to release slot by async call.
3) The new input stream is linked to slot by link_input_to_slot.
4) The slot is released by free_multiqueue_slot.
After that the DecodebinInputStream lost correponding slot and
It may cause unexpected behaviour or crash symptom.
To avoid this problem, take parse input lock for create_input_stream
and custom-eos is handled in multiqueue srcpad.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/712discoverer: Add force-sw-decoders property to use only software decoders2023-06-01T16:11:45ZJimmy Ohndiscoverer: Add force-sw-decoders property to use only software decodersAllow users to use software decoders using force-sw-decoders property.Allow users to use software decoders using force-sw-decoders property.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/293GstRTPAudioLevelMeta, implementation of RFC64642023-06-01T16:00:15ZHåvard GraffGstRTPAudioLevelMeta, implementation of RFC6464Tagging RTP-buffers with audio-level and a speaker-indication is very useful in switching architectures, when you want to make decisions of which audio and/or video streams to forward. This patch can take a GstRTPAudioLevelMeta and trans...Tagging RTP-buffers with audio-level and a speaker-indication is very useful in switching architectures, when you want to make decisions of which audio and/or video streams to forward. This patch can take a GstRTPAudioLevelMeta and transfer that as an RTP-header extension with the payloader, and similarly take the header-extension and transform it into a GstRTPAudioLevelMeta in the depayloader.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/981playback: support runtime change connection-speed of adaptivedemux2023-05-25T15:52:18ZHaihua Huplayback: support runtime change connection-speed of adaptivedemuxupdate connection-speed at runtime in playbin, uridecodebin and decodebinupdate connection-speed at runtime in playbin, uridecodebin and decodebinhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1161videoconvert: Increase rank to secondary.2023-05-25T15:13:13ZVíctor Manuel Jáquez Lealvideoconvert: Increase rank to secondary.Most of video filters has rank none, so when autovideoconvert is used,
the alphabetical order is used, where this element might be the last
one, and this is not the desired behavior because videoconvert
normally is more stable.
This pat...Most of video filters has rank none, so when autovideoconvert is used,
the alphabetical order is used, where this element might be the last
one, and this is not the desired behavior because videoconvert
normally is more stable.
This patch increases the rank of videoconvert so it could be
chosen before others. If some user prefer other color converters they
can use GST_PLUGIN_FEATURE_RANK environment variable.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1234videoaggregator: Implement Aggregator::replace_next_sample()2023-05-23T10:15:11ZSebastian Drögevideoaggregator: Implement Aggregator::replace_next_sample()CC @mehCC @mehhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/579gst_sdp_message: add remove media2023-05-20T08:21:48ZStefano Buoragst_sdp_message: add remove mediaAdd the method remove media in order to complete the set of API available to manipulate SDP messagesAdd the method remove media in order to complete the set of API available to manipulate SDP messageshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/911Validate the alignment of video meta only when the GstVideoAlignment is valid2023-05-19T08:53:54ZHe JunyanValidate the alignment of video meta only when the GstVideoAlignment is validThere is no need to Validate the alignment of video meta when the GstVideoAlignment contains all zero values. It does not contain any valid info about the alignment/padding. We can just trust the video meta's info and no need to check fu...There is no need to Validate the alignment of video meta when the GstVideoAlignment contains all zero values. It does not contain any valid info about the alignment/padding. We can just trust the video meta's info and no need to check further.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/535decodebin3: Avoid duplicate streams2023-05-19T06:11:07ZAlicia Boya Garcíadecodebin3: Avoid duplicate streamsElements emitting stream collections do so by not only posting the
GST_MESSAGE_STREAM_COLLECTION, but also then pushing a
GST_EVENT_STREAM_COLLECTION through each srcpad.
The latter is how decodebin3 detects stream collections itself, a...Elements emitting stream collections do so by not only posting the
GST_MESSAGE_STREAM_COLLECTION, but also then pushing a
GST_EVENT_STREAM_COLLECTION through each srcpad.
The latter is how decodebin3 detects stream collections itself, as
the GST_MESSAGE_STREAM_COLLECTION may be posted before the source
element is added to the pipeline and therefore missed.
But it should be noted: when the source has two srcpads the stream
collection event is received twice!
When decodebin3 receives several stream collections it reacts by
creating a new one combining all the streams... But the code doing so
did not take into account the case mentioned before, where both
collections are actually the same and have the same streams. This patch
fixes that.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1263build: Fix g_memdup2 implementation for gio < 2.67.42023-05-18T15:41:14ZVíctor Manuel Jáquez Lealbuild: Fix g_memdup2 implementation for gio < 2.67.4This is a regression from commit 577dabf7, since there's an extra
parenthesis.
Cc: @tpmThis is a regression from commit 577dabf7, since there's an extra
parenthesis.
Cc: @tpmhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1255audio/video aggregator: make use of new aggregator inactive pad API2023-05-18T15:33:14ZMathieu Duponchelleaudio/video aggregator: make use of new aggregator inactive pad APISee https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/867See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/867https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/873gl/viv-fb: install viv-fb header into include dir2023-05-13T17:33:26ZHaihua Hugl/viv-fb: install viv-fb header into include dirprevious patch is in below link, but this change is
missing on meson build
https://bugzilla.gnome.org/show_bug.cgi?id=795499previous patch is in below link, but this change is
missing on meson build
https://bugzilla.gnome.org/show_bug.cgi?id=795499https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1211theoradec: make sure the selected pool accepts the new config2023-05-11T08:41:20ZMichael Olbrichtheoradec: make sure the selected pool accepts the new configIf gst_buffer_pool_set_config() fails then the pool will use its old
config. This may include different width or height when
pic_width/pic_height != frame_width/frame_height.
As a result, the assertions in theora_handle_image() will fail...If gst_buffer_pool_set_config() fails then the pool will use its old
config. This may include different width or height when
pic_width/pic_height != frame_width/frame_height.
As a result, the assertions in theora_handle_image() will fail.
So check the result of gst_buffer_pool_set_config() and only use the pool
if it succeeds. Otherwise let the parrent decide_allocation() create a new
pool.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/843videodecoder: Allow outputting non-writable buffer2023-02-15T20:53:17ZSeungha Yangseungha@centricular.comvideodecoder: Allow outputting non-writable bufferSome subclasses might hold a ref of outputting buffer (or memory).
For example, if subclass is outputting a buffer which would be used
for reference picture, it shouldn't be writable.
But if there's no meta to add to the outputting buffe...Some subclasses might hold a ref of outputting buffer (or memory).
For example, if subclass is outputting a buffer which would be used
for reference picture, it shouldn't be writable.
But if there's no meta to add to the outputting buffer, it doesn't need to
be writable.
cc: @ndufresnehttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1158WIP: glvideomixer: Add scaling policy to support PAR-aware scaling2023-01-28T12:30:24ZSeungha Yangseungha@centricular.comWIP: glvideomixer: Add scaling policy to support PAR-aware scalingIdentical to https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156 but for GLIdentical to https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156 but for GL