1. 18 Jan, 2009 4 commits
  2. 17 Jan, 2009 1 commit
  3. 02 Jan, 2009 2 commits
  4. 01 Jan, 2009 1 commit
  5. 29 Dec, 2008 1 commit
  6. 01 Nov, 2008 1 commit
  7. 29 Oct, 2008 1 commit
  8. 26 Oct, 2008 2 commits
  9. 24 Oct, 2008 9 commits
  10. 10 Oct, 2008 1 commit
  11. 08 Oct, 2008 1 commit
  12. 29 Sep, 2008 1 commit
    • Max Kellermann's avatar
      use C99 struct initializers · de7cda1d
      Max Kellermann authored
      The old struct initializers are error prone and don't allow moving
      elements around.  Since we are going to overhaul some of the APIs
      soon, it's easier to have all implementations use C99 initializers.
      de7cda1d
  13. 24 Sep, 2008 4 commits
    • Max Kellermann's avatar
      output: make "struct audio_output" opaque for output plugins · acc4a0ba
      Max Kellermann authored
      We have eliminated direct accesses to the audio_output struct from
      the all output plugins.  Make it opaque for them, and move its real
      declaration to output_internal.h, similar to decoder_internal.h.
      
      Pass the opaque structure to plugin.init() only, which will return the
      plugin's data pointer on success, and NULL on failure.  This data
      pointer will be passed to all other methods instead of the
      audio_output struct.
      acc4a0ba
    • Max Kellermann's avatar
      output: added audio_output_closed() · 63fb1efb
      Max Kellermann authored
      The JACK output plugin needs to reset its "opened" flag when the JACK
      server fails.  To prevent it from accessing the audio_output struct
      directly introduce the API function audio_output_closed().
      63fb1efb
    • Max Kellermann's avatar
      output: set audio_output->open=1 in audio_output_task() · 2403d32a
      Max Kellermann authored
      Since the output plugin returns a value indicating success or error,
      we can have the output core code assign the "open" flag.
      2403d32a
    • Max Kellermann's avatar
      output: pass audio_format to plugin.init() and plugin.open() · 3cae6856
      Max Kellermann authored
      Pass the globally configured audio_format as a const pointer to
      plugin.init().  plugin.open() gets a writable pointer which contains
      the audio_format requested by the plugin.  Its initial value is either
      the configured audio_format or the input file's audio_format.
      3cae6856
  14. 08 Sep, 2008 1 commit
  15. 07 Sep, 2008 4 commits
  16. 26 Aug, 2008 6 commits
    • Max Kellermann's avatar
      made "sample_size" static const · 8a510948
      Max Kellermann authored
      sample_size is a variable which is computed at compile time.  Declare
      it "static const", so the compiler can optimize it away.
      8a510948
    • Max Kellermann's avatar
      moved jack configuration to the JackData struct · e056ff2b
      Max Kellermann authored
      Storing local configuration in global (static) variables is obviously
      a bad idea.  Move all those variables into the JackData struct,
      including the locks.
      e056ff2b
    • Max Kellermann's avatar
      jack: removed unused macros · 479d02da
      Max Kellermann authored
      479d02da
    • Max Kellermann's avatar
      jack: don't set audioOutput->data=NULL · edd7e2f9
      Max Kellermann authored
      There is only one caller of freeJackData() left: jack_finishDriver().
      This function is called by the mpd core, and is called exactly once
      for every successful jack_initDriver().  We do not need to clear
      audioOutput->data, since this variable is invalidated anyway.
      edd7e2f9
    • Max Kellermann's avatar
      jack: initialize JackData in jack_initDriver() · 806a9f02
      Max Kellermann authored
      Over the lifetime of the jack AudioOutput object, we want a single
      valid JackData object, so we can persistently store data there
      (configuration etc.).  Allocate JackData in jack_initDriver().  After
      that, we can safely remove all audioOutput->data==NULL checks (and
      replace them with assertions).
      806a9f02
    • Max Kellermann's avatar
      jack: added freeJackClient() · 83215bf9
      Max Kellermann authored
      No need to destroy the JackData object when an error occurs, since
      jack_finishDriver() already frees it.  Only deinitialize the jack
      library, introduce freeJackClient() for that, and move code from
      freeJackData().
      83215bf9