我试图修改LibVLC API以获取时间戳和视频帧数据。我是从2.2.4标记(commit 888b7e89)的代码分支开始的。我一直在为Windows 64位跨平台构建,并使用VLCJ Java绑定从Java连接到API。我正在调用LibVLC的libvlc_video_set_callbacks(...)API方法,其中包含指向我的显示回调的指针,该指针遵循LibVLC的include / vlc / libvlc_media_player.h格式:typedef void(* libvlc_video_display_cb)(void * opaque,void * picture);
我已经修改了typedef来传递一个长的int时间戳,但我实际上找不到从LibVLC中调用回调的地方,所以时间戳似乎有垃圾(一个永不改变的整数)
有没有办法调试哪个特定模块和源文件实际调用回调?使用调试语句并没有把我带到任何地方。我把print语句放在尽可能多的文件中,我认为可以称之为这个方法(modules / video_output /目录中的文件),而且我从未见过它们中的任何一个。显然它正在使用" vmem"用于显示的模块,但即使我在这些方法中调用了abort(),也没有区别。
如何在源文件中查找调用方法?
答案 0 :(得分:0)