|
|
|
@ -18,6 +18,9 @@ |
|
|
|
|
* License along with FFmpeg; if not, write to the Free Software |
|
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
//#define DEBUG
|
|
|
|
|
|
|
|
|
|
#include "avformat.h" |
|
|
|
|
#include "internal.h" |
|
|
|
|
#include "avi.h" |
|
|
|
@ -26,6 +29,7 @@ |
|
|
|
|
#include "libavutil/intreadwrite.h" |
|
|
|
|
#include "libavutil/dict.h" |
|
|
|
|
#include "libavutil/avassert.h" |
|
|
|
|
#include "libavutil/timestamp.h" |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* TODO: |
|
|
|
@ -504,7 +508,7 @@ static int avi_write_packet(AVFormatContext *s, AVPacket *pkt) |
|
|
|
|
AVCodecContext *enc= s->streams[stream_index]->codec; |
|
|
|
|
int size= pkt->size; |
|
|
|
|
|
|
|
|
|
// av_log(s, AV_LOG_DEBUG, "%"PRId64" %d %d\n", pkt->dts, avist->packet_count, stream_index);
|
|
|
|
|
av_dlog(s, "dts:%s packet_count:%d stream_index:%d\n", av_ts2str(pkt->dts), avist->packet_count, stream_index); |
|
|
|
|
while(enc->block_align==0 && pkt->dts != AV_NOPTS_VALUE && pkt->dts > avist->packet_count && enc->codec_id != AV_CODEC_ID_XSUB){ |
|
|
|
|
AVPacket empty_packet; |
|
|
|
|
|
|
|
|
@ -518,7 +522,7 @@ static int avi_write_packet(AVFormatContext *s, AVPacket *pkt) |
|
|
|
|
empty_packet.data= NULL; |
|
|
|
|
empty_packet.stream_index= stream_index; |
|
|
|
|
avi_write_packet(s, &empty_packet); |
|
|
|
|
// av_log(s, AV_LOG_DEBUG, "dup %"PRId64" %d\n", pkt->dts, avist->packet_count);
|
|
|
|
|
av_dlog(s, "dup dts:%s packet_count:%d\n", av_ts2str(pkt->dts), avist->packet_count); |
|
|
|
|
} |
|
|
|
|
avist->packet_count++; |
|
|
|
|
|
|
|
|
|