[FFmpeg-cvslog] Do not set audio_resample to 0 if audio_sync_method is > 1.

Stefano Sabatini git
Wed Jan 26 04:01:14 CET 2011


ffmpeg | branch: master | Stefano Sabatini <stefano.sabatini-lala at poste.it> | Sun Jan 23 02:06:59 2011 +0100| [0f16f725527a5cedf2acc157d73d437bbe8b73d3] | committer: Michael Niedermayer

Do not set audio_resample to 0 if audio_sync_method is > 1.

If audio_sync_method is >1 the resampler is used for audio drift
compensation, and do_audio_out() was causing an assert failure because
audio_resample was not set.

Fix issue 2516, which was introduced by SVN r25939.

Signed-off-by: Mans Rullgard <mans at mansr.com>
(cherry picked from commit 07b48f8c7adaaf4020514816ec9b8d14cc8c5fbd)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0f16f725527a5cedf2acc157d73d437bbe8b73d3
---

 ffmpeg.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 0b2bab2..56b2dbe 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -825,7 +825,9 @@ need_realloc:
             if (ost->resample)
                 audio_resample_close(ost->resample);
         }
-        if (ost->resample_sample_fmt  == enc->sample_fmt &&
+        /* if audio_sync_method is >1 the resampler is needed for audio drift compensation */
+        if (audio_sync_method <= 1 &&
+            ost->resample_sample_fmt  == enc->sample_fmt &&
             ost->resample_channels    == enc->channels   &&
             ost->resample_sample_rate == enc->sample_rate) {
             ost->resample = NULL;




More information about the ffmpeg-cvslog mailing list