]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
http/dccp: Do not send the audio file header twice.
authorAndre Noll <maan@systemlinux.org>
Thu, 12 Nov 2009 23:39:22 +0000 (00:39 +0100)
committerAndre Noll <maan@systemlinux.org>
Thu, 12 Nov 2009 23:39:22 +0000 (00:39 +0100)
If the http/dccp client connects before stream start and the stream
starts at the beginning of the audio file (the common case), we do not
need to send the audio file header as it is contained in chunk zero.

However, the current code fails to set sender_client->sent_header to
a non-zero value in this case. This causes the header to be sent twice.

The ogg vorbis decoder is quite forgiving in that respect, which is
probably why this bug went unnoticed for so long. This patch gets
it right.

send_common.c

index 200e59ab266e7f9c145e6aa7a3dc65ba25d83f52..8653c330e6b0eb24bacb239c3904062105ea3128 100644 (file)
@@ -159,8 +159,8 @@ void send_chunk(struct sender_client *sc, struct sender_status *ss,
                        if (ret < 0)
                                goto out;
                }
-               sc->header_sent = 1;
        }
+       sc->header_sent = 1;
        ret = send_queued_chunks(sc->fd, sc->cq, max_bytes_per_write);
        if (ret < 0) {
                shutdown_client(sc, ss);