JFIF  x x C         C     "        } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz        w !1AQ aq"2B #3Rbr{ gilour

File "HandlesConcatenation.php"

Full Path: /home/u743136113/domains/arvi.seezify.com/public_html/vendor/pbmedia/laravel-ffmpeg/src/Exporters/HandlesConcatenation.php
File size: 1.2 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace ProtoneMedia\LaravelFFMpeg\Exporters;

use ProtoneMedia\LaravelFFMpeg\Filesystem\Media;

trait HandlesConcatenation
{
    /**
     * @var boolean
     */
    protected $concatWithTranscoding = false;

    /**
     * @var boolean
     */
    protected $concatWithVideo = false;

    /**
     * @var boolean
     */
    protected $concatWithAudio = false;

    public function concatWithTranscoding(bool $hasVideo = true, bool $hasAudio = true): self
    {
        $this->concatWithTranscoding = true;
        $this->concatWithVideo       = $hasVideo;
        $this->concatWithAudio       = $hasAudio;

        return $this;
    }

    private function addConcatFilterAndMapping(Media $outputMedia)
    {
        $sources = $this->driver->getMediaCollection()->map(function ($media, $key) {
            return "[{$key}]";
        });

        $concatWithVideo = $this->concatWithVideo ? 1 : 0;
        $concatWithAudio = $this->concatWithAudio ? 1 : 0;

        $this->addFilter(
            $sources->implode(''),
            "concat=n={$sources->count()}:v={$concatWithVideo}:a={$concatWithAudio}",
            '[concat]'
        )->addFormatOutputMapping($this->format, $outputMedia, ['[concat]']);
    }
}