# HG changeset patch # User kmkaplan # Date 1027873710 0 # Node ID d7db9f1b1d364b4277243790b33e3cbba73c5973 # Parent 010be15e48ad314ba822294e68847b0ca99f7dfa New function vobsub_get_next_packet for subrip. diff -r 010be15e48ad -r d7db9f1b1d36 vobsub.c --- 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) { diff -r 010be15e48ad -r d7db9f1b1d36 vobsub.h --- 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);