diff options
author | wm4 <nfxjfg@googlemail.com> | 2015-04-22 12:24:37 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-04-22 14:16:35 +0200 |
commit | 066b92e91d678f500c64c947d86cd8bf73ee6c61 (patch) | |
tree | c1d647f12f7278acd87c91362164fbe50dd6cf03 /libavformat/mp3dec.c | |
parent | 7dd8bf53bdb5669a7c65822417fe29036435b40f (diff) | |
download | ffmpeg-066b92e91d678f500c64c947d86cd8bf73ee6c61.tar.gz |
avformat/mp3dec: use the common mechanism for skipping samples
The mp2 seek test results change. Whether to skip samples if the file
had no LAME gapless tags was inconsistent. When seeking to the start
of the file, 529 samples were skipped, but when playing from start,
nothing was skipped. This commit changes the behavior on seek to skip
nothing.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/mp3dec.c')
-rw-r--r-- | libavformat/mp3dec.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c index 0604e315e2..008cb23c12 100644 --- a/libavformat/mp3dec.c +++ b/libavformat/mp3dec.c @@ -228,13 +228,13 @@ static void mp3_parse_info_tag(AVFormatContext *s, AVStream *st, mp3->start_pad = v>>12; mp3-> end_pad = v&4095; - st->skip_samples = mp3->start_pad + 528 + 1; + st->start_skip_samples = mp3->start_pad + 528 + 1; if (mp3->frames) { st->first_discard_sample = -mp3->end_pad + 528 + 1 + mp3->frames * (int64_t)spf; st->last_discard_sample = mp3->frames * (int64_t)spf; } if (!st->start_time) - st->start_time = av_rescale_q(st->skip_samples, + st->start_time = av_rescale_q(st->start_skip_samples, (AVRational){1, c->sample_rate}, st->time_base); av_log(s, AV_LOG_DEBUG, "pad %d %d\n", mp3->start_pad, mp3-> end_pad); @@ -447,8 +447,6 @@ static int mp3_seek(AVFormatContext *s, int stream_index, int64_t timestamp, ie = &st->index_entries[ret]; } else { - st->skip_samples = timestamp <= 0 ? mp3->start_pad + 528 + 1 : 0; - return -1; } @@ -496,7 +494,6 @@ static int mp3_seek(AVFormatContext *s, int stream_index, int64_t timestamp, } ff_update_cur_dts(s, st, ie->timestamp); - st->skip_samples = ie->timestamp <= 0 ? mp3->start_pad + 528 + 1 : 0; return 0; } |