Mercurial > mplayer.hg
annotate gui/interface.h @ 33109:01b19cf2649c
Fix segfault in lavcac3enc audio filter.
The FFmpeg ac3 encoder would fail to open
if the correct sample format is not set.
As the opening is done in control()
the audio filter would not fail back,
but would instead continue and call
encoding functions that dereference
NULL pointer.
author | iive |
---|---|
date | Sun, 03 Apr 2011 14:39:27 +0000 |
parents | ba432e34dc7e |
children | 5f527a9a9521 |
rev | line source |
---|---|
26458 | 1 /* |
2 * This file is part of MPlayer. | |
3 * | |
4 * MPlayer is free software; you can redistribute it and/or modify | |
5 * it under the terms of the GNU General Public License as published by | |
6 * the Free Software Foundation; either version 2 of the License, or | |
7 * (at your option) any later version. | |
8 * | |
9 * MPlayer is distributed in the hope that it will be useful, | |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 * GNU General Public License for more details. | |
13 * | |
14 * You should have received a copy of the GNU General Public License along | |
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., | |
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
17 */ | |
18 | |
26029 | 19 #ifndef MPLAYER_GUI_INTERFACE_H |
20 #define MPLAYER_GUI_INTERFACE_H | |
23077 | 21 |
26382
b2f4abcf20ed
Make include paths consistent; do not use ../ in them.
diego
parents:
26029
diff
changeset
|
22 #include "config.h" |
30533
e3e329bc727a
Avoid forward declarations for import_initial_playtree_into_gui() and
diego
parents:
29263
diff
changeset
|
23 #include "m_config.h" |
e3e329bc727a
Avoid forward declarations for import_initial_playtree_into_gui() and
diego
parents:
29263
diff
changeset
|
24 #include "playtree.h" |
29149 | 25 #include "stream/stream.h" |
23077 | 26 |
33021 | 27 // These are in support of the non-GUI files that interact with |
28 // the GUI and that only need to include interface.h for this. | |
29 // ------------------------------------------------------------ | |
32984 | 30 #include "cfg.h" |
31 #include "mplayer/play.h" | |
23077 | 32 |
33021 | 33 extern int use_gui; // this is defined in mplayer.c |
34 // ------------------------------------------------------------ | |
35 | |
32984 | 36 #define guiXEvent 0 |
37 #define guiCEvent 1 | |
38 #define guiIEvent 2 | |
39 #define guiSetDVD 3 | |
40 #define guiSetFileName 4 | |
41 #define guiSetState 5 | |
42 #define guiSetAudioOnly 6 | |
43 #define guiReDrawSubWindow 7 | |
44 #define guiSetShVideo 8 | |
45 #define guiSetStream 9 | |
46 #define guiReDraw 10 | |
47 #define guiSetVolume 11 | |
48 #define guiSetDefaults 12 | |
49 #define guiSetValues 13 | |
50 #define guiSetFileFormat 14 | |
51 #define guiSetDemuxer 15 | |
52 #define guiSetParameters 16 | |
53 #define guiSetAfilter 17 | |
54 #define guiSetContext 18 | |
23077 | 55 |
56 #define guiSetStop 0 | |
57 #define guiSetPlay 1 | |
58 #define guiSetPause 2 | |
59 | |
32984 | 60 #define guiDVD 1 |
61 #define guiVCD 2 | |
62 #define guiFilenames 4 | |
63 #define guiALL 0xffffffff | |
23077 | 64 |
32984 | 65 #define gtkSetContrast 0 |
66 #define gtkSetBrightness 1 | |
67 #define gtkSetHue 2 | |
68 #define gtkSetSaturation 3 | |
69 #define gtkSetEqualizer 4 | |
70 #define gtkAddPlItem 5 | |
71 #define gtkGetNextPlItem 6 | |
72 #define gtkGetPrevPlItem 7 | |
73 #define gtkGetCurrPlItem 8 | |
74 #define gtkDelPl 9 | |
23077 | 75 #define gtkSetExtraStereo 10 |
76 #define gtkSetPanscan 11 | |
77 #define gtkSetFontFactor 12 | |
78 #define gtkSetAutoq 13 | |
79 #define gtkClearStruct 14 | |
80 #define gtkAddURLItem 15 | |
81 #define gtkSetFontOutLine 16 | |
82 #define gtkSetFontBlur 17 | |
83 #define gtkSetFontTextScale 18 | |
84 #define gtkSetFontOSDScale 19 | |
85 #define gtkSetFontEncoding 20 | |
86 #define gtkSetFontAutoScale 21 | |
87 #define gtkSetSubEncoding 22 | |
88 #define gtkDelCurrPlItem 23 | |
89 #define gtkInsertPlItem 24 | |
90 #define gtkSetCurrPlItem 25 | |
91 | |
32984 | 92 #define fsPersistant_MaxPos 5 |
93 | |
94 #define guiSetFilename(s, n) \ | |
95 { \ | |
96 gfree((void **)&s); \ | |
97 s = gstrdup(n); \ | |
98 } | |
99 | |
100 #define guiSetDF(s, d, n) \ | |
101 { \ | |
102 gfree((void **)&s); \ | |
103 s = malloc(strlen(d) + strlen(n) + 5); \ | |
104 sprintf(s, "%s/%s", d, n); \ | |
105 } | |
106 | |
107 typedef struct { | |
108 int x; | |
109 int y; | |
110 int width; | |
111 int height; | |
112 } guiResizeStruct; | |
113 | |
114 typedef struct { | |
115 int signal; | |
116 char module[512]; | |
117 } guiUnknownErrorStruct; | |
118 | |
119 typedef struct { | |
120 int seek; | |
121 int format; | |
122 int width; | |
123 int height; | |
124 char codecdll[128]; | |
125 } guiVideoStruct; | |
126 | |
127 #ifdef CONFIG_DVDREAD | |
128 typedef struct { | |
129 int titles; | |
130 int chapters; | |
131 int angles; | |
132 int current_chapter; | |
133 int current_title; | |
134 int current_angle; | |
135 int nr_of_audio_channels; | |
136 stream_language_t audio_streams[32]; | |
137 int nr_of_subtitles; | |
138 stream_language_t subtitles[32]; | |
139 } guiDVDStruct; | |
140 #endif | |
141 | |
142 typedef struct { | |
143 int message; | |
144 guiResizeStruct resize; | |
145 guiVideoStruct videodata; | |
146 guiUnknownErrorStruct error; | |
147 | |
148 struct MPContext *mpcontext; | |
149 void *sh_video; | |
150 void *afilter; | |
151 void *demuxer; | |
152 void *event_struct; | |
153 | |
154 int DiskChanged; | |
155 int NewPlay; | |
156 | |
157 #ifdef CONFIG_DVDREAD | |
158 guiDVDStruct DVD; | |
159 int Title; | |
160 int Angle; | |
161 int Chapter; | |
162 #endif | |
163 | |
164 #ifdef CONFIG_VCD | |
165 int VCDTracks; | |
166 #endif | |
167 | |
168 int Playing; | |
169 float Position; | |
170 | |
171 int MovieWidth; | |
172 int MovieHeight; | |
173 int NoWindow; | |
174 | |
175 float Volume; | |
176 float Balance; | |
177 | |
178 int Track; | |
179 int AudioType; | |
180 int StreamType; | |
181 int AudioOnly; | |
182 int TimeSec; | |
183 int LengthInSec; | |
184 int FrameDrop; | |
185 int FileFormat; | |
186 float FPS; | |
187 | |
188 char *Filename; | |
189 int FilenameChanged; | |
190 | |
191 char *Subtitlename; | |
192 int SubtitleChanged; | |
193 | |
194 char *Othername; | |
195 int OtherChanged; | |
196 | |
197 char *AudioFile; | |
198 int AudioFileChanged; | |
199 | |
200 int SkinChange; | |
201 } guiInterface_t; | |
202 | |
203 typedef struct plItem { | |
204 struct plItem *prev, *next; | |
205 int played; | |
206 char *path; | |
207 char *name; | |
208 } plItem; | |
209 | |
210 typedef struct urlItem { | |
211 struct urlItem *next; | |
212 char *url; | |
213 } URLItem; | |
214 | |
215 extern guiInterface_t guiIntfStruct; | |
216 | |
217 extern int guiWinID; | |
218 | |
219 extern char *skinName; | |
220 extern char *skinDirInHome; | |
221 extern char *skinMPlayerDir; | |
222 | |
223 extern plItem *plList; | |
224 extern plItem *plCurrent; | |
225 extern plItem *plLastPlayed; | |
226 | |
227 extern URLItem *URLList; | |
228 | |
229 extern char *fsHistory[fsPersistant_MaxPos]; | |
230 | |
23077 | 231 extern float gtkEquChannels[6][10]; |
232 | |
32984 | 233 void gaddlist(char ***list, const char *entry); |
234 void gfree(void **p); | |
33023 | 235 void gmp_msg(int mod, int lev, const char *format, ...); |
32984 | 236 char *gstrchr(char *str, int c); |
237 int gstrcmp(const char *a, const char *b); | |
238 char *gstrdup(const char *str); | |
239 void *gtkSet(int cmd, float fparam, void *vparam); | |
240 void guiDone(void); | |
241 void guiEventHandling(void); | |
242 int guiGetEvent(int type, void *arg); | |
243 void guiInit(void); | |
244 void guiLoadFont(void); | |
245 void guiLoadSubtitle(char *name); | |
246 int import_initial_playtree_into_gui(play_tree_t *my_playtree, m_config_t *config, int enqueue); | |
247 int import_playtree_playlist_into_gui(play_tree_t *my_playtree, m_config_t *config); | |
23077 | 248 |
26029 | 249 #endif /* MPLAYER_GUI_INTERFACE_H */ |