summaryrefslogtreecommitdiff
path: root/libavformat/mpegtsenc.c
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2013-03-26 15:15:46 +0100
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2013-03-26 15:15:46 +0100
commit8af593dd8079fda3147003778fe883cea4c2a849 (patch)
treedf0c6a868ef8bc4bd97037b0d60b2324c095fc95 /libavformat/mpegtsenc.c
parent07d405cc9ec45ac6aeb23f2f67742df9fa30522e (diff)
mpegtsenc: Only test the first frame for missing h264_mp4toannexb filter.
Many video players accept broken frames in a transport stream, so there is no reason to abort remuxing when encountering one, just print a warning instead. Fixes ticket #1758.
Diffstat (limited to 'libavformat/mpegtsenc.c')
-rw-r--r--libavformat/mpegtsenc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index 0e3f81ad4f..0ddae651de 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -1095,9 +1095,12 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt)
uint32_t state = -1;
if (pkt->size < 5 || AV_RB32(pkt->data) != 0x0000001) {
+ if (!st->nb_frames) {
av_log(s, AV_LOG_ERROR, "H.264 bitstream malformed, "
"no startcode found, use the h264_mp4toannexb bitstream filter (-bsf h264_mp4toannexb)\n");
return AVERROR(EINVAL);
+ }
+ av_log(s, AV_LOG_WARNING, "H.264 bitstream error, startcode missing\n");
}
do {