comparison dvdnav.c @ 73:a23d50ba81d3 src

update spu clut, spu channel and audio channel more often
author mroi
date Fri, 09 Aug 2002 21:34:27 +0000
parents 61c0ee1bbb7a
children 0e2abe7083de
comparison
equal deleted inserted replaced
72:3f78a2c73aae 73:a23d50ba81d3
565 if(this->spu_clut_changed) { 565 if(this->spu_clut_changed) {
566 (*event) = DVDNAV_SPU_CLUT_CHANGE; 566 (*event) = DVDNAV_SPU_CLUT_CHANGE;
567 #ifdef LOG_DEBUG 567 #ifdef LOG_DEBUG
568 fprintf(stderr,"libdvdnav:SPU_CLUT_CHANGE\n"); 568 fprintf(stderr,"libdvdnav:SPU_CLUT_CHANGE\n");
569 #endif 569 #endif
570 (*len) = sizeof(dvdnav_still_event_t); 570 (*len) = 16 * sizeof(uint32_t);
571 memcpy(*buf, &(state->pgc->palette), 16 * sizeof(uint32_t)); 571 memcpy(*buf, &(state->pgc->palette), 16 * sizeof(uint32_t));
572 this->spu_clut_changed = 0; 572 this->spu_clut_changed = 0;
573 #ifdef LOG_DEBUG 573 #ifdef LOG_DEBUG
574 fprintf(stderr,"libdvdnav:SPU_CLUT_CHANGE returning S_OK\n"); 574 fprintf(stderr,"libdvdnav:SPU_CLUT_CHANGE returning S_OK\n");
575 #endif 575 #endif
752 /* vobu_next is use for mid cell resumes */ 752 /* vobu_next is use for mid cell resumes */
753 this->vobu.vobu_next = this->position_next.vobu_next; 753 this->vobu.vobu_next = this->position_next.vobu_next;
754 this->vobu.vobu_length = 0; 754 this->vobu.vobu_length = 0;
755 this->vobu.blockN = this->vobu.vobu_length + 1; 755 this->vobu.blockN = this->vobu.vobu_length + 1;
756 /* Make blockN > vobu_next to do expected_nav */ 756 /* Make blockN > vobu_next to do expected_nav */
757 /* update the spu palette on PGC changes */
758 this->spu_clut_changed = 1;
759 this->position_current.spu_channel = -1; /* Force an update */
760 this->position_current.audio_channel = -1; /* Force an update */;
757 (*event) = DVDNAV_CELL_CHANGE; 761 (*event) = DVDNAV_CELL_CHANGE;
758 (*len) = 0; 762 (*len) = 0;
759 pthread_mutex_unlock(&this->vm_lock); 763 pthread_mutex_unlock(&this->vm_lock);
760 return S_OK; 764 return S_OK;
761 } else { 765 } else {
993 return this->position_next.still; 997 return this->position_next.still;
994 } 998 }
995 999
996 /* 1000 /*
997 * $Log$ 1001 * $Log$
1002 * Revision 1.30 2002/08/09 21:34:27 mroi
1003 * update spu clut, spu channel and audio channel more often
1004 *
998 * Revision 1.29 2002/07/25 14:51:40 richwareham 1005 * Revision 1.29 2002/07/25 14:51:40 richwareham
999 * Moved get_current_nav_pci into dvdnac.c, changed example to use it instead of 'home-rolled' 1006 * Moved get_current_nav_pci into dvdnac.c, changed example to use it instead of 'home-rolled'
1000 * check_packet. 1007 * check_packet.
1001 * 1008 *
1002 * Revision 1.28 2002/07/25 14:42:33 richwareham 1009 * Revision 1.28 2002/07/25 14:42:33 richwareham