]> git.sesse.net Git - vlc/commitdiff
Used the AVCodecContext given to AVCodecContext::get_format() and not the global...
authorLaurent Aimar <fenrir@videolan.org>
Mon, 12 Sep 2011 22:37:33 +0000 (00:37 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Tue, 13 Sep 2011 20:52:55 +0000 (22:52 +0200)
The global one may not be in synch when the callback is called.

modules/codec/avcodec/video.c

index 3a272b8db57fcf6c8ad86c04bafa45b3a1827e91..e4e69436604da5a24644920a0f9023bf5c79e90c 100644 (file)
@@ -1159,14 +1159,14 @@ static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
 #endif
 
         if( p_sys->p_va &&
-            p_sys->p_context->width > 0 && p_sys->p_context->height > 0 )
+            p_context->width > 0 && p_context->height > 0 )
         {
             /* We try to call vlc_va_Setup when possible to detect errors when
              * possible (later is too late) */
             if( vlc_va_Setup( p_sys->p_va,
-                              &p_sys->p_context->hwaccel_context,
+                              &p_context->hwaccel_context,
                               &p_dec->fmt_out.video.i_chroma,
-                              p_sys->p_context->width, p_sys->p_context->height ) )
+                              p_context->width, p_context->height ) )
             {
                 msg_Err( p_dec, "vlc_va_Setup failed" );
                 vlc_va_Delete( p_sys->p_va );
@@ -1183,7 +1183,7 @@ static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
              * even if a new pixel format is renegociated
              */
             p_sys->b_direct_rendering = false;
-            p_sys->p_context->draw_horiz_band = NULL;
+            p_context->draw_horiz_band = NULL;
             return pi_fmt[i];
         }
     }