annotate mpcommon.h @ 32615:1bede0ded07e

Add validity check for stream_seek argument to avoid a integer overflow for huge negative values that would break the internal state of the stream buffer.
author reimar
date Sun, 12 Dec 2010 11:45:47 +0000
parents bc43cf7638e6
children 6d08af681d54
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: 30065
diff changeset
1 /*
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 30065
diff changeset
2 * This file is part of MPlayer.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 30065
diff changeset
3 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 30065
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: 30065
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: 30065
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: 30065
diff changeset
7 * (at your option) any later version.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 30065
diff changeset
8 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 30065
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: 30065
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: 30065
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: 30065
diff changeset
12 * GNU General Public License for more details.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 30065
diff changeset
13 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 30065
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: 30065
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: 30065
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: 30065
diff changeset
17 */
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 30065
diff changeset
18
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 26008
diff changeset
19 #ifndef MPLAYER_MPCOMMON_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 26008
diff changeset
20 #define MPLAYER_MPCOMMON_H
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 24165
diff changeset
21
32063
bfd3e0d9ab9d Move mconfig extern variable declaration to mpcommon.h.
diego
parents: 32062
diff changeset
22 #include "m_config.h"
31430
a2c6762a9adc Move noconfig_opts extern variable declaration to mpcommon.h.
diego
parents: 30907
diff changeset
23 #include "m_option.h"
32454
69d3be4d52a2 Create a new directory, "sub", for subtitles and OSD related code.
cigaes
parents: 32383
diff changeset
24 #include "sub/subreader.h"
26131
83c95bd31aab Add necessary #includes to pass 'make checkheaders'.
diego
parents: 26090
diff changeset
25 #include "libmpdemux/demuxer.h"
32461
bc43cf7638e6 Move ass_mp.[ch] to the sub directory.
cigaes
parents: 32454
diff changeset
26 #include "sub/ass_mp.h"
26131
83c95bd31aab Add necessary #includes to pass 'make checkheaders'.
diego
parents: 26090
diff changeset
27
32171
d15f1bca9ae0 Replace libmpdemux/stheader.h #include by 'struct sh_video' declaration.
diego
parents: 32170
diff changeset
28 struct sh_video;
d15f1bca9ae0 Replace libmpdemux/stheader.h #include by 'struct sh_video' declaration.
diego
parents: 32170
diff changeset
29
22233
5bf6c178f09a Move some subtitle handling from mplayer.c to mpcommon.c and share it with mencoder.c
reimar
parents:
diff changeset
30 extern double sub_last_pts;
31792
55dacfca4a43 Rename libass types to match upstream libass >= 0.9.7
greg
parents: 31511
diff changeset
31 extern ASS_Track *ass_track;
22233
5bf6c178f09a Move some subtitle handling from mplayer.c to mpcommon.c and share it with mencoder.c
reimar
parents:
diff changeset
32 extern subtitle *vo_sub_last;
28325
21504ba0f5d3 Factorize print_version().
diego
parents: 26416
diff changeset
33
32043
f6249bc89c38 Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents: 32032
diff changeset
34 extern int sub_auto;
31489
dc26022e9c27 Clean up sub-related extern declarations.
diego
parents: 31430
diff changeset
35 extern float sub_delay;
dc26022e9c27 Clean up sub-related extern declarations.
diego
parents: 31430
diff changeset
36 extern float sub_fps;
32032
52b0385d2d7a Move **sub_name extern declaration to mpcommon.h.
diego
parents: 32029
diff changeset
37 extern char **sub_name;
32043
f6249bc89c38 Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents: 32032
diff changeset
38 extern char *font_name;
f6249bc89c38 Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents: 32032
diff changeset
39 extern char *sub_font_name;
32060
c3b7fc7eb796 Move audio_lang / dvdsub_lang extern variable declarations to mpcommon.h.
diego
parents: 32043
diff changeset
40 extern char *audio_lang;
c3b7fc7eb796 Move audio_lang / dvdsub_lang extern variable declarations to mpcommon.h.
diego
parents: 32043
diff changeset
41 extern char *dvdsub_lang;
c3b7fc7eb796 Move audio_lang / dvdsub_lang extern variable declarations to mpcommon.h.
diego
parents: 32043
diff changeset
42
32043
f6249bc89c38 Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents: 32032
diff changeset
43 extern float font_factor;
f6249bc89c38 Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents: 32032
diff changeset
44 extern double force_fps;
32061
dcdcbe7f6713 Move video_time_usage / vout_time_usage extern var declarations to mpcommon.h.
diego
parents: 32060
diff changeset
45 extern double video_time_usage;
dcdcbe7f6713 Move video_time_usage / vout_time_usage extern var declarations to mpcommon.h.
diego
parents: 32060
diff changeset
46 extern double vout_time_usage;
31489
dc26022e9c27 Clean up sub-related extern declarations.
diego
parents: 31430
diff changeset
47
32029
b81172c6dd5c cosmetics: Group all extern variable declarations together.
diego
parents: 31792
diff changeset
48 extern int disable_system_conf;
b81172c6dd5c cosmetics: Group all extern variable declarations together.
diego
parents: 31792
diff changeset
49 extern int disable_user_conf;
32043
f6249bc89c38 Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents: 32032
diff changeset
50 extern int audio_id;
f6249bc89c38 Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents: 32032
diff changeset
51 extern int video_id;
f6249bc89c38 Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents: 32032
diff changeset
52 extern int dvdsub_id;
f6249bc89c38 Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents: 32032
diff changeset
53 extern int vobsub_id;
32029
b81172c6dd5c cosmetics: Group all extern variable declarations together.
diego
parents: 31792
diff changeset
54
32062
734f9a57c186 Move stream_cache_* extern variable declarations to mpcommon.h.
diego
parents: 32061
diff changeset
55 extern int stream_cache_size;
734f9a57c186 Move stream_cache_* extern variable declarations to mpcommon.h.
diego
parents: 32061
diff changeset
56 extern float stream_cache_min_percent;
734f9a57c186 Move stream_cache_* extern variable declarations to mpcommon.h.
diego
parents: 32061
diff changeset
57 extern float stream_cache_seek_min_percent;
734f9a57c186 Move stream_cache_* extern variable declarations to mpcommon.h.
diego
parents: 32061
diff changeset
58
31511
13ca93203358 Factorize MPlayer/MEncoder version string handling.
diego
parents: 31489
diff changeset
59 extern const char *mencoder_version;
13ca93203358 Factorize MPlayer/MEncoder version string handling.
diego
parents: 31489
diff changeset
60 extern const char *mplayer_version;
13ca93203358 Factorize MPlayer/MEncoder version string handling.
diego
parents: 31489
diff changeset
61
32063
bfd3e0d9ab9d Move mconfig extern variable declaration to mpcommon.h.
diego
parents: 32062
diff changeset
62 extern m_config_t *mconfig;
31430
a2c6762a9adc Move noconfig_opts extern variable declaration to mpcommon.h.
diego
parents: 30907
diff changeset
63 extern const m_option_t noconfig_opts[];
a2c6762a9adc Move noconfig_opts extern variable declaration to mpcommon.h.
diego
parents: 30907
diff changeset
64
28325
21504ba0f5d3 Factorize print_version().
diego
parents: 26416
diff changeset
65 void print_version(const char* name);
32095
96bdac8d878d Remove stheader.h include from mpcommon.h since it
reimar
parents: 32063
diff changeset
66 void update_subtitles(struct sh_video *sh_video, double refpts, demux_stream_t *d_dvdsub, int reset);
96bdac8d878d Remove stheader.h include from mpcommon.h since it
reimar
parents: 32063
diff changeset
67 void update_teletext(struct sh_video *sh_video, demuxer_t *demuxer, int reset);
26090
c585e2ad8ebf Select audio stream in mplayer and mencoder, overriding demuxer decision.
eugeni
parents: 26029
diff changeset
68 int select_audio(demuxer_t* demuxer, int audio_id, char* audio_lang);
29670
2e3751815a21 Add support for displaying subtitles on the command-line when playing
reimar
parents: 29669
diff changeset
69 void set_osd_subtitle(subtitle *subs);
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 24165
diff changeset
70
32383
f6e78eef2e1b Avoid duplicating common init code between MPlayer and mencoder.
reimar
parents: 32209
diff changeset
71 void common_preinit(void);
f6e78eef2e1b Avoid duplicating common init code between MPlayer and mencoder.
reimar
parents: 32209
diff changeset
72 int common_init(void);
f6e78eef2e1b Avoid duplicating common init code between MPlayer and mencoder.
reimar
parents: 32209
diff changeset
73
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 26008
diff changeset
74 #endif /* MPLAYER_MPCOMMON_H */