Icecast Server/Events: Difference between revisions
(Feature: Added stub on event related tags.) |
m (→Configuration: Update: Added options) |
||
Line 13: | Line 13: | ||
* <code><<nowiki />icecast /></code> (global headers) | * <code><<nowiki />icecast /></code> (global headers) | ||
* <code><<nowiki />mount /></code> | * <code><<nowiki />mount /></code> | ||
<code><<nowiki />event-bindings /></code> has no properties itself. | |||
<code><<nowiki />event /></code> may contain <code><<nowiki />option /></code>s with backend specific options. It will also use the following properties: | |||
{| class="wikitable" | |||
! Property !! Required !! Type !! Default !! Description | |||
|- | |||
| <code>type</code> || yes || Backend name || ''none'' || The name of the backend to use. | |||
|- | |||
| <code>trigger</code> || yes || list of event names || ''none'' || A comma separated list of event names to deliver to this backend. | |||
|} | |||
== List of events == | == List of events == |
Revision as of 01:17, 18 April 2023
Events
Overview
Icecast 2.5.x features an event subsystem. This subsystem is used to deliver information on certain events that happen within the server to backends. In it's nature it is very similar to the auth subsystem. However in contrast to the auth subsystem it cannot modify the server state in any way. This makes it much more performant at the cost of slightly less usecases. Events in the event subsystem are inherently delivered asynchronously. Therefore they may arrive at some handler in any order. However information regarding their causality is preserved via their data.
Configuration
Event subsystem backends are configured via <event />
s inside of a <event-bindings />
. <event-bindings />
can be used inside:
<icecast />
(global headers)<mount />
<event-bindings />
has no properties itself.
<event />
may contain <option />
s with backend specific options. It will also use the following properties:
Property | Required | Type | Default | Description |
---|---|---|---|---|
type |
yes | Backend name | none | The name of the backend to use. |
trigger |
yes | list of event names | none | A comma separated list of event names to deliver to this backend. |
List of events
event | Context | Description |
---|---|---|
icecast-start |
Global | Emitted when Icecast has been started up initially. |
icecast-stop |
Global | Emitted as part of Icecast's shutdown. |
icecast-active |
Global | Emitted when Icecast is active (has sources connected). |
icecast-idle |
Global | Emitted when Icecast is in idle (no sources connected). |
source-connect |
Source | Emitted when a source enters running state. |
source-disconnect |
Source | Emitted when a source is shut down. |
source-flags-changed |
Source | Emitted when a source experiences changes of it's flags. This might be for internal and external reasons. |
format-metadata-changed |
Source | Emitted whenever the metadata on the format level changes. |
dumpfile-opened |
Source | Emitted when a dumpfile was just opened. At the time this is emitted any operations on the dumpfile as per the operating systems specification on open files are allowed. This usually includes renaming the file and moving it between directories on the same volume. |
dumpfile-closed |
Source | Emitted when a dumpfile is closed. **Note:** At this point Icecast knows hardly anything about the dumpfile anymore. So not all information is available to handlers of this event. Any operation should be done via dumpfile-opened whenever possible.
|
dumpfile-error |
Source | Emitted when a dumpfile cannot be opened for any reason. See also dumpfile-opened .
|