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

相關文章
相關標籤/搜索