Commit Graph

162 Commits

Author SHA1 Message Date
jo a71606d39c feat(playout): enable vorbis metadata per icecast output
Use new jinja template system to tweak the streams per output.
2023-02-26 20:41:38 +02:00
jo 00b5c08647 feat(playout): use jinja to configure liquidsoap outputs 2023-02-26 20:41:38 +02:00
jo a397ad3e32 fix(playout): use package loader for liquidsoap templates 2023-02-26 20:41:38 +02:00
jo 843ce32579 fix(playout): flush liquidsoap response before sending new 2023-02-26 20:41:38 +02:00
jo 861698987c refactor: don't use f-string on logging statements
The strings are now be formatted if the logging level is enabled.
2023-02-26 19:09:51 +02:00
jo c6940db289 feat: replace loguru with logging 2023-02-26 19:09:51 +02:00
jo 719d7cff36 fix(playout): use the same number of schedule queues 2023-02-25 21:43:37 +02:00
jo a59599971b fix(playout): skip the identified queue instead of the current
Calling queues.s0_skip, liquidsoap was actually calling queues.s8_skip, because the current queue was 8
2023-02-25 21:43:37 +02:00
jo d497c665cc refactor(playout): rename web_stream functions 2023-02-25 21:43:37 +02:00
jo 196fc1ddf8 fix(playout): use explicit ids for liquidsoap components 2023-02-25 21:43:37 +02:00
jo 8155eb1a22 chore(playout): change quotes 2023-02-25 21:43:37 +02:00
jo cd2cd66bdf refactor(playout): rename input_check_auth handlers 2023-02-25 21:43:37 +02:00
jo 2f9f60e639 refactor(playout): rename inputs sources variables 2023-02-25 21:43:37 +02:00
jo 8ed23c9e98 refactor(playout): rename inputs on_* handlers 2023-02-25 21:43:37 +02:00
jo 9a815d68ff refactor(playout): rename liquidsoap switch functions 2023-02-25 21:43:37 +02:00
jo d36fc56f51 refactor(playout): boot_timestamp can be static
The previous use of interactive was used to hack the boot_timestamp after a settings change/liquidsoap restart.
2023-02-25 21:43:37 +02:00
jo 14cfc4ea97 refactor(playout): rename dynamic_source to web_stream 2023-02-25 21:43:37 +02:00
jo 9b9defe935 refactor(playout): rename inputs config variables 2023-02-25 21:43:37 +02:00
jo 9518db6c75 refactor(playout): rename stream control variables 2023-02-25 21:43:37 +02:00
jo c610ea1885 feat(playout): remove unused liquidsoap output namespace 2023-02-25 21:43:37 +02:00
jo 0694c34ec0 feat(playout): remove unused liquidsoap restart function 2023-02-25 21:43:37 +02:00
jo a0f232ba66 feat(playout): remove unused liquidsoap outputs connection status 2023-02-25 21:43:37 +02:00
jo aed90d835f chore(playout): clean comments 2023-02-25 21:43:37 +02:00
jo 0eced23e4e refactor(playout): remove unused check_version 2023-02-25 21:43:37 +02:00
jo c95733191a refactor(playout): rename web_stream variables 2023-02-25 21:43:37 +02:00
jo 654259824c feat(playout): use liquidsoap interactive variables 2023-02-22 15:05:40 +01:00
jo 394cf68b61 fix(playout): quote escape strings in liquidsoap entrypoint 2023-02-22 15:05:40 +01:00
jo 3c8bf6c9eb feat(playout): add jinja2 quote filter for liquidsoap 2023-02-22 15:05:40 +01:00
jo 1b027262ee feat(playout): use jinja2 env for template loading 2023-02-22 15:05:40 +01:00
jo f8f6fda794 chore: raise from specific exceptions 2023-02-03 07:36:58 +02:00
jo bd76971312 style: format code using black 2023-02-01 11:17:49 +01:00
jo 29a02e6797 refactor: improve backports imports 2022-12-07 15:59:52 +02:00
Jonas L 7f4ce865d4
docs(playout): add simple inputs pipeline schema (#2240) 2022-10-17 11:57:08 +02:00
jo 4ada25a3ff fix(playout): add types
This reverts commit d6348d5575.
2022-10-11 09:28:52 +02:00
jo 0e1dfaa9ff refactor: upgrade code to Python 3.8 2022-10-11 09:28:52 +02:00
jo 1742890370 fix(playout): remove outdated liquidsoap code
Fixes #1482
2022-10-10 23:29:21 +02:00
jo 5817750b62 feat: drop Liquidsoap 1.3 support 2022-10-10 20:11:33 +02:00
jo ace9365e92 feat: drop Liquidsoap 1.1 support 2022-10-10 20:11:33 +02:00
jo d29d837d01 feat: drop Python 3.6 support 2022-10-10 20:11:33 +02:00
jo a79980e65f feat(playout): move message handling to main thread 2022-09-16 13:16:06 +02:00
jo b1c2e34ceb fix(playout): remove shutdown_handler 2022-09-16 13:16:06 +02:00
jo 64b3d164c9 refactor(playout): move daemon flag to thread class 2022-09-16 12:33:44 +02:00
Jonas L 03902f6aef
fix(playout): also shutdown on SIGTERM (#2104) 2022-09-08 12:41:56 +02:00
Jonas L ef1de34111
fix(playout): missing live show events (#2087) 2022-09-06 14:09:04 +02:00
jo 37b8b17ed3 feat(playout): allow liquidsoap listen address configuration 2022-09-06 13:21:54 +02:00
jo c8cb100645 feat(playout): liquidsoap boostrap using new api endpoints 2022-09-06 13:21:54 +02:00
jo 2fa045a8ef feat(playout): remove stream_setting update handler 2022-09-06 13:21:54 +02:00
jo f5a83dbabb feat(playout): allow updating message_offline value 2022-09-06 13:21:54 +02:00
jo 314c70a208 feat(playout): stats collector using stream config 2022-09-06 13:21:54 +02:00
jo b9368d1b7b feat(playout): build liquidsoap entrypoint with stream config 2022-09-06 13:21:54 +02:00
Jonas L 510d55c7c1
feat(playout): improve generate_*_events (#2088) 2022-09-05 18:41:04 +02:00
jo 9b40885d9f fix(playout): py39 compatibility zoneinfo import 2022-09-01 19:17:33 +02:00
jo d6348d5575 fix(playout): py36 compatibility broken typings
This partially reverts commit 5505222df6.
2022-09-01 19:17:33 +02:00
jo 5505222df6 refactor(playout): rename vars and add typing 2022-08-21 16:13:34 +02:00
jo 1d59310156 refactor(playout): simplify legacy api check 2022-08-21 16:13:34 +02:00
jo a9cd1fb3df refactor(playout): move liq io to liq_client 2022-08-18 08:36:41 +02:00
jo fd2381624a refactor(playout): use vars setter in liq client 2022-08-18 08:36:41 +02:00
jo da6458caea feat(playout): integrate new liquisoap client 2022-08-17 13:18:13 +02:00
jo 624a60c4af feat(playout): create liquidsoap client 2022-08-17 13:18:13 +02:00
Jonas L bddbdf716c
chore(playout): remove unused code (#2058) 2022-08-14 19:56:48 +02:00
Jonas L a730c1b1a4
fix(playout): add thread names (#2056) 2022-08-14 19:55:39 +02:00
Jonas L 8897d390e1
fix(playout): use stream download when fetching files (#2048) 2022-08-12 15:14:19 +02:00
Jonas L 1147853c63
feat(shared): pass config data via init (#2042) 2022-08-12 15:12:39 +02:00
Jonas L 4019367abc
feat(playout): rewrite stats collector (#2028)
- Replace defusedxml with lxml
2022-08-09 21:14:19 +02:00
Jonas L 9413bd5a29
refactor(playout): improve exceptions handling (#2027) 2022-08-09 21:05:21 +02:00
Jonas L d95a77655a
fix(playout): replace deprecated harbor.bind_addr (#2025)
Only for liquidsoap >=1.3.3
2022-08-07 08:50:42 +02:00
jo 406d42323a feat: move stream stats status to pref table 2022-08-07 08:50:06 +02:00
Jonas L e408237be1
refactor(playout): remove unused variable (#2021) 2022-08-06 07:19:47 +02:00
Jonas L e97b06496a
feat(api): don't use hyperlinked serializers (#1984) 2022-07-27 09:54:57 +02:00
jo d9725003c5 feat(playout): integrate api-client v2 calls 2022-07-26 15:14:45 +02:00
Jonas L 368350b269
feat(playout): use single clients instance (#1980)
- Use legacy_client across playout code to make the difference between the old and new clients.
- Setup clients during initialization, and pass clients down to the different apps.
2022-07-22 16:26:43 +02:00
jo 473e770e8a feat: rename AirtimeApiClient to ApiClient 2022-07-22 15:00:38 +02:00
jo 8cb9bd5f32 chore(playout): update api-client imports 2022-07-22 15:00:38 +02:00
jo 71b3f7f065 chore: remove schedule unused independent_event 2022-07-20 12:05:01 +02:00
Jonas L 7e2f2d60f0
chore(playout): restructure modules (#1971) 2022-07-18 15:11:47 +02:00
jo 57046e2a9d chore(api): rename schedule models fields 2022-07-18 00:04:54 +02:00
Jonas L 96af028daa
feat(playout): replace pytz with zoneinfo (#1969) 2022-07-17 22:59:49 +02:00
jo 28857fbf49 refactor(playout): remove date_interval_to_seconds function
Replace date_interval_to_seconds function with
either timedelta.total_seconds() or seconds_between().
2022-07-17 13:29:03 +02:00
jo db3f9bed82 chore(playout): remove module docstring 2022-07-17 13:29:03 +02:00
jo ad5dc6caf8 refactor(playout): log level setup 2022-07-17 13:29:03 +02:00
jo 8ef6784a39 refactor(playout): use pathlib to build the path 2022-07-17 13:29:03 +02:00
jo 2bc7d64cc4 feat(playout): use liquidsoap version functions
- remove "packaging" package
2022-07-17 13:29:03 +02:00
jo 58ad40f997 chore(playout): use 'entrypoint' generic module name 2022-07-17 13:29:03 +02:00
jo bd8b17a2cd chore(playout): remove unused liquidsoap.cfg 2022-07-17 11:02:36 +02:00
jo 86a9af1bc1 chore(playout): move liquidsoap package in a module 2022-07-17 11:02:36 +02:00
jo b8056a9f7a chore(playout): use EventKind enum 2022-07-01 13:16:57 +02:00
jo 97b723d0a5 chore(playout): rename variables 2022-07-01 13:16:57 +02:00
jo 2ad65bba8c chore(playout): use comments instead of docstrings 2022-07-01 13:16:57 +02:00
jo fa136fad97 chore: explicit schedule file metadata dict values 2022-07-01 11:07:26 +02:00
jo 34864b8623 chore(playout): update file fields 2022-06-29 13:51:07 +02:00
Jonas L 6ef941b3f2
chore(shared): explicit function name time_fromisoformat (#1917) 2022-06-25 17:10:59 +02:00
jo 1faf5a724b chore: move api client get_schedule to playout 2022-06-24 17:56:24 +02:00
jo f58e51ec84 fix(playout): disable playout-notify log rotation
Let logrotate handle liquidsoap.log log rotation.

Fix #1546
2022-05-05 09:42:34 +02:00
Jonas L d098671f3b
feat: replace click envar with auto_envvar_prefix (#1829) 2022-05-05 09:41:32 +02:00
Jonas L 331df277b4
docs: fix and update links (#1714) 2022-03-29 13:07:38 +02:00
jo b38596f56e fix(playout): remove stream_buffer_start in event dispatch
Related to 9fc4552cfe
2022-03-06 15:17:44 +02:00
jo f2b9bd6fed chore(playout): api_client schedule data log entry 2022-03-06 15:17:44 +02:00
jo 6419435601 style: format code using black 2022-02-09 17:24:36 +02:00
jo 9fc4552cfe fix(playout): properly populate scheduled_now_webstream
If scheduled_now_webstream is an empty array, the webstream will automatically be stopped, so we need to make sure the scheduled_now_webstream is aways properly populated.
2022-02-02 17:13:52 +02:00
jo 51378e1e6f fix(playout): only exclude ended file event
The webstream schedule logic seem to rely on already ended events to check if the stream running is the right one.
We should not exclude these webstream events from the schedule.
2022-02-02 15:15:24 +02:00