Browse Source

swr: make the default of nopts for first_pts actually work

Fixes Ticket2210

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n1.2
Michael Niedermayer 12 years ago
parent
commit
35aaa306ac
1 changed files with 6 additions and 1 deletions
  1. +6
    -1
      libswresample/swresample.c

+ 6
- 1
libswresample/swresample.c View File

@@ -339,7 +339,8 @@ av_cold int swr_init(struct SwrContext *s){
s->async = 1;
s->firstpts =
s->outpts = s->firstpts_in_samples * s->out_sample_rate;
}
} else
s->firstpts = AV_NOPTS_VALUE;

if (s->async) {
if (s->min_compensation >= FLT_MAX/2)
@@ -899,6 +900,10 @@ int swr_set_compensation(struct SwrContext *s, int sample_delta, int compensatio
int64_t swr_next_pts(struct SwrContext *s, int64_t pts){
if(pts == INT64_MIN)
return s->outpts;

if (s->firstpts == AV_NOPTS_VALUE)
s->outpts = s->firstpts = pts;

if(s->min_compensation >= FLT_MAX) {
return (s->outpts = pts - swr_get_delay(s, s->in_sample_rate * (int64_t)s->out_sample_rate));
} else {


Loading…
Cancel
Save