gst-plugins-good merge requestshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests2023-03-09T09:06:53Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/71splitmuxsrc: Implement state change asynchronously instead of blocking2023-03-09T09:06:53ZSebastian Drögesplitmuxsrc: Implement state change asynchronously instead of blockingBlocking in change_state() is a recipe for disaster, even more so even
we wait for another thread that also calls into various element API and
could then lead to deadlocks on e.g. the state lock.
----
See https://gitlab.freedesktop.org...Blocking in change_state() is a recipe for disaster, even more so even
we wait for another thread that also calls into various element API and
could then lead to deadlocks on e.g. the state lock.
----
See https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/651.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/29rtpssrcdemux: Forward serialized events to all pads2020-06-23T14:09:43ZNicolas Dufresnertpssrcdemux: Forward serialized events to all padsWhile forwarding serialized event, we use gst_pad_forward() function.
In the forward callback (GstPadForwardFunction) we always return
TRUE. Returning true there will stop the dispatching procedure. As a
side effect, only one events is r...While forwarding serialized event, we use gst_pad_forward() function.
In the forward callback (GstPadForwardFunction) we always return
TRUE. Returning true there will stop the dispatching procedure. As a
side effect, only one events is receiving the events. This breaks
when sending EOS from the applicaiton, it also breaks the latency
tracer.1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/31aspectcropratio: Set caps from the streaming thread on property changes2020-06-23T14:09:42ZThibault Sauniertsaunier@igalia.comaspectcropratio: Set caps from the streaming thread on property changesOtherwise it might lead to deadlocks
See https://gitlab.gnome.org/GNOME/pitivi/issues/2259
Added test in -validate, see:
* https://gitlab.freedesktop.org/gstreamer/gst-devtools/merge_requests/6
* https://gitlab.freedesktop.org/...Otherwise it might lead to deadlocks
See https://gitlab.gnome.org/GNOME/pitivi/issues/2259
Added test in -validate, see:
* https://gitlab.freedesktop.org/gstreamer/gst-devtools/merge_requests/6
* https://gitlab.freedesktop.org/gstreamer/gst-integration-testsuites/merge_requests/2/diffs1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/51qtgl: Handle OPENGL header guard changes2020-06-23T14:09:42ZEdward Herveyqtgl: Handle OPENGL header guard changesIn 2018 khronos changed the gl header guards. If we don't detect
this properly we would end up with plenty of symbol redifinition
(since we would be importing twice the "same" header).
Instead detect if the "newer" header was already in...In 2018 khronos changed the gl header guards. If we don't detect
this properly we would end up with plenty of symbol redifinition
(since we would be importing twice the "same" header).
Instead detect if the "newer" header was already included and if
so define the "old" define to avoid this situation
Fixes #5231.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/65qtdemux: Offset correction for track language code parsing2020-06-23T14:09:42ZPhilippe Normandqtdemux: Offset correction for track language code parsingThe duration field being a uint64, is stored in 8 bits, not 4. So the offset of
the following field, language code, needs to be updated accordingly so that the
parsed language code is not garbage.The duration field being a uint64, is stored in 8 bits, not 4. So the offset of
the following field, language code, needs to be updated accordingly so that the
parsed language code is not garbage.1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/69pulsesrc: fix checking for invalid stream index2020-06-23T14:09:41ZMarc-André Lureaupulsesrc: fix checking for invalid stream indexPA_INVALID_INDEX, the default value, is unfortunately !0.
Setting the volume before the stream is created will put the ring
buffer in error state. Unfortunately, that's what spice-gtk does.
PA_INVALID_INDEX, the default value, is unfortunately !0.
Setting the volume before the stream is created will put the ring
buffer in error state. Unfortunately, that's what spice-gtk does.
1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/20gstrtp: Fixes for FLAC support2020-06-16T00:06:58ZJochen Hennebergjh@henneberg-systemdesign.comgstrtp: Fixes for FLAC supportThe challenge was to stream FLAC audio using gstrtppay/depay and correctly track caps changes.
The test setup was like this:
Decoder:
gst-launch udpsrc ! application/x-rtp,media=application,encoding-name=X-GST,clock-rate=90000,payload...The challenge was to stream FLAC audio using gstrtppay/depay and correctly track caps changes.
The test setup was like this:
Decoder:
gst-launch udpsrc ! application/x-rtp,media=application,encoding-name=X-GST,clock-rate=90000,payload=96 ! \
rtpgstdepay ! flacdec ! autoaudiosink
Encoder 1:
gst-launch audiotestsrc ! audio/x-raw,channels=2,rate=48000 ! flacenc ! rtpgstpay config-interal=1 ! udpsink
Encoder 2:
gst-launch audiotestsrc ! audio/x-raw,channels=6,rate=48000 ! flacenc ! rtpgstpay config-interal=1 ! udpsink
Decoder is started before or after Encoder 1 has been started, after Decoder started decoding Encoder 1 is
stopped and Encoder 2 is started while the decoder remains running.
This does not work without the patches from this branch.
In my opinion the patches for rtpgstdepay are generic and needed for other streaming setup with changing source
stream caps as well.1.15.1Sebastian DrögeSebastian Drögehttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/37Resolve "rtpssrcdemux: Does not behave correct when adding pads"2020-06-16T00:06:56ZNicolas DufresneResolve "rtpssrcdemux: Does not behave correct when adding pads"Closes #521Closes #5211.15.1Sebastian DrögeSebastian Drögehttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/77gtk/gl: Only unbind buffers/vertex attrib arrays if we can't directly bind th...2020-06-16T00:06:53ZSebastian Drögegtk/gl: Only unbind buffers/vertex attrib arrays if we can't directly bind the vertex array to 0(changed title to match commit)
That is, first disable the vertex arrays, then bind the buffers to 0 and
only then bind the vertex array to 0 instead of the other way around.
In the previous order older versions of the Intel GL dr...(changed title to match commit)
That is, first disable the vertex arrays, then bind the buffers to 0 and
only then bind the vertex array to 0 instead of the other way around.
In the previous order older versions of the Intel GL driver caused
errors to be printed for every single call when disabling the vertex
arrays.
----
CC @ystreet1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/41rtspsrc: send GstRTSPSrcTimeout message on timeout2020-06-16T00:06:53ZPatrick Radizirtspsrc: send GstRTSPSrcTimeout message on timeoutThe GstRTSPSrcTimeout message is sent by the rtspsrc when it receives
the on-timeout signal from rtpsession. This can be used by an
application for error handling.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/499...The GstRTSPSrcTimeout message is sent by the rtspsrc when it receives
the on-timeout signal from rtpsession. This can be used by an
application for error handling.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/499
Change-Id: I95c5fa41b5e623747e976b531c9af865b9d5463b1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/73flv: Add support for encoder metadata2020-06-16T00:06:52ZSebastian Drögeflv: Add support for encoder metadataSee individual commit messages for details.See individual commit messages for details.1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/74pulsesrc: Move to extended stream API2020-06-16T00:06:52ZArun Raghavanpulsesrc: Move to extended stream APIThis is needed as a precursor to allowing capture of IEC61937
formats. We now also need to include the channel map while converting
format info to caps so that a correct channel mask is generated for
pulsesrc's caps.This is needed as a precursor to allowing capture of IEC61937
formats. We now also need to include the channel map while converting
format info to caps so that a correct channel mask is generated for
pulsesrc's caps.1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/72rtph264pay/rtph265pay: Only mark the last fragment of an AU2020-06-16T00:06:51ZJan Alexander Steffensrtph264pay/rtph265pay: Only mark the last fragment of an AUCommit 4add820cce278213ede3d5fce427ea92e0619b6f removed the check for the end of fragmentation. As a result, all fragments of an AU's last NALU were marked.
Includes a new test that fails without the patch.
Potential fix for https:...Commit 4add820cce278213ede3d5fce427ea92e0619b6f removed the check for the end of fragmentation. As a result, all fragments of an AU's last NALU were marked.
Includes a new test that fails without the patch.
Potential fix for https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/5401.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/63qtdemux: Split CEA608 buffers correctly so that each output buffer represents...2020-06-16T00:06:51ZSebastian Drögeqtdemux: Split CEA608 buffers correctly so that each output buffer represents a single frameEA608 closed caption tracks are a bit special in that each sample
can contain CCs for multiple frames, and CCs can be omitted and have to
be inferred from the duration of the sample then.
----
CC @bilboedEA608 closed caption tracks are a bit special in that each sample
can contain CCs for multiple frames, and CCs can be omitted and have to
be inferred from the duration of the sample then.
----
CC @bilboed1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/59Revert "rtpbin: receive bundle support"2020-06-16T00:06:50ZMathieu DuponchelleRevert "rtpbin: receive bundle support"This reverts commit dcd3ce9751cdef0b5ab1fa118355f92bdfe82cb3.
This functionality was implemented for gstopenwebrtc, but it
turned out this was not actually needed for webrtc bundling
support, as shown in webrtcbin.
This is an API break...This reverts commit dcd3ce9751cdef0b5ab1fa118355f92bdfe82cb3.
This functionality was implemented for gstopenwebrtc, but it
turned out this was not actually needed for webrtc bundling
support, as shown in webrtcbin.
This is an API break, but nothing should actually depend on
this, at least not for its initial purpose.
Changes in rtpbin.c were reverted manually, to preserve some
refactoring that had occurred in the original commit.
Fixes #537
CC @philn1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/62rtph264pay/rtph265pay: Fix use after free2020-06-16T00:06:49ZNicolas Dufresnertph264pay/rtph265pay: Fix use after freeWe can't assume a buffer that has been pushed in the adapter is still
valid. This fixes a use after free detect when running test on jenkins.
cc @bilboedWe can't assume a buffer that has been pushed in the adapter is still
valid. This fixes a use after free detect when running test on jenkins.
cc @bilboed1.15.1Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/60tagschecking: Use gst_message_parse_warning in case of GST_MESSAGE_WARNING2020-06-16T00:06:48ZKimTaeSootagschecking: Use gst_message_parse_warning in case of GST_MESSAGE_WARNINGBus message handler of tags checking unit test uses gst_message_parse_error()
in case of GST_MESSAGE_ERROR and GST_MESAGE_WARNING.
If gst_message_parse_error() is called in case of GST_MESSAGE_WARNING, assert occurs.
So modified to use g...Bus message handler of tags checking unit test uses gst_message_parse_error()
in case of GST_MESSAGE_ERROR and GST_MESAGE_WARNING.
If gst_message_parse_error() is called in case of GST_MESSAGE_WARNING, assert occurs.
So modified to use gst_message_parse_warning() in case of GST_MESSAGE_WARNING.1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/61test: rtph264/265: Add libgstrtp in auto-tool makefile2020-06-16T00:06:48ZNicolas Dufresnetest: rtph264/265: Add libgstrtp in auto-tool makefileThis fixes Jenkins auto-tool build.
https://ci.gstreamer.net/job/GStreamer-master/11325/consoleThis fixes Jenkins auto-tool build.
https://ci.gstreamer.net/job/GStreamer-master/11325/console1.15.1Edward HerveyEdward Herveyhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/10RTP H264 / H265 pay and depayloader fixes2020-06-16T00:06:47ZNicolas DufresneRTP H264 / H265 pay and depayloader fixesThis branch fixes various issues I met while using the RTP H264/H265 element in low latency streaming. Notably fixes:
- Broken and missing the marker bit passing
- Timestamps being off by one (in the past)
- Protect against encoder...This branch fixes various issues I met while using the RTP H264/H265 element in low latency streaming. Notably fixes:
- Broken and missing the marker bit passing
- Timestamps being off by one (in the past)
- Protect against encoder using reserved RTP H264 defined NALs
TODO:
- [x] Check in H264 pay that reserved NALs 24-27 are ignored
- [x] Check in depay that marker bit is passed on GstBuffer
- [x] Check that marker bit is set in pay
- [x] Check timestamps transfer1.15.1Nicolas DufresneNicolas Dufresnehttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/57rtpulpfec: stop and start the harness when setting error-after2020-06-16T00:06:47ZJonny Lambrtpulpfec: stop and start the harness when setting error-aftergstreamer!55 makes some changes to how the `error-after` counter works
which breaks this test. This change makes the test not rely on the
ability to alter `error-after` at runtime and explicitly stops and
starts the harness before pushin...gstreamer!55 makes some changes to how the `error-after` counter works
which breaks this test. This change makes the test not rely on the
ability to alter `error-after` at runtime and explicitly stops and
starts the harness before pushing data.
An alternative would have been to add another argument to
`harness_rtpulpfecdec` to set `error-after` on construction but that's
slightly more long-winded.
Fixes #532, even though that's already closed.1.15.1