/** * @param LiveBroadcast $broadcast */ public function preRemove($broadcast) { foreach ($broadcast->getOutputChannels() as $channel) { if ($channel instanceof ChannelYouTube) { $youTubeService = $this->getYouTubeService(); try { $youTubeService->removeLiveEvent($broadcast, $channel); } catch (\Google_Service_Exception $ex) { /** @var LoggerInterface $logger */ $logger = $this->getConfigurationPool()->getContainer()->get('logger'); $logger->warning($ex->getMessage()); } } } parent::preRemove($broadcast); }
/** * Test get methods. */ public function testGetMethods() { $now = new \DateTime(); $endTime = new \DateTime('+1 hour'); $broadcast = new LiveBroadcast(); $broadcast->setName('Test'); $broadcast->setDescription('Description of broadcast'); self::assertEquals($now, $broadcast->getStartTimestamp()); self::assertEquals($endTime, $broadcast->getEndTimestamp()); self::assertEquals(new ArrayCollection(), $broadcast->getOutputChannels()); self::assertEquals('Test', $broadcast->getName()); self::assertEquals('Description of broadcast', $broadcast->getDescription()); /* Check default value */ self::assertTrue($broadcast->isStopOnEndTimestamp()); $broadcast->setStopOnEndTimestamp(false); self::assertFalse($broadcast->isStopOnEndTimestamp()); }
/** * @param LiveBroadcast $plannedBroadcast */ protected function startBroadcastOnChannels(LiveBroadcast $plannedBroadcast) { $channels = $plannedBroadcast->getOutputChannels(); foreach ($channels as $channel) { $isChannelBroadcasting = false; foreach ($this->runningBroadcasts as $runningBroadcast) { if ($runningBroadcast->isBroadcasting($plannedBroadcast, $channel)) { $isChannelBroadcasting = true; } if ($runningBroadcast->isMonitor()) { $switchMonitorEvent = new SwitchMonitorEvent($runningBroadcast, $plannedBroadcast, $channel); $this->dispatcher->dispatch(SwitchMonitorEvent::NAME, $switchMonitorEvent); } } if (!$isChannelBroadcasting) { $this->startBroadcast($plannedBroadcast, $channel); } } }