]> git.sesse.net Git - vlc/blobdiff - modules/mux/asf.c
No need to set i_buffer twice
[vlc] / modules / mux / asf.c
index e6a21a77819e43a611ce62d7f696d1b19d324719..fbcc6081fd3dfa6bd2636d5e522b5b11d9041260 100644 (file)
@@ -201,6 +201,8 @@ static int Open( vlc_object_t *p_this )
     p_mux->pf_mux       = Mux;
 
     p_mux->p_sys = p_sys = malloc( sizeof( sout_mux_sys_t ) );
+    if( !p_sys )
+        return VLC_ENOMEM;
     p_sys->b_asf_http = p_mux->psz_mux && !strcmp( p_mux->psz_mux, "asfh" );
     if( p_sys->b_asf_http )
     {
@@ -294,6 +296,12 @@ static void Close( vlc_object_t * p_this )
         free( p_sys->track[i].p_extra );
         es_format_Clean( &p_sys->track[i].fmt );
     }
+
+    free( p_sys->psz_title );
+    free( p_sys->psz_author );
+    free( p_sys->psz_copyright );
+    free( p_sys->psz_comment );
+    free( p_sys->psz_rating );
     free( p_sys );
 }
 
@@ -443,6 +451,8 @@ static int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
             tk->i_extra = sizeof( WAVEFORMATEX ) +
                           p_input->p_fmt->i_extra + i_extra;
             tk->p_extra = malloc( tk->i_extra );
+            if( !tk->p_extra )
+                return VLC_ENOMEM;
             bo_init( &bo, tk->p_extra, tk->i_extra );
             bo_addle_u16( &bo, tk->i_tag );
             bo_addle_u16( &bo, p_input->p_fmt->audio.i_channels );
@@ -489,7 +499,7 @@ static int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
             }
             else
             {
-                p_sys->i_bitrate += 512000;
+                p_sys->i_bitrate += 128000;
             }
             if (p_sys->i_bitrate_override)
                 p_sys->i_bitrate = p_sys->i_bitrate_override;
@@ -500,6 +510,8 @@ static int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
             tk->i_extra = 11 + sizeof( BITMAPINFOHEADER ) +
                           p_input->p_fmt->i_extra;
             tk->p_extra = malloc( tk->i_extra );
+            if( !tk->p_extra )
+                return VLC_ENOMEM;
             bo_init( &bo, tk->p_extra, tk->i_extra );
             bo_addle_u32( &bo, p_input->p_fmt->video.i_width );
             bo_addle_u32( &bo, p_input->p_fmt->video.i_height );
@@ -575,7 +587,7 @@ static int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
             }
             else
             {
-                p_sys->i_bitrate += 1000000;
+                p_sys->i_bitrate += 512000;
             }
             if (p_sys->i_bitrate_override)
                 p_sys->i_bitrate = p_sys->i_bitrate_override;
@@ -608,14 +620,14 @@ static int DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
              if( p_input->p_fmt->i_bitrate > 24000 )
                  p_sys->i_bitrate -= p_input->p_fmt->i_bitrate;
              else
-                 p_sys->i_bitrate -= 512000;
+                 p_sys->i_bitrate -= 128000;
         }
         else if(tk->i_cat == VIDEO_ES )
         {
              if( p_input->p_fmt->i_bitrate > 50000 )
                  p_sys->i_bitrate -= p_input->p_fmt->i_bitrate;
              else
-                 p_sys->i_bitrate -= 1000000;
+                 p_sys->i_bitrate -= 512000;
         }
     }
     msg_Dbg( p_mux, "removing input" );