ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8977|回复: 3

ffplay播放mp4/wmv文件seek时,出现杂音的解决办法

[复制链接]
发表于 2013-10-16 16:16:17 | 显示全部楼层 |阅读模式
本帖最后由 leenux 于 2013-10-16 16:20 编辑

开始试图按照http://trac.ffmpeg.org/ticket/420方法修改,可能没找到正确方法,改了几次没效果,仍出杂音。
后来试着利用SDL的pause,达到了效果:
在read_thread里
++        if (!is->seek_req) {
++                        SDL_PauseAudio(0);
++                }
        if (is->seek_req) {
++                        SDL_PauseAudio(1);
目前尚未调试eof,eof仍有杂音,估计跟这个一样处理即可:
       if (eof) {
++                        SDL_PauseAudio(1);
回复

使用道具 举报

 楼主| 发表于 2013-10-17 16:12:33 | 显示全部楼层
当seek到eof文件尾或超过文件尾时,仍出杂音,解决办法:
还是read_thread
        ret = av_read_frame(ic, pkt);
        if (ret < 0) {
            if (ret == AVERROR_EOF || url_feof(ic->pb))
++       {
++        SDL_PauseAudio(1);
                 eof = 1;
++       }
            if (ic->pb && ic->pb->error)
                break;
            SDL_LockMutex(wait_mutex);
            SDL_CondWaitTimeout(is->continue_read_thread, wait_mutex, 10);
            SDL_UnlockMutex(wait_mutex);
            continue;
        }
回复 支持 1 反对 0

使用道具 举报

发表于 2013-10-16 16:19:04 | 显示全部楼层
很厉害啊,呵呵
回复 支持 反对

使用道具 举报

发表于 2013-10-16 16:20:55 | 显示全部楼层
鼓励大伙互相分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-4-23 17:10 , Processed in 0.046532 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表