gstreamer issueshttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues2024-03-28T17:53:31Zhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/168pad: Offset handling inconsistencies2024-03-28T17:53:31ZBugzilla Migration Userpad: Offset handling inconsistencies## Submitted by Vivia Nikolaidou `@vivia`
**[Link to original bug (#765049)](https://bugzilla.gnome.org/show_bug.cgi?id=765049)**
## Description
14:24 `< slomo_>` after probes, always check if sticky events have changed (when handli...## Submitted by Vivia Nikolaidou `@vivia`
**[Link to original bug (#765049)](https://bugzilla.gnome.org/show_bug.cgi?id=765049)**
## Description
14:24 `< slomo_>` after probes, always check if sticky events have changed (when handling serialized events/buffers/buffer lists)
14:24 `< slomo_>` after probes, always check if pad offsets have changed (on sinkpads) and apply them if so
Current situation: Apply buffer pad probe on a sinkpad, change the pad offset in the probe => this has no effect.
### See also
* [Bug 795330](https://bugzilla.gnome.org/show_bug.cgi?id=795330)
* [Bug 796898](https://bugzilla.gnome.org/show_bug.cgi?id=796898)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/14[API] add chunk writer2024-03-12T17:10:50ZBugzilla Migration User[API] add chunk writer## Submitted by Mark Nauwelaerts `@mnauw`
**[Link to original bug (#619292)](https://bugzilla.gnome.org/show_bug.cgi?id=619292)**
## Description
Bytewriting typically involves nested structures with sizes recorded in the bytestream ...## Submitted by Mark Nauwelaerts `@mnauw`
**[Link to original bug (#619292)](https://bugzilla.gnome.org/show_bug.cgi?id=619292)**
## Description
Bytewriting typically involves nested structures with sizes recorded in the bytestream (e.g. avi chunks, qt atoms, ebml elements, jpeg markers, etc). Additional proposed API aids in tracking nested structures positions and sizes,
which could be used in any of the above cases, rather than coming up with yet another home made on in each case separately.
Evidently, some variations on the proposed are possible, e.g. using a separate (inherited) type for this (GstByteWriterStack or so).
### Blocking
* [Bug 619293](https://bugzilla.gnome.org/show_bug.cgi?id=619293)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3361wavenc: Go EOS and report an error if larger than 2GB2024-03-07T13:02:33ZBugzilla Migration Userwavenc: Go EOS and report an error if larger than 2GB## Submitted by j^
**[Link to original bug (#654243)](https://bugzilla.gnome.org/show_bug.cgi?id=654243)**
## Description
encoding files longer than 1h40m with this pipeline:
gst-launch-0.10 pulsesrc ! queue ! audio/x-raw-int,r...## Submitted by j^
**[Link to original bug (#654243)](https://bugzilla.gnome.org/show_bug.cgi?id=654243)**
## Description
encoding files longer than 1h40m with this pipeline:
gst-launch-0.10 pulsesrc ! queue ! audio/x-raw-int,rate=44100,channels=2 ! wavenc ! filesink location=/tmp/test.wav
creates a corrupt wav files. its opened in totem/audacity but only the first 2GB of data are played.
Ot is possible to open the file in audacity as raw samples, skipping the header(first 20bytes). So data gets written to disk but the wav headers are wrong.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/5[API] query tag setters (and getters?) for supported tags2024-01-29T10:18:30ZBugzilla Migration User[API] query tag setters (and getters?) for supported tags## Submitted by René Stadler `@cymacs`
**[Link to original bug (#345352)](https://bugzilla.gnome.org/show_bug.cgi?id=345352)**
## Description
There is currently no way to find out if a particular pipeline will be able to write out a...## Submitted by René Stadler `@cymacs`
**[Link to original bug (#345352)](https://bugzilla.gnome.org/show_bug.cgi?id=345352)**
## Description
There is currently no way to find out if a particular pipeline will be able to write out all meta data tags that are passed to it. Meta data can be silently lost currently, for example if an app allows user-supplied backends (to support arbitrary output formats, of which not all might have support for all types of meta data).
Another use case applies to using analyzers like TRM (musicbrainz fingerprinting) or ReplayGain. Applications could disable such extra processing if the results cannot be saved in the output.
Current state of affairs seems to be that encoders/muxers silently ignore any unsupported tags they encounter during iteration of passed tag lists.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2elementfactory: add support for translated names2024-01-29T10:18:19ZBugzilla Migration Userelementfactory: add support for translated names## Submitted by Takao Fujiwara
**[Link to original bug (#154054)](https://bugzilla.gnome.org/show_bug.cgi?id=154054)**
## Description
gnome-volume-control has unlocalized labels with ALSA drivers.
To reproduce:
1. Enable alsa...## Submitted by Takao Fujiwara
**[Link to original bug (#154054)](https://bugzilla.gnome.org/show_bug.cgi?id=154054)**
## Description
gnome-volume-control has unlocalized labels with ALSA drivers.
To reproduce:
1. Enable alsa driver for the sound.
2. Invoke gnome-volume-control
Then several labels are not localized.
I could find the labels in alsa module but it is not internationalized.
So I hacked the strings and attach the patch.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1GstArray subtraction not implemented2024-01-29T10:18:15ZBugzilla Migration UserGstArray subtraction not implemented## Submitted by David Schleef Schleef `@ds`
**[Link to original bug (#147931)](https://bugzilla.gnome.org/show_bug.cgi?id=147931)**
## Description
test in patch fails.## Submitted by David Schleef Schleef `@ds`
**[Link to original bug (#147931)](https://bugzilla.gnome.org/show_bug.cgi?id=147931)**
## Description
test in patch fails.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2592avdec: Bogus green line at bottom when decoding into I420 using xvimagesink2024-01-19T14:20:24ZBugzilla Migration Useravdec: Bogus green line at bottom when decoding into I420 using xvimagesink## Submitted by Thiago Sousa Santos `@thiagossantos`
**[Link to original bug (#732351)](https://bugzilla.gnome.org/show_bug.cgi?id=732351)**
## Description
When playing a video file, sometimes the bottom line of the video shows bogu...## Submitted by Thiago Sousa Santos `@thiagossantos`
**[Link to original bug (#732351)](https://bugzilla.gnome.org/show_bug.cgi?id=732351)**
## Description
When playing a video file, sometimes the bottom line of the video shows bogus data. It depends on the resolution being used and it only happens with xvimagesink.
To reproduce:
1) Create a 16x16 h264 file:
gst-launch-1.0 videotestsrc pattern=white num-buffers=1000 ! \
"video/x-raw, format=(string)I420, width=(int)16, height=(int)16, \
framerate=(fraction)1/1" ! x264enc ! qtmux ! filesink location=/tmp/test.mov
2) Play this file:
gst-launch-1.0 playbin uri="file:///tmp/test.ogg" video-sink=xvimagesink
3) Check the bottom line (This scenario also shows the right column with bogus data
Details I found out so far about this:
If I manually disable direct rendering in libav gstviddec it doesn't happen.
It doesn't happen with 480x320 resolution (and some others).
I'm marking this as being in gst-libav for now but I'm not sure, could be in libav itself and I also saw it happening with theoradec but with different resolutions.
### Blocking
* [Bug 732631](https://bugzilla.gnome.org/show_bug.cgi?id=732631)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/15[API] seeking: need API to do pseudo-accurate seeking when keyframe seeking i...2024-01-10T10:54:57ZBugzilla Migration User[API] seeking: need API to do pseudo-accurate seeking when keyframe seeking is too coarse## Submitted by Benjamin Otte `@company`
**[Link to original bug (#619788)](https://bugzilla.gnome.org/show_bug.cgi?id=619788)**
## Description
Totem currently does keyframe seeking of videos. However, videos exist that only contain...## Submitted by Benjamin Otte `@company`
**[Link to original bug (#619788)](https://bugzilla.gnome.org/show_bug.cgi?id=619788)**
## Description
Totem currently does keyframe seeking of videos. However, videos exist that only contain a single keyframe at the beginning of the file. For these files, every seek will result in Totem restarting the file.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/13configurable user agent for network elements2024-01-10T10:54:55ZBugzilla Migration Userconfigurable user agent for network elements## Submitted by Stefan Kost `@ensonic`
**[Link to original bug (#614558)](https://bugzilla.gnome.org/show_bug.cgi?id=614558)**
## Description
Some streaming servers tune their replies based on the user-agent they received.
For tha...## Submitted by Stefan Kost `@ensonic`
**[Link to original bug (#614558)](https://bugzilla.gnome.org/show_bug.cgi?id=614558)**
## Description
Some streaming servers tune their replies based on the user-agent they received.
For that purpose souphttpsrc has "user-agent" and even "extra-headers" properties. rtspsrc does not have any of this (yet).
Also this mechanism would require the application to set it, while I wonder if it makes sense to have a configure flag to set the user-agent (and put that into gstconfig.h). if the configure is not given we use "GStreamer/0.10". Having a more detailed version (including base and ev. the plugin in use) would need to be build differently.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/12queue: add burst/batch feature to reduce writer wakeups and context switches2024-01-10T10:54:55ZBugzilla Migration Userqueue: add burst/batch feature to reduce writer wakeups and context switches## Submitted by Venkat
**[Link to original bug (#613827)](https://bugzilla.gnome.org/show_bug.cgi?id=613827)**
## Description
When I use max-size-buffers and min-threshold-buffers values as parameters to QUEUE in gstreamer pipe line...## Submitted by Venkat
**[Link to original bug (#613827)](https://bugzilla.gnome.org/show_bug.cgi?id=613827)**
## Description
When I use max-size-buffers and min-threshold-buffers values as parameters to QUEUE in gstreamer pipe line, Its not waiting it is not waiting until it reach min-threshold-buffers. Currently queue fills the buffer as the buffer empty. It is not able to perform the requirement of waiting until it all buffers empty.
The changes needed found in gstqueue.c at gstreamer/plugins/elements/
function:gst_queue_chain (GstPad * pad, GstBuffer * buffer)
/* don't leak. Instead, wait for space to be available */
do {
/* for as long as the queue is filled, ait until min-threshold-buffers reaches. */
GST_QUEUE_WAIT_DEL_CHECK (queue, out_flushing);
} while (!gst_queue_is_empty(queue));
and
Need changes in gst_queue_is_empty function to satisfy all the conditions. I am not sure all the conditions (need some evaluation in this)
static gboolean gst_queue_is_empty (GstQueue * queue)
{
if (queue->queue->length == 0)
return TRUE;
if ((queue->cur_level.buffers == 0) || (queue->cur_level.bytes == 0) || (queue->cur_level.time == 0) )
return TRUE;
if (( queue->min_threshold.buffers == 0 &&
queue->cur_level.buffers `< queue->`max_size.buffers) ||
(queue->min_threshold.bytes == 0 &&
queue->cur_level.bytes `< queue->`max_size.bytes) ||
(queue->min_threshold.time == 0 &&
queue->cur_level.time `< queue->`max_size.time)) &&
!gst_queue_is_filled (queue)
return TRUE;
/* It is possible that a max size is reached before all min thresholds are.
* Therefore, only consider it empty if it is not filled. */
return ((queue->min_threshold.buffers > 0 &&
queue->cur_level.buffers `< queue->`min_threshold.buffers) ||
(queue->min_threshold.bytes > 0 &&
queue->cur_level.bytes `< queue->`min_threshold.bytes) ||
(queue->min_threshold.time > 0 &&
queue->cur_level.time `< queue->`min_threshold.time)) &&
!gst_queue_is_filled (queue);
}https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/10[API] buffer size query or indication from audio encoders to upstream how man...2024-01-10T10:54:55ZBugzilla Migration User[API] buffer size query or indication from audio encoders to upstream how many samples to produce per buffer## Submitted by Stefan Kost `@ensonic`
**[Link to original bug (#572973)](https://bugzilla.gnome.org/show_bug.cgi?id=572973)**
## Description
It would be useful if (audio) encoders could send a buffer-size-request event upstream. So...## Submitted by Stefan Kost `@ensonic`
**[Link to original bug (#572973)](https://bugzilla.gnome.org/show_bug.cgi?id=572973)**
## Description
It would be useful if (audio) encoders could send a buffer-size-request event upstream. Sources can use that to configure the size of the buffers that they will send in push mode. Basesource can implement that and configure the "blocksize" property.
It would free encoders from using the adapter.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/9registry: don't copy strings when reading the cache2024-01-10T10:54:55ZBugzilla Migration Userregistry: don't copy strings when reading the cache## Submitted by Stefan Kost `@ensonic`
**[Link to original bug (#558674)](https://bugzilla.gnome.org/show_bug.cgi?id=558674)**
## Description
There are some enhancement idea about the gstreamer registry described in [Bug 359653](htt...## Submitted by Stefan Kost `@ensonic`
**[Link to original bug (#558674)](https://bugzilla.gnome.org/show_bug.cgi?id=558674)**
## Description
There are some enhancement idea about the gstreamer registry described in [Bug 359653](https://bugzilla.gnome.org/show_bug.cgi?id=359653)#c35 and [Bug 359653](https://bugzilla.gnome.org/show_bug.cgi?id=359653)#c36. This is an attempt to do it.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/8sparse file support2024-01-10T10:54:54ZBugzilla Migration Usersparse file support## Submitted by Rang Glerry
**[Link to original bug (#554055)](https://bugzilla.gnome.org/show_bug.cgi?id=554055)**
## Description
movies, which aren't complete (e.g. movies as torrent), are playable in totem. empty spaces should be...## Submitted by Rang Glerry
**[Link to original bug (#554055)](https://bugzilla.gnome.org/show_bug.cgi?id=554055)**
## Description
movies, which aren't complete (e.g. movies as torrent), are playable in totem. empty spaces should been automatically skipped to avoid long pauses.
Other information:https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/7GstBus should auto-flush on a failed NULL->READY state change2024-01-10T10:54:54ZBugzilla Migration UserGstBus should auto-flush on a failed NULL->READY state change## Submitted by Jan Schmidt `@thaytan`
Assigned to **Jan Schmidt `@thaytan`**
**[Link to original bug (#381603)](https://bugzilla.gnome.org/show_bug.cgi?id=381603)**
## Description
A failure to change state to READY in the pipelin...## Submitted by Jan Schmidt `@thaytan`
Assigned to **Jan Schmidt `@thaytan`**
**[Link to original bug (#381603)](https://bugzilla.gnome.org/show_bug.cgi?id=381603)**
## Description
A failure to change state to READY in the pipeline should be handled like a NULL->READY->NULL transition and set the bus to auto-flushing, so that default pipelines don't end up with refcount loops due to messages on the bus.2.xhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/6Better flow / negotiation error reporting2024-01-10T10:54:54ZBugzilla Migration UserBetter flow / negotiation error reporting## Submitted by Stefan Kost `@ensonic`
**[Link to original bug (#350545)](https://bugzilla.gnome.org/show_bug.cgi?id=350545)**
## Description
Durinf development one often gets:
basesrc( 1083) gstbasesrc.c(1698):gst_base_src_sta...## Submitted by Stefan Kost `@ensonic`
**[Link to original bug (#350545)](https://bugzilla.gnome.org/show_bug.cgi?id=350545)**
## Description
Durinf development one often gets:
basesrc( 1083) gstbasesrc.c(1698):gst_base_src_start:`<v4l2src0>` error: Could not negotiate format
WARN (0x19000 - 0:00:07.850402000) basesrc( 1083) gstbasesrc.c(1698):gst_base_src_start:`<v4l2src0>` error: Check your filtered caps, if any
This definitely need fixing. There is no point that deverlopers spend years reading GST_DEBUG="GST_CAPS:4" output to figure the problem. If format cannot be negotiated then a reason *must* be given.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3185jpegenc produces data in subsampling mode that rtpjpegpay can't handle2023-12-20T17:58:08ZBugzilla Migration Userjpegenc produces data in subsampling mode that rtpjpegpay can't handle## Submitted by Olivier Crête `@ocrete`
**[Link to original bug (#684502)](https://bugzilla.gnome.org/show_bug.cgi?id=684502)**
## Description
We probably need to add more data to the image/jpeg caps to specify it's subsampling mode...## Submitted by Olivier Crête `@ocrete`
**[Link to original bug (#684502)](https://bugzilla.gnome.org/show_bug.cgi?id=684502)**
## Description
We probably need to add more data to the image/jpeg caps to specify it's subsampling mode so it can be configured, but I don't really understand how jpegenc works.
Test case:
gst-launch-1.0 videotestsrc ! 'video/x-raw, width=(int)160, height=(int)120, framerate=(fraction)30/1, format=(string)BGRx, pixel-aspect-ratio=(fraction)1/1' ! jpegenc ! rtpjpegpay ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0: Invalid component
Additional debug info:
gstrtpjpegpay.c(544): gst_rtp_jpeg_pay_read_sof (): /GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0
ERROR: pipeline doesn't want to preroll.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3117validate: Make it possible to run gst-validate-launcher on embedded device (t...2023-11-09T18:17:09ZBugzilla Migration Uservalidate: Make it possible to run gst-validate-launcher on embedded device (that might not support python)## Submitted by Thibault Saunier `@thiblahute`
**[Link to original bug (#736137)](https://bugzilla.gnome.org/show_bug.cgi?id=736137)**
## Description
The gst-validate-launcher is written in python, we should make sure that the tests...## Submitted by Thibault Saunier `@thiblahute`
**[Link to original bug (#736137)](https://bugzilla.gnome.org/show_bug.cgi?id=736137)**
## Description
The gst-validate-launcher is written in python, we should make sure that the tests can be run on embedded platforms, and hopefully even the ones that do not support python (android, iOS?).
For that we might want to launch the test through ssh?https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3042splitmuxsink: not sure GAP events are handled correctly2023-10-13T15:22:43ZBugzilla Migration Usersplitmuxsink: not sure GAP events are handled correctly## Submitted by Xavier Claessens `@xclaesse`
**[Link to original bug (#764648)](https://bugzilla.gnome.org/show_bug.cgi?id=764648)**
## Description
Reading that code, I find 2 things supsicious:
- GAP events are not catched in...## Submitted by Xavier Claessens `@xclaesse`
**[Link to original bug (#764648)](https://bugzilla.gnome.org/show_bug.cgi?id=764648)**
## Description
Reading that code, I find 2 things supsicious:
- GAP events are not catched in handle_mq_input(), that means ctx->in_running_time won't be updated. In case of a long gap, that means it's going to queue other streams a lot because the stream with a gap won't be considered ready to let GOPs out. I think in_running_time should be set to gap's timestamp+duration, no?
- GAP's duration is not taken into account in handle_mq_output(). In the case of a long gap, that means out_running_time will stay in the past, and complete_or_wait_on_out() won't send EOS until we get the next buffer/gap on that stream which could freeze the pipeline for some time.
I'm not really sure how gap events works, so maybe I'm just wrong here.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3040ximagesrc: Support changing resolution at runtime2023-10-12T18:40:00ZBugzilla Migration Userximagesrc: Support changing resolution at runtime## Submitted by Snir Sheriber `@snir`
**[Link to original bug (#794761)](https://bugzilla.gnome.org/show_bug.cgi?id=794761)**
## Description
Changing resolution at runtime is not supported when using ximagesrc to create a screenshot...## Submitted by Snir Sheriber `@snir`
**[Link to original bug (#794761)](https://bugzilla.gnome.org/show_bug.cgi?id=794761)**
## Description
Changing resolution at runtime is not supported when using ximagesrc to create a screenshot video stream.
Is it possible to workaround this issue by using additional\alternative plugin?https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2802mpegtsmux: mux private data streams2023-10-01T20:31:56ZBugzilla Migration Usermpegtsmux: mux private data streams## Submitted by Martijn Grendelman
**[Link to original bug (#673582)](https://bugzilla.gnome.org/show_bug.cgi?id=673582)**
## Description
Mpegtsdemux is capable of demuxing private data streams, like subtitles and teletext, but mpeg...## Submitted by Martijn Grendelman
**[Link to original bug (#673582)](https://bugzilla.gnome.org/show_bug.cgi?id=673582)**
## Description
Mpegtsdemux is capable of demuxing private data streams, like subtitles and teletext, but mpegtsmux is not capable of muxing them. So, if you want to transcode a TS, but keep all non-audio/video streams as-is, this is not possible.
This is a request to add private data stream support to mpegtsmux.