
mythtv at rtr
Apr 1, 2012, 9:41 AM
Post #1 of 8
(321 views)
Permalink
|
|
DVD Playback crashing in 0.24-fixes -- workaround
|
|
Ever since I upgraded to 0.24-fixes (over a year ago), the built-in DVD playback stuff has been unusable. It *always* crashes, often on beginning DVD playback, or often on the first press of the MENU button while playing. Sometimes a new, never-seen-before, DVD will play okay for longer, but on reinsertion things always crash again. This is on multiple installations. The bug in somewhere in Mythtv. So today I did something about it. I simply disabled DVD-Bookmark saving/lookup in the source code. The crashes are now completely gone. The patch (simple) is below. The code that deals with DVD-Bookmarks doesn't look terribly scary, so it might be possible for somebody more familiar with C++ to stare at it for a bit and perhaps spot the real bug. I'm still looking at it here, but I'm not really a C++ guy. :) Here's the patch, for anyone else who wants to use Mythtv to play DVDs (patch is also attached, to bypass mailer mangling issues): --- mythtv/libs/libmythtv/mythdvdplayer.cpp.orig 2012-03-15 10:10:31.000000000 -0400 +++ mythtv/libs/libmythtv/mythdvdplayer.cpp 2012-04-01 12:18:52.943931946 -0400 @@ -355,6 +355,7 @@ uint64_t MythDVDPlayer::GetBookmark(void) { +#if 0 /* bookmarks crash the DVDplayer too often, so disable them */ if (gCoreContext->IsDatabaseIgnored() || !player_ctx->buffer->isDVD()) return 0; @@ -387,6 +388,9 @@ } player_ctx->UnlockPlayingInfo(__FILE__, __LINE__); return frames;; +#else + return 0; +#endif } void MythDVDPlayer::ChangeSpeed(void) @@ -550,6 +554,7 @@ void MythDVDPlayer::SetDVDBookmark(uint64_t frame) { +#if 0 /* bookmarks crash the DVDplayer too often, so disable them */ if (!player_ctx->buffer->isDVD()) return; @@ -598,6 +603,7 @@ .arg(title).arg(audiotrack).arg(subtitletrack).arg(framenum)); } player_ctx->UnlockPlayingInfo(__FILE__, __LINE__); +#endif } int MythDVDPlayer::GetNumAngles(void) const
|