[Patch] Ogg/Vorbis-Support und externalize für Streamripper

make

Neuer User
Mitglied seit
15 Feb 2008
Beiträge
123
Punkte für Reaktionen
0
Punkte
16
Hallo allerseits,

nach tagelangem Rätseln über autotools, static pattern rules und dergleichen mehr hab ich es doch noch geschafft. Anbei sind 6 Dateien mit Änderungen (nicht nur) für Streamripper:
  • Ogg/Vorbis
    • Zwei Pakete mit den Ogg/Vorbis libs (libogg, libvorbis, libvorbisenc, libvorbisfile, wobei die Vorbis-Libraries analog zu den glib2-Modulen auch getrennt installierbar sind). Alle 4 Libraries hab ich unter Shared Libraries->Ogg/Vorbis im menuconfig untergebracht. (Anhang: oggvorbis.libs.tgz, oggvorbis.libs.patch.txt)
    • external-Unterstützung, für alle libs separat konfigurierbar (Anhang: oggvorbis_make_externalizable.patch.txt)
  • Streamripper
    • Support zum Aufzeichnen von Ogg-Streams (Anhang: streamripper_add_ogg_support.patch.txt)
    • external-Unterstützung (Anhänge: streamripper_make_externalizable.tgz + streamripper_make_externalizable.patch.txt)
Ich lasse Streamripper dynamisch gegen die Ogg/Vorbis-Libraries linken, damit die libs auch noch für andere Programme verwendet werden können (Stichwort minidlna). Der Ogg/Vorbis-Support von Streamripper muss per menuconfig eingeschaltet werden, der bisherige Leistungsumfang ohne Ogg-Support ist die Standard-Einstellung. Mit Ogg/Vorbis wird das komprimierte Image etwa 100kB größer (ca 220 kB Zuwachs unkomprimiert).
Die Libs werden also analog zu glib2, readline usw. im toolchain-Verzeichnis "installiert". Mir fällt gerade auf, dass ich kein Target vorgesehen habe, dass _nur_ die statischen libs baut und zusammen mit den Headern installiert (würde man für das statische Linken benötigt). Aber es geht sicher auch erstmal ohne.

Die Patches sind gegen den aktuellen Trunk (Revision 4352). Getestet hab ich alles auf bzw. mit einer 7270. Bei der external-Unterstützung habe ich mich an anderen Paketen orientiert, allerdings ist das ungetestet, da ich selber kein external verwende.

Würde mich freuen, wenn mal einer von den Experten einen Blick auf die Sachen wirft und ggf. Verbesserungsvorschläge macht. An der einen oder anderen Stelle fehlen (mir) einfach die Infos, welche Dinge am besten wie gemacht werden sollten. Aber ich lerne gerne dazu...
 

Anhänge

  • oggvorbis.libs.tgz
    2.2 KB · Aufrufe: 4
  • oggvorbis.libs.patch.txt
    2.1 KB · Aufrufe: 6
  • oggvorbis_make_externalizable.patch.txt
    3 KB · Aufrufe: 3
  • streamripper_add_ogg_support.patch.txt
    4 KB · Aufrufe: 2
  • streamripper_make_externalizable.tgz
    284 Bytes · Aufrufe: 3
  • streamripper_make_externalizable.patch.txt
    1.2 KB · Aufrufe: 3
Hi.
Hab deine Patches eingecheckt. Schaust du bitte mal drüber, ob ich auch alles erwischt hab?

Gruß
Oliver
 
Ich hab gerade den letzten Stand gebaut (also mit den beiden Korrekturen). Irgendwo ist da aber noch der Wurm drin, in meinem image fehlt /usr/lib/libvorbis*, obwohl via streamripper ausgewählt. libogg wird kopiert. Muss ich mir nochmal ansehen.

Hmm, da brauche ich wohl doch mal eure Hilfe. Was ich sehe ist:

- libvorbis wird in der toolchain installiert (deswegen baut streamripper auch durch)
- libvorbis* ist unter .../build/modified/filesystem/usr/lib vorhanden
- libvorbis* fehlt unter ./root/usr/lib

[UPDATE]
Fehler gefunden. Mir ist in libvorbis.mk eine schliessende Klammer verloren gegangen. Deswegen wurde INSTALL_LIBRARY_STRIP nicht aufgerufen.
Oliver, kannst du bitte den angehängten Patch auf den Trunk anwenden -- danach wird libvorbis auch ins image kopiert.

Danke!
 

Anhänge

  • libvorbis_fix_missing_brace.patch.gz
    754 Bytes · Aufrufe: 1
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.