From 04a4234b9eba85dc1a2f690c12e6a59381a74a54 Mon Sep 17 00:00:00 2001
From: Georg Ehrke <georg@ownCloud.com>
Date: Fri, 17 May 2013 11:32:42 +0200
Subject: [PATCH] implement mp3 preview backend

---
 lib/preview/mp3.php | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/lib/preview/mp3.php b/lib/preview/mp3.php
index 2481e74378..f5fac0b836 100644
--- a/lib/preview/mp3.php
+++ b/lib/preview/mp3.php
@@ -5,14 +5,30 @@
  * later.
  * See the COPYING-README file.
  */
+require_once('getid3/getid3.php');
+
 class OC_Preview_MP3 extends OC_Preview_Provider{
 
 	public function getMimeType(){
 		return '/audio\/mpeg/';
 	}
 
-	public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {	
+	public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+		$getID3 = new getID3(); 
+		//Todo - add stream support
+		$tags = $getID3->analyze($fileview->getLocalFile($path)); 
+		getid3_lib::CopyTagsToComments($tags); 
+		$picture = @$tags['id3v2']['APIC'][0]['data'];
+		
+		$image = new \OC_Image($picture);
+		if (!$image->valid()) return $this->getNoCoverThumbnail($maxX, $maxY);
 		
+		return $image;
+	}
+	
+	public function getNoCoverThumbnail($maxX, $maxY){
+		$image = new \OC_Image();
+		return $image;
 	}
 
 }
-- 
GitLab