avformat/asfenc: honor the maximum of 63 payloads

Fixes Ticket3634

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Aaron Graham 2014-05-13 00:54:55 +02:00 committed by Michael Niedermayer
parent 81d1fcf37d
commit 72dcd48c19
1 changed files with 3 additions and 0 deletions

View File

@ -34,6 +34,7 @@
#define ASF_INDEXED_INTERVAL 10000000 #define ASF_INDEXED_INTERVAL 10000000
#define ASF_INDEX_BLOCK (1<<9) #define ASF_INDEX_BLOCK (1<<9)
#define ASF_PAYLOADS_PER_PACKET 63
#define ASF_PACKET_ERROR_CORRECTION_DATA_SIZE 0x2 #define ASF_PACKET_ERROR_CORRECTION_DATA_SIZE 0x2
#define ASF_PACKET_ERROR_CORRECTION_FLAGS \ #define ASF_PACKET_ERROR_CORRECTION_FLAGS \
@ -858,6 +859,8 @@ static void put_frame(AVFormatContext *s, ASFStream *stream, AVStream *avst,
flush_packet(s); flush_packet(s);
else if (asf->packet_size_left <= (PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS + PACKET_HEADER_MIN_SIZE + 1)) else if (asf->packet_size_left <= (PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS + PACKET_HEADER_MIN_SIZE + 1))
flush_packet(s); flush_packet(s);
else if (asf->packet_nb_payloads == ASF_PAYLOADS_PER_PACKET)
flush_packet(s);
} }
stream->seq++; stream->seq++;
} }