diff --git a/objects/Object.php b/objects/Object.php index a42362c712b5..90e3127cce3f 100644 --- a/objects/Object.php +++ b/objects/Object.php @@ -461,6 +461,7 @@ static function ignoreTableSecurityCheck() 'audit', 'wallet_log', 'live_restreams_logs', + 'live_transmitions', 'clone_SitesAllowed', 'user_notifications', 'email_to_user', diff --git a/plugin/Live/install/nginx.conf b/plugin/Live/install/nginx.conf index ad1565ed0fbc..5537c538fd5c 100644 --- a/plugin/Live/install/nginx.conf +++ b/plugin/Live/install/nginx.conf @@ -7,9 +7,8 @@ worker_processes 1; rtmp { server { listen 1935; - buflen 1000ms; - chunk_size 4096; - ping_timeout 30s; + ping 5m; + ping_timeout 4m; ### Use case option (max_streams; default is 32 ) #max_streams 10; allow play all; diff --git a/plugin/PlayLists/PlayLists.php b/plugin/PlayLists/PlayLists.php index 6de9250503b9..e2cdc4f4b830 100644 --- a/plugin/PlayLists/PlayLists.php +++ b/plugin/PlayLists/PlayLists.php @@ -1040,20 +1040,24 @@ public function on_publish_done($live_transmitions_history_id, $users_id, $key, $key = $lt->getKey(); _error_log("on_publish_done key={$key} live_transmitions_history_id={$live_transmitions_history_id} "); $isPlayListScheduled = Playlists_schedules::iskeyPlayListScheduled($key); - $pls = new Playlists_schedules($isPlayListScheduled['playlists_schedules']); - if ($pls->getFinish_datetime() > time()) { - $ps = Playlists_schedules::getPlaying($isPlayListScheduled['playlists_schedules']); - $pl = new PlayList($ps->playlists_id); - $title = $pl->getName() . ' [' . $ps->msg . ']'; - Rebroadcaster::rebroadcastVideo( - $ps->current_videos_id, - $pl->getUsers_id(), - Playlists_schedules::getPlayListScheduledIndex($isPlayListScheduled['playlists_schedules']), - $title - ); - } else { - _error_log("on_publish_done is complete {$pls->getFinish_datetime()} < " . time() . " | " . date('Y/m/d H:i:s', $pls->getFinish_datetime()) . ' < ' . date('Y/m/d H:i:s', time())); - self::setScheduleStatus($key, Playlists_schedules::STATUS_COMPLETE); + if(!empty($isPlayListScheduled['playlists_schedules'])){ + $pls = new Playlists_schedules($isPlayListScheduled['playlists_schedules']); + if ($pls->getFinish_datetime() > time()) { + $ps = Playlists_schedules::getPlaying($isPlayListScheduled['playlists_schedules']); + $pl = new PlayList($ps->playlists_id); + $title = $pl->getName() . ' [' . $ps->msg . ']'; + Rebroadcaster::rebroadcastVideo( + $ps->current_videos_id, + $pl->getUsers_id(), + Playlists_schedules::getPlayListScheduledIndex($isPlayListScheduled['playlists_schedules']), + $title + ); + } else { + _error_log("on_publish_done is complete {$pls->getFinish_datetime()} < " . time() . " | " . date('Y/m/d H:i:s', $pls->getFinish_datetime()) . ' < ' . date('Y/m/d H:i:s', time())); + self::setScheduleStatus($key, Playlists_schedules::STATUS_COMPLETE); + } + }else{ + _error_log("on_publish_done is complete isPlayListScheduled=".json_encode($isPlayListScheduled)); } }