comparison dvdnav.c @ 249:5d643668f1e3 src

I added this code myself a long time ago, but now I am quite convinced that it is wrong: Why would we filter out SPU stream change events that switch SPUs off? This breaks watching the trailer on the RC2 of "Girl, interrupted", because you always get unwanted subtitles. When I added this code, it fixed a problem with the RC2 of "Terminator", but I cannot reproduce this problem any more. Back then, the menu highlights would not show up, but they do now. I assume the problem really got fixed with proper support for forced subtitles in xine, so this crappy workaround here can go away. After all, this way it is more symmetric to audio stream change events, because these are not filtered.
author mroi
date Sun, 12 Sep 2004 15:12:43 +0000
parents 15dc5660d9a8
children 6299ccea8a38
comparison
equal deleted inserted replaced
248:5124cfd4725d 249:5d643668f1e3
663 this->position_current.spu_channel = this->position_next.spu_channel; 663 this->position_current.spu_channel = this->position_next.spu_channel;
664 #ifdef LOG_DEBUG 664 #ifdef LOG_DEBUG
665 fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_wide=%d\n",stream_change->physical_wide); 665 fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_wide=%d\n",stream_change->physical_wide);
666 fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_letterbox=%d\n",stream_change->physical_letterbox); 666 fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_letterbox=%d\n",stream_change->physical_letterbox);
667 fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_pan_scan=%d\n",stream_change->physical_pan_scan); 667 fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_pan_scan=%d\n",stream_change->physical_pan_scan);
668 #endif 668 fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE returning DVDNAV_STATUS_OK\n");
669 if (stream_change->physical_wide != -1 && 669 #endif
670 stream_change->physical_letterbox != -1 && 670 pthread_mutex_unlock(&this->vm_lock);
671 stream_change->physical_pan_scan != -1) { 671 return DVDNAV_STATUS_OK;
672 #ifdef LOG_DEBUG
673 fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE returning DVDNAV_STATUS_OK\n");
674 #endif
675 pthread_mutex_unlock(&this->vm_lock);
676 return DVDNAV_STATUS_OK;
677 }
678 } 672 }
679 673
680 /* has the audio channel changed? */ 674 /* has the audio channel changed? */
681 if(this->position_current.audio_channel != this->position_next.audio_channel) { 675 if(this->position_current.audio_channel != this->position_next.audio_channel) {
682 dvdnav_audio_stream_change_event_t *stream_change = (dvdnav_audio_stream_change_event_t *)*buf; 676 dvdnav_audio_stream_change_event_t *stream_change = (dvdnav_audio_stream_change_event_t *)*buf;