ffplay播放mp4/wmv文件seek时,出现杂音的解决办法
本帖最后由 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);
当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]