#define M_PI 3.14159265358979323846
#endif
-#include "avformat.h"
-#include "swscale.h"
+#include "libavformat/avformat.h"
+#include "libswscale/swscale.h"
+
+#undef exit
/* 5 seconds stream duration */
#define STREAM_DURATION 5.0
pkt.size= avcodec_encode_audio(c, audio_outbuf, audio_outbuf_size, samples);
- pkt.pts= av_rescale_q(c->coded_frame->pts, c->time_base, st->time_base);
+ if (c->coded_frame->pts != AV_NOPTS_VALUE)
+ pkt.pts= av_rescale_q(c->coded_frame->pts, c->time_base, st->time_base);
pkt.flags |= PKT_FLAG_KEY;
pkt.stream_index= st->index;
pkt.data= audio_outbuf;
c->max_b_frames = 2;
}
if (c->codec_id == CODEC_ID_MPEG1VIDEO){
- /* needed to avoid using macroblocks in which some coeffs overflow
- this doesnt happen with normal video, it just happens here as the
- motion of the chroma plane doesnt match the luma plane */
+ /* Needed to avoid using macroblocks in which some coeffs overflow.
+ This does not happen with normal video, it just happens here as
+ the motion of the chroma plane does not match the luma plane. */
c->mb_decision=2;
}
// some formats want stream headers to be separate
AVPacket pkt;
av_init_packet(&pkt);
- pkt.pts= av_rescale_q(c->coded_frame->pts, c->time_base, st->time_base);
+ if (c->coded_frame->pts != AV_NOPTS_VALUE)
+ pkt.pts= av_rescale_q(c->coded_frame->pts, c->time_base, st->time_base);
if(c->coded_frame->key_frame)
pkt.flags |= PKT_FLAG_KEY;
pkt.stream_index= st->index;
if (!(fmt->flags & AVFMT_NOFILE)) {
/* close the output file */
- url_fclose(&oc->pb);
+ url_fclose(oc->pb);
}
/* free the stream */