mirror of https://git.ffmpeg.org/ffmpeg.git
do not return an error, but warn and recover when encountering an audio packet
that should countain a signaled mpeg-pes packet. Originally committed as revision 11428 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
7705cf7e15
commit
dba13944f0
|
@ -66,6 +66,7 @@ static int pva_read_packet(AVFormatContext *s, AVPacket *pkt) {
|
||||||
int ret, syncword, streamid, reserved, flags, length, pts_flag;
|
int ret, syncword, streamid, reserved, flags, length, pts_flag;
|
||||||
int64_t pva_pts = AV_NOPTS_VALUE;
|
int64_t pva_pts = AV_NOPTS_VALUE;
|
||||||
|
|
||||||
|
recover:
|
||||||
syncword = get_be16(pb);
|
syncword = get_be16(pb);
|
||||||
streamid = get_byte(pb);
|
streamid = get_byte(pb);
|
||||||
get_byte(pb); /* counter not used */
|
get_byte(pb); /* counter not used */
|
||||||
|
@ -111,8 +112,10 @@ static int pva_read_packet(AVFormatContext *s, AVPacket *pkt) {
|
||||||
pes_header_data_length = get_byte(pb);
|
pes_header_data_length = get_byte(pb);
|
||||||
|
|
||||||
if (pes_signal != 1) {
|
if (pes_signal != 1) {
|
||||||
av_log(s, AV_LOG_ERROR, "expected signaled PES packet\n");
|
av_log(s, AV_LOG_WARNING, "expected signaled PES packet, "
|
||||||
return AVERROR(EIO);
|
"trying to recover\n");
|
||||||
|
url_fskip(pb, length - 9);
|
||||||
|
goto recover;
|
||||||
}
|
}
|
||||||
|
|
||||||
get_buffer(pb, pes_header_data, pes_header_data_length);
|
get_buffer(pb, pes_header_data, pes_header_data_length);
|
||||||
|
|
Loading…
Reference in New Issue