If set to transcode on cron runs, using FFmpeg transcoder, and the path to the local video file has become incorrect somehow, OR the remote file can't be fetched (assuming ... I'm only working with local files, but the code certainly suggests this issue) the cron queue item never gets cleared. The error check isn't properly triggering an abort of the function.
In TranscoderAbstractionFactoryFfmpeg.inc line 31:
$srcuri = $this->settings['input']['uri'];
$srcpath = drupal_realpath($srcuri);
if (empty($srcpath)) {
// If stored on a remote file system, such as S3, download the video to a temporary file.
$srcpath = video_utility::createTemporaryLocalCopy($srcuri);
...
... I thought I knew the fix until I looked at my code and did a facepalm...
What we need is the statement to essentially be:
if(empty($srcpath) && THE_URI_IS_EXTERNAL){
Seeing if I can tackle that.
Comments
Comment #2
hermes_costell CreditAttribution: hermes_costell as a volunteer commentedComment #3
hermes_costell CreditAttribution: hermes_costell as a volunteer commentedI haven't tested this deeply yet but it appears:
(empty($srcpath) && url_is_external($srcpath) == TRUE)
Is the fix. In fact why not use url_is_external() instead of empty($srcpath) ?
Comment #4
apaderno