Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: vdr-dvd-0.3.4-rc7
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Sunday 02 November 2003 19:26, Thorsten Schnebeck wrote:
> Am Sonntag, 02. November 2003 19:00 schrieben Sie:
> > http://jausoft.com/Files/vdr/vdr-dvd/vdr-dvd-0.3.4-rc7.tar.bz2
>
> On Sunday 02 November 2003 18:26, Thorsten Schnebeck wrote:
> > > Am Montag, 20. Oktober 2003 06:26 schrieben Sie:
> > > I have found one DVD, that has no working menu with vdr-dvd (The
> > > toplevel menu is ok, works with xine):
> > >
> > > The Bourne Identity
> >
> > please be kind and test with my latest pre7, thx.
> >
> > i guess everything regarding sync and timing should be fixed ..
>
> Hi Sven,
>
> that was fast :-) But sorry now its get worse. The main menu still works,
> the submenus are still broken. But the inital language selection for the
> menu is now broken too.
>
ok .. this patch fixes the audio switch problem,
especially using an extra audio plugin, e.g. bitstreamout !
> Bye
>
> Thorsten
this is what i could reproduce and fix ;-)
the other issues about the broken submenues
could not be reproduced because of the lack of an example..
my monster ag dvd runs well now ..
later, sven
- --
health & wealth
mailto:sgoethel@jausoft.com
www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/
voice : +49-5121-999600 ; fax : +49-5121-999602
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
iD8DBQE/pXHwHdOA30NoFAARArMHAKCNr9Fd9ERiSuopHlguSWsiP4tmCACdF6mL
0uqmBiSncR4mkU5pUgtRUVk=
=WbES
-----END PGP SIGNATURE-----
diff -Nur dvd-0.3.4-rc7/control-dvd.c dvd-0.3.4-rc8/control-dvd.c
--- dvd-0.3.4-rc7/control-dvd.c 2003-10-12 05:29:06.000000000 +0200
+++ dvd-0.3.4-rc8/control-dvd.c 2003-11-02 21:50:39.000000000 +0100
@@ -635,7 +635,13 @@
Stop();
return osEnd;
- case k1: if(player) player->NextAudioID(); break;
+ case k1: if(player) {
+ bool wasVisible = visible;
+ if(wasVisible) Hide();
+ player->NextAudioID();
+ if(wasVisible) { usleep(200000); Show(); }
+ break;
+ }
case k2: if(player) {
player->NextSubpStream();
if ( player->GetCurrentNavSubpStream()==-1 )
diff -Nur dvd-0.3.4-rc7/dvd.h dvd-0.3.4-rc8/dvd.h
--- dvd-0.3.4-rc7/dvd.h 2003-11-02 10:17:47.000000000 +0100
+++ dvd-0.3.4-rc8/dvd.h 2003-11-02 20:00:02.000000000 +0100
@@ -18,7 +18,7 @@
#include "setup-dvd.h"
#include "i18n.h"
-static const char *VERSION = "0.3.4-rc7";
+static const char *VERSION = "0.3.4-rc8";
static const char *DESCRIPTION = "turn VDR into an (almost) full featured DVD player";
static const char *MAINMENUENTRY = "DVD";
diff -Nur dvd-0.3.4-rc7/player-dvd.c dvd-0.3.4-rc8/player-dvd.c
--- dvd-0.3.4-rc7/player-dvd.c 2003-11-02 17:41:47.000000000 +0100
+++ dvd-0.3.4-rc8/player-dvd.c 2003-11-02 21:52:34.000000000 +0100
@@ -36,6 +36,8 @@
#define CTRLDEBUG
#undef DEBUG_CONTROL
#define DEBUG_CONTROL(format, args...) printf (format, ## args)
+#undef DEBUG_NAV
+#define DEBUG_NAV(format, args...) printf (format, ## args)
#define AUDIOIDDEBUG
#undef DEBUG_AUDIO_ID
#define DEBUG_AUDIO_ID(format, args...) printf (format, ## args)
@@ -44,14 +46,12 @@
#undef DEBUG_SUBP_ID
#define DEBUG_SUBP_ID(format, args...) printf (format, ## args)
#define AUDIOPLAYDEBUG
-#undef DEBUG_AUDIO_PLAY
-#define DEBUG_AUDIO_PLAY(format, args...) printf (format, ## args)
-#define NAVDEBUG
-#undef DEBUG_NAV
-#define DEBUG_NAV(format, args...) printf (format, ## args)
#define IFRAMEDEBUG
#undef DEBUG_IFRAME
#define DEBUG_IFRAME(format, args...) printf (format, ## args)
+#undef DEBUG_AUDIO_PLAY
+#define DEBUG_AUDIO_PLAY(format, args...) printf (format, ## args)
+#define NAVDEBUG
#define PTSDEBUG
#undef DEBUG_PTS
#define DEBUG_PTS(format, args...) printf (format, ## args)
@@ -264,8 +264,6 @@
void cDvdPlayer::Empty(bool emptyDeviceToo)
{
- LOCK_THREAD;
-
DEBUG_CONTROL("dvd .. Empty emptyDeviceToo=%d!\n", emptyDeviceToo);
if (SPUdecoder) {
@@ -298,10 +296,12 @@
}
skipPlayVideo=0;
IframeAssembler.Clear();
+
if(emptyDeviceToo) {
DeviceClear();
DevicePlay();
}
+
}
#ifdef DVDDEBUG
@@ -542,7 +542,6 @@
if (IframeCnt > 0) {
DeviceStillPicture(IframeAssembler.Get(), IframeAssembler.Used());
IframeAssembler.Clear();
- IframeCnt = -1; // mark that we played an IFrame !
IframeCnt = 0; // mark that we played an IFrame !
if (blk_size <= 0 && !skipPlayVideo)
sleept = 1*90U; // 1ms*90t/ms
@@ -1030,7 +1029,7 @@
void cDvdPlayer::SendIframe(bool doSend)
{
- if (IframeCnt <= 0 && IframeAssembler.Used() && doSend ) {
+ if (IframeCnt == 0 && IframeAssembler.Used() && doSend ) {
DEBUG_NAV("doing StillFrame\n");
IframeCnt = 1;
}
@@ -1229,11 +1228,8 @@
notifySeenAudioTrack( ((int)*data) & (MaxAudioTracks-1) );
- if ( currentNavAudioTrack == (*data & (MaxAudioTracks-1)))
+ if ( currentNavAudioTrack == (*data & (MaxAudioTracks-1)) )
{
- if (ptsFlag)
- seenPTS(pktpts);
-
blk_attr = BLK_ATTR_AUDIO;
currentNavAudioTrackType = audioType;
@@ -1258,6 +1254,9 @@
blk_size = r;
blk_attr |= BLK_ATTR_CACHE;
cache_buf = 0;
+ if (ptsFlag)
+ seenPTS(pktpts);
+
DEBUG_AUDIO_PLAY("dvd pcm/fake stc=%8ums apts=%8ums vpts=%8ums len=%d\n",
(unsigned int)(stcPTS/90U),
(unsigned int)(ptsFlag?pktpts/90U:0),
@@ -2123,7 +2122,7 @@
sprintf(buffer,"%c%c", p1[1], p1[0]);
dvdnav_audio_language_select(nav, buffer);
- DeviceClear();
+ Empty();
DEBUG_AUDIO_ID("cDvdPlayer::cDvdPlayer: curNavAu set to 0x%X, %s\n",
currentNavAudioTrack, buffer);
@@ -2160,6 +2159,8 @@
DEBUG_AUDIO_ID("cDvdPlayer::cDvdPlayer: found curNavAu(0x%X) at idx = %d\n",
currentNavAudioTrack, i);
+ Empty();
+
SetCurrentNavAudioTrackLocked(true);
i = ( i + 1 ) % navAudioTracksSeen.Count();
currentNavAudioTrack = ((IntegerListObject *)navAudioTracksSeen.Get(i))->getValue();
@@ -2170,8 +2171,6 @@
sprintf(buffer,"%c%c", p1[1], p1[0]);
dvdnav_audio_language_select(nav, buffer);
- DeviceClear();
-
DEBUG_AUDIO_ID("cDvdPlayer::cDvdPlayer: curNavAu next to 0x%X, %s\n",
currentNavAudioTrack, buffer);
}
Home |
Main Index |
Thread Index