[Libva] Looping a video with gstreamer vaapi

Pierre Gaston pierre.gaston at gmail.com
Fri Apr 6 03:25:00 PDT 2012


Hi,

Not sure if it's the correct place to talk about gstreamer-vaapi, if
not please tell where it might be more appropriate.

I have an AMD E350 with catalyst version 11.11, latest libva,
gstreamer-vaapi, clutter-gst.

I'm trying to play a video in a loop, my goal is to use clutter-gst
and it works great. (Thanks to all the people who work on these
projects).

But If I tell it to loop, I notice that everytime it restarts, around
50m of memory is allocated, quickly leading to memory exhaustion.

Attached is the output of the video_player test application with debug
misc, media and buffering enabled (video_player_debug.txt )
(I also tried to seek back to 0 when progress is over 90% and while
everything looks ok, the video stays on a still frame every even
iteration,
but that's probably another  problem).

I wanted to see if the problem is in clutter_gst or gstreamer-vaapi,
so I tried to reproduce the loop with a test case (overlay.c) seeking
to 0 upon EOS and it doesn't seem to leak, but  there is a problem
with the clock, the video is like paused, then played very fast.
(attached the output of overlay.c and the output in overlay_debug.txt)

I also tried to set the state to NULL and then to PLAY upon EOS
(overlay2.c), this leads to leaks (it seems the driver is reloaded
every time)
but I get a segmentation fault after a few iterations, before memory
exhaustion (I attached the trace and the backtrace from gdb).

Please let me know if this should be posted elsewhere or if I can help
or provide any other kind of information.

Thanks
Pierre
-------------- next part --------------
CLUTTER_GST_DEBUG=media:misc:buffering ./video-player /opt/pgas/newmenu.m4v
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:474: setting uri file:///opt/pgas/newmenu.m4v
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:423: setting subtitle URI: (null)
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:534: setting URI: file:///opt/pgas/newmenu.m4v
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:423: setting subtitle URI: (null)
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:587: set playing: 1
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:725: get progress (target): 0.00
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:1104: state change:  null -> ready
libva: VA-API version 0.33.0
libva: User requested driver 'xvba'
libva: Trying to open /usr/lib/va/drivers/xvba_drv_video.so
libva: Found init function __vaDriverInit_0_32
libva: va_openDriver() returns 0
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:1104: state change:  ready -> paused
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:1140: can-seek: 1
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:1063: duration: 13.51
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:725: get progress (target): 0.00
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:1104: state change:  paused -> playing
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.05
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.09
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.13
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.16
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.20
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.24
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.27
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.31
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.35
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.38
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.42
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.46
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.50
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.53
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.57
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.61
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.64
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.68
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.72
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.76
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.79
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.83
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.87
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.90
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.94
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.98
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:643: set progress: 0.00
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:691: set progress (seeked): 0.00
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:725: get progress (target): 0.00
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:587: set playing: 1
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.00
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.00
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:1104: state change:  playing -> paused
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:1104: state change:  paused -> ready
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:1104: state change:  ready -> paused
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:1140: can-seek: 1
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:1104: state change:  paused -> playing
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.02
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.05
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.09
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.13
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.16
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.20
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.24
Clutter-Gst-Message: [MEDIA] ./clutter-gst-player.c:750: get progress (pipeline): 0.28
-------------- next part --------------
A non-text attachment was scrubbed...
Name: overlay.c
Type: text/x-csrc
Size: 3471 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libva/attachments/20120406/5aa6932b/attachment-0002.c>
-------------- next part --------------
Element streamsynchronizer0 changed state from NULL to READY.
Element playsink0 changed state from NULL to READY.
Element play changed state from NULL to READY.
Element uridecodebin0 changed state from NULL to READY.
Element streamsynchronizer0 changed state from READY to PAUSED.
Element typefind changed state from NULL to READY.
Element decodebin20 changed state from NULL to READY.
Element qtdemux0 changed state from NULL to READY.
Element qtdemux0 changed state from READY to PAUSED.
Element typefind changed state from READY to PAUSED.
Element source changed state from NULL to READY.
Element source changed state from READY to PAUSED.
Element multiqueue0 changed state from NULL to READY.
Element multiqueue0 changed state from READY to PAUSED.
Element h264parse0 changed state from NULL to READY.
Element h264parse0 changed state from READY to PAUSED.
Element aacparse0 changed state from NULL to READY.
Element aacparse0 changed state from READY to PAUSED.
Element vaapidecode0 changed state from NULL to READY.
Element vaapidecode0 changed state from READY to PAUSED.
libva: VA-API version 0.33.0
libva: User requested driver 'xvba'
libva: Trying to open /usr/lib/va/drivers/xvba_drv_video.so
libva: Found init function __vaDriverInit_0_32
libva: va_openDriver() returns 0
Element inputselector0 changed state from NULL to READY.
Element inputselector0 changed state from READY to PAUSED.
Element decodebin20 changed state from READY to PAUSED.
Element uridecodebin0 changed state from READY to PAUSED.
Element scale changed state from NULL to READY.
Element conv changed state from NULL to READY.
Element identity changed state from NULL to READY.
Element vconv changed state from NULL to READY.
Element vqueue changed state from NULL to READY.
Element vbin changed state from NULL to READY.
Element scale changed state from READY to PAUSED.
Element conv changed state from READY to PAUSED.
Element identity changed state from READY to PAUSED.
Element vconv changed state from READY to PAUSED.
Element vqueue changed state from READY to PAUSED.
Element vaapisink0 changed state from READY to PAUSED.
Element vbin changed state from READY to PAUSED.
Element playsink0 changed state from READY to PAUSED.
Element play changed state from READY to PAUSED.
Element vaapisink0 changed state from PAUSED to PLAYING.
Element scale changed state from PAUSED to PLAYING.
Element conv changed state from PAUSED to PLAYING.
Element identity changed state from PAUSED to PLAYING.
Element vconv changed state from PAUSED to PLAYING.
Element vqueue changed state from PAUSED to PLAYING.
Element vbin changed state from PAUSED to PLAYING.
Element streamsynchronizer0 changed state from PAUSED to PLAYING.
Element playsink0 changed state from PAUSED to PLAYING.
Element inputselector0 changed state from PAUSED to PLAYING.
Element vaapidecode0 changed state from PAUSED to PLAYING.
Element capsfilter0 changed state from PAUSED to PLAYING.
Element h264parse0 changed state from PAUSED to PLAYING.
Element aacparse0 changed state from PAUSED to PLAYING.
Element multiqueue0 changed state from PAUSED to PLAYING.
Element qtdemux0 changed state from PAUSED to PLAYING.
Element typefind changed state from PAUSED to PLAYING.
Element decodebin20 changed state from PAUSED to PLAYING.
Element source changed state from PAUSED to PLAYING.
Element uridecodebin0 changed state from PAUSED to PLAYING.
Element play changed state from PAUSED to PLAYING.
EOS received
seek ok
Element vaapisink0 changed state from PAUSED to PAUSED.
Element vbin changed state from PAUSED to PAUSED.
Element playsink0 changed state from PAUSED to PAUSED.
Element play changed state from PAUSED to PAUSED.
Element vaapisink0 changed state from PAUSED to PAUSED.
Element vbin changed state from PAUSED to PAUSED.
Element playsink0 changed state from PAUSED to PAUSED.
Element play changed state from PAUSED to PAUSED.
Element vaapisink0 changed state from PAUSED to PLAYING.
Element vbin changed state from PAUSED to PLAYING.
Element playsink0 changed state from PAUSED to PLAYING.
Element play changed state from PAUSED to PLAYING.
EOS received
seek ok
-------------- next part --------------
A non-text attachment was scrubbed...
Name: overlay2.c
Type: text/x-csrc
Size: 3582 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libva/attachments/20120406/5aa6932b/attachment-0003.c>
-------------- next part --------------

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(overlay:1960): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",
Element streamsynchronizer0 changed state from NULL to READY.
Element playsink0 changed state from NULL to READY.
Element play changed state from NULL to READY.
Element uridecodebin0 changed state from NULL to READY.
Element streamsynchronizer0 changed state from READY to PAUSED.
Element typefind changed state from NULL to READY.
Element decodebin20 changed state from NULL to READY.
Element qtdemux0 changed state from NULL to READY.
Element qtdemux0 changed state from READY to PAUSED.
Element typefind changed state from READY to PAUSED.
Element source changed state from NULL to READY.
Element source changed state from READY to PAUSED.
Element multiqueue0 changed state from NULL to READY.
Element multiqueue0 changed state from READY to PAUSED.
Element h264parse0 changed state from NULL to READY.
Element h264parse0 changed state from READY to PAUSED.
Element aacparse0 changed state from NULL to READY.
Element aacparse0 changed state from READY to PAUSED.
Element vaapidecode0 changed state from NULL to READY.
Element vaapidecode0 changed state from READY to PAUSED.
libva: VA-API version 0.33.0
libva: User requested driver 'xvba'
libva: Trying to open /usr/lib/va/drivers/xvba_drv_video.so
libva: Found init function __vaDriverInit_0_32
libva: va_openDriver() returns 0
Element inputselector0 changed state from NULL to READY.
Element inputselector0 changed state from READY to PAUSED.
Element decodebin20 changed state from READY to PAUSED.
Element uridecodebin0 changed state from READY to PAUSED.
Element scale changed state from NULL to READY.
Element conv changed state from NULL to READY.
Element identity changed state from NULL to READY.
Element vconv changed state from NULL to READY.
Element vqueue changed state from NULL to READY.
Element vbin changed state from NULL to READY.
Element scale changed state from READY to PAUSED.
Element conv changed state from READY to PAUSED.
Element identity changed state from READY to PAUSED.
Element vconv changed state from READY to PAUSED.
Element vqueue changed state from READY to PAUSED.
Element vaapisink0 changed state from READY to PAUSED.
Element vbin changed state from READY to PAUSED.
Element playsink0 changed state from READY to PAUSED.
Element play changed state from READY to PAUSED.
Element vaapisink0 changed state from PAUSED to PLAYING.
Element scale changed state from PAUSED to PLAYING.
Element conv changed state from PAUSED to PLAYING.
Element identity changed state from PAUSED to PLAYING.
Element vconv changed state from PAUSED to PLAYING.
Element vqueue changed state from PAUSED to PLAYING.
Element vbin changed state from PAUSED to PLAYING.
Element streamsynchronizer0 changed state from PAUSED to PLAYING.
Element playsink0 changed state from PAUSED to PLAYING.
Element inputselector0 changed state from PAUSED to PLAYING.
Element vaapidecode0 changed state from PAUSED to PLAYING.
Element capsfilter0 changed state from PAUSED to PLAYING.
Element h264parse0 changed state from PAUSED to PLAYING.
Element aacparse0 changed state from PAUSED to PLAYING.
Element multiqueue0 changed state from PAUSED to PLAYING.
Element qtdemux0 changed state from PAUSED to PLAYING.
Element typefind changed state from PAUSED to PLAYING.
Element decodebin20 changed state from PAUSED to PLAYING.
Element source changed state from PAUSED to PLAYING.
Element uridecodebin0 changed state from PAUSED to PLAYING.
Element play changed state from PAUSED to PLAYING.
EOS received
Element streamsynchronizer0 changed state from NULL to READY.
Element playsink0 changed state from NULL to READY.
Element play changed state from NULL to READY.
Element uridecodebin1 changed state from NULL to READY.
Element streamsynchronizer0 changed state from READY to PAUSED.
Element typefind changed state from NULL to READY.
Element decodebin21 changed state from NULL to READY.
Element qtdemux1 changed state from NULL to READY.
Element qtdemux1 changed state from READY to PAUSED.
Element typefind changed state from READY to PAUSED.
Element source changed state from NULL to READY.
Element source changed state from READY to PAUSED.
Element multiqueue1 changed state from NULL to READY.
Element multiqueue1 changed state from READY to PAUSED.
Element h264parse1 changed state from NULL to READY.
Element h264parse1 changed state from READY to PAUSED.
Element aacparse1 changed state from NULL to READY.
Element aacparse1 changed state from READY to PAUSED.
Element vaapidecode1 changed state from NULL to READY.
Element vaapidecode1 changed state from READY to PAUSED.
libva: VA-API version 0.33.0
libva: User requested driver 'xvba'
libva: Trying to open /usr/lib/va/drivers/xvba_drv_video.so
libva: Found init function __vaDriverInit_0_32
libva: va_openDriver() returns 0
Element inputselector1 changed state from NULL to READY.
Element inputselector1 changed state from READY to PAUSED.
Element decodebin21 changed state from READY to PAUSED.
Element uridecodebin1 changed state from READY to PAUSED.
Element scale changed state from NULL to READY.
Element conv changed state from NULL to READY.
Element identity changed state from NULL to READY.
Element vconv changed state from NULL to READY.
Element vqueue changed state from NULL to READY.
Element vbin changed state from NULL to READY.
Element scale changed state from READY to PAUSED.
Element conv changed state from READY to PAUSED.
Element identity changed state from READY to PAUSED.
Element vconv changed state from READY to PAUSED.
Element vqueue changed state from READY to PAUSED.
Element vaapisink1 changed state from READY to PAUSED.
Element vbin changed state from READY to PAUSED.
Element playsink0 changed state from READY to PAUSED.
Element play changed state from READY to PAUSED.
Element vaapisink1 changed state from PAUSED to PLAYING.
Element scale changed state from PAUSED to PLAYING.
Element conv changed state from PAUSED to PLAYING.
Element identity changed state from PAUSED to PLAYING.
Element vconv changed state from PAUSED to PLAYING.
Element vqueue changed state from PAUSED to PLAYING.
Element vbin changed state from PAUSED to PLAYING.
Element streamsynchronizer0 changed state from PAUSED to PLAYING.
Element playsink0 changed state from PAUSED to PLAYING.
Element inputselector1 changed state from PAUSED to PLAYING.
Element vaapidecode1 changed state from PAUSED to PLAYING.
Element capsfilter1 changed state from PAUSED to PLAYING.
Element h264parse1 changed state from PAUSED to PLAYING.
Element aacparse1 changed state from PAUSED to PLAYING.
Element multiqueue1 changed state from PAUSED to PLAYING.
Element qtdemux1 changed state from PAUSED to PLAYING.
Element typefind changed state from PAUSED to PLAYING.
Element decodebin21 changed state from PAUSED to PLAYING.
Element source changed state from PAUSED to PLAYING.
Element uridecodebin1 changed state from PAUSED to PLAYING.
Element play changed state from PAUSED to PLAYING.
EOS received
Element streamsynchronizer0 changed state from NULL to READY.
Element playsink0 changed state from NULL to READY.
Element play changed state from NULL to READY.
Element uridecodebin2 changed state from NULL to READY.
Element streamsynchronizer0 changed state from READY to PAUSED.
Element typefind changed state from NULL to READY.
Element decodebin22 changed state from NULL to READY.
Element qtdemux2 changed state from NULL to READY.
Element qtdemux2 changed state from READY to PAUSED.
Element typefind changed state from READY to PAUSED.
Element source changed state from NULL to READY.
Element source changed state from READY to PAUSED.
Element multiqueue2 changed state from NULL to READY.
Element multiqueue2 changed state from READY to PAUSED.
Element h264parse2 changed state from NULL to READY.
Element h264parse2 changed state from READY to PAUSED.
Element aacparse2 changed state from NULL to READY.
Element aacparse2 changed state from READY to PAUSED.
Element vaapidecode2 changed state from NULL to READY.
Element vaapidecode2 changed state from READY to PAUSED.
libva: VA-API version 0.33.0
libva: User requested driver 'xvba'
libva: Trying to open /usr/lib/va/drivers/xvba_drv_video.so
libva: Found init function __vaDriverInit_0_32
libva: va_openDriver() returns 0
Element inputselector2 changed state from NULL to READY.
Element inputselector2 changed state from READY to PAUSED.
Element decodebin22 changed state from READY to PAUSED.
Element uridecodebin2 changed state from READY to PAUSED.
Element scale changed state from NULL to READY.
Element conv changed state from NULL to READY.
Element identity changed state from NULL to READY.
Element vconv changed state from NULL to READY.
Element vqueue changed state from NULL to READY.
Element vbin changed state from NULL to READY.
Element scale changed state from READY to PAUSED.
Element conv changed state from READY to PAUSED.
Element identity changed state from READY to PAUSED.
Element vconv changed state from READY to PAUSED.
Element vqueue changed state from READY to PAUSED.
Element vaapisink2 changed state from READY to PAUSED.
Element vbin changed state from READY to PAUSED.
Element playsink0 changed state from READY to PAUSED.
Element play changed state from READY to PAUSED.
Element vaapisink2 changed state from PAUSED to PLAYING.
Element scale changed state from PAUSED to PLAYING.
Element conv changed state from PAUSED to PLAYING.
Element identity changed state from PAUSED to PLAYING.
Element vconv changed state from PAUSED to PLAYING.
Element vqueue changed state from PAUSED to PLAYING.
Element vbin changed state from PAUSED to PLAYING.
Element streamsynchronizer0 changed state from PAUSED to PLAYING.
Element playsink0 changed state from PAUSED to PLAYING.
Element inputselector2 changed state from PAUSED to PLAYING.
Element vaapidecode2 changed state from PAUSED to PLAYING.
Element capsfilter2 changed state from PAUSED to PLAYING.
Element h264parse2 changed state from PAUSED to PLAYING.
Element aacparse2 changed state from PAUSED to PLAYING.
Element multiqueue2 changed state from PAUSED to PLAYING.
Element qtdemux2 changed state from PAUSED to PLAYING.
Element typefind changed state from PAUSED to PLAYING.
Element decodebin22 changed state from PAUSED to PLAYING.
Element source changed state from PAUSED to PLAYING.
Element uridecodebin2 changed state from PAUSED to PLAYING.
Element play changed state from PAUSED to PLAYING.
EOS received
Element streamsynchronizer0 changed state from NULL to READY.
Element playsink0 changed state from NULL to READY.
Element play changed state from NULL to READY.
Element uridecodebin3 changed state from NULL to READY.
Element streamsynchronizer0 changed state from READY to PAUSED.
Element typefind changed state from NULL to READY.
Element decodebin23 changed state from NULL to READY.
Element qtdemux3 changed state from NULL to READY.
Element qtdemux3 changed state from READY to PAUSED.
Element typefind changed state from READY to PAUSED.
Element source changed state from NULL to READY.
Element source changed state from READY to PAUSED.
Element multiqueue3 changed state from NULL to READY.
Element multiqueue3 changed state from READY to PAUSED.
Element h264parse3 changed state from NULL to READY.
Element h264parse3 changed state from READY to PAUSED.
Element aacparse3 changed state from NULL to READY.
Element aacparse3 changed state from READY to PAUSED.
Element vaapidecode3 changed state from NULL to READY.
Element vaapidecode3 changed state from READY to PAUSED.
libva: VA-API version 0.33.0
libva: User requested driver 'xvba'
libva: Trying to open /usr/lib/va/drivers/xvba_drv_video.so
libva: Found init function __vaDriverInit_0_32
libva: va_openDriver() returns 0
Element inputselector3 changed state from NULL to READY.
Element inputselector3 changed state from READY to PAUSED.
Element decodebin23 changed state from READY to PAUSED.
Element uridecodebin3 changed state from READY to PAUSED.
Element scale changed state from NULL to READY.
Element conv changed state from NULL to READY.
Element identity changed state from NULL to READY.
Element vconv changed state from NULL to READY.
Element vqueue changed state from NULL to READY.
Element vbin changed state from NULL to READY.
Element scale changed state from READY to PAUSED.
Element conv changed state from READY to PAUSED.
Element identity changed state from READY to PAUSED.
Element vconv changed state from READY to PAUSED.
Element vqueue changed state from READY to PAUSED.
Element vaapisink3 changed state from READY to PAUSED.
Element vbin changed state from READY to PAUSED.
Element playsink0 changed state from READY to PAUSED.
Element play changed state from READY to PAUSED.
Element vaapisink3 changed state from PAUSED to PLAYING.
Element scale changed state from PAUSED to PLAYING.
Element conv changed state from PAUSED to PLAYING.
Element identity changed state from PAUSED to PLAYING.
Element vconv changed state from PAUSED to PLAYING.
Element vqueue changed state from PAUSED to PLAYING.
Element vbin changed state from PAUSED to PLAYING.
Element streamsynchronizer0 changed state from PAUSED to PLAYING.
Element playsink0 changed state from PAUSED to PLAYING.
Element inputselector3 changed state from PAUSED to PLAYING.
Element vaapidecode3 changed state from PAUSED to PLAYING.
Element capsfilter3 changed state from PAUSED to PLAYING.
Element h264parse3 changed state from PAUSED to PLAYING.
Element aacparse3 changed state from PAUSED to PLAYING.
Element multiqueue3 changed state from PAUSED to PLAYING.
Element qtdemux3 changed state from PAUSED to PLAYING.
Element typefind changed state from PAUSED to PLAYING.
Element decodebin23 changed state from PAUSED to PLAYING.
Element source changed state from PAUSED to PLAYING.
Element uridecodebin3 changed state from PAUSED to PLAYING.
Element play changed state from PAUSED to PLAYING.
EOS received
Element streamsynchronizer0 changed state from NULL to READY.
Element playsink0 changed state from NULL to READY.
Element play changed state from NULL to READY.
Element uridecodebin4 changed state from NULL to READY.
Element streamsynchronizer0 changed state from READY to PAUSED.
Element typefind changed state from NULL to READY.
Element decodebin24 changed state from NULL to READY.
Element qtdemux4 changed state from NULL to READY.
Element qtdemux4 changed state from READY to PAUSED.
Element typefind changed state from READY to PAUSED.
Element source changed state from NULL to READY.
Element source changed state from READY to PAUSED.
Element multiqueue4 changed state from NULL to READY.
Element multiqueue4 changed state from READY to PAUSED.
Element h264parse4 changed state from NULL to READY.
Element h264parse4 changed state from READY to PAUSED.
Element aacparse4 changed state from NULL to READY.
Element aacparse4 changed state from READY to PAUSED.
Element vaapidecode4 changed state from NULL to READY.
Element vaapidecode4 changed state from READY to PAUSED.
libva: VA-API version 0.33.0
libva: User requested driver 'xvba'
libva: Trying to open /usr/lib/va/drivers/xvba_drv_video.so
libva: Found init function __vaDriverInit_0_32
libva: va_openDriver() returns 0
Element inputselector4 changed state from NULL to READY.
Element inputselector4 changed state from READY to PAUSED.
Element decodebin24 changed state from READY to PAUSED.
Element uridecodebin4 changed state from READY to PAUSED.
Element scale changed state from NULL to READY.
Element conv changed state from NULL to READY.
Element identity changed state from NULL to READY.
Element vconv changed state from NULL to READY.
Element vqueue changed state from NULL to READY.
Element vbin changed state from NULL to READY.
Element scale changed state from READY to PAUSED.
Element conv changed state from READY to PAUSED.
Element identity changed state from READY to PAUSED.
Element vconv changed state from READY to PAUSED.
Element vqueue changed state from READY to PAUSED.
-------------- next part --------------
$ gdb ./overlay core
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /home/pgas/work/gstoverlay/overlay...done.
[New LWP 1965]
[New LWP 1964]
[New LWP 1962]
[New LWP 1960]
[New LWP 1963]

warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Core was generated by `./overlay file:///opt/pgas/newmenu.m4v'.
Program terminated with signal 11, Segmentation fault.
#0  0xb23e3464 in ?? () from /usr/lib/dri/fglrx_dri.so
(gdb) bt
#0  0xb23e3464 in ?? () from /usr/lib/dri/fglrx_dri.so
#1  0x00000000 in ?? ()
(gdb) info threads
  Id   Target Id         Frame
  5    Thread 0xb6bffb70 (LWP 1963) 0x00cf2416 in __kernel_vsyscall ()
  4    Thread 0xb775cab0 (LWP 1960) 0x00cf2416 in __kernel_vsyscall ()
  3    Thread 0xb755bb70 (LWP 1962) 0x00cf2416 in __kernel_vsyscall ()
  2    Thread 0xb63feb70 (LWP 1964) 0x00cf2416 in __kernel_vsyscall ()
* 1    Thread 0xb5471b70 (LWP 1965) 0xb23e3464 in ?? () from /usr/lib/dri/fglrx_dri.so
(gdb) threads 5
Undefined command: "threads".  Try "help".
(gdb) thread 5
[Switching to thread 5 (Thread 0xb6bffb70 (LWP 1963))]
#0  0x00cf2416 in __kernel_vsyscall ()
(gdb) bt
#0  0x00cf2416 in __kernel_vsyscall ()
#1  0x002c1a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x03d35606 in gst_queue_chain (pad=0x99c2268, buffer=0x9a03940) at gstqueue.c:1014
#3  0x00ef257e in gst_pad_push (pad=0x9a0a6b8, buffer=0x9a03940) at gstpad.c:4710
#4  0x00eda2e4 in gst_proxy_pad_chain_default (pad=0x9e1a540, buffer=0x9a03940) at gstghostpad.c:261
#5  0x00ef257e in gst_pad_push (pad=0x99cdf08, buffer=0x9a03940) at gstpad.c:4710
#6  0x014e6139 in gst_stream_synchronizer_sink_chain (pad=0x99cde40, buffer=0x9a03940) at gststreamsynchronizer.c:601
#7  0x00ef257e in gst_pad_push (pad=0xb6c05d60, buffer=0x9a03940) at gstpad.c:4710
#8  0x00eda2e4 in gst_proxy_pad_chain_default (pad=0x9a48000, buffer=0x9a03940) at gstghostpad.c:261
#9  0x00ef257e in gst_pad_push (pad=0x99c21a0, buffer=0x9a03940) at gstpad.c:4710
#10 0x03d299b0 in gst_selector_pad_chain (pad=0x988a970, buf=0x9a03940) at gstinputselector.c:854
#11 0x00ef257e in gst_pad_push (pad=0x9994620, buffer=0x9a03940) at gstpad.c:4710
#12 0x00eda2e4 in gst_proxy_pad_chain_default (pad=0x99949b0, buffer=0x9a03940) at gstghostpad.c:261
#13 0x00ef257e in gst_pad_push (pad=0xb6c01cc8, buffer=0x9a03940) at gstpad.c:4710
#14 0x00eda2e4 in gst_proxy_pad_chain_default (pad=0xb6c05f00, buffer=0x9a03940) at gstghostpad.c:261
#15 0x00ef257e in gst_pad_push (pad=0x99c2010, buffer=0x9a03940) at gstpad.c:4710
#16 0x04750761 in gst_vaapidecode_step (decode=0x99f7028) at gstvaapidecode.c:254
#17 gst_vaapidecode_chain (pad=0xb6ccb708, buf=0xb6c11cd0) at gstvaapidecode.c:683
#18 0x00ef257e in gst_pad_push (pad=0xb6c1b8c8, buffer=0xb6c11cd0) at gstpad.c:4710
#19 0x03ef6ea0 in gst_base_transform_chain (pad=0xb6c1b800, buffer=0xb6c11cd0) at gstbasetransform.c:2674
#20 0x00ef257e in gst_pad_push (pad=0x99924b0, buffer=0xb6c11cd0) at gstpad.c:4710
#21 0x03ecfe8b in gst_base_parse_push_frame (parse=0x9e286e0, frame=0x9e28ee8) at gstbaseparse.c:1988
#22 0x03ed1b35 in gst_base_parse_chain (pad=0x99d38c8, buffer=0xb6c11cd0) at gstbaseparse.c:2324
#23 0x01ea67d4 in gst_h264_parse_chain (pad=0x99d38c8, buffer=0xb6c11cd0) at gsth264parse.c:1916
#24 0x00ef257e in gst_pad_push (pad=0x9992708, buffer=0xb6c11cd0) at gstpad.c:4710
#25 0x03d3084a in gst_single_queue_push_one (object=0xb6c11cd0, sq=0x9a38908, mq=0x99cc800) at gstmultiqueue.c:1087
#26 gst_multi_queue_loop (pad=0x9992708) at gstmultiqueue.c:1318
#27 0x00f1ca00 in gst_task_func (task=0xb6c03128) at gsttask.c:327
#28 0x00f1dca8 in default_func (tdata=0x99bb650, pool=0x988c440) at gsttaskpool.c:70
#29 0x0022aa27 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#30 0x002285f4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#31 0x002bdd31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#32 0x00a8946e in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further
(gdb) thread 4
[Switching to thread 4 (Thread 0xb775cab0 (LWP 1960))]
#0  0x00cf2416 in __kernel_vsyscall ()
(gdb) bt
#0  0x00cf2416 in __kernel_vsyscall ()
#1  0x00a7a7ae in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0x0021034b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x00201896 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x00201f9b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x004b6fcf in gtk_main () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#6  0x080492a0 in main (argc=2, argv=0xbfbed804) at overlay.c:124
(gdb) thread 3
[Switching to thread 3 (Thread 0xb755bb70 (LWP 1962))]
#0  0x00cf2416 in __kernel_vsyscall ()
(gdb) bt
#0  0x00cf2416 in __kernel_vsyscall ()
#1  0x002c1a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x03f06dc0 in gst_data_queue_push (queue=0x99d4588, item=0x9ab5e60) at gstdataqueue.c:437
#3  0x03d2f6db in gst_multi_queue_chain (pad=0x99c23f8, buffer=0x99dcb20) at gstmultiqueue.c:1394
#4  0x00ef257e in gst_pad_push (pad=0x99f7e48, buffer=0x99dcb20) at gstpad.c:4710
#5  0x079b3e17 in gst_qtdemux_decorate_and_push_buffer (qtdemux=0x99b9598, stream=<optimized out>, buf=<optimized out>, timestamp=348299319,
    duration=23219955, keyframe=1, position=348299319, byte_position=130635) at qtdemux.c:3688
#6  0x079c9b26 in gst_qtdemux_loop_state_movie (qtdemux=0x99b9598) at qtdemux.c:3767
#7  gst_qtdemux_loop (pad=0x99d3be8) at qtdemux.c:3818
#8  0x00f1ca00 in gst_task_func (task=0x9a0cd58) at gsttask.c:327
#9  0x00f1dca8 in default_func (tdata=0x998a798, pool=0x988c440) at gsttaskpool.c:70
#10 0x0022aa27 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#11 0x002285f4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#12 0x002bdd31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#13 0x00a8946e in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further
(gdb) thread 2
[Switching to thread 2 (Thread 0xb63feb70 (LWP 1964))]
#0  0x00cf2416 in __kernel_vsyscall ()
(gdb) bt
#0  0x00cf2416 in __kernel_vsyscall ()
#1  0x002c1a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x03d303e4 in gst_multi_queue_loop (pad=0x99c2330) at gstmultiqueue.c:1268
#3  0x00f1ca00 in gst_task_func (task=0xb6c031b0) at gsttask.c:327
#4  0x00f1dca8 in default_func (tdata=0x998a798, pool=0x988c440) at gsttaskpool.c:70
#5  0x0022aa27 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0x002285f4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0x002bdd31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0x00a8946e in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further
(gdb) thread 1 bt
A syntax error in expression, near `bt'.
(gdb) thread 1
[Switching to thread 1 (Thread 0xb5471b70 (LWP 1965))]
#0  0xb23e3464 in ?? () from /usr/lib/dri/fglrx_dri.so
(gdb) bt
#0  0xb23e3464 in ?? () from /usr/lib/dri/fglrx_dri.so
#1  0x00000000 in ?? ()


More information about the Libva mailing list