projectM-visualizer / gst-projectm

This is a plugin for GStreamer that allows you to utilize the ProjectM library to create visualizations from audio.
GNU Lesser General Public License v2.1
3 stars 2 forks source link

OS X support #1

Open nzoschke opened 4 months ago

nzoschke commented 4 months ago

The plugin is not working for me on OS X yet.

Running the test command after build.sh gives this error here:

gst-launch-1.0 audiotestsrc ! queue ! audioconvert ! projectm ! video/x-raw,width=512,height=512,framerate=60/1 ! videoconvert ! osxvideosink sync=false master

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'projectm0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0";

** (gst-launch-1.0:29313): ERROR **: 08:22:41.492: OpenGL Error: GL_INVALID_ENUM - Enumeration parameter is not legal
nzoschke commented 4 months ago

On OS X the video syncs have different names: https://gstreamer.freedesktop.org/documentation/tutorials/basic/platform-specific-elements.html?gi-language=c#mac-os-x

But still getting segfaults.

./test.sh --audio                                                                                                                                                  master

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1, channel-mask=(bitmask)0x0000000000000003
0:00:00.065315000 62842 0x600003f2c5a0 DEBUG               projectm gl.c:62:gl_init:<projectm0> GL API: 2
0:00:00.065323000 62842 0x600003f2c5a0 DEBUG               projectm gl.c:63:gl_init:<projectm0> GL version: 4.1
0:00:00.065325000 62842 0x600003f2c5a0 DEBUG               projectm gl.c:64:gl_init:<projectm0> GLSL version: 410
0:00:00.065327000 62842 0x600003f2c5a0 DEBUG               projectm gl.c:65:gl_init:<projectm0> GLSL profile: 0
0:00:00.065329000 62842 0x600003f2c5a0 DEBUG               projectm gl.c:75:gl_init:<projectm0> OpenGL context supports the requested version: 4.1
0:00:00.065331000 62842 0x600003f2c5a0 DEBUG               projectm gl.c:86:gl_init:<projectm0> OpenGL context supports the combination of version with profile
0:00:00.065334000 62842 0x600003f2c5a0 WARN                projectm gl.c:93:gl_init:<projectm0> OpenGL context does not support the 'precision' specifier in GLSL shaders
./test.sh: line 27: 62842 Segmentation fault: 11  GST_DEBUG=projectm:5 gst-launch-1.0 -v audiotestsrc ! queue ! audioconvert ! projectm ! "video/x-raw,width=512,height=512,framerate=60/1" ! videoconvert ! osxvideosink sync=false
nzoschke commented 4 months ago

setup.sh seems good as examples from the docs work https://gstreamer.freedesktop.org/documentation/tutorials/basic/gstreamer-tools.html?gi-language=c

gst-launch-1.0 videotestsrc pattern=11 ! videoconvert ! autovideosink
gst-launch-1.0 playbin uri=https://gstreamer.freedesktop.org/data/media/sintel_trailer-480p.webm
gst-launch-1.0 audiotestsrc ! autoaudiosink 
nzoschke commented 4 months ago

These are the most relevent things I can find in gstreamer logs and OS X Crash Report

0:00:00.358076000 65537 0x60000207e800 LOG                GST_DEBUG gstinfo.c:2018:gst_debug_apply_entry: category gldebugmarker matches pattern 0x600000344720 - gets set to level 6
0:00:00.358083000 65537 0x60000207e800 INFO               glcontext gstgldebug.c:339:_gst_gl_debug_enable:<glcontextcocoa0> No debugging support available
0:00:00.358105000 65537 0x600000d59560 DEBUG              glcontext gstglcontext.c:774:gst_gl_context_activate:<glcontextcocoa0> activate:1
0:00:00.358109000 65537 0x600000d59560 INFO               glcontext gstglcontext.c:1172:_unlock_create_thread:<glcontextcocoa0> gl thread running
0:00:00.358121000 65537 0x60000205c730 INFO               glcontext gstglcontext.c:1079:gst_gl_context_create:<glcontextcocoa0> gl thread created
0:00:00.358128000 65537 0x60000205c730 LOG                GST_DEBUG gstinfo.c:2018:gst_debug_apply_entry: category glsl matches pattern 0x600000344720 - gets set to level 6
0:00:00.358132000 65537 0x60000205c730 DEBUG               projectm gl.c:62:gl_init:<projectm0> GL API: 2
0:00:00.358134000 65537 0x60000205c730 DEBUG               projectm gl.c:63:gl_init:<projectm0> GL version: 4.1
0:00:00.358136000 65537 0x60000205c730 DEBUG               projectm gl.c:64:gl_init:<projectm0> GLSL version: 410
0:00:00.358149000 65537 0x60000205c730 DEBUG               projectm gl.c:65:gl_init:<projectm0> GLSL profile: 0
0:00:00.358153000 65537 0x60000205c730 DEBUG               projectm gl.c:75:gl_init:<projectm0> OpenGL context supports the requested version: 4.1
0:00:00.358156000 65537 0x60000205c730 DEBUG               projectm gl.c:86:gl_init:<projectm0> OpenGL context supports the combination of version with profile
0:00:00.358161000 65537 0x60000205c730 WARN                projectm gl.c:93:gl_init:<projectm0> OpenGL context does not support the 'precision' specifier in GLSL shaders
./test.sh: line 27: 65537 Segmentation fault: 11  GST_DEBUG=*:6 gst-launch-1.0 -v audiotestsrc ! queue ! audioconvert ! projectm ! "video/x-raw,width=512,height=512,framerate=60/1" ! videoconvert ! osxvideosink sync=false
Thread 14 Crashed:: queue0:src
0   libGL.dylib                            0x1fdda0388 glGetError + 8
1   libgstprojectm.dylib                   0x103bb4260 gl_error_handler + 36
2   libgstprojectm.dylib                   0x103bb4a64 gl_init + 1544
3   libgstprojectm.dylib                   0x103bb5edc gst_projectm_setup + 120
hack-s commented 2 months ago

I have made a couple changes that resolved a similar issue for me on Linux (Ubuntu). If you would like to give it a try, here is the PR: https://github.com/projectM-visualizer/gst-projectm/pull/2

Blaquewithaq commented 1 month ago

I've improved the scripts to account for the different lib names and the different video syncs. Let me know if they work as expected for you!

If you could re-evaluation what on this list is still relevant and put it in the new issue. Thanks!

nzoschke commented 1 month ago

Testing OS X one more time here.

OS Versions:

sw_vers -productVersion
14.4.1

uname -a
Darwin studio Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:42 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6000 arm64

brew --version
Homebrew 4.2.21

Dependency versions:

./setup.sh 
==> Updating Homebrew...
Warning: git 2.45.0 is already installed and up-to-date.
Warning: cmake 3.29.3 is already installed and up-to-date.
Warning: ninja 1.12.0 is already installed and up-to-date.
Warning: pkg-config 0.29.2_3 is already installed and up-to-date.
Warning: gstreamer 1.24.3 is already installed and up-to-date.

Build projectm:

git clone https://github.com/projectM-visualizer/projectm
cd projectm
git fetch && git reset --hard origin/master
git submodule update --init --recursive

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/homebrew ..
make
make install

-- Installing: /opt/homebrew/lib/libprojectM-4.4.1.0.dylib
-- Installing: /opt/homebrew/lib/libprojectM-4-playlist.4.1.0.dylib
...

Build gst-projectm

export PROJECTM_ROOT=/opt/homebrew
export GST_PLUGIN_PATH=$HOME/.local/share/gstreamer-1.0/plugins/
./build.sh

[6/6] : && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc  -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk -dynamiclib -Wl,-headerpad_max_install_names  -o libgstprojectm.dylib -install_name @rpath/libgstprojectm.dylib CMakeFiles/gstprojectm.dir/src/caps.c.o CMakeFiles/gstprojectm.dir/src/debug.c.o CMakeFiles/gstprojectm.dir/src/plugin.c.o CMakeFiles/gstprojectm.dir/src/projectm.c.o CMakeFiles/gstprojectm.dir/src/gstglbaseaudiovisualizer.c.o  -Wl,-rpath,/opt/homebrew/lib  /opt/homebrew/lib/libprojectM-4.4.1.0.dylib  /opt/homebrew/Cellar/gstreamer/1.24.3/lib/libgstreamer-1.0.dylib  /opt/homebrew/Cellar/gstreamer/1.24.3/lib/libgstreamer-1.0.dylib  /opt/homebrew/Cellar/gstreamer/1.24.3/lib/libgstbase-1.0.dylib  /opt/homebrew/Cellar/gstreamer/1.24.3/lib/libgstaudio-1.0.dylib  /opt/homebrew/Cellar/gstreamer/1.24.3/lib/libgstvideo-1.0.dylib  /opt/homebrew/Cellar/gstreamer/1.24.3/lib/libgstgl-1.0.dylib  /opt/homebrew/Cellar/gstreamer/1.24.3/lib/libgstpbutils-1.0.dylib  /opt/homebrew/Cellar/glib/2.80.0_2/lib/libglib-2.0.dylib  /opt/homebrew/Cellar/glib/2.80.0_2/lib/libgobject-2.0.dylib  -framework OpenGL  -framework CoreFoundation && :

Install to gstreamer plugins? (Y/n): y

Done! Here's an example command:
gst-launch-1.0 audiotestsrc ! queue ! audioconvert ! projectm ! video/x-raw,width=512,height=512,framerate=60/1 ! videoconvert ! osxvideosink sync=false
gst-launch-1.0 audiotestsrc ! queue ! audioconvert ! projectm ! video/x-raw,width=512,height=512,framerate=60/1 ! videoconvert ! osxvideosink sync=false

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'projectm0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0";

** (gst-launch-1.0:29313): ERROR **: 08:22:41.492: OpenGL Error: GL_INVALID_ENUM - Enumeration parameter is not legal

zsh: trace trap  gst-launch-1.0 audiotestsrc ! queue ! audioconvert ! projectm !  !  !  
``` ------------------------------------- Translated Report (Full Report Below) ------------------------------------- Process: gst-launch-1.0 [29313] Path: /opt/homebrew/*/gst-launch-1.0 Identifier: gst-launch-1.0 Version: ??? Code Type: ARM-64 (Native) Parent Process: zsh [24623] Responsible: Terminal [563] User ID: 501 Date/Time: 2024-05-10 08:22:41.5017 -0700 OS Version: macOS 14.4.1 (23E224) Report Version: 12 Anonymous UUID: 2BAD61E7-BD81-C89C-4977-791B0B0B82D6 Sleep/Wake UUID: E29218B4-BFA7-4747-B4B0-E91B7B2FED0A Time Awake Since Boot: 170000 seconds Time Since Wake: 1131 seconds System Integrity Protection: enabled Crashed Thread: 2 Dispatch queue: org.freedesktop.gstreamer.glwindow Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000001, 0x000000010497c2f4 Termination Reason: Namespace SIGNAL, Code 5 Trace/BPT trap: 5 Terminating Process: exc handler [29313] Thread 0:: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x18fe2e1f4 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x18fe40b24 mach_msg2_internal + 80 2 libsystem_kernel.dylib 0x18fe36e34 mach_msg_overwrite + 476 3 libsystem_kernel.dylib 0x18fe2e578 mach_msg + 24 4 CoreFoundation 0x18ff4e058 __CFRunLoopServiceMachPort + 160 5 CoreFoundation 0x18ff4c91c __CFRunLoopRun + 1208 6 CoreFoundation 0x18ff4be0c CFRunLoopRunSpecific + 608 7 HIToolbox 0x19a6e7000 RunCurrentEventLoopInMode + 292 8 HIToolbox 0x19a6e6e3c ReceiveNextEventCommon + 648 9 HIToolbox 0x19a6e6b94 _BlockUntilNextEventMatchingListInModeWithFilter + 76 10 AppKit 0x1937a4970 _DPSNextEvent + 660 11 AppKit 0x193f96dec -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 700 12 AppKit 0x193797cb8 -[NSApplication run] + 476 13 libgstreamer-1.0.0.dylib 0x1048b71a8 run_main_with_nsapp + 180 14 libgstreamer-1.0.0.dylib 0x1048b7200 gst_macos_main + 36 15 dyld 0x18fae60e0 start + 2360 Thread 1: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 2 Crashed:: Dispatch queue: org.freedesktop.gstreamer.glwindow 0 libglib-2.0.0.dylib 0x10497c2f4 _g_log_abort + 40 1 libglib-2.0.0.dylib 0x10497c688 g_log_structured_array + 264 2 libglib-2.0.0.dylib 0x10497c140 g_log_default_handler + 204 3 libglib-2.0.0.dylib 0x10497bd2c g_logv + 828 4 libglib-2.0.0.dylib 0x10497b980 g_log + 28 5 libgstprojectm.dylib 0x1046869d0 gl_error_handler + 252 6 libgstprojectm.dylib 0x104687bb4 gst_projectm_gl_start + 220 7 libgstprojectm.dylib 0x10468a57c gst_gl_base_audio_visualizer_gl_start + 204 8 libgstgl-1.0.0.dylib 0x1086a6ba8 _run_message_sync + 32 9 libgstgl-1.0.0.dylib 0x1086ab02c __gst_gl_window_cocoa_send_message_async_block_invoke + 48 10 libdispatch.dylib 0x18fcbc750 _dispatch_call_block_and_release + 32 11 libdispatch.dylib 0x18fcbe3e8 _dispatch_client_callout + 20 12 libdispatch.dylib 0x18fcc5a14 _dispatch_lane_serial_drain + 748 13 libdispatch.dylib 0x18fcc6544 _dispatch_lane_invoke + 380 14 libdispatch.dylib 0x18fcd12d0 _dispatch_root_queue_drain_deferred_wlh + 288 15 libdispatch.dylib 0x18fcd0b44 _dispatch_workloop_worker_thread + 404 16 libsystem_pthread.dylib 0x18fe6b00c _pthread_wqthread + 288 17 libsystem_pthread.dylib 0x18fe69d28 start_wqthread + 8 Thread 3: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 4:: macos-gst-thread 0 libsystem_kernel.dylib 0x18fe39358 __select + 8 1 libglib-2.0.0.dylib 0x104984348 g_poll + 424 2 libglib-2.0.0.dylib 0x104975474 g_main_context_iterate_unlocked + 296 3 libglib-2.0.0.dylib 0x104975760 g_main_loop_run + 120 4 gst-launch-1.0 0x104280fe8 real_main + 1832 5 libgstreamer-1.0.0.dylib 0x1048b707c gst_thread_func + 132 6 libglib-2.0.0.dylib 0x10499bb74 g_thread_proxy + 68 7 libsystem_pthread.dylib 0x18fe6ef94 _pthread_start + 136 8 libsystem_pthread.dylib 0x18fe69d34 thread_start + 8 Thread 5:: com.apple.NSEventThread 0 libsystem_kernel.dylib 0x18fe2e1f4 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x18fe40b24 mach_msg2_internal + 80 2 libsystem_kernel.dylib 0x18fe36e34 mach_msg_overwrite + 476 3 libsystem_kernel.dylib 0x18fe2e578 mach_msg + 24 4 CoreFoundation 0x18ff4e058 __CFRunLoopServiceMachPort + 160 5 CoreFoundation 0x18ff4c91c __CFRunLoopRun + 1208 6 CoreFoundation 0x18ff4be0c CFRunLoopRunSpecific + 608 7 AppKit 0x1938cdcb4 _NSEventThread + 144 8 libsystem_pthread.dylib 0x18fe6ef94 _pthread_start + 136 9 libsystem_pthread.dylib 0x18fe69d34 thread_start + 8 Thread 6: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 7: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 8: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 9: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 10: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 11: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 12: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 13: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 14: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 15: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 16: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 17: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 18: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 19: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 20: 0 libsystem_pthread.dylib 0x18fe69d20 start_wqthread + 0 Thread 21:: pool-spawner 0 libsystem_kernel.dylib 0x18fe319ec __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x18fe6f55c _pthread_cond_wait + 1228 2 libglib-2.0.0.dylib 0x1049c13d8 g_cond_wait + 44 3 libglib-2.0.0.dylib 0x1049459c8 g_async_queue_pop_intern_unlocked + 116 4 libglib-2.0.0.dylib 0x10499c044 g_thread_pool_spawn_thread + 124 5 libglib-2.0.0.dylib 0x10499bb74 g_thread_proxy + 68 6 libsystem_pthread.dylib 0x18fe6ef94 _pthread_start + 136 7 libsystem_pthread.dylib 0x18fe69d34 thread_start + 8 Thread 22:: queue0:src 0 libsystem_kernel.dylib 0x18fe319ec __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x18fe6f55c _pthread_cond_wait + 1228 2 libglib-2.0.0.dylib 0x1049c13d8 g_cond_wait + 44 3 libgstgl-1.0.0.dylib 0x1086a69d4 gst_gl_window_default_send_message + 88 4 libgstgl-1.0.0.dylib 0x108686280 gst_gl_context_thread_add + 204 5 libgstprojectm.dylib 0x104689b80 gst_gl_base_audio_visualizer_find_gl_context_unlocked + 812 6 libgstprojectm.dylib 0x1046890d4 gst_gl_base_audio_visualizer_decide_allocation + 80 7 libgstpbutils-1.0.0.dylib 0x1084fdea0 gst_audio_visualizer_src_negotiate + 876 8 libgstpbutils-1.0.0.dylib 0x1084fd490 gst_audio_visualizer_sink_event + 140 9 libgstreamer-1.0.0.dylib 0x10486b2ac gst_pad_send_event_unchecked + 656 10 libgstreamer-1.0.0.dylib 0x10486aa0c gst_pad_push_event_unchecked + 352 11 libgstreamer-1.0.0.dylib 0x10486de80 push_sticky + 268 12 libgstreamer-1.0.0.dylib 0x104866810 events_foreach + 140 13 libgstreamer-1.0.0.dylib 0x1048677dc check_sticky + 104 14 libgstreamer-1.0.0.dylib 0x10486a610 gst_pad_push_event + 528 15 libgstbase-1.0.0.dylib 0x1084636b4 gst_base_transform_setcaps + 1964 16 libgstbase-1.0.0.dylib 0x108461cb8 gst_base_transform_sink_eventfunc + 252 17 libgstreamer-1.0.0.dylib 0x10486b2ac gst_pad_send_event_unchecked + 656 18 libgstreamer-1.0.0.dylib 0x10486aa0c gst_pad_push_event_unchecked + 352 19 libgstreamer-1.0.0.dylib 0x10486de80 push_sticky + 268 20 libgstreamer-1.0.0.dylib 0x104866810 events_foreach + 140 21 libgstreamer-1.0.0.dylib 0x1048677dc check_sticky + 104 22 libgstreamer-1.0.0.dylib 0x10486a610 gst_pad_push_event + 528 23 libgstcoreelements.dylib 0x108639a64 gst_queue_loop + 2068 24 libgstreamer-1.0.0.dylib 0x104897778 gst_task_func + 284 25 libglib-2.0.0.dylib 0x10499cc18 g_thread_pool_thread_proxy + 208 26 libglib-2.0.0.dylib 0x10499bb74 g_thread_proxy + 68 27 libsystem_pthread.dylib 0x18fe6ef94 _pthread_start + 136 28 libsystem_pthread.dylib 0x18fe69d34 thread_start + 8 Thread 23:: audiotestsrc0:src 0 libsystem_kernel.dylib 0x18fe319ec __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x18fe6f55c _pthread_cond_wait + 1228 2 libglib-2.0.0.dylib 0x1049c13d8 g_cond_wait + 44 3 libgstcoreelements.dylib 0x1086376d0 gst_queue_handle_sink_query + 216 4 libgstreamer-1.0.0.dylib 0x104866acc gst_pad_query + 504 5 libgstreamer-1.0.0.dylib 0x104864e3c gst_pad_peer_query + 376 6 libgstbase-1.0.0.dylib 0x1084582d0 gst_base_src_negotiate_unlocked + 116 7 libgstbase-1.0.0.dylib 0x10845c1ac gst_base_src_loop + 160 8 libgstreamer-1.0.0.dylib 0x104897778 gst_task_func + 284 9 libglib-2.0.0.dylib 0x10499cc18 g_thread_pool_thread_proxy + 208 10 libglib-2.0.0.dylib 0x10499bb74 g_thread_proxy + 68 11 libsystem_pthread.dylib 0x18fe6ef94 _pthread_start + 136 12 libsystem_pthread.dylib 0x18fe69d34 thread_start + 8 Thread 24:: gmain 0 libsystem_kernel.dylib 0x18fe39358 __select + 8 1 libglib-2.0.0.dylib 0x104984348 g_poll + 424 2 libglib-2.0.0.dylib 0x104975474 g_main_context_iterate_unlocked + 296 3 libglib-2.0.0.dylib 0x10497553c g_main_context_iteration + 60 4 libglib-2.0.0.dylib 0x104976770 glib_worker_main + 48 5 libglib-2.0.0.dylib 0x10499bb74 g_thread_proxy + 68 6 libsystem_pthread.dylib 0x18fe6ef94 _pthread_start + 136 7 libsystem_pthread.dylib 0x18fe69d34 thread_start + 8 Thread 25:: gldisplay-event 0 libsystem_kernel.dylib 0x18fe39358 __select + 8 1 libglib-2.0.0.dylib 0x104984348 g_poll + 424 2 libglib-2.0.0.dylib 0x104975474 g_main_context_iterate_unlocked + 296 3 libglib-2.0.0.dylib 0x104975760 g_main_loop_run + 120 4 libgstgl-1.0.0.dylib 0x1086897f4 _event_thread_main + 88 5 libglib-2.0.0.dylib 0x10499bb74 g_thread_proxy + 68 6 libsystem_pthread.dylib 0x18fe6ef94 _pthread_start + 136 7 libsystem_pthread.dylib 0x18fe69d34 thread_start + 8 Thread 26:: gstglcontext 0 libsystem_kernel.dylib 0x18fe39358 __select + 8 1 libglib-2.0.0.dylib 0x104984348 g_poll + 424 2 libglib-2.0.0.dylib 0x104975474 g_main_context_iterate_unlocked + 296 3 libglib-2.0.0.dylib 0x104975760 g_main_loop_run + 120 4 libgstgl-1.0.0.dylib 0x1086852ec gst_gl_context_create_thread + 1040 5 libglib-2.0.0.dylib 0x10499bb74 g_thread_proxy + 68 6 libsystem_pthread.dylib 0x18fe6ef94 _pthread_start + 136 7 libsystem_pthread.dylib 0x18fe69d34 thread_start + 8 Thread 2 crashed with ARM Thread State (64-bit): x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x00006000005ad2c0 x4: 0x00006000005ad280 x5: 0x0000000000000018 x6: 0x000000000000000a x7: 0x0000000000000600 x8: 0x0000000104a30000 x9: 0x000000016bc970e0 x10: 0xffffffffffffffff x11: 0x00000000b6416014 x12: 0x00000000000007fb x13: 0x00000000000007fd x14: 0x00000000b6616813 x15: 0x0000000000000013 x16: 0x000000018fe69db0 x17: 0x0000000000016800 x18: 0x0000000000000000 x19: 0x0000000000000001 x20: 0x0000000000000003 x21: 0x000000016bc965e8 x22: 0x0000000000000000 x23: 0x0000000000000000 x24: 0x0000000104a30910 x25: 0x0000000000000000 x26: 0x0000000104a308b8 x27: 0x000000010497cdd0 x28: 0x0000000000000000 fp: 0x000000016bc96570 lr: 0x000000010497c2e0 sp: 0x000000016bc96560 pc: 0x000000010497c2f4 cpsr: 0x00001000 far: 0x0000000000000000 esr: 0xf2000001 (Breakpoint) brk 1 Binary Images: 0x1089c0000 - 0x1089cbfff libobjc-trampolines.dylib (*) /usr/lib/libobjc-trampolines.dylib 0x1086e8000 - 0x108753fff com.apple.AppleMetalOpenGLRenderer (1.0) <83d94df2-aca8-3695-a3a1-bf8ca16657ac> /System/Library/Extensions/AppleMetalOpenGLRenderer.bundle/Contents/MacOS/AppleMetalOpenGLRenderer 0x10852c000 - 0x108537fff libgstosxvideo.dylib (*) /opt/homebrew/*/libgstosxvideo.dylib 0x1084c4000 - 0x1084cffff libgstvideoconvertscale.dylib (*) <3db05c25-af6c-3976-bfb8-2b73f63a8874> /opt/homebrew/*/libgstvideoconvertscale.dylib 0x104680000 - 0x10468bfff libgstprojectm.dylib (*) <5bc75e61-fcee-3ebf-b1a6-220eaf21f8ae> /Users/USER/*/libgstprojectm.dylib 0x108794000 - 0x10884bfff libprojectM-4.4.1.0.dylib (*) <06aef6bc-7d51-3359-9708-541c931b69d3> /opt/homebrew/*/libprojectM-4.4.1.0.dylib 0x1088b8000 - 0x108937fff libgstvideo-1.0.0.dylib (*) <99f98f1a-2204-3895-9c1c-a03be2566f3d> /opt/homebrew/*/libgstvideo-1.0.0.dylib 0x108670000 - 0x1086bffff libgstgl-1.0.0.dylib (*) <5866cc58-061a-3c82-bb6a-4a1c091caff3> /opt/homebrew/*/libgstgl-1.0.0.dylib 0x1084e8000 - 0x10850ffff libgstpbutils-1.0.0.dylib (*) /opt/homebrew/*/libgstpbutils-1.0.0.dylib 0x108a7c000 - 0x108b4ffff libX11.6.dylib (*) <1a7bda7e-24d4-3a17-85b9-adb83f1e177a> /opt/homebrew/*/libX11.6.dylib 0x10477c000 - 0x10477ffff libX11-xcb.1.dylib (*) /opt/homebrew/*/libX11-xcb.1.dylib 0x108374000 - 0x108387fff libxcb.1.1.0.dylib (*) <8ef9b9ff-3f1e-39a6-bec1-e7d10db8e6cb> /opt/homebrew/*/libxcb.1.1.0.dylib 0x104abc000 - 0x104abffff libXau.6.0.0.dylib (*) /opt/homebrew/*/libXau.6.0.0.dylib 0x104ad0000 - 0x104ad3fff libXdmcp.6.dylib (*) <11368a67-e3a3-3d6f-ae03-78456881a92e> /opt/homebrew/*/libXdmcp.6.dylib 0x104aa4000 - 0x104aabfff libgstaudioconvert.dylib (*) /opt/homebrew/*/libgstaudioconvert.dylib 0x108604000 - 0x10864ffff libgstcoreelements.dylib (*) <1a013834-dd75-3f38-a00e-919475650cd6> /opt/homebrew/*/libgstcoreelements.dylib 0x1047e4000 - 0x1047effff libgstaudiotestsrc.dylib (*) /opt/homebrew/*/libgstaudiotestsrc.dylib 0x1083ac000 - 0x1083fffff libgstaudio-1.0.0.dylib (*) <3760ee84-63e7-3111-a803-1c213ca087cc> /opt/homebrew/*/libgstaudio-1.0.0.dylib 0x108428000 - 0x108483fff libgstbase-1.0.0.dylib (*) <5c6bb74a-4f79-30d9-9375-a4242cdb2dcd> /opt/homebrew/*/libgstbase-1.0.0.dylib 0x108330000 - 0x10835bfff libgsttag-1.0.0.dylib (*) /opt/homebrew/*/libgsttag-1.0.0.dylib 0x108554000 - 0x1085dffff liborc-0.4.0.dylib (*) /opt/homebrew/*/liborc-0.4.0.dylib 0x10480c000 - 0x1048ebfff libgstreamer-1.0.0.dylib (*) /opt/homebrew/*/libgstreamer-1.0.0.dylib 0x10493c000 - 0x104a2bfff libglib-2.0.0.dylib (*) <80aa0559-f78c-3932-a57a-cd80e140e154> /opt/homebrew/*/libglib-2.0.0.dylib 0x104704000 - 0x10471bfff libintl.8.dylib (*) <9924fd2d-8556-34b2-add9-ab2838b3359b> /opt/homebrew/*/libintl.8.dylib 0x104788000 - 0x1047c3fff libgobject-2.0.0.dylib (*) <7432be8c-02f1-31dc-b0eb-50d634dd5abc> /opt/homebrew/*/libgobject-2.0.0.dylib 0x1046f0000 - 0x1046f3fff libgmodule-2.0.0.dylib (*) <556047c9-c8db-3da2-92ff-8d0e0e5b38b1> /opt/homebrew/*/libgmodule-2.0.0.dylib 0x104aec000 - 0x104b5ffff libpcre2-8.0.dylib (*) <0e90f358-d449-3571-95ad-690078c20228> /opt/homebrew/*/libpcre2-8.0.dylib 0x10427c000 - 0x104283fff gst-launch-1.0 (*) <4b111051-a9f5-3f1d-8e67-ce5a22d0f649> /opt/homebrew/*/gst-launch-1.0 0x18fe2d000 - 0x18fe67ffb libsystem_kernel.dylib (*) <2a91fd2c-4cef-3211-a025-7a1c0a8c2db5> /usr/lib/system/libsystem_kernel.dylib 0x18fed0000 - 0x1903a8fff com.apple.CoreFoundation (6.9) <33908a83-098f-3437-973e-fb848c4f39df> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 0x19a6b4000 - 0x19a977fff com.apple.HIToolbox (2.1.1) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox 0x19376a000 - 0x194aa6fff com.apple.AppKit (6.9) <8b85317d-d56a-3370-8b78-da6c1d0fb53c> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit 0x18fae0000 - 0x18fb689db dyld (*) /usr/lib/dyld 0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ??? 0x18fe68000 - 0x18fe74fff libsystem_pthread.dylib (*) <45239f06-cc53-36d0-9933-7776ac7ea2fa> /usr/lib/system/libsystem_pthread.dylib 0x18fcba000 - 0x18fd01fff libdispatch.dylib (*) <7f973554-8168-35bf-ae86-2e9123e81bf7> /usr/lib/system/libdispatch.dylib External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 0 thread_create: 0 thread_set_state: 0 VM Region Summary: ReadOnly portion of Libraries: Total=835.1M resident=0K(0%) swapped_out_or_unallocated=835.1M(100%) Writable regions: Total=1.4G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.4G(100%) VIRTUAL REGION REGION TYPE SIZE COUNT (non-coalesced) =========== ======= ======= Accelerate framework 128K 1 Activity Tracing 256K 1 CG image 96K 5 ColorSync 624K 29 CoreAnimation 176K 11 CoreGraphics 32K 2 CoreUI image data 1104K 7 Foundation 16K 1 Kernel Alloc Once 32K 1 MALLOC 1.3G 47 MALLOC guard page 192K 12 OpenGL GLSL 256K 3 STACK GUARD 56.4M 27 Stack 21.8M 27 VM_ALLOCATE 848K 35 __AUTH 937K 203 __AUTH_CONST 15.0M 359 __CTF 824 1 __DATA 4111K 370 __DATA_CONST 18.9M 387 __DATA_DIRTY 919K 115 __FONT_DATA 2352 1 __GLSLBUILTINS 5174K 1 __LINKEDIT 527.8M 29 __OBJC_RO 71.7M 1 __OBJC_RW 2195K 1 __TEXT 307.3M 401 dyld private memory 272K 2 mapped file 70.8M 19 shared memory 864K 14 =========== ======= ======= TOTAL 2.4G 2113 ----------- Full Report ----------- ``` ```json {"app_name":"gst-launch-1.0","timestamp":"2024-05-10 08:22:42.00 -0700","app_version":"","slice_uuid":"4b111051-a9f5-3f1d-8e67-ce5a22d0f649","build_version":"","platform":1,"share_with_app_devs":1,"is_first_party":1,"bug_type":"309","os_version":"macOS 14.4.1 (23E224)","roots_installed":0,"incident_id":"C58E371D-97E0-4CBC-945B-50C90AFFA16C","name":"gst-launch-1.0"} { "uptime" : 170000, "procRole" : "Default", "version" : 2, "userID" : 501, "deployVersion" : 210, "modelCode" : "MacBookPro18,3", "coalitionID" : 591, "osVersion" : { "train" : "macOS 14.4.1", "build" : "23E224", "releaseType" : "User" }, "captureTime" : "2024-05-10 08:22:41.5017 -0700", "codeSigningMonitor" : 1, "incident" : "C58E371D-97E0-4CBC-945B-50C90AFFA16C", "pid" : 29313, "translated" : false, "cpuType" : "ARM-64", "roots_installed" : 0, "bug_type" : "309", "procLaunch" : "2024-05-10 08:22:40.8631 -0700", "procStartAbsTime" : 4182616876616, "procExitAbsTime" : 4182632011825, "procName" : "gst-launch-1.0", "procPath" : "\/opt\/homebrew\/*\/gst-launch-1.0", "parentProc" : "zsh", "parentPid" : 24623, "coalitionName" : "com.apple.Terminal", "crashReporterKey" : "2BAD61E7-BD81-C89C-4977-791B0B0B82D6", "responsiblePid" : 563, "responsibleProc" : "Terminal", "codeSigningID" : "gst-launch-1-555549444b111051a9f53f1d8e67ce5a22d0f649", "codeSigningTeamID" : "", "codeSigningFlags" : 570425857, "codeSigningValidationCategory" : 10, "codeSigningTrustLevel" : 4294967295, "instructionByteStream" : {"beforePC":"9E++qf17Aan9QwCR8wMAqix4AJRgAAA1kwAANUsXAZQgAIBSRhcBlA==","atPC":"IAAg1Pxvuqn6ZwGp+F8CqfZXA6n0TwSp\/XsFqf1DAZH\/gxbR8wMBqg=="}, "wakeTime" : 1131, "sleepWakeUUID" : "E29218B4-BFA7-4747-B4B0-E91B7B2FED0A", "sip" : "enabled", "exception" : {"codes":"0x0000000000000001, 0x000000010497c2f4","rawCodes":[1,4372022004],"type":"EXC_BREAKPOINT","signal":"SIGTRAP"}, "termination" : {"flags":0,"code":5,"namespace":"SIGNAL","indicator":"Trace\/BPT trap: 5","byProc":"exc handler","byPid":29313}, "os_fault" : {"process":"gst-launch-1.0"}, "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0}, "faultingThread" : 2, "threads" : [{"id":2843931,"threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":27500675596288},{"value":0},{"value":27500675596288},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":6403},{"value":0},{"value":1},{"value":6403},{"value":260525},{"value":0},{"value":2199023255552},{"value":18446744073709551569},{"value":8622321168},{"value":0},{"value":4294967295},{"value":2},{"value":27500675596288},{"value":0},{"value":27500675596288},{"value":6102195960},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6709054244},"cpsr":{"value":4096},"fp":{"value":6102195808},"sp":{"value":6102195728},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6708978164},"far":{"value":0}},"queue":"com.apple.main-thread","frames":[{"imageOffset":4596,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":28},{"imageOffset":80676,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":28},{"imageOffset":40500,"symbol":"mach_msg_overwrite","symbolLocation":476,"imageIndex":28},{"imageOffset":5496,"symbol":"mach_msg","symbolLocation":24,"imageIndex":28},{"imageOffset":516184,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":160,"imageIndex":29},{"imageOffset":510236,"symbol":"__CFRunLoopRun","symbolLocation":1208,"imageIndex":29},{"imageOffset":507404,"symbol":"CFRunLoopRunSpecific","symbolLocation":608,"imageIndex":29},{"imageOffset":208896,"symbol":"RunCurrentEventLoopInMode","symbolLocation":292,"imageIndex":30},{"imageOffset":208444,"symbol":"ReceiveNextEventCommon","symbolLocation":648,"imageIndex":30},{"imageOffset":207764,"symbol":"_BlockUntilNextEventMatchingListInModeWithFilter","symbolLocation":76,"imageIndex":30},{"imageOffset":239984,"symbol":"_DPSNextEvent","symbolLocation":660,"imageIndex":31},{"imageOffset":8572396,"symbol":"-[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]","symbolLocation":700,"imageIndex":31},{"imageOffset":187576,"symbol":"-[NSApplication run]","symbolLocation":476,"imageIndex":31},{"imageOffset":700840,"symbol":"run_main_with_nsapp","symbolLocation":180,"imageIndex":21},{"imageOffset":700928,"symbol":"gst_macos_main","symbolLocation":36,"imageIndex":21},{"imageOffset":24800,"symbol":"start","symbolLocation":2360,"imageIndex":32}]},{"id":2843934,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6102757376},{"value":5123},{"value":6102220800},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6102757376},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"triggered":true,"id":2843935,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":105553122218688},{"value":105553122218624},{"value":24},{"value":10},{"value":1536},{"value":4372758528},{"value":6103331040},{"value":18446744073709551615},{"value":3057737748},{"value":2043},{"value":2045},{"value":3059836947},{"value":19},{"value":6709222832,"symbolLocation":0,"symbol":"pthread_setspecific"},{"value":92160},{"value":0},{"value":1},{"value":3},{"value":6103328232},{"value":0},{"value":0},{"value":4372760848,"symbolLocation":0,"symbol":"g_log_structured_depth"},{"value":0},{"value":4372760760,"symbolLocation":0,"symbol":"g_messages_lock"},{"value":4372024784,"symbolLocation":0,"symbol":"g_log_writer_default"},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4372021984},"cpsr":{"value":4096},"fp":{"value":6103328112},"sp":{"value":6103328096},"esr":{"value":4060086273,"description":"(Breakpoint) brk 1"},"pc":{"value":4372022004,"matchesCrashFrame":1},"far":{"value":0}},"queue":"org.freedesktop.gstreamer.glwindow","frames":[{"imageOffset":262900,"symbol":"_g_log_abort","symbolLocation":40,"imageIndex":22},{"imageOffset":263816,"symbol":"g_log_structured_array","symbolLocation":264,"imageIndex":22},{"imageOffset":262464,"symbol":"g_log_default_handler","symbolLocation":204,"imageIndex":22},{"imageOffset":261420,"symbol":"g_logv","symbolLocation":828,"imageIndex":22},{"imageOffset":260480,"symbol":"g_log","symbolLocation":28,"imageIndex":22},{"imageOffset":27088,"symbol":"gl_error_handler","symbolLocation":252,"imageIndex":4},{"imageOffset":31668,"symbol":"gst_projectm_gl_start","symbolLocation":220,"imageIndex":4},{"imageOffset":42364,"symbol":"gst_gl_base_audio_visualizer_gl_start","symbolLocation":204,"imageIndex":4},{"imageOffset":224168,"symbol":"_run_message_sync","symbolLocation":32,"imageIndex":7},{"imageOffset":241708,"symbol":"__gst_gl_window_cocoa_send_message_async_block_invoke","symbolLocation":48,"imageIndex":7},{"imageOffset":10064,"symbol":"_dispatch_call_block_and_release","symbolLocation":32,"imageIndex":35},{"imageOffset":17384,"symbol":"_dispatch_client_callout","symbolLocation":20,"imageIndex":35},{"imageOffset":47636,"symbol":"_dispatch_lane_serial_drain","symbolLocation":748,"imageIndex":35},{"imageOffset":50500,"symbol":"_dispatch_lane_invoke","symbolLocation":380,"imageIndex":35},{"imageOffset":94928,"symbol":"_dispatch_root_queue_drain_deferred_wlh","symbolLocation":288,"imageIndex":35},{"imageOffset":92996,"symbol":"_dispatch_workloop_worker_thread","symbolLocation":404,"imageIndex":35},{"imageOffset":12300,"symbol":"_pthread_wqthread","symbolLocation":288,"imageIndex":34},{"imageOffset":7464,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":34}]},{"id":2843947,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6103904256},{"value":19203},{"value":6103367680},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6103904256},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2843948,"name":"macos-gst-thread","threadState":{"x":[{"value":4},{"value":0},{"value":6104476240},{"value":6104476112},{"value":6104476504},{"value":5408},{"value":105553175762208},{"value":4064},{"value":6104476504},{"value":1000},{"value":8},{"value":2},{"value":105553178788056},{"value":5},{"value":0},{"value":10391814820155359232},{"value":93},{"value":0},{"value":0},{"value":105553178788064},{"value":89},{"value":105553178788048},{"value":5},{"value":105553178788064},{"value":5},{"value":6104476112},{"value":1},{"value":6104476240},{"value":6104476368}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4372054856},"cpsr":{"value":2684358656},"fp":{"value":6104476608},"sp":{"value":6104476096},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709023576},"far":{"value":0}},"frames":[{"imageOffset":50008,"symbol":"__select","symbolLocation":8,"imageIndex":28},{"imageOffset":295752,"symbol":"g_poll","symbolLocation":424,"imageIndex":22},{"imageOffset":234612,"symbol":"g_main_context_iterate_unlocked","symbolLocation":296,"imageIndex":22},{"imageOffset":235360,"symbol":"g_main_loop_run","symbolLocation":120,"imageIndex":22},{"imageOffset":20456,"symbol":"real_main","symbolLocation":1832,"imageIndex":27},{"imageOffset":700540,"symbol":"gst_thread_func","symbolLocation":132,"imageIndex":21},{"imageOffset":392052,"symbol":"g_thread_proxy","symbolLocation":68,"imageIndex":22},{"imageOffset":28564,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":34},{"imageOffset":7476,"symbol":"thread_start","symbolLocation":8,"imageIndex":34}]},{"id":2843956,"name":"com.apple.NSEventThread","threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":141849884884992},{"value":0},{"value":141849884884992},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":33027},{"value":0},{"value":1},{"value":33027},{"value":51438},{"value":0},{"value":0},{"value":18446744073709551569},{"value":8622321168},{"value":0},{"value":4294967295},{"value":2},{"value":141849884884992},{"value":0},{"value":141849884884992},{"value":6105047144},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6709054244},"cpsr":{"value":4096},"fp":{"value":6105046992},"sp":{"value":6105046912},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6708978164},"far":{"value":0}},"frames":[{"imageOffset":4596,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":28},{"imageOffset":80676,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":28},{"imageOffset":40500,"symbol":"mach_msg_overwrite","symbolLocation":476,"imageIndex":28},{"imageOffset":5496,"symbol":"mach_msg","symbolLocation":24,"imageIndex":28},{"imageOffset":516184,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":160,"imageIndex":29},{"imageOffset":510236,"symbol":"__CFRunLoopRun","symbolLocation":1208,"imageIndex":29},{"imageOffset":507404,"symbol":"CFRunLoopRunSpecific","symbolLocation":608,"imageIndex":29},{"imageOffset":1457332,"symbol":"_NSEventThread","symbolLocation":144,"imageIndex":31},{"imageOffset":28564,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":34},{"imageOffset":7476,"symbol":"thread_start","symbolLocation":8,"imageIndex":34}]},{"id":2844034,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6105624576},{"value":63755},{"value":6105088000},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6105624576},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844035,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6106198016},{"value":63491},{"value":6105661440},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6106198016},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844037,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6106771456},{"value":46083},{"value":6106234880},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6106771456},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844038,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6107344896},{"value":46339},{"value":6106808320},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6107344896},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844039,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6107918336},{"value":63235},{"value":6107381760},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6107918336},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844040,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6108491776},{"value":46595},{"value":6107955200},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6108491776},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844041,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6109065216},{"value":62979},{"value":6108528640},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6109065216},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844042,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6109638656},{"value":62723},{"value":6109102080},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6109638656},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844043,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6110212096},{"value":46851},{"value":6109675520},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6110212096},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844044,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6110785536},{"value":47107},{"value":6110248960},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6110785536},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844045,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6111358976},{"value":47363},{"value":6110822400},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6111358976},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844046,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6111932416},{"value":47619},{"value":6111395840},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6111932416},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844049,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6112505856},{"value":62467},{"value":6111969280},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6112505856},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844050,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6113079296},{"value":62211},{"value":6112542720},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6113079296},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844051,"frames":[{"imageOffset":7456,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":34}],"threadState":{"x":[{"value":6113652736},{"value":61955},{"value":6113116160},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6113652736},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709222688},"far":{"value":0}}},{"id":2844061,"name":"pool-spawner","threadState":{"x":[{"value":260},{"value":0},{"value":256},{"value":0},{"value":0},{"value":160},{"value":0},{"value":0},{"value":6114225720},{"value":0},{"value":105553163092696},{"value":2},{"value":0},{"value":0},{"value":0},{"value":0},{"value":305},{"value":8622337000},{"value":0},{"value":105553163092672},{"value":105553174642976},{"value":6114226400},{"value":0},{"value":0},{"value":256},{"value":257},{"value":512},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6709245276},"cpsr":{"value":1610616832},"fp":{"value":6114225840},"sp":{"value":6114225696},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6708992492},"far":{"value":0}},"frames":[{"imageOffset":18924,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":28},{"imageOffset":30044,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":34},{"imageOffset":545752,"symbol":"g_cond_wait","symbolLocation":44,"imageIndex":22},{"imageOffset":39368,"symbol":"g_async_queue_pop_intern_unlocked","symbolLocation":116,"imageIndex":22},{"imageOffset":393284,"symbol":"g_thread_pool_spawn_thread","symbolLocation":124,"imageIndex":22},{"imageOffset":392052,"symbol":"g_thread_proxy","symbolLocation":68,"imageIndex":22},{"imageOffset":28564,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":34},{"imageOffset":7476,"symbol":"thread_start","symbolLocation":8,"imageIndex":34}]},{"id":2844062,"name":"queue0:src","threadState":{"x":[{"value":260},{"value":0},{"value":0},{"value":0},{"value":0},{"value":160},{"value":0},{"value":0},{"value":6114795672},{"value":0},{"value":105553163108504},{"value":2},{"value":0},{"value":0},{"value":0},{"value":0},{"value":305},{"value":8622337000},{"value":0},{"value":105553163108480},{"value":105553174594064},{"value":6114799840},{"value":0},{"value":0},{"value":0},{"value":1},{"value":256},{"value":0},{"value":105553122067728}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6709245276},"cpsr":{"value":1610616832},"fp":{"value":6114795792},"sp":{"value":6114795648},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6708992492},"far":{"value":0}},"frames":[{"imageOffset":18924,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":28},{"imageOffset":30044,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":34},{"imageOffset":545752,"symbol":"g_cond_wait","symbolLocation":44,"imageIndex":22},{"imageOffset":223700,"symbol":"gst_gl_window_default_send_message","symbolLocation":88,"imageIndex":7},{"imageOffset":90752,"symbol":"gst_gl_context_thread_add","symbolLocation":204,"imageIndex":7},{"imageOffset":39808,"symbol":"gst_gl_base_audio_visualizer_find_gl_context_unlocked","symbolLocation":812,"imageIndex":4},{"imageOffset":37076,"symbol":"gst_gl_base_audio_visualizer_decide_allocation","symbolLocation":80,"imageIndex":4},{"imageOffset":89760,"symbol":"gst_audio_visualizer_src_negotiate","symbolLocation":876,"imageIndex":8},{"imageOffset":87184,"symbol":"gst_audio_visualizer_sink_event","symbolLocation":140,"imageIndex":8},{"imageOffset":389804,"symbol":"gst_pad_send_event_unchecked","symbolLocation":656,"imageIndex":21},{"imageOffset":387596,"symbol":"gst_pad_push_event_unchecked","symbolLocation":352,"imageIndex":21},{"imageOffset":401024,"symbol":"push_sticky","symbolLocation":268,"imageIndex":21},{"imageOffset":370704,"symbol":"events_foreach","symbolLocation":140,"imageIndex":21},{"imageOffset":374748,"symbol":"check_sticky","symbolLocation":104,"imageIndex":21},{"imageOffset":386576,"symbol":"gst_pad_push_event","symbolLocation":528,"imageIndex":21},{"imageOffset":243380,"symbol":"gst_base_transform_setcaps","symbolLocation":1964,"imageIndex":18},{"imageOffset":236728,"symbol":"gst_base_transform_sink_eventfunc","symbolLocation":252,"imageIndex":18},{"imageOffset":389804,"symbol":"gst_pad_send_event_unchecked","symbolLocation":656,"imageIndex":21},{"imageOffset":387596,"symbol":"gst_pad_push_event_unchecked","symbolLocation":352,"imageIndex":21},{"imageOffset":401024,"symbol":"push_sticky","symbolLocation":268,"imageIndex":21},{"imageOffset":370704,"symbol":"events_foreach","symbolLocation":140,"imageIndex":21},{"imageOffset":374748,"symbol":"check_sticky","symbolLocation":104,"imageIndex":21},{"imageOffset":386576,"symbol":"gst_pad_push_event","symbolLocation":528,"imageIndex":21},{"imageOffset":219748,"symbol":"gst_queue_loop","symbolLocation":2068,"imageIndex":15},{"imageOffset":571256,"symbol":"gst_task_func","symbolLocation":284,"imageIndex":21},{"imageOffset":396312,"symbol":"g_thread_pool_thread_proxy","symbolLocation":208,"imageIndex":22},{"imageOffset":392052,"symbol":"g_thread_proxy","symbolLocation":68,"imageIndex":22},{"imageOffset":28564,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":34},{"imageOffset":7476,"symbol":"thread_start","symbolLocation":8,"imageIndex":34}]},{"id":2844063,"name":"audiotestsrc0:src","threadState":{"x":[{"value":260},{"value":0},{"value":0},{"value":0},{"value":0},{"value":160},{"value":0},{"value":0},{"value":6115371656},{"value":0},{"value":105553163317720},{"value":2},{"value":0},{"value":0},{"value":0},{"value":0},{"value":305},{"value":8622337000},{"value":0},{"value":105553163317696},{"value":105553174478160},{"value":6115373280},{"value":0},{"value":0},{"value":0},{"value":1},{"value":256},{"value":512},{"value":4371476900,"symbolLocation":0,"symbol":"_gst_debug_min"}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6709245276},"cpsr":{"value":1610616832},"fp":{"value":6115371776},"sp":{"value":6115371632},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6708992492},"far":{"value":0}},"frames":[{"imageOffset":18924,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":28},{"imageOffset":30044,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":34},{"imageOffset":545752,"symbol":"g_cond_wait","symbolLocation":44,"imageIndex":22},{"imageOffset":210640,"symbol":"gst_queue_handle_sink_query","symbolLocation":216,"imageIndex":15},{"imageOffset":371404,"symbol":"gst_pad_query","symbolLocation":504,"imageIndex":21},{"imageOffset":364092,"symbol":"gst_pad_peer_query","symbolLocation":376,"imageIndex":21},{"imageOffset":197328,"symbol":"gst_base_src_negotiate_unlocked","symbolLocation":116,"imageIndex":18},{"imageOffset":213420,"symbol":"gst_base_src_loop","symbolLocation":160,"imageIndex":18},{"imageOffset":571256,"symbol":"gst_task_func","symbolLocation":284,"imageIndex":21},{"imageOffset":396312,"symbol":"g_thread_pool_thread_proxy","symbolLocation":208,"imageIndex":22},{"imageOffset":392052,"symbol":"g_thread_proxy","symbolLocation":68,"imageIndex":22},{"imageOffset":28564,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":34},{"imageOffset":7476,"symbol":"thread_start","symbolLocation":8,"imageIndex":34}]},{"id":2844064,"name":"gmain","threadState":{"x":[{"value":4},{"value":0},{"value":6115945872},{"value":6115945744},{"value":0},{"value":688},{"value":105553178886832},{"value":0},{"value":6115946136},{"value":1000},{"value":0},{"value":2},{"value":105553178886832},{"value":2095104},{"value":2043},{"value":2766047276},{"value":93},{"value":2768142381},{"value":0},{"value":105553178886840},{"value":4294967295},{"value":105553178886832},{"value":13},{"value":105553178886840},{"value":13},{"value":6115945744},{"value":1},{"value":6115945872},{"value":6115946000}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4372054856},"cpsr":{"value":2684358656},"fp":{"value":6115946240},"sp":{"value":6115945728},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709023576},"far":{"value":0}},"frames":[{"imageOffset":50008,"symbol":"__select","symbolLocation":8,"imageIndex":28},{"imageOffset":295752,"symbol":"g_poll","symbolLocation":424,"imageIndex":22},{"imageOffset":234612,"symbol":"g_main_context_iterate_unlocked","symbolLocation":296,"imageIndex":22},{"imageOffset":234812,"symbol":"g_main_context_iteration","symbolLocation":60,"imageIndex":22},{"imageOffset":239472,"symbol":"glib_worker_main","symbolLocation":48,"imageIndex":22},{"imageOffset":392052,"symbol":"g_thread_proxy","symbolLocation":68,"imageIndex":22},{"imageOffset":28564,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":34},{"imageOffset":7476,"symbol":"thread_start","symbolLocation":8,"imageIndex":34}]},{"id":2844066,"name":"gldisplay-event","threadState":{"x":[{"value":4},{"value":0},{"value":6116519328},{"value":6116519200},{"value":0},{"value":0},{"value":105553178902544},{"value":0},{"value":6116519592},{"value":1000},{"value":0},{"value":2},{"value":105553178908544},{"value":2045},{"value":2871164956},{"value":28},{"value":93},{"value":163840},{"value":0},{"value":105553178908552},{"value":4294967295},{"value":105553178908544},{"value":18},{"value":105553178908552},{"value":18},{"value":6116519200},{"value":1},{"value":6116519328},{"value":6116519456}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4372054856},"cpsr":{"value":2684358656},"fp":{"value":6116519696},"sp":{"value":6116519184},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709023576},"far":{"value":0}},"frames":[{"imageOffset":50008,"symbol":"__select","symbolLocation":8,"imageIndex":28},{"imageOffset":295752,"symbol":"g_poll","symbolLocation":424,"imageIndex":22},{"imageOffset":234612,"symbol":"g_main_context_iterate_unlocked","symbolLocation":296,"imageIndex":22},{"imageOffset":235360,"symbol":"g_main_loop_run","symbolLocation":120,"imageIndex":22},{"imageOffset":104436,"symbol":"_event_thread_main","symbolLocation":88,"imageIndex":7},{"imageOffset":392052,"symbol":"g_thread_proxy","symbolLocation":68,"imageIndex":22},{"imageOffset":28564,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":34},{"imageOffset":7476,"symbol":"thread_start","symbolLocation":8,"imageIndex":34}]},{"id":2844067,"name":"gstglcontext","threadState":{"x":[{"value":4},{"value":0},{"value":6117092640},{"value":6117092512},{"value":0},{"value":9920},{"value":105553178781376},{"value":1027},{"value":6117092904},{"value":1000},{"value":0},{"value":2},{"value":105553178781376},{"value":2095104},{"value":2043},{"value":3547187821},{"value":93},{"value":3549282855},{"value":0},{"value":105553178781384},{"value":4294967295},{"value":105553178781376},{"value":20},{"value":105553178781384},{"value":20},{"value":6117092512},{"value":1},{"value":6117092640},{"value":6117092768}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4372054856},"cpsr":{"value":2684358656},"fp":{"value":6117093008},"sp":{"value":6117092496},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6709023576},"far":{"value":0}},"frames":[{"imageOffset":50008,"symbol":"__select","symbolLocation":8,"imageIndex":28},{"imageOffset":295752,"symbol":"g_poll","symbolLocation":424,"imageIndex":22},{"imageOffset":234612,"symbol":"g_main_context_iterate_unlocked","symbolLocation":296,"imageIndex":22},{"imageOffset":235360,"symbol":"g_main_loop_run","symbolLocation":120,"imageIndex":22},{"imageOffset":86764,"symbol":"gst_gl_context_create_thread","symbolLocation":1040,"imageIndex":7},{"imageOffset":392052,"symbol":"g_thread_proxy","symbolLocation":68,"imageIndex":22},{"imageOffset":28564,"symbol":"_pthread_start","symbolLocation":136,"imageIndex":34},{"imageOffset":7476,"symbol":"thread_start","symbolLocation":8,"imageIndex":34}]}], "usedImages" : [ { "source" : "P", "arch" : "arm64e", "base" : 4439408640, "size" : 49152, "uuid" : "e8a1b184-0349-3c61-a119-6543eb038317", "path" : "\/usr\/lib\/libobjc-trampolines.dylib", "name" : "libobjc-trampolines.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 4436426752, "CFBundleShortVersionString" : "1.0", "CFBundleIdentifier" : "com.apple.AppleMetalOpenGLRenderer", "size" : 442368, "uuid" : "83d94df2-aca8-3695-a3a1-bf8ca16657ac", "path" : "\/System\/Library\/Extensions\/AppleMetalOpenGLRenderer.bundle\/Contents\/MacOS\/AppleMetalOpenGLRenderer", "name" : "AppleMetalOpenGLRenderer", "CFBundleVersion" : "1" }, { "source" : "P", "arch" : "arm64", "base" : 4434608128, "size" : 49152, "uuid" : "bceccc24-e8fd-328a-afaa-18dd5c1c7659", "path" : "\/opt\/homebrew\/*\/libgstosxvideo.dylib", "name" : "libgstosxvideo.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4434182144, "size" : 49152, "uuid" : "3db05c25-af6c-3976-bfb8-2b73f63a8874", "path" : "\/opt\/homebrew\/*\/libgstvideoconvertscale.dylib", "name" : "libgstvideoconvertscale.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4368891904, "size" : 49152, "uuid" : "5bc75e61-fcee-3ebf-b1a6-220eaf21f8ae", "path" : "\/Users\/USER\/*\/libgstprojectm.dylib", "name" : "libgstprojectm.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4437131264, "size" : 753664, "uuid" : "06aef6bc-7d51-3359-9708-541c931b69d3", "path" : "\/opt\/homebrew\/*\/libprojectM-4.4.1.0.dylib", "name" : "libprojectM-4.4.1.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4438327296, "size" : 524288, "uuid" : "99f98f1a-2204-3895-9c1c-a03be2566f3d", "path" : "\/opt\/homebrew\/*\/libgstvideo-1.0.0.dylib", "name" : "libgstvideo-1.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4435935232, "size" : 327680, "uuid" : "5866cc58-061a-3c82-bb6a-4a1c091caff3", "path" : "\/opt\/homebrew\/*\/libgstgl-1.0.0.dylib", "name" : "libgstgl-1.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4434329600, "size" : 163840, "uuid" : "cbe63aa4-0bf1-39ad-aa35-d73fdac2bfa4", "path" : "\/opt\/homebrew\/*\/libgstpbutils-1.0.0.dylib", "name" : "libgstpbutils-1.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4440178688, "size" : 868352, "uuid" : "1a7bda7e-24d4-3a17-85b9-adb83f1e177a", "path" : "\/opt\/homebrew\/*\/libX11.6.dylib", "name" : "libX11.6.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4369924096, "size" : 16384, "uuid" : "cb44ecf3-ca0e-34a0-8602-607065b83dce", "path" : "\/opt\/homebrew\/*\/libX11-xcb.1.dylib", "name" : "libX11-xcb.1.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4432805888, "size" : 81920, "uuid" : "8ef9b9ff-3f1e-39a6-bec1-e7d10db8e6cb", "path" : "\/opt\/homebrew\/*\/libxcb.1.1.0.dylib", "name" : "libxcb.1.1.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4373331968, "size" : 16384, "uuid" : "bf6689dc-5292-350c-94b7-d1d71956c572", "path" : "\/opt\/homebrew\/*\/libXau.6.0.0.dylib", "name" : "libXau.6.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4373413888, "size" : 16384, "uuid" : "11368a67-e3a3-3d6f-ae03-78456881a92e", "path" : "\/opt\/homebrew\/*\/libXdmcp.6.dylib", "name" : "libXdmcp.6.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4373233664, "size" : 32768, "uuid" : "d786468c-d78e-3a27-becb-298e52eb46ea", "path" : "\/opt\/homebrew\/*\/libgstaudioconvert.dylib", "name" : "libgstaudioconvert.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4435492864, "size" : 311296, "uuid" : "1a013834-dd75-3f38-a00e-919475650cd6", "path" : "\/opt\/homebrew\/*\/libgstcoreelements.dylib", "name" : "libgstcoreelements.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4370350080, "size" : 49152, "uuid" : "f7037975-2442-335a-a6f7-00980ce7de52", "path" : "\/opt\/homebrew\/*\/libgstaudiotestsrc.dylib", "name" : "libgstaudiotestsrc.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4433035264, "size" : 344064, "uuid" : "3760ee84-63e7-3111-a803-1c213ca087cc", "path" : "\/opt\/homebrew\/*\/libgstaudio-1.0.0.dylib", "name" : "libgstaudio-1.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4433543168, "size" : 376832, "uuid" : "5c6bb74a-4f79-30d9-9375-a4242cdb2dcd", "path" : "\/opt\/homebrew\/*\/libgstbase-1.0.0.dylib", "name" : "libgstbase-1.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4432527360, "size" : 180224, "uuid" : "f662112f-389e-317c-9aa3-38821ae6c15a", "path" : "\/opt\/homebrew\/*\/libgsttag-1.0.0.dylib", "name" : "libgsttag-1.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4434771968, "size" : 573440, "uuid" : "f994d955-4042-3b10-ba94-7bf9296c5496", "path" : "\/opt\/homebrew\/*\/liborc-0.4.0.dylib", "name" : "liborc-0.4.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4370513920, "size" : 917504, "uuid" : "ab2a29b1-e175-3644-bb0d-82415df9bc16", "path" : "\/opt\/homebrew\/*\/libgstreamer-1.0.0.dylib", "name" : "libgstreamer-1.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4371759104, "size" : 983040, "uuid" : "80aa0559-f78c-3932-a57a-cd80e140e154", "path" : "\/opt\/homebrew\/*\/libglib-2.0.0.dylib", "name" : "libglib-2.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4369432576, "size" : 98304, "uuid" : "9924fd2d-8556-34b2-add9-ab2838b3359b", "path" : "\/opt\/homebrew\/*\/libintl.8.dylib", "name" : "libintl.8.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4369973248, "size" : 245760, "uuid" : "7432be8c-02f1-31dc-b0eb-50d634dd5abc", "path" : "\/opt\/homebrew\/*\/libgobject-2.0.0.dylib", "name" : "libgobject-2.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4369350656, "size" : 16384, "uuid" : "556047c9-c8db-3da2-92ff-8d0e0e5b38b1", "path" : "\/opt\/homebrew\/*\/libgmodule-2.0.0.dylib", "name" : "libgmodule-2.0.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4373528576, "size" : 475136, "uuid" : "0e90f358-d449-3571-95ad-690078c20228", "path" : "\/opt\/homebrew\/*\/libpcre2-8.0.dylib", "name" : "libpcre2-8.0.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4364681216, "size" : 32768, "uuid" : "4b111051-a9f5-3f1d-8e67-ce5a22d0f649", "path" : "\/opt\/homebrew\/*\/gst-launch-1.0", "name" : "gst-launch-1.0" }, { "source" : "P", "arch" : "arm64e", "base" : 6708973568, "size" : 241660, "uuid" : "2a91fd2c-4cef-3211-a025-7a1c0a8c2db5", "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib", "name" : "libsystem_kernel.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 6709641216, "CFBundleShortVersionString" : "6.9", "CFBundleIdentifier" : "com.apple.CoreFoundation", "size" : 5083136, "uuid" : "33908a83-098f-3437-973e-fb848c4f39df", "path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/Versions\/A\/CoreFoundation", "name" : "CoreFoundation", "CFBundleVersion" : "2420" }, { "source" : "P", "arch" : "arm64e", "base" : 6885687296, "CFBundleShortVersionString" : "2.1.1", "CFBundleIdentifier" : "com.apple.HIToolbox", "size" : 2899968, "uuid" : "c315e2a3-3fd1-3a2b-b205-b8b492b0f506", "path" : "\/System\/Library\/Frameworks\/Carbon.framework\/Versions\/A\/Frameworks\/HIToolbox.framework\/Versions\/A\/HIToolbox", "name" : "HIToolbox" }, { "source" : "P", "arch" : "arm64e", "base" : 6768992256, "CFBundleShortVersionString" : "6.9", "CFBundleIdentifier" : "com.apple.AppKit", "size" : 20172800, "uuid" : "8b85317d-d56a-3370-8b78-da6c1d0fb53c", "path" : "\/System\/Library\/Frameworks\/AppKit.framework\/Versions\/C\/AppKit", "name" : "AppKit", "CFBundleVersion" : "2487.50.124" }, { "source" : "P", "arch" : "arm64e", "base" : 6705512448, "size" : 559580, "uuid" : "f6dd3ec2-85a4-3ab1-8486-b189cd980ebe", "path" : "\/usr\/lib\/dyld", "name" : "dyld" }, { "size" : 0, "source" : "A", "base" : 0, "uuid" : "00000000-0000-0000-0000-000000000000" }, { "source" : "P", "arch" : "arm64e", "base" : 6709215232, "size" : 53248, "uuid" : "45239f06-cc53-36d0-9933-7776ac7ea2fa", "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib", "name" : "libsystem_pthread.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 6707453952, "size" : 294912, "uuid" : "7f973554-8168-35bf-ae86-2e9123e81bf7", "path" : "\/usr\/lib\/system\/libdispatch.dylib", "name" : "libdispatch.dylib" } ], "sharedCache" : { "base" : 6704758784, "size" : 4189880320, "uuid" : "a53b7d2f-a773-3524-8828-248b33ef0b4e" }, "vmSummary" : "ReadOnly portion of Libraries: Total=835.1M resident=0K(0%) swapped_out_or_unallocated=835.1M(100%)\nWritable regions: Total=1.4G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.4G(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nAccelerate framework 128K 1 \nActivity Tracing 256K 1 \nCG image 96K 5 \nColorSync 624K 29 \nCoreAnimation 176K 11 \nCoreGraphics 32K 2 \nCoreUI image data 1104K 7 \nFoundation 16K 1 \nKernel Alloc Once 32K 1 \nMALLOC 1.3G 47 \nMALLOC guard page 192K 12 \nOpenGL GLSL 256K 3 \nSTACK GUARD 56.4M 27 \nStack 21.8M 27 \nVM_ALLOCATE 848K 35 \n__AUTH 937K 203 \n__AUTH_CONST 15.0M 359 \n__CTF 824 1 \n__DATA 4111K 370 \n__DATA_CONST 18.9M 387 \n__DATA_DIRTY 919K 115 \n__FONT_DATA 2352 1 \n__GLSLBUILTINS 5174K 1 \n__LINKEDIT 527.8M 29 \n__OBJC_RO 71.7M 1 \n__OBJC_RW 2195K 1 \n__TEXT 307.3M 401 \ndyld private memory 272K 2 \nmapped file 70.8M 19 \nshared memory 864K 14 \n=========== ======= ======= \nTOTAL 2.4G 2113 \n", "legacyInfo" : { "threadTriggered" : { "queue" : "org.freedesktop.gstreamer.glwindow" } }, "logWritingSignature" : "81ab42a13a79089001a60fb15136efc9b0e44a1c", "trialInfo" : { "rollouts" : [ { "rolloutId" : "648c94d4ebdf9e3e398fa708", "factorPackIds" : { "SIRI_UNDERSTANDING_NL_OVERRIDES" : "65a8104b6712a43e7922cab8" }, "deploymentId" : 240000171 }, { "rolloutId" : "63f9578e238e7b23a1f3030a", "factorPackIds" : { }, "deploymentId" : 240000005 } ], "experiments" : [ { "treatmentId" : "a34d22a1-a1a5-4126-a477-0c499e502c6a", "experimentId" : "65835bc103dc58766bab2d27", "deploymentId" : 400000011 } ] } } ```
nzoschke commented 1 month ago

gltestsrc is working

https://gstreamer.freedesktop.org/documentation/opengl/gltestsrc.html?gi-language=c

gst-launch-1.0 -v gltestsrc pattern=smpte ! glimagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0";
/GstPipeline:pipeline0/GstGLTestSrc:gltestsrc0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement0.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0.GstGhostPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, texture-target=(string)2D
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstSystemClock
Blaquewithaq commented 1 month ago

I see all your examples are running the test with audio. Did you try any of the others. Does details or inspect give you a result about the projectm lib?

Blaquewithaq commented 1 month ago

What's making this challenging for Hack and me is that there isn't any helpful information in what you've posted that would assist us in tracking down the issue, because the error given is so generic.

I dont have a mac device to play around on so all I can do is provide suggestions until I do.

  1. Modify the test.sh script, change GST_DEBUG to GST_DEBUG=4 on the audio test
  2. Try to rerun and post the output here.
nzoschke commented 1 month ago

Test scripts

./test.sh --details

Plugin Details:
  Name                     projectm
  Description              plugin to visualize audio using the ProjectM library
  Filename                 /Users/noah/.local/share/gstreamer-1.0/plugins/libgstprojectm.dylib
  Version                  0.0.1
  License                  LGPL
  Source module            GstProjectM
  Binary package           GstProjectM
  Origin URL               https://github.com/projectM-visualizer/gst-projectm

  projectm: ProjectM Visualizer

  1 features:
  +-- 1 elements
./test.sh --inspect

Factory Details:
  Rank                     none (0)
  Long-name                ProjectM Visualizer
  Klass                    Generic
  Description              A plugin for visualizing music using ProjectM
  Author                   AnomieVision <anomievision@gmail.com> | Tristan Charpentier <tristan_charpentier@hotmail.com>

Plugin Details:
  Name                     projectm
  Description              plugin to visualize audio using the ProjectM library
  Filename                 /Users/noah/.local/share/gstreamer-1.0/plugins/libgstprojectm.dylib
  Version                  0.0.1
  License                  LGPL
  Source module            GstProjectM
  Binary package           GstProjectM
  Origin URL               https://github.com/projectM-visualizer/gst-projectm

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstAudioVisualizer
                         +----GstGLBaseAudioVisualizer
                               +----GstProjectM

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      audio/x-raw
                 format: S16LE
                 layout: interleaved
               channels: [ 1, 2147483647 ]
                   rate: [ 1, 2147483647 ]
           channel-mask: { (bitmask)0x0000000000000003 }

  SRC template: 'src'
    Availability: Always
    Capabilities:
      video/x-raw
                 format: { (string)ABGR }
              framerate: [ 0/1, 2147483647/1 ]
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]

Element has no clocking capabilities.
Element has no URI handling capabilities.

Pads:
  SINK: 'sink'
    Pad Template: 'sink'
  SRC: 'src'
    Pad Template: 'src'

Element Properties:

  aspect-correction   : Enables or disables aspect ratio correction. When enabled, the visualizer adjusts for aspect ratio differences in rendering.
                        flags: readable, writable
                        Boolean. Default: true

  beat-sensitivity    : Controls the sensitivity to audio beats. Higher values make the visualizer respond more strongly to beats.
                        flags: readable, writable
                        Float. Range:               0 -               5 Default:               1 

  easter-egg          : DControls the activation of an Easter Egg feature. The value determines the likelihood of triggering the Easter Egg.
                        flags: readable, writable
                        Float. Range:               0 -               1 Default:               0 

  hard-cut-duration   : Sets the duration, in seconds, for hard cuts. Hard cuts are abrupt transitions in the visualizer.
                        flags: readable, writable
                        Double. Range:               0 -          999999 Default:               3 

  hard-cut-enabled    : Enables or disables hard cuts. When enabled, the visualizer may exhibit sudden transitions based on the audio input.
                        flags: readable, writable
                        Boolean. Default: false

  hard-cut-sensitivity: Adjusts the sensitivity of the visualizer to hard cuts. Higher values increase the responsiveness to abrupt changes in audio.
                        flags: readable, writable
                        Float. Range:               0 -               1 Default:               1 

  mesh-size           : Sets the size of the mesh used in rendering. The format is 'width,height'.
                        flags: readable, writable
                        String. Default: "48,32"

  name                : The name of the object
                        flags: readable, writable
                        String. Default: "projectm0"

  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"

  preset              : Specifies the path to the preset file. The preset file determines the visual style and behavior of the audio visualizer.
                        flags: readable, writable
                        String. Default: null

  preset-duration     : Sets the duration, in seconds, for each preset. A zero value causes the preset to play indefinitely.
                        flags: readable, writable
                        Double. Range:               0 -          999999 Default:               0 

  preset-locked       : Locks or unlocks the current preset. When locked, the visualizer remains on the current preset without automatic changes.
                        flags: readable, writable
                        Boolean. Default: true

  shade-amount        : Shading color to use (big-endian ARGB)
                        flags: readable, writable, controllable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 657930 

  shader              : Shader function to apply on each frame
                        flags: readable, writable, controllable
                        Enum "GstAudioVisualizerShader" Default: 1, "fade"
                           (0): none             - GST_AUDIO_VISUALIZER_SHADER_NONE
                           (1): fade             - GST_AUDIO_VISUALIZER_SHADER_FADE
                           (2): fade-and-move-up - GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_UP
                           (3): fade-and-move-down - GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_DOWN
                           (4): fade-and-move-left - GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_LEFT
                           (5): fade-and-move-right - GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_RIGHT
                           (6): fade-and-move-horiz-out - GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_OUT
                           (7): fade-and-move-horiz-in - GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_IN
                           (8): fade-and-move-vert-out - GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_OUT
                           (9): fade-and-move-vert-in - GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_IN

  soft-cut-duration   : Sets the duration, in seconds, for soft cuts. Soft cuts are smoother transitions between visualizer states.
                        flags: readable, writable
                        Double. Range:               0 -          999999 Default:               3 

  texture-dir         : Sets the path to the directory containing textures used in the visualizer.
                        flags: readable, writable
                        String. Default: null
nzoschke commented 1 month ago

This one already has GST_DEBUG=4

./test.sh --preset

0:00:00.000061916 32506 0x6000015899f0 INFO                GST_INIT gst.c:574:init_pre: Initializing GStreamer Core Library version 1.24.3
0:00:00.000075875 32506 0x6000015899f0 INFO                GST_INIT gst.c:575:init_pre: Using library installed in /opt/homebrew/Cellar/gstreamer/1.24.3/lib
0:00:00.000088833 32506 0x6000015899f0 INFO                GST_INIT gst.c:595:init_pre: Darwin studio.attlocal.net 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:42 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6000 arm64
0:00:00.000183041 32506 0x6000015899f0 INFO                GST_INIT gstmessage.c:129:_priv_gst_message_initialize: init messages
0:00:00.000324500 32506 0x6000015899f0 INFO                GST_INIT gstcontext.c:86:_priv_gst_context_initialize: init contexts
0:00:00.000504416 32506 0x6000015899f0 INFO      GST_PLUGIN_LOADING gstplugin.c:328:_priv_gst_plugin_initialize: registering 0 static plugins
0:00:00.000548375 32506 0x6000015899f0 INFO      GST_PLUGIN_LOADING gstplugin.c:236:gst_plugin_register_static: registered static plugin "staticelements"
0:00:00.000556125 32506 0x6000015899f0 INFO      GST_PLUGIN_LOADING gstplugin.c:238:gst_plugin_register_static: added static plugin "staticelements", result: 1
0:00:00.000687250 32506 0x6000015899f0 INFO            GST_REGISTRY gstregistry.c:1918:ensure_current_registry: reading registry cache: /Users/noah/.cache/gstreamer-1.0/registry.aarch64.bin
0:00:00.004637208 32506 0x6000015899f0 INFO            GST_REGISTRY gstregistrybinary.c:683:priv_gst_registry_binary_read_cache: loaded /Users/noah/.cache/gstreamer-1.0/registry.aarch64.bin in 0.003932 seconds
0:00:00.004648833 32506 0x6000015899f0 INFO            GST_REGISTRY gstregistry.c:1785:scan_and_update_registry: Validating plugins from registry cache: /Users/noah/.cache/gstreamer-1.0/registry.aarch64.bin
0:00:00.005635500 32506 0x6000015899f0 INFO            GST_REGISTRY gstregistry.c:1877:scan_and_update_registry: Registry cache has not changed
0:00:00.005640583 32506 0x6000015899f0 INFO            GST_REGISTRY gstregistry.c:1953:ensure_current_registry: registry reading and updating done
0:00:00.005643833 32506 0x6000015899f0 INFO                GST_INIT gst.c:808:init_post: GLib runtime version: 2.80.0
0:00:00.005646291 32506 0x6000015899f0 INFO                GST_INIT gst.c:810:init_post: GLib headers version: 2.80.0
0:00:00.005648083 32506 0x6000015899f0 INFO                GST_INIT gst.c:811:init_post: initialized GStreamer successfully
0:00:00.005661458 32506 0x6000015899f0 INFO            GST_PIPELINE gstparse.c:345:gst_parse_launch_full: parsing pipeline description 'audiotestsrc ! queue ! audioconvert ! projectm preset=test/presets/250-wavecode.milk.milk ! video/x-raw,width=512,height=512,framerate=60/1 ! videoconvert ! osxvideosink sync=false '
0:00:00.007299416 32506 0x6000015899f0 INFO      GST_PLUGIN_LOADING gstplugin.c:995:_priv_gst_plugin_load_file_for_registry: plugin "/opt/homebrew/Cellar/gstreamer/1.24.3/lib/gstreamer-1.0/libgstaudiotestsrc.dylib" loaded
0:00:00.007345333 32506 0x6000015899f0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "audiotestsrc"
0:00:00.007355333 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseSrc@0x15c05d2e0> adding pad 'src'
0:00:00.008121083 32506 0x6000015899f0 INFO      GST_PLUGIN_LOADING gstplugin.c:995:_priv_gst_plugin_load_file_for_registry: plugin "/opt/homebrew/Cellar/gstreamer/1.24.3/lib/gstreamer-1.0/libgstcoreelements.dylib" loaded
0:00:00.008146125 32506 0x6000015899f0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "queue"
0:00:00.008153958 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstQueue@0x15a905220> adding pad 'sink'
0:00:00.008158583 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstQueue@0x15a905220> adding pad 'src'
0:00:00.008684625 32506 0x6000015899f0 INFO      GST_PLUGIN_LOADING gstplugin.c:995:_priv_gst_plugin_load_file_for_registry: plugin "/opt/homebrew/Cellar/gstreamer/1.24.3/lib/gstreamer-1.0/libgstaudioconvert.dylib" loaded
0:00:00.008713666 32506 0x6000015899f0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "audioconvert"
0:00:00.008718833 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x15c0090d0> adding pad 'sink'
0:00:00.008723041 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x15c0090d0> adding pad 'src'
0:00:00.012186333 32506 0x6000015899f0 INFO      GST_PLUGIN_LOADING gstplugin.c:995:_priv_gst_plugin_load_file_for_registry: plugin "/Users/noah/.local/share/gstreamer-1.0/plugins/libgstprojectm.dylib" loaded
0:00:00.012245375 32506 0x6000015899f0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "projectm"
0:00:00.012253000 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstAudioVisualizer@0x15a057c30> adding pad 'sink'
0:00:00.012256875 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstAudioVisualizer@0x15a057c30> adding pad 'src'
0:00:00.012926458 32506 0x6000015899f0 INFO      GST_PLUGIN_LOADING gstplugin.c:995:_priv_gst_plugin_load_file_for_registry: plugin "/opt/homebrew/Cellar/gstreamer/1.24.3/lib/gstreamer-1.0/libgstvideoconvertscale.dylib" loaded
0:00:00.013014000 32506 0x6000015899f0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "videoconvert"
0:00:00.013019416 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x15a05cd50> adding pad 'sink'
0:00:00.013026583 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x15a05cd50> adding pad 'src'
0:00:00.013634875 32506 0x6000015899f0 INFO      GST_PLUGIN_LOADING gstplugin.c:995:_priv_gst_plugin_load_file_for_registry: plugin "/opt/homebrew/Cellar/gstreamer/1.24.3/lib/gstreamer-1.0/libgstosxvideo.dylib" loaded
0:00:00.013664625 32506 0x6000015899f0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "osxvideosink"
0:00:00.013669541 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseSink@0x15a05d530> adding pad 'sink'
0:00:00.013690791 32506 0x6000015899f0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "pipeline"
0:00:00.013726625 32506 0x6000015899f0 INFO            GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:1062:gst_parse_perform_link: linking some pad of GstAudioTestSrc named audiotestsrc0 to some pad of GstQueue named queue0 (0/0) with caps "(NULL)"
0:00:00.013730666 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element audiotestsrc0:(any) to element queue0:(any)
0:00:00.013734000 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1081:gst_pad_check_link: trying to link audiotestsrc0:src and queue0:sink
0:00:00.013742166 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:4398:gst_pad_peer_query:<queue0:src> pad has no peer
0:00:00.013746541 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: audiotestsrc0 and queue0 in same bin, no need for ghost pads
0:00:00.013768291 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2441:gst_pad_link_prepare: trying to link audiotestsrc0:src and queue0:sink
0:00:00.013772166 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:4398:gst_pad_peer_query:<queue0:src> pad has no peer
0:00:00.013775708 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2622:gst_pad_link_full: linked audiotestsrc0:src and queue0:sink, successful
0:00:00.013777875 32506 0x6000015899f0 INFO               GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.013781666 32506 0x6000015899f0 INFO               GST_EVENT gstpad.c:6018:gst_pad_send_event_unchecked:<audiotestsrc0:src> Received event on flushing pad. Discarding
0:00:00.013788750 32506 0x6000015899f0 INFO            GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:1062:gst_parse_perform_link: linking some pad of GstQueue named queue0 to some pad of GstAudioConvert named audioconvert0 (0/0) with caps "(NULL)"
0:00:00.013839000 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element queue0:(any) to element audioconvert0:(any)
0:00:00.013842666 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1081:gst_pad_check_link: trying to link queue0:src and audioconvert0:sink
0:00:00.013849375 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:4398:gst_pad_peer_query:<audioconvert0:src> pad has no peer
0:00:00.013862500 32506 0x6000015899f0 INFO               structure gststructure.c:2957:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ];
0:00:00.013874833 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: queue0 and audioconvert0 in same bin, no need for ghost pads
0:00:00.013878166 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2441:gst_pad_link_prepare: trying to link queue0:src and audioconvert0:sink
0:00:00.013880958 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:4398:gst_pad_peer_query:<audioconvert0:src> pad has no peer
0:00:00.013919833 32506 0x6000015899f0 INFO               structure gststructure.c:2957:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ];
0:00:00.013930041 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2622:gst_pad_link_full: linked queue0:src and audioconvert0:sink, successful
0:00:00.013931708 32506 0x6000015899f0 INFO               GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.013933541 32506 0x6000015899f0 INFO               GST_EVENT gstpad.c:6018:gst_pad_send_event_unchecked:<queue0:src> Received event on flushing pad. Discarding
0:00:00.013938500 32506 0x6000015899f0 INFO            GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:1062:gst_parse_perform_link: linking some pad of GstAudioConvert named audioconvert0 to some pad of GstProjectM named projectm0 (0/0) with caps "(NULL)"
0:00:00.013941125 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element audioconvert0:(any) to element projectm0:(any)
0:00:00.013986458 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1081:gst_pad_check_link: trying to link audioconvert0:src and projectm0:sink
0:00:00.014002666 32506 0x6000015899f0 INFO               structure gststructure.c:2957:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ];
0:00:00.014016875 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: audioconvert0 and projectm0 in same bin, no need for ghost pads
0:00:00.014020041 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2441:gst_pad_link_prepare: trying to link audioconvert0:src and projectm0:sink
0:00:00.014030833 32506 0x6000015899f0 INFO               structure gststructure.c:2957:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ];
0:00:00.014044625 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2622:gst_pad_link_full: linked audioconvert0:src and projectm0:sink, successful
0:00:00.014046333 32506 0x6000015899f0 INFO               GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.014048166 32506 0x6000015899f0 INFO               GST_EVENT gstpad.c:6018:gst_pad_send_event_unchecked:<audioconvert0:src> Received event on flushing pad. Discarding
0:00:00.014057500 32506 0x6000015899f0 INFO            GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:1062:gst_parse_perform_link: linking some pad of GstProjectM named projectm0 to some pad of GstVideoConvert named videoconvert0 (0/0) with caps "video/x-raw, width=(int)512, height=(int)512, framerate=(fraction)60/1"
0:00:00.014060666 32506 0x6000015899f0 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:489:gst_element_factory_create_with_properties: creating element "capsfilter"
0:00:00.014085041 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x159742320> adding pad 'sink'
0:00:00.014088500 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:759:gst_element_add_pad:<GstBaseTransform@0x159742320> adding pad 'src'
0:00:00.014094541 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2070:gst_bin_get_state_func:<pipeline0> getting state
0:00:00.014099416 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<capsfilter0> completed state change to NULL
0:00:00.014102166 32506 0x6000015899f0 INFO               GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.014105750 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element projectm0:(any) to element capsfilter0:sink
0:00:00.014150291 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:1017:gst_element_get_static_pad: found pad capsfilter0:sink
0:00:00.014153041 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: projectm0 and capsfilter0 in same bin, no need for ghost pads
0:00:00.014156708 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2441:gst_pad_link_prepare: trying to link projectm0:src and capsfilter0:sink
0:00:00.014160291 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:4398:gst_pad_peer_query:<capsfilter0:src> pad has no peer
0:00:00.014164291 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2622:gst_pad_link_full: linked projectm0:src and capsfilter0:sink, successful
0:00:00.014165916 32506 0x6000015899f0 INFO               GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.014167625 32506 0x6000015899f0 INFO               GST_EVENT gstpad.c:6018:gst_pad_send_event_unchecked:<projectm0:src> Received event on flushing pad. Discarding
0:00:00.014170916 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element capsfilter0:src to element videoconvert0:(any)
0:00:00.014231000 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstelement.c:1017:gst_element_get_static_pad: found pad capsfilter0:src
0:00:00.014237291 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1081:gst_pad_check_link: trying to link capsfilter0:src and videoconvert0:sink
0:00:00.014244500 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:4398:gst_pad_peer_query:<videoconvert0:src> pad has no peer
0:00:00.014515625 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: capsfilter0 and videoconvert0 in same bin, no need for ghost pads
0:00:00.014521333 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2441:gst_pad_link_prepare: trying to link capsfilter0:src and videoconvert0:sink
0:00:00.014525000 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:4398:gst_pad_peer_query:<videoconvert0:src> pad has no peer
0:00:00.014788500 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2622:gst_pad_link_full: linked capsfilter0:src and videoconvert0:sink, successful
0:00:00.014791500 32506 0x6000015899f0 INFO               GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.014793541 32506 0x6000015899f0 INFO               GST_EVENT gstpad.c:6018:gst_pad_send_event_unchecked:<capsfilter0:src> Received event on flushing pad. Discarding
0:00:00.014799666 32506 0x6000015899f0 INFO            GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:1062:gst_parse_perform_link: linking some pad of GstVideoConvert named videoconvert0 to some pad of GstOSXVideoSink named osxvideosink0 (0/0) with caps "(NULL)"
0:00:00.014802750 32506 0x6000015899f0 INFO        GST_ELEMENT_PADS gstutils.c:1821:gst_element_link_pads_full: trying to link element videoconvert0:(any) to element osxvideosink0:(any)
0:00:00.014805666 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1081:gst_pad_check_link: trying to link videoconvert0:src and osxvideosink0:sink
0:00:00.014835625 32506 0x6000015899f0 INFO                GST_PADS gstutils.c:1635:prepare_link_maybe_ghosting: videoconvert0 and osxvideosink0 in same bin, no need for ghost pads
0:00:00.014839416 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2441:gst_pad_link_prepare: trying to link videoconvert0:src and osxvideosink0:sink
0:00:00.014864583 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:2622:gst_pad_link_full: linked videoconvert0:src and osxvideosink0:sink, successful
0:00:00.014866416 32506 0x6000015899f0 INFO               GST_EVENT gstevent.c:1687:gst_event_new_reconfigure: creating reconfigure event
0:00:00.014868291 32506 0x6000015899f0 INFO               GST_EVENT gstpad.c:6018:gst_pad_send_event_unchecked:<videoconvert0:src> Received event on flushing pad. Discarding
Setting pipeline to PAUSED ...
0:00:00.014914583 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<osxvideosink0> current NULL pending VOID_PENDING, desired next READY
0:00:00.014917833 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<osxvideosink0> completed state change to READY
0:00:00.014920375 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<osxvideosink0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.014928833 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'osxvideosink0' changed state to 2(READY) successfully
0:00:00.014931916 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<videoconvert0> current NULL pending VOID_PENDING, desired next READY
0:00:00.014933833 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<videoconvert0> completed state change to READY
0:00:00.014949458 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<videoconvert0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.014956875 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'videoconvert0' changed state to 2(READY) successfully
0:00:00.014961333 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<capsfilter0> current NULL pending VOID_PENDING, desired next READY
0:00:00.014963958 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<capsfilter0> completed state change to READY
0:00:00.014966333 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<capsfilter0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.014969166 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'capsfilter0' changed state to 2(READY) successfully
0:00:00.015029625 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<projectm0> current NULL pending VOID_PENDING, desired next READY
0:00:00.015033500 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<projectm0> completed state change to READY
0:00:00.015035916 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<projectm0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.015039625 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'projectm0' changed state to 2(READY) successfully
0:00:00.015042458 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<audioconvert0> current NULL pending VOID_PENDING, desired next READY
0:00:00.015044541 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<audioconvert0> completed state change to READY
0:00:00.015046791 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<audioconvert0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.015049416 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'audioconvert0' changed state to 2(READY) successfully
0:00:00.015051958 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<queue0> current NULL pending VOID_PENDING, desired next READY
0:00:00.015053875 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<queue0> completed state change to READY
0:00:00.015126333 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<queue0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.015130375 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'queue0' changed state to 2(READY) successfully
0:00:00.015133000 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<audiotestsrc0> current NULL pending VOID_PENDING, desired next READY
0:00:00.015135458 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<audiotestsrc0> completed state change to READY
0:00:00.015137583 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<audiotestsrc0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.015140083 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'audiotestsrc0' changed state to 2(READY) successfully
0:00:00.015143750 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2800:gst_element_continue_state:<pipeline0> committing state from NULL to READY, pending PAUSED, next PAUSED
0:00:00.015200500 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed NULL to READY (PAUSED pending)
0:00:00.015218833 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2807:gst_element_continue_state:<pipeline0> continue state change READY to PAUSED, final PAUSED
0:00:00.015224000 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<osxvideosink0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.026191708 32506 0x6000015899f0 INFO            osxvideosink osxvideosink.m:131:gst_osx_video_sink_osxwindow_create:<osxvideosink0> emitting prepare-xwindow-id
0:00:00.042228916 32506 0x6000015899f0 INFO            osxvideosink osxvideosink.m:148:gst_osx_video_sink_osxwindow_create:<osxvideosink0> No superview, creating an internal window.
0:00:00.055377875 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2948:gst_bin_change_state_func:<pipeline0> child 'osxvideosink0' is changing state asynchronously to PAUSED
0:00:00.055388666 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<videoconvert0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.055393375 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<videoconvert0> completed state change to PAUSED
0:00:00.055396333 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<videoconvert0> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.055402291 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'videoconvert0' changed state to 3(PAUSED) successfully
0:00:00.055406208 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<capsfilter0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.055409000 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<capsfilter0> completed state change to PAUSED
0:00:00.055411291 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<capsfilter0> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.055413958 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'capsfilter0' changed state to 3(PAUSED) successfully
0:00:00.055448166 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<projectm0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.055462125 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<projectm0> completed state change to PAUSED
0:00:00.055494250 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<projectm0> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.055499458 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'projectm0' changed state to 3(PAUSED) successfully
0:00:00.055503458 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<audioconvert0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.055506833 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<audioconvert0> completed state change to PAUSED
0:00:00.055509166 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<audioconvert0> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.055646375 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'audioconvert0' changed state to 3(PAUSED) successfully
0:00:00.055651583 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<queue0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.055690000 32506 0x6000015899f0 INFO                    task gsttask.c:531:gst_task_set_lock: setting stream lock 0x15a964120 on task 0x15aa0da50
0:00:00.055694125 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:6363:gst_pad_start_task:<queue0:src> created task 0x15aa0da50
0:00:00.055742791 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<queue0> completed state change to PAUSED
0:00:00.055761791 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<queue0> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.055767958 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'queue0' changed state to 3(PAUSED) successfully
0:00:00.055771500 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2484:gst_bin_element_set_state:<audiotestsrc0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.055780375 32506 0x6000015899f0 INFO                 basesrc gstbasesrc.c:1454:gst_base_src_do_seek:<audiotestsrc0> seeking: time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:00.055829791 32506 0x6000015899f0 INFO                    task gsttask.c:531:gst_task_set_lock: setting stream lock 0x15a963870 on task 0x15ad04380
0:00:00.055835208 32506 0x6000015899f0 INFO                GST_PADS gstpad.c:6363:gst_pad_start_task:<audiotestsrc0:src> created task 0x15ad04380
0:00:00.055875041 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<audiotestsrc0> completed state change to PAUSED
0:00:00.055882041 32506 0x6000015899f0 INFO              GST_STATES gstelement.c:2728:_priv_gst_element_state_changed:<audiotestsrc0> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.055887500 32506 0x6000015899f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'audiotestsrc0' changed state to 3(PAUSED) successfully
0:00:00.055896666 32506 0x6000015899f0 INFO                pipeline gstpipeline.c:540:gst_pipeline_change_state:<pipeline0> pipeline is not live
Pipeline is PREROLLING ...
0:00:00.055910875 32506 0x600001598640 INFO        GST_ELEMENT_PADS gstelement.c:1014:gst_element_get_static_pad: no such pad 'sink' in element "audiotestsrc0"
0:00:00.055917333 32506 0x600001598640 FIXME                default gstutils.c:4089:gst_element_decorate_stream_id_internal:<audiotestsrc0> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.056032750 32506 0x600001598640 INFO               structure gststructure.c:2957:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ];
0:00:00.056053333 32506 0x600001598640 INFO               structure gststructure.c:2966:gst_structure_get_valist: Expected field 'channel-mask' in structure to be of type 'GstBitmask', but field was of type 'GstValueList': audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], channel-mask=(bitmask){ 0x0000000000000003 };
0:00:00.056088333 32506 0x600001598640 WARN          audio-channels audio-channels.c:415:gst_audio_channel_positions_from_mask: Only partially valid channel mask 0x0000000000000003 for 1 channels
0:00:00.056096500 32506 0x600001598640 INFO               GST_EVENT gstevent.c:918:gst_event_new_caps: creating caps event audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1, channel-mask=(bitmask)0x0000000000000003
0:00:00.056163541 32506 0x600001581ea0 INFO           basetransform gstbasetransform.c:1326:gst_base_transform_setcaps:<audioconvert0> reuse caps
0:00:00.056169625 32506 0x600001581ea0 WARN          audio-channels audio-channels.c:415:gst_audio_channel_positions_from_mask: Only partially valid channel mask 0x0000000000000003 for 1 channels
0:00:00.056172750 32506 0x600001581ea0 WARN          audio-channels audio-channels.c:415:gst_audio_channel_positions_from_mask: Only partially valid channel mask 0x0000000000000003 for 1 channels
0:00:00.056179416 32506 0x600001581ea0 INFO         audio-converter audio-converter.c:1361:gst_audio_converter_new: unitsizes: 2 -> 2
0:00:00.056182000 32506 0x600001581ea0 INFO         audio-converter audio-converter.c:730:chain_unpack: unpack format S16LE to S16LE
0:00:00.056192291 32506 0x600001581ea0 INFO         audio-converter audio-converter.c:872:chain_mix: mix format S16LE, passthrough 1, in_channels 1, out_channels 1
0:00:00.056195041 32506 0x600001581ea0 INFO         audio-converter audio-converter.c:966:chain_quantize: depth in 16, out 16
0:00:00.056196791 32506 0x600001581ea0 INFO         audio-converter audio-converter.c:978:chain_quantize: using no dither and noise shaping
0:00:00.056198875 32506 0x600001581ea0 INFO         audio-converter audio-converter.c:1036:chain_pack: pack format S16LE to S16LE
0:00:00.056200750 32506 0x600001581ea0 INFO         audio-converter audio-converter.c:1390:gst_audio_converter_new: same formats, same layout, no resampler and passthrough mixing -> passthrough
0:00:00.056256666 32506 0x600001581ea0 INFO               GST_EVENT gstevent.c:918:gst_event_new_caps: creating caps event audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1, channel-mask=(bitmask)0x0000000000000003
0:00:00.056277541 32506 0x600001581ea0 WARN          audio-channels audio-channels.c:415:gst_audio_channel_positions_from_mask: Only partially valid channel mask 0x0000000000000003 for 1 channels
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1, channel-mask=(bitmask)0x0000000000000003
0:00:00.056434250 32506 0x600001581ea0 INFO               GST_EVENT gstevent.c:918:gst_event_new_caps: creating caps event video/x-raw, width=(int)512, height=(int)512, framerate=(fraction)60/1, format=(string)ABGR
/GstPipeline:pipeline0/GstProjectM:projectm0.GstPad:src: caps = video/x-raw, width=(int)512, height=(int)512, framerate=(fraction)60/1, format=(string)ABGR
0:00:00.056561125 32506 0x600001581ea0 INFO           basetransform gstbasetransform.c:1326:gst_base_transform_setcaps:<capsfilter0> reuse caps
0:00:00.056565375 32506 0x600001581ea0 INFO               GST_EVENT gstevent.c:918:gst_event_new_caps: creating caps event video/x-raw, width=(int)512, height=(int)512, framerate=(fraction)60/1, format=(string)ABGR
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)512, height=(int)512, framerate=(fraction)60/1, format=(string)ABGR
0:00:00.056759000 32506 0x600001581ea0 INFO               GST_EVENT gstevent.c:918:gst_event_new_caps: creating caps event video/x-raw, width=(int)512, height=(int)512, framerate=(fraction)60/1, format=(string)UYVY
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, width=(int)512, height=(int)512, framerate=(fraction)60/1, format=(string)UYVY
0:00:00.059485916 32506 0x6000038823d0 INFO            osxvideosink osxvideosink.m:708:-[GstOSXVideoSinkObject resize]:<osxvideosink0> resizing
0:00:00.061946916 32506 0x6000038823d0 INFO            osxvideosink osxvideosink.m:716:-[GstOSXVideoSinkObject resize]:<osxvideosink0> done
/GstPipeline:pipeline0/GstOSXVideoSink:osxvideosink0.GstPad:sink: caps = video/x-raw, width=(int)512, height=(int)512, framerate=(fraction)60/1, format=(string)UYVY
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, width=(int)512, height=(int)512, framerate=(fraction)60/1, format=(string)ABGR
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)512, height=(int)512, framerate=(fraction)60/1, format=(string)ABGR
0:00:00.062087125 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:115:pad_query:<projectm0:src> pad peer query failed
0:00:00.062093000 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:115:pad_query:<projectm0:sink> pad peer query failed
0:00:00.062094958 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:177:_gst_context_query:<projectm0> posting need context message
0:00:00.062103208 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:115:pad_query:<projectm0:src> pad peer query failed
0:00:00.062105541 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:115:pad_query:<projectm0:sink> pad peer query failed
0:00:00.062107375 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:177:_gst_context_query:<projectm0> posting need context message
0:00:00.062192375 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:241:gst_gl_element_propagate_display_context:<projectm0> posting have context (0x600001294d20) message with display (0x600000d9c380)
0:00:00.062201625 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:115:pad_query:<projectm0:src> pad peer query failed
0:00:00.062203958 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:115:pad_query:<projectm0:sink> pad peer query failed
0:00:00.062205708 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:177:_gst_context_query:<projectm0> posting need context message
0:00:00.062209208 32506 0x600001581ea0 INFO             GST_CONTEXT gstglutils.c:115:pad_query:<projectm0:src> pad peer query failed
0:00:00.062219208 32506 0x600001581ea0 INFO               glcontext gstglcontext.c:34Got context from element 'projectm0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0";
9:gst_gl_context_new: creating a context for display <gldisplaycocoa0>, user choice:(null)
0:00:00.062272958 32506 0x600001581ea0 INFO                glwindow gstglwindow.c:295:gst_gl_window_new: creating a window, user choice:(null)
0:00:00.062303041 32506 0x600001598e10 INFO               glcontext gstglcontext.c:1322:gst_gl_context_create_thread:<glcontextcocoa0> Attempting to create opengl context. user chosen api(s) (any), compiled api support (opengl opengl3) display api (opengl3 gles2)
0:00:00.066721458 32506 0x600001598e10 INFO         glcontext_cocoa gstglcontext_cocoa.m:327:gst_gl_context_cocoa_create_context:<glcontextcocoa0> GL context created: 0x15b01da00
0:00:00.066737291 32506 0x600001598e10 INFO               glcontext gstglcontext.c:1333:gst_gl_context_create_thread:<glcontextcocoa0> created context
0:00:00.066740833 32506 0x600001598e10 INFO               glcontext gstglcontext.c:1349:gst_gl_context_create_thread:<glcontextcocoa0> available GL APIs: opengl3
0:00:00.067277208 32506 0x600001598e10 INFO               glcontext gstglcontext.c:1113:_create_context_info:<glcontextcocoa0> GL_VERSION: 4.1 Metal - 88
0:00:00.067283041 32506 0x600001598e10 INFO               glcontext gstglcontext.c:1116:_create_context_info:<glcontextcocoa0> GL_SHADING_LANGUAGE_VERSION: 4.10
0:00:00.067289583 32506 0x600001598e10 INFO               glcontext gstglcontext.c:1118:_create_context_info:<glcontextcocoa0> GL_VENDOR: Apple
0:00:00.067291416 32506 0x600001598e10 INFO               glcontext gstglcontext.c:1120:_create_context_info:<glcontextcocoa0> GL_RENDERER: Apple M1 Pro
0:00:00.071000416 32506 0x600001598e10 INFO               glcontext gstgldebug.c:339:_gst_gl_debug_enable:<glcontextcocoa0> No debugging support available
0:00:00.071022833 32506 0x600003883d80 INFO               glcontext gstglcontext.c:1172:_unlock_create_thread:<glcontextcocoa0> gl thread running
0:00:00.071033583 32506 0x600001581ea0 INFO               glcontext gstglcontext.c:1079:gst_gl_context_create:<glcontextcocoa0> gl thread created
0:00:00.071041250 32506 0x600001581ea0 INFO    glbaseaudiovisualizer gstglbaseaudiovisualizer.c:430:gst_gl_base_audio_visualizer_find_gl_context_unlocked:<projectm0> found OpenGL context <glcontextcocoa0>
0:00:00.071069375 32506 0x600003883d80 INFO    glbaseaudiovisualizer gstglbaseaudiovisualizer.c:234:gst_gl_base_audio_visualizer_gl_start:<projectm0> starting
0:00:00.075897250 32506 0x6000038823d0 INFO         glcaopengllayer gstglcaopengllayer.m:167:-[GstGLCAOpenGLLayer copyCGLContextForPixelFormat:]: attempting to create CGLContext for CAOpenGLLayer with share context 0x15b01da00
0:00:00.076307041 32506 0x6000038823d0 INFO               glcontext gstglcontext.c:1113:_create_context_info:<glwrappedcontext0> GL_VERSION: 4.1 Metal - 88
0:00:00.076311208 32506 0x6000038823d0 INFO               glcontext gstglcontext.c:1116:_create_context_info:<glwrappedcontext0> GL_SHADING_LANGUAGE_VERSION: 4.10
0:00:00.076313166 32506 0x6000038823d0 INFO               glcontext gstglcontext.c:1118:_create_context_info:<glwrappedcontext0> GL_VENDOR: Apple
0:00:00.076315000 32506 0x6000038823d0 INFO               glcontext gstglcontext.c:1120:_create_context_info:<glwrappedcontext0> GL_RENDERER: Apple M1 Pro
0:00:00.100753833 32506 0x600003883d80 INFO                projectm projectm.c:63:projectm_init:<projectm0> Using Properties: preset=test/presets/250-wavecode.milk.milk, texture-dir=(null), beat-sensitivity=1.000000, hard-cut-duration=3.000000, hard-cut-enabled=0, hard-cut-sensitivity=1.000000, soft-cut-duration=3.000000, preset-duration=0.000000, mesh-size=(48, 32)aspect-correction=1, easter-egg=0.000000, preset-locked=1, 

** (gst-launch-1.0:32506): ERROR **: 09:32:15.724: OpenGL Error: GL_INVALID_ENUM - Enumeration parameter is not legal

./test.sh: line 42: 32506 Trace/BPT trap: 5       GST_DEBUG=4 gst-launch-1.0 -v audiotestsrc ! queue ! audioconvert ! projectm preset="test/presets/250-wavecode.milk.milk" ! "video/x-raw,width=512,height=512,framerate=60/1" ! videoconvert ! $VIDEO_SINK sync=false
Blaquewithaq commented 1 month ago

Okay I'll review this and see if i can track it down

Blaquewithaq commented 1 month ago

Were there any other videosinks available to you on osx, aside from osxvideosink?

nzoschke commented 1 month ago
% gst-inspect-1.0 | grep sink                                                                                                                                        master
app:  appsink: AppSink
applemedia:  avsamplebufferlayersink: AV Sample video sink
autodetect:  autoaudiosink: Auto audio sink
autodetect:  autovideosink: Auto video sink
aws:  awss3hlssink: S3 HLS Sink
aws:  awss3putobjectsink: Amazon S3 PutObject sink
aws:  awss3sink: Amazon S3 sink
aws:  rusotos3sink: Amazon S3 sink
coreelements:  fakesink: Fake Sink
coreelements:  fdsink: Filedescriptor Sink
coreelements:  filesink: File Sink
curl:  curlfilesink: Curl file sink
curl:  curlftpsink: Curl ftp sink
curl:  curlhttpsink: Curl http sink
curl:  curlsmtpsink: Curl smtp sink
dash:  dashsink: DASH Sink
debug:  testsink: Test plugin
debugutilsbad:  checksumsink: Checksum sink
debugutilsbad:  fakeaudiosink: Fake Audio Sink
debugutilsbad:  fakevideosink: Fake Video Sink
debugutilsbad:  fpsdisplaysink: Measure and show framerate on videosink
debugutilsbad:  videocodectestsink: Video CODEC Test Sink
decklink:  decklinkaudiosink: Decklink Audio Sink
decklink:  decklinkvideosink: Decklink Video Sink
gdkpixbuf:  gdkpixbufsink: GdkPixbuf sink
gio:  giosink: GIO sink
gio:  giostreamsink: GIO stream sink
gtk:  gtksink: Gtk Video Sink
gtk4:  gtk4paintablesink: GTK 4 Paintable Sink
hls:  hlssink: HTTP Live Streaming sink
hls:  hlssink2: HTTP Live Streaming sink
hlssink3:  hlscmafsink: HTTP Live Streaming CMAF Sink
hlssink3:  hlssink3: HTTP Live Streaming sink
inter:  interaudiosink: Internal audio sink
inter:  intersubsink: Internal subtitle sink
inter:  intervideosink: Internal video sink
ipcpipeline:  ipcpipelinesink: Inter-process Pipeline Sink
multifile:  multifilesink: Multi-File Sink
multifile:  splitmuxsink: Split Muxing Bin
ndi:  ndisink: NewTek NDI Sink
ndi:  ndisinkcombiner: NewTek NDI Sink Combiner
opengl:  caopengllayersink: CAOpenGLLayer video sink
opengl:  glimagesink: GL Sink Bin
opengl:  glimagesinkelement: OpenGL video sink
opengl:  glsinkbin: GL Sink Bin
oss4:  oss4sink: OSS v4 Audio Sink
osxaudio:  osxaudiosink: Audio Sink (macOS)
osxvideo:  osxvideosink: macOS Video sink
playback:  playsink: Player Sink
proxy:  proxysink: Proxy Sink
rist:  ristsink: RIST Sink
rsfile:  rsfilesink: File Sink
rsinter:  intersink: Inter Sink
rswebrtc:  awskvswebrtcsink: AwsKvsWebRTCSink
rswebrtc:  janusvrwebrtcsink: JanusVRWebRTCSink
rswebrtc:  livekitwebrtcsink: LiveKitWebRTCSink
rswebrtc:  webrtcsink: WebRTCSink
rswebrtc:  whipclientsink: WhipWebRTCSink
rtmp:  rtmpsink: RTMP output sink
rtmp2:  rtmp2sink: RTMP sink element
rtpmanagerbad:  rtpsink: RTP Sink element
rtspclientsink:  rtspclientsink: RTSP RECORD client
shm:  shmsink: Shared Memory Sink
shout2:  shout2send: Icecast network sink
soup:  souphttpclientsink: HTTP client sink
srt:  srtclientsink: SRT sink
srt:  srtserversink: SRT sink
srt:  srtsink: SRT sink
tcp:  multifdsink: Multi filedescriptor sink
tcp:  multisocketsink: Multi socket sink
tcp:  tcpclientsink: TCP client sink
tcp:  tcpserversink: TCP server sink
threadshare:  ts-proxysink: Thread-sharing proxy sink
threadshare:  ts-udpsink: Thread-sharing UDP sink
udp:  dynudpsink: UDP packet sender
udp:  multiudpsink: UDP packet sender
udp:  udpsink: UDP packet sender
unixfd:  unixfdsink: Unix file descriptor sink
webrtchttp:  whipsink: WHIP Sink Bin
ximagesink:  ximagesink: Video sink
Blaquewithaq commented 1 month ago

Try all of these and lmk if any work:

My goal here is to narrow down my search field.

If any errors look new please share!

nzoschke commented 1 month ago

I'm thinking we should take out the video pipeline stuff, does this look right?

VIDEO_SINK="autovideosink"
GST_DEBUG=4 gst-launch-1.0 -v \
    audiotestsrc ! queue ! audioconvert ! \
    projectm preset="test/presets/250-wavecode.milk.milk" \
    ! $VIDEO_SINK sync=false

** (gst-launch-1.0:33346): ERROR **: 10:05:09.464: OpenGL Error: GL_INVALID_ENUM - Enumeration parameter is not legal
VIDEO_SINK="caopengllayersink"
GST_DEBUG=4 gst-launch-1.0 -v \
    audiotestsrc ! queue ! audioconvert ! \
    projectm preset="test/presets/250-wavecode.milk.milk" \
    ! $VIDEO_SINK sync=false

WARNING: erroneous pipeline: could not link projectm0 to caopengllayersink0
VIDEO_SINK="glimagesink"
GST_DEBUG=4 gst-launch-1.0 -v \
    audiotestsrc ! queue ! audioconvert ! \
    projectm preset="test/presets/250-wavecode.milk.milk" \
    ! $VIDEO_SINK sync=false

** (gst-launch-1.0:33370): ERROR **: 10:05:50.329: OpenGL Error: GL_INVALID_ENUM - Enumeration parameter is not legal
VIDEO_SINK="glimagesinkelement"
GST_DEBUG=4 gst-launch-1.0 -v \
    audiotestsrc ! queue ! audioconvert ! \
    projectm preset="test/presets/250-wavecode.milk.milk" \
    ! $VIDEO_SINK sync=false

WARNING: erroneous pipeline: could not link projectm0 to glimagesink0
VIDEO_SINK="glsinkbin"
GST_DEBUG=4 gst-launch-1.0 -v \
    audiotestsrc ! queue ! audioconvert ! \
    projectm preset="test/presets/250-wavecode.milk.milk" \
    ! $VIDEO_SINK sync=false

0:00:00.016633083 33419 0x600000df54f0 INFO              GST_STATES gstbin.c:2608:gst_bin_element_set_state:<audiotestsrc0> skipping transition from NULL to  NULL
0:00:00.016635166 33419 0x600000df54f0 INFO              GST_STATES gstbin.c:2942:gst_bin_change_state_func:<pipeline0> child 'audiotestsrc0' changed state to 1(NULL) successfully
0:00:00.016637333 33419 0x600000df54f0 INFO              GST_STATES gstelement.c:2825:gst_element_continue_state:<pipeline0> completed state change to NULL
Freeing pipeline ...
0:00:00.016646041 33419 0x600000df54f0 INFO        GST_ELEMENT_PADS gstpad.c:2147:gst_pad_unlink: unlinking projectm0:src(0x12000f9a0) and glsinkbin0:sink(0x120015e50)

The last one didn't error but it didn't display anything either.

Blaquewithaq commented 1 month ago

Thanks for testing those!

How would you remove it? Its what displays the gl context?

nzoschke commented 1 month ago
VIDEO_SINK="autovideosink"
GST_DEBUG=4 gst-launch-1.0 -v \
  audiotestsrc ! queue ! audioconvert ! \
  projectm preset="test/presets/250-wavecode.milk.milk" \
  ! "video/x-raw,width=512,height=512,framerate=60/1" ! videoconvert ! $VIDEO_SINK sync=false

** (gst-launch-1.0:33546): ERROR **: 10:15:36.846: OpenGL Error: GL_INVALID_ENUM - Enumeration parameter is not legal

zsh: trace trap  GST_DEBUG=4 gst-launch-1.0 -v audiotestsrc ! queue ! audioconvert ! projectm 
VIDEO_SINK="caopengllayersink"
GST_DEBUG=4 gst-launch-1.0 -v \
  audiotestsrc ! queue ! audioconvert ! \
  projectm preset="test/presets/250-wavecode.milk.milk" \
  ! "video/x-raw,width=512,height=512,framerate=60/1" ! videoconvert ! $VIDEO_SINK sync=false

0:00:00.016151875 33565 0x6000038d14f0 ERROR           GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:1150:gst_parse_perform_link: could not link videoconvert0 to caopengllayersink0

WARNING: erroneous pipeline: could not link videoconvert0 to caopengllayersink0
VIDEO_SINK="glimagesink"
GST_DEBUG=4 gst-launch-1.0 -v \
  audiotestsrc ! queue ! audioconvert ! \
  projectm preset="test/presets/250-wavecode.milk.milk" \
  ! "video/x-raw,width=512,height=512,framerate=60/1" ! videoconvert ! $VIDEO_SINK sync=false

** (gst-launch-1.0:33585): ERROR **: 10:16:37.152: OpenGL Error: GL_INVALID_ENUM - Enumeration parameter is not legal

zsh: trace trap  GST_DEBUG=4 gst-launch-1.0 -v audiotestsrc ! queue ! audioconvert ! projectm 
VIDEO_SINK="glimagesinkelement"
GST_DEBUG=4 gst-launch-1.0 -v \
  audiotestsrc ! queue ! audioconvert ! \
  projectm preset="test/presets/250-wavecode.milk.milk" \
  ! "video/x-raw,width=512,height=512,framerate=60/1" ! videoconvert ! $VIDEO_SINK sync=false

0:00:00.016014500 33605 0x6000016d82d0 ERROR           GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:1150:gst_parse_perform_link: could not link videoconvert0 to glimagesink0
WARNING: erroneous pipeline: could not link videoconvert0 to glimagesink0
VIDEO_SINK="glsinkbin"
GST_DEBUG=4 gst-launch-1.0 -v \
  audiotestsrc ! queue ! audioconvert ! \
  projectm preset="test/presets/250-wavecode.milk.milk" \
  ! "video/x-raw,width=512,height=512,framerate=60/1" ! videoconvert ! $VIDEO_SINK sync=false

0:00:00.018605125 33625 0x600001564af0 INFO         GST_REFCOUNTING gstelement.c:3484:gst_element_finalize:<pipeline0> 0x159110c30 finalize parent
0:00:00.018610584 33625 0x600001564af0 INFO                GST_INIT gst.c:1094:gst_deinit: deinitializing GStreamer
0:00:00.019257959 33625 0x600001564af0 INFO                GST_INIT gst.c:1238:gst_deinit: deinitialized GStreamer
Blaquewithaq commented 1 month ago

Oh my apologies, I misunderstood what you were talking about. I see now, the difference in commands.

I'll keep poking at it when I can but I'm not seeing a hint on where the issue is.

Without having my own osx device to dev on, I cant really do much else.

hack-s commented 1 month ago

Looks like the GL error GL_INVALID_ENUM is already present right after projectm_create() is called.

kblaschke commented 1 month ago

Debugging the hat plug-in, I can also see that the GL error pops up somewhere during projectM initialization. We don't check for error in most places (which is something we probably should do), so that can happen anywhere. Shaders and the basic textures as well as the vertex buffers look good though, as they all have proper IDs.

One way of checking would be placing glGetError() calls in strategic places in libprojectM and look where the error is set, then work back in the call hierarchy to find the call that is problematic. Might as well be a bug in projectM we missed.

revmischa commented 1 month ago

I added a number of glGetError() calls and I think the problem is possibly located in MilkdropNoise::GetPreferredInternalFormat

    GLint preferredInternalFormat{GL_BGRA};
    glGetInternalformativ(GL_TEXTURE_2D, GL_RGBA8, GL_TEXTURE_IMAGE_FORMAT, sizeof(preferredInternalFormat), &preferredInternalFormat);

According to https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGetInternalformat.xhtml it's only available from GL 4.2 on, and MacOS seems to have 4.1.

kblaschke commented 1 month ago

That's kinda weird, as I'd expect that the function isn't defined at all, and would rather cause a nullptr dereference when caled like this.

Since I'm not really sure this internal format selection really does anything to improve performance and the order of the noise channels isn't relevant at all, I'd just remove that code and use GL_BGRA with GL Core and GL_RGBA with GLES, as these are the "good defaults" for each API variant. If it's not the preferred format, the GL driver will take care of rearranging the data accordingly, which isn't a big deal is these textures are just created once per projectM instance.

kblaschke commented 1 month ago

I've removed the offending function in PR https://github.com/projectM-visualizer/projectm/pull/806 as it's bad to use GL 4.2 functions in a library that claims to only need GL 3.3.

kblaschke commented 1 month ago

After that fix (which was an unfortunate problem, but not the actual issue), it seems that the internal framebuffer creation in projectM fails, and the first frame rendered then fails with a GL_FRAMEBUFFER_UNDEFINED error.

That's a tough one, because the internal framebuffer classes look like everything is fine, e.g. each framebuffer has a unique positive ID assigned, which OpenGL returns on creation.

Searching a bit and speculating, it seems like there's some issue in the macOS OpenGL implementation that makes the framebuffer creation succeed, but the returned ID is still invalid and doesn't point to an existing framebuffer. From this StackOverflow post, this seems to happen if the framebuffer is created when no drawable surface is assigned to the context, e.g. no native window it can render to. The other possibility is that the OpenGL context creation function used by GStreamer might be NSOpenGLView, which is known to no longer work properly in macOS releases since around 10.9 (we're at 14.4 now).

So it might be worth a try to make sure that projectM is created only after the output window is present, as GStreamer probably creates the osxvideosink AKA the window after initializing projectM in the filter chain. That said, creating the projectM instance on the first actual draw call might work better. I won't have the time to test this before my vacation, but at least you have a starting point.

hack-s commented 1 month ago

I have made the change @kblaschke suggested to move the projectM initialization into the render method on a branch in my fork init-projectm-on-render in case somebody with a mac has time to check it out.

revmischa commented 1 month ago

I have made the change @kblaschke suggested to move the projectM initialization into the render method on a branch in my fork init-projectm-on-render in case somebody with a mac has time to check it out.

I tried init-projectm-on-render but got the same framebuffer issue

Process 56668 launched: '/opt/homebrew/bin/gst-launch-1.0' (arm64)
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'projectm0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0";

** (gst-launch-1.0:56668): ERROR **: 20:12:46.383: OpenGL Error: GL_INVALID_FRAMEBUFFER_OPERATION - Incomplete framebuffer operation

Process 56668 stopped
* thread #13, queue = 'org.freedesktop.gstreamer.glwindow', stop reason = EXC_BREAKPOINT (code=1, subcode=0x1007742f4)
    frame #0: 0x00000001007742f4 libglib-2.0.0.dylib`_g_log_abort + 40
libglib-2.0.0.dylib`:
->  0x1007742f4 <+40>: brk    #0x1

libglib-2.0.0.dylib`g_log_structured:
    0x1007742f8 <+0>:  stp    x28, x27, [sp, #-0x60]!
    0x1007742fc <+4>:  stp    x26, x25, [sp, #0x10]
    0x100774300 <+8>:  stp    x24, x23, [sp, #0x20]
Target 0: (gst-launch-1.0) stopped.
(lldb) bt
* thread #13, queue = 'org.freedesktop.gstreamer.glwindow', stop reason = EXC_BREAKPOINT (code=1, subcode=0x1007742f4)
  * frame #0: 0x00000001007742f4 libglib-2.0.0.dylib`_g_log_abort + 40
    frame #1: 0x0000000100774688 libglib-2.0.0.dylib`g_log_structured_array + 264
    frame #2: 0x0000000100774140 libglib-2.0.0.dylib`g_log_default_handler + 204
    frame #3: 0x0000000100773d2c libglib-2.0.0.dylib`g_logv + 828
    frame #4: 0x0000000100773980 libglib-2.0.0.dylib`g_log + 28
    frame #5: 0x0000000100892aa0 libgstprojectm.dylib`gl_error_handler(context=0x000000014e606570, data=0x000000014d02ca30) at debug.c:38:9
    frame #6: 0x0000000100893d44 libgstprojectm.dylib`gst_projectm_render(glav=0x000000014d02ca30, audio=0x000000014c60e4f0, video=0x00000001706ba6b0) at plugin.c:316:3
    frame #7: 0x00000001008965f0 libgstprojectm.dylib`gst_gl_base_audio_visualizer_gl_thread_render_callback(params=0x00000001706ba5f8) at gstglbaseaudiovisualizer.c:297:38
    frame #8: 0x000000010448a668 libgstgl-1.0.0.dylib`_run_message_sync(message=0x00000001706ba570) at gstglwindow.c:638:5 [opt]
    frame #9: 0x000000010448ee88 libgstgl-1.0.0.dylib`__gst_gl_window_cocoa_send_message_async_block_invoke(.block_descriptor=0x0000600000dbeda0) at gstglwindow_cocoa.m:514:7 [opt]
    frame #10: 0x0000000182320750 libdispatch.dylib`_dispatch_call_block_and_release + 32
    frame #11: 0x00000001823223e8 libdispatch.dylib`_dispatch_client_callout + 20
    frame #12: 0x0000000182329a14 libdispatch.dylib`_dispatch_lane_serial_drain + 748
    frame #13: 0x000000018232a544 libdispatch.dylib`_dispatch_lane_invoke + 380
    frame #14: 0x00000001823352d0 libdispatch.dylib`_dispatch_root_queue_drain_deferred_wlh + 288
    frame #15: 0x0000000182334b44 libdispatch.dylib`_dispatch_workloop_worker_thread + 404
    frame #16: 0x00000001824cf00c libsystem_pthread.dylib`_pthread_wqthread + 288
kblaschke commented 1 month ago

We could check whether GStreamer uses NSOpenGLView or the more modern API, and if this might be the issue. I'm currently on vacation and can't check up on this until mid-June, but if there isn't any progress then, I'll tune back in and see what I can find out.