1. 15 Mar, 2009 4 commits
    • Max Kellermann's avatar
      httpd: new output plugin to replace "shout" · e62580db
      Max Kellermann authored
      Let's get rid of the "shout" plugin, and the awfully complicated
      icecast daemon setup!  MPD can do better if it's doing the HTTP server
      stuff on its own.  This new plugin has several advantages:
      
      - easier to set up - only one daemon, no password settings, no mount
        settings
      - MPD controls the encoder and thus already knows the packet
        boundaries - icecast has to parse them
      - MPD doesn't bother to encode data while nobody is listening
      
      This implementation is very experimental (no header parsing, ignores
      request URI, no icy-metadata, ...).  It should be able to suport
      several encoders in parallel in the future (with different bit rates,
      different codec, ...), to make MPD the perfect streaming server.  Once
      MPD gets multi-player support, we can even mount several different
      radio stations on one server.
      e62580db
    • Max Kellermann's avatar
      565afefc
    • Max Kellermann's avatar
      vorbis_encoder: make ogg_page a local variable · eb34bd2e
      Max Kellermann authored
      Converted the ogg_page attribute from the vorbis_encoder struct to a
      local function of vorbis_encoder_read().  This simplifies some code,
      because we don't need to check the page anymore before using it.
      eb34bd2e
    • Max Kellermann's avatar
      vorbis_encoder: fill the ogg_page in the read() method · 65cc280e
      Max Kellermann authored
      Add the "flush" flag, and defer the ogg_stream_flush() call.  Call
      ogg_stream_pageout() or ogg_stream_flush() (depending on the "flush"
      flag) in vorbis_encoder_read().  This prevents the ogg_page from
      getting overwritten by consecutive ogg_stream_pageout() calls.
      65cc280e
  2. 14 Mar, 2009 32 commits
  3. 13 Mar, 2009 1 commit
    • Avuton Olrich's avatar
      all: Update copyright header. · 0aee49bd
      Avuton Olrich authored
      This updates the copyright header to all be the same, which is
      pretty much an update of where to mail request for a copy of the GPL
      and the years of the MPD project. This also puts all committers under
      'The Music Player Project' umbrella. These entries should go
      individually in the AUTHORS file, for consistancy.
      0aee49bd
  4. 12 Mar, 2009 3 commits
    • Jeffrey Middleton's avatar
      crossfade: added missing '&' · 6e727552
      Jeffrey Middleton authored
      6e727552
    • Max Kellermann's avatar
      crossfade: copy chunk.audio_format in !NDEBUG · 6352e759
      Max Kellermann authored
      When the destination chunk was empty in cross_fade_apply(), it had no
      audio_format attached (an attribute which is only used for assertion
      in the debug build).  cross_fade_apply() should assign it the
      audio_format of the second chunk (if available), otherwise MPD will
      crash.
      6352e759
    • Max Kellermann's avatar
      output_all: fix off-by-one error in audio_output_all_check() · e3b9b57e
      Max Kellermann authored
      When there are chunks which are not yet finished,
      audio_output_all_check() returned the size of its music pipe minus
      one.  I can't remember exactly why I subtracted 1 from the return
      value, it must have had something to do with a former meaning of this
      function.  Now it induces assertion failures.
      e3b9b57e