Mercurial > libdvdnav.hg
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; |