leenux 发表于 2013-10-16 16:16:17

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);

leenux 发表于 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;
      }

pqiankui 发表于 2013-10-16 16:19:04

很厉害啊,呵呵

孙悟空 发表于 2013-10-16 16:20:55

鼓励大伙互相分享
页: [1]
查看完整版本: ffplay播放mp4/wmv文件seek时,出现杂音的解决办法