[prev in list] [next in list] [prev in thread] [next in thread]
List: theora
Subject: Re: [theora] [theora-dev] Theora 1.0 final release!
From: "ogg.k.ogg.k () googlemail ! com" <ogg ! k ! ogg ! k () googlemail ! com>
Date: 2008-11-12 11:07:14
Message-ID: ccbc6dd90811120307n123d2c6dv7a90c18ec652c7eb () mail ! gmail ! com
[Download RAW message or body]
Fixed, attached.
I'm not sure this fix is optimal though: if there's no sync point,
it sends everything. That's the reason the stream was blocking
on skeleton.
Tested with libshout's example.c and XMMS.
["icecast-skeleton.diff" (text/x-patch)]
diff -ru /mnt/dvd/svn/xiph/icecast/src/format.c ./src/format.c
--- /mnt/dvd/svn/xiph/icecast/src/format.c 2008-09-12 11:55:46.000000000 +0100
+++ ./src/format.c 2008-11-11 18:46:33.000000000 +0000
@@ -98,6 +98,7 @@
static void find_client_start (source_t *source, client_t *client)
{
refbuf_t *refbuf = source->burst_point;
+ refbuf_t *refbuf_start;
/* we only want to attempt a burst at connection time, not midstream
* however streams like theora may not have the most recent page marked as
@@ -116,6 +117,7 @@
}
}
+ refbuf_start = refbuf;
while (refbuf)
{
if (refbuf->sync_point)
@@ -128,6 +130,15 @@
}
refbuf = refbuf->next;
}
+
+ if (!refbuf)
+ {
+ DEBUG0("good sync point not found, starting anywhere anyway");
+ client_set_queue (client, refbuf_start);
+ client->check_buffer = format_advance_queue;
+ client->write_to_client = source->format->write_buf_to_client;
+ client->intro_offset = -1;
+ }
}
_______________________________________________
theora mailing list
theora@xiph.org
http://lists.xiph.org/mailman/listinfo/theora
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic