/**
  * @param LiveBroadcast  $liveBroadcast
  * @param OutputFacebook $outputFacebook
  * @return null|string
  * @throws LiveBroadcastOutputException
  */
 public function createFacebookLiveVideo(LiveBroadcast $liveBroadcast, OutputFacebook $outputFacebook)
 {
     if (!$this->facebookSDK) {
         $this->initFacebook();
     }
     try {
         $params = array('title' => $liveBroadcast->getName(), 'description' => $liveBroadcast->getDescription());
         $this->facebookSDK->setDefaultAccessToken($outputFacebook->getAccessToken());
         $response = $this->facebookSDK->post($outputFacebook->getEntityId() . '/live_videos', $params);
     } catch (FacebookResponseException $ex) {
         throw new LiveBroadcastOutputException('Facebook exception: ' . $ex->getMessage());
     } catch (FacebookSDKException $ex) {
         throw new LiveBroadcastOutputException('Facebook SDK exception: ' . $ex->getMessage());
     }
     $body = $response->getDecodedBody();
     if (array_key_exists('stream_url', $body)) {
         return $body['stream_url'];
     }
     return null;
 }
 /**
  * Test if the channelType is correct for this output
  */
 public function testGetChannelType()
 {
     $facebook = new OutputFacebook();
     self::assertEquals(ChannelFacebook::class, $facebook->getChannelType());
 }