Mercurial > mplayer.hg
view m_config.h @ 16318:e27998eeb54a
Fix nsv detection with new demuxer structure
With old method there was an hack to skip detection for streamed nsv,
because demuxer did the chek only on first 4 bytes and live nsv streams
starts at random place in the file. The detection code was changed to
search for nsv signature in the first 64k of the file.
The check was changed to "unsafe" and thus moved later because now is
more expensive.
author | rtognimp |
---|---|
date | Tue, 30 Aug 2005 19:06:55 +0000 |
parents | 5dea9e3618ba |
children | 63909962d3fc |
line wrap: on
line source
#ifndef _M_CONFIG_H #define _M_CONFIG_H typedef struct m_config_option m_config_option_t; typedef struct m_config_save_slot m_config_save_slot_t; struct m_option; struct m_option_type; struct m_config_save_slot { m_config_save_slot_t* prev; int lvl; // we have to store other datatypes in this as well, // so make sure we get properly aligned addresses unsigned char data[0] __attribute__ ((aligned (8))); }; struct m_config_option { m_config_option_t* next; char* name; // Full name (ie option:subopt) struct m_option* opt; m_config_save_slot_t* slots; unsigned int flags; // currently it only tell if the option was set }; typedef struct m_config { m_config_option_t* opts; int lvl; // Current stack level int mode; } m_config_t; #define M_CFG_OPT_SET (1<<0) #define M_CFG_OPT_ALIAS (1<<1) //////////////////////////// Functions /////////////////////////////////// m_config_t* m_config_new(void); void m_config_free(m_config_t* config); void m_config_push(m_config_t* config); void m_config_pop(m_config_t* config); int m_config_register_options(m_config_t *config, struct m_option *args); int m_config_set_option(m_config_t *config, char* arg, char* param); int m_config_check_option(m_config_t *config, char* arg, char* param); struct m_option* m_config_get_option(m_config_t *config, char* arg); void m_config_print_option_list(m_config_t *config); #endif /* _M_CONFIG_H */