Mercurial > mplayer.hg
view vobsub.h @ 26037:bee99864f397
New member in demuxer_t: reference_clock.
If it's != MP_NOPTS_VALUE ds_fill_buffer() will keep
on demuxing until the pts of the next_pts is <= reference_clock.
It guarantees the compliance with the buffering model indicated
by the transmitter of the multiplex and a long-time stability
of playback (at least for me).
In any case up to a maximum of 64 packets are accumulated to prevent
memory hogging and leaks.
author | nicodvb |
---|---|
date | Sat, 23 Feb 2008 10:31:44 +0000 |
parents | 9e41b6f16189 |
children | 3ac3d3a51934 |
line wrap: on
line source
#ifndef MPLAYER_VOBSUB_H #define MPLAYER_VOBSUB_H extern void *vobsub_open(const char *subname, const char *const ifo, const int force, void** spu); 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 unsigned int vobsub_get_indexes_count(void * /* vobhandle */); extern char *vobsub_get_id(void * /* vobhandle */, unsigned int /* index */); /// Get vobsub id by its index in the valid streams. extern int vobsub_get_id_by_index(void *vobhandle, unsigned int index); /// Get index in the valid streams by vobsub id. extern int vobsub_get_index_by_id(void *vobhandle, int id); /// Convert palette value in idx file to yuv. unsigned int vobsub_palette_to_yuv(unsigned int pal); /// Convert rgb value to yuv. unsigned int vobsub_rgb_to_yuv(unsigned int rgb); 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); extern void vobsub_out_output(void *me, const unsigned char *packet, int len, double pts); extern void vobsub_out_close(void *me); extern int vobsub_set_from_lang(void *vobhandle, unsigned char * lang); extern unsigned int vobsub_get_forced_subs_flag(void const * const vobhandle); extern void vobsub_seek(void * vobhandle, float pts); #endif /* MPLAYER_VOBSUB_H */