--- margi2/decoder.c 2001/03/19 23:49:15 1.9 +++ margi2/decoder.c 2001/03/29 23:12:01 1.10 @@ -100,7 +100,9 @@ void DecoderPause(struct cvdv_cards *car // Set 0x010, halt SCR counter AudioSetPlayMode(card, MAUDIO_PAUSE); DecoderStopDecode(card); +#ifdef DVB card->videostate.playState=VIDEO_FREEZED; +#endif card->videoffwd = 0; card->videoslow = 0; } @@ -112,7 +114,9 @@ void DecoderUnPause(struct cvdv_cards *c AudioSetPlayMode(card, MAUDIO_PLAY); DecoderMaskByte(card, 0x007, 0xD2, 0xC2); // Del 0x010, SCR counter run +#ifdef DVB card->videostate.playState=VIDEO_PLAYING;; +#endif card->videoslow = 0; } @@ -959,7 +963,7 @@ void L64021Intr(struct cvdv_cards *card) err = DecoderReadByte(card, 0x095); if (err & 0x17) { - printk(KERN_DEBUG LOGNAME ": Packet Error: 0x%02X\n", err); + printk(KERN_ERR LOGNAME ": Packet Error: 0x%02X\n", err); } ISRTime = 0; // TODO system time @@ -983,7 +987,9 @@ void L64021Intr(struct cvdv_cards *card) } } else if ((DecoderReadByte(card, 0x0EC) & 0x07) && !card->videoskip){ +#ifdef DVB if (card->audiostate.AVSyncState) +#endif card->videosync = 1; DecoderWriteByte(card, 0x0EC, 0x00); AudioStartDecode(card); @@ -1011,7 +1017,9 @@ void L64021Intr(struct cvdv_cards *card) } } else if( card->videoslow_last ){ card->videoslow_last = 0; +#ifdef DVB if (card->audiostate.AVSyncState) +#endif card->videosync = 1; AudioStartDecode(card); } @@ -1044,7 +1052,7 @@ void L64021Intr(struct cvdv_cards *card) if(card->videoskip) { DecoderWriteByte(card, 0x0EC - ,0x05); + ,0x03); } else { DecoderWriteByte(card, 0x0EC @@ -1066,8 +1074,8 @@ void L64021Intr(struct cvdv_cards *card) vs = card->VideoESSize; if (vs > 0) vp = (100 * v) / vs; else vp = 0; - if (vp > 40) { - printk(KERN_DEBUG LOGNAME + if (vp > 80) { + printk(KERN_ERR LOGNAME ": Delayed Video Decoder start\n"); card->startingV = 0; DecoderStartDecode(card); @@ -1081,8 +1089,8 @@ void L64021Intr(struct cvdv_cards *card) as = card->AudioESSize; if (as > 0) ap = (100 * a) / as; else ap = 0; - if (ap > 40) { - printk(KERN_DEBUG LOGNAME + if (ap > 80) { + printk(KERN_ERR LOGNAME ": Delayed Audio Decoder start\n"); AudioSetPlayMode(card, MAUDIO_PLAY); if (!AudioStart(card)) { @@ -1134,7 +1142,7 @@ void L64021Intr(struct cvdv_cards *card) if ((intr[0] & 0x01) != card->intdecodestatus) { // decode status card->intdecodestatus = intr[0] & 0x01; - printk(KERN_DEBUG LOGNAME + printk(KERN_ERR LOGNAME ": Int - decode status now %s\n", ((card->intdecodestatus) ? "running" : "stopped")); @@ -1160,12 +1168,12 @@ void L64021Intr(struct cvdv_cards *card) } } if (intr[1] & 0x08) { // SPU Start Code Detected - printk(KERN_DEBUG LOGNAME + printk(KERN_ERR LOGNAME ": Int - SPU Start Code Detected\n"); } if (intr[1] & 0x04) { // SCR compare audio - printk(KERN_DEBUG LOGNAME + printk(KERN_ERR LOGNAME ": Int - SCR compare audio\n"); DecoderDelByte(card, 0x013, 0x01); AudioStart(card); @@ -1204,7 +1212,7 @@ void L64021Intr(struct cvdv_cards *card) if (intr[3] & 0x30) { // Audio/Video ES channel buffer underflow - printk(KERN_DEBUG LOGNAME + printk(KERN_ERR LOGNAME ": Int - ES channel buffer underflow\n"); if (card->closing) { card->closing = 0; @@ -1213,7 +1221,7 @@ void L64021Intr(struct cvdv_cards *card) } if (intr[4] & 0x10 ) { // SPU decode error - printk(KERN_DEBUG LOGNAME + printk(KERN_ERR LOGNAME ": Int - SPU decode error: (1CA)=0x%02X\n", DecoderReadByte(card, 0x1CA)); DecoderDelByte(card, 0x1A0, 0x01); // SPU decode stop @@ -1296,7 +1304,7 @@ void L64021Intr(struct cvdv_cards *card) card->videodelay = 20; } } - printk(KERN_DEBUG LOGNAME ": <<< Pausing %d\n", card->videodelay); + printk(KERN_ERR LOGNAME ": <<< Pausing %d\n", card->videodelay); } else { } } else { @@ -1307,7 +1315,7 @@ void L64021Intr(struct cvdv_cards *card) } else { card->videoskip = 3; } -printk(KERN_DEBUG LOGNAME ": >>> FForward %d\n", card->videoskip); +printk(KERN_ERR LOGNAME ": >>> FForward %d\n", card->videoskip); } } } else {