mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2025-02-02 15:07:36 -05:00
memory leak when handling ogg flac, and make sure that moving listeners
to theora streams triggers a search for a keyframe. svn path=/icecast/trunk/icecast/; revision=11004
This commit is contained in:
parent
091892c8c6
commit
043bff364c
@ -93,8 +93,11 @@ static void find_client_start (source_t *source, client_t *client)
|
||||
{
|
||||
refbuf_t *refbuf = source->burst_point;
|
||||
|
||||
/* we only want to attempt a burst at connection time, not midstream */
|
||||
if (client->intro_offset == -1)
|
||||
/* 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
|
||||
* a starting point, so look for one from the burst point */
|
||||
if (client->intro_offset == -1 && source->stream_data_tail
|
||||
&& source->stream_data_tail->sync_point)
|
||||
refbuf = source->stream_data_tail;
|
||||
else
|
||||
{
|
||||
|
@ -46,14 +46,14 @@ static refbuf_t *process_flac_page (ogg_state_t *ogg_info, ogg_codec_t *codec, o
|
||||
{
|
||||
refbuf_t * refbuf;
|
||||
|
||||
if (codec->headers)
|
||||
{
|
||||
ogg_packet packet;
|
||||
if (ogg_stream_pagein (&codec->os, page) < 0)
|
||||
{
|
||||
ogg_info->error = 1;
|
||||
return NULL;
|
||||
}
|
||||
if (codec->headers)
|
||||
{
|
||||
ogg_packet packet;
|
||||
while (ogg_stream_packetout (&codec->os, &packet))
|
||||
{
|
||||
int type = packet.packet[0];
|
||||
|
Loading…
Reference in New Issue
Block a user