[FFmpeg-cvslog] ffmpeg: reintroducing check_recording_time()

Michael Niedermayer git at videolan.org
Sun May 20 12:35:50 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun May 20 10:28:41 2012 +0200| [3cf5591344473263816a756d678572ecfb28045c] | committer: Michael Niedermayer

ffmpeg: reintroducing check_recording_time()

This reduces the difference to qatar by 27 lines
No functional change, the code should be unused

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3cf5591344473263816a756d678572ecfb28045c
---

 ffmpeg.c |   27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 6848f25..7eef3d4 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -276,6 +276,9 @@ typedef struct OutputStream {
        for A/V sync */
     struct InputStream *sync_ist; /* input stream to sync against */
     int64_t sync_opts;       /* output frame counter, could be changed to some true timestamp */ // FIXME look at frame_number
+    /* pts of the first frame encoded for this stream, used for limiting
+     * recording time */
+    int64_t first_pts;
     AVBitStreamFilterContext *bitstream_filters;
     AVCodec *enc;
     int64_t max_frames;
@@ -1744,18 +1747,18 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
     }
 }
 
-// static int check_recording_time(OutputStream *ost)
-// {
-//     OutputFile *of = output_files[ost->file_index];
-//
-//     if (of->recording_time != INT64_MAX &&
-//         av_compare_ts(ost->sync_opts - ost->first_pts, ost->st->codec->time_base, of->recording_time,
-//                       AV_TIME_BASE_Q) >= 0) {
-//         ost->is_past_recording_time = 1;
-//         return 0;
-//     }
-//     return 1;
-// }
+static int check_recording_time(OutputStream *ost)
+{
+    OutputFile *of = output_files[ost->file_index];
+
+    if (of->recording_time != INT64_MAX &&
+        av_compare_ts(ost->sync_opts - ost->first_pts, ost->st->codec->time_base, of->recording_time,
+                      AV_TIME_BASE_Q) >= 0) {
+        ost->is_past_recording_time = 1;
+        return 0;
+    }
+    return 1;
+}
 
 static void do_audio_out(AVFormatContext *s, OutputStream *ost,
                          AVFrame *frame)



More information about the ffmpeg-cvslog mailing list