1. 01 Dec, 2008 1 commit
  2. 03 Nov, 2008 1 commit
  3. 01 Nov, 2008 1 commit
  4. 29 Oct, 2008 2 commits
  5. 26 Oct, 2008 2 commits
  6. 14 Oct, 2008 2 commits
  7. 12 Oct, 2008 2 commits
  8. 11 Oct, 2008 2 commits
  9. 10 Oct, 2008 3 commits
  10. 29 Sep, 2008 2 commits
    • 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
    • Eric Wong's avatar
      Switch to C99 types (retaining compat with old compilers) · 0352766d
      Eric Wong authored
      Seeing the "mpd_" prefix _everywhere_ is mind-numbing as the
      mind needs to retrain itself to skip over the first 4 tokens of
      a type to get to its meaning.  So avoid having extra characters
      on my terminal to make it easier to follow code at 2:30 am in
      the morning.
      
      Please report any new issues you may come across on Free
      toolchains.  I realize how difficult it can be to build/maintain
      cross-compiling toolchains and I have no intention of forcing
      people to upgrade their toolchains to build mpd.
      
      Tested with gcc 2.95.4 and and gcc 4.3.1 on x86-32.
      0352766d
  11. 24 Sep, 2008 3 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: 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
  12. 23 Sep, 2008 2 commits
    • Max Kellermann's avatar
      audio_format: added audio_format_sample_size() · 128d8c7c
      Max Kellermann authored
      The inline function audio_format_sample_size() calculates how many
      bytes each sample consumes.  This function already takes into account
      that 24 bit samples are 4 bytes long, not 3.
      128d8c7c
    • Eric Wong's avatar
      alsa: re-enable-nonblocking, but sleep if busy · e4f5d6bd
      Eric Wong authored
      Instead of letting ALSA block for us (and potentially allowing
      something stupid on certain hardware or drivers), we do the
      sleeping ourselves.  We calculate the sleep to be a fraction of
      period_time to avoid oversleeping (and thus audible skipping).
      e4f5d6bd
  13. 09 Sep, 2008 1 commit
    • Eric Wong's avatar
      alsa: use blocking instead of non-blocking write · 5c81b716
      Eric Wong authored
      The way we used non-blocking mode was HORRIBLE.
      
      It was non-blocking to ALSA, but we end up blocking in a busy
      loop that does absolutely NOTHING but retry.  We don't check
      for playback cancellation (like we do in decoders) or anything.
      
      This is seriously broken and I can imagine it affects people on
      fast CPUs more because we do asynchronous output buffering and
      our ALSA device will always have data ready.
      5c81b716
  14. 08 Sep, 2008 8 commits
  15. 07 Sep, 2008 3 commits
  16. 12 Apr, 2008 2 commits
  17. 26 Mar, 2008 1 commit
    • Max Kellermann's avatar
      explicitly downcast · 66fe5806
      Max Kellermann authored
      Tools like "sparse" check for missing downcasts, since implicit cast
      may be dangerous.  Although that does not change the compiler result,
      it may make the code more readable (IMHO), because you always see when
      there may be data cut off.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@7196 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      66fe5806
  18. 03 Jan, 2008 1 commit
    • Eric Wong's avatar
      Cleanup #includes of standard system headers and put them in one place · cb8f1af3
      Eric Wong authored
      This will make refactoring features easier, especially now that
      pthreads support and larger refactorings are on the horizon.
      
      Hopefully, this will make porting to other platforms (even
      non-UNIX-like ones for masochists) easier, too.
      
      os_compat.h will house all the #includes for system headers
      considered to be the "core" of MPD.  Headers for optional
      features will be left to individual source files.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@7130 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      cb8f1af3
  19. 16 Dec, 2007 1 commit