首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >树构建中VLC插件在分割故障中的应用

树构建中VLC插件在分割故障中的应用
EN

Stack Overflow用户
提问于 2013-12-22 22:49:11
回答 1查看 723关注 0票数 1

我正在尝试为VLC构建一个“out of tree”插件。

电脑规格:英特尔x64 Ubuntu12.04

VLC规范: VLC媒体播放器2.0.8

为了解决这个问题,我

  • 克隆VLC git存储库
  • 添加了我的模块(只是vmem的一个副本,其中有一些名称更改)
  • 将模块信息添加到自动工具中

啊,真灵!当我进入工具->preferences->视频->输出时,我可以在VLC中看到我的模块。

我想做同样的事情'Out of Tree‘,在这里构建独立于VLC树的模块,并将生成的共享对象库复制到VLC可以读取它和VLC检测它的地方。

我按照这里的说明:VLC树外编译

  • 我将'in tree‘模块复制到一个新目录中。
  • 根据上面的说明以及装货/上的说明编写了一个构建它的装货/文件

这里是该模块的缩短版本:

代码语言:javascript
复制
#define DOMAIN  "vlc-nysa"
#define _(str)  dgettext(DOMAIN, str)
#define N_(str) (str)
#define MODULE_STRING "nysa-video"

vlc_module_begin()

    /* VLC Uses these to identify the module */
    set_text_domain     (DOMAIN)
    set_description     (N_("Nysa Video Output"                           ))                                     
    set_shortname       (N_("Nysa Video"                                  ))                                     

    set_category        (CAT_VIDEO                                        )                                      
    set_subcategory     (SUBCAT_VIDEO_VOUT                                )                                      
    set_capability      ("vout display", 1                                ) 

    /* Options left out for brevity */

    /* Add Callbacks */
    set_callbacks       (Open, Close                                      )

vlc_module_end()

/* implementation here */

输出

因此,人们不必搞清楚scon语法--这里是构建输出:

代码语言:javascript
复制
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o src/nysa_video.os -c -std=gnu99 -Wall -Wextra -O2 -fPIC -fPIC -D__PLUGIN__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -DPIC -I/usr/include/vlc -I/usr/include/vlc/plugins -Iinclude src/nysa_video.c
gcc -o build/libnysa_video_plugin.so -Wl,-no-undefined,-z,defs -shared src/nysa_video.os -L/usr/lib -L/usr/local/lib -lvlc -lvlccore
scons: `install' is up to date.
scons: done building targets.

结果

我确实得到了一个名为libnysa_video_plugin.so的文件,并将其复制到/usr/lib/vlc/plugins/video_output目录中。

当我运行VLC时,我得到了一个seg错误:

VLC媒体播放器2.0.8两台(修订版2.0.8a-0-g68cf50b)分割故障(弃核)

dmesg | tail打印出:

141376.468964 vlc27609: 88 ip 007f06ccd6a4db sp 00007fff029a6310段故障libvlccore.so.5.1.17f06ccce4000+db000中的错误6

下面是这个项目的git链接:Nysa视频Git Repo

要构建,您需要scon,并在基本目录中:

  • 构建:scons
  • 安装(安装到/usr/lib/vlc/plugins/video_output):sudo scons install
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-31 04:01:22

我发现我的代码里有个bug

代码语言:javascript
复制
vlc_module_begin()

/* VLC Uses these to identify the module */
set_text_domain     (DOMAIN)  //THIS SHOULDN'T BE HERE
set_description     (N_("Nysa Video Output"                           ))   

当这个问题仅仅是一个bug时,我很难过,所以我创建了一个git,希望它能帮助那些想要为VLC构建一个树外插件的人。

出树插件VLC

自述文件中有说明

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20734887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档