[gelöst] NOAD-FFMPEG Patch bereitstellen?

  • Hi Leuts,


    wer kann diesen Patch auf einem Server bereitstellen? Der Patch wird für NOAD benötigt wenn NOAD mit dem aktuellen FFMPEG übersetzt werden soll. Der Patch sollte so heißen:


    new-ffmpeg-extern-c.diff


    Hier der Patch:


    Index: noad-0.6.1/audiotools.cpp
    ===================================================================
    --- noad-0.6.1.orig/audiotools.cpp
    +++ noad-0.6.1/audiotools.cpp
    @@ -3,7 +3,9 @@
    #ifdef HAVE_LIBAVCODEC

    #include "mpeg2wrap.h"
    +extern "C" {
    #include "avcodec.h"
    +}

    #define MIN_LOWVALS 3
    #define CUT_VAL 10



    Vielen Dank!

  • hab gerade gesehen das der Patch gar nicht geht? Kennt sich damit jemand aus? Folgender Fehler kommt beim anwenden:


    patching file audiotools.cpp
    Hunk #1 FAILED at 3.
    1 out of 1 hunk FAILED -- saving rejects to file audiotools.cpp.rej

  • Hi,


    das Thema hatten wir schon mal hier im Portal. Die Version 0.6.1 gibt es auf jedenfall und diese ist auch etwas erweitert gegenüber der 0.6.0.


    Aber mal egal...das Problem ist mit der NOAD 0.6.0 sowie 0.6.1 kann nicht mit dem aktuellen FFMPEG aus dem CVS übersetzt werden. Deshalb der Patch. Den Patch habe ich so aus dem Wiki übernommen ist also nicht von mir...auch der Name stand dort so drin.


    Kann sich da mal jemand den Patch anschauen und gegebenfalls anpassen das NOAD mit dem aktuellen FFMPEG durchläuft? Danke!

  • Zitat

    Original von FireFly


    ...es könnte ja auch für xine sein, oder für Excel??


    ein *.diff auf Excel das will ich sehen ;)

  • Hi,


    nochmal kurz zu dem Problem. Wenn ich NOAD ohne den Patch mit externem FFMPEG übersetzen will kommt diese Fehlermeldung:


    main.cpp:360:56: warning: trigraph ??( ignored, use -trigraphs to enable
    g++ -g -O3 -L/usr/local/lib -o noad cchecklogo.o ccontrol.o cgetlogo.o ctoolbox.o noad.o tnoad.o noaddata.o audiotools.o main.o libnoad.a -lavcodec -lmpeg2
    audiotools.o: In function `scan_audio_stream_0(unsigned char*, int)':
    /tmp/noad-0.6.1/audiotools.cpp:101: undefined reference to `avcodec_decode_audio(AVCodecContext*, short*, int*, unsigned char*, int)'
    audiotools.o: In function `exitAVCodec()':
    /tmp/noad-0.6.1/audiotools.cpp:70: undefined reference to `avcodec_close(AVCodecContext*)'
    audiotools.o: In function `initAVCodec()':
    /tmp/noad-0.6.1/audiotools.cpp:41: undefined reference to `avcodec_init()'
    /tmp/noad-0.6.1/audiotools.cpp:45: undefined reference to `avcodec_register_all()'
    /tmp/noad-0.6.1/audiotools.cpp:48: undefined reference to `avcodec_find_decoder(CodecID)'
    /tmp/noad-0.6.1/audiotools.cpp:55: undefined reference to `avcodec_alloc_context()'
    /tmp/noad-0.6.1/audiotools.cpp:58: undefined reference to `avcodec_open(AVCodecContext*, AVCodec*)'
    collect2: ld returned 1 exit status
    make[1]: *** [noad] Error 1
    make[1]: Leaving directory `/tmp/noad-0.6.1'
    make: *** [all] Error 2


    so danach habe ich in der Datei "audiotools.cpp" das hier gemacht:


    von:
    #include "avcodec.h"


    nach:
    +extern "C" {
    #include "avcodec.h"
    }


    und nochmals neu übersetzt. Es geht auch ein Stück weiter bleibt dann aber da stehen:


    make[1]: Entering directory `/tmp/noad-0.6.1'
    if g++ -DHAVE_CONFIG_H -I. -I. -I. -I/usr/local/include/ffmpeg -I/usr/include/mpeg2dec -D_GNU_SOURCE -g -O3 -MT audiotools.o -MD -MP -MF ".deps/audiotools.Tpo" \
    -c -o audiotools.o `test -f 'audiotools.cpp' || echo './'`audiotools.cpp; \
    then mv -f ".deps/audiotools.Tpo" ".deps/audiotools.Po"; \
    else rm -f ".deps/audiotools.Tpo"; exit 1; \
    fi
    audiotools.cpp:6: error: expected unqualified-id before ‘+’ token
    make[1]: *** [audiotools.o] Error 1
    make[1]: Leaving directory `/tmp/noad-0.6.1'
    make: *** [all] Error 2

  • Zitat

    Original von amair
    Hi!


    Das "+" am Zeilenanfang muss weg. Ist nur ein Zeichen im diff damit der patch Befehl weiß was er tun muss.


    Gruß,
    Andreas


    das wars danke!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!