Browse Source
Merge pull request #38498 from nextcloud/feat-replace-id3parser-with-mp3info
Replace id3parser with mp3info
pull/38839/head
F. E Noel Nfebe
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
7 additions and
12 deletions
-
3rdparty
-
lib/private/Preview/MP3.php
|
|
|
@ -1 +1 @@ |
|
|
|
Subproject commit 216b791c9081f06a4ed6581a436020647dd41bbd |
|
|
|
Subproject commit 268aaeff738002179c0f5e9d9542ec362d987a5f |
|
|
|
@ -28,11 +28,10 @@ |
|
|
|
*/ |
|
|
|
namespace OC\Preview; |
|
|
|
|
|
|
|
use ID3Parser\ID3Parser; |
|
|
|
|
|
|
|
use OCP\Files\File; |
|
|
|
use OCP\IImage; |
|
|
|
use Psr\Log\LoggerInterface; |
|
|
|
use wapmorgan\Mp3Info\Mp3Info; |
|
|
|
|
|
|
|
class MP3 extends ProviderV2 { |
|
|
|
/** |
|
|
|
@ -46,11 +45,12 @@ class MP3 extends ProviderV2 { |
|
|
|
* {@inheritDoc} |
|
|
|
*/ |
|
|
|
public function getThumbnail(File $file, int $maxX, int $maxY): ?IImage { |
|
|
|
$getID3 = new ID3Parser(); |
|
|
|
|
|
|
|
$tmpPath = $this->getLocalFile($file); |
|
|
|
|
|
|
|
try { |
|
|
|
$tags = $getID3->analyze($tmpPath); |
|
|
|
$audio = new Mp3Info($tmpPath, true); |
|
|
|
/** @var string|null|false $picture */ |
|
|
|
$picture = $audio->getCover(); |
|
|
|
} catch (\Throwable $e) { |
|
|
|
\OC::$server->get(LoggerInterface::class)->info($e->getMessage(), [ |
|
|
|
'exception' => $e, |
|
|
|
@ -61,12 +61,7 @@ class MP3 extends ProviderV2 { |
|
|
|
$this->cleanTmpFiles(); |
|
|
|
} |
|
|
|
|
|
|
|
$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)) { |
|
|
|
if (is_string($picture)) { |
|
|
|
$image = new \OCP\Image(); |
|
|
|
$image->loadFromData($picture); |
|
|
|
|
|
|
|
|