summaryrefslogtreecommitdiffstats
path: root/vobsub.c
diff options
context:
space:
mode:
Diffstat (limited to 'vobsub.c')
-rw-r--r--vobsub.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/vobsub.c b/vobsub.c
index e5059c2ead..ef2e95c470 100644
--- a/vobsub.c
+++ b/vobsub.c
@@ -978,6 +978,23 @@ vobsub_get_packet(void *vobhandle, float pts,void** data, int* timestamp) {
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)
{