CC-1665: Scheduled stream rebroadcasting and recording

-pre buffer streams part 1
This commit is contained in:
Martin Konecny 2012-08-15 16:43:01 -04:00
parent d773dcd112
commit 1e57c12ce7
4 changed files with 85 additions and 21 deletions

View file

@ -1,5 +1,5 @@
def notify(m)
current_media_id := string_of(m['schedule_table_id'])
#current_media_id := string_of(m['schedule_table_id'])
command = "/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --data='#{!pypo_data}' --media-id=#{m['schedule_table_id']} &"
log(command)
system(command)
@ -7,7 +7,7 @@ end
def notify_stream(m)
json_str = string.replace(pattern="\n",(fun (s) -> ""), json_of(m))
command = "/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --webstream='#{json_str}' --media-id=#{!current_media_id} &"
command = "/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --webstream='#{json_str}' --media-id=#{!current_dyn_id} &"
log(command)
system(command)
end
@ -253,7 +253,7 @@ end
# Function to create a playlist source and output it.
def create_dynamic_source(uri) =
# The playlist source
s = input.http(uri)
s = input.http(buffer=4., max=12., uri)
# The output
active_dyn_out = dyn_out(s)

View file

@ -8,6 +8,7 @@ set("server.telnet.port", 1234)
#Dynamic source list
dyn_sources = ref []
webstream_enabled = ref false
time = ref string_of(gettimeofday())
@ -27,7 +28,7 @@ stream_metadata_type = ref 0
default_dj_fade = ref 0.
station_name = ref ''
show_name = ref ''
current_media_id = ref ''
#current_media_id = ref ''
s1_connected = ref ''
s2_connected = ref ''
@ -47,16 +48,43 @@ queue = map_metadata(append_title, queue)
# the crossfade function controls fade in/out
queue = crossfade(queue)
queue = fallback([web_stream, queue])
queue = switch(track_sensitive=false, [({!webstream_enabled},web_stream), ({true}, queue)])
ignore(output.dummy(queue, fallible=true))
server.register(namespace="vars", "pypo_data", fun (s) -> begin pypo_data := s "Done" end)
server.register(namespace="vars", "stream_metadata_type", fun (s) -> begin stream_metadata_type := int_of_string(s) s end)
server.register(namespace="vars", "show_name", fun (s) -> begin show_name := s s end)
server.register(namespace="vars", "station_name", fun (s) -> begin station_name := s s end)
server.register(namespace="vars", "bootup_time", fun (s) -> begin time := s s end)
server.register(namespace="streams", "connection_status", fun (s) -> begin "1:#{!s1_connected},2:#{!s2_connected},3:#{!s3_connected}" end)
server.register(namespace="vars", "default_dj_fade", fun (s) -> begin default_dj_fade := float_of_string(s) s end)
server.register(namespace="vars",
"pypo_data",
fun (s) -> begin pypo_data := s "Done" end)
server.register(namespace="vars",
"stream_metadata_type",
fun (s) -> begin stream_metadata_type := int_of_string(s) s end)
server.register(namespace="vars",
"show_name",
fun (s) -> begin show_name := s s end)
server.register(namespace="vars",
"station_name",
fun (s) -> begin station_name := s s end)
server.register(namespace="vars",
"bootup_time",
fun (s) -> begin time := s s end)
server.register(namespace="streams",
"connection_status",
fun (s) -> begin "1:#{!s1_connected},2:#{!s2_connected},3:#{!s3_connected}" end)
server.register(namespace="vars",
"default_dj_fade",
fun (s) -> begin default_dj_fade := float_of_string(s) s end)
server.register(namespace="dynamic_source",
description="Enable webstream output",
usage='start',
"output_start",
fun (s) -> begin webstream_enabled := true "enabled" end)
server.register(namespace="dynamic_source",
description="Enable webstream output",
usage='stop',
"output_stop",
fun (s) -> begin webstream_enabled := false "disabled" end)
server.register(namespace="dynamic_source",
description="Set the cc_schedule row id",
usage="id <id>",
@ -65,12 +93,12 @@ server.register(namespace="dynamic_source",
server.register(namespace="dynamic_source",
description="Start a new dynamic source.",
usage="start <uri>",
"start",
"read_start",
create_dynamic_source)
server.register(namespace="dynamic_source",
description="Stop a dynamic source.",
usage="stop <uri>",
"stop",
"read_stop",
destroy_dynamic_source)
default = amplify(id="silence_src", 0.00001, noise())