zoukankan      html  css  js  c++  java
  • vlc的第三方库contrib的修改之一:live库的修改

    感谢vlc研究群的gg-Ak47童鞋的帮忙,虽然很据他给我讲的我没有搞定。
        Contrib库都是官网提供的,如果有些代码调用的第三方库,我们调试修改起来就很麻烦。Jeremiah最近再调试vlc的rtsp方面的东西,编译了live555的库,替换掉官网提供的Contrib里面关于live方面的库,vlc编译通过,实现了对第三方库的修改。在此共享,提供一个思路,其他的库,以此类推。

    测试环境:
    1. cygwin-new(20081208)
    2. vlc-0.9.9a
    3. contrib-20090118-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
    (
    在我的公共邮箱提供了下载,具体下载方式为:
    1). 登录http://mail.qq.com
    2). 用户名:jeremiah_vlc
    3). 密码:发邮件给我(jeremiah.vlc@gmail.com),我会告知。
    4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
    )

        第三方库的版本是非常重要的,在此Jeremiah提供一个方法去找所需要库的版本。
    打开vlc源码下面的extras/contrib/src/会有一个MakeFile及packages.mak,这两个文件本来是给Linux及MacOS下载编译第三方库的。根据这两个文件就应该知道第三方库提供的下载地址及如果编译。

        但是live555的库比较特殊,搜索“live“,发现永远都是live-latest.tar.gz。这个是根据版本不同而随时改变的。Jeremiah也是试验多次,终于找到了一个比较适合的版本。

        下载地址:http://ftp.gamma.ru/FreeBSD/ports/local-distfiles/nork/live.2009.02.23.tar.gz
    这个ftp里面还有其他版本的live。由于live官方不提供旧版本下载,所以,旧版的live只能通过其他的非官方渠道获得。

    1. 解压live.2009.02.23.tar.gz到~下
    2. copy补丁到~下。注意目录层级
    cp ~/vlc-0.9.9a/extras/contrib/src/Patches/live-noapps.patch ~/vlc-0.9.9a/extras/contrib/src/Patches/live-uselocale.patch    ~ 
     
    3. 打补丁
    patch -p0 < live-noapps.patch 
    patch -p0 < live-uselocale.patch
     
    4. 进入到live里面修改config.mingw
    cd live 
    vi config.mingw
    修改如下:
    将C_COMPILER从$(CC)改成gcc -mno-cygwin 
    将CPLUSPLUS_COMPILER从$(CXX)改成g++ -mno-cygwin 
    将LIBRARY_LINK从$(LD) -o改成$(LD) -lws2_32 -o
     
    5. 编译live
    ./genMakefiles mingw 
    make
    不报错就说明编译的很OKAY。
     
    6. copy库到/usr/win32
    将下列脚本保存为cp.sh
    cp BasicUsageEnvironment/libBasicUsageEnvironment.a /usr/win32/live.com/BasicUsageEnvironment/ 
    cp BasicUsageEnvironment/libBasicUsageEnvironment.a /usr/win32/lib/ 
    cp UsageEnvironment/libUsageEnvironment.a /usr/win32/live.com/UsageEnvironment/ 
    cp UsageEnvironment/libUsageEnvironment.a /usr/win32/lib 
    cp groupsock/libgroupsock.a /usr/win32/live.com/groupsock/ 
    cp groupsock/libgroupsock.a /usr/win32/lib/ 
    cp liveMedia/libliveMedia.a /usr/win32/live.com/liveMedia/ 
    cp liveMedia/libliveMedia.a /usr/win32/lib
    执行
    sh cp.sh
     
    到此库已经替换成功了,以后修改了live的源码就可以重新make,重新cp。
     
    7. vlc重新关联live的库
    如果你想make clean了再make,我没意见。这里提供一个简单的方法。
    cd ~/vlc-0.9.9a/modules/demux 
    rm liblive555_plugin_la-live555.lo 
    make
    之后在modules/demux/.libs下面的liblive555_plugin.dll就是最新编译好的,考到package好的vlc-0.9.9a的plugins下就搞定所有了。
  • 相关阅读:
    urllib模块常用方法
    python Apscheduler持久化
    Java 递归(深度优先)寻找迷宫最短路径
    Java 访问修饰符
    Java 多态的一道例题
    性能测试基础(二)
    Update DataReader
    VS.Php Beta 4
    Free ASP.NET Web Development Tool
    使用 Microsoft .NET 的企业解决方案模式
  • 原文地址:https://www.cnblogs.com/qq78292959/p/2076951.html
Copyright © 2011-2022 走看看