[mythtv-users] DVD Playback crashing in 0.24-fixes -- workaround

Mark Lord mythtv at rtr.ca
Sun Apr 1 16:41:44 UTC 2012


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 68_dvd_disable_bookmarks.patch
Type: text/x-patch
Size: 1000 bytes
Desc: not available
URL: <http://www.mythtv.org/pipermail/mythtv-users/attachments/20120401/84ca45c9/attachment.bin>


More information about the mythtv-users mailing list