LibVLC Display Callback修改带图片时间戳

LibVLC Display Callback modification with picture time stamp

我正在尝试修改 LibVLC API 以获取时间戳以及视频帧数据。我从 2.2.4 标记的代码分支开始(提交 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 以传递一个 long int 时间戳,但我无法真正找到从 LibVLC 中调用回调的位置,所以时间戳似乎有垃圾(一个永远不会的整数变化)。

有什么方法可以调试哪个特定模块和源文件实际调用了回调?使用调试语句对我没有任何帮助。我尽可能多地将打印语句放入我认为可能会调用此方法的文件中(modules/video_output/ 目录中的文件),但我从未见过它们中的任何一个起作用。显然它使用 "vmem" 模块进行显示,但即​​使我在这些方法中调用 abort() 也没有任何区别。

如何在源文件中找到调用方法?

它是从 vmem 模块调用的: https://github.com/videolan/vlc/blob/master/modules/video_output/vmem.c#L282