Index: libavformat/rtmpproto.c =================================================================== --- libavformat/rtmpproto.c (revision 26402) +++ libavformat/rtmpproto.c (working copy) @@ -931,7 +931,7 @@ uint32_t ts; const uint8_t *buf_temp = buf; - if (size < 11) { + if (!rt->flv_off && size < 11) { av_log(LOG_CONTEXT, AV_LOG_DEBUG, "FLV packet too small %d\n", size); return 0; } @@ -972,8 +972,10 @@ if (rt->flv_size - rt->flv_off > size_temp) { bytestream_get_buffer(&buf_temp, rt->flv_data + rt->flv_off, size_temp); rt->flv_off += size_temp; + size_temp = 0; } else { bytestream_get_buffer(&buf_temp, rt->flv_data + rt->flv_off, rt->flv_size - rt->flv_off); + size_temp -= (rt->flv_size - rt->flv_off); rt->flv_off += rt->flv_size - rt->flv_off; }