iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0

Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~

在本系列文因為工作上的產品應用需求,進而探索到很多層面的點滴事。

透過每篇 EP 的分享把這些點滴整理,看起來或許像是個獨立的小品抒發文、也或許是一系列技術研究文!?

總之,就當作的隨手雜記文吧!

本篇是 莫名其妙就跟世界等級的 OpenSource 專案攪和了!? 系列文的 EP28。


EP27 的介紹到發現了,在 Gstreamer 底下 Gstreamer-Sharp 的 source code 當中詭異的現象。

既然 Gstreamer 是 OpenSource 專案,當然有 Source Code 可以查看,也就可以自行修正並進行驗證。

首先來把 Gstreamer-Sharp 用 Visual Stduio 來開啟看看,而這邊有兩個選擇:

其一,找到 Gstreamer 底下的 subprojects 底下的 gstreamer-sharp 的 gstreamer-sharp.csproj:
Gstreamer-Sharp-01

其二,找到 Gstreamer 底下的 subprojects 底下的 gstreamer-sharp 底下的 source 的 gstreamer-sharp.csproj:
Gstreamer-Sharp-02

兩者有什麼不同嗎?

有。

前者是使用 .NET Framework 的專案樣式,而後者是用 .NET 的專案樣式:
Gstreamer-Sharp-01
Gstreamer-Sharp-01

無論是使用前者還是後者,這兩個專案檔指向同一份 gstreamer-sharp 的 source code 位置,這點倒是不用擔心。

所以找到位在 generated -> Gst -> MiniObject.cs 並修正前篇所說的疑惑點。
Gstreamer-Sharp-01

重新編譯 gstreamer-sharp 專案,產生出新的 gstreamer-sharp.dll:
Gstreamer-Sharp-01

趕緊放到 GstreamerPlayer 專案來播放影片試試看,同時開啟工作管理員監看記憶體:
Gstreamer-Sharp-01

ㄚㄚㄚ~~~記憶體不再暴衝了啊!!!


上一篇
EP 27
系列文
莫名其妙就跟世界等級的 OpenSource 專案攪和了!?28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言