Ticket #3233: mythtv-0.21-nolame.patch

File mythtv-0.21-nolame.patch, 9.3 KB (added by coling, 16 years ago)

Update of Anssi's patch for 0.21 (mythtv only)

  • configure

     
    9595  echo "  --enable-libfaad         enable FAAD support via libfaad [default=no]"
    9696  echo "  --enable-libfaadbin      open libfaad.so.0 at runtime [default=no]"
    9797  echo "  --enable-libgsm          enable GSM support via libgsm [default=no]"
    98   echo "  --enable-libmp3lame      enable MP3 encoding via libmp3lame [default=no]"
     98  echo "  --disable-libmp3lame     disable MP3 encoding/playback via libmp3lame [default=no]"
    9999  echo "  --enable-libnut          enable NUT (de)muxing via libnut,"
    100100  echo "                           native demuxer exists [default=no]"
    101101  echo "  --enable-libtheora       enable Theora encoding via libtheora [default=no]"
     
    11581158iptv="yes"
    11591159ivtv="yes"
    11601160joystick_menu="default"
    1161 lamemp3="yes"
     1161libmp3lame="yes"
    11621162lirc="yes"
    11631163opengl="yes"
    11641164v4l="yes"
     
    26342634#has_library libmysqlclient || has_library mysql/libmysqlclient ||
    26352635#    die "ERROR! You must have a MySQL library installed to run MythTV."
    26362636#
    2637 enabled lamemp3 && has_library libmp3lame && has_header lame/lame.h ||
    2638     die "ERROR! You must have the Lame MP3 encoding library installed to compile MythTV."
     2637enabled libmp3lame && has_library libmp3lame && has_header lame/lame.h || disable libmp3lame
    26392638
    26402639#test for lirc client libraries and headers
    26412640enabled lirc && has_library liblirc_client && check_header lirc/lirc_client.h || disable lirc
     
    32983297    append CCONFIG "using_live"
    32993298fi
    33003299
     3300if enabled libmp3lame; then
     3301    append CCONFIG "using_lame"
     3302    echo "CONFIG_MP3_LIBS=-lmp3lame" >> $MYTH_CONFIG_MAK
     3303fi
     3304
    33013305if enabled lirc; then
    33023306  echo "CONFIG_LIRC_LIBS=-llirc_client" >> $MYTH_CONFIG_MAK
    33033307fi
  • libs/libmythtv/NuppelVideoRecorder.cpp

     
    6969    pid = pid2 = 0;
    7070    inputchannel = 1;
    7171    compression = 1;
     72#ifdef LAME
    7273    compressaudio = 1;
     74#else
     75    compressaudio = 0;
     76#endif
    7377    usebttv = 1;
    7478    w = 352;
    7579    h = 240;
     
    8185    framerate_multiplier = 1.0;
    8286    height_multiplier = 1.0;
    8387
     88#ifdef LAME
     89    mp3buf = NULL;
    8490    mp3quality = 3;
    8591    gf = NULL;
     92#endif
     93
    8694    rtjc = NULL;
    8795    strm = NULL;   
    88     mp3buf = NULL;
    8996
    9097    transcoding = false;
    9198
     
    183190    }
    184191    if (rtjc)
    185192        delete rtjc;
     193#ifdef LAME
    186194    if (mp3buf)
    187195        delete [] mp3buf;
    188196    if (gf)
    189         lame_close(gf); 
     197        lame_close(gf);
     198#endif
    190199    if (strm)
    191200        delete [] strm;
    192201    if (fd >= 0)
     
    302311        hmjpg_vdecimation = value;
    303312    else if (opt == "audiocompression")
    304313        compressaudio = value;
     314#ifdef LAME
    305315    else if (opt == "mp3quality")
    306316        mp3quality = value;
     317#endif
    307318    else if (opt == "samplerate")
    308319        audio_samplerate = value;
    309320    else if (opt == "audioframesize")
     
    397408    if ((tmp = profile->byName("audiocodec")))
    398409        setting = tmp->getValue();
    399410
     411#ifdef LAME
    400412    if (setting == "MP3")
    401413    {
    402414        SetOption("audiocompression", 1);
    403415        SetIntOption(profile, "mp3quality");
    404416        SetIntOption(profile, "samplerate");
    405417    }
    406     else if (setting == "Uncompressed")
     418    else
     419#endif
     420         if (setting == "Uncompressed")
    407421    {
    408422        SetOption("audiocompression", 0);
    409423        SetIntOption(profile, "samplerate");
     
    734748
    735749    if (compressaudio)
    736750    {
     751#ifdef LAME
    737752        gf = lame_init();
    738753        lame_set_bWriteVbrTag(gf, 0);
    739754        lame_set_quality(gf, mp3quality);
     
    754769                    "AudioInit(): lame support requires 16bit audio");
    755770            compressaudio = false;
    756771        }
     772#else
     773        VERBOSE(VB_IMPORTANT, LOC_ERR +
     774                "AudioInit(): support for LAME MP3 compression not enabled, disabling");
     775        compressaudio = false;
     776#endif
    757777    }
     778
     779#ifdef LAME
    758780    mp3buf_size = (int)(1.25 * 16384 + 7200);
    759781    mp3buf = new char[mp3buf_size];
     782#endif
    760783
    761784    return 0;
    762785}
     
    19972020        moredata.rtjpeg_chroma_filter = M2;
    19982021    }
    19992022
     2023#ifdef LAME
    20002024    if (compressaudio)
    20012025    {
    20022026        moredata.audio_fourcc = FOURCC_LAME;
     
    20042028        moredata.audio_quality = mp3quality;
    20052029    }
    20062030    else
     2031#endif
    20072032    {
    20082033        moredata.audio_fourcc = FOURCC_RAWA;
    20092034    }
     
    32293254        }
    32303255    }
    32313256
     3257#ifdef LAME
    32323258    if (compressaudio)
    32333259    {
    32343260        char mp3gapless[7200];
     
    32853311        audiobytes += audio_buffer_size;
    32863312    }
    32873313    else
     3314#endif
    32883315    {
    32893316        frameheader.comptype = '0'; // uncompressed audio
    32903317        frameheader.packetlength = audio_buffer_size;
  • libs/libmythtv/libmythtv.pro

     
    239239    using_ivtv:HEADERS += ivtvdecoder.h
    240240    using_ivtv:SOURCES += ivtvdecoder.cpp
    241241
     242    # LAME MP3 Compression enabled
     243    using_lame:DEFINES += LAME
     244
    242245    # On screen display (video output overlay)
    243246    using_fribidi:DEFINES += USING_FRIBIDI
    244247    HEADERS += osd.h                    osdtypes.h
  • libs/libmythtv/NuppelVideoRecorder.h

     
    55#include <sys/time.h>
    66#include <time.h>
    77#include <pthread.h>
     8
     9#ifdef LAME
    810#ifdef MMX
    911#undef MMX
    1012#define MMXBLAH
     
    1315#ifdef MMXBLAH
    1416#define MMX
    1517#endif
     18#endif
    1619
    1720#include "filter.h"
    1821#include "minilzo.h"
     
    164167
    165168    bool transcoding;
    166169
     170#ifdef LAME
    167171    int mp3quality;
    168172    char *mp3buf;
    169173    int mp3buf_size;
    170174    lame_global_flags *gf;
     175#endif
    171176
    172177    RTjpeg *rtjc;
    173178
  • libs/libmythtv/recordingprofile.cpp

     
    7878    }
    7979};
    8080
     81#ifdef LAME
    8182class MP3Quality : public SliderSetting, public CodecParamStorage
    8283{
    8384  public:
     
    9293                    "numbers) requires more CPU."));
    9394    };
    9495};
     96#endif
    9597
    9698class BTTVVolume : public SliderSetting, public CodecParamStorage
    9799{
     
    401403        addChild(codecName);
    402404        setTrigger(codecName);
    403405
    404         ConfigurationGroup* params = new VerticalConfigurationGroup(false);
     406        ConfigurationGroup* params;
     407
     408#ifdef LAME
     409        params = new VerticalConfigurationGroup(false);
    405410        params->setLabel("MP3");
    406411        params->addChild(new SampleRate(parent));
    407412        params->addChild(new MP3Quality(parent));
    408413        params->addChild(new BTTVVolume(parent));
    409414        addTarget("MP3", params);
     415#endif
    410416
    411417        params = new VerticalConfigurationGroup(false, false, true, true);
    412418        params->setLabel("MPEG-2 Hardware Encoder");
     
    433439            else
    434440            {
    435441                // V4L, TRANSCODE (and any undefined types)
     442#ifdef LAME
    436443                codecName->addSelection("MP3");
     444#endif
    437445                codecName->addSelection("Uncompressed");
    438446            }
    439447        }
    440448        else
    441449        {
     450#ifdef LAME
    442451            codecName->addSelection("MP3");
     452#endif
    443453            codecName->addSelection("Uncompressed");
    444454            codecName->addSelection("MPEG-2 Hardware Encoder");
    445455        }
     
    13761386                "(:NAME, :VIDEOCODEC, :AUDIOCODEC, :PROFILEGROUP);");
    13771387        query.bindValue(":NAME", profName);
    13781388        query.bindValue(":VIDEOCODEC", "MPEG-4");
     1389#ifdef LAME
    13791390        query.bindValue(":AUDIOCODEC", "MP3");
     1391#else
     1392        query.bindValue(":AUDIOCODEC", "Uncompressed");
     1393#endif
    13801394        query.bindValue(":PROFILEGROUP", group);
    13811395        if (!query.exec())
    13821396            MythContext::DBError("RecordingProfileEditor::open", query);
  • libs/libavcodec/libavcodec.pro

     
    321321contains( CONFIG_LIBFAAC, yes )                 { SOURCES *= libfaac.c }
    322322contains( CONFIG_LIBFAAD, yes )                 { SOURCES *= libfaad.c }
    323323contains( CONFIG_LIBGSM, yes )                  { SOURCES *= libgsm.c }
    324 contains( CONFIG_LIBMP3LAME, yes )              { SOURCES *= libmp3lame.c }
    325324contains( CONFIG_LIBTHEORA, yes )               { SOURCES *= libtheoraenc.c }
    326325contains( CONFIG_LIBVORBIS, yes )               { SOURCES *= libvorbis.c }
    327326contains( CONFIG_LIBX264, yes )                 { SOURCES *= libx264.c }
     
    374373    DEFINES += HAVE_DVDV
    375374}
    376375
     376using_lame {
     377    SOURCES *= libmp3lame.c
     378}
     379
    377380!contains( CONFIG_SWSCALER, yes )               { SOURCES *= imgresample.c }
    378381
    379382contains( HAVE_GPROF, yes ) {
  • settings.pro

     
    104104}
    105105QMAKE_LIBDIR_OPENGL =
    106106
    107 EXTRA_LIBS = $$FREETYPE_LIBS -lmp3lame
     107EXTRA_LIBS = $$FREETYPE_LIBS
     108EXTRA_LIBS += $$CONFIG_MP3_LIBS
    108109EXTRA_LIBS += $$CONFIG_AUDIO_OSS_LIBS
    109110EXTRA_LIBS += $$CONFIG_AUDIO_ALSA_LIBS
    110111EXTRA_LIBS += $$CONFIG_AUDIO_ARTS_LIBS