Mercurial > libavformat.hg
changeset 2898:32895d361262 libavformat
do not return an error, but warn and recover when encountering an audio packet
that should countain a signaled mpeg-pes packet.
author | ivo |
---|---|
date | Sat, 05 Jan 2008 22:27:49 +0000 |
parents | 6d6dfee21471 |
children | d9a9ff37c5ab |
files | pva.c |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/pva.c Sat Jan 05 22:18:44 2008 +0000 +++ b/pva.c Sat Jan 05 22:27:49 2008 +0000 @@ -66,6 +66,7 @@ int ret, syncword, streamid, reserved, flags, length, pts_flag; int64_t pva_pts = AV_NOPTS_VALUE; +recover: syncword = get_be16(pb); streamid = get_byte(pb); get_byte(pb); /* counter not used */ @@ -111,8 +112,10 @@ pes_header_data_length = get_byte(pb); if (pes_signal != 1) { - av_log(s, AV_LOG_ERROR, "expected signaled PES packet\n"); - return AVERROR(EIO); + av_log(s, AV_LOG_WARNING, "expected signaled PES packet, " + "trying to recover\n"); + url_fskip(pb, length - 9); + goto recover; } get_buffer(pb, pes_header_data, pes_header_data_length);