gst-plugins-base issueshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues2022-08-09T18:21:56Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/598gst-discoverer is leaking title tags from subtitle streams into main title2022-08-09T18:21:56ZRok Mandeljcgst-discoverer is leaking title tags from subtitle streams into main titleBetween versions 1.14 and 1.16, there has been a change either in *gst-discoverer* itself or in some underlying part of gstreamer, which causes *gst-discoverer* to now leak title tags from subtitle tracks into "main" title track, which i...Between versions 1.14 and 1.16, there has been a change either in *gst-discoverer* itself or in some underlying part of gstreamer, which causes *gst-discoverer* to now leak title tags from subtitle tracks into "main" title track, which in turn causes problems in applications that rely on *gst-discoverer*.
Consider a test .mkv file with subtitle tracks that have title tags, whereas the main file/container itself does not have a title.
On Fedora 29 (gstreamer 1.14.4), running *gst-discoverer-1.0* against the file will produce:
([full --verbose output](/uploads/5430ecaa2a819259cf8aff336e037859/gst-discoverer-verbose-1.14.4.txt))
```
[rok@vm-fedora29 ~]$ gst-discoverer-1.0 test.mkv
Analyzing file:///home/rok/test.mkv
Done discovering file:///home/rok/test.mkv
Topology:
container: Matroska
subtitles: Timed Text
subtitles: Timed Text
audio: E-AC-3 (ATSC A/52B)
video: H.264 (High Profile)
Properties:
Duration: 0:42:15.840000000
Seekable: yes
Live: no
Tags:
container format: Matroska
language code: en
video codec: H264
audio codec: E-AC-3 audio
```
On Fedora 30 (gstreamer 1.16.0), the output is:
([full --verbose output](/uploads/0bb8f9438a9d8a0c755dbe1e79955b86/gst-discoverer-verbose-1.16.0.txt))
```
[rok@vm-fedora30 ~]$ gst-discoverer-1.0 ./test.mkv
Analyzing file:///home/rok/./test.mkv
Done discovering file:///home/rok/./test.mkv
Topology:
container: Matroska
subtitles: Timed Text
subtitles: Timed Text
audio: E-AC-3 (ATSC A/52B)
video: H.264 (High Profile)
Properties:
Duration: 0:42:15.840000000
Seekable: yes
Live: no
Tags:
container format: Matroska
language code: en
title: English, English SDH
audio codec: E-AC-3 audio
video codec: H264
```
The old version does not return a title, whereas the new version does, and this title is a combination of subtitle tracks' titles - ```"English, English SDH"``` (and on differents runs, the order may change to "English SDH, English", or even contain only one of the titles - presumably because they are obtained asynchronously).
Consequently, programs that rely on *gst-discoverer* (e.g., *totem*, or *rygel* when exporting shared DLNA library) used to list such video files by their filenames, but now list them by this bogus "title". Which means that one may end up with a whole list of "English, English SDH" videos to choose from.
The [attached proof-of-concept patch](/uploads/be491fd2c56ff39aecdb87fc3eed161f/0001-gstdiscoverer-do-not-leak-titles-from-subtitle-strea.patch) works around this issue by discarding all tags received from subtitle streams in handle_message() so that they are not added to main tags. But they are still (correctly) added to a stream's list of tags, as shown by
[full --verbose output after applying patch](/uploads/3ade4617105ca46d2f6b83a533cae801/gst-discoverer-verbose-fix.txt)
While it fixes my issue with files listed by Rygel, I am not sure if this is the best place to fix it? Or if the fix should perhaps be even more generic - for example, a video file may also contain (multiple) audio and video tracks with title tags, and those should not be propagated into main title, either.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/982NSInternalInconsistencyException: NSWindow drag regions should only be invali...2022-11-22T22:25:58ZDavid McArthurNSInternalInconsistencyException: NSWindow drag regions should only be invalidated on the Main Thread!Hi there,
I have been tasked with fixing a script which has broken since updating a Mac to the latest OS Ventura. This is the first time I've seen this script, and the person who wrote it is no longer around. I'm not familiar with GST...Hi there,
I have been tasked with fixing a script which has broken since updating a Mac to the latest OS Ventura. This is the first time I've seen this script, and the person who wrote it is no longer around. I'm not familiar with GST plugins, so hoping someone can kindly point me in the right direction!
Here is the command:
```sh
gst-launch-1.0 -e avfvideosrc device-index=1 blocksize=8192 ! deinterlace ! videorate ! queue ! videoconvert ! videoscale ! video/x-raw,width=1920, height=1080,framerate=25/1 ! queue ! videoflip method=horizontal-flip ! videomixer name=mix sink_1::alpha=0.3 ! videoconvert ! queue ! osxvideosink processing-deadline=5000000 sync=false avfvideosrc capture-screen=true device-index=2 ! video/x-raw,framerate=25/1 ! tee name=t ! videoconvert ! avenc_mpeg4 quantizer=15 ! queue ! muxer. osxaudiosrc device=67 ! queue ! avenc_aac ! queue ! muxer. qtmux name='muxer' ! filesink location="/tmp/video-temp.mov" t. ! videoscale ! video/x-raw,width=1920,height=1080 ! mix.
```
And the response:
```sh
2022-11-21 17:20:11.883 gst-launch-1.0[5558:71462] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
*** First throw call stack:
(
0 CoreFoundation 0x00007ff80811e43b __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007ff807c6de25 objc_exception_throw + 48
2 CoreFoundation 0x00007ff8081465d6 _CFBundleGetValueForInfoKey + 0
3 AppKit 0x00007ff80b1ed161 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 307
4 AppKit 0x00007ff80b20a826 -[NSView removeFromSuperview] + 364
5 AppKit 0x00007ff80b209d5f -[NSWindow setContentView:] + 89
6 libgstosxvideo.so 0x0000000109621c6a -[GstOSXVideoSinkWindow initWithContentNSRect:styleMask:backing:defer:screen:] + 175
7 libgstosxvideo.so 0x00000001096200cc -[GstOSXVideoSinkObject createInternalWindow] + 179
8 Foundation 0x00007ff808f1c420 __NSThreadPerformPerform + 177
9 CoreFoundation 0x00007ff8080a5bc8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
10 CoreFoundation 0x00007ff8080a5b77 __CFRunLoopDoSource0 + 157
11 CoreFoundation 0x00007ff8080a59b1 __CFRunLoopDoSources0 + 308
12 CoreFoundation 0x00007ff8080a45cb __CFRunLoopRun + 929
13 CoreFoundation 0x00007ff8080a3bb0 CFRunLoopRunSpecific + 560
14 HIToolbox 0x00007ff811985bd6 RunCurrentEventLoopInMode + 292
15 HIToolbox 0x00007ff811985806 ReceiveNextEventCommon + 199
16 HIToolbox 0x00007ff811985723 _BlockUntilNextEventMatchingListInModeWithFilter + 70
17 AppKit 0x00007ff80b1c6b37 _DPSNextEvent + 909
18 AppKit 0x00007ff80b1c59b8 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1219
19 libgstosxvideo.so 0x0000000109620a7f -[GstOSXVideoSinkObject nsAppThread] + 290
20 Foundation 0x00007ff808ef582c __NSThread__start__ + 1009
21 libsystem_pthread.dylib 0x00007ff807fcb259 _pthread_start + 125
22 libsystem_pthread.dylib 0x00007ff807fc6c7b thread_start + 15
)
Setting pipeline to PLAYING ...
libc++abi: terminating with uncaught exception of type NSException
./record.sh: line 134: 5558 Abort trap: 6 gst-launch-1.0 -e avfvideosrc device-index=$videodeviceid blocksize=8192 ! deinterlace ! videorate ! queue ! videoconvert ! videoscale ! video/x-raw,width=1920, height=1080,framerate=25/1 ! queue ! videoflip method=horizontal-flip ! videomixer name=mix sink_1::alpha=0.3 ! videoconvert ! queue ! osxvideosink processing-deadline=5000000 sync=false avfvideosrc capture-screen=true device-index=$record_monitor ! video/x-raw,framerate=25/1 ! tee name=t ! videoconvert ! avenc_mpeg4 quantizer=15 ! queue ! muxer. osxaudiosrc device=$audiodeviceid ! queue ! avenc_aac ! queue ! muxer. qtmux name='muxer' ! filesink location="$temppa" t. ! videoscale ! video/x-raw,width=1920,height=1080 ! mix.
```
I believe the external monitor configuration got lost in the update, and with no record of the previous configuration I have set them using [displayplacer](https://github.com/jakehilborn/displayplacer) like this:
```
displayplacer
"id:311E94AD-0A66-BBC7-221F-A9639FB96130 res:3200x1800 color_depth:8 scaling:on origin:(0,0) degree:0"
"id:981DEE1A-1160-9DDC-4DAF-7F94723A49A0 res:1920x1080 hz:30 color_depth:8 scaling:on origin:(3200,0) degree:0"
"id:E463AFAE-35D0-13D5-D06A-EAAB3074FF1E res:1920x1080 hz:30 color_depth:8 scaling:on origin:(3200,1080) degree:0"
```
Any pointers would be greatly appreciated! Thanks.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/923gst-device-monitor refuses to start if pulseaudio is not running2021-10-19T09:51:30ZCarl-Daniel Hailfingergst-device-monitor refuses to start if pulseaudio is not runningWhen running gst-device-monitor-1.0 compiled from git master branch at 2021-07-05, the command will just abort if pulseaudio is not running. This is a regression compared to GStreamer 1.14.4 where the video sources would be shown.
This i...When running gst-device-monitor-1.0 compiled from git master branch at 2021-07-05, the command will just abort if pulseaudio is not running. This is a regression compared to GStreamer 1.14.4 where the video sources would be shown.
This is on a Raspberry Pi 4 B running Raspberry Pi OS in 32-bit mode and the pulseaudio daemon not running because no desktop environment is started.
```
streaming-server@pi-bonn-mitte:~ $ gst-device-monitor-1.0
Probing devices...
libDeckLinkAPI.so: cannot open shared object file: No such file or directory
0:00:00.112792153 1618 0x1721140 ERROR pulse pulsedeviceprovider.c:538:gst_pulse_device_provider_start:<pulsedeviceprovider0> Failed to connect: Connection refused
Failed to start device monitor!
streaming-server@pi-bonn-mitte:~ $ gst-device-monitor-1.0 --version
gst-device-monitor-1.0 version 1.19.1.1
GStreamer 1.19.1 (GIT)
http://packages.qa.debian.org/gst-plugins-base1.0
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/903videoscale: Performance degradation from 1.16.2 -> 1.18.42021-07-22T12:57:20ZAlexey Belyakovvideoscale: Performance degradation from 1.16.2 -> 1.18.4> gst-launch-1.0 filesrc location=video-examples/person-bicycle-car-detection_1920_1080-2min.mp4 ! qtdemux ! avdec_h264 max-threads=1 ! videoscale n-threads=1 ! videoconvert n-threads=1 ! video/x-raw,format=BGRx,width=100,height=100 ! gv...> gst-launch-1.0 filesrc location=video-examples/person-bicycle-car-detection_1920_1080-2min.mp4 ! qtdemux ! avdec_h264 max-threads=1 ! videoscale n-threads=1 ! videoconvert n-threads=1 ! video/x-raw,format=BGRx,width=100,height=100 ! gvafpscounter ! fakesink async=false
Output with GStreamer **1.16.2**:
FPSCounter(average): total=251.41 fps, number-streams=1, per-stream=251.41 fps
Execution ended after 0:00:10.338461396
Output with GStreamer **1.18.4**:
FPSCounter(average): total=238.40 fps, number-streams=1, per-stream=238.40 fps
Execution ended after 0:00:10.8997466881.18.5https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/887compositor: Composed output frame contains noise (artifact?) for NV12 format2021-05-20T13:21:36ZSeungha Yangseungha@centricular.comcompositor: Composed output frame contains noise (artifact?) for NV12 formatSee this image
![image](/uploads/27f7b5a86b157c968ec928a523f8badc/image.png)
command:
```
gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12,width=640,height=480 ! compositor sink_0::width=640 sink_0::height=480 background=black ! vi...See this image
![image](/uploads/27f7b5a86b157c968ec928a523f8badc/image.png)
command:
```
gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12,width=640,height=480 ! compositor sink_0::width=640 sink_0::height=480 background=black ! video/x-raw,width=640,height=640 ! autovideosink
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/884pkgconfig values escape paths after meson generation port2021-05-17T15:53:30ZJordan Petridіspkgconfig values escape paths after meson generation porta28a75652edc4ef925eee3568c886eb68ea5775e switched the way pkgconfig files are generated to use the meson `pkgconfig` module.
This caused some of our .pc files to now include a slash to escape the whitespace. [Meson escapes the paths](ht...a28a75652edc4ef925eee3568c886eb68ea5775e switched the way pkgconfig files are generated to use the meson `pkgconfig` module.
This caused some of our .pc files to now include a slash to escape the whitespace. [Meson escapes the paths](https://github.com/mesonbuild/meson/commit/4fb978e1f794e4088be0d47b5ff7de623f30a19c)
```
gstreamer-plugins-base-1.0.pc
...
13:libraries=allocators\ app\ audio\ fft\ pbutils\ riff\ rtp\ rtsp\ sdp\ tag\ video\ gl
gstreamer-gl-1.0.pc
13:gl_platforms=egl\ glx
14:gl_winsys=wayland\ x11
15:gl_apis=gles2\ gl
```
Compared to how they are installed up to 1.18:
```
gstreamer-plugins-base-1.0.pc
...
libraries=allocators app audio fft pbutils riff rtp rtsp sdp tag video gl
gstreamer-gl-1.0.pc
...
gl_platforms=egl glx
gl_winsys=wayland x11
gl_apis=gles2 gl
```
pkg-config returns the escaped path as is when called, which now causes issues with building gst-plugins-good. We are trying to match the [exact strings](https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/blob/a75cfa522deabf6cbed2af3ef4bf801b23ae9cde/meson.build#L291-317), but now they have a `\` appended so we fail to enable the GL plugins.
```
pkg-config gstreamer-gl-1.0 --variable gl_platforms
egl\ glx
```
-good building against the new .pc files
```
Message: GStreamer OpenGL window systems: wayland\ x11\ gbm
Message: GStreamer OpenGL platforms: egl\ glx
Message: GStreamer OpenGL apis: gles2\ gl
Run-time dependency gstreamer-gl-prototypes-1.0 found: YES 1.19.0.1
Run-time dependency zlib found: YES 1.2.11
```
-good building from gst-build
```
Message: GStreamer OpenGL window systems: wayland x11 gbm
Message: GStreamer OpenGL platforms: egl glx
Message: GStreamer OpenGL apis: gles2 gl
Dependency gstreamer-gl-prototypes-1.0 found: YES 1.19.0.1 (overridden)
Dependency gstreamer-gl-x11-1.0 found: YES 1.19.0.1 (overridden)
Dependency gstreamer-gl-wayland-1.0 found: YES 1.19.0.1 (overridden)
Dependency gstreamer-gl-egl-1.0 found: YES 1.19.0.1 (overridden)
Dependency zlib found: YES 1.2.11 (cached)
```
cc @xclaesse
cc @tpm I think this is a release blocker for 1.201.19.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/849glimagesink: 1.18.1 deadlock in gst_gl_window_resize2021-03-01T14:38:39ZAlexander Vandenbulckeglimagesink: 1.18.1 deadlock in gst_gl_window_resizeSince the upgrade to gstreamer version 1.18.1 from 1.16.3 we were not able to get the feed displayed.
We're testing with dispmanx on RPI using the legacy drivers.
The simplified pipeline is as follows:
```
gst-launch-1.0 v4l2src ! vide...Since the upgrade to gstreamer version 1.18.1 from 1.16.3 we were not able to get the feed displayed.
We're testing with dispmanx on RPI using the legacy drivers.
The simplified pipeline is as follows:
```
gst-launch-1.0 v4l2src ! video/x-raw,height=240,width=320,format=YUY2 ! videoconvert ! glupload ! glcolorconvert ! glimagesink render-rectangle="<0,0,1920,1080>"
```
which won't pass beyond `Setting pipeline to PAUSED ...`. When digging more into the issue using gdb, the following backtrace shows that the pipeline is blocked on `g_cond_wait` inside the function `gst_gl_window_resize`.
_Backtrace:_
```
Thread 1 (Thread 0x76f33d90 (LWP 2472)):
#0 0x76bd1aec in syscall () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0x76d6f908 in g_cond_wait () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
#2 0x75ddab58 in gst_gl_window_default_send_message (window=0xa48020 [GstGLWindow|glwindowdispmanxegl0], callback=<optimized out>,
data=<optimized out>) at ../gst-libs/gst/gl/gstglwindow.c:638
#3 0x75ddb518 in gst_gl_window_resize (window=window@entry=0xa48020 [GstGLWindow|glwindowdispmanxegl0], width=width@entry=1920,
height=height@entry=1080) at ../gst-libs/gst/gl/gstglwindow.c:1090
#4 0x75ddfb9c in window_resize (window_egl=window_egl@entry=0xa48020 [GstGLWindowDispmanxEGL|glwindowdispmanxegl0],
width=width@entry=1920, height=1080, height@entry=10780704, visible=visible@entry=1)
at ../gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:282
#5 0x75ddfc58 in gst_gl_window_dispmanx_egl_set_render_rectangle (window=window@entry=0xa48020 [GstGLWindow|glwindowdispmanxegl0],
x=x@entry=0, y=y@entry=0, width=width@entry=1920, height=height@entry=1080)
at ../gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:299
#6 0x75ddb3dc in gst_gl_window_set_render_rectangle (window=window@entry=0xa48020 [GstGLWindow|glwindowdispmanxegl0], x=0, y=0,
width=1920, height=1080) at ../gst-libs/gst/gl/gstglwindow.c:1020
#7 0x75b581c0 in _ensure_gl_setup (gl_sink=gl_sink@entry=0xa32868 [GstGLImageSink|sink]) at ../ext/gl/gstglimagesink.c:1047
#8 0x75b59b00 in gst_glimage_sink_change_state (element=0xa32868 [GstElement|sink], transition=GST_STATE_CHANGE_NULL_TO_READY)
at ../ext/gl/gstglimagesink.c:1209
#9 0x76e45c2c in gst_element_change_state (element=element@entry=0xa32868 [GstElement|sink],
transition=transition@entry=GST_STATE_CHANGE_NULL_TO_READY) at ../gst/gstelement.c:3046
#10 0x76e46424 in gst_element_set_state_func (element=0xa32868 [GstElement|sink], state=<optimized out>) at ../gst/gstelement.c:3000
#11 0x76e1e348 in gst_bin_element_set_state (next=<optimized out>, current=<optimized out>,
start_time=8570631565862764546 [2380730:59:25.862764546], base_time=45951202265008672 [12764:13:22.265008672],
element=0xa32868 [GstElement|sink], bin=<optimized out>) at ../gst/gstbin.c:2615
--Type <RET> for more, q to quit, c to continue without paging--
#12 gst_bin_change_state_func (element=0xa2d058 [GstElement|glimagesinkbin0], transition=0) at ../gst/gstbin.c:2957
#13 0x76e45c2c in gst_element_change_state (element=element@entry=0xa2d058 [GstElement|glimagesinkbin0],
transition=transition@entry=GST_STATE_CHANGE_NULL_TO_READY) at ../gst/gstelement.c:3046
#14 0x76e46424 in gst_element_set_state_func (element=0xa2d058 [GstElement|glimagesinkbin0], state=<optimized out>)
at ../gst/gstelement.c:3000
#15 0x76e1e348 in gst_bin_element_set_state (next=<optimized out>, current=<optimized out>,
start_time=8570631565862764546 [2380730:59:25.862764546], base_time=45950789948015616 [12764:06:29.948015616],
element=0xa2d058 [GstElement|glimagesinkbin0], bin=<optimized out>) at ../gst/gstbin.c:2615
#16 gst_bin_change_state_func (element=0xa3e0a0 [GstElement|pipeline0], transition=0) at ../gst/gstbin.c:2957
#17 0x76e779c8 in gst_pipeline_change_state (element=0xa3e0a0 [GstElement|pipeline0], transition=GST_STATE_CHANGE_NULL_TO_READY)
at ../gst/gstpipeline.c:525
#18 0x76e45c2c in gst_element_change_state (element=element@entry=0xa3e0a0 [GstElement|pipeline0],
transition=transition@entry=GST_STATE_CHANGE_NULL_TO_READY) at ../gst/gstelement.c:3046
#19 0x76e46424 in gst_element_set_state_func (element=0xa3e0a0 [GstElement|pipeline0], state=<optimized out>) at ../gst/gstelement.c:3000
#20 0x00012ed0 in main (argc=<optimized out>, argv=<optimized out>) at ../tools/gst-launch.c:1204
(gdb)
```
In addition testing the pipeline without the `render-rectangle="<...>"` works perfectly:
```
gst-launch-1.0 v4l2src ! video/x-raw,height=240,width=320,format=YUY2 ! videoconvert ! glupload ! glcolorconvert ! glimagesink
0:00:00.004485275 2528 0x1630e80 WARN GST_PERFORMANCE gstbuffer.c:496:_priv_gst_buffer_initialize: No 64-bit atomic int defined for this platform/toolchain!
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.291148146 2528 0x175ba00 WARN v4l2 gstv4l2object.c:3591:gst_v4l2_object_set_format_full:<v4l2src0:src> Unknown colorimetry transfer 16
0:00:00.717517770 2528 0x1677060 FIXME glslstage gstglslstage.c:530:_compile_shader:<glslstage0> vertex shader info log:Compiled
0:00:00.718994737 2528 0x1677060 FIXME glslstage gstglslstage.c:530:_compile_shader:<glslstage1> fragment shader info log:Compiled
0:00:00.755198862 2528 0x1677060 FIXME glslstage gstglslstage.c:530:_compile_shader:<glslstage2> vertex shader info log:Compiled
0:00:00.755929689 2528 0x1677060 FIXME glslstage gstglslstage.c:530:_compile_shader:<glslstage3> fragment shader info log:Compiled
0:00:00.768795467 2528 0x1677060 FIXME glslstage gstglslstage.c:530:_compile_shader:<glslstage4> vertex shader info log:Compiled
0:00:00.769507805 2528 0x1677060 FIXME glslstage gstglslstage.c:530:_compile_shader:<glslstage5> fragment shader info log:Compiled
^Chandling interrupt. ------> ctrl^c
Interrupt: Stopping pipeline ...
Execution ended after 0:00:02.470928728
Setting pipeline to NULL ...
Freeing pipeline ...
```
We found that the problem was introduced by commit b887db1efe816c0c28b60a6842fa9005a26c1502 which moves locks and could possible introduce a deadlock from the gstreamer thread with itself.
Reverting this commit prevents the deadlock and is able to display my webcamfeed to the display:
```
gst-launch-1.0 v4l2src ! video/x-raw,height=240,width=320,format=YUY2 ! videoconvert ! glupload ! glcolorconvert ! glimagesink render-rectangle="<0,0,1920,1080>"
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:06.054823633
Setting pipeline to NULL ...
Freeing pipeline ...
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/848tagdemux, oggdemux: GStreamer-CRITICAL gst_pad_get_range_unchecked when tryin...2021-01-04T15:06:11Zslyblotytagdemux, oggdemux: GStreamer-CRITICAL gst_pad_get_range_unchecked when trying to play OGG filesStarting recently, about 2-3 weeks ago, I believe after some update, Clementine stopped playing OGG files and this error message gets printed to the terminal:
```
(clementine:647736): GStreamer-CRITICAL **: 11:27:26.111: gst_pad_get_ran...Starting recently, about 2-3 weeks ago, I believe after some update, Clementine stopped playing OGG files and this error message gets printed to the terminal:
```
(clementine:647736): GStreamer-CRITICAL **: 11:27:26.111: gst_pad_get_range_unchecked: assertion '!*buffer || res_buf == *buffer' failed
(clementine:647736): GStreamer-CRITICAL **: 11:27:26.111: gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
11:27:26.186 WARN unknown QTimeLine::start: already running
11:27:26.691 WARN unknown QTimeLine::start: already running
11:27:26.691 WARN unknown QTimeLine::start: already running
11:27:26.695 WARN unknown QTimeLine::start: already running
```
Version info:
- Fedora 33 5.9.11-200.fc33.x86_64
- clementine.x86_64: 1.4.0-3.rc1.20200617gitedb8c3b.fc33.1
- gstreamer1.x86_64: 1.18.2-1.fc33
- gstreamer1-libav.x86_64: 1.18.1-1.fc33
- gstreamer1-plugin-openh264.x86_64: 1.16.2-2.fc33
- gstreamer1-plugins-bad-free.x86_64: 1.18.2-1.fc33
- gstreamer1-plugins-bad-free-extras.x86_64: 1.18.2-1.fc33
- gstreamer1-plugins-base.x86_64: 1.18.2-1.fc33
- gstreamer1-plugins-good.x86_64: 1.18.2-1.fc33
- gstreamer1-plugins-good-gtk.x86_64: 1.18.2-1.fc33
- gstreamer1-plugins-good-qt.x86_64: 1.18.2-1.fc33
- gstreamer1-plugins-ugly.x86_64: 1.18.1-1.fc33
- gstreamer1-plugins-ugly-free.x86_64: 1.18.2-1.fc33https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825videodecoder: invalid buffer size on alternate interlace mode2020-10-12T11:17:14Zazerowallvideodecoder: invalid buffer size on alternate interlace modeVersion: 1.18.0
Pipeline:
`filesrc location=test.ts ! tsdemux ! video/x-h265 ! h265parse ! avdec_h265 ! fakesink`
Video:
[test.ts](https://yadi.sk/i/naIzWheM57Ewww)
Error:
```
0:00:00.189203923 16470 0x55cf953e8b20 ERROR ...Version: 1.18.0
Pipeline:
`filesrc location=test.ts ! tsdemux ! video/x-h265 ! h265parse ! avdec_h265 ! fakesink`
Video:
[test.ts](https://yadi.sk/i/naIzWheM57Ewww)
Error:
```
0:00:00.189203923 16470 0x55cf953e8b20 ERROR default video-frame.c:182:gst_video_frame_map_id: invalid buffer size 779520 < 1555200
ERROR: from element /GstPipeline:pipeline0/avdec_h265:avdec_h265-0: Cannot access memory for read and write operation.
Additional debug info:
../subprojects/gst-libav/ext/libav/gstavviddec.c(1538): get_output_buffer (): /GstPipeline:pipeline0/avdec_h265:avdec_h265-0:
The video memory allocated from downstream pool could not mapped forread and write.
ERROR: pipeline doesn't want to preroll.
```
Interlace mode detected by the parser: alternate
In videodecoder, I discovered a hardcoded progressive interlace mode. At the same time, the real interlace mode is specified in reference->info.interlace_mode.
```
GstVideoCodecState *
gst_video_decoder_set_output_state (GstVideoDecoder * decoder,
GstVideoFormat fmt, guint width, guint height,
GstVideoCodecState * reference)
{
return gst_video_decoder_set_interlaced_output_state (decoder, fmt,
GST_VIDEO_INTERLACE_MODE_PROGRESSIVE /* reference->info.interlace_mode */,
width, height, reference);
}
```
After replacing this value with a real one, the size of the allocated buffer became correct, but many errors appeared in other places (e.g. avdec_h265, nvh265sldec). Please correct me if this replacement is wrong and there are no errors on this line.
I also checked version 1.14.5 and found that this pipeline works fine with no errors. In this version, the interlaced mode detected by the parser is mixed.
Does this mean that the parser did not correctly recognize interlace mode as alternate in the new version? Or is it because alternate mode has poor support at the moment? Are there any ways to work around this issue on the new version?https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/814gst-libs/gst/gl/egl/egl.h collides with EGL/egl.h on case-insensitive platforms2020-08-28T20:10:19ZNirbheek Chauhannirbheek.chauhan@gmail.comgst-libs/gst/gl/egl/egl.h collides with EGL/egl.h on case-insensitive platformsRegression from https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/784
This breaks the UWP gstgl build since it uses EGL (ANGLE). Will break EGL on macOS and iOS too, but we don't build that afaik, so we didn't n...Regression from https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/784
This breaks the UWP gstgl build since it uses EGL (ANGLE). Will break EGL on macOS and iOS too, but we don't build that afaik, so we didn't notice.
We need to rename `egl.h` to something else.
I think maybe we'll want to rename _all_ of the top-level headers, not just egl.h.1.18.0https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/791oggdemux: regression with libogg 1.3.42020-07-14T15:06:44ZGuillaume Desmottesoggdemux: regression with libogg 1.3.4`./gst-uninstalled.py gst-validate-launcher validate.http.transcode.to_vorbis_and_vp9_in_webm.vorbis_theora_1_ogg`
This test is failing on Fedora 32 and Ubuntu 20.04. Both are using libogg `1.3.4` while our CI (Fedora 30) has `1.3.3`.
...`./gst-uninstalled.py gst-validate-launcher validate.http.transcode.to_vorbis_and_vp9_in_webm.vorbis_theora_1_ogg`
This test is failing on Fedora 32 and Ubuntu 20.04. Both are using libogg `1.3.4` while our CI (Fedora 30) has `1.3.3`.
It seems that `oggdemux` is no longer able to parse the file:
```
GST_DEBUG="*ogg*:6" gst-launch-1.0 filesrc location=subprojects/gst-integration-testsuites/medias/defaults/ogg/vorbis_theora.1.ogg ! oggdemux ! fakesink
0:00:00.217097604 912704 0xf9da40 DEBUG oggdemux gstoggdemux.c:5264:gst_ogg_demux_plugin_init: binding text domain gst-plugins-base-1.0 to locale dir /home/cassidy/dev/gst/master/gst-build/install/share/locale
Setting pipeline to PAUSED ...
0:00:00.217662698 912704 0xf9da40 DEBUG oggdemux gstoggdemux.c:2003:gst_ogg_demux_query_duration_push:<oggdemux0> Stream is not seekable, seeking disabled
0:00:00.217733779 912704 0xf9da40 DEBUG oggdemux gstoggdemux.c:5135:gst_ogg_demux_sink_activate:<oggdemux0:sink> activating pull
Pipeline is PREROLLING ...
0:00:00.217979466 912704 0xd93b60 DEBUG oggdemux gstoggdemux.c:4452:gst_ogg_demux_find_chains:<oggdemux0> file length 131
0:00:00.218001762 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2595:gst_ogg_demux_seek:<oggdemux0> seeking to 0
0:00:00.218015984 912704 0xd93b60 LOG oggdemux gstoggdemux.c:4133:gst_ogg_demux_read_chain:<oggdemux0> reading chain at 0
0:00:00.218031111 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2702:gst_ogg_demux_get_next_page:<oggdemux0> get next page, current offset 0, bytes boundary -1
0:00:00.218061928 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2717:gst_ogg_demux_get_next_page:<oggdemux0> pageseek gave 0
0:00:00.218076955 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2729:gst_ogg_demux_get_next_page:<oggdemux0> need more data
0:00:00.218095392 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2613:gst_ogg_demux_get_data:<oggdemux0> get data 0 131 -1
0:00:00.218156949 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2717:gst_ogg_demux_get_next_page:<oggdemux0> pageseek gave -8500
0:00:00.218177896 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2722:gst_ogg_demux_get_next_page:<oggdemux0> skipped -8500 bytes, offset 8500
0:00:00.218195438 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2717:gst_ogg_demux_get_next_page:<oggdemux0> pageseek gave 0
0:00:00.218209790 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2729:gst_ogg_demux_get_next_page:<oggdemux0> need more data
0:00:00.218228529 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2613:gst_ogg_demux_get_data:<oggdemux0> get data 8500 131 -1
0:00:00.218253476 912704 0xd93b60 WARN oggdemux gstoggdemux.c:2666:gst_ogg_demux_get_data:<oggdemux0> got -3 (eos) from pull range
0:00:00.218273742 912704 0xd93b60 LOG oggdemux gstoggdemux.c:2752:gst_ogg_demux_get_next_page:<oggdemux0> returning -3
0:00:00.218289815 912704 0xd93b60 DEBUG oggdemux gstoggdemux.c:4144:gst_ogg_demux_read_chain:<oggdemux0> Reached EOS, done reading end chain
0:00:00.218306157 912704 0xd93b60 DEBUG oggdemux gstoggdemux.c:4184:gst_ogg_demux_read_chain:<oggdemux0> done reading chains
0:00:00.218324120 912704 0xd93b60 WARN oggdemux gstoggdemux.c:4513:gst_ogg_demux_find_chains:<oggdemux0> error: can't get first chain
ERROR: from element /GstPipeline:pipeline0/GstOggDemux:oggdemux0: Could not demultiplex stream.
Additional debug info:
../subprojects/gst-plugins-base/ext/ogg/gstoggdemux.c(4513): gst_ogg_demux_find_chains (): /GstPipeline:pipeline0/GstOggDemux:oggdemux0:
can't get first chain
ERROR: pipeline doesn't want to preroll.
0:00:00.218531554 912704 0xd93b60 LOG oggdemux gstoggdemux.c:4961:gst_ogg_demux_loop:<oggdemux0> pausing task, reason error
Setting pipeline to NULL ...
0:00:00.218551956 912704 0xd93b60 WARN oggdemux gstoggdemux.c:4993:gst_ogg_demux_loop:<oggdemux0> error: Internal data stream error.
0:00:00.218564424 912704 0xd93b60 WARN oggdemux gstoggdemux.c:4993:gst_ogg_demux_loop:<oggdemux0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPipeline:pipeline0/GstOggDemux:oggdemux0: Internal data stream error.
Additional debug info:
../subprojects/gst-plugins-base/ext/ogg/gstoggdemux.c(4993): gst_ogg_demux_loop (): /GstPipeline:pipeline0/GstOggDemux:oggdemux0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
0:00:00.218638926 912704 0xd93b60 WARN oggdemux gstoggdemux.c:5011:gst_ogg_demux_loop:<oggdemux0> error: EOS before finding a chain
ERROR: from element /GstPipeline:pipeline0/GstOggDemux:oggdemux0: Could not demultiplex stream.
Additional debug info:
../subprojects/gst-plugins-base/ext/ogg/gstoggdemux.c(5011): gst_ogg_demux_loop (): /GstPipeline:pipeline0/GstOggDemux:oggdemux0:
EOS before finding a chain
ERROR: pipeline doesn't want to preroll.
Freeing pipeline ...
```1.17.90https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/785gst-device-monitor: v4l2 provider is not queried if v4l2-gudev is disabled2020-07-13T07:48:32ZVíctor Manuel Jáquez Lealgst-device-monitor: v4l2 provider is not queried if v4l2-gudev is disabledhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/427 introduced a regression when gstv4l2 is compiled without gudev support: gst-device-monitor doesn't report back any device.
I'm not sure if the proper fix sho...https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/427 introduced a regression when gstv4l2 is compiled without gudev support: gst-device-monitor doesn't report back any device.
I'm not sure if the proper fix should be here or in v4l2deviceprovider.1.17.90https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/784decodebin3: Avoid selection recalculation2020-07-07T13:09:01ZEdward Herveydecodebin3: Avoid selection recalculationCurrently the way decodebin3 figures out whether it should modify the current selection is not reliable.
What it should do, after posting a new collection is to check whether there already was a selection requested for **that** collecti...Currently the way decodebin3 figures out whether it should modify the current selection is not reliable.
What it should do, after posting a new collection is to check whether there already was a selection requested for **that** collection.
The order of events is:
* Updated collection is stored as `dbin->collection`
* Collection is posted on the bus
* `update_requested_selection` is called
Three things should happen:
* When the dbin->collection is modified, dbin->select_streams_seqnum should be resetted
* *UNCHANGED* : If a select_streams event comes in, we store it along with the seqnum
* Within `update_requested_selection`, and with the SELECTION lock taken, Only calculate a new selection **IFF** the seqnum is not set, otherwise just use the selection.1.17.90https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/780gst-device-monitor-1.0 no device on macOS2020-07-06T19:31:08ZRoman Shpuntovgst-device-monitor-1.0 no device on macOSmacOS 10.15.5, gstreamer 1.17.1
app output:
```
gst-device-monitor-1.0
Probing devices...
```macOS 10.15.5, gstreamer 1.17.1
app output:
```
gst-device-monitor-1.0
Probing devices...
```1.17.90https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/766playbin: properties to retrieve current track always returns -12020-06-15T22:07:30ZArnaud Vracplaybin: properties to retrieve current track always returns -1In playback the current-video, current-audio and current-text properties are not working anymore, the returned value is always -1. Since gstreamer/gstreamer!485, the `playbin->current_video`, `playbin->current_audio` and `playbin->curren...In playback the current-video, current-audio and current-text properties are not working anymore, the returned value is always -1. Since gstreamer/gstreamer!485, the `playbin->current_video`, `playbin->current_audio` and `playbin->current_text` variables are not set anymore, meaning `combiner_active_pad_changed()` is not called as before.1.17.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/750gir fails to parse GST_GL_COLOR_CONVERT_FORMATS2020-07-10T11:32:20ZVivia Nikolaidougir fails to parse GST_GL_COLOR_CONVERT_FORMATS```
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
#define COLOR_CONVERT_EXT_FORMATS \
", BGR10A2_LE, RGB10A2_LE, P010_10LE, P012_LE, P016_LE, Y212_LE, Y412_LE"
#else
#define COLOR_CONVERT_EXT_FORMATS \
", P010_10BE, P012_BE, P016_BE, Y212_...```
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
#define COLOR_CONVERT_EXT_FORMATS \
", BGR10A2_LE, RGB10A2_LE, P010_10LE, P012_LE, P016_LE, Y212_LE, Y412_LE"
#else
#define COLOR_CONVERT_EXT_FORMATS \
", P010_10BE, P012_BE, P016_BE, Y212_BE, Y412_BE"
#endif
#define GST_GL_COLOR_CONVERT_FORMATS "{ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, " \
"xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, " \
"Y41B, NV12, NV21, NV16, NV61, YUY2, UYVY, Y210, AYUV, " \
"VUYA, Y410, GRAY8, GRAY16_LE, GRAY16_BE, " \
"RGB16, BGR16, ARGB64 " COLOR_CONVERT_EXT_FORMATS "}"
```
```
Constant value mismatch for GST_GL_COLOR_CONVERT_FORMATS
Rust: "{ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, NV16, NV61, YUY2, UYVY, Y210, AYUV, VUYA, Y410, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 "
C: "{ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, NV16, NV61, YUY2, UYVY, Y210, AYUV, VUYA, Y410, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64 , BGR10A2_LE, RGB10A2_LE, P010_10LE, P012_LE, P016_LE, Y212_LE, Y412_LE}"
```
See: https://gitlab.freedesktop.org/vivia/gstreamer-rs-sys/-/jobs/25177691.17.90https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/743glvideomixer: output is black2020-04-16T08:01:41ZPhilippe Normandglvideomixer: output is black`gst-launch-1.0 glvideomixer name=m ! queue ! glimagesink gltestsrc ! queue ! m.` only shows black.
Works fine with 1.16.2 as packaged in Debian.`gst-launch-1.0 glvideomixer name=m ! queue ! glimagesink gltestsrc ! queue ! m.` only shows black.
Works fine with 1.16.2 as packaged in Debian.https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/734[regression] glupload: dmabuf: add DirectDmabufExternal uploader2020-07-13T13:41:43ZPieter Jordaan[regression] glupload: dmabuf: add DirectDmabufExternal uploaderCommit 0e038a56 causes a strange issue for vaapidecodebin emitting DMABufs: negotiation fails (vaapi is just for providing DMABufs)
`gst-launch-1.0 videotestsrc ! "video/x-raw,width=400,height=300,framerate=30/1,format=I420" ! videocon...Commit 0e038a56 causes a strange issue for vaapidecodebin emitting DMABufs: negotiation fails (vaapi is just for providing DMABufs)
`gst-launch-1.0 videotestsrc ! "video/x-raw,width=400,height=300,framerate=30/1,format=I420" ! videoconvert ! x264enc ! "video/x-h264" ! h264parse ! queue ! vaapidecodebin ! 'video/x-raw(memory:DMABuf),format=I420' ! glupload ! glcolorconvert ! glimagesinkelement`
Gives:
```
0:00:00.084399929 20134 0x5642caa12a60 WARN vaapiblend gstvaapiblend.c:184:gst_vaapi_blend_initialize:<vaapiblend0> VPP does not support global alpha blending
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.198652652 20134 0x5642caa89720 FIXME default gstutils.c:4024:gst_pad_create_stream_id_internal:<videotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
Got context from element 'glimagesink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx0";
Redistribute latency...
0:00:00.299038831 20134 0x5642caa12a60 FIXME bin gstbin.c:4359:gst_bin_query: implement duration caching in GstBin again
Redistribute latency...
0:00:00.501202388 20134 0x5642caa89c00 WARN basetransform gstbasetransform.c:1362:gst_base_transform_setcaps:<vaapipostproc0> transform could not transform video/x-raw(memory:VASurface), format=(string)NV12, width=(int)400, height=(int)300, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1 in anything we support
0:00:00.502717304 20134 0x5642caa89c00 WARN basetransform gstbasetransform.c:1362:gst_base_transform_setcaps:<vaapipostproc0> transform could not transform video/x-raw(memory:VASurface), format=(string)NV12, width=(int)400, height=(int)300, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1 in anything we support
0:00:00.502788788 20134 0x5642caa89c00 WARN GST_PADS gstpad.c:4303:gst_pad_peer_query:<capsfilter3:src> could not send sticky events
0:00:00.505897265 20134 0x5642caa89c00 WARN basetransform gstbasetransform.c:1362:gst_base_transform_setcaps:<vaapipostproc0> transform could not transform video/x-raw(memory:VASurface), format=(string)NV12, width=(int)400, height=(int)300, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1 in anything we support
0:00:00.507563473 20134 0x5642caa89c00 WARN basetransform gstbasetransform.c:1362:gst_base_transform_setcaps:<vaapipostproc0> transform could not transform video/x-raw(memory:VASurface), format=(string)NV12, width=(int)400, height=(int)300, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1 in anything we support
0:00:00.509106850 20134 0x5642caa89c00 WARN basetransform gstbasetransform.c:1362:gst_base_transform_setcaps:<vaapipostproc0> transform could not transform video/x-raw(memory:VASurface), format=(string)NV12, width=(int)400, height=(int)300, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1 in anything we support
0:00:00.510599704 20134 0x5642caa89c00 WARN basetransform gstbasetransform.c:1362:gst_base_transform_setcaps:<vaapipostproc0> transform could not transform video/x-raw(memory:VASurface), format=(string)NV12, width=(int)400, height=(int)300, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30/1 in anything we support
0:00:00.515175275 20134 0x5642caa89720 WARN basesrc gstbasesrc.c:3072:gst_base_src_loop:<videotestsrc0> error: Internal data stream error.
0:00:00.515239684 20134 0x5642caa89720 WARN basesrc gstbasesrc.c:3072:gst_base_src_loop:<videotestsrc0> error: streaming stopped, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
0:00:00.515920547 20134 0x5642caa89720 WARN queue gstqueue.c:988:gst_queue_handle_sink_event:<queue0> error: Internal data stream error.
0:00:00.515964044 20134 0x5642caa89720 WARN queue gstqueue.c:988:gst_queue_handle_sink_event:<queue0> error: streaming stopped, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstQueue:queue0: Internal data stream error.
Additional debug info:
../subprojects/gstreamer/plugins/elements/gstqueue.c(988): gst_queue_handle_sink_event (): /GstPipeline:pipeline0/GstQueue:queue0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/722clockoverlay: seconds field broken2020-01-23T19:26:51ZVivia Nikolaidouclockoverlay: seconds field brokenTestcase: `gst-launch-1.0 videotestsrc ! clockoverlay ! autovideosink`
Expected output: ![expected](/uploads/8ed7d8c93d38b7185acbfa9dcd0ee91f/expected.png)
Actual output: ![actual](/uploads/19aa7bd9b0458e90da4bd542807f3268/actual.png)
...Testcase: `gst-launch-1.0 videotestsrc ! clockoverlay ! autovideosink`
Expected output: ![expected](/uploads/8ed7d8c93d38b7185acbfa9dcd0ee91f/expected.png)
Actual output: ![actual](/uploads/19aa7bd9b0458e90da4bd542807f3268/actual.png)
"seconds" field doesn't seem to change.
Reverting https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/98ebcb4b8af31a07ac935eeaa1d101dc70cd43d4 fixes the issue.1.17.1Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/677xvimagesink: Regression with buffer pool resetting2019-11-28T15:11:27ZSebastian Drögexvimagesink: Regression with buffer pool resettingThis is a regression in 1.16, it didn't happen in 1.14. Try e.g. the following file http://samples.mplayerhq.hu/MPEG2/dothack2.mpg
```sh
gst-launch-1.0 filesrc location=dothack2.mpg ! decodebin ! xvimagesink
```
```
(gst-launch-1.0:337...This is a regression in 1.16, it didn't happen in 1.14. Try e.g. the following file http://samples.mplayerhq.hu/MPEG2/dothack2.mpg
```sh
gst-launch-1.0 filesrc location=dothack2.mpg ! decodebin ! xvimagesink
```
```
(gst-launch-1.0:3372): GStreamer-CRITICAL **: 19:42:41.564: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
Thread 6 "multiqueue0:src" received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffe7fff700 (LWP 3381)]
_g_log_abort (breakpoint=1) at ../../../glib/gmessages.c:554
554 ../../../glib/gmessages.c: No such file or directory.
(gdb) bt
#0 0x00007ffff7d70db5 in _g_log_abort (breakpoint=1) at ../../../glib/gmessages.c:554
#1 0x00007ffff7d72079 in g_logv
(log_domain=0x7ffff7f5b710 <g_log_domain_gstreamer> "GStreamer", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffe7ffe030) at ../../../glib/gmessages.c:1373
#2 0x00007ffff7d7223f in g_log
(log_domain=<optimized out>, log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7ffff7dc1713 "%s: assertion '%s' failed") at ../../../glib/gmessages.c:1415
#3 0x00007ffff7d72a39 in g_return_if_fail_warning
(log_domain=<optimized out>, pretty_function=pretty_function@entry=0x7ffff7f5f040 <__func__.23400> "gst_buffer_resize_range", expression=expression@entry=0x7ffff7f5eb08 "bufmax >= bufoffs + offset + size") at ../../../glib/gmessages.c:2771
#4 0x00007ffff7ec243f in gst_buffer_resize_range (buffer=buffer@entry=0x7fffe002c6c0, idx=idx@entry=0, length=1,
length@entry=-1, offset=0, size=666624) at ../subprojects/gstreamer/gst/gstbuffer.c:1665
#5 0x00007ffff7ec2732 in gst_buffer_resize (buffer=buffer@entry=0x7fffe002c6c0, offset=<optimized out>, size=<optimized out>)
at ../subprojects/gstreamer/gst/gstbuffer.c:1605
#6 0x00007ffff7ec5517 in default_reset_buffer (pool=0x7fffdc0ee2b0 [GstXvImageBufferPool], buffer=0x7fffe002c6c0)
at ../subprojects/gstreamer/gst/gstbufferpool.c:1228
#7 0x00007ffff7ec7060 in gst_buffer_pool_release_buffer (pool=0x7fffdc0ee2b0 [GstXvImageBufferPool], buffer=0x7fffe002c6c0)
at ../subprojects/gstreamer/gst/gstbufferpool.c:1361
#8 0x00007ffff7ec00d4 in _gst_buffer_dispose (buffer=0x7fffe002c6c0) at ../subprojects/gstreamer/gst/gstbuffer.c:751
#9 0x00007ffff7ef67f0 in gst_mini_object_unref (mini_object=0x7fffe002c6c0) at ../subprojects/gstreamer/gst/gstminiobject.c:656
#10 0x00007ffff4692e06 in gst_buffer_unref (buf=<optimized out>) at ../subprojects/gstreamer/gst/gstbuffer.h:446
#11 0x00007ffff4692e06 in gst_ffmpegviddec_decide_allocation (decoder=0x7fffdc0d0690 [avdec_mpeg2video], query=0x7fffdc004190)
at ../subprojects/gst-libav/ext/libav/gstavviddec.c:2120
#12 0x00007ffff725fe75 in gst_video_decoder_negotiate_pool (decoder=0x7fffdc0d0690 [avdec_mpeg2video], caps=<optimized out>)
at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:3725
#13 0x00007ffff7269e16 in gst_video_decoder_negotiate (decoder=0x7fffdc0d0690 [avdec_mpeg2video])
at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:3939
#14 0x00007ffff4694134 in gst_ffmpegviddec_negotiate
(picture=<optimized out>, context=<optimized out>, ffmpegdec=0x7fffdc0d0690 [avdec_mpeg2video])
at ../subprojects/gst-libav/ext/libav/gstavviddec.c:1355
#15 0x00007ffff4694134 in gst_ffmpegviddec_video_frame
(ret=0x7fffe7ffe4ac, frame=0x5555557ea850, ffmpegdec=0x7fffdc0d0690 [avdec_mpeg2video])
at ../subprojects/gst-libav/ext/libav/gstavviddec.c:1641
#16 0x00007ffff4694134 in gst_ffmpegviddec_frame (ffmpegdec=0x7fffdc0d0690 [avdec_mpeg2video], frame=0x5555557ea850, ret=0x7fffe7ffe4ac)
at ../subprojects/gst-libav/ext/libav/gstavviddec.c:1802
#17 0x00007ffff4695682 in gst_ffmpegviddec_handle_frame (decoder=0x7fffdc0d0690 [avdec_mpeg2video], frame=0x5555557ea850)
at ../subprojects/gst-libav/ext/libav/gstavviddec.c:1925
#18 0x00007ffff725f2bb in gst_video_decoder_decode_frame (decoder=decoder@entry=0x7fffdc0d0690 [avdec_mpeg2video], frame=0x5555557ea850)
at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:3401
--Type <RET> for more, q to quit, c to continue without paging--
#19 0x00007ffff72642d8 in gst_video_decoder_chain_forward
(decoder=decoder@entry=0x7fffdc0d0690 [avdec_mpeg2video], buf=buf@entry=0x7fffe0022240, at_eos=at_eos@entry=0)
at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:2122
#20 0x00007ffff72649e9 in gst_video_decoder_chain (pad=<optimized out>, parent=<optimized out>, buf=0x7fffe0022240)
at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:2437
#21 0x00007ffff7ef9eef in gst_pad_chain_data_unchecked
(pad=pad@entry=0x7fffe0018890 [GstPad], type=type@entry=4112, data=data@entry=0x7fffe0022240)
at ../subprojects/gstreamer/gst/gstpad.c:4399
#22 0x00007ffff7efbfd1 in gst_pad_push_data (pad=pad@entry=0x5555557cbd90 [GstPad], type=type@entry=4112, data=data@entry=0x7fffe0022240)
at ../subprojects/gstreamer/gst/gstpad.c:4655
#23 0x00007ffff7f02e83 in gst_pad_push (pad=0x5555557cbd90 [GstPad], buffer=buffer@entry=0x7fffe0022240)
at ../subprojects/gstreamer/gst/gstpad.c:4774
#24 0x00007ffff7411d67 in gst_base_parse_push_frame (parse=parse@entry=0x7fffe00173b0 [GstMpegvParse], frame=frame@entry=0x7fffdc0049e0)
at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:2580
#25 0x00007ffff7414b11 in gst_base_parse_handle_and_push_frame (frame=0x7fffdc0049e0, parse=0x7fffe00173b0 [GstMpegvParse])
at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:2394
#26 0x00007ffff7414b11 in gst_base_parse_finish_frame
(parse=parse@entry=0x7fffe00173b0 [GstMpegvParse], frame=frame@entry=0x7fffdc0049e0, size=size@entry=32958)
at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:2738
#27 0x00007ffff4715bea in gst_mpegv_parse_handle_frame
(parse=0x7fffe00173b0 [GstMpegvParse], frame=0x7fffdc0049e0, skipsize=<optimized out>)
at ../subprojects/gst-plugins-bad/gst/videoparsers/gstmpegvideoparse.c:730
#28 0x00007ffff740c9a6 in gst_base_parse_handle_buffer
(parse=parse@entry=0x7fffe00173b0 [GstMpegvParse], buffer=<optimized out>, skip=skip@entry=0x7fffe7ffeb5c, flushed=flushed@entry=0x7fffe7ffeb60) at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:2202
#29 0x00007ffff74129de in gst_base_parse_chain (pad=<optimized out>, parent=<optimized out>, buffer=<optimized out>)
at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:3287
#30 0x00007ffff7ef9eef in gst_pad_chain_data_unchecked
(pad=pad@entry=0x5555557cbb40 [GstPad], type=type@entry=4112, data=data@entry=0x5555557d7ea0)
at ../subprojects/gstreamer/gst/gstpad.c:4399
#31 0x00007ffff7efbfd1 in gst_pad_push_data
(pad=pad@entry=0x5555557cb8f0 [GstMultiQueuePad], type=type@entry=4112, data=data@entry=0x5555557d7ea0)
at ../subprojects/gstreamer/gst/gstpad.c:4655
#32 0x00007ffff7f02e83 in gst_pad_push (pad=pad@entry=0x5555557cb8f0 [GstMultiQueuePad], buffer=buffer@entry=0x5555557d7ea0)
at ../subprojects/gstreamer/gst/gstpad.c:4774
#33 0x00007ffff7492bb0 in gst_single_queue_push_one
(allow_drop=<synthetic pointer>, object=0x5555557d7ea0, sq=0x7fffe0011bc0, mq=0x7fffe0012060 [GstMultiQueue])
at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:1714
#34 0x00007ffff7492bb0 in gst_multi_queue_loop (pad=<optimized out>) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2041
--Type <RET> for more, q to quit, c to continue without paging--
#35 0x00007ffff7f2fe7f in gst_task_func (task=0x5555557d7dd0 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328
#36 0x00007ffff7d94404 in g_thread_pool_thread_proxy (data=<optimized out>) at ../../../glib/gthreadpool.c:308
#37 0x00007ffff7d93d0d in g_thread_proxy (data=0x7fffe0004400) at ../../../glib/gthread.c:805
#38 0x00007ffff7ca6fb7 in start_thread (arg=<optimized out>) at pthread_create.c:486
#39 0x00007ffff7bd82ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
```
CC @ndufresne , IIRC you looked at that recently?