Bug 55291 - va_GetSurfaceBufferWl() can hang gst during playback of h264 stream in Weston-DRM
Summary: va_GetSurfaceBufferWl() can hang gst during playback of h264 stream in Weston...
Status: VERIFIED WORKSFORME
Alias: None
Product: libva
Classification: Unclassified
Component: intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium critical
Assignee: Zhao Halley
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-24 20:07 UTC by Joe Konno
Modified: 2013-02-14 16:59 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
playbin2 verbose output and backtrace-- video-sink=vaapisink, audio-sink=fakesink (27.94 KB, text/plain)
2012-09-24 20:07 UTC, Joe Konno
Details

Description Joe Konno 2012-09-24 20:07:51 UTC
Created attachment 67648 [details]
playbin2 verbose output and backtrace-- video-sink=vaapisink, audio-sink=fakesink

When playing a h264 stream with gstreamer-vaapi on Weston-DRM, gst-launch will enter a "spinning" state before displaying the first frame. This is a regression. In effect, it is impossible to play h264 video on Weston-DRM.

The test media was a hd1080 h264 stream made available at:
http://www.bigbuckbunny.org/index.php/download/

Attached backtrace and verbose gstreamer-vaapi output.
Comment 1 Joe Konno 2012-09-24 20:11:19 UTC
The following commit ids were used to reproduce this issue:

cairo master de31018bdd1cc78fd54cf9fd7b220117008c33a8
dri2proto master 4eeacce4c4a300b938b7e3fb78a8e443c491780b
drm master 2426a6a7112ae62755408a371831eddbe2d89d99
glproto master ec1eec4355ee4a6c5134f2178192f10b6d28a87a
gst-plugins-bad 0.10 a5db96c5c036a6742888ad094bee7dbf30e2f3e2
gst-plugins-base 0.10 0ac0f4fadec79f5945608d911bb326f42baae3a7
gst-plugins-good 0.10 a9f697375b2762e6db5b76f7c64089a9b9c32296
gstreamer 0.10 bbec3d4e2f4f0ce4a20fd7ce2b1bcae257df01b7
gstreamer-vaapi master dde9232e10d21263c28ef8d4d1c18fda54b92c30
kbproto master 391a1f6de6315fc0196d407d800597488315cccb
libX11 master d45b3fc19fbe95c41afc4e51d768df6d42332010
libva staging.12.wayland 3b1d0a21d842eb7b534e96cc6e23f2850413e06d
libva-intel-driver staging.12.wayland 50a18e42501a35393a22524d2b01d15f0120e131
libxkbcommon master 9aee332e9fd470580611d789d8265f983b199fde
macros master 0890e4003aacfa7113ab3f4e3ad7c5636f8e922a
mesa lkg f1c448d2e59bd14b4ddb63654e7b6d605f877d10
pixman master f580c4c5b2a435ebe2751ce0dace6c42568557f8
wayland master 4b681a7fd4bee01c4d3385e69ee47ed3856c2229
weston master d7f282b84e1729f4692488a8af7e696e4d6b69d7
Comment 2 Rob Bradford 2012-09-25 11:11:47 UTC
When you meant you used the stream - did you use streaming version or play it from disk? 

Also, what git trees did you use for libva and intel-driver - those branch names don't exist on http://cgit.freedesktop.org/vaapi/libva/ / http://cgit.freedesktop.org/vaapi/intel-driver
Comment 3 U. Artie Eoff 2012-09-25 15:44:34 UTC
(In reply to comment #2)
> When you meant you used the stream - did you use streaming version or play
> it from disk? 
> 
> Also, what git trees did you use for libva and intel-driver - those branch
> names don't exist on http://cgit.freedesktop.org/vaapi/libva/ /
> http://cgit.freedesktop.org/vaapi/intel-driver

libva and intel-driver support for wayland are on git://people.freedesktop.org/~gb
Comment 4 U. Artie Eoff 2012-10-09 03:59:33 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > When you meant you used the stream - did you use streaming version or play
> > it from disk? 
> > 
> > Also, what git trees did you use for libva and intel-driver - those branch
> > names don't exist on http://cgit.freedesktop.org/vaapi/libva/ /
> > http://cgit.freedesktop.org/vaapi/intel-driver
> 
> libva and intel-driver support for wayland are on
> git://people.freedesktop.org/~gb

wayland support was recently merged to the main trees:

http://cgit.freedesktop.org/vaapi/libva/
http://cgit.freedesktop.org/vaapi/intel-driver

... Joe, is this still an issue?
Comment 5 Joe Konno 2012-10-09 14:49:23 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > When you meant you used the stream - did you use streaming version or play
> > > it from disk? 
> > > 
> > > Also, what git trees did you use for libva and intel-driver - those branch
> > > names don't exist on http://cgit.freedesktop.org/vaapi/libva/ /
> > > http://cgit.freedesktop.org/vaapi/intel-driver
> > 
> > libva and intel-driver support for wayland are on
> > git://people.freedesktop.org/~gb

Rolling the commit ids back back to those documented in gb's repos, issue can still be reproduced.

> 
> wayland support was recently merged to the main trees:
> 
> http://cgit.freedesktop.org/vaapi/libva/
> http://cgit.freedesktop.org/vaapi/intel-driver
> 
> ... Joe, is this still an issue?

On the official upstream trees? No. It has yet to be established what exactly solved the issue in the merge.
Comment 6 Gwenole Beauchesne 2013-02-07 21:09:30 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > (In reply to comment #3)
> > > (In reply to comment #2)
> > > > When you meant you used the stream - did you use streaming version or play
> > > > it from disk? 
> > > > 
> > > > Also, what git trees did you use for libva and intel-driver - those branch
> > > > names don't exist on http://cgit.freedesktop.org/vaapi/libva/ /
> > > > http://cgit.freedesktop.org/vaapi/intel-driver
> > > 
> > > libva and intel-driver support for wayland are on
> > > git://people.freedesktop.org/~gb
> 
> Rolling the commit ids back back to those documented in gb's repos, issue
> can still be reproduced.
> 
> > 
> > wayland support was recently merged to the main trees:
> > 
> > http://cgit.freedesktop.org/vaapi/libva/
> > http://cgit.freedesktop.org/vaapi/intel-driver
> > 
> > ... Joe, is this still an issue?
> 
> On the official upstream trees? No. It has yet to be established what
> exactly solved the issue in the merge.

Joe, I think the issue is too old to recover what was the fix to your bug, if there was. The possible candidates could be weston, wayland or gst-vaapi of that time. Definitely not libva or VA driver in my opinion.

I pushed more fixes to gstreamer-vaapi 0.4.3 and 0.5.1. Could you please test with those instead?
Comment 7 Joe Konno 2013-02-07 21:27:25 UTC
(In reply to comment #6)
> Joe, I think the issue is too old to recover what was the fix to your bug,
> if there was. The possible candidates could be weston, wayland or gst-vaapi
> of that time. Definitely not libva or VA driver in my opinion.
> 
> I pushed more fixes to gstreamer-vaapi 0.4.3 and 0.5.1. Could you please
> test with those instead?

Since the merge in October I have been regularly playing h264 videos regularly in Weston, DRM backend. The ticket had been left open on the off chance that the identifying the pre-merged regression would be valuable to development. Apparently that is not the case.

Resolved - Worksforme. Because a bisect was never performed to identify which commit (before the merge) regressed (and prompted the initial filing), and the commit that ultimately fixed the reported issue. If the community still sees value in performing such a bisect-- I do, just pressed for time-- by all means, go for it.

I'll keep that task on the back burner, but it may be there for a while.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.