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