gst-plugins-base issueshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues2019-06-13T14:01:52Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/543GL hangs after acc098a736949d465d7f77e5de94a75627209147 on newer amd GCN cards2019-06-13T14:01:52ZJordan PetridіsGL hangs after acc098a736949d465d7f77e5de94a75627209147 on newer amd GCN cardsAfter acc098a736949d465d7f77e5de94a75627209147 when I run the `check-gst-pugins-base.pipeleines_gl*` tests it hangs the machine. ssh and Pulseaudio are still responsive and it looks like its the graphics driver that has hang up.
Revert...After acc098a736949d465d7f77e5de94a75627209147 when I run the `check-gst-pugins-base.pipeleines_gl*` tests it hangs the machine. ssh and Pulseaudio are still responsive and it looks like its the graphics driver that has hang up.
Reverting the commit makes the hangs go away. This specific machine is a raven ridge apu with the amdgpu driver so it possible that its just a dirver bug since the hw and driver are quite new. The configuration tested is Fedora 29 with kenrel 4.19.14 and mesa 18.2.8.
```
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series] (rev c3) (prog-if 00 [VGA controller])
Subsystem: Lenovo Device 3801
Flags: bus master, fast devsel, latency 0, IRQ 71
Memory at c0000000 (64-bit, prefetchable) [size=256M]
Memory at d0000000 (64-bit, prefetchable) [size=2M]
I/O ports at 1000 [size=256]
Memory at d0600000 (32-bit, non-prefetchable) [size=512K]
Capabilities: <access denied>
Kernel driver in use: amdgpu
Kernel modules: amdgpu
```
I asked @slomo to try and reproduce the hang, but was not able to do so with an igpu with the `i965` driver. I will try to troubleshoot further in the coming days.
To reproduce:
```sh
# clone gst-build or from an existing checkout
meson build && ninja -C build
./gst-uninstalled.py gst-validate-launcher check.gst-plugins-base.pipelines_gl* -fs --mute --dump-on-failure --no-display --meson-no-rebuild
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/591scaletempo: Critical warning and negotiation failure when used as playbin aud...2019-04-23T08:31:22ZPhilippe Normandscaletempo: Critical warning and negotiation failure when used as playbin audio-filter```
gst-validate-1.0 playbin video-sink=fakesink audio-filter=scaletempo uri=file://$HOME/gst-build/gst-integration-testsuites/medias/defaults/mp4/mp3_h264.0.mp4 --set-scenario=fast_forward
**-> Running scenario fast_forward on pipeli...```
gst-validate-1.0 playbin video-sink=fakesink audio-filter=scaletempo uri=file://$HOME/gst-build/gst-integration-testsuites/medias/defaults/mp4/mp3_h264.0.mp4 --set-scenario=fast_forward
**-> Running scenario fast_forward on pipeline playbin0**
Starting pipeline
Pipeline started
Executing set-vars (
- default_flags=accurate+flush
)
Executing (subaction)seek (
- name=Fast-forward-seek
- playback-time=0
- rate=2
- start=0
- flags=accurate+flush
)
-> Action seek done (duration: 0:00:00.012380942)
Executing (subaction)seek (
- name=Fast-forward-seek
- playback-time=0:00:00.626937500
- rate=4
- start=0
- flags=accurate+flush
)
0:00:00.353614533 715 0x7f4e484cbf70 ERROR validate gst-validate-reporter.c:195:gst_validate_report_valist: <playbin0> 2285 (critical) : g-log: We got a g_log critical issue : gst_audio_buffer_map: assertion '(!meta && info->layout == GST_AUDIO_LAYOUT_INTERLEAVED) || (meta && info->layout == meta->info.layout)' failed
0:00:00.416149674 715 0x7f4e484cbf70 ERROR validate gst-validate-reporter.c:195:gst_validate_report_valist: <playbin0> 2271 (critical) : runtime: a NOT NEGOTIATED message has been posted on the bus. : Error message posted by: conv
Caps negotiation failed at pad 'pulsesink1:sink' as it refused caps: audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)1 for the following possible reasons:
-> Field 'layout' downstream value from structure 0 '(gchararray)non-interleaved' can't intersect with filter value from structure number 0 '(gchararray)interleaved'
-> Downstream caps struct 0 name 'audio/x-raw' differs from filter caps struct 1 name 'audio/x-alaw'
-> Downstream caps struct 0 name 'audio/x-raw' differs from filter caps struct 2 name 'audio/x-mulaw'
0:00:00.442777845 715 0x7f4e484cbf70 ERROR validate gst-validate-reporter.c:195:gst_validate_report_valist: <playbin0> 2285 (critical) : g-log: We got a g_log critical issue : gst_audio_buffer_map: assertion '(!meta && info->layout == GST_AUDIO_LAYOUT_INTERLEAVED) || (meta && info->layout == meta->info.layout)' failed
0:00:00.445224123 715 0x5614f87a6390 ERROR validate gst-validate-reporter.c:195:gst_validate_report_valist: <fast_forward> 2276 (critical) : scenario: The program stopped before some actions were executed : 4 actions were not executed:
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(10.0\,\ \$\(duration\)\ \*\ 0.0625\)", rate=(double)4, start=(double)0, flags=(string)"\$\(default_flags\)";
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(20.0\,\ \$\(duration\)\ \*\ 0.125\)", rate=(double)8, start=(double)0, flags=(string)"\$\(default_flags\)";
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(40.0\,\ \$\(duration\)\ \*\ 0.25\)", rate=(double)16, start=(double)0, flags=(string)"\$\(default_flags\)";
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(80.0\,\ \$\(duration\)\ \*\ 0.50\)", rate=(double)32, start=(double)0, flags=(string)"\$\(default_flags\)"; (position: 99:99:99.999999999)
Executing stop (
- generated-after-eos=true
)
0:00:00.503836409 715 0x7f4e484cbf70 ERROR validate gst-validate-reporter.c:195:gst_validate_report_valist: <playbin0> 2271 (critical) : runtime: a NOT NEGOTIATED message has been posted on the bus. : Error message posted by: conv
Caps negotiation failed at pad 'pulsesink1:sink' as it refused caps: audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)1 for the following possible reasons:
-> Field 'layout' downstream value from structure 0 '(gchararray)non-interleaved' can't intersect with filter value from structure number 0 '(gchararray)interleaved'
-> Downstream caps struct 0 name 'audio/x-raw' differs from filter caps struct 1 name 'audio/x-alaw'
-> Downstream caps struct 0 name 'audio/x-raw' differs from filter caps struct 2 name 'audio/x-mulaw'
warning : received the same caps twice
Detected on <avdec_h264-0:sink>
Detected on <h264parse0:sink>
Detected on <mpegaudioparse0:sink>
Detected on <avdec_mp3-0:sink>
warning : a new segment event has different value than the received one
Detected on <scaletempo0:src>
Description : when receiving a new segment, an element should push an equivalent segment downstream
warning : buffer timestamp is out of the received buffer timestamps' range
Detected on <avdec_mp3-0:src>
Description : a buffer leaving an element should have its timestamps in the range of the received buffers timestamps. i.e. If an element received buffers with timestamps from 0s to 10s, it can't push a buffer with a 11s timestamp, because it doesn't have data for that
critical : We got a g_log critical issue
Detected on <playbin0>
Details : gst_audio_buffer_map: assertion '(!meta && info->layout == GST_AUDIO_LAYOUT_INTERLEAVED) || (meta && info->layout == meta->info.layout)' failed
dotfile : no dotfile produced as GST_DEBUG_DUMP_DOT_DIR is not set.
backtrace :
gst_debug_get_stack_trace (0x14)
gst_validate_report_new (0x266)
gst_validate_report_valist (0x163)
gst_validate_report (0x130)
g_logv (0x543)
g_log (0x143)
gst_audio_buffer_map (0x340)
gst_audio_convert_transform (0x121)
default_generate_output (0x793)
gst_base_transform_chain (0x151)
gst_validate_pad_monitor_chain_ (0x744)
gst_pad_push_data (0x2498)
gst_pad_push (0x258)
gst_proxy_pad_chain_default (0x187)
gst_pad_push_data (0x2498)
gst_pad_push (0x258)
gst_queue_loop (0x2685)
gst_task_func (0x369)
g_thread_pool_new (0x739)
g_test_get_filename (0x405)
start_thread (0x243)
clone (0x63)
critical : a NOT NEGOTIATED message has been posted on the bus.
Detected on <playbin0>
Details : Error message posted by: conv
Caps negotiation failed at pad 'pulsesink1:sink' as it refused caps: audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)1 for the following possible reasons:
-> Field 'layout' downstream value from structure 0 '(gchararray)non-interleaved' can't intersect with filter value from structure number 0 '(gchararray)interleaved'
-> Downstream caps struct 0 name 'audio/x-raw' differs from filter caps struct 1 name 'audio/x-alaw'
-> Downstream caps struct 0 name 'audio/x-raw' differs from filter caps struct 2 name 'audio/x-mulaw'
dotfile : no dotfile produced as GST_DEBUG_DUMP_DOT_DIR is not set.
backtrace :
gst_debug_get_stack_trace (0x14)
gst_validate_report_new (0x266)
gst_validate_report_valist (0x163)
gst_validate_report (0x130)
_bus_handler (0x3408)
ffi_call_unix64 (0x76)
ffi_call (0x559)
g_cclosure_marshal_generic (0x514)
g_closure_invoke (0x413)
g_signal_handler_disconnect (0x4453)
g_signal_emit_valist (0x3470)
g_signal_emit (0x143)
gst_bus_sync_signal_handler (0x84)
gst_bus_post (0x861)
gst_element_post_message_defaul (0x117)
gst_bin_post_message (0x45)
gst_element_post_message (0x106)
gst_bin_handle_message_func (0x222)
gst_pipeline_handle_message (0x89)
gst_play_bin_handle_message (0x133)
bin_bus_handler (0x24)
gst_bus_post (0x491)
gst_element_post_message_defaul (0x117)
gst_bin_post_message (0x45)
gst_element_post_message (0x106)
gst_bin_handle_message_func (0x222)
gst_play_sink_handle_message (0x678)
bin_bus_handler (0x24)
gst_bus_post (0x491)
gst_element_post_message_defaul (0x117)
gst_bin_post_message (0x45)
gst_element_post_message (0x106)
gst_bin_handle_message_func (0x222)
bin_bus_handler (0x24)
gst_bus_post (0x491)
gst_element_post_message_defaul (0x117)
gst_bin_post_message (0x45)
gst_element_post_message (0x106)
gst_bin_handle_message_func (0x222)
bin_bus_handler (0x24)
gst_bus_post (0x491)
gst_element_post_message_defaul (0x117)
gst_element_post_message (0x106)
gst_element_message_full_with_d (0x557)
gst_element_message_full (0x24)
gst_audio_convert_transform (0x1390)
default_generate_output (0x793)
gst_base_transform_chain (0x151)
gst_validate_pad_monitor_chain_ (0x744)
gst_pad_push_data (0x2498)
gst_pad_push (0x258)
gst_proxy_pad_chain_default (0x187)
gst_pad_push_data (0x2498)
gst_pad_push (0x258)
gst_queue_loop (0x2685)
gst_task_func (0x369)
g_thread_pool_new (0x739)
g_test_get_filename (0x405)
start_thread (0x243)
clone (0x63)
critical : The program stopped before some actions were executed
Detected on <fast_forward>
Details : 4 actions were not executed:
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(10.0\,\ \$\(duration\)\ \*\ 0.0625\)", rate=(double)4, start=(double)0, flags=(string)"\$\(default_flags\)";
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(20.0\,\ \$\(duration\)\ \*\ 0.125\)", rate=(double)8, start=(double)0, flags=(string)"\$\(default_flags\)";
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(40.0\,\ \$\(duration\)\ \*\ 0.25\)", rate=(double)16, start=(double)0, flags=(string)"\$\(default_flags\)";
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(80.0\,\ \$\(duration\)\ \*\ 0.50\)", rate=(double)32, start=(double)0, flags=(string)"\$\(default_flags\)"; (position: 99:99:99.999999999)
dotfile : no dotfile produced as GST_DEBUG_DUMP_DOT_DIR is not set.
backtrace :
gst_debug_get_stack_trace (0x14)
gst_validate_report_new (0x266)
gst_validate_report_valist (0x163)
gst_validate_report (0x130)
message_cb (0x2490)
ffi_call_unix64 (0x76)
ffi_call (0x559)
g_cclosure_marshal_generic (0x514)
g_closure_invoke (0x413)
g_signal_handler_disconnect (0x4453)
g_signal_emit_valist (0x3470)
g_signal_emit (0x143)
gst_bus_async_signal_func (0x84)
gst_bus_source_dispatch (0x205)
g_main_context_dispatch (0x344)
g_main_context_dispatch (0x1352)
g_main_loop_run (0x178)
main (0x1657)
__libc_start_main (0x235)
_start (0x42)
**Got criticals. Return value set to 18**:
* critical error gst_audio_buffer_map: assertion '(!meta && info->layout == GST_AUDIO_LAYOUT_INTERLEAVED) || (meta && info->layout == meta->info.layout)' failed
* critical error Error message posted by: conv
Caps negotiation failed at pad 'pulsesink1:sink' as it refused caps: audio/x-raw, format=(string)S16LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)1 for the following possible reasons:
-> Field 'layout' downstream value from structure 0 '(gchararray)non-interleaved' can't intersect with filter value from structure number 0 '(gchararray)interleaved'
-> Downstream caps struct 0 name 'audio/x-raw' differs from filter caps struct 1 name 'audio/x-alaw'
-> Downstream caps struct 0 name 'audio/x-raw' differs from filter caps struct 2 name 'audio/x-mulaw'
* critical error 4 actions were not executed:
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(10.0\,\ \$\(duration\)\ \*\ 0.0625\)", rate=(double)4, start=(double)0, flags=(string)"\$\(default_flags\)";
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(20.0\,\ \$\(duration\)\ \*\ 0.125\)", rate=(double)8, start=(double)0, flags=(string)"\$\(default_flags\)";
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(40.0\,\ \$\(duration\)\ \*\ 0.25\)", rate=(double)16, start=(double)0, flags=(string)"\$\(default_flags\)";
seek, name=(string)Fast-forward-seek, playback-time=(string)"min\(80.0\,\ \$\(duration\)\ \*\ 0.50\)", rate=(double)32, start=(double)0, flags=(string)"\$\(default_flags\)"; (position: 99:99:99.999999999)
Issues found: 6
Returning 18 as errors were found
=======> Test FAILED (Return value: 18)
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/601GL: external-oes shader places precision qualifier before #extension (was: an...2019-08-08T11:41:13ZGITkrisbiketeamGL: external-oes shader places precision qualifier before #extension (was: androidmedia amcviddec fail after 1.15.90 1.16.0 update)After updating to 1.15.90 or 1.16.0
Video streaming decoding no longer works on Android.
I use libgstreamer_android my config is:
`GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build`
`include $(GSTREAMER_NDK_BUIL...After updating to 1.15.90 or 1.16.0
Video streaming decoding no longer works on Android.
I use libgstreamer_android my config is:
`GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build`
`include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk`
`GSTREAMER_PLUGINS := coreelements udp rtsp rtpmanager rtp webrtc videoparsersbad openh264 videoconvert opengl androidmedia`
`GSTREAMER_EXTRA_LIBS := -liconv`
`G_IO_MODULES := gnutls`
`GSTREAMER_EXTRA_DEPS := gstreamer-video-1.0`
`include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk`
and stream config is :
```
rtspsrc location=%1$s " + "tls-validation-flags=generic-error " + "latency=1000 ! "
+ "rtph264depay ! " + "h264parse ! " + "amcviddec-(hw decoder found on Android with MediaCodecList) !" + "videoconvert ! "
+ "glimagesink queue2
```
with 1.15.2 Gstreamer stream playback is working fine, however after update to 1.15.90 or 1.16.0
stream is failing with such error:
> 2019-04-20 14:11:02.570 com.bshg.homeconnect.android.dev D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000, [1440x859]-format:2
> 2019-04-20 14:11:02.571 com.bshg.homeconnect.android.dev E/GStreamer+glslstage: 0:04:23.385090209 0x71c9b721e0 ../gst-libs/gst/gl/gstglslstage.c:507:_compile_shader:<glslstage15> fragment shader compilation failed:0:4: P0001: Extension directive must occur before any non-preprocessor tokens
0:6: L0001: Typename expected, found 'samplerExternalOES'
> 2019-04-20 14:11:02.571 com.bshg.homeconnect.android.dev E/GStreamer+glimagesink: 0:04:23.385431917 0x71c9b721e0 ../ext/gl/gstglimagesink.c:2045:gst_glimage_sink_thread_init_redisplay:<sink> Failed to link shader: fragment shader compilation failed:0:4: P0001: Extension directive must occur before any non-preprocessor tokens
0:6: L0001: Typename expected, found 'samplerExternalOES'
> 2019-04-20 14:11:02.571 com.bshg.homeconnect.android.dev W/GStreamer+glimagesink: 0:04:23.385605125 0x71c988cb70 ../ext/gl/gstglimagesink.c:1792:gst_glimage_sink_show_frame:<sink> error: Window redisplay failed
can somebody please help? is this a GStreamer lib error or I'm missing some config?1.16.1https://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/603GL: using vaapi and showing on glimagesink on wayland loads one core for 100%...2019-07-26T09:19:34ZMarc LeemanGL: using vaapi and showing on glimagesink on wayland loads one core for 100% on 1.16Using this pipeline
```
XDG_RUNTIME_DIR=/run/user/1002 gst-launch-1.0 filesrc location=file.mkv ! matroskademux ! "video/x-h264" ! queue ! vaapih264dec ! vaapipostproc ! glimagesink -v
```
On 1.14, the load is around a couple 6% on a s...Using this pipeline
```
XDG_RUNTIME_DIR=/run/user/1002 gst-launch-1.0 filesrc location=file.mkv ! matroskademux ! "video/x-h264" ! queue ! vaapih264dec ! vaapipostproc ! glimagesink -v
```
On 1.14, the load is around a couple 6% on a single core, when using 1.16, this is 100% (full HD).
perf top on the process shows (on 1.16)
```
29.61% [kernel] [k] __indirect_thunk_end
19.57% [kernel] [k] __stop___bug_table+0xabecbe
11.30% [unknown] [k] 0xfffffe000003201b
3.86% [kernel] [k] __start___jump_table+0xa0bd60
3.48% libglib-2.0.so.0.5800.3 [.] g_mutex_unlock
3.30% libglib-2.0.so.0.5800.3 [.] g_mutex_lock
1.64% [kernel] [k] descriptor.55996+0xa02020
1.52% [unknown] [k] 0xfffffe000003201e
1.40% libpthread-2.28.so [.] __libc_write
1.33% libpthread-2.28.so [.] __pthread_enable_asynccancel
1.32% libpthread-2.28.so [.] __pthread_mutex_lock
1.26% [unknown] [k] 0xfffffe0000032025
1.20% libpthread-2.28.so [.] __pthread_mutex_unlock_usercnt
1.15% libpthread-2.28.so [.] __pthread_disable_asynccancel
1.07% libglib-2.0.so.0.5800.3 [.] g_main_context_check
1.06% [kernel] [k] descriptor.56037+0xa02028
0.86% libpthread-2.28.so [.] __libc_recvmsg
0.82% libc-2.28.so [.] __poll
0.81% [unknown] [k] 0xfffffe000003200c
0.80% [kernel] [k] descriptor.48124+0xa02003
0.76% libpthread-2.28.so [.] __libc_read
0.71% [kernel] [k] orc_lookup+0xa02548
0.69% [kernel] [k] ioctl_pointer+0xa021a5
0.49% libglib-2.0.so.0.5800.3 [.] g_main_context_dispatch
0.47% libglib-2.0.so.0.5800.3 [.] g_slice_free1
0.41% [kernel] [k] descriptor.48130+0xa02014
0.35% [kernel] [k] event_exit__msgget+0xa0207a
0.34% libglib-2.0.so.0.5800.3 [.] g_main_context_prepare
0.32% [kernel] [k] init_ipc_ns+0xa021a2
0.29% [kernel] [k] descriptor.22848+0xa02010
0.25% [kernel] [k] descriptor.69342+0xa02013
0.23% libc-2.28.so [.] 0x0000000000106764
0.23% libglib-2.0.so.0.5800.3 [.] g_slice_alloc
0.21% libglib-2.0.so.0.5800.3 [.] g_main_context_query
0.21% libwayland-client.so.0.3.0 [.] wl_display_read_events
0.19% libc-2.28.so [.] 0x00000000001067c7
```
for both 1.16 and 1.14, when glimagesink is not used, the load is about the same
```
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1589 vader 20 0 697636 35688 18404 S 1.3 0.6 0:02.31 gst-launch-1.0 filesrc location=../file.mkv ! matroskademux ! video/x-h264 ! queue ! vaapih264dec ! vaapipostproc ! fakesink sync=1
1566 vader 20 0 627088 28812 18000 S 1.0 0.4 0:01.94 gst-launch-1.0 filesrc location=file.mkv ! matroskademux ! video/x-h264 ! queue ! vaapih264dec ! vaapipostproc ! fakesink sync=1
```
Note, in order to get this done;
i965-va-driver (1.7.3) is used on 1.14 and i965-va-driver-shaders (2.3.0) on 1.16.1.16.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/610compositor: Source operation with AYUV wrongly computes output alpha channel2020-10-16T14:46:55ZThibault Sauniertsaunier@igalia.comcompositor: Source operation with AYUV wrongly computes output alpha channelDoing:
```
gst-launch-1.0 videotestsrc pattern=blue ! compositor name=c sink_0::operator=source ! video/x-raw,format=AYUV ! videoconvert ! glimagesink
```
leads to pixels with alpha_channel=0xa0 not 0xff as expected, you can simply see...Doing:
```
gst-launch-1.0 videotestsrc pattern=blue ! compositor name=c sink_0::operator=source ! video/x-raw,format=AYUV ! videoconvert ! glimagesink
```
leads to pixels with alpha_channel=0xa0 not 0xff as expected, you can simply see it doing
```
gst-launch-1.0 videotestsrc pattern=blue ! compositor name=c sink_0::operator=source ! video/x-raw,format=AYUV ! videoconvert ! compositor ! glimagesink
```
Where the checkboard show up where it shouldn't
The orc function is the same as the ARGB variants, and interestingly this works just fine:
``` bash
gst-launch-1.0 videotestsrc pattern=blue ! compositor name=c sink_0::alpha=1.0 sink_0::operator=source ! video/x-raw,format=ARGB ! videoconvert ! glimagesink
```
See https://gitlab.gnome.org/GNOME/pitivi/issues/2321https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/629glimagesink: regression from 1.12 to 1.14 when window resized2020-06-12T06:41:14ZLucas Johnsonglimagesink: regression from 1.12 to 1.14 when window resizedI had used code that worked fine for many versions of gstreamer until glimagesink was moved from -bad to -base. As an example, the attached patch [glimagesink_resize_broken.patch](/uploads/43c75bef20edeb9d278785ae3b0987c8/glimagesink_re...I had used code that worked fine for many versions of gstreamer until glimagesink was moved from -bad to -base. As an example, the attached patch [glimagesink_resize_broken.patch](/uploads/43c75bef20edeb9d278785ae3b0987c8/glimagesink_resize_broken.patch) can be applied to the gst-docs repository to recreate what I see. All this patch does is tell playbin to use glimagesink as the video-sink instead of its default, which is xvimagesink on my RHEL 7 machine. Resize messages then do not make it where they need to go and resizing the UI leaves the GL window the originally created size.
@ystreethttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/640egl: Might leak displays2022-09-16T06:20:43ZSebastian Drögeegl: Might leak displaysThe following discussion from !314 should be addressed:
- [ ] @ystreet started a [discussion](https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/314#note_193724): (+1 comment)
> This is not always true. An E...The following discussion from !314 should be addressed:
- [ ] @ystreet started a [discussion](https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/314#note_193724): (+1 comment)
> This is not always true. An EGLDisplay can be non-foreign from a foreign native display and in such cases, `eglTerminate` will not be called and thus can cause leaks.1.17.90https://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?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/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/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/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/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/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/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/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/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/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/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?