OSDN Git Service

do not use av_parser_change for h264 which uses bitstream filter, fix #1027
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Sun, 14 Jun 2009 23:55:25 +0000 (23:55 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Sun, 14 Jun 2009 23:55:25 +0000 (23:55 +0000)
Originally committed as revision 19196 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffmpeg.c

index 509be6e..a1cb509 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1407,8 +1407,13 @@ static int output_packet(AVInputStream *ist, int ist_index,
                         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) {
                         if(av_parser_change(ist->st->parser, ost->st->codec, &opkt.data, &opkt.size, data_buf, data_size, pkt->flags & PKT_FLAG_KEY))
                             opkt.destruct= av_destruct_packet;
+                        } else {
+                            opkt.data = data_buf;
+                            opkt.size = data_size;
+                        }
 
                         write_frame(os, &opkt, ost->st->codec, bitstream_filters[ost->file_index][opkt.stream_index]);
                         ost->st->codec->frame_number++;