Subject: bug#79070: [PATCH] Fix macOS dictation post NSTextInputClient migration in v30

From: Gerd Möllmann <[email-masked]>
Date: Mon, 21 Jul 2025 19:20:53 +0200

Alvaro Ramirez <[email-masked]> writes:

> It’s looking like Microphone permission may have been rejected at some point.
>
> Can you try resetting the permission with:
>
> tccutil reset Microphone org.gnu.Emacs

That says

/Users/gerd % tccutil reset Microphone org.gnu.Emacs
Successfully reset Microphone approval status for org.gnu.Emacs
Successfully reset Microphone approval status for org.gnu.Emacs
Successfully reset Microphone approval status for org.gnu.Emacs
Successfully reset Microphone approval status for org.gnu.Emacs
Successfully reset Microphone approval status for org.gnu.Emacs
Successfully reset Microphone approval status for org.gnu.Emacs
Successfully reset Microphone approval status for org.gnu.Emacs
Successfully reset Microphone approval status for org.gnu.Emacs
Successfully reset Microphone approval status for org.gnu.Emacs
 gerd@pro2 2025-07-21 19:14

> And then attempt to record using ffmpeg via eshell. Must be from Emacs
> process (not a separate terminal app).

~ $ ffmpeg -f avfoundation -i ":1" -t 10 audiocapture.mp3
ffmpeg version 7.1.1 Copyright (c) 2000-2025 the FFmpeg developers
  built with Apple clang version 17.0.0 (clang-1700.0.13.3)
  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1.1_3 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
2025-07-21 19:15:17.829 ffmpeg[43320:11581784] WARNING: Add NSCameraUseContinuityCameraDeviceType to your Info.plist to use AVCaptureDeviceTypeContinuityCamera.
2025-07-21 19:15:17.977 ffmpeg[43320:11581784] WARNING: AVCaptureDeviceTypeExternal is deprecated for Continuity Cameras. Please use AVCaptureDeviceTypeContinuityCamera and add NSCameraUseContinuityCameraDeviceType to your Info.plist.
abort trap: 6

So that's identical to before.

> It should display the Microphone permission dialog

Maybe it doesn't come that far because of the SIGABRT?