53640bbc47
* Fixes #2739 It tries to create an image from an SVG file. Which we don't support. So this fails and prints an log line. Then we fall back anyways to the 404 and fetch the default icon. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
66 lines
1.8 KiB
PHP
66 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
|
*
|
|
* @author Georg Ehrke <georg@owncloud.com>
|
|
* @author Hendrik Leppelsack <hendrik@leppelsack.de>
|
|
* @author Joas Schilling <coding@schilljs.com>
|
|
* @author Lukas Reschke <lukas@statuscode.ch>
|
|
* @author Olivier Paroz <github@oparoz.com>
|
|
* @author Thomas Tanghus <thomas@tanghus.net>
|
|
*
|
|
* @license AGPL-3.0
|
|
*
|
|
* This code is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License, version 3,
|
|
* as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License, version 3,
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
|
*
|
|
*/
|
|
namespace OC\Preview;
|
|
|
|
use ID3Parser\ID3Parser;
|
|
|
|
class MP3 extends Provider {
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
public function getMimeType() {
|
|
return '/audio\/mpeg/';
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
|
|
$getID3 = new ID3Parser();
|
|
|
|
$tmpPath = $fileview->toTmpFile($path);
|
|
$tags = $getID3->analyze($tmpPath);
|
|
unlink($tmpPath);
|
|
$picture = isset($tags['id3v2']['APIC'][0]['data']) ? $tags['id3v2']['APIC'][0]['data'] : null;
|
|
if(is_null($picture) && isset($tags['id3v2']['PIC'][0]['data'])) {
|
|
$picture = $tags['id3v2']['PIC'][0]['data'];
|
|
}
|
|
|
|
if(!is_null($picture)) {
|
|
$image = new \OC_Image();
|
|
$image->loadFromData($picture);
|
|
|
|
if ($image->valid()) {
|
|
$image->scaleDownToFit($maxX, $maxY);
|
|
|
|
return $image;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|