Mercurial > mplayer.hg
annotate playtreeparser.h @ 28992:947ef23ba798
Test if create_vdp_decoder() might succeed by calling it from config()
with a small value for max_reference_frames.
This does not make automatic recovery by using software decoder possible,
but lets MPlayer fail more graciously on - actually existing - buggy
hardware that does not support certain H264 widths when using
hardware accelerated decoding (784, 864, 944, 1024, 1808, 1888 pixels on
NVIDIA G98) and if the user tries to hardware-decode more samples at
the same time than supported.
Might break playback of H264 Intra-Only samples on hardware with very
little video memory.
author | cehoyos |
---|---|
date | Sat, 21 Mar 2009 20:11:05 +0000 |
parents | 83c95bd31aab |
children | c1a3f1bbba26 |
rev | line source |
---|---|
26029 | 1 #ifndef MPLAYER_PLAYTREEPARSER_H |
2 #define MPLAYER_PLAYTREEPARSER_H | |
18265 | 3 |
26131
83c95bd31aab
Add necessary #includes to pass 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
4 #include "playtree.h" |
83c95bd31aab
Add necessary #includes to pass 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
5 |
18265 | 6 /// \defgroup PlaytreeParser Playtree parser |
7 /// \ingroup Playtree | |
8 /// | |
18316
b3be7df634b0
spelling/grammar/wording fixes in doxygen and non-doxygen comments
diego
parents:
18265
diff
changeset
|
9 /// The playtree parser allows to read various playlist formats. It reads from |
b3be7df634b0
spelling/grammar/wording fixes in doxygen and non-doxygen comments
diego
parents:
18265
diff
changeset
|
10 /// a stream allowing to handle playlists from local files and the network. |
18265 | 11 ///@{ |
12 | |
13 /// \file | |
4308
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
14 |
8164
487cfc28525d
New config system + cleanup of header inter dependency
albeu
parents:
4782
diff
changeset
|
15 struct stream_st; |
4308
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
16 |
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
17 typedef struct play_tree_parser { |
8164
487cfc28525d
New config system + cleanup of header inter dependency
albeu
parents:
4782
diff
changeset
|
18 struct stream_st* stream; |
4782 | 19 char *buffer,*iter,*line; |
4308
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
20 int buffer_size , buffer_end; |
4782 | 21 int deep,keep; |
4308
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
22 } play_tree_parser_t; |
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
23 |
18265 | 24 /// Create a new parser. |
25 /** \param stream The stream to read from. | |
18316
b3be7df634b0
spelling/grammar/wording fixes in doxygen and non-doxygen comments
diego
parents:
18265
diff
changeset
|
26 * \param deep Parser depth. Some formats allow including other files, |
18265 | 27 * this is used to track the inclusion depth. |
28 * \return The new parser. | |
29 */ | |
4308
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
30 play_tree_parser_t* |
8164
487cfc28525d
New config system + cleanup of header inter dependency
albeu
parents:
4782
diff
changeset
|
31 play_tree_parser_new(struct stream_st* stream,int deep); |
4308
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
32 |
18265 | 33 /// Destroy a parser. |
4308
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
34 void |
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
35 play_tree_parser_free(play_tree_parser_t* p); |
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
36 |
18265 | 37 /// Build a playtree from the playlist opened with the parser. |
38 /** \param p The parser. | |
39 * \param forced If non-zero the playlist file was explicitly | |
40 * given by the user, allow falling back on | |
41 * one filename per line playlist. | |
42 * \return A new playtree or NULL on error. | |
43 */ | |
4308
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
44 play_tree_t* |
8925
5c15777f1c07
this patch adds an fallback to playlist (any but the plaintext-list format)
arpi
parents:
8164
diff
changeset
|
45 play_tree_parser_get_play_tree(play_tree_parser_t* p, int forced); |
4308
d752f99fd535
Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff
changeset
|
46 |
18265 | 47 /// Wrapper for play_tree_add_basepath (add base path from file). |
10211
4bc481804519
warning fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
alex
parents:
8925
diff
changeset
|
48 void |
4bc481804519
warning fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
alex
parents:
8925
diff
changeset
|
49 play_tree_add_bpf(play_tree_t* pt, char* filename); |
4bc481804519
warning fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
alex
parents:
8925
diff
changeset
|
50 |
26029 | 51 ///@} |
18265 | 52 |
26029 | 53 #endif /* MPLAYER_PLAYTREEPARSER_H */ |