view stream/stream_dvdnav.h @ 19595:c19e6c7487b1

Avoid a potential strdup(NULL) Fix sig11 with rtsp://wms.stream.aol.com/aol/us/moviefone/movies/2006/jesuscamp_027214/prestigethe_trlr_01_460.wmv
author rtogni
date Wed, 30 Aug 2006 20:18:27 +0000
parents 087d4a916ea3
children 1069a634fc92
line wrap: on
line source

#ifndef _MPLAYER_DVDNAV_STREAM_H
#define _MPLAYER_DVDNAV_STREAM_H

#include <dvdnav.h>

typedef struct {
  int event;             /* event number fromd dvdnav_events.h */
  void * details;        /* event details */
  int len;               /* bytes in details */
} dvdnav_event_t;

typedef struct {
  dvdnav_t *       dvdnav;              /* handle to libdvdnav stuff */
  char *           filename;            /* path */
  int              ignore_timers;       /* should timers be skipped? */
  int              sleeping;            /* are we sleeping? */
  unsigned int     sleep_until;         /* timer */
  int              started;             /* Has mplayer initialization finished? */
  unsigned char    prebuf[STREAM_BUFFER_SIZE]; /* prefill buffer */
  int              prelen;              /* length of prefill buffer */
  unsigned int     duration;            /* in milliseconds */
} dvdnav_priv_t;

extern int dvd_nav_still;
extern int dvd_nav_skip_opening;
extern char dvd_nav_text[50];
extern int osd_show_dvd_nav_delay;
extern int osd_show_dvd_nav_highlight;
extern int osd_show_dvd_nav_sx;
extern int osd_show_dvd_nav_ex;
extern int osd_show_dvd_nav_sy;
extern int osd_show_dvd_nav_ey;

dvdnav_priv_t * new_dvdnav_stream(char * filename);
int dvdnav_stream_reset(dvdnav_priv_t * dvdnav_priv);
void free_dvdnav_stream(dvdnav_priv_t * dvdnav_priv);

void dvdnav_stream_ignore_timers(dvdnav_priv_t * dvdnav_priv, int ignore);
int dvdnav_stream_read(dvdnav_priv_t * dvdnav_priv, unsigned char *buf, int *len);

void dvdnav_stream_sleep(dvdnav_priv_t *dvdnav_priv, int seconds);
int dvdnav_stream_sleeping(dvdnav_priv_t * dvdnav_priv);

void dvdnav_stream_fullstart(dvdnav_priv_t *dvdnav_priv);
unsigned int * dvdnav_stream_get_palette(dvdnav_priv_t * dvdnav_priv);

#endif