Ticket #100 (closed task: fixed)

Opened 6 years ago

Last modified 16 months ago

Clean up ogghack

Reported by: jan Owned by: wacko
Priority: Nice to Have Milestone: Alpha 2
Component: Game engine Keywords: simple
Cc:

Description

We are currently using really hacky code in sound/ogghack.cpp to decode OGG for sending it to OpenAL.

Background: all of our sounds are in .ogg format. At one point it was promised by Creative that their Windows implementation would support an extension that allows passing in OGG data directly to OpenAL. This would be very convenient for us and also quite efficient. Unfortunately Creative dropped the ball - they never got it working and now officially say "do it yourself".

Since ogghack.cpp was implemented during the time when they promised the extension would be available soon, it is a very basic implementation, wasteful of memory, and doesn't check for errors. This should be cleaned up and made permanent.

No serious changes should be required; we can still use the OGG Vorbis library as currently.

Change History

comment:1 Changed 2 years ago by jan

  • Keywords simple added

comment:2 Changed 2 years ago by brpreetham

  • Owner set to brpreetham
  • Status changed from new to assigned

comment:3 Changed 2 years ago by jan

Thanks for taking this on! Please feel free to write jan@… if you need any help/advice.

comment:4 Changed 16 months ago by anonymous

  • Milestone Advanced Playability Demo deleted

Milestone Advanced Playability Demo deleted

comment:5 Changed 16 months ago by wacko

  • Owner changed from brpreetham to wacko
  • Status changed from assigned to new
  • Milestone set to Backlog

comment:6 Changed 16 months ago by jan

  • Status changed from new to closed
  • Resolution set to fixed

(In [8322]) # add support for streaming sounds, not just loading them entirely into memory (avoids stalls when switching music tracks) very belated revision/integration of Heron/Kyniker?'s patch (thanks!)

ogg fixes: ensure file remains open by holding a shared_ptr. avoid returning 0 (success) when bytesRead==requestedSize.

closes #100

comment:7 Changed 16 months ago by feneur

  • Milestone changed from Backlog to OS Alpha 2
Note: See TracTickets for help on using tickets.