我刚刚升级到 Raring Ringtail 并且决定开始使用 Banshee,它看起来很棒并且集成的 DVD 和视频是一个很大的优点。
除非 DVD 已安装,否则我无法让 Banshee 在其浏览器中列出 DVD,而当我单击条目来播放已安装的 DVD 时它就崩溃了。
我现在悬赏这个问题,因为我从 clementine 转到 Banshee,因为那里有不同的问题。我无法很快地自己解决这个问题,而且人们要求播放他们的 DVD。
我认为它应该像音乐 CD 一样,无需安装即可播放。看来我需要安装 DVD 才能在浏览器面板中看到它,但这需要与 Banshee 之外的 xubuntu 进行额外的交互。如果有人能回答这个问题,我将不胜感激,但赏金是为了解决崩溃问题。
我已经安装了 libdvdcss2 和 gstreamer-ugly。
我在扩展首选项中选中了播放 DVD 和 CD 的选项。
这是我从 CLI 运行它并尝试播放 DVD 时遇到的错误:
libdvdread: Using libdvdcss version 1.2.12 for DVD access
*** Zero check failed in ifo_read.c:570
for vmgi_mat->zero_3 = 0x00000000010000000000000000000000000000
libdvdnav: Using dvdnav version 4.2.0
libdvdread: Using libdvdcss version 1.2.12 for DVD access
*** Zero check failed in ifo_read.c:570
for vmgi_mat->zero_3 = 0x00000000010000000000000000000000000000
libdvdnav: DVD Title: Sandmann
libdvdnav: DVD Serial Number: 3b1f5a2b
libdvdnav: DVD Title (Alternative):
libdvdnav: Unable to find map file '/home/adam/.dvdnav/Sandmann.map'
libdvdnav: DVD disk reports itself with Region mask 0x00000000. Regions: 1 2 3 4 5 6 7 8
libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient
libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x0000011d
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00005d30
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x00005f9a
libdvdread: Elapsed time 0
libdvdread: Found 1 VTS's
libdvdread: Elapsed time 0
libdvdnav: Language 'en' not found, using 'de' instead
libdvdnav: Menu Languages available: de
libdvdnav: Language 'en' not found, using 'de' instead
libdvdnav: Menu Languages available: de
libdvdnav: Language 'en' not found, using 'de' instead
libdvdnav: Menu Languages available: de
libdvdnav: Language 'en' not found, using 'de' instead
libdvdnav: Menu Languages available: de
*** libdvdread: CHECK_VALUE failed in nav_read.c:264 ***
*** for dsi->dsi_gi.zero1 == 0 ***
libdvdnav: Language 'en' not found, using 'de' instead
libdvdnav: Menu Languages available: de
(Banshee:988): GStreamer-CRITICAL **: gst_element_query: assertion `GST_IS_ELEMENT (element)' failed
(Banshee:988): GStreamer-CRITICAL **: gst_element_query: assertion `GST_IS_ELEMENT (element)' failed
(Banshee:988): GStreamer-CRITICAL **: gst_element_query: assertion `GST_IS_ELEMENT (element)' failed
*** libdvdread: CHECK_VALUE failed in nav_read.c:264 ***
*** for dsi->dsi_gi.zero1 == 0 ***
*** libdvdread: CHECK_VALUE failed in nav_read.c:264 ***
*** for dsi->dsi_gi.zero1 == 0 ***
*** libdvdread: CHECK_VALUE failed in nav_read.c:264 ***
*** for dsi->dsi_gi.zero1 == 0 ***
*** libdvdread: CHECK_VALUE failed in nav_read.c:264 ***
*** for dsi->dsi_gi.zero1 == 0 ***
*** libdvdread: CHECK_VALUE failed in nav_read.c:264 ***
*** for dsi->dsi_gi.zero1 == 0 ***
*** libdvdread: CHECK_VALUE failed in nav_read.c:264 ***
*** for dsi->dsi_gi.zero1 == 0 ***
** (Banshee:988): CRITICAL **: bp_get_subtitle_description: assertion `code != NULL' failed
*** libdvdread: CHECK_VALUE failed in nav_read.c:264 ***
*** for dsi->dsi_gi.zero1 == 0 ***
The program 'Banshee' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
(Details: serial 44 error_code 11 request_code 149 minor_code 19)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
adam@gondor:~$
答案1
在 xubuntu irc 频道的帮助下我解决了这个问题。
这基本上是因为视频驱动程序不好。
解决这个问题的方法是组合或添加 gstreamer0.10-vaapi pkg、i965-va-driver pkg,添加 ubuntu-x-swat ppa 并重新启动。
这已经解决了 banshee 和 parole 中的崩溃问题。