---
 avconv.c |  230 +++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 115 insertions(+), 115 deletions(-)

diff --git a/avconv.c b/avconv.c
index 007e040..721acc2 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1565,137 +1565,137 @@ static int output_packet(InputStream *ist, int 
ist_index,
         /* if output time reached then transcode raw format,
            encode packets and output them */
         for (i = 0; i < nb_ostreams; i++) {
-                OutputFile *of = &output_files[ost_table[i].file_index];
-                int frame_size;
+            OutputFile *of = &output_files[ost_table[i].file_index];
+            int frame_size;
 
-                ost = &ost_table[i];
-                if (ost->source_index != ist_index)
-                    continue;
+            ost = &ost_table[i];
+            if (ost->source_index != ist_index)
+                continue;
 
-                if (of->start_time && ist->pts < of->start_time)
-                    continue;
+            if (of->start_time && ist->pts < of->start_time)
+                continue;
 
-                if (of->recording_time != INT64_MAX &&
-                    av_compare_ts(ist->pts, AV_TIME_BASE_Q, of->recording_time 
+ of->start_time,
-                                  (AVRational){1, 1000000}) >= 0) {
-                    ost->is_past_recording_time = 1;
-                    continue;
-                }
+            if (of->recording_time != INT64_MAX &&
+                av_compare_ts(ist->pts, AV_TIME_BASE_Q, of->recording_time + 
of->start_time,
+                              (AVRational){1, 1000000}) >= 0) {
+                ost->is_past_recording_time = 1;
+                continue;
+            }
 
 #if CONFIG_AVFILTER
-                if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO &&
-                    ost->input_video_filter) {
-                    AVRational sar;
-                    if (ist->st->sample_aspect_ratio.num)
-                        sar = ist->st->sample_aspect_ratio;
-                    else
-                        sar = ist->st->codec->sample_aspect_ratio;
-                    av_vsrc_buffer_add_frame(ost->input_video_filter, 
&picture, ist->pts, sar);
-                }
-                frame_available = ist->st->codec->codec_type != 
AVMEDIA_TYPE_VIDEO ||
-                    !ost->output_video_filter || 
avfilter_poll_frame(ost->output_video_filter->inputs[0]);
-                while (frame_available) {
-                    AVRational ist_pts_tb;
-                    if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && 
ost->output_video_filter)
-                        get_filtered_video_frame(ost->output_video_filter, 
&picture, &ost->picref, &ist_pts_tb);
-                    if (ost->picref)
-                        ist->pts = av_rescale_q(ost->picref->pts, ist_pts_tb, 
AV_TIME_BASE_Q);
+            if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO &&
+                ost->input_video_filter) {
+                AVRational sar;
+                if (ist->st->sample_aspect_ratio.num)
+                    sar = ist->st->sample_aspect_ratio;
+                else
+                    sar = ist->st->codec->sample_aspect_ratio;
+                av_vsrc_buffer_add_frame(ost->input_video_filter, &picture, 
ist->pts, sar);
+            }
+            frame_available = ist->st->codec->codec_type != AVMEDIA_TYPE_VIDEO 
||
+                !ost->output_video_filter || 
avfilter_poll_frame(ost->output_video_filter->inputs[0]);
+            while (frame_available) {
+                AVRational ist_pts_tb;
+                if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && 
ost->output_video_filter)
+                    get_filtered_video_frame(ost->output_video_filter, 
&picture, &ost->picref, &ist_pts_tb);
+                if (ost->picref)
+                    ist->pts = av_rescale_q(ost->picref->pts, ist_pts_tb, 
AV_TIME_BASE_Q);
 #endif
-                    os = output_files[ost->file_index].ctx;
+                os = output_files[ost->file_index].ctx;
 
-                    /* set the input output pts pairs */
-                    //ost->sync_ipts = (double)(ist->pts + 
input_files[ist->file_index].ts_offset - start_time)/ AV_TIME_BASE;
+                /* set the input output pts pairs */
+                //ost->sync_ipts = (double)(ist->pts + 
input_files[ist->file_index].ts_offset - start_time)/ AV_TIME_BASE;
 
-                    if (ost->encoding_needed) {
-                        av_assert0(ist->decoding_needed);
-                        switch(ost->st->codec->codec_type) {
-                        case AVMEDIA_TYPE_AUDIO:
-                            do_audio_out(os, ost, ist, decoded_data_buf, 
decoded_data_size);
-                            break;
-                        case AVMEDIA_TYPE_VIDEO:
+                if (ost->encoding_needed) {
+                    av_assert0(ist->decoding_needed);
+                    switch(ost->st->codec->codec_type) {
+                    case AVMEDIA_TYPE_AUDIO:
+                        do_audio_out(os, ost, ist, decoded_data_buf, 
decoded_data_size);
+                        break;
+                    case AVMEDIA_TYPE_VIDEO:
 #if CONFIG_AVFILTER
-                            if (ost->picref->video && !ost->frame_aspect_ratio)
-                                ost->st->codec->sample_aspect_ratio = 
ost->picref->video->pixel_aspect;
+                        if (ost->picref->video && !ost->frame_aspect_ratio)
+                            ost->st->codec->sample_aspect_ratio = 
ost->picref->video->pixel_aspect;
 #endif
-                            do_video_out(os, ost, ist, &picture, &frame_size,
-                                         same_quant ? quality : 
ost->st->codec->global_quality);
-                            if (vstats_filename && frame_size)
-                                do_video_stats(os, ost, frame_size);
-                            break;
-                        case AVMEDIA_TYPE_SUBTITLE:
-                            do_subtitle_out(os, ost, ist, &subtitle,
-                                            pkt->pts);
-                            break;
-                        default:
-                            abort();
-                        }
-                    } else {
-                        AVFrame avframe; //FIXME/XXX remove this
-                        AVPacket opkt;
-                        int64_t ost_tb_start_time= 
av_rescale_q(of->start_time, AV_TIME_BASE_Q, ost->st->time_base);
+                        do_video_out(os, ost, ist, &picture, &frame_size,
+                                     same_quant ? quality : 
ost->st->codec->global_quality);
+                        if (vstats_filename && frame_size)
+                            do_video_stats(os, ost, frame_size);
+                        break;
+                    case AVMEDIA_TYPE_SUBTITLE:
+                        do_subtitle_out(os, ost, ist, &subtitle,
+                                        pkt->pts);
+                        break;
+                    default:
+                        abort();
+                    }
+                } else {
+                    AVFrame avframe; //FIXME/XXX remove this
+                    AVPacket opkt;
+                    int64_t ost_tb_start_time= av_rescale_q(of->start_time, 
AV_TIME_BASE_Q, ost->st->time_base);
 
-                        av_init_packet(&opkt);
+                    av_init_packet(&opkt);
 
-                        if ((!ost->frame_number && !(pkt->flags & 
AV_PKT_FLAG_KEY)) && !copy_initial_nonkeyframes)
+                    if ((!ost->frame_number && !(pkt->flags & 
AV_PKT_FLAG_KEY)) && !copy_initial_nonkeyframes)
 #if !CONFIG_AVFILTER
-                            continue;
+                        continue;
 #else
-                            goto cont;
+                        goto cont;
 #endif
 
-                        /* no reencoding needed : output the packet directly */
-                        /* force the input stream PTS */
+                    /* no reencoding needed : output the packet directly */
+                    /* force the input stream PTS */
 
-                        avcodec_get_frame_defaults(&avframe);
-                        ost->st->codec->coded_frame= &avframe;
-                        avframe.key_frame = pkt->flags & AV_PKT_FLAG_KEY;
+                    avcodec_get_frame_defaults(&avframe);
+                    ost->st->codec->coded_frame= &avframe;
+                    avframe.key_frame = pkt->flags & AV_PKT_FLAG_KEY;
 
-                        if(ost->st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
-                            audio_size += data_size;
-                        else if (ost->st->codec->codec_type == 
AVMEDIA_TYPE_VIDEO) {
-                            video_size += data_size;
-                            ost->sync_opts++;
-                        }
+                    if(ost->st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+                        audio_size += data_size;
+                    else if (ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) 
{
+                        video_size += data_size;
+                        ost->sync_opts++;
+                    }
 
-                        opkt.stream_index= ost->index;
-                        if(pkt->pts != AV_NOPTS_VALUE)
-                            opkt.pts= av_rescale_q(pkt->pts, 
ist->st->time_base, ost->st->time_base) - ost_tb_start_time;
-                        else
-                            opkt.pts= AV_NOPTS_VALUE;
-
-                        if (pkt->dts == AV_NOPTS_VALUE)
-                            opkt.dts = av_rescale_q(ist->pts, AV_TIME_BASE_Q, 
ost->st->time_base);
-                        else
-                            opkt.dts = av_rescale_q(pkt->dts, 
ist->st->time_base, ost->st->time_base);
-                        opkt.dts -= ost_tb_start_time;
-
-                        opkt.duration = av_rescale_q(pkt->duration, 
ist->st->time_base, ost->st->time_base);
-                        opkt.flags= pkt->flags;
-
-                        //FIXME remove the following 2 lines they shall be 
replaced by the bitstream filters
-                        if(   ost->st->codec->codec_id != CODEC_ID_H264
-                           && ost->st->codec->codec_id != CODEC_ID_MPEG1VIDEO
-                           && ost->st->codec->codec_id != CODEC_ID_MPEG2VIDEO
-                           ) {
-                            if(av_parser_change(ist->st->parser, 
ost->st->codec, &opkt.data, &opkt.size, data_buf, data_size, pkt->flags & 
AV_PKT_FLAG_KEY))
-                                opkt.destruct= av_destruct_packet;
-                        } else {
-                            opkt.data = data_buf;
-                            opkt.size = data_size;
-                        }
+                    opkt.stream_index= ost->index;
+                    if(pkt->pts != AV_NOPTS_VALUE)
+                        opkt.pts= av_rescale_q(pkt->pts, ist->st->time_base, 
ost->st->time_base) - ost_tb_start_time;
+                    else
+                        opkt.pts= AV_NOPTS_VALUE;
 
-                        write_frame(os, &opkt, ost->st->codec, 
ost->bitstream_filters);
-                        ost->st->codec->frame_number++;
-                        ost->frame_number++;
-                        av_free_packet(&opkt);
+                    if (pkt->dts == AV_NOPTS_VALUE)
+                        opkt.dts = av_rescale_q(ist->pts, AV_TIME_BASE_Q, 
ost->st->time_base);
+                    else
+                        opkt.dts = av_rescale_q(pkt->dts, ist->st->time_base, 
ost->st->time_base);
+                    opkt.dts -= ost_tb_start_time;
+
+                    opkt.duration = av_rescale_q(pkt->duration, 
ist->st->time_base, ost->st->time_base);
+                    opkt.flags= pkt->flags;
+
+                    //FIXME remove the following 2 lines they shall be 
replaced by the bitstream filters
+                    if(   ost->st->codec->codec_id != CODEC_ID_H264
+                       && ost->st->codec->codec_id != CODEC_ID_MPEG1VIDEO
+                       && ost->st->codec->codec_id != CODEC_ID_MPEG2VIDEO
+                       ) {
+                        if(av_parser_change(ist->st->parser, ost->st->codec, 
&opkt.data, &opkt.size, data_buf, data_size, pkt->flags & AV_PKT_FLAG_KEY))
+                            opkt.destruct= av_destruct_packet;
+                    } else {
+                        opkt.data = data_buf;
+                        opkt.size = data_size;
                     }
-#if CONFIG_AVFILTER
-                    cont:
-                    frame_available = (ist->st->codec->codec_type == 
AVMEDIA_TYPE_VIDEO) &&
-                                       ost->output_video_filter && 
avfilter_poll_frame(ost->output_video_filter->inputs[0]);
-                    if (ost->picref)
-                        avfilter_unref_buffer(ost->picref);
+
+                    write_frame(os, &opkt, ost->st->codec, 
ost->bitstream_filters);
+                    ost->st->codec->frame_number++;
+                    ost->frame_number++;
+                    av_free_packet(&opkt);
                 }
+#if CONFIG_AVFILTER
+                cont:
+                frame_available = (ist->st->codec->codec_type == 
AVMEDIA_TYPE_VIDEO) &&
+                                   ost->output_video_filter && 
avfilter_poll_frame(ost->output_video_filter->inputs[0]);
+                if (ost->picref)
+                    avfilter_unref_buffer(ost->picref);
+            }
 #endif
             }
 
-- 
1.7.5.4

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to