Studiocam ingebouwd
This commit is contained in:
@@ -30,7 +30,7 @@ QUERY;
|
||||
//
|
||||
}
|
||||
|
||||
public function addToSchedule(&$schedule, $start, $end, $program) {
|
||||
public function addToSchedule(&$schedule, $start, $end, $program, $scheduleid) {
|
||||
if($start == $end) {
|
||||
return;
|
||||
}
|
||||
@@ -43,7 +43,7 @@ QUERY;
|
||||
}
|
||||
else
|
||||
{
|
||||
$schedule[] = ['start' => clone $start, 'end' => clone $end, 'program' => new \Model\Program($program)];
|
||||
$schedule[] = ['id' => $scheduleid, 'start' => clone $start, 'end' => clone $end, 'program' => new \Model\Program($program)];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ QUERY;
|
||||
if($activeProgram == null || $priority < $activeProgram->priority) {
|
||||
if(($activeProgram != null) && ($item[1] > $start)) {
|
||||
if($DEBUG) print "{$activeProgramStart->format('d-m-Y H:i')} -- {$item[1]->format('d-m-Y H:i')}: {$activeProgram->name} (reason: {$item[2]->name} starts).<br/>";
|
||||
$this->addToSchedule($schedule, $activeProgramStart, $item[1], $activeProgram);
|
||||
$this->addToSchedule($schedule, $activeProgramStart, $item[1], $activeProgram, $item[2]->scheduleid);
|
||||
}
|
||||
|
||||
$activeProgramStart = ($item[1] < $start) ? $start : clone $item[1];
|
||||
@@ -168,7 +168,7 @@ QUERY;
|
||||
// In addition, when the ending program was the active program, we need to schedule it and find the new currently active program
|
||||
if($activeProgram == $item[2]) {
|
||||
if($DEBUG) print "{$activeProgramStart->format('d-m-Y H:i')} -- {$item[1]->format('d-m-Y H:i')}: {$activeProgram->name} {$activeProgram->suffix} (reason: {$item[2]->name} ends).<br/>";
|
||||
$this->addToSchedule($schedule, $activeProgramStart, $item[1], $activeProgram);
|
||||
$this->addToSchedule($schedule, $activeProgramStart, $item[1], $activeProgram, $item[2]->scheduleid);
|
||||
|
||||
$activeProgram = null;
|
||||
foreach($active as $newPriority => $newActive) {
|
||||
@@ -188,7 +188,7 @@ QUERY;
|
||||
|
||||
if(($activeProgram != null) && ($activeProgramStart != $end)) {
|
||||
if($DEBUG) print "{$activeProgramStart->format('d-m-Y H:i')} -- {$end->format('d-m-Y H:i')}: {$activeProgram->name} {$activeProgram->suffix} (reason: schedule finished).<br/>";
|
||||
$this->addToSchedule($schedule, $activeProgramStart, $end, $activeProgram);
|
||||
$this->addToSchedule($schedule, $activeProgramStart, $end, $activeProgram, $activeProgram->scheduleid);
|
||||
}
|
||||
|
||||
return ['startdate' => $start, 'enddate' => $end, 'schedule' => $schedule];
|
||||
@@ -252,6 +252,23 @@ QUERY;
|
||||
return new \Model\Track($data[0]);
|
||||
}
|
||||
|
||||
private function isStreamEnabled($schedule_id) {
|
||||
if(!($stream = env('STUDIO_STREAM'))) {
|
||||
return true;
|
||||
}
|
||||
$enableCameraQuery = app('db')->select("SELECT COUNT(*) AS is_enabled FROM `programs_schedule_webcam` WHERE `programs_schedule` = " . (int)$schedule_id);
|
||||
if($enableCamera = $enableCameraQuery[0]->is_enabled) {
|
||||
$isStreamDisabled = 1;
|
||||
$output = [];
|
||||
exec("ffprobe -v quiet -show_streams '$stream'", $output, $isStreamDisabled);
|
||||
if(!$isStreamDisabled) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Programmas nu en straks (24 uur vooruit)
|
||||
*/
|
||||
@@ -272,9 +289,10 @@ QUERY;
|
||||
$current = $next;
|
||||
}
|
||||
|
||||
return response()->json(['inProgram' => false, 'current' => $current, 'program' => $program]);
|
||||
return response()->json(['inProgram' => false, 'stream' => false, 'current' => $current, 'program' => $program]);
|
||||
} else {
|
||||
return response()->json(['inProgram' => true, 'program' => $program]);
|
||||
$canStream = $this->isStreamEnabled($schema['schedule'][0]['id']);
|
||||
return response()->json(['inProgram' => true, 'stream' => $canStream, 'program' => $program]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user