Commit a4820b53 authored by Laurent Aimar's avatar Laurent Aimar

Used the AVCodecContext given to AVCodecContext::get_format() and not the global one.

The global one may not be in synch when the callback is called.
parent 66b8bb17
...@@ -1159,14 +1159,14 @@ static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context, ...@@ -1159,14 +1159,14 @@ static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
#endif #endif
if( p_sys->p_va && 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 /* We try to call vlc_va_Setup when possible to detect errors when
* possible (later is too late) */ * possible (later is too late) */
if( vlc_va_Setup( p_sys->p_va, 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_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" ); msg_Err( p_dec, "vlc_va_Setup failed" );
vlc_va_Delete( p_sys->p_va ); vlc_va_Delete( p_sys->p_va );
...@@ -1183,7 +1183,7 @@ static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context, ...@@ -1183,7 +1183,7 @@ static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
* even if a new pixel format is renegociated * even if a new pixel format is renegociated
*/ */
p_sys->b_direct_rendering = false; p_sys->b_direct_rendering = false;
p_sys->p_context->draw_horiz_band = NULL; p_context->draw_horiz_band = NULL;
return pi_fmt[i]; return pi_fmt[i];
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment