MCPcopy Create free account

hub / github.com/dev-topsoil/slopsoil / functions

Functions394 in github.com/dev-topsoil/slopsoil

↓ 1 callersFunction_extract_udp_payload
Strip Ethernet/IP/UDP headers and return UDP payload, or None.
tools/analyze_dave.py:62
↓ 1 callersMethod_ffmpeg_cmd
(self)
streaming/video_player.py:901
↓ 1 callersFunction_find_channel
(channels: list[dict], query: str)
cogs/tv.py:41
↓ 1 callersFunction_hex_preview
(data: bytes, n: int = 64)
tools/analyze_dave.py:143
↓ 1 callersFunction_iter_pcap
Yield (ts_sec, ts_usec, data) for each packet in a pcap file.
tools/analyze_dave.py:39
↓ 1 callersMethod_load
(self)
services/sources.py:37
↓ 1 callersFunction_load_allowed_ids
()
bot.py:38
↓ 1 callersFunction_outer_decrypt
Decrypt a Discord voice UDP packet encrypted with aead_xchacha20_poly1305_rtpsize. Packet format: [RTP header (12 B)] [ciphertext] [nonce s
tools/analyze_dave.py:117
↓ 1 callersFunction_packetize_nal
Return a list of RTP payloads (no header) for one NAL unit. Small NAL units (≤ _MTU - 12) become a single-NAL-unit packet. Large ones ar
streaming/video_player.py:659
↓ 1 callersFunction_parse_rtp_header
Return (version, seq, ts, ssrc) from a 12-byte RTP header, or None.
tools/analyze_dave.py:104
↓ 1 callersMethod_poll_ws
Continuously poll the stream WebSocket to handle heartbeats.
streaming/golive.py:325
↓ 1 callersFunction_rtp_header
(seq: int, ts: int, ssrc: int, marker: bool = False)
streaming/video_player.py:649
↓ 1 callersFunction_run_audio
()
streaming/engine.py:129
↓ 1 callersFunction_run_live
()
streaming/engine.py:257
↓ 1 callersMethod_send_audio
(self)
streaming/golive.py:456
↓ 1 callersMethod_send_frame
Packetize, encrypt, and send all NAL units for one video frame.
streaming/video_player.py:976
↓ 1 callersFunction_yt_cleanup_after_stream
(task: asyncio.Task, tmp_dir: str)
services/ytdlp.py:74
↓ 1 callersFunction_yt_download
Download url into out_dir via yt-dlp. Returns (file_path, title).
services/ytdlp.py:35
↓ 1 callersFunction_yt_extract_live_url
Return (stream_url, title) if url is a live broadcast, else None. Uses yt-dlp metadata only — no download — so it's fast. If the stream is u
services/ytdlp.py:83
↓ 1 callersMethodbackfill_epg_urls
For any stored source that has no epg_url, fetch the first 1 KB of its M3U URL to read the #EXTM3U header and extract url-tvg / x-tvg
services/sources.py:108
↓ 1 callersFunctioncancel_live_stream
Cancel any active go-live stream for a guild. Cancels the stream task (whose finally block calls conn.disconnect()) and stops the video playe
streaming/engine.py:63
↓ 1 callersMethoddecrypt
(self, user_id: int, media_type, packet: bytes)
davey_compat.py:265
↓ 1 callersMethodencrypt_h264
DAVE-encrypt an H.264 RTP payload before transport encryption.
davey_compat.py:237
↓ 1 callersFunctionfetch_and_parse
Fetch an M3U URL, validate, and parse. Returns (channels, epg_url). Raises on network or parse errors.
services/m3u.py:70
↓ 1 callersMethodfrom_env
Build a client from TVHEADEND_URL/USER/PASS, or None if any are unset. Keeping this here means the "is TVheadend configured?" decision lives
services/tvheadend.py:32
↓ 1 callersMethodget_epg_events
Return EPG events whose title contains query (case-insensitive).
services/tvheadend.py:68
↓ 1 callersMethodget_epg_sources
Return [(source_name, epg_url)] for enabled sources with an EPG URL.
services/sources.py:100
↓ 1 callersMethodget_now_playing
Return {channel_uuid: programme_title} for all currently airing events. Fetches up to 10 000 EPG events (TVheadend returns them sort
services/tvheadend.py:89
↓ 1 callersMethodget_serialized_key_package
Returns the MLS key package to send to Discord (opcode MLS_KEY_PACKAGE).
davey_compat.py:170
↓ 1 callersFunctionmain
()
bot.py:130
↓ 1 callersFunctionmain
()
tools/analyze_dave.py:150
↓ 1 callersFunctionparse_m3u
Parse M3U playlist text into a list of channel dicts. Each channel dict has: name, tvg_id, group, stream_url. Raises ValueError if the text i
services/m3u.py:24
↓ 1 callersFunctionpatch_video
Apply video patches. Call once from bot.py before any voice connections: import discord.gateway import video_compat vid
video_compat.py:111
↓ 1 callersMethodplay
Stream a channel or URL into your voice channel. Pass a URL to download and stream via yt-dlp (!play https://...). Match a TV
cogs/tv.py:347
↓ 1 callersMethodregister_video_ssrc
Register a video SSRC with the H.264 codec so DAVE can encrypt it.
davey_compat.py:230
↓ 1 callersMethodreinit
(self, protocol_version: int, user_id: int, channel_id: int)
davey_compat.py:150
↓ 1 callersMethodreinit_dave_session
(self)
streaming/golive.py:154
↓ 1 callersMethodremaining
(self)
streaming/video_player.py:109
↓ 1 callersMethodremove_source
Remove a source by index. Returns the removed source's name.
services/sources.py:157
↓ 1 callersMethodset_enabled
(self, idx: int, enabled: bool)
services/sources.py:153
↓ 1 callersMethodset_tvh_enabled
(self, enabled: bool)
services/sources.py:67
↓ 1 callersMethodstop
(self, ctx: commands.Context)
cogs/voice.py:75
↓ 1 callersMethodto_bytes
(self)
streaming/video_player.py:160
↓ 1 callersMethodue
(self, val: int)
streaming/video_player.py:149
Method__init__
(self, allowed_ids: set[int])
bot.py:49
Method__init__
(self, data: bytes)
davey_compat.py:47
Method__init__
(self, s)
davey_compat.py:58
Method__init__
(self, protocol_version: int, user_id: int, channel_id: int)
davey_compat.py:87
Method__init__
(self, bot: commands.Bot)
cogs/general.py:7
Method__init__
(self, bot: commands.Bot, source_manager: SourceManager)
cogs/iptv.py:28
Method__init__
(self, bot: commands.Bot, client: JellyfinClient | None)
cogs/jellyfin.py:53
Method__init__
(self, bot: commands.Bot)
cogs/voice.py:20
Method__init__
(self, bot: commands.Bot, tvh: TVheadendClient | None)
cogs/tv.py:73
Method__init__
(self, url: str, user: str, password: str)
services/tvheadend.py:23
Method__init__
(self, persist_path: str | Path)
services/sources.py:31
Method__init__
(self, url: str, api_key: str)
services/jellyfin.py:24
Method__init__
( self, bot: SlopSoil, guild_id: int, channel_id: int, vc: discord.Voi
streaming/golive.py:84
Method__init__
( self, file_obj, conn: GoLiveConnection, is_source_active: Callable[[], bool]
streaming/golive.py:427
Method__init__
(self)
streaming/video_player.py:142
Method__init__
(self, f)
streaming/video_player.py:750
Method__init__
( self, url: str, voice_client: discord.VoiceClient, fps: float = 25.0,
streaming/video_player.py:784
Method__repr__
(self)
davey_compat.py:268
Function_after
(error: Exception | None)
streaming/engine.py:159
Method_check
(msg)
cogs/iptv.py:142
Method_check
(msg)
cogs/jellyfin.py:65
Function_clear_profile_env
Start each test from a clean profile env so the 1080p default applies.
tests/test_video_player.py:20
Method_drain_stderr
(self)
streaming/video_player.py:1064
Method_emit
Send a frame and pace to wall clock. Returns True → stop.
streaming/video_player.py:1180
Method_execute_transition
(self, transition_id: int)
streaming/golive.py:187
Function_fetch
()
services/hls.py:30
Function_fetch
()
services/m3u.py:73
Method_fetch
()
services/tvheadend.py:46
Method_fetch
()
services/jellyfin.py:42
Function_fetch_and_parse
()
services/epg.py:43
Method_flush_stats
(now: float)
streaming/video_player.py:1156
Function_get_episodes
(sid, season_id)
tests/test_jellyfin.py:326
Function_get_member
(user_id: int)
tests/test_permissions.py:73
Function_get_seasons
(sid)
tests/test_jellyfin.py:322
Method_on_mls_failure
(self, reason: str, detail: str)
davey_compat.py:110
Function_patched
(self_state)
davey_compat.py:290
Function_patched_client_connect
(self)
video_compat.py:79
Function_patched_identify
(self)
video_compat.py:32
Function_patched_select_protocol
(self, ip: str, port: int, mode: str)
video_compat.py:49
Method_peek
(m3u_url: str)
services/sources.py:114
Method_recover_from_invalid_commit
(self, transition_id: int)
streaming/golive.py:178
Function_run
()
services/ytdlp.py:39
Function_run
()
services/probe.py:26
Method_scheduled_play
()
cogs/tv.py:649
Function_search
(q, limit=25)
tests/test_jellyfin.py:319
Method_send
(content: str, **kwargs)
cogs/tv.py:680
Method_yn_check
(msg: discord.Message)
cogs/tv.py:597
Methodadd_socket_listener
(self, callback)
streaming/golive.py:335
Methodadd_source
Add or update an IPTV playlist source from an M3U URL.
cogs/iptv.py:34
Methodadd_source
Add a new source or replace an existing one with the same name.
services/sources.py:75
Methodaudio_fifo
(self)
streaming/video_player.py:827
Methodcan_encrypt
(self)
streaming/golive.py:147
Methodchannels
List all enabled channels (TVheadend + IPTV) with what's currently airing. Optional keyword filter: !channels <name>
cogs/tv.py:192
Methodcleanup
(self)
streaming/video_player.py:757
Functionclient
()
tests/test_jellyfin.py:171
Methoddelete_source
Remove an IPTV playlist source.
cogs/iptv.py:126
← previousnext →101–200 of 394, ranked by callers