Opened 12 years ago
Closed 12 years ago
Last modified 12 years ago
#10340 closed Bug Report - General (fixed)
Play Optical Disc entry has no effect
Reported by: | JYA | Owned by: | JYA |
---|---|---|---|
Priority: | major | Milestone: | 0.25 |
Component: | MythTV - General | Version: | Master Head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description (last modified by )
In the Optical Disks entry, selecting Play Optical Disk has no effect
In the log there is:
012-02-16 00:46:10.363585 I [8070/8070] CoreContext tv_play.cpp:984 (TV) - TV: Creating TV object 2012-02-16 00:46:10.365761 I [8070/8070] CoreContext tv_play.cpp:1203 (Init) - TV: Created TvPlayWindow. 2012-02-16 00:46:10.370222 I [8070/8070] CoreContext tv_play.cpp:2118 (HandleStateChange) - TV: Attempting to change from None to WatchingBD 2012-02-16 00:46:10.370436 I [8070/8070] CoreContext programinfo.cpp:2153 (QueryBasename) - QueryBasename found no entry for 0 @ 2012-02-16T00:45:10 2012-02-16 00:46:10.370488 E [8070/8070] CoreContext fileringbuffer.cpp:342 (OpenFile) - FileRingBuf(): RingBuffer::RingBuffer(): Failed to open remote file () 2012-02-16 00:46:10.432900 I [8070/8070] CoreContext tv_play.cpp:2446 (HandleStateChange) - TV: Main UI disabled. 2012-02-16 00:46:10.432906 I [8070/8070] CoreContext tv_play.cpp:376 (StartTV) - TV: Entering main playback loop. 2012-02-16 00:46:10.433369 I [8070/8070] CoreContext tv_play.cpp:378 (StartTV) - TV: Exiting main playback loop.
device is /dev/sr0 and is configured as such a DVD player device is mounted on /data/bluray
mythavtest bd:///data/bluray play the disk as expected
Attachments (3)
Change History (9)
Changed 12 years ago by
Attachment: | bd_play.patch added |
---|
comment:2 Changed 12 years ago by
The attached patch makes BD playback work for me. The proper fix should probably involve making the URL parsing more tolerant?
comment:3 Changed 12 years ago by
Owner: | set to JYA |
---|---|
Priority: | minor → major |
Status: | new → assigned |
Here is an attempt at properly fixing this one. 1- The simplest solution is to remove the / at the end of the URL. However this is only a workaround, if the path defined in the video settings contains a / it will not work. The issue lie quite deep in ProgramInfo::GetPlaybackURL() and GetBasename?(). if the path contains a trailing '/' then it ends up trying to play an empty filename.
2-the BD player only works if you provide the actual path where the disk is physically mounted. Symbolic link to it do not work. This patch attempt to determine the real path before trying to play the BD disk
3- Allow launching the BD playback to an external player, sharing the same settings as DVD playback. The %d argument is replaced by bd:///path/to/mount (note use of a standard URI schema: name:// ; with patch # 2 extra path at the top are ignored anyway.
To come: fix the trailing / issue. This has unexpected consequences and is rather large.
Ultimately, transform the URI to use standard scheme, rather than just dvd: or dvd:/
# 1 and # 2 are in queue for 0.25 freeze.
# 3 and other later
comment:4 Changed 12 years ago by
In the new quilt patch archive: it now contains the proper fix for handling URI with trailing /
So even if the mounting point itself contains a / it will work also things like mythavtest bd:/mount/bluray/ will now play properly
patch 2: fix_symlink_bdmount.patch determine the real physical path of a path for bluray playback
path 3: fix BD and DVD playback when using a relative path.
so with patch 2 and 3, you can now do: mythavtest bd:./test where test is a link in the local directory to /media/bluray
patch 4: bd_external_player.patch , simplify the code for calling the external player on DVD and add support for external playback for BD (so for example, you can call a script that will unencrypt the disk with AnyDVD before playing it with mythavtest)
Note that bd: and dvd: path should really be bd:// and dvd:// and this will be fixed later as discussed on IRC
comment:5 Changed 12 years ago by
Milestone: | unknown → 0.25 |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
Fix bluray playback when path to bluray mountpoint contains a trailing /
Bluray playback started from either mythfrontend or mythavtest would fail if the path provided contained a trailing / (such as /media/cdrom0/). Issue lied with ProgramInfo::GetPlaybackURL() trying to find if the file was local. Now do not attempt any file path processing if the URI is for DVD or BD playback
Fixes #10340 (Part 1)
Branch: master Changeset: 2fa00e745deff33d2a342fca367ba15bdc62fa96
comment:6 Changed 12 years ago by
Fix bluray playback if mounting path is a symbolic link
Some distributions (such as Ubuntu) symlink /media/cdrom0 to /media/cdrom. Decryption would fail if trying to play bd:/media/cdrom. We know determine the actual canonical path
Fix #10340 (part 2)
Branch: master Changeset: 93d3631223b4d3a2c8bcfb3b503deab67ab4dfc7
Hack to make BD playback work from menu