From 3608a44b8222cfd76b8ba789e1f5ea6b7020a3e9 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Fri, 19 Apr 2013 19:43:30 +0100 Subject: libav output green/ not crashing --- rotord/libavexporter.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'rotord/libavexporter.cpp') diff --git a/rotord/libavexporter.cpp b/rotord/libavexporter.cpp index a46de5a..72ca180 100644 --- a/rotord/libavexporter.cpp +++ b/rotord/libavexporter.cpp @@ -73,7 +73,11 @@ bool libav::exporter::record(std::string filename){ return false; } - frame=0; + if (frame) + frame->pts = 0; + + outputframe=0; + return true; } bool libav::exporter::encodeFrame(unsigned char *pixels){ @@ -98,17 +102,20 @@ bool libav::exporter::encodeFrame(unsigned char *pixels){ write_audio_frame(oc, audio_st, samples); } else { write_video_frame(oc, video_st, pixels); + frame->pts += av_rescale_q(1, video_st->codec->time_base, video_st->time_base); } av_free(samples); - std::cerr << "encoded frame " << outputframe << std::endl; + //std::cerr << "encoded frame " << outputframe << std::endl; outputframe++; return true; } void libav::exporter::finishRecord(){ + + av_write_trailer(oc); // Close each codec. // if (video_st) close_video(oc, video_st); -- cgit v1.2.3