diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2013-03-26 18:15:46 +0400 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2013-03-26 18:15:46 +0400 |
commit | 8af593dd8079fda3147003778fe883cea4c2a849 (patch) | |
tree | df0c6a868ef8bc4bd97037b0d60b2324c095fc95 /libavformat | |
parent | 07d405cc9ec45ac6aeb23f2f67742df9fa30522e (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')
-rw-r--r-- | libavformat/mpegtsenc.c | 3 |
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 { |