consumer_avformat.c: Fix crash introduced by FFmpeg revision 15367 (check that muxer...
authorj-b-m <j-b-m@d19143bc-622f-0410-bfdd-b5b2a6649095>
Wed, 8 Oct 2008 09:45:03 +0000 (09:45 +0000)
committerj-b-m <j-b-m@d19143bc-622f-0410-bfdd-b5b2a6649095>
Wed, 8 Oct 2008 09:45:03 +0000 (09:45 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@1184 d19143bc-622f-0410-bfdd-b5b2a6649095

src/modules/avformat/consumer_avformat.c

index fbe91e8..38c8e8d 100644 (file)
@@ -467,32 +467,43 @@ static AVStream *add_video_stream( mlt_consumer this, AVFormatContext *oc, int c
                        {
                                c->sample_aspect_ratio.num = 10;
                                c->sample_aspect_ratio.den = 11;
+                               st->sample_aspect_ratio.num = 10;
+                               st->sample_aspect_ratio.den = 11;
                        }
                        else if ( ar == 16.0/15.0 ) // 4:3 PAL
                        {
                                c->sample_aspect_ratio.num = 159;
                                c->sample_aspect_ratio.den = 54;
+                               st->sample_aspect_ratio.num = 159;
+                               st->sample_aspect_ratio.den = 54;
                        }
                        else if ( ar == 32.0/27.0 ) // 16:9 NTSC
                        {
                                c->sample_aspect_ratio.num = 40;
                                c->sample_aspect_ratio.den = 33;
+                               st->sample_aspect_ratio.num = 40;
+                               st->sample_aspect_ratio.den = 33;
                        }
                        else // 16:9 PAL
                        {
                                c->sample_aspect_ratio.num = 118;
                                c->sample_aspect_ratio.den = 81;
+                               st->sample_aspect_ratio.num = 118;
+                               st->sample_aspect_ratio.den = 81;
                        }
                }
                else if ( mlt_properties_get( properties, "aspect" ) )
                {
                        double ar = mlt_properties_get_double( properties, "aspect" );
                        c->sample_aspect_ratio = av_d2q( ar * c->height / c->width , 255);
+                       st->sample_aspect_ratio = av_d2q( ar * c->height / c->width , 255);
                }
                else
                {
                        c->sample_aspect_ratio.num = mlt_properties_get_int( properties, "sample_aspect_num" );
                        c->sample_aspect_ratio.den = mlt_properties_get_int( properties, "sample_aspect_den" );
+                       st->sample_aspect_ratio.num = mlt_properties_get_int( properties, "sample_aspect_num" );
+                       st->sample_aspect_ratio.den = mlt_properties_get_int( properties, "sample_aspect_den" );
                }
 
                if ( mlt_properties_get_double( properties, "qscale" ) > 0 )