After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 750944 - fallback fails to play a dvd when libva driver doesn't exists
fallback fails to play a dvd when libva driver doesn't exists
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 758397
 
 
Reported: 2015-06-14 17:43 UTC by Fabrice Bellet
Modified: 2018-11-03 11:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
GST_DEBUG=*:2 log file (8.06 KB, text/plain)
2015-06-14 17:43 UTC, Fabrice Bellet
Details
gst-libav logfile (322.83 KB, text/plain)
2015-06-20 19:16 UTC, Fabrice Bellet
Details
gst-vaapi logfile (94.64 KB, text/plain)
2015-06-20 19:17 UTC, Fabrice Bellet
Details
gst-vaapi-with-intel-driver (326.75 KB, text/plain)
2015-06-20 19:18 UTC, Fabrice Bellet
Details
log when resindvd is not installed (GST_DEBUG=4) (173.98 KB, text/plain)
2015-07-11 17:59 UTC, Fabrice Bellet
Details
when resindvd is installed (GST_DEBUG=4) (116.98 KB, text/plain)
2015-07-11 18:01 UTC, Fabrice Bellet
Details

Description Fabrice Bellet 2015-06-14 17:43:36 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)
Comment 1 sreerenj 2015-06-19 08:42:09 UTC
I guess it is only for gstreamer from git master, should be working with 1.4... :)
Comment 2 Víctor Manuel Jáquez Leal 2015-06-19 11:22:30 UTC
If you can verify if it works in gstreamer  1.4, we would move this bug to gst-plugins-base
Comment 3 sreerenj 2015-06-19 11:34:53 UTC
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.
Comment 4 Fabrice Bellet 2015-06-20 19:15:22 UTC
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.
Comment 5 Fabrice Bellet 2015-06-20 19:16:49 UTC
Created attachment 305751 [details]
gst-libav logfile
Comment 6 Fabrice Bellet 2015-06-20 19:17:29 UTC
Created attachment 305752 [details]
gst-vaapi logfile
Comment 7 Fabrice Bellet 2015-06-20 19:18:05 UTC
Created attachment 305753 [details]
gst-vaapi-with-intel-driver
Comment 8 sreerenj 2015-06-22 06:18:41 UTC
(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?
Comment 9 sreerenj 2015-06-22 12:44:55 UTC
Re-assigning to GStreamer to get this moving forward..
Comment 10 Fabrice Bellet 2015-07-11 16:34:49 UTC
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.
Comment 11 Fabrice Bellet 2015-07-11 17:59:39 UTC
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.
Comment 12 Fabrice Bellet 2015-07-11 18:01:29 UTC
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.
Comment 13 Fabrice Bellet 2015-07-11 19:14:24 UTC
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.
Comment 14 sreerenj 2015-07-13 12:52:41 UTC
(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 ...
Comment 15 GStreamer system administrator 2018-11-03 11:38:17 UTC
-- 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.