diff --git a/avconv.c b/avconv.c
index 18c2841ca206e16a6859ee1350677c3ca51aaf7e..818e05ac2aba442404b044c5e4939f581c0bb11a 100644
--- a/avconv.c
+++ b/avconv.c
@@ -345,7 +345,7 @@ static int check_recording_time(OutputStream *ost)
     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;
+        ost->finished = 1;
         return 0;
     }
     return 1;
@@ -729,8 +729,7 @@ static int poll_filters(void)
         for (i = 0; i < nb_output_streams; i++) {
             int64_t pts = output_streams[i]->sync_opts;
 
-            if (!output_streams[i]->filter ||
-                output_streams[i]->is_past_recording_time)
+            if (!output_streams[i]->filter || output_streams[i]->finished)
                 continue;
 
             pts = av_rescale_q(pts, output_streams[i]->st->codec->time_base,
@@ -747,7 +746,7 @@ static int poll_filters(void)
         ret = poll_filter(ost);
 
         if (ret == AVERROR_EOF) {
-            ost->is_past_recording_time = 1;
+            ost->finished = 1;
 
             if (opt_shortest)
                 return ret;
@@ -983,7 +982,7 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
 
     if (of->recording_time != INT64_MAX &&
         ist->last_dts >= of->recording_time + of->start_time) {
-        ost->is_past_recording_time = 1;
+        ost->finished = 1;
         return;
     }
 
@@ -1932,13 +1931,13 @@ static int need_output(void)
         OutputFile *of       = output_files[ost->file_index];
         AVFormatContext *os  = output_files[ost->file_index]->ctx;
 
-        if (ost->is_past_recording_time ||
+        if (ost->finished ||
             (os->pb && avio_tell(os->pb) >= of->limit_filesize))
             continue;
         if (ost->frame_number >= ost->max_frames) {
             int j;
             for (j = 0; j < of->ctx->nb_streams; j++)
-                output_streams[of->ost_index + j]->is_past_recording_time = 1;
+                output_streams[of->ost_index + j]->finished = 1;
             continue;
         }
 
@@ -2165,7 +2164,7 @@ static int process_input(void)
 
                 if (ost->source_index == ifile->ist_index + i &&
                     (ost->stream_copy || ost->enc->type == AVMEDIA_TYPE_SUBTITLE))
-                    ost->is_past_recording_time = 1;
+                    ost->finished= 1;
             }
         }
 
diff --git a/avconv.h b/avconv.h
index 0cc53c51341068d993a65acf00be0f8fcc3d55be..756d197ef53f36b2fa33d0e353814de01f14fa37 100644
--- a/avconv.h
+++ b/avconv.h
@@ -288,7 +288,7 @@ typedef struct OutputStream {
 
     int64_t sws_flags;
     AVDictionary *opts;
-    int is_past_recording_time;
+    int finished;        /* no more packets should be written for this stream */
     int stream_copy;
     const char *attachment_filename;
     int copy_initial_nonkeyframes;