Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7737 in orxonox.OLD for trunk/src/lib/sound/ogg_player.cc


Ignore:
Timestamp:
May 19, 2006, 11:38:34 PM (18 years ago)
Author:
bensch
Message:

Using MultiLine-Text in the Shell. This is much faster, and Nicer :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/sound/ogg_player.cc

    r7729 r7737  
    4848    this->buffers[1] = 0;
    4949    this->musicThreadID = NULL;
    50     this->musicMutex = SDL_CreateMutex();
    5150
    5251    if (!fileName.empty())
     
    6463  {
    6564    this->release();
    66     SDL_DestroyMutex(this->musicMutex);
    6765  }
    6866
     
    7674  bool OggPlayer::open(const std::string& fileName)
    7775  {
    78     MutexLock(this->musicMutex);
     76    OrxThread::MutexLock musicLock(&this->musicMutex);
    7977    // release old Ogg-File (if loaded)
    8078    if (this->state & OggPlayer::FileOpened)
     
    208206    if (this->state & OggPlayer::FileOpened)
    209207    {
    210       SDL_mutexP(this->musicMutex);
     208      OrxThread::MutexLock musicLock(&this->musicMutex);
    211209      ov_time_seek(&this->oggStream, timeCode);
    212       SDL_mutexV(this->musicMutex);
    213210    }
    214211  }
     
    259256    while (ogg->state & OggPlayer::Playing)
    260257    {
    261       SDL_mutexP(ogg->musicMutex);
    262       ogg->update();
    263       SDL_mutexV(ogg->musicMutex);
     258      {
     259        OrxThread::MutexLock musicLock(&ogg->musicMutex);
     260        ogg->update();
     261      }
    264262      SDL_Delay(1);
    265263    }
     
    281279    this->state |= OggPlayer::Playing;
    282280
    283     SDL_mutexP(this->musicMutex);
     281    OrxThread::MutexLock musicLock(&this->musicMutex);
    284282    if(!this->stream(this->buffers[0]) || !this->stream(this->buffers[1]))
    285283    {
    286       SDL_mutexV(this->musicMutex);
    287284      this->state &= ~OggPlayer::Playing;
    288285      return false;
     
    296293    if (DEBUG_LEVEL >= 3)
    297294      SoundEngine::checkError("OggPlayer::playback()::alSourcePlay", __LINE__);
    298     SDL_mutexV(this->musicMutex);
    299295    return true;
    300296  }
     
    502498    switch(code)
    503499    {
    504     case OV_EREAD:
    505       return ("Read from media.");
    506     case OV_ENOTVORBIS:
    507       return ("Not Vorbis data.");
    508     case OV_EVERSION:
    509       return ("Vorbis version mismatch.");
    510     case OV_EBADHEADER:
    511       return ("Invalid Vorbis header.");
    512     case OV_EFAULT:
    513       return ("Internal logic fault (bug or heap/stack corruption.");
    514     default:
    515       return ("Unknown Ogg error.");
     500      case OV_EREAD:
     501        return ("Read from media.");
     502      case OV_ENOTVORBIS:
     503        return ("Not Vorbis data.");
     504      case OV_EVERSION:
     505        return ("Vorbis version mismatch.");
     506      case OV_EBADHEADER:
     507        return ("Invalid Vorbis header.");
     508      case OV_EFAULT:
     509        return ("Internal logic fault (bug or heap/stack corruption.");
     510      default:
     511        return ("Unknown Ogg error.");
    516512    }
    517513  }
Note: See TracChangeset for help on using the changeset viewer.