[FFmpeg-cvslog] swr: check return value of swr_inject_silence/drop_output.

Michael Niedermayer git at videolan.org
Tue May 22 20:40:57 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue May 22 18:54:38 2012 +0200| [841c1be57e59bc133cb615b48b0888ad9833156b] | committer: Michael Niedermayer

swr: check return value of swr_inject_silence/drop_output.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libswresample/swresample.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libswresample/swresample.c b/libswresample/swresample.c
index 732dae7..a0560a1 100644
--- a/libswresample/swresample.c
+++ b/libswresample/swresample.c
@@ -762,8 +762,12 @@ int64_t swr_next_pts(struct SwrContext *s, int64_t pts){
 
         if(fabs(fdelta) > s->min_compensation) {
             if(!s->outpts || fabs(fdelta) > s->min_hard_compensation){
-                if(delta > 0) swr_inject_silence(s,  delta / s->out_sample_rate);
-                else          swr_drop_output   (s, -delta / s-> in_sample_rate);
+                int ret;
+                if(delta > 0) ret = swr_inject_silence(s,  delta / s->out_sample_rate);
+                else          ret = swr_drop_output   (s, -delta / s-> in_sample_rate);
+                if(ret<0){
+                    av_log(s, AV_LOG_ERROR, "Failed to compensate for timestamp delta of %f\n", fdelta);
+                }
             } else if(s->soft_compensation_duration && s->max_soft_compensation) {
                 int duration = s->out_sample_rate * s->soft_compensation_duration;
                 int comp = av_clipf(fdelta, -s->max_soft_compensation, s->max_soft_compensation) * duration ;



More information about the ffmpeg-cvslog mailing list