mit dem diff geht bei mir pause bei .ts abspielen ohne schwartzbild.--- movieplayer.cpp 2004-07-18 02:54:52.000000000 +0200
+++ movieplayer.cpp 2004-07-20 21:04:19.000000000 +0200
@@ -1349,6 +1349,7 @@
{
int mincache_counter = 0;
bool skipwriting = false;
+ bool ret =true;
while ((r = read (fd, buf, cache)) > 0 && playstate >= CMoviePlayerGui::PLAY)
{
done = 0;
@@ -1359,7 +1360,11 @@
case CMoviePlayerGui::PAUSE:
while (playstate == CMoviePlayerGui::PAUSE)
{
- ioctl (dmxa, DMX_STOP);
+ if(ret)
+ {
+ ioctl (dmxa, AUDIO_PAUSE);
+ ret=false;
+ }
}
break;
case CMoviePlayerGui::FF:
@@ -1383,11 +1388,13 @@
skipwriting = true;
break;
case CMoviePlayerGui::SOFTRESET:
+ if(ret){
ioctl (vdec, VIDEO_STOP);
ioctl (adec, AUDIO_STOP);
ioctl (dmxv, DMX_STOP);
ioctl (dmxa, DMX_STOP);
ioctl (vdec, VIDEO_PLAY);
+ }
if (ac3 == 1) {
ioctl (adec, AUDIO_SET_BYPASS_MODE,0UL);
}
@@ -1395,15 +1402,17 @@
{
ioctl (adec, AUDIO_SET_BYPASS_MODE,1UL);
}
- ioctl (adec, AUDIO_PLAY);
p.pid = pida;
p.pes_type = DMX_PES_AUDIO;
ioctl (dmxa, DMX_SET_PES_FILTER, &p);
+ ioctl (adec, AUDIO_PLAY);
+ if(ret){
p.pid = pidv;
p.pes_type = DMX_PES_VIDEO;
ioctl (dmxv, DMX_SET_PES_FILTER, &p);
ioctl (dmxv, DMX_START);
ioctl (dmxa, DMX_START);
+ }
speed = 1;
playstate = CMoviePlayerGui::PLAY;
break;
ps. nur auf philips getestet.