gpt4 book ai didi

c++ - 向后搜索时 libvlc_media_player_set_position 失败

转载 作者:可可西里 更新时间:2023-11-01 13:46:30 26 4
gpt4 key购买 nike

我正在使用 libvlc 3.0.0(我也试过 2.2.0)在 Windows 7 和 Visual Studio 2012 上从 h264 编码的 mp4 文件(不包括声音,只有视频帧)捕获帧。我可以播放、暂停、停止和前进没有任何问题。但是当我试图向后寻找时,我遇到了问题:

  1. 场景:如果我只调用 libvlc_media_player_set_position(或 libvlc_media_player_set_time),它似乎会到达位置。但是 vlc 停止发送帧接收回调(换句话说,播放器卡住),直到它到达调用 libvlc_media_player_set_position 函数之前的相同(或下一个)帧。

    counter = 0;
    while (true)
    {
    sleep(40); // 25 hz
    ++counter;
    if(counter % 100 = 0)
    {
    // assuming current_position > 0.1f
    libvlc_media_player_set_position(p_mi, 0.1f);
    }
    }
  2. 场景:只有先停止播放器,然后从头开始播放,我才能让它工作。

    counter = 0;
    while (true)
    {
    sleep(40); // 25 hz
    ++counter;
    if(counter % 100 = 0)
    {
    // assuming current_position > 0.1f
    libvlc_media_player_stop(p_mi);
    libvlc_media_player_play(p_mi);
    libvlc_media_player_set_position(p_mi, 0.1f);
    }
    }

    这个场景的问题是,如果我保持向后定位一段时间,我会得到错误(vlc 将错误打印到命令行)核心解码器错误:由于错误无法继续流式传输。出现此错误后,它停止播放(再次卡住),下次我尝试搜索时,出现“访问冲突”错误:0x 处未处理的异常...(libavcodec_plugin.dll) in vlctest.exe:0xC0000005:访问冲突读取位置 0x00000040

seeking先重启视频播放感觉不对。我错过了什么吗?

提前致谢!

最佳答案

我不知道我之前在哪里搞砸了,但我下载了当前的夜间构建 vlc-3.0.0-git-20151221-0002-win32-debug.zip videolan nightly builds现在可以使用了。

关于c++ - 向后搜索时 libvlc_media_player_set_position 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34262277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com