annotate parser-mecmd.h @ 35332:d6b957072297

subreader: do not skip the first char of ASS fields. Without this change, fields that can be sometimes empty and sometimes not, such as the Effect field, are counted in an inconsistent way. Since the number of fields is used to find where the text starts, it leads to internal field arriving on the video. Bug reported anonymously on the users mailing list.
author cigaes
date Tue, 20 Nov 2012 19:43:53 +0000
parents c1a3f1bbba26
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30429
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
1 /*
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
2 * This file is part of MPlayer.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
3 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
5 * it under the terms of the GNU General Public License as published by
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
7 * (at your option) any later version.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
8 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
12 * GNU General Public License for more details.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
13 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
14 * You should have received a copy of the GNU General Public License along
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
17 */
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 26131
diff changeset
18
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
19 #ifndef MPLAYER_PARSER_MECMD_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
20 #define MPLAYER_PARSER_MECMD_H
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
21
26131
83c95bd31aab Add necessary #includes to pass 'make checkheaders'.
diego
parents: 26029
diff changeset
22 #include "m_config.h"
83c95bd31aab Add necessary #includes to pass 'make checkheaders'.
diego
parents: 26029
diff changeset
23
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
24 /// \file
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
25 /// \ingroup ConfigParsers MEntry
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
26 /// \brief A simple parser with per-entry settings.
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
27
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
28 /// \defgroup MEntry MEncoder's playlist
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
29 ///@{
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
30
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
31 /// Playlist entry
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
32 typedef struct m_entry_st {
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
33 /// Filename, url or whatever.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
34 char* name;
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
35 /// NULL terminated list of name,val pairs.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
36 char** opts;
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
37 } m_entry_t;
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
38
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
39 /// Free a list returned by \ref m_config_parse_me_command_line.
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
40 void
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
41 m_entry_list_free(m_entry_t* lst);
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
42
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
43 /// Helper to set all config options from an entry.
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
44 int
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
45 m_entry_set_options(m_config_t *config, m_entry_t* entry);
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
46
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
47 /// Setup the \ref Config from command line arguments and build a playlist.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
48 /** \ingroup ConfigParsers
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
49 */
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
50 m_entry_t*
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
51 m_config_parse_me_command_line(m_config_t *config, int argc, char **argv);
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
52
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
53 ///@}
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 18265
diff changeset
54
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
55 #endif /* MPLAYER_PARSER_MECMD_H */