diff --git a/ffmpeg.c b/ffmpeg.c index d5153988d774a9b72dd05769fb0c81bf0a793e8a..0601fdf6b98cdb49a71546d773cc1a604b09c2cf 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -409,6 +409,8 @@ get_sync_ipts(const AVOutputStream *ost) } static void write_frame(AVFormatContext *s, AVPacket *pkt, AVCodecContext *avctx, AVBitStreamFilterContext *bsfc){ + int ret; + while(bsfc){ AVPacket new_pkt= *pkt; int a= av_bitstream_filter_filter(bsfc, avctx, NULL, @@ -424,7 +426,11 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, AVCodecContext *avctx bsfc= bsfc->next; } - av_interleaved_write_frame(s, pkt); + ret= av_interleaved_write_frame(s, pkt); + if(ret < 0){ + print_error("av_interleaved_write_frame()", ret); + exit(1); + } } #define MAX_AUDIO_PACKET_SIZE (128 * 1024)