]> git.sesse.net Git - vlc/commitdiff
Fixed ASF muxer header with extended streams and aspect ratio.
authorLaurent Aimar <fenrir@videolan.org>
Sat, 1 May 2010 11:39:04 +0000 (13:39 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Sat, 1 May 2010 11:39:55 +0000 (13:39 +0200)
modules/mux/asf.c

index 8d78a69ad5bb5542ebe25157447efd079dc2b8ed..31beadf9b836d2e8cfe15ba75f883a1ae72a60f2 100644 (file)
@@ -935,7 +935,6 @@ static block_t *asf_header_create( sout_mux_t *p_mux, bool b_broadcast )
             p_track->fmt.video.i_sar_den != 0 )
         {
             i_cm_size = 26 + 2 * (16 + 2 * sizeof("AspectRatio?"));
-            break;
         }
         if( p_track->b_extended )
             i_header_ext_size += 88;
@@ -1029,13 +1028,15 @@ static block_t *asf_header_create( sout_mux_t *p_mux, bool b_broadcast )
     if( i_cm_size )
     {
         unsigned int i_dst_num, i_dst_den;
-        asf_track_t *tk;
-        tk=NULL;
 
+        asf_track_t *tk = NULL;
         for( i = 0; i < vlc_array_count( p_sys->p_tracks ); i++ )
         {
             tk = vlc_array_item_at_index( p_sys->p_tracks, i );
-            if( tk->i_cat == VIDEO_ES ) break;
+            if( tk->i_cat == VIDEO_ES &&
+                tk->fmt.video.i_sar_num != 0 &&
+                tk->fmt.video.i_sar_den != 0 )
+                break;
         }
         assert( tk != NULL );