1. 26 Mar, 2009 13 commits
  2. 25 Mar, 2009 5 commits
    • Max Kellermann's avatar
      player_thread: wait for decoder before seeking · 209c8a54
      Max Kellermann authored
      When the decoder initialization has not been completed yet, all calls
      to dc_seek() will fail, because dc.seekable is not initialized yet.
      Wait for the decoder to complete its initialization, i.e. until it has
      called decoder_initialized().
      209c8a54
    • Max Kellermann's avatar
      playlist_state: start playing after restore is complete · 1e9659bf
      Max Kellermann authored
      Don't start playback as soon as the "current" song is being loaded
      from the state file.  That is unclean, and leads to an obscure bug: in
      repeat mode, when the song is started (which is yet the last song in
      the list), the playlist code marked the very first song in the
      playlist as "next" song, because the end of the playlist was wrapped.
      
      It's easier to set up the playback after all songs have been loaded,
      and after the random/repeat mode has been set.
      1e9659bf
    • Max Kellermann's avatar
      output_all: synchronize playback with a notify object · 3be1cdf8
      Max Kellermann authored
      Use audio_output_client_notify instead of g_usleep(1ms) in
      audio_output_all_wait() to synchronize with the output_thread.  Signal
      the audio_output_client_notify object in ao_play().
      3be1cdf8
    • Max Kellermann's avatar
      output_all: moved code to audio_output_all_wait() · 933fcf42
      Max Kellermann authored
      Synchronization with the output thread will be implemented in
      output_all.c, not in player_thread.c.  Currently, that's just a simple
      g_usleep(1ms).
      933fcf42
    • Max Kellermann's avatar
      output: protect audio_output.open with the mutex · 4dbf73d8
      Max Kellermann authored
      There was a deadlock between the output thread and the player thread:
      when the output thread failed (and closed itself) while the player
      thread worked with the audio_output object, MPD could crash.
      4dbf73d8
  3. 21 Mar, 2009 1 commit
  4. 20 Mar, 2009 2 commits
  5. 17 Mar, 2009 7 commits
  6. 16 Mar, 2009 8 commits
  7. 15 Mar, 2009 4 commits