mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2025-02-02 15:07:36 -05:00
fix starting point problem with low bandwidth theroa streams. listener could
connect and be waiting a while before receiving stream content. When retrieving streamlist, don't wait too long for connection to master schedule a full stats rebuild on source disconnect. Minor build fix for certain platforms with missing defines svn path=/icecast/trunk/icecast/; revision=15276
This commit is contained in:
parent
a520a18e53
commit
72f8944c90
@ -53,5 +53,10 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* some defaults if not provided above */
|
||||
#ifndef SCNdMAX
|
||||
# define SCNdMAX "lld"
|
||||
#endif
|
||||
|
||||
#endif /* __COMPAT_H__ */
|
||||
|
||||
|
@ -124,12 +124,6 @@ static refbuf_t *process_theora_page (ogg_state_t *ogg_info, ogg_codec_t *codec,
|
||||
refbuf = make_refbuf_with_page (page);
|
||||
/* DEBUG3 ("refbuf %p has pageno %ld, %llu", refbuf, ogg_page_pageno (page), (uint64_t)granulepos); */
|
||||
|
||||
if (has_keyframe && codec->possible_start)
|
||||
{
|
||||
codec->possible_start->sync_point = 1;
|
||||
refbuf_release (codec->possible_start);
|
||||
codec->possible_start = NULL;
|
||||
}
|
||||
if (granulepos != theora->prev_granulepos || granulepos == 0)
|
||||
{
|
||||
if (codec->possible_start)
|
||||
@ -138,6 +132,12 @@ static refbuf_t *process_theora_page (ogg_state_t *ogg_info, ogg_codec_t *codec,
|
||||
codec->possible_start = refbuf;
|
||||
}
|
||||
theora->prev_granulepos = granulepos;
|
||||
if (has_keyframe && codec->possible_start)
|
||||
{
|
||||
codec->possible_start->sync_point = 1;
|
||||
refbuf_release (codec->possible_start);
|
||||
codec->possible_start = NULL;
|
||||
}
|
||||
|
||||
return refbuf;
|
||||
}
|
||||
|
@ -609,7 +609,7 @@ static int update_from_master(ice_config_t *config)
|
||||
on_demand = config->on_demand;
|
||||
ret = 1;
|
||||
config_release_config();
|
||||
mastersock = sock_connect_wto (master, port, 0);
|
||||
mastersock = sock_connect_wto (master, port, 10);
|
||||
|
||||
if (mastersock == SOCK_ERROR)
|
||||
{
|
||||
|
@ -1225,7 +1225,7 @@ void *source_client_thread (void *arg)
|
||||
source_main (source);
|
||||
|
||||
source_free_source (source);
|
||||
slave_rebuild_mounts();
|
||||
slave_update_all_mounts();
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user