changeset 6829:d7db9f1b1d36

New function vobsub_get_next_packet for subrip.
author kmkaplan
date Sun, 28 Jul 2002 16:28:30 +0000
parents 010be15e48ad
children 032137fe69a5
files vobsub.c vobsub.h
diffstat 2 files changed, 18 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/vobsub.c	Sun Jul 28 15:54:26 2002 +0000
+++ b/vobsub.c	Sun Jul 28 16:28:30 2002 +0000
@@ -978,6 +978,23 @@
   return -1;
 }
 
+int
+vobsub_get_next_packet(void *vobhandle, void** data, int* timestamp)
+{
+  vobsub_t *vob = (vobsub_t *)vobhandle;
+  if (vob->spu_streams && 0 <= vobsub_id && (unsigned) vobsub_id < vob->spu_streams_size) {
+    packet_queue_t *queue = vob->spu_streams + vobsub_id;
+    if (queue->current_index < queue->packets_size) {
+      packet_t *pkt = queue->packets + queue->current_index;
+      ++queue->current_index;
+      *data = pkt->data;
+      *timestamp = pkt->pts100;
+      return pkt->size;
+    }
+  }
+  return -1;
+}
+
 void
 vobsub_reset(void *vobhandle)
 {
--- a/vobsub.h	Sun Jul 28 15:54:26 2002 +0000
+++ b/vobsub.h	Sun Jul 28 16:28:30 2002 +0000
@@ -5,6 +5,7 @@
 extern void vobsub_reset(void *vob);
 extern int vobsub_parse_ifo(void* this, const char *const name, unsigned int *palette, unsigned int *width, unsigned int *height, int force, int sid, char *langid);
 extern int vobsub_get_packet(void *vobhandle, float pts,void** data, int* timestamp);
+extern int vobsub_get_next_packet(void *vobhandle, void** data, int* timestamp);
 extern void vobsub_close(void *this);
 
 extern void *vobsub_out_open(const char *basename, const unsigned int *palette, unsigned int orig_width, unsigned int orig_height, const char *id, unsigned int index);