Skip to content
Snippets Groups Projects
Commit 3288f781 authored by David Trattnig's avatar David Trattnig
Browse files

SOC: Update fallback state by fallback events only

parent c9441123
No related branches found
No related tags found
1 merge request!3Liquidsoap 2 migration
......@@ -18,21 +18,11 @@
# Updates the playout state
def on_playout_state_change(source_type) =
if source_type == "fallback" then
engine_state.is_fallback := true
else
engine_state.is_fallback := false
end
end
# Called when some new metadata info is available
def on_metadata_notification(meta) =
# FIXME For some reason stream channels do not pass the `source` property in meta
channel_name = meta["source"]
source_type = eval_source_type(channel_name)
on_playout_state_change(source_type)
log(level=3, label="metadata", "Raw metadata before POST:\n\n #{meta}\n\n")
......
......@@ -43,6 +43,16 @@ def on_track_change(s) =
end
end
# Called when a fallback source is actively playing
def on_fallback_notify(metadata) =
engine_state.is_fallback := true
on_metadata_notification(metadata)
end
# Called when a fallback source stopped playing
def on_fallback_leave_notify() =
engine_state.is_fallback := false
end
#####################################
# FUNCTIONS #
......@@ -60,10 +70,9 @@ def attach_fallback_source(main_stream)
reload_mode="seconds")
s = amplify(id="fallback_folder", 1., override="replay_gain", s)
# s.on_metadata(on_metadata_notification)
# s.on_track(on_metadata_notification)
s = source.on_track(id="fallback_folder", s, on_metadata_notification)
s = source.on_track(id="fallback_folder", s, on_fallback_notify)
s = mksafe(s)
source.on_leave(s, on_fallback_leave_notify)
fallback_folder := s
main_stream.on_track(on_track_change)
......@@ -80,10 +89,9 @@ def attach_fallback_source(main_stream)
reload=0)
s = amplify(id="fallback_playlist", 1., override="replay_gain", s)
# s.on_metadata(on_metadata_notification)
# s.on_track(on_metadata_notification)
s = source.on_track(id="fallback_playlist", s, on_metadata_notification)
s = source.on_track(id="fallback_playlist", s, on_fallback_notify)
s = mksafe(s)
source.on_leave(s, on_fallback_leave_notify)
fallback_playlist := s
main_stream.on_track(on_track_change)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment