[Intel-gfx] Crash of repeated playback using libva and gstreamer

Xiang, Haihao haihao.xiang at intel.com
Tue Jan 4 02:02:13 CET 2011


On Mon, 2011-01-03 at 14:54 +0800, Jyotsana wrote:
> Hi,
> 
> I am trying to play multiple video files one after the other using
> GStreamer(vaapidecode and vaapisink plugins) and libVA-1.0.3. 
> I am able to play one file successfully but once the first file is
> played to completion, we delete all references of the first pipeline
> and create a new one.

I can play multiple videos (MPEG2 & H.264) with mplayer_vaapi. Does
GStreamer call vaTerminate after playing a file? Could you try the
latest master branch? If you still experience this issue, please file a
bug to track it.

Thanks
Haihao

> When the second file is played, application crashes with the following
> error:
> libva: libva version 0.31.1
> libva: va_getDriverName() returns 0
> libva: Trying to open /opt/X11R7/lib/dri/i965_drv_video.so
> libva: va_openDriver() returns 0
> libva: libva version 0.31.1
> libva: va_getDriverName() returns 0
> libva: Trying to open /opt/X11R7/lib/dri/i965_drv_video.so
> libva: va_openDriver() returns 0
> VaapiApp: i965_media.c:277: i965_media_decode_picture: Assertion
> `media_state->media_states_setup' failed.
> 
> Following is the backtrace obtained from gdb:
> 
> i965_media_decode_picture: Assertion `media_state->media_states_setup'
> failed.
> # 0xb7fff424 in __kernel_vsyscall ()
> # #1  0x00414d71 in raise () from /lib/libc.so.6
> # #2  0x0041664a in abort () from /lib/libc.so.6
> # #3  0x0040dde8 in __assert_fail () from /lib/libc.so.6
> # #4  0xb71531d5 in i965_media_decode_picture (ctx=0xaeb19760,
> profile=VAProfileMPEG2Main, decode_state=0xaeb1a524) at
> i965_media.c:277
> # #5  0xb715afcf in i965_EndPicture (ctx=0xaeb19760, context=33554432)
> at i965_drv_video.c:1146
> # #6  0xb7d8cec5 in vaEndPicture (dpy=0xaeb1e960, context=33554432) at
> va.c:815
> # #7  0xb5f73a85 in render_picture (s=0xb0701c00) at
> libavcodec/vaapi.c:74
> # #8  ff_vaapi_common_end_frame (s=0xb0701c00) at
> libavcodec/vaapi.c:188
> # #9  0xb5d37c0b in slice_end (avctx=0xb0701400, picture=0xb0740940,
> data_size=0xb10fef24, buf=0xb0704600 "", buf_size=18936) at
> libavcodec/mpeg12.c:1935
> # #10 decode_chunks (avctx=0xb0701400, picture=0xb0740940,
> data_size=0xb10fef24, buf=0xb0704600 "", buf_size=18936) at
> libavcodec/mpeg12.c:2303
> # #11 0xb5d39290 in mpeg_decode_frame (avctx=0xb0701400,
> data=0xb0740940, data_size=0xb10fef24, avpkt=0xb10fee64) at
> libavcodec/mpeg12.c:2272
> # #12 0xb5e2de35 in avcodec_decode_video2 (avctx=0xb0701400,
> picture=0xb0740940, got_picture_ptr=0xb10fef24, buf=0xb0704600 "",
> buf_size=18936) at libavcodec/utils.c:611
> # #13 avcodec_decode_video (avctx=0xb0701400, picture=0xb0740940,
> got_picture_ptr=0xb10fef24, buf=0xb0704600 "", buf_size=18936) at
> libavcodec/utils.c:597
> # #14 0xb5be3392 in decode_frame (decoder=0xafd03478,
> buffer=0xae91b9e0) at gstvaapidecoder_ffmpeg.c:483
> # #15 gst_vaapi_decoder_ffmpeg_decode (decoder=0xafd03478,
> buffer=0xae91b9e0) at gstvaapidecoder_ffmpeg.c:566
> # #16 0xb5bd74ad in decode_step (decoder=0xafd03478,
> pstatus=0xb10ff00c) at gstvaapidecoder.c:117
> # #17 gst_vaapi_decoder_get_surface (decoder=0xafd03478,
> pstatus=0xb10ff00c) at gstvaapidecoder.c:422
> # #18 0xb7fe5105 in gst_vaapidecode_step (pad=0xb7036008,
> buf=0xae91b9e0) at gstvaapidecode.c:116
> # #19 gst_vaapidecode_chain (pad=0xb7036008, buf=0xae91b9e0) at
> gstvaapidecode.c:536
> # #20 0x420dfacd in gst_pad_chain_data_unchecked (pad=0xb7036008,
> is_buffer=1, data=0xae91b9e0) at gstpad.c:4131
> # #21 0x420e04e7 in gst_pad_push_data (pad=0xb70363f0, is_buffer=1,
> data=0xae91b9e0) at gstpad.c:4360
> # #22 0xb71e2655 in gst_queue_push_one (pad=0xb70363f0) at
> gstqueue.c:1083
> # #23 gst_queue_loop (pad=0xb70363f0) at gstqueue.c:1185
> # #24 0x4210ba11 in gst_task_func (task=0xb70570b0) at gsttask.c:271
> # #25 0x4210d047 in default_func (tdata=0xaeb00d58, pool=0xb7408c08)
> at gsttaskpool.c:68
> # #26 0x0066e214 in ?? () from /lib/libglib-2.0.so.0
> # #27 0x0066c210 in ?? () from /lib/libglib-2.0.so.0
> # #28 0x00585919 in start_thread () from /lib/libpthread.so.0
> # #29 0x004c7e5e in clone () from /lib/libc.so.6
> 
> I am running this on Fedora Core 13 on Calpella Platform.
> What could be the problem? :-(
> 
> Regards,
> Jyotsana.
> 
> 
> 





More information about the Intel-gfx mailing list