feat: replace id3parser with mp3info

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
This commit is contained in:
Daniel Kesselberg 2023-05-28 16:57:21 +02:00
parent fbc63fe57c
commit 3757f390c3
No known key found for this signature in database
GPG Key ID: 36E3664E099D0614
2 changed files with 7 additions and 12 deletions

@ -1 +1 @@
Subproject commit 216b791c9081f06a4ed6581a436020647dd41bbd
Subproject commit 268aaeff738002179c0f5e9d9542ec362d987a5f

View File

@ -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);