vlc的第三方库contrib的修改之一:live库的修改

请移步https://higoge.github.io/,全部下载资料在那个博客都能找到。谢谢。 git

--------------------------------------------------------------------github

    感谢vlc研究群的gg-Ak47童鞋的帮忙,虽然很据他给我讲的我没有搞定。
app

    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
ide

(测试

在个人公共邮箱提供了下载,具体下载方式为:
1). 登陆http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我(jeremiah.vlc@gmail.com),我会告知。
4). 在“个人文件夹”的“Jeremiah_VLC相关资源”有全部资料的超大附件链接。spa

)

    第三方库的版本是很是重要的,在此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到~下
orm

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    ~
rem

 

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下就搞定全部了。

相关文章
相关标签/搜索