Skip to content

Technical Plugin Rebroadcaster

Daniel Neto edited this page Oct 29, 2026 · 1 revision

Technical: Rebroadcaster plugin

Schedules prerecorded videos for live rebroadcast and optional restreaming.

Audience: developers, advanced administrators and AI-assisted diagnosis. Plugin catalog.

Source baseline

  • Review date: 2026-10-29. Method: static source analysis; runtime/provider behavior was not exercised.
  • Code ownership: independently versioned plugin repository.
  • Reported version: 5.1.
  • Source revision: a626ad7fac738b5cea296d4009fd8cea6fb3ade2.
  • Entry class file: Rebroadcaster.php.

Confirm the installed plugin version independently of the Streamer version. Configuration defaults below are not a dump of this installation's saved settings.

Dependencies

No literal dependency declaration was extracted. This does not prove the plugin is standalone.

Hook integration

Override Implementation
updateScript() Rebroadcaster.php:38
getVideosManagerListButton() Rebroadcaster.php:225
getPluginMenu() Rebroadcaster.php:240
executeEveryMinute() Rebroadcaster.php:389
executeEveryDay() Rebroadcaster.php:425
canRecordVideo($key) Rebroadcaster.php:501

Configuration assignments

These are direct assignments inside getEmptyDataObject(), not evaluated effective defaults. Stored plugins.object_data, globals, structured values and conditional branches may alter runtime behavior. Private/default credential values are omitted.

Field Literal default or expression type Literal source label/help Evidence
ffmpegParameters Computed/structured; inspect source — source

Files and request surface

This inventory distinguishes implementation files from an API specification. Includes, templates, callbacks and CLI workers are not interchangeable HTTP endpoints. Request-field names below are direct source references, not a complete schema or permission declaration.

File Source role Direct request fields observed
Objects/RebroadcasterSchedule.php class/helper implementation —
Rebroadcaster.php plugin entry class —
View/RebroadcasterSchedule/add.json.php JSON entry point; inspect caller and guard id, start_time, status, videos_id
View/RebroadcasterSchedule/delete.json.php JSON entry point; inspect caller and guard id
View/RebroadcasterSchedule/index.php PHP page/include/worker; inspect caller —
View/RebroadcasterSchedule/index_body.php PHP page/include/worker; inspect caller —
View/RebroadcasterSchedule/list.json.php JSON entry point; inspect caller and guard date_from, date_to, draw, filter_status
View/editor.php PHP page/include/worker; inspect caller —
install/install.sql schema/migration SQL —

Data and migrations

Tables named in available CREATE TABLE statements: RebroadcasterSchedule. Apply installation/update behavior through the owning plugin; this reference is not a script for running historical migrations manually.

Main-file named symbols

Visibility and implementation semantics must be checked in source. Nonempty string defaults are represented as . This is a symbol reference, not a stable public API promise.

Function or method Source
getDescription() 14
getName() 23
getUUID() 28
getPluginVersion() 33
updateScript() 38
getEmptyDataObject() 54
getPlaybackOptimizedFFmpegParameters() 80
usesLegacyHighBitrateProfile($parameters) 93
getFFmpegParameterRules() 109
parseFFmpegParameters($parameters, &$error = '') 137
getFFmpegParametersForShell($parameters) 196
canRebroadcast() 214
getVideosManagerListButton() 225
getPluginMenu() 240
canEdit($rebreadcasterSchedule_id) 246
claimSchedulerRow($scheduleId) 261
transitionSchedulerRowStatus($scheduleId, $fromStatus, $toStatus, $operation) 301
getSchedulerRowState($scheduleId) 344
getSchedulerExecutionContext() 360
releaseSchedulerRow($scheduleId, $reason) 371
executeEveryMinute() 389
executeEveryDay() 425
canRecordVideo($key) 501
isKeyARebroadcast($key) 506
getRebroadcastkey($videos_id, $forceIndex = '') 516
rebroadcastVideo($videos_id, $to_users_id = 0, $forceIndex = ''<string>''<string>'', $addRebroadcastIndex = true) 521
getLastRebroadcastInfo() 748
getRebroadcastLogSummary() 754
getRunningRebroadcastPids($streamIndex) 777
sanitizeFFmpegLogTail($logTail) 809
log($message) 820

Supporting PHP declarations

These symbols are grouped by source file; inspect the class declaration and visibility before calling them.

Objects/RebroadcasterSchedule.php

Declared classes: RebroadcasterSchedule.

Named symbol Source
getSearchFieldsNames() 10
getTableName() 15
setId($id) 20
setStart_time($start_time) 25
setEnd_time($end_time) 33
setStatus($status) 41
setTimezone($timezone) 46
setVideos_id($videos_id) 51
setUsers_id($users_id) 56
getId() 62
getStart_time() 67
getEnd_time() 72
getStatus() 77
getTimezone() 82
getVideos_id() 87
getUsers_id() 92
getSchedulerSQL($videos_id = 0, $users_id = 0, $status = '', $lowerThenData = false, $greaterThenData = false) 98
getScheduler($videos_id = 0, $users_id = 0, $status = '', $lowerThenData = false, $greaterThenData = false) 141
getSchedulerTotal($videos_id = 0, $users_id = 0, $status = '', $lowerThenData = false, $greaterThenData = false) 168

Diagnostics and validation

  1. Check the installed/enabled version and the dependencies/settings above.
  2. Identify the actual failing page, request, callback or worker and correlate its timestamp with the AVideo log.
  3. Follow the linked method and caller. Check business-state changes and output artifacts as well as HTTP status.
  4. Reproduce the relevant workflow in a test environment. External provider, Encoder, live-server, storage, payment and authenticated flows require their real integrations.

Related test filenames (name matches only; not executed by generation):

Shared diagnostic workflow. This page is not a security audit or a claim of end-to-end validation.

Clone this wiki locally