[haiku-bugs] [Haiku] #7351: BGameSoundDevice is broken on hybrid installs

  • From: "pulkomandy" <trac@xxxxxxxxxxxx>
  • Date: Tue, 08 Mar 2011 21:15:32 -0000

#7351: BGameSoundDevice is broken on hybrid installs
---------------------------+------------------------------
 Reporter:  pulkomandy     |        Owner:  jackburton
     Type:  bug            |       Status:  new
 Priority:  normal         |    Milestone:  R1
Component:  Kits/Game Kit  |      Version:  R1/Development
 Keywords:                 |   Blocked By:
 Blocking:                 |  Has a Patch:  0
 Platform:  All            |
---------------------------+------------------------------
 The BGameSoundDevice class is at te core of the sound part of the game
 kit. This class creates its own mixer and does not use the system one.
 According to a TODO in the code, this is bad practise.

 On a gcc2h system, a gcc4 compiled app will not work, because :
  * The app is linked with libgame, which itself links libmedia
  * This class tries to create a mixer, which loads the mixer add on

 As a consequence, the (gcc2) mixer add-on gets loaded in a gcc4 app. This
 does not work.

 {{{
 BMediaRoster::InstantiateDormantNode: addon-id 6, flavor_id 0, flags 0x0
 resolve symbol "__tf11BTimeSource" returned: -2147478780
 DormantNodeManager::LoadAddon: loading "/boot/system/add-
 ons/media/mixer.media_addon" failed: Symbol not found
 DormantNodeManager::GetAddon: can't load add-on 6 from path /boot/system
 /add-ons/media/mixer.media_addon
 BMediaRosterEx::InstantiateDormantNode: GetAddon failed
 }}}

 This makes the whole BGameSound stuff basically unuseable in hybrid
 systems. The fix is to remove this mixer from the class, or to make it use
 a gcc4 one when needed (like we do for translators addons).

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/7351>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: