GNOME Bugzilla – Bug 750944
fallback fails to play a dvd when libva driver doesn't exists
Last modified: 2018-11-03 11:38:17 UTC
Created attachment 305250 [details] GST_DEBUG=*:2 log file gst-launch-1.0 playbin uri=dvd:///dev/sr0 works fine with the intel driver, but it fails to fallback when the libva driver doesn't exists : LIBVA_DRIVER_NAME=foo gst-launch-1.0 playbin uri=dvd:///dev/sr0 [...] (gst-launch-1.0:8765): GStreamer-CRITICAL **: Trying to dispose element playbin0, but it is in READY instead of the NULL state. You need to explicitly set elements to the NULL state before dropping the final reference, to allow them to clean up. This problem may also be caused by a refcounting bug in the application or some element. (full log in attachment)
I guess it is only for gstreamer from git master, should be working with 1.4... :)
If you can verify if it works in gstreamer 1.4, we would move this bug to gst-plugins-base
I didn't get the "Gstreamer-CRITICAL" error message, but pipleline stopped with failed-to-negotiate error for gstreamer git master. For 1.4, it throw an error message for missing-driver and falling back to software decoder + renderer.
I tested with with a fedora 22 on an intel gpu based laptop, with gstreamer1-libav plugin, and libva-intel-driver from rpmfusion-free: - with gstreamer-libav only, it works - when I add gstreamer1-vaapi, without the libva-intel-driver, it fails - when I add libva-intel-driver, it works. I attach the GST_DEBUG="*:4" log files from these three cases.
Created attachment 305751 [details] gst-libav logfile
Created attachment 305752 [details] gst-vaapi logfile
Created attachment 305753 [details] gst-vaapi-with-intel-driver
(In reply to Fabrice Bellet from comment #4) > I tested with with a fedora 22 on an intel gpu based laptop, with > gstreamer1-libav plugin, and libva-intel-driver from rpmfusion-free: > > - with gstreamer-libav only, it works > - when I add gstreamer1-vaapi, without the libva-intel-driver, it fails > - when I add libva-intel-driver, it works. > > I attach the GST_DEBUG="*:4" log files from these three cases. Hm, strange. You are using GStreamer 1.4.5.. I have 1.4.3 setup and the pipeline is clearly switching to software path if I remove the i965 driver. The Gst-1.2 is also working fine..But the pipeline is failing to fallback for 1.5(GStreamer git).. Is there any chance for someone to test against 1.4.3 and 1.4.5 to check whether it is an upstream regression?
Re-assigning to GStreamer to get this moving forward..
It fails both with GStreamer 1.4.3 and 1.4.5 in my case, with gstreamer/gst-plugins-base/gst-plugins-good/gst-plugins-ugly/gst-libav/gstreamer-vaapi, all compiled from git in a separate install directory, with libdvdnav-devel, a52dec-devel, and libdvdread-devel to build the required gst elements. I noticed that the bug is NOT triggered (ie the fallback works fine) when resindvd is not available in the plugins dir (when libdvdnav-devel is not installed), the drawback being that the playback is limited to the first segment of the DVD of course.
Created attachment 307296 [details] log when resindvd is not installed (GST_DEBUG=4) The vaapisink element is initialized before then vaapidecode element, when resindvd is not used.
Created attachment 307297 [details] when resindvd is installed (GST_DEBUG=4) the vaapidecode element is initialized first in this case, and causes the pipeline to abort.
I made it work, if we force gst_vaapidecode_open() to return TRUE, independently of the value returned by gst_vaapidecode_ensure_display(), and if we let gst_vaapidecode_ensure_allowed_caps() to fail later during pipeline negotiation.
(In reply to Fabrice Bellet from comment #10) > It fails both with GStreamer 1.4.3 and 1.4.5 in my case, with > gstreamer/gst-plugins-base/gst-plugins-good/gst-plugins-ugly/gst-libav/ > gstreamer-vaapi, all compiled from git in a separate install directory, with > libdvdnav-devel, a52dec-devel, and libdvdread-devel to build the required > gst elements. > > I noticed that the bug is NOT triggered (ie the fallback works fine) when > resindvd is not available in the plugins dir (when libdvdnav-devel is not > installed), the drawback being that the playback is limited to the first > segment of the DVD of course. Aha okay, thatz the reason I was not able to reproduce the issue... I was testing it with playbin + local media file by just removing the driver :) and which is working fine against 1.2, 1.4 and 1.5 + gstremaer-vaapi(master),, So the issue seems to be specific with rsndvdbin + vaapi elements ...
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/195.