]> git.sesse.net Git - vlc/commitdiff
* src/input/es_out.c: ES_OUT_SET_FMT restarts the decoder.
authorGildas Bazin <gbazin@videolan.org>
Sun, 6 Mar 2005 17:53:49 +0000 (17:53 +0000)
committerGildas Bazin <gbazin@videolan.org>
Sun, 6 Mar 2005 17:53:49 +0000 (17:53 +0000)
src/input/es_out.c

index f40c4a2904dcb11e9ffe48209b5bbc45f46e9e46..6d0e603dc9de9188332ea021636d5ee06f12d641 100644 (file)
@@ -1178,11 +1178,18 @@ static int EsOutControl( es_out_t *out, int i_query, va_list args )
 
                 if( !es->p_dec ) return VLC_SUCCESS;
 
+#if 1
+                input_DecoderDelete( es->p_dec );
+                es->p_dec = input_DecoderNew( p_sys->p_input,
+                                              &es->fmt, VLC_FALSE );
+
+#else
                 es->p_dec->fmt_in.i_extra = p_fmt->i_extra;
                 es->p_dec->fmt_in.p_extra =
                     realloc( es->p_dec->fmt_in.p_extra, p_fmt->i_extra );
                 memcpy( es->p_dec->fmt_in.p_extra,
                         p_fmt->p_extra, p_fmt->i_extra );
+#endif
             }
 
             return VLC_SUCCESS;