summaryrefslogtreecommitdiffstats
path: root/vobsub.c
diff options
context:
space:
mode:
authorkmkaplan <kmkaplan@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-12 18:34:50 +0000
committerkmkaplan <kmkaplan@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-12 18:34:50 +0000
commitce183a3fd07253fb3f31266d7a748644613878a5 (patch)
treeb5fc82612cb05dede9628fb5f92ae80d55316f5c /vobsub.c
parent026cdf85b7755b8cc922392ac59f5c727dfb172c (diff)
downloadmpv-ce183a3fd07253fb3f31266d7a748644613878a5.tar.bz2
mpv-ce183a3fd07253fb3f31266d7a748644613878a5.tar.xz
Check for NULL vob->spudec before using.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4115 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vobsub.c')
-rw-r--r--vobsub.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/vobsub.c b/vobsub.c
index 386c3ea804..2005c1f325 100644
--- a/vobsub.c
+++ b/vobsub.c
@@ -754,18 +754,19 @@ vobsub_process(void *vobhandle, float pts)
{
vobsub_t *vob = (vobsub_t *)vobhandle;
unsigned int pts100 = 100 * pts;
- if (vob->spudec)
+ if (vob->spudec) {
spudec_heartbeat(vob->spudec, pts100);
- if (vob->spu_streams && 0 <= vobsub_id && (unsigned) vobsub_id < vob->spu_streams_size) {
- packet_queue_t *queue = vob->spu_streams + vobsub_id;
- while (queue->current_index < queue->packets_size) {
- packet_t *pkt = queue->packets + queue->current_index;
- if (pkt->pts100 <= pts100) {
- spudec_assemble(vob->spudec, pkt->data, pkt->size, pkt->pts100);
- ++queue->current_index;
+ if (vob->spu_streams && 0 <= vobsub_id && (unsigned) vobsub_id < vob->spu_streams_size) {
+ packet_queue_t *queue = vob->spu_streams + vobsub_id;
+ while (queue->current_index < queue->packets_size) {
+ packet_t *pkt = queue->packets + queue->current_index;
+ if (pkt->pts100 <= pts100) {
+ spudec_assemble(vob->spudec, pkt->data, pkt->size, pkt->pts100);
+ ++queue->current_index;
+ }
+ else
+ break;
}
- else
- break;
}
}
}