annotate libvo/video_out_internal.h @ 33517:850a3272e10d

Change code to allow STREAM_CTRL_GET_CURRENT_TIME with cache enabled. Due to that time being from what is currently read into the cache it is unfortunately somewhat inaccurate and unsmooth, however for streams that do have stream timestamps it is till a lot better than going by the demuxer alone. In particular it fixes bug #1081, when starting a DVD with -chapter following seeks would be relative to the start of the DVD instead of the current position.
author reimar
date Sun, 12 Jun 2011 11:26:22 +0000
parents ddb45e9443ec
children 211cb1950419
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1 /*
26739
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
2 * Copyright (C) Aaron Holtzman - Aug 1999
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3 *
26739
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
4 * This file is part of MPlayer.
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5 *
26739
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
6 * MPlayer is free software; you can redistribute it and/or modify
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
7 * it under the terms of the GNU General Public License as published by
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
9 * (at your option) any later version.
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
10 *
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
11 * MPlayer is distributed in the hope that it will be useful,
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
14 * GNU General Public License for more details.
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
15 *
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
16 * You should have received a copy of the GNU General Public License along
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
17 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
2a34d9fa52ab Use standard license headers with standard formatting.
diego
parents: 26162
diff changeset
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
21 #ifndef MPLAYER_VIDEO_OUT_INTERNAL_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
22 #define MPLAYER_VIDEO_OUT_INTERNAL_H
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 21977
diff changeset
23
26162
0585db9f5b32 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
24 #include <stdint.h>
0585db9f5b32 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
25
7876
arpi
parents: 7124
diff changeset
26 /* All video drivers will want this */
13787
e047e70a9767 Handle "xxx.h" vs "../xxx.h" include paths in a consistent way.
diego
parents: 8148
diff changeset
27 #include "libmpcodecs/vfcap.h"
e047e70a9767 Handle "xxx.h" vs "../xxx.h" include paths in a consistent way.
diego
parents: 8148
diff changeset
28 #include "libmpcodecs/mp_image.h"
7876
arpi
parents: 7124
diff changeset
29 #include "geometry.h"
5566
e01c664def74 VFCAP added
arpi
parents: 4592
diff changeset
30
33305
ddb45e9443ec Remove the variable arguments from the libvo control() functions.
iive
parents: 32469
diff changeset
31 static int control(uint32_t request, void *data);
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
32 static int config(uint32_t width, uint32_t height, uint32_t d_width,
4433
df8e0f71cc3c new info for tuning
nick
parents: 4352
diff changeset
33 uint32_t d_height, uint32_t fullscreen, char *title,
7124
eca7dbad0166 finally removed query_vaa, bes_da and vo_tune_info - the obsoleted libvo api
alex
parents: 5607
diff changeset
34 uint32_t format);
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
35 static int draw_frame(uint8_t *src[]);
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
36 static int draw_slice(uint8_t *image[], int stride[], int w,int h,int x,int y);
1502
ccb1f3ddb29a atlka@pg.gda.pl:
atlka
parents: 1501
diff changeset
37 static void draw_osd(void);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38 static void flip_page(void);
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
39 static void check_events(void);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 static void uninit(void);
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
41 static int query_format(uint32_t format);
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
42 static int preinit(const char *);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
44 #define LIBVO_EXTERN(x) vo_functions_t video_out_##x =\
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45 {\
8148
5b39e79af5fe removed get_info, using the same sheme as in libmpcodecs instead
alex
parents: 7876
diff changeset
46 &info,\
4352
ed5b85b713a3 Extensions for video accelerated architecture
nick
parents: 1502
diff changeset
47 preinit,\
4433
df8e0f71cc3c new info for tuning
nick
parents: 4352
diff changeset
48 config,\
4592
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
49 control,\
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 draw_frame,\
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
51 draw_slice,\
1501
d40f2b686846 changes according to -utf8 option, draw_osd() function added
atlka
parents: 616
diff changeset
52 draw_osd,\
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53 flip_page,\
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
54 check_events,\
4592
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
55 uninit\
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56 };
326
f6b5c2dbc88e OSD alpha renderers moved to osd.c
arpi_esp
parents: 31
diff changeset
57
32469
3fef2e17a03f Move osd.[ch] and osd_template.c from libvo to sub.
cigaes
parents: 26739
diff changeset
58 #include "sub/osd.h"
326
f6b5c2dbc88e OSD alpha renderers moved to osd.c
arpi_esp
parents: 31
diff changeset
59
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
60 #endif /* MPLAYER_VIDEO_OUT_INTERNAL_H */