1. 19 Jul, 2011 2 commits
    • Glenn Kasten's avatar
      Bug 5044578 part 2 · 157ad9aa
      Glenn Kasten authored
      That last fix introduced a regression; one assert no longer true
      found during more testing.
      
      Change-Id: I4c3f8d6f7158fc364473606d1c8f78fe81fbb7e5
      157ad9aa
    • Glenn Kasten's avatar
      Bug 5044578 Fix race in engine destroy on uni · d527933b
      Glenn Kasten authored
      On uniprocessor, the main thread reached Engine::Destroy before the
      worker threads had even started, so they did not see the shutdown.
      
      On SMP, the worker threads were started (and blocked), so it was OK.
      
      This new code also has the advantage of shutting down quicker
      if there are pending callback requests in the queue.
      
      Change-Id: Iff8cca042ebffe48ce7cc5d798e7b3b9911fb64b
      d527933b
  2. 12 Jul, 2011 1 commit
    • Jean-Michel Trivi's avatar
      Async callback queue updates, applied to XAStreamInformationItf · 85133c81
      Jean-Michel Trivi authored
      Updated the asynchronous callback queue system to support 'piipp'
       callback signatures.
      
      Applied this update to make the StreamInformation property change
       event notification asynchronous.
      
      Made the XA_PLAYEVENT_HEADATEND also use the callback queue.
      
      Change-Id: I6fd8dee5eefa1d09006661f69de302a8b7fff0f5
      85133c81
  3. 11 Jul, 2011 1 commit
  4. 12 Jan, 2011 1 commit
  5. 26 Aug, 2010 1 commit
    • Glenn Kasten's avatar
      Fix bugs in BufferQueue automated test and related · 4597a742
      Glenn Kasten authored
      Fix test bugs:
      Clean up the player, mixer, and the engine (must be done in that order).
      Re-enable 2 more tests; all 9 tests pass now.
      
      Fix engine bugs:
      IObject now has a de-init hook, which cleans up condition variable and mutex.
      Run the de-initializers in reverse order so that IObject de-init hook is run last.
      Replace the dedicated mEngine.mShutdownCond by the shared IObject condition variable.
      Forgot to iniitalize mShtudownAck.
      Unlocking the object mutex during CEngine_Destroy was bogus.
      
      Miscellaneous logging and debugging improvements:
      Track the source code location of the most recent mutex unlock.
      Add more trace log options for detailed leave reasons.
      Improve performance of trace log when disabled.
      Turn on assert checking.
      Check return value of pthread_cond_destroy and pthread_mutex_destroy.
      Add comment.
      Line length 100.
      
      Change-Id: I23b7b495d439894b2fd31295a38cb73ef7b6be2e
      4597a742
  6. 22 Jul, 2010 1 commit
  7. 16 Jun, 2010 1 commit
    • Glenn Kasten's avatar
      More work on asynchronous operations. · 510f3671
      Glenn Kasten authored
      Improve interface handling.
      Interface state is kept using array of 4-bit fields instead of
        separate bit-masks; this is simpler and uses less memory.
      Better error handling in EffectSend.
      Keep track of interfaces that have been gotten.
      Asynchronous AddInterface and ResumeInterface.
      Closures are now allocated dynamically.
      Add resume hook.
      Fix 2 bugs introduced during last effort.
      Line length 100.
      Continue asynchronous DynamicInterfaceManagement.
      Implement asynchronous Object::Resume.
      AbortAsyncOperation for Realize and Resume phase 1.
      Implement asynchronous abort during phase 1.
      ThreadPool bug fixes.
      When destroying ThreadPool, free memory used by pending closures.
      Don't enqueue additional closures while ThreadPool is shutting down.
      Update comments and assertions.
      Use 8-bits per interface state instead of 4-bits.
      List official object states explicitly.
      Add comments.
      510f3671
  8. 11 Jun, 2010 2 commits
    • Glenn Kasten's avatar
      Add note about bug in IMuteSolo channel count. · d2a7f0d6
      Glenn Kasten authored
      Change-Id: Iccb78019bbbffaa98eaa8877258d88a77c979e48
      
      Remove spurious NDEBUG, init in same order as .h.
      
      Change-Id: Ia30b30ce4dbc8f074632c275583b7ef6069141dc
      
      Implement asynchronous Object.Realize
      
      Added ThreadPool mechanism for asynchronous operations.
      Fixed off-by-one bug in BufferQueue that didn't use the last buffer.
      Added engine hooks for Realize and Destroy.
      Realize hook and callback are now called with mutex unlocked.
      Added new Object states realizing 1 and realizing 2, mapped to unrealized.
      Asynchronous realize on an engine is forced to be synchronous.
      Engine initialization now done at Realize, not during CreateEngine.
      
      Change-Id: I9c11461dbeab97aec04f8266f268cfd16086b5a7
      
      Port to Android.
      
      Change-Id: I0fff9f32e4d374230ab940e00fe6b8429b143ed3
      
      Shutdown the sync thread when engine is destroyed.
      
      Change-Id: I197267e5eaa4a49cacb34bc6e6f9c6fa92b381b5
      
      Mutex unlocked during the initialization phase of DynamicInterfaceManagement.AddInterface.
      
      Change-Id: I16000a2c4f1f9e93075f08ac2eaad6a8f12ba9da
      
      Dynamic interface removal is done with mutex unlocked.
      
      Change-Id: I5317d859dee680ca1c96e803388f2475f7795099
      
      Normalize SLboolean input parameters.
      
      Store non-zero boolean value as SL_BOOLEAN_TRUE rather than original value.
      Line length 100.
      
      Change-Id: I867ae8dd328b1427be98dfd148e32fcba38ce409
      
      More input parameter checks.
      
      Line length 100.
      Fix a few build warnings.
      
      Change-Id: I78fb1415fed649e05a370cf60e015a7fe13ffe8c
      
      Address code review comments.
      
      Change-Id: Ic7f2c70ded42f3d0e5e92f173cf80e084e54fc89
      d2a7f0d6
    • Glenn Kasten's avatar
      Add note about bug in IMuteSolo channel count. · fb1a3b36
      Glenn Kasten authored
      Change-Id: Iccb78019bbbffaa98eaa8877258d88a77c979e48
      
      Remove spurious NDEBUG, init in same order as .h.
      
      Change-Id: Ia30b30ce4dbc8f074632c275583b7ef6069141dc
      
      Implement asynchronous Object.Realize
      
      Added ThreadPool mechanism for asynchronous operations.
      Fixed off-by-one bug in BufferQueue that didn't use the last buffer.
      Added engine hooks for Realize and Destroy.
      Realize hook and callback are now called with mutex unlocked.
      Added new Object states realizing 1 and realizing 2, mapped to unrealized.
      Asynchronous realize on an engine is forced to be synchronous.
      Engine initialization now done at Realize, not during CreateEngine.
      
      Change-Id: I9c11461dbeab97aec04f8266f268cfd16086b5a7
      
      Port to Android.
      
      Change-Id: I0fff9f32e4d374230ab940e00fe6b8429b143ed3
      
      Shutdown the sync thread when engine is destroyed.
      
      Change-Id: I197267e5eaa4a49cacb34bc6e6f9c6fa92b381b5
      
      Mutex unlocked during the initialization phase of DynamicInterfaceManagement.AddInterface.
      
      Change-Id: I16000a2c4f1f9e93075f08ac2eaad6a8f12ba9da
      
      Dynamic interface removal is done with mutex unlocked.
      
      Change-Id: I5317d859dee680ca1c96e803388f2475f7795099
      
      Normalize SLboolean input parameters.
      
      Store non-zero boolean value as SL_BOOLEAN_TRUE rather than original value.
      Line length 100.
      
      Change-Id: I867ae8dd328b1427be98dfd148e32fcba38ce409
      
      More input parameter checks.
      
      Line length 100.
      Fix a few build warnings.
      
      Change-Id: I78fb1415fed649e05a370cf60e015a7fe13ffe8c
      
      Address code review comments.
      
      Change-Id: Ic7f2c70ded42f3d0e5e92f173cf80e084e54fc89
      fb1a3b36