Dann sollte das addon bei dir eigentlich wieder starten, das löschen hat nur den Grund ein Update der Datei zu erzwingen, da das addon bei einer nicht zu alten Datei versucht diese zu öffnen statt sie zu ersetzen.
Beiträge von blubbblubb
-
-
Den Dateimanager/Filemanager findest du in den Einstellungen dort dann folgenden pfad auswählen "profile directory/addon_data/plugin.video.mediathekdirekt" da gibt es dann die good.json die du in dem rechtsklick menü löschen kannst
-
du kannst dir manuell die version aus dem Pull Request installieren (https://github.com/lausitzer/plug…hive/master.zip), dann geht es auch wieder, du musst dann nur auch die good.json über den dateimanager löschen
-
Es liegt wohl daran, dass die json datei als komprimierte Datei heruntergeladen wird, das Addon aber von einer unkomprimierten ausgeht. Auf Github wurde ein Pull Request erstellt der das Problem behebt, leider gab es noch keine Rückmeldung vom Entwickler: https://github.com/dojomo/plugin.…ekdirekt/pull/2
Im Kodinerds Repo ist zudem noch die nicht ganz aktuelle 0.0.11 enthalten und nicht die 0.0.12 wie kann man da ein Update anstoßen?
-
Das Addon ist wirklich gelungen, und wenn man dann noch bedenkt dass es das erste erstelle Addon ist - Hut ab
Ein paar Sachen sind mir dann aber noch aufgefallen die abgeschnittenen Beschreibungstexte sind unschön aber scheinbar ein Problem der Quelldaten und daher wohl nicht ohne weiteres behebbar.
Die Sortiermöglichkeiten müsste man aber wohl noch ergänzen können, momentan gibt es ja scheinbar nur die Sortierung nach dem Namen, ich würde mir noch eine Sortierung nach Datum wünschen.
Die Sortierung nach Namen führt durch die Nutzung von ausgeschriebenen Monatsnamen und dem Anfangen mit dem Datum anstelle des Jahres leider oft zu komischen Sortierungen.
Bsp.
Bares für Rares - Lieblingsstücke vom 16. April 2017 ist umgeben von anderen Episoden die an einem Tag ausgestrahlt wurden der mit 1 beginnt. Die nächste Folge vom 23. April würde sobald sie erscheint wohl mindestens 6-7 Einträge weiter unten erscheinen.
Eine Sortierung nach Uploaddatum würde das umgehen.Es wurde ja nun auch schon ein paar mal erwähnt warum es oftmals keine HD Fassungen gibt. Gab es denn schon Versuche mit den Betreibern von mediathekdirekt.de Kontakt aufzunehmen und diese umzustimmen vorzugsweise die HD Links in ihre JSON aufzunehmen?
Es gibt ja oftmals HD Fassungen in der Mediathek selbst, die über das Addon aber nicht Abrufbar sind. Ein Beispiel wären die "Bares für Rares" Folgen, diese lassen sich über Mediathekview alle in HD herunterladen im Addon jedoch nur in SD.Da mediathekdirekt.de die Mediathekview Listen als Basis nimmt sehe ich keinen Grund warum man nicht entweder alle Links aufnimmt (damit dann jeder anhand seiner Internetleitung entscheiden kann) oder zumindest die bestmöglichste Qualität.
-
So ich hab heute nun auch mal wieder hier reingeguckt, ich habe soeben die neuste Version von Kodi kompiliert (Git Commit: de2b170), auf Arch linux mit dem AUR Paket (macht ein paar Arch spezifische Änderungen und hat ein paar Optionen für den ./configure Schritt -> Details hier)
Danach noch nach der Readme die binary Addons kompilieren mit:
Der Prefix kann sich natürlich je nach Installation ändern, sollte aber auf den meisten Linux Systemen so passen
Alternativ reicht bestimmt auch das letzte Nightly, dann einfach das installieren, es wurde ja schon erwähnt, dass dort scheinbar auch die binary addons enthalten sind.
Danach nur noch den decrypter Ordner unter /usr/share/kodi/addons/inputstream.mpd/ anlegen und dort die libssd_wv.so und die widevinecdm.so reinkopieren (Hier gibt es eine kleine Unstimmigkeit, ich weiß nicht ob es nur bei mir so ist, aber meine widevine Datei aus der Chrome installation heißt: libwidevinecdm.so, Kodi verlangt aber explizit "widevinecdm.so" also einfach einen symbolischen Link setzen oder die Datei umbenennen)
Dann noch wie zuvor beschrieben die settings.xml bearbeiten, oder wie ich die urls direkt über die Addon Einstellungen aus Kodi heraus eingegeben, da geht zwar kein copy&paste aber so lang sind die URLs ja auch nicht.
Die x64 Variante der libssd_wv.so die ich hier in den Anhang gepackt habe funktioniert ohne Probleme.
Auf dem Raspberry ist mir das jetzt zu anstrengend, da ich keine freie SD Karte zum testen herumliegen habe, aber dort sollte es dann genauso gehen nur eben mit der ARM Variante der libssd_wv.so und die widevine Datei aus einem ChromeOS Paket
Edit:
Das Problem mit dem vor springen hab ich auch, bei mir friert das Bild aber bei jeglichem vorwärts springen ein, egal ob 10Min oder 10s, wenn ich nach dem vorwärtssprung aber noch einen -10Min oder -10s Sprung mache läuft das Bild weiter, also als Notlösung auch verkraftbar
-
der decrypter selber ist ja open source, die widevine so/dll wird kodi nicht anbieten
Wobei ich auch nicht weiß ob die Kodi entwickler ein "unvollständiges" Addon aufnehmen würden, wobei man sich die libraries ja auf "normalen" rechnern leicht besorgen kann, dann hat das kodi addon einfach chrome als abhängigkeit, wird dann aber bei ARM schwierig da es da ja keine offen zugängliche version gibt
-
ist soweit alles korrekt, das Plugin für die mdp Streams wird momentan in Kodi eingepflegt (ich vermute der hier separat angebotene decrypter wird auch irgendwann in die offiziellen quellen kommen, in dem Beschreibungstext steht auch das decrypten schon vorbereitet ist und eingebaut werden kann, sonst halt hier eine kompilierte Version nehmen)
Sky hat ende letzten Jahres auch auf HTML5 und widevine sollte also machbar sein, ob und wann sich dafür aber ein Entwickler findet ist natürlich schlecht abzuschätzen
edit: zu langsam
-
Ich hab in den Einstellungen unter System-Logging [definition='1','3']Debug[/definition] Log aktiviert und Component Specific, da hab ich auch direkt alle Komponenten ausgewählt zum loggen.
Gibt es sonst noch Logging Einstellungen in Kodi? Schön wäre es ja wenn man sich nur für das inputstream einen ausführlichen [definition='1','0']log[/definition] anzeigen könnte.
-
Es existiert zumindest:
/usr/lib/kodi/addons/library.kodi.inputstream/libKODI_inputstream-x86_64-linux.somehr mit dem namen find ich nicht.
-
Ich glaub ich lass das für heute, gerade gemerkt, dass ich das Addon nicht wieder aktiviert hatte, hatte zeitweise mal mein kodi profil gelöscht um ganz frisch zu starten...
Jetzt meckert er in den logs aber, dass er die inputstream.mpd.so.1.0.0 nicht finden kann die liegt aber in /usr/lib/kodi/addons/inputstream.mpd/ und leseberechtigung hat auch jeder.
Hats schon wer unter linux zum laufen bekommen?
Code13:35:52 T:140238919997184 NOTICE: Creating InputStream 13:35:52 T:140238919997184 DEBUG: ADDON: Dll Initializing - Input Stream 13:35:52 T:140238919997184 NOTICE: ADDON: Loaded virtual child addon special://temp/inputstream.mpd-000.0 13:35:52 T:140238919997184 ERROR: ADDON: Could not locate inputstream.mpd.so.1.0.0
Ich vermute alles was danach passiert kann nicht mehr klappen, weil er ja dann gar nicht mit dem mpd Stream umgehen kann.Log vom anklicken der Episode bis zum Fehler im Anhang (ist zu lange für den Post)
Ne 1-Klick Lösung wird zumindest für den Raspberry wohl nicht funktionieren, dort gibt es ja keine widevine bibliotheken, die gibt es für ARM ja nur auf Chrome OS
-
Time out lag daran, dass ich mit einem VPN verbunden war... Jetzt lädt er schonmal die Episodenliste, abspielen geht aber noch nicht.
Ich hab die kompilierte libssd_wv.so und die widevine dateien in: /usr/lib/kodi/addons/http://inputstream.mpd/decrypter kopiert, dort sollten sie ja eigentlich richtig sein?
Edit: hier waren nichtssagende logs, weil ich vergessen habe das inputstream.mpd addon zu aktivieren...
hab mal die kompilierten Dateien für ARM (kompiliert auf Raspberry Pi 1 B) und x64 angehängt, ob die funktionieren kann ich nicht genau sagen, da ich ja selbst noch probleme damit habe
-
Also das kompilieren hat bei mir jetzt geklappt (hatte mir gestern abend noch Kodi kompiliert, hab aber die binary addons übersehen)
Ich bekomme nun aber Fehlermeldungen (kann aber sein das das damit zusammenhängt, dass ich momentan keinen echten Prime Account habe, bin nur übers Family Sharing eingeladen)
Geht das Plugin nur mit Accounts die vollen Zugriff haben? Ich wollte es gerade mit einer Pilot Folge der Amazon Originals testen, die kann ja eigentlich jeder gucken.
Bis Zeile 21 sieht auf den ersten Blick alles gut aus, auch die URL zur Serie stimmt, dann kommt ein Timeout. Ich müsste es nochmal mit einem Account testen der den vollen Zugriff auf instant video hat, oder sollten die frei verfügbaren Videos gehen?
Code
Alles anzeigen13:01:12 T:140366762202880 DEBUG: GetImageHash - unable to stat url /home/a/.kodi/userdata/addon_data/plugin.video.prime_instant/cache/fanart/B017AS8AY2.jpg 13:01:12 T:140366762202880 DEBUG: GetImageHash - unable to stat url /home/a/.kodi/userdata/addon_data/plugin.video.prime_instant/cache/fanart/B017AS7Y08.jpg 13:01:12 T:140366762202880 DEBUG: GetImageHash - unable to stat url /home/a/.kodi/userdata/addon_data/plugin.video.prime_instant/cache/fanart/B017E0D5U0.jpg 13:01:12 T:140366762202880 DEBUG: GetImageHash - unable to stat url /home/a/.kodi/userdata/addon_data/plugin.video.prime_instant/cache/fanart/B017AS7Y08.jpg 13:01:13 T:140368621074560 DEBUG: ------ Window Deinit (Pointer.xml) ------ 13:01:13 T:140368621074560 DEBUG: ProcessMouse: trying mouse action leftclick 13:01:13 T:140368621074560 DEBUG: CGUIMediaWindow::GetDirectory (plugin://plugin.video.prime_instant/?mode=listSeasons&name=Highston&showAll=true&thumb&url=B017AS7Y08) 13:01:13 T:140368621074560 DEBUG: ParentPath = [plugin://plugin.video.prime_instant/?mode=listOriginals&thumb&url&videoType] 13:01:13 T:140368142841600 DEBUG: Thread JobWorker start, auto delete: true 13:01:13 T:140368142841600 DEBUG: StartScript - calling plugin Amazon Prime Instant Video('plugin://plugin.video.prime_instant/','11','?mode=listSeasons&name=Highston&showAll=true&thumb&url=B017AS7Y08') 13:01:13 T:140368142841600 DEBUG: WaitOnScriptResult - waiting on the Amazon Prime Instant Video (id=18) plugin... 13:01:13 T:140367427237632 DEBUG: Thread LanguageInvoker start, auto delete: false 13:01:13 T:140367427237632 INFO: initializing python engine. 13:01:13 T:140367427237632 DEBUG: CPythonInvoker(18, /home/a/.kodi/addons/plugin.video.prime_instant-master/default.py): start processing 13:01:13 T:140367427237632 DEBUG: -->Python Interpreter Initialized<-- 13:01:13 T:140367427237632 DEBUG: CPythonInvoker(18, /home/a/.kodi/addons/plugin.video.prime_instant-master/default.py): the source file to load is "/home/a/.kodi/addons/plugin.video.prime_instant-master/default.py" 13:01:13 T:140367427237632 DEBUG: CPythonInvoker(18, /home/a/.kodi/addons/plugin.video.prime_instant-master/default.py): setting the Python path to /home/a/.kodi/addons/plugin.video.prime_instant-master:/home/a/.kodi/addons/script.module.mechanize/lib:/usr/lib/python27.zip:/usr/lib/python2.7:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/lib/python2.7/site-packages:/usr/lib/python2.7/site-packages/PIL:/usr/lib/python2.7/site-packages/gtk-2.0:/usr/lib/python2.7/site-packages/wx-3.0-gtk2 13:01:13 T:140367427237632 DEBUG: CPythonInvoker(18, /home/a/.kodi/addons/plugin.video.prime_instant-master/default.py): entering source directory /home/a/.kodi/addons/plugin.video.prime_instant-master 13:01:13 T:140367427237632 DEBUG: CPythonInvoker(18, /home/a/.kodi/addons/plugin.video.prime_instant-master/default.py): instantiating addon using automatically obtained id of "plugin.video.prime_instant" dependent on version 2.1.0 of the xbmc.python api 13:01:13 T:140366762202880 DEBUG: CAddonDatabase::SetLastUsed[plugin.video.prime_instant] took 26 ms 13:01:13 T:140367427237632 DEBUG: http://www.amazon.de/gp/product/B017AS7Y08 13:01:14 T:140368621074560 DEBUG: ------ Window Init (DialogBusy.xml) ------ 13:01:14 T:140368621074560 DEBUG: Window DialogBusy.xml was already loaded 13:01:14 T:140368621074560 DEBUG: Alloc resources: 0.09ms 13:01:16 T:140368621074560 DEBUG: Keyboard: scancode: 0x40, sym: 0x0134, unicode: 0x0000, modifier: 0x100 13:01:16 T:140368621074560 DEBUG: OnKey: alt-long-leftalt (0x104f0d4) pressed, action is 13:01:35 T:140368621074560 DEBUG: ------ Window Init (Pointer.xml) ------ 13:01:40 T:140368621074560 DEBUG: Keyboard: scancode: 0x40, sym: 0x0134, unicode: 0x0000, modifier: 0x100 13:01:40 T:140368621074560 DEBUG: OnKey: alt-long-leftalt (0x104f0d4) pressed, action is 13:01:40 T:140368621074560 DEBUG: ------ Window Deinit (Pointer.xml) ------ 13:01:43 T:140366762202880 DEBUG: Thread JobWorker 140366762202880 terminating (autodelete) 13:01:45 T:140367427237632 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! Error Type: <class 'socket.timeout'> Error Contents: timed out Traceback (most recent call last): File "/home/a/.kodi/addons/plugin.video.prime_instant-master/default.py", line 1297, in <module> listSeasons(name, url, thumb, showAll=showAllSeasons) File "/home/a/.kodi/addons/plugin.video.prime_instant-master/default.py", line 594, in listSeasons content = getUnicodePage(urlMain+"/gp/product/"+seriesID) File "/home/a/.kodi/addons/plugin.video.prime_instant-master/default.py", line 842, in getUnicodePage content = unicode(req.read(), encoding) File "/usr/lib/python2.7/socket.py", line 355, in read data = self._sock.recv(rbufsize) File "/usr/lib/python2.7/httplib.py", line 588, in read return self._read_chunked(amt) File "/usr/lib/python2.7/httplib.py", line 652, in _read_chunked value.append(self._safe_read(amt)) File "/usr/lib/python2.7/httplib.py", line 703, in _safe_read chunk = self.fp.read(min(amt, MAXAMOUNT)) File "/usr/lib/python2.7/socket.py", line 384, in read data = self._sock.recv(left) timeout: timed out -->End of Python script error report<-- 13:01:45 T:140368621074560 DEBUG: ------ Window Init (DialogNotification.xml) ------ 13:01:45 T:140368621074560 DEBUG: Window DialogNotification.xml was already loaded 13:01:45 T:140368621074560 DEBUG: Alloc resources: 0.00ms 13:01:45 T:140368164091648 INFO: CActiveAESink::OpenSink - initialize sink 13:01:45 T:140368164091648 DEBUG: CActiveAESink::OpenSink - trying to open device PULSE:Default 13:01:45 T:140368164091648 DEBUG: PulseAudio: Context authorizing 13:01:45 T:140368164091648 DEBUG: PulseAudio: Context setting name 13:01:45 T:140368164091648 DEBUG: PulseAudio: Context ready 13:01:45 T:140368164091648 DEBUG: PulseAudio: Stream ready 13:01:45 T:140368164091648 NOTICE: PulseAudio: Opened device Default in pcm mode with Buffersize 150 ms 13:01:45 T:140368164091648 DEBUG: CActiveAESink::OpenSink - PULSE Initialized: 13:01:45 T:140368164091648 DEBUG: Output Device : Default 13:01:45 T:140368164091648 DEBUG: Sample Rate : 44100 13:01:45 T:140368164091648 DEBUG: Sample Format : AE_FMT_FLOAT 13:01:45 T:140368164091648 DEBUG: Channel Count : 2 13:01:45 T:140368164091648 DEBUG: Channel Layout: FL,FR 13:01:45 T:140368164091648 DEBUG: Frames : 2205 13:01:45 T:140368164091648 DEBUG: Frame Size : 8 13:01:45 T:140367427237632 INFO: Python script stopped 13:01:45 T:140367427237632 DEBUG: Thread LanguageInvoker 140367427237632 terminating 13:01:45 T:140368142841600 DEBUG: WaitOnScriptResult - plugin exited prematurely - terminating 13:01:45 T:140368621074560 ERROR: GetDirectory - Error getting plugin://plugin.video.prime_instant/?mode=listSeasons&name=Highston&showAll=true&thumb&url=B017AS7Y08 13:01:45 T:140368621074560 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.prime_instant/?mode=listSeasons&name=Highston&showAll=true&thumb&url=B017AS7Y08) failed 13:01:45 T:140368621074560 DEBUG: CGUIMediaWindow::GetDirectory (plugin://plugin.video.prime_instant/?mode=listOriginals&thumb&url&videoType) 13:01:45 T:140368621074560 DEBUG: ParentPath = [plugin://plugin.video.prime_instant/?mode=browseTV&thumb&url&videoType] 13:01:45 T:140368621074560 DEBUG: Loading items: 12, directory: plugin://plugin.video.prime_instant/?mode=listOriginals&thumb&url&videoType sort method: 0, ascending: false 13:01:45 T:140367427237632 DEBUG: Thread BackgroundLoader start, auto delete: false 13:01:45 T:140368142841600 DEBUG: CAddonDatabase::SetLastUsed[plugin.video.prime_instant] took 17 ms 13:01:45 T:140367427237632 DEBUG: Thread BackgroundLoader 140367427237632 terminating 13:01:45 T:140368621074560 DEBUG: ------ Window Deinit (DialogBusy.xml) ------ 13:01:47 T:140368621074560 DEBUG: Keyboard: scancode: 0x40, sym: 0x0134, unicode: 0x0000, modifier: 0x100 13:01:47 T:140368621074560 DEBUG: OnKey: alt-long-leftalt (0x104f0d4) pressed, action is 13:01:50 T:140368621074560 DEBUG: ------ Window Deinit (DialogNotification.xml) ------ 13:02:15 T:140368142841600 DEBUG: Thread JobWorker 140368142841600 terminating (autodelete) 13:04:47 T:140368621074560 DEBUG: CAnnouncementManager - Announcement: OnScreensaverActivated from xbmc 13:04:47 T:140368621074560 DEBUG: GOT ANNOUNCEMENT, type: 4, from xbmc, message OnScreensaverActivated 13:04:47 T:140368621074560 DEBUG: ------ Window Init () ------ 13:04:47 T:140368621074560 DEBUG: Alloc resources: 0.00ms (0.00 ms skin load)
-
Kompilieren lief bei mir jetzt durch, ich musste den Pfad aber noch wie im vorherigen Post in der Makefile2 auf den absoluten Pfad ändern.
Jetzt mal schauen, wie lange das kompilieren auf nem raspberry braucht. Ist das teilen der fertig kompilierten Raspberry Version denn dann erlaubt? Die libwidevine*.so muss man sich wohl selbst besorgen, da es da wohl schwierigkeiten mit dem copyright gibt, wenn man die zum Download anbietet?
Edit:
Auch auf dem Pi musste bei mir der Pfad geändert werden, kompilieren ging dann aber in ca 10 Minuten. Also machbar. Bevor ich die Version hier anhänge warte ich erstmal ab ob das teilen der kompilierten Version ok ist. -
Bei mir unter Linux nach dem cmake:
Code20:50 $ make make[1]: *** No rule to make target '../lib/libbento4/CMakeFiles/bento4.dir/all', needed by 'CMakeFiles/ssd_wv.dir/all'. Stop. Makefile:83: recipe for target 'all' failed make: *** [all] Error 2
Nach ein wenig gucken hab ich in CmakeFiles/Makefile2 gesehen das weiter unten als Rule mit absoluten Pfaden gearbeitet wird:
Code# All Build rule for target. /home/a/inputstream.mpd/wvdecrypter/lib/libbento4/CMakeFiles/bento4.dir/all: $(MAKE) -f /home/a/inputstream.mpd/wvdecrypter/lib/libbento4/CMakeFiles/bento4.dir/build.make /home/a/inputstream.mpd/wvdecrypter/lib/libbento4/CMakeFiles/bento4.dir/depend
Nachdem ich das target von:
auf:geändert hab gings ein wenig weiter, bleibt dann aber hier hängen:
Code
Alles anzeigena@b /home/a/inputstream.mpd/wvdecrypter/build 21:04 $ make [ 0%] Building CXX object /home/a/inputstream.mpd/wvdecrypter/lib/libbento4/CMakeFiles/bento4.dir/Codecs/Ap4Mp4AudioInfo.cpp.o ... [ 96%] Building CXX object CMakeFiles/ssd_wv.dir/wvdecrypter.cpp.o /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp: In function ‘void Log(SSD_HOST::LOGLEVEL, const char*, ...)’: /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp:35:24: error: ‘va_start’ was not declared in this scope va_start(args, format); ^ /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp:37:14: error: ‘va_end’ was not declared in this scope va_end(args); ^ /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp: In constructor ‘WV_CencSingleSampleDecrypter::WV_CencSingleSampleDecrypter(std::__cxx11::string, const uint8_t*, size_t)’: /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp:236:1: error: jump to label ‘FAILURE’ [-fpermissive] FAILURE: ^ /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp:156:10: note: from here goto FAILURE; ^ /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp:162:16: note: crosses initialization of ‘unsigned int buf_size’ unsigned int buf_size = 32 + pssh_size; ^ /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp: At global scope: /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp:327:28: error: ‘dllexport’ was not declared in this scope SSD_DECRYPTER __declspec(dllexport) *CreateDecryptorInstance(SSD_HOST *h) ^ /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp:327:17: error: cannot declare variable ‘__declspec’ to be of abstract type ‘SSD_DECRYPTER’ SSD_DECRYPTER __declspec(dllexport) *CreateDecryptorInstance(SSD_HOST *h) ^ In file included from /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp:21:0: /home/a/inputstream.mpd/wvdecrypter/../src/SSD_dll.h:40:7: note: because the following virtual functions are pure within ‘SSD_DECRYPTER’: class SSD_DECRYPTER ^ /home/a/inputstream.mpd/wvdecrypter/../src/SSD_dll.h:44:23: note: virtual const char* SSD_DECRYPTER::Supported(const char*, const char*) virtual const char *Supported(const char* licenseType, const char *licenseKey) = 0; ^ /home/a/inputstream.mpd/wvdecrypter/../src/SSD_dll.h:45:42: note: virtual AP4_CencSingleSampleDecrypter* SSD_DECRYPTER::CreateSingleSampleDecrypter(AP4_DataBuffer&) virtual AP4_CencSingleSampleDecrypter *CreateSingleSampleDecrypter(AP4_DataBuffer &streamCodec) = 0; ^ /home/a/inputstream.mpd/wvdecrypter/wvdecrypter.cpp:327:39: error: expected ‘,’ or ‘;’ before ‘*’ token SSD_DECRYPTER __declspec(dllexport) *CreateDecryptorInstance(SSD_HOST *h) ^ CMakeFiles/ssd_wv.dir/build.make:62: recipe for target 'CMakeFiles/ssd_wv.dir/wvdecrypter.cpp.o' failed make[2]: *** [CMakeFiles/ssd_wv.dir/wvdecrypter.cpp.o] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/ssd_wv.dir/all' failed make[1]: *** [CMakeFiles/ssd_wv.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2
Fehlen mir vielleicht irgendwelche abhängigkeiten?