GNOME Bugzilla – Bug 603921
resindvd: DVD menus not working
Last modified: 2013-12-28 10:16:39 UTC
After compiling Totem 2.28.4 and all necessary GStreamer plugins DVD playback is working but it is not possible to use the DVD menus. They behave very strange. So this version is not really usable. More descriptions from my side you will find at http://www.opensuse-forum.de/showthread.php?t=1829 Frank
What does "they behave very strange" mean? Please include a debug log as requested in private mail.
--> check whether resindvd is available: bat:/usr/local/src/totem-2.28.4 # gst-inspect resindvd Plugin Details: Name: resindvd Description: Resin DVD playback elements Filename: /usr/local/lib/gstreamer-0.10/libresindvd.so Version: 0.10.17 License: GPL Source module: gst-plugins-bad Binary package: GStreamer Origin URL: http://gstreamer.net/ rsndvdbin: rsndvdbin 1 features: +-- 1 elements --> what does "they behave very strange" mean? I put in a DVD of "Gilmore Girls". When I start the DVD the music starts to play and everything seems to be normal until I select the "episodes". All this works fine in Totem 2.26 with xine backend. But here I get the language selection menu instead of "episodes" and once there I cannot enter any of the choices given to me. If I click on any language presented to me or on "main menu" nothing happens. This is what I mean with my description "strange behaviour". --> Totem output To be able to follow the output of Totem I started it also from the command line. Here you see the output. fansari@bat:~/Desktop> totem libdvdread: Using libdvdcss version 1.2.9 for DVD access libdvdnav: Using dvdnav version 4.1.3 libdvdread: Using libdvdcss version 1.2.9 for DVD access libdvdnav: DVD Title: GILMORE_GIRLS_S7_D3 libdvdnav: DVD Serial Number: 37507668 libdvdnav: DVD Title (Alternative): GILMORE_GIRLS_S7_D3 libdvdnav: Unable to find map file '/home/fansari/.dvdnav/GILMORE_GIRLS_S7_D3.map' libdvdnav: DVD disk reports itself with Region mask 0x00fd0000. Regions: 2 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 0x00000130 libdvdread: Elapsed time 0 libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00000251 libdvdread: Elapsed time 0 libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x0000634d libdvdread: Elapsed time 0 libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x0033c572 libdvdread: Elapsed time 0 libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x0033c577 libdvdread: Elapsed time 0 libdvdread: Found 2 VTS's libdvdread: Elapsed time 0 libdvdnav: Language 'en' not found, using 'ÿÿ' instead libdvdnav: Menu Languages available: ÿÿ libdvdnav: Language 'en' not found, using 'ÿÿ' instead libdvdnav: Menu Languages available: ÿÿ libdvdnav: Language 'en' not found, using 'ÿÿ' instead libdvdnav: Menu Languages available: ÿÿ libdvdnav: Language 'en' not found, using 'ÿÿ' instead libdvdnav: Menu Languages available: ÿÿ libdvdnav: Language 'en' not found, using 'ÿÿ' instead libdvdnav: Menu Languages available: ÿÿ libdvdnav: Language 'en' not found, using 'ÿÿ' instead libdvdnav: Menu Languages available: ÿÿ libdvdnav: Language 'en' not found, using 'ÿÿ' instead libdvdnav: Menu Languages available: ÿÿ ** Message: no file info No accelerated IMDCT transform found libdvdnav: Language 'en' not found, using 'ÿÿ' instead libdvdnav: Menu Languages available: ÿÿ libdvdnav: Language 'en' not found, using 'ÿÿ' instead libdvdnav: Menu Languages available: ÿÿ
One year has passed now and still I am not able to use DVD menus with Gstreamer and Totem media player. I have now updated my system to openSUSE 11.3 (x86_64). For Gstreamer I compiled from source these packages: gstreamer-0.10.31 gst-plugins-base-0.10.31 gst-plugins-good-0.10.26 gst-plugins-ugly-0.10.16 gst-plugins-bad-0.10.20 gst-ffmpeg-0.10.11 resindvd is still available: bat:/usr/local/src # gst-inspect resindvd Plugin Details: Name: resindvd Description: Resin DVD playback elements Filename: /usr/local/lib/gstreamer-0.10/libresindvd.so Version: 0.10.20 License: GPL Source module: gst-plugins-bad Binary package: GStreamer Origin URL: http://gstreamer.net/ rsndvdbin: rsndvdbin 1 features: +-- 1 elements I compiled Totem 2.30.2. totem --debug looks like this: fansari@bat:~/Desktop> totem --debug (totem:29708): Totem-DEBUG: Received SaveYourself(SmSaveLocal, !Shutdown, SmInteractStyleNone, !Fast) in state idle (totem:29708): Totem-DEBUG: Setting initial properties (totem:29708): Totem-DEBUG: Sending SaveYourselfDone(True) for initial SaveYourself (totem:29708): Totem-DEBUG: Received SaveComplete message in state save-yourself-done (totem:29708): Totem-DEBUG: totem_playlist_add_one_mrl (): Title 0 (null) (null) libdvdread: Using libdvdcss version 1.2.9 for DVD access libdvdnav: Using dvdnav version 4.1.3 libdvdread: Using libdvdcss version 1.2.9 for DVD access libdvdnav: DVD Title: libdvdnav: DVD Serial Number: 45F979D5 (GEAR): libdvdnav: DVD Title (Alternative): libdvdnav: Unable to find map file '/home/fansari/.dvdnav/.map' libdvdnav: DVD disk reports itself with Region mask 0x00fd0000. Regions: 2 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 0x000002ce libdvdread: Elapsed time 0 libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x0000ad47 libdvdread: Elapsed time 0 libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x00027ca8 libdvdread: Elapsed time 0 libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x003d7674 libdvdread: Elapsed time 0 libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x003d767a libdvdread: Elapsed time 0 libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x003d8460 libdvdread: Elapsed time 0 libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x003d8466 libdvdread: Elapsed time 0 libdvdread: Found 3 VTS's libdvdread: Elapsed time 0 No accelerated IMDCT transform found When I start the DVD I don't see the screens I normally see before the episode selection menu screen comes up (the Buena Vista Home Entertainment screen and the language selection screen). I directly get the episode selection screen with the English episode titles. But there are no "bullets" to select anything. When I try to do so with the mouse nothing happens. Frank
So this happens with all DVDs not just some DVDs? Does it also happen with: $ gst-launch-0.10 -v playbin2 uri=dvd:// ? (What's the output of that command?) Could you make a debug log like this: $ gst-launch-0.10 -v playbin2 uri=dvd:// 2>dbg.log .. press Control + C after trying to highlight buttons in vain .. then attach dbg.log to this bug (gzipped if it's larger than 1MB) The straight-to-the-selection-menu thing might be due to the fast-start option which is enabled by default. You can start totem or gst-launch-0.10 with the DVDFASTSTART=no environment variable set like this: $ DVDFASTSTART=no totem $ DVDFASTSTART=no gst-launch-0.10 -v playbin2 uri=dvd:// to disable this.
It happens with all DVDs like this. I did now: export DVDFASTSTART=no gst-launch-0.10 -v playbin2 uri=dvd:// >dbg.log 2&>1 I can confirm that I can see the pre screens by setting DVDFASTSTART=no. But also with this command (like given above) I am still not able to choose from the menu. Frank
Created attachment 177355 [details] gst-launch-0.10 -v playbin2 uri=dvd:// >dbg.log 2>&1
Sorry, what I meant was: > Could you make a debug log like this: > > $ GST_DEBUG=*:5 gst-launch-0.10 -v playbin2 uri=dvd:// 2>dbg.log > .. press Control + C after trying to highlight buttons in vain > .. then attach dbg.log to this bug (gzipped if it's larger than 1MB) (with the GST_DEBUG=*:5 bit added)
Created attachment 177375 [details] GST_DEBUG=*:5 gst-launch-0.10 -v playbin2 uri=dvd:// 2>dbg.log
Could you find anything regarding the problem from my latest logfile?
After updating to openSUSE 11.4 I tried again. Now I have gstreamer-0.10.32 and gst-plugins-bad 0.10.21. But the behaviour was the same. I checked my libraries starting with libdvd* and removed all I had in /usr/local/lib because I have them also in /usr/lib64. Now I can select the language with the gst-launch command but I cannot get any furher. Before I quit with Ctrl-C I see this: /GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x963b00) Please send bug report - no VTS_TMAPT ?? Please send bug report - no VTS_TMAPT ?? No idea whether this is a critical message or not. Unfortunately I cannot test now with totem because all totem versions fail to compile on openSUSE 11.4. But I noticed on a fresh installation of vlc from the vidoloan site that I had the same menu problem as described before and this was fixed after I removed the libraries from /usr/local/lib. But I am still unsure what is going on because I got stuck after the first screen. With some other DVDs (with no language selection) I can choose a title and run it.
You find my latest logfile here (test with "desperate housewives"): http://home.snafu.de/fansari/log/dbg-2011-03-26.log.bz2
I tried now totem 2.32.0 which comes with openSUSE 11.4. It behaves the way described above for gst-launch. But when I am stuck after selecting the language I can select from the totem meu "Go" and then "Title Menu". From this point I can continue to navigate the DVD. I never got as far as this with a gstreamer based totem.
> Please send bug report - no VTS_TMAPT ?? This is a message output by libdvdread, when it did not find the data it expects on the DVD. Since GStreamer's resindvd plugin relies on libdvdread to get data off the DVD, it cannot work if libdvdread fails to read the DVD. It may be a bug in libdvdread, or it may be that your DVD has broken data in a way libdvdread does not know how to fix (believe it or not, DVD makers routinely ship broken disks on purpose). It could also be a bug in how GStreamer uses libdvdread, but that seems less likely since it works for other disks/people. Please check if you have the latest version of libdvdread, it may not be the one your OS pulls. You may want to rebuild GStreamer plugins after that, in case headers are different. Also remove ~/.gstreamer-0.10/registry.*.bin.
Created attachment 204322 [details] GST_DEBUG=*:5 gst-launch-0.10 -v playbin2 uri=dvd:// 2>dbg.log
After installing openSUSE 12.1 I again tried to get DVD playback with totem. But again it doesn't work. I can play media files like MP3, MP4, FLV but DVD does not work. When I do "gst-launch-0.10 -v playbin2 uri=dvd://" I get several output One output line is this one: libdvdnav: RANDOM or SHUFFLE titles are NOT handled yet but I don't know whether this is some kind of a hint for a general restriction or whether it's the reason why nothing is working. No window is opening: only output text. I need some hint where to continue because now I have no more ideas what to do. Frank versions: ------------------------ gstreamer-0.10.35 gst-plugins-base-0.10.35 gst-plugins-good-0.10.30 gst-plugins-ugly-0.10.18 gst-plugins-bad-0.10.22 gst-ffmpeg-0.10.13
Created attachment 204324 [details] gst-launch-0.10 -v playbin2 uri=dvd://
Created attachment 204394 [details] gst-launch-0.10 playbin2 uri=dvd:// > gst_fluendo.log 2>&1
I bought the fluendo codec package to exclude codec problems from this issue. Now at least a window is opened but it remains grey and nothing happens.
Created attachment 204470 [details] GST_DEBUG=*:5 gst-launch-0.10 -v playbin2 uri=dvd:// > dbg_fluendo.log 2>&1 debug output using fluendo codecs
I've tried to reproduce the issue but everything seems to be fine here. In order to reproduce it I've installed openSuse 12.01 in my old laptop, added [1] and [2] repositories. Installed -bad, -ugly and some more stuff in order to build whole gstreamer from git/master. I've endeed with a system without dvdspu element that caused behavior described in comment #3 "no bullets". I've built gst-plugins-bad-0.10.22 from source and just copied libgstdvdspu.so at ~/.gstreamer-0.10/plugins to solve it. I've only tried with "gst-launch-0.10 playbin2 uri=dvd://" because Totem segfaults for some clutter issue, probably something related to openGL and the old Radeon Mobility GPU in the laptop. The main DVD title I've been using for testing had been "Matrix" but I've tried with several more titles and everything had been fine with all of them. I've tried with and without Fluendo codecs and no problems detected. I've built 0.10 release candidate in gst-uninstalled and there I've found a regression, I'm getting the following assertion. vm.c:863: vm_get_video_aspect: Assertion `aspect == 0 || aspect == 3' failed I will try to reproduce the gst-uninstalled issue in my regular system to verify the regression and I'll open a separate bug if I'm able to reproduce it. [1] http://opensuse-guide.org/codecs.php [2] http://en.opensuse.org/Additional_package_repositories#Packman
It would be helpful to know which of the plugins of the gst-plugins are necessary for DVD playback (some kind of list). When I compile the plugins it depends on what I have already installed on my system which plugins are built and which not. For example: the mad plugin in gst-plugins-bad will not build unless you have installed libmad-devel on your system. On the other hand: if missing plugins are the cause of my problems shouldn't there be some hint in error messages that something essential is missing? I will add a list of the gst-plugins-bad so you can see which are built on my system.
Created attachment 204783 [details] gst-plugins-bad-0.10.22: ./configure
I have now also tested "Matrix" and can confirm that it is indeed working. Also I have now tested other DVDs and they are all working. The DVDs I initially tested this are not working. This is the 4. season of "Desperate Housewives". Strange enough: all DVDs of this season are not working while DVDs of other seasons are. Also "The Best of Diana Haddad" is not working. This is a DVD without copy protection so I always used it to exclude problems with CSS. Perhaps there are others which will not work (I have no idea what's different in the 4. season of "Desperate Housewives" but I guess it's something with the menues. But I also noticed the opposite direction: "Away from the Land" (Egypt film) works fine with Totem but plays no sound with Fluendo DVD player.
(In reply to comment #20) > I've built 0.10 release candidate in gst-uninstalled and there I've found a > regression, I'm getting the following assertion. > > vm.c:863: vm_get_video_aspect: Assertion `aspect == 0 || aspect == 3' failed > > I will try to reproduce the gst-uninstalled issue in my regular system to > verify the regression and I'll open a separate bug if I'm able to reproduce it. There's no regression, I've just messed the system with libdvdread3 and this was the reason for a different behaviour in gst-uninstalled.
(In reply to comment #23) > I have now also tested "Matrix" and can confirm that it is indeed working. > > Also I have now tested other DVDs and they are all working. > > The DVDs I initially tested this are not working. This is the 4. season of > "Desperate Housewives". Strange enough: all DVDs of this season are not working > while DVDs of other seasons are. > > Also "The Best of Diana Haddad" is not working. This is a DVD without copy > protection so I always used it to exclude problems with CSS. > Please describe which is the exact behaviour when you say is not working. > Perhaps there are others which will not work (I have no idea what's different > in the 4. season of "Desperate Housewives" but I guess it's something with the > menues. > I will check if I can locate a copy of this title to reproduce the issue. > But I also noticed the opposite direction: "Away from the Land" (Egypt film) > works fine with Totem but plays no sound with Fluendo DVD player. Maybe is DTS only, Fluendo DVD player doesn't support DTS audio tracks.
I've been able to reproduce a similar issue with one title ("La fletxa blava", DVD Serial Number: 426F4D9D_TOASTUD) of my collection. As far I've investigated it the problem comes by the fact that for the first scene where there's the language selection menu, there's no audio and the audio sink can't preroll and navigation doesn't work. I've verified it by using [1] and removing line 13 that plugs the audio rendering and I've been able to select the language and navigate. [1] http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/ext/resindvd/resin-play Frank, please could you verify that the issue is identified reproducing my experiment with your titles?
> As far I've investigated it the problem comes by the fact that for the first > scene where there's the language selection menu, there's no audio and the audio > sink can't preroll and navigation doesn't work. This sounds like blocker bug #599469. Something that's easier to fix with a sample at hand probably :)
I confirm that the DVD ("Desperate Housewives - season 4) is working with your script. Your hint prompted me to the cause of this issue. If you go back to comment 4 you will find the DVDFASTSTART environment parameter. This is set to "yes" as default in Totem. Setting this to "no" will solve the issue with "Desperate Housewives" as well as the issue on "The Best of Diana Haddad". Perhaps it would be a good idea to disable the fast start behaviour for default in Totem because as we see here it can cause problems which takes days of debugging.
I have now done more tests: This does not work: DVDFASTSTART=yes; gst-launch playbin2 uri=dvd:// This works fine: DVDFASTSTART=no; gst-launch playbin2 uri=dvd:// Your script: whehter I use line 13 or not makes no differnce. The DVDFASTSTART is tne show blocker.
I expect that disabling Fast Start works around the problem, because you don't immediately jump to a menu with no audio - so prerolling succeeds. It's not a fix though - it just means a different set of discs which currently work won't work any more, because they start with no audio with fast start disabled. The correct way to fix this is to make DVDs preroll correctly again in the absence of audio, as they used to, before core was changed to break it.
Created attachment 204978 [details] dvd_test.sh > dvd_test.log 2>&1
To decide this we should first clarify whether the problem Josep detected is the same issue I have. For this I enabled fast start and ran the script Josep gave the link to and removed line 13. I added the output log as attachment. You will notice this message: libdvdnav: RANDOM or SHUFFLE titles are NOT handled yet. I don't get this message if I disable fast start. So do you think that these might be two different issues or can we already be sure it's the same? But if it is the same: why does the usage or removal of line 13 no difference in my case?
The bug with prerolling without audio in resindvd was fixed recently. If this is indeed the root issue in one more of of these cases, if any has no audio on one of the menus, then using the latest -bad ought to fix it.
I have tried this with all gstreamer stuff from git://anongit.freedesktop.org/git/gstreamer (gstreamer, gst-plugisn-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly and gst-ffmpeg). When I launch with this totem (regardless 3.2.1 or 3.3.4 even after recompile) totem player says it cannot create a Gstreamer play object. So I tested with gst-launch playbin2. This worked but I can confirm that there is no change in behaviour. The test was done with "Desperate Housewives season 4, Disc 1". When DVDFASTSTART is enabled then I only get a grey canvas. When it is off it is working.
Totem worked on Fedora 17 but now on Fedora 18 it works for some DVDs and for others not. I put some information here: https://bugzilla.redhat.com/show_bug.cgi?id=904792 I have no idea what I am doing wrong.
*** Bug 695606 has been marked as a duplicate of this bug. ***
It is frustrating. Everything worked in gstreamer-0.10. Fluendo built a DVD player with this and it is working. With Fedora 17 based on gstreamer-0.10 everything was working fine. Then this gstreamer-1.0 started and some DVDs are working and some not. What is the advantage of a new version if it does not work? To me it seems like that all the issues which have been in gstreamer-0.10 in the past and have been fixed start now all other again in gstreamer-1.0. Let's fix them and start the same story again with gstreamer-2.0...
Yes, new development always runs the risk of introducing bugs or regressions. It's a pain, but unavoidable. Sorry this one has taken so long to resolve. Also, for the record - the Fluendo DVD player is an independent implementation, it doesn't use the resindvd pieces.
Created attachment 264906 [details] [review] audiodecoder: Choose a default initial caps before sending GAP If there are no caps from the audio decoder when handling a GAP event - as when one is received right at the start on a DVD without initial audio - then choose any default caps for downstream and then send the GAP, so the audio sink has a configured format in which to start the ringbuffer. Also, make the audio sink reject a GAP without caps with a clearer error message. Fixes bug
I'll backport to 1.2.3 as soon as the branch is open again.
Jan, your commit 0027543258450384702daa663d1872e22c66fcca to the 1.2 branch broke compilation on my machine. gst_audio_decoder_negotiate_unlocked is not defined.
Oops. Fixed by also back-porting the audiodecoder change from https://bugzilla.gnome.org/show_bug.cgi?id=719684