view parser-mecmd.h @ 24131:30028bbcb9e8

Use a single select() for both key and slave input Previous code used two separate select() calls one after another, so that whenever it was running select() on one set of fds events in the other set would go unnoticed until later. Now there's a single select() which allows reacting immediately to any input source. The behavior of the new code differs somewhat from the old; for example multiple fds that stay readable are no longer handled in a round-robin fashion and the total amount the process sleeps can differ. Some tuning might be required later.
author uau
date Sat, 25 Aug 2007 04:28:11 +0000
parents 1a14fde7680d
children 6ac1ece1f9fe
line wrap: on
line source


/// \file
/// \ingroup ConfigParsers MEntry
/// \brief A simple parser with per-entry settings.

/// \defgroup MEntry MEncoder's playlist
///@{

/// Playlist entry
typedef struct m_entry_st {
  /// Filename, url or whatever.
  char* name;
  /// NULL terminated list of name,val pairs.
  char** opts;
} m_entry_t;

/// Free a list returned by \ref m_config_parse_me_command_line.
void
m_entry_list_free(m_entry_t* lst);

/// Helper to set all config options from an entry.
int
m_entry_set_options(m_config_t *config, m_entry_t* entry);

/// Setup the \ref Config from command line arguments and build a playlist.
/** \ingroup ConfigParsers
 */
m_entry_t*
m_config_parse_me_command_line(m_config_t *config, int argc, char **argv);

///@}