Originally committed as revision 11428 to svn://svn.ffmpeg.org/ffmpeg/trunk
Ivo van Poorten authored on 2008/01/06 07:27:49... | ... |
@@ -66,6 +66,7 @@ static int pva_read_packet(AVFormatContext *s, AVPacket *pkt) { |
66 | 66 |
int ret, syncword, streamid, reserved, flags, length, pts_flag; |
67 | 67 |
int64_t pva_pts = AV_NOPTS_VALUE; |
68 | 68 |
|
69 |
+recover: |
|
69 | 70 |
syncword = get_be16(pb); |
70 | 71 |
streamid = get_byte(pb); |
71 | 72 |
get_byte(pb); /* counter not used */ |
... | ... |
@@ -111,8 +112,10 @@ static int pva_read_packet(AVFormatContext *s, AVPacket *pkt) { |
111 | 111 |
pes_header_data_length = get_byte(pb); |
112 | 112 |
|
113 | 113 |
if (pes_signal != 1) { |
114 |
- av_log(s, AV_LOG_ERROR, "expected signaled PES packet\n"); |
|
115 |
- return AVERROR(EIO); |
|
114 |
+ av_log(s, AV_LOG_WARNING, "expected signaled PES packet, " |
|
115 |
+ "trying to recover\n"); |
|
116 |
+ url_fskip(pb, length - 9); |
|
117 |
+ goto recover; |
|
116 | 118 |
} |
117 | 119 |
|
118 | 120 |
get_buffer(pb, pes_header_data, pes_header_data_length); |