ReplaySorcery icon indicating copy to clipboard operation
ReplaySorcery copied to clipboard

error: ‘AV_CH_LAYOUT_MONO’ undeclared

Open Jourdelune opened this issue 3 years ago • 5 comments

Describe the bug Can't compile

Desktop:

  • Distro: Ubuntu 20.4
  • Desktop Environment: [Kde
  • Window Manager: [No
  • CPU: 4 × Intel® Core™ i5-7500T CPU @ 2.70GHz
  • GPU: Intel HD graphics 630 Operating System: Ubuntu 20.04

Logs:

make : on entre dans le répertoire « /home/jourdelune/ReplaySorcery/bin »
make[1] : on entre dans le répertoire « /home/jourdelune/ReplaySorcery/bin »
make[2] : on entre dans le répertoire « /home/jourdelune/ReplaySorcery/bin »
make[2] : on quitte le répertoire « /home/jourdelune/ReplaySorcery/bin »
[ 18%] Built target backtrace
make[2] : on entre dans le répertoire « /home/jourdelune/ReplaySorcery/bin »
make[2] : on quitte le répertoire « /home/jourdelune/ReplaySorcery/bin »
make[2] : on entre dans le répertoire « /home/jourdelune/ReplaySorcery/bin »
[ 20%] Building C object CMakeFiles/replay-sorcery.dir/src/audio/pulsedev.c.o
/home/jourdelune/ReplaySorcery/src/audio/pulsedev.c: In function ‘rsPulseDeviceCreate’:
/home/jourdelune/ReplaySorcery/src/audio/pulsedev.c:315:37: error: ‘AV_CH_LAYOUT_MONO’ undeclared (first use in this function)
  315 |    device->params->channel_layout = AV_CH_LAYOUT_MONO;
      |                                     ^~~~~~~~~~~~~~~~~
/home/jourdelune/ReplaySorcery/src/audio/pulsedev.c:315:37: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [CMakeFiles/replay-sorcery.dir/build.make:245 : CMakeFiles/replay-sorcery.dir/src/audio/pulsedev.c.o] Erreur 1
make[2] : on quitte le répertoire « /home/jourdelune/ReplaySorcery/bin »
make[1]: *** [CMakeFiles/Makefile2:133 : CMakeFiles/replay-sorcery.dir/all] Erreur 2
make[1] : on quitte le répertoire « /home/jourdelune/ReplaySorcery/bin »
make: *** [Makefile:130 : all] Erreur 2
make : on quitte le répertoire « /home/jourdelune/ReplaySorcery/bin »

Jourdelune avatar Nov 16 '21 19:11 Jourdelune

It's incompatible with pipewire-pulse

TheK0tYaRa avatar Mar 08 '22 14:03 TheK0tYaRa

uh okay, thanks for you answer :p

Jourdelune avatar Mar 08 '22 21:03 Jourdelune

How do I get around this error? I have pulseaudio as my primary server, pipewire is installed only as a dependency

guglovich avatar Mar 12 '22 16:03 guglovich

This doesn't sound like an issue with Pipewire. This is a definition from FFmpeg so I don't know why its not declared in this case

matanui159 avatar Mar 15 '22 00:03 matanui159

Looks like channel_layout.h is no longer included by avcodec.h (https://github.com/FFmpeg/FFmpeg/commit/1be3d8a0cb77f8d34c1f39b47bf5328fe10c82d7) :pensive:

A temporary fix would be to add #include <libavutil/channel_layout.h> to pulsedev.c

matanui159 avatar Mar 15 '22 00:03 matanui159