On 01/07/13 16:13, Timur Aydin wrote:
> Hello Max, I have entered a bug report into mantis. I will work on this
> and provide a patch for review.
> 

Max, it looks like the spot where the audio format is available is in
the player_check_decoder_startup function in player_thread.c. The patch
below causes an additional "changed: player" notification:

@@ -376,6 +376,8 @@ player_check_decoder_startup(struct player *player)
                player->play_audio_format = dc->out_audio_format;
                player->decoder_starting = false;

+                idle_add(IDLE_PLAYER);
+
                if (!player->paused && !player_open_output(player)) {
                        char *uri = song_get_uri(dc->song);
                        g_warning("problems opening audio device "

This, of course, results in two consecutive "changed: player"
notifications. The first signals that play has been initiated, and the
second signals that decoding is now being done and that metadata
information is available.

Actually, both of these statuses are valid and valuable. The first can
be interpreted and displayed as a "buffering..." and the second can be
displayed as "playing". So it seems it would be better if we add a new
player state called "buffering". This way, a client can
deterministically know what MPD is doing and display its status
accordingly. Let me know what you think about this...

-- 
Timur

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to