Ticket #13298 (closed Bugs: Fixed)

Opened 2 years ago

Last modified 2 years ago

Curent tree does not compile with --enable-pulse

Reported by: EricV Owned by:
Priority: 4 - Normal Milestone: 12.0 "Frodo"
Component: Linux specific features Version: GIT
Severity: Normal Keywords:
Cc: Blocked By:
Blocking: Platform: All


Some definition for functions are not present and thus object cannot be created.

CPP xbmc/cores/AudioEngine/Engines/PulseAE/PulseAE.o Engines/PulseAE/PulseAE.cpp:164:6: error: ‘CPulse’ has not been declared Engines/PulseAE/PulseAE.cpp: In member function ‘virtual IAEStream* CPulseAE::MakeStream(AEDataFormat, unsigned int, unsigned int, CAEChannelInfo, unsigned int)’: Engines/PulseAE/PulseAE.cpp:191:112: error: cannot allocate an object of abstract type ‘CPulseAEStream’ In file included from Engines/PulseAE/PulseAE.h:27:0, from Engines/PulseAE/PulseAE.cpp:25: Engines/PulseAE/PulseAEStream.h:29:7: note: because the following virtual functions are pure within ‘CPulseAEStream’: In file included from Engines/PulseAE/PulseAEStream.h:25:0, from Engines/PulseAE/PulseAE.h:27, from Engines/PulseAE/PulseAE.cpp:25: ./Interfaces/AEStream.h:111:16: note: virtual bool IAEStream::IsDrained() In file included from /home/valette/local/src/xbmc/xbmc/settings/Settings.h:51:0, from Engines/PulseAE/PulseAE.cpp:30: /home/valette/local/src/xbmc/xbmc/guilib/GraphicContext.h: At global scope: /home/valette/local/src/xbmc/xbmc/guilib/GraphicContext.h:245:150: warning: ‘g_graphicsContext’ defined but not used [-Wunused-variable] make[1]: * [Engines/PulseAE/PulseAE.o] Erreur 1 make: * [xbmc/cores/AudioEngine/audioengine.a] Erreur 2


xbmc-pulseae-typo.patch Download (428 bytes) - added by mihailim 2 years ago.
Patch for typo in PulseAE.cpp
xbmc-pulseaestream-drainimpl.patch Download (1.1 KB) - added by mihailim 2 years ago.
Naive implementation of CPulseAEStream::IsDrained() [may not work]

Change History

Changed 2 years ago by mihailim

Patch for typo in PulseAE.cpp

Changed 2 years ago by mihailim

Naive implementation of CPulseAEStream::IsDrained() [may not work]

comment:1 Changed 2 years ago by mihailim

There are two issues at play here.

The first is a straight typo in PulseAE.cpp. Trivial fix, see xbmc-pulseae-typo.patch .

The second is a missing implementation for the pure virtual function CPulseAEStream::IsDrained() . The above patch, xbmc-pulseaestream-drainimpl.patch , gets the code to compile, but unfortunately I don't have any sound from video playback, although interface / UI sounds work just fine through Pulseaudio. Might need more work... :)

As usual, if it's an issue, I hereby license the above patches under whatever license the original files fall into (don't care about attribution for such trivial stuff).

comment:2 Changed 2 years ago by vdrfan

  • Status changed from new to closed
  • Resolution set to Fixed
  • Milestone changed from Future / Pending to 12.0
Note: See TracTickets for help on using tickets.