...
 
Commits (3)
......@@ -163,6 +163,7 @@ class media implements Interfaces\Api, Interfaces\ApiIgnorePam
$body = $req['body'];
fwrite($fp, $body);
$video->access_id = 0;
$video->patch(['full_hd', Core\Session::getLoggedinUser()->isPro()]);
$video->upload($tmpFilename);
$guid = $video->save();
fclose($fp);
......
......@@ -10,6 +10,8 @@ namespace Minds\Controllers\api\v2\media;
use Minds\Api\Factory;
use Minds\Core\Di\Di;
use Minds\Core\Media\ClientUpload\Manager;
use Minds\Core\Session;
use Minds\Interfaces;
use Minds\Core\Media\ClientUpload\ClientUploadLease;
......@@ -38,6 +40,7 @@ class upload implements Interfaces\Api
*/
public function put($pages)
{
/** @var Manager $manager */
$manager = Di::_()->get("Media\ClientUpload\Manager");
switch ($pages[0]) {
case 'prepare':
......@@ -55,7 +58,9 @@ class upload implements Interfaces\Api
$lease->setGuid($guid)
->setMediaType($mediaType);
$manager->complete($lease);
$manager
->setFullHD(Session::getLoggedinUser()->isPro())
->complete($lease);
break;
}
return Factory::response([]);
......
......@@ -12,15 +12,28 @@ use Minds\Entities\Video;
class Manager
{
/** @var FFMepg */
/** @var FFMpeg */
private $ffmpeg;
/** @var Guid $guid */
private $guid;
/** @var bool */
private $full_hd;
/** @var Save $save */
private $save;
/**
* @param bool $value
* @return Manager
*/
public function setFullHD(bool $value): Manager {
$this->full_hd = $value;
return $this;
}
public function __construct(
FFMpeg $FFMpeg = null,
GuidBuilder $guid = null,
......@@ -70,12 +83,16 @@ class Manager
$video->set('guid', $lease->getGuid());
$video->set('cinemr_guid', $lease->getGuid());
$video->set('access_id', 0); // Hide until published
$video->setFlag('full_hd', $this->full_hd);
// Save the video
$this->save->setEntity($video)->save();
$this->ffmpeg->setKey($lease->getGuid());
// Set the full hd flag
$this->ffmpeg->setFullHD($this->full_hd);
// Start the transcoding process
$this->ffmpeg->transcode();
......
......@@ -154,6 +154,7 @@ class FFMpeg implements ServiceInterface
->setQueue('Transcode')
->send([
'key' => $this->key,
'full_hd' => $this->full_hd,
]);
return $this;
......
......@@ -13,9 +13,11 @@ class Transcode implements Interfaces\QueueRunner
$client = Core\Queue\Client::Build();
$client->setQueue("Transcode")
->receive(function ($data) {
$d = $data->getData();
echo "Received a transcode request \n";
$transcoder = new Core\Media\Services\FFMpeg();
$transcoder->setKey($data->getData()['key']);
$transcoder->setKey($d['key']);
$transcoder->setFullHD($d['full_hd']);
$transcoder->onQueue();
}, [ 'max_messages' => 1 ]);
}
......
......@@ -118,7 +118,6 @@ class Video extends Object
'license',
'monetized',
'mature',
'full_hd',
'boost_rejection_reason',
'time_sent',
]);
......