Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 1.0
-
Fix Version/s: 1.0
-
Component/s: Liquidsoap
-
Labels:None
-
Environment:latest liquidsoap from svn, last revision r8205
Description
i have function
def register(name)
mp = "/users/#{name}"
streams = ref []
def delete_streams()
log("delete streams #{string_of(!streams)}")
def log_and_shutdown(s)
log("Shutdown source #{source.id(s)}")
source.shutdown(s)
end
list.iter(fun(s) -> ignore(log_and_shutdown(s)), !streams)
end
live = input.harbor(id = "ubc-in-harbor-#{name}", port = 10000, auth = fun(l,p) -> auth(name, p), on_disconnect = delete_streams, mp)
icecast_out = output.icecast(id = "ubc-out-icecast-#{name}",fallible = true, host = syshost, port = sysport, password = syspass, mount = mp, mp3, live)
file_out = output.file(id = "ubc-out-file-#{name}", fallible = true, mp3, "#{dump_path}/#{name}/%Y%m%d%H%M%S.mp3", live)
streams := [icecast_out, file_out, live]
mp
end
what i want: i register channel through telnet server, after user connect on their own channel, and after disconnect i remove source
what i got: after removing, functions (like ubc-in-harbor-qwe.status) still exists
unexpected effect: if i:
register channel,
connect to it,
disconnect( source removed ),
register channel,
connect to it,
disconnect( source removed )
then if i try to execute "help" command in telnet server, server return "ERROR: Invalid_argument("equal: functional value")"
def register(name)
mp = "/users/#{name}"
streams = ref []
def delete_streams()
log("delete streams #{string_of(!streams)}")
def log_and_shutdown(s)
log("Shutdown source #{source.id(s)}")
source.shutdown(s)
end
list.iter(fun(s) -> ignore(log_and_shutdown(s)), !streams)
end
live = input.harbor(id = "ubc-in-harbor-#{name}", port = 10000, auth = fun(l,p) -> auth(name, p), on_disconnect = delete_streams, mp)
icecast_out = output.icecast(id = "ubc-out-icecast-#{name}",fallible = true, host = syshost, port = sysport, password = syspass, mount = mp, mp3, live)
file_out = output.file(id = "ubc-out-file-#{name}", fallible = true, mp3, "#{dump_path}/#{name}/%Y%m%d%H%M%S.mp3", live)
streams := [icecast_out, file_out, live]
mp
end
what i want: i register channel through telnet server, after user connect on their own channel, and after disconnect i remove source
what i got: after removing, functions (like ubc-in-harbor-qwe.status) still exists
unexpected effect: if i:
register channel,
connect to it,
disconnect( source removed ),
register channel,
connect to it,
disconnect( source removed )
then if i try to execute "help" command in telnet server, server return "ERROR: Invalid_argument("equal: functional value")"
Issue Links
- depends on
-
LS-495
Deregister telnet commands on source's sleep
-