gst-plugins-good issueshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues2020-09-10T13:08:56Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/121New imagesequencesrc element2020-09-10T13:08:56ZBugzilla Migration UserNew imagesequencesrc element## Submitted by César Fabián Orccón Chipana
Assigned to **Tim Müller `@tpm`**
**[Link to original bug (#731890)](https://bugzilla.gnome.org/show_bug.cgi?id=731890)**
## Description
Created attachment 278728
It is an example of h...## Submitted by César Fabián Orccón Chipana
Assigned to **Tim Müller `@tpm`**
**[Link to original bug (#731890)](https://bugzilla.gnome.org/show_bug.cgi?id=731890)**
## Description
Created attachment 278728
It is an example of how to use GstImageSequenceSrc
Hello guys. I've written an element in gst-plugins-bad which I called as GstImageSequenceSrc. It works very similar to GstMultiFileSrc, but there are some differences.
Differences with GstMultiFileSrc.
* Handles a list of filenames instead of a printf pattern as GstMultiFileSrc does.
- Having a list of filenames is useful because you can set the filenames you want,
in the order you want. For example, you can add more filenames or sort the list.
- There are two ways to create this list:
a) Setting a location propertie. This value could look like:
1) "/some/folder/with/images/ or ."
2) "/a/path/img.jpg,/other/path/img2.jpg" or "img1.png,img2.png"
3) "/a/path/*.JPEG" or "*.png"
b) Setting the filename-list (GList) directly.
* Creates an "imagesequence://" protocol which allows the playbin to play this element. It handles a 'fake' uri but it is useful finally.
gst-launch-1.0 playbin uri="imagesequencesrc:///some/path/*.jpg?framerate=20/1&loop=1"
* It "detects" the mimetype of the images. You only have to worry about the framerate.
* It calculates the duration.
Things to improve:
* Seeking: it seeks to the wrong image sometimes (actually, after many seeks).
* The way duration is calculated.
PD: stormer was telling me to support png *and* jpeg files (both at the same time) but I don't see a usecase.
You can see the most-stable version of this element in
https://github.com/cfoch/gst-plugins-bad/tree/sequences/gst/sequences
Develop:
https://github.com/cfoch/gst-plugins-bad/tree/sequences-develop/gst/sequences
~~**Attachment 278728**~~, "It is an example of how to use GstImageSequenceSrc":
[test.c](/uploads/9b8abb9dd4eda1d72784fad547dfcf35/test.c)1.18.0https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/31mpegaudioparse: Add support for LAME tags and adjust segments based on the pa...2022-05-04T19:50:42ZBugzilla Migration Usermpegaudioparse: Add support for LAME tags and adjust segments based on the padding information from it## Submitted by nyall
**[Link to original bug (#620323)](https://bugzilla.gnome.org/show_bug.cgi?id=620323)**
## Description
Currently, gstreamer is ignoring the lame tags in mp3s during gapless playback. These tags contain informat...## Submitted by nyall
**[Link to original bug (#620323)](https://bugzilla.gnome.org/show_bug.cgi?id=620323)**
## Description
Currently, gstreamer is ignoring the lame tags in mp3s during gapless playback. These tags contain information about the padding at the start and end of the files, which should be skipped to get perfect gapless playback of these files. Without using these tags, there'll always be a tiny silence or glitch between songs.
Here's an example of the lame tags in a file which should play back gaplessly:
$eyeD3 --lametag Track01.mp3
Track01.mp3 [ 3.77 MB ]
Encoder Version : LAME3.98r
LAME Tag Revision : 0
VBR Method : Variable Bitrate method2 (mtrh)
Lowpass Filter : 18500
Radio Replay Gain : -2.0 dB (Set automatically)
Encoding Flags : --nspsytune --nssafejoint
ATH Type : 4
Bitrate (Minimum) : 192
Encoder Delay : 576 samples
Encoder Padding : 960 samples
Noise Shaping : 1
Stereo Mode : Joint
Unwise Settings : False
Sample Frequency : 44.1 kHz
MP3 Gain : 0 (+0.0 dB)
Preset : V2
Surround Info : None
Music Length : 3.77 MB
Music CRC-16 : 07F9
LAME Tag CRC-16 : E5BF
The encoder delay and encoder padding tags describe how many samples were added at the start and end of the audio to complete the frames. Some more information is available on this page: http://gabriel.mp3-tech.org/mp3infotag.html
### Depends on
* [Bug 740196](https://bugzilla.gnome.org/show_bug.cgi?id=740196)1.21.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/356souphttpsrc: Implement soup session sharing2020-02-19T04:52:39ZBugzilla Migration Usersouphttpsrc: Implement soup session sharing## Submitted by Sebastian Dröge `@slomo`
**[Link to original bug (#780140)](https://bugzilla.gnome.org/show_bug.cgi?id=780140)**
## Description
Also needs some patches for adaptivedemux to make use of that, but with that
it's then...## Submitted by Sebastian Dröge `@slomo`
**[Link to original bug (#780140)](https://bugzilla.gnome.org/show_bug.cgi?id=780140)**
## Description
Also needs some patches for adaptivedemux to make use of that, but with that
it's then possible to use exactly the same connection for the initial
manifest, any variant manifests and the fragments. Which speeds up
time-to-play a lot especially if using HTTPS where every connection setup is
very expensive.
### See also
* [Bug 785110](https://bugzilla.gnome.org/show_bug.cgi?id=785110)
* [Bug 762138](https://bugzilla.gnome.org/show_bug.cgi?id=762138)1.13.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/1040sdp: add source-filter in SDP information generated by gstreamer2024-02-10T16:46:42Zbigbrobrodysdp: add source-filter in SDP information generated by gstreamerEnhancement: Add support for SDP source-filter field as per RFC 4570.
The source-filter line should be added when a source-specific multicast (SSM) address is being used by the server.
As per RFC 3569 The address range 232/8 has been ass...Enhancement: Add support for SDP source-filter field as per RFC 4570.
The source-filter line should be added when a source-specific multicast (SSM) address is being used by the server.
As per RFC 3569 The address range 232/8 has been assigned by IANA for SSM service in IPv4. For IPv6, the range FF3x::/96 is defined for SSM services.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/1010qmlglsink: Feature request: implement QAbstractVideoFilter-like feature in Gs...2023-04-07T09:19:51ZVincas Dargisqmlglsink: Feature request: implement QAbstractVideoFilter-like feature in GstGLVideoItem for convenient way for getting QImages frome the samplesIn Qt Multimedia there's a way to install a filter https://doc.qt.io/qt-5/qabstractvideofilter.html into Qml `VideoOutput` which allows acquiring frames as `QImage`s and then perform some additional processing, like passing that image to...In Qt Multimedia there's a way to install a filter https://doc.qt.io/qt-5/qabstractvideofilter.html into Qml `VideoOutput` which allows acquiring frames as `QImage`s and then perform some additional processing, like passing that image to OpenCV algorithms.
Currently I presume one would have to modify pipeline to use `tee` and `appsink` and get frames via it, or to poll `last-sample` property using timer, after determining what is frame rate of the pipeline..?
Having optional mode there `GstGLVideoItem` would emit `QImage` on every sample or by introducing analogous "filter" runnable that would not block the pipeline, would make it much easier, without need to modify pipeline or do some other "gymnastics".https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/924isomp4: Add support for ffv12023-07-08T09:36:48ZSebastian Drögeisomp4: Add support for ffv1See https://github.com/FFmpeg/FFV1/blob/master/ffv1.md#iso-base-media-file-formatSee https://github.com/FFmpeg/FFV1/blob/master/ffv1.md#iso-base-media-file-formathttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/923matroska: Add ffv1 support2021-10-29T12:07:37ZSebastian Drögematroska: Add ffv1 supporthttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/903qtdemux: Use sidx to seek on fragmented mp42023-07-11T09:59:27ZJan Schmidtqtdemux: Use sidx to seek on fragmented mp4At the moment, qtdemux completely refuses to seek on fragmented mp4 when operating in push mode.
This makes sense if the only source of fragmented mp4 is DASH or so, because the adaptive demuxer can do the seeking upstream. However, if ...At the moment, qtdemux completely refuses to seek on fragmented mp4 when operating in push mode.
This makes sense if the only source of fragmented mp4 is DASH or so, because the adaptive demuxer can do the seeking upstream. However, if we're just playing a fragmented mp4 via vanilla mp4, qtdemux needs to handle the seeking.
If there's an sidx present in the file, we can use that to find the correct moof and do seeking that way. Right now, qtdemux only uses the sidx to calculate duration and then discards it.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/864videocrop: it should support ANY caps feature2021-04-20T10:04:58ZVíctor Manuel Jáquez Lealvideocrop: it should support ANY caps featureRight now videocrop only support system memory caps feature.
In the case of any other caps feature it should work in-place only setting the crop meta *iif* downstream support cropping.Right now videocrop only support system memory caps feature.
In the case of any other caps feature it should work in-place only setting the crop meta *iif* downstream support cropping.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/785Add a sink for the WebRTC HTTP Ingest protocol (WHIP)2020-09-11T14:55:32ZSebastian DrögeAdd a sink for the WebRTC HTTP Ingest protocol (WHIP)See https://tools.ietf.org/html/draft-murillo-whip-00
Should maybe also do a server example for this in gst-examples, should be quite easy to do in Rust at least.See https://tools.ietf.org/html/draft-murillo-whip-00
Should maybe also do a server example for this in gst-examples, should be quite easy to do in Rust at least.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/772qtdemux: Add support for DNxHR2023-10-24T10:34:32ZAndrew Howardqtdemux: Add support for DNxHRUsing GStreamer 1.16.2 for thumbnailing in Photo Mechanic, it does not appear that files from the Atomos Shogun 7 are support by GStreamer.
Filing this request on behalf of a customer, who shared the attached file that was generated by...Using GStreamer 1.16.2 for thumbnailing in Photo Mechanic, it does not appear that files from the Atomos Shogun 7 are support by GStreamer.
Filing this request on behalf of a customer, who shared the attached file that was generated by this device: ![JOA_S001_S001_T004](/uploads/69a2196160025042f2c2523ec9dfe536/JOA_S001_S001_T004.MOV)https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/738videoflip: Missing support for ARGB64 video2023-06-04T10:28:33ZRuslan Khamidullinvideoflip: Missing support for ARGB64 videoGStreamer version: 1.16.2.
Operating system: Windows 8.1 x64 (desktop), macOS 10.14.6.
**Reproduce:** run the following command (substitute the real video file path):
`gst-launch-1.0 uridecodebin uri="file:///path/to/movie" ! videocon...GStreamer version: 1.16.2.
Operating system: Windows 8.1 x64 (desktop), macOS 10.14.6.
**Reproduce:** run the following command (substitute the real video file path):
`gst-launch-1.0 uridecodebin uri="file:///path/to/movie" ! videoconvert ! video/x-raw, format=ARGB64 ! videoflip video-direction=vert ! videoconvert ! pngenc ! multifilesink max-files=1 location=gst_dec_%05d.png`
**Expected:** a flipped frame from the video as a PNG file.
**Actual:** no PNG file, a stderr message instead: `WARNING: erroneous pipeline: could not link videoconvert0 to videoflip0, videoflip0 can't handle caps video/x-raw, format=(string)ARGB64`.
**Note:** if we replace `ARGB64` with `RGBA`, the pipeline works as expected.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/556v4l2: Add mapping for big-endian RGB565 (BGR16 in gst)2023-10-12T16:58:10ZNicolas Dufresnev4l2: Add mapping for big-endian RGB565 (BGR16 in gst)Mauro Carvalho Chehab (maintainer of linux-media) ask me why vim2m test driver wasn't detected by GStreamer. So I looked it up, and found a first issue, might only be the tip of the issue, but has to happen to get this test driver runnin...Mauro Carvalho Chehab (maintainer of linux-media) ask me why vim2m test driver wasn't detected by GStreamer. So I looked it up, and found a first issue, might only be the tip of the issue, but has to happen to get this test driver running. This driver only support one capture format, BGR16, which isn't mapped in the v4l2 glue.Nicolas DufresneNicolas Dufresnehttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/517multiudpsink: should use netutils to set QoS DSCP2019-04-22T10:37:56ZRobert Rosengrenmultiudpsink: should use netutils to set QoS DSCPThe multiudpsink should use netutils function (`gst_net_utils_set_socket_dscp`) for QoS DSCP to reduce code duplicationThe multiudpsink should use netutils function (`gst_net_utils_set_socket_dscp`) for QoS DSCP to reduce code duplicationhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/467qtdemux: Add MSE-style flush2023-07-18T16:38:16ZBugzilla Migration Userqtdemux: Add MSE-style flush## Submitted by Alicia Boya García `@ntrrgc`
**[Link to original bug (#795424)](https://bugzilla.gnome.org/show_bug.cgi?id=795424)**
## Description
The abort() method of SourceBuffer in Media Source Extensions is
expected to flush...## Submitted by Alicia Boya García `@ntrrgc`
**[Link to original bug (#795424)](https://bugzilla.gnome.org/show_bug.cgi?id=795424)**
## Description
The abort() method of SourceBuffer in Media Source Extensions is
expected to flush the demuxer and discard the current fragment,
if any. The configuration of tracks, if any, should be preserved.
qtdemux already has an implementation of flush events geared towards
seeks which is not compatible with this use case.
For this reason, a new type of flush is added, identified by the
presence of a `media_source_extensions_flush` field in its FLUSH_STOP
structure that implements the behavior required by the MSE spec.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/447flvmux: dts/pts on output buffers2023-07-06T10:09:54ZBugzilla Migration Userflvmux: dts/pts on output buffers## Submitted by Tim Müller `@tpm`
**[Link to original bug (#793996)](https://bugzilla.gnome.org/show_bug.cgi?id=793996)**
## Description
Cloned bug to discuss pts/dts + negative-dts handling on output.
+++ This bug was initiall...## Submitted by Tim Müller `@tpm`
**[Link to original bug (#793996)](https://bugzilla.gnome.org/show_bug.cgi?id=793996)**
## Description
Cloned bug to discuss pts/dts + negative-dts handling on output.
+++ This bug was initially created as a clone of [Bug 793457](https://bugzilla.gnome.org/show_bug.cgi?id=793457) +++
$ gst-launch-1.0 videotestsrc ! x264enc ! flvmux ! fakesink silent=false -v | grep -e Segment -e chain | head -n 5https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/442splitmuxsink: add a property "location-format-type" to allow filenames with v...2023-07-02T16:37:01ZBugzilla Migration Usersplitmuxsink: add a property "location-format-type" to allow filenames with values other than fragment index## Submitted by Abhinav
**[Link to original bug (#793681)](https://bugzilla.gnome.org/show_bug.cgi?id=793681)**
## Description
At present, location property only accepts "%d" format specifier which represents fragment-index. In many...## Submitted by Abhinav
**[Link to original bug (#793681)](https://bugzilla.gnome.org/show_bug.cgi?id=793681)**
## Description
At present, location property only accepts "%d" format specifier which represents fragment-index. In many cases, it would be helpful to allow specifying other values such as first buffer PTS in filenames.
An additional property for splitmuxsink, called "location-format-type" can be added to specify value type represented by format specifier in location string pattern. For e.g. if user wants to have first buffer's time in filenames, he should be able to specify the same by following property values :
e.g.
max-size-time=120000000000
location=video_%Y-%m-%d_%H:%M:%S
location-format-type=2
Where, location-format-type can specify different format types such as
(1): fragment-index - Fragment Index(Default)
(2): first-buffer-pts - First Buffer PTS
.. and so on
Note:
In plugin version 1.12, a new signal location-format-full was added, which is flexible to support above mentioned requirement, but it requires users to do signal handling stuff. While "first buffer's time" as part of filenames, is a very common requirement, it should be possible to specify by simple configuration, than complex signal handling stuff. This should justify above enhancement proposal.
Version: 1.10.xhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/434rtph264pay: add support for STAP-A bundling2019-07-03T20:24:31ZBugzilla Migration Userrtph264pay: add support for STAP-A bundling## Submitted by Dirk-Jan C. Binnema
**[Link to original bug (#792825)](https://bugzilla.gnome.org/show_bug.cgi?id=792825)**
## Description
Created attachment 367317
Patch implementing STAP-A for the RTP H.264 payloader
RFC 61...## Submitted by Dirk-Jan C. Binnema
**[Link to original bug (#792825)](https://bugzilla.gnome.org/show_bug.cgi?id=792825)**
## Description
Created attachment 367317
Patch implementing STAP-A for the RTP H.264 payloader
RFC 6184 (https://tools.ietf.org/html/rfc6184#section-5.7) describes how to aggregate (bundle) small RTP packets (typically SPS/PPS); this can improve bandwidth in some cases.
The rtph264depay already supports depayloading such bundled packets, but so far the payloader does not rtph264pay does not; attached patch attempts to change that.
Some notes:
- By default, no aggregation is done, but there's a property "do-aggregate" now to enable this
- I've attempted to change the existing payloader as little as possible
Patch is against git HEAD.
~~**Patch 367317**~~, "Patch implementing STAP-A for the RTP H.264 payloader":
[stap-a.patch](/uploads/bd311be5d0322ecd77339bffdec22593/stap-a.patch)https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/413qtdemux: Add support for AC42020-03-10T16:03:36ZBugzilla Migration Userqtdemux: Add support for AC4## Submitted by Savinderjit Kaur
**[Link to original bug (#789810)](https://bugzilla.gnome.org/show_bug.cgi?id=789810)**
## Description
Created attachment 362804
Patch for generating proper caps for AC4 content
The caps recei...## Submitted by Savinderjit Kaur
**[Link to original bug (#789810)](https://bugzilla.gnome.org/show_bug.cgi?id=789810)**
## Description
Created attachment 362804
Patch for generating proper caps for AC4 content
The caps received from qtdemux for AC-4 content are audio/x-gst-fourcc-ac_4.
The attached patch has been created for generating proper caps (audio/x-ac4). Please let me know if this is valid for submission.
~~**Patch 362804**~~, "Patch for generating proper caps for AC4 content":
[qtdemux_ac4_caps.patch](/uploads/2fca68b88c6d831c4f1c8744692a2da0/qtdemux_ac4_caps.patch)
Version: 1.xhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/397gtkglsink: add "rotate-method" property2023-10-12T17:49:05ZBugzilla Migration Usergtkglsink: add "rotate-method" property## Submitted by Olivier Crête `@ocrete`
**[Link to original bug (#786991)](https://bugzilla.gnome.org/show_bug.cgi?id=786991)**
## Description
This should match the capabilities of glimagesink, this includes support for the AffineTr...## Submitted by Olivier Crête `@ocrete`
**[Link to original bug (#786991)](https://bugzilla.gnome.org/show_bug.cgi?id=786991)**
## Description
This should match the capabilities of glimagesink, this includes support for the AffineTransformationMeta and the image-orientation tag as well as manual rotation using the property.
I didn't do it in glsinkbin becausse the GL happens in the GTK thread in that case.
Version: 1.12.x