diff options
Diffstat (limited to 'rotord/libavexporter.cpp')
| -rw-r--r-- | rotord/libavexporter.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
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); |
