Commit Graph

26475 Commits

Author SHA1 Message Date
Uoti Urpala 7159af499c Move static X11 atoms to struct 2008-04-23 13:46:40 +03:00
Uoti Urpala 78172918ff Move vo_screenwidth,vo_screenheight to options struct 2008-04-23 13:46:40 +03:00
Uoti Urpala 432e8ff4a5 Move vo_depthonscreen to x11 struct 2008-04-23 13:46:40 +03:00
Uoti Urpala a2212a71a7 Remove vo_depthonscreen references from non-X VOs
X-specific code uses this global as its internal variable (assuming
that X is initialized if it is set). While using non-X VOs the
variable is not accessed outside the VO. So make those VOs use their
own variables instead of the global vo_depthonscreen.
2008-04-23 13:46:40 +03:00
Uoti Urpala ce76dfdd4a Move vo_dbpp to options struct 2008-04-23 13:46:40 +03:00
Uoti Urpala eaab1ce896 Move vo_dx,vo_dy,vo_dwidth,vo_dheight to vo struct 2008-04-23 13:46:40 +03:00
Uoti Urpala 7521aac665 Move global vo_config_count to vo struct
Remove the global and Add a corresponding field to the vo struct, plus
another which tells whether the LAST config call was successful.The
latter value which tells whether the VO should be properly configured
at the moment seems a better match for the semantics actually needed
in most places where the old value was used. The 'count' field with
the old semantics is not currently used by anything, but I'm leaving
it there for vo drivers which would need those semantics if converted
to use the struct.

Existing uses of the global outside old vo drivers are either converted
to use the struct field or moved inside the vo_xyz() calls (instead of
"if (vo_config_count) vo_flip_page(..." just call vo_flip_page which
will now do nothing if not configured). The removal of the check in
mpcommon.c/update_subtitles() is less trivial than the others, but I
think it shouldn't cause problems.
2008-04-23 13:46:39 +03:00
Uoti Urpala 26039a38e3 Move global mDisplay to x11 state struct 2008-04-23 13:46:34 +03:00
Uoti Urpala acf319b3ed Create a struct for X11 state
Will be used for common data between X11 VOs. The main reasons for
making it a separate struct rather than extra fields in the main VO
struct are that some field definitions need X headers and that the code
keeps basic X state such as the display connection over opening and
closing of individual VOs.
2008-04-23 13:41:07 +03:00
Uoti Urpala d283d5236a x11_common.c: Make some functions static 2008-04-23 13:41:06 +03:00
Uoti Urpala 1ebfddd812 Allocate vo struct with talloc
Also allocate the private vo_xv struct as a child and remove explicit
free() for it.
2008-04-23 13:41:06 +03:00
Uoti Urpala 95a909b4fd Makefile: Compile and link talloc.c 2008-04-23 13:41:06 +03:00
Uoti Urpala 7c0e5e8f99 Make talloc abort() instead of returning NULL
Replace (hopefully) all cases where normally successful allocations
could return NULL with abort(). This should allow skipping most checks
on allocation return values.
2008-04-23 13:41:06 +03:00
Uoti Urpala c0c9b26ff9 Hardcode feature checks in talloc.c
Original talloc build system used autoconf to check for features, most
of which were standard C headers. Assume those always exist. Always
use a workaround for the one non-standard feature (strnlen).
2008-04-23 13:41:06 +03:00
Uoti Urpala 27a30e310e Add the talloc memory allocator
Copy talloc.c and talloc.h from Samba (last changed 2008-04-17 in
commit 7b9a647ebbbe9ec9e1b82b42e3a8916396f91273).
2008-04-23 13:41:06 +03:00
Uoti Urpala bfe569b76e Move vo_ontop to options struct
Add a 'struct vo *vo' argument to the x11_common.c functions that
access the variable so it's available as vo->opts->vo_ontop. To keep
VOs using the old API working create a global vo variable that is set
to the currently used old vo. "vo_ontop" will be #defined to
"global_vo->opts->vo_ontop", and x11_common.h will add defines like
the following when it is included by old VOs:
 #define vo_x11_ontop() vo_x11_ontop(global_vo)
so that they will call the function according to the new declaration.
2008-04-23 13:41:06 +03:00
Uoti Urpala 6c9d09170d vo_gl[2]: Rename conflicting vo_ontop macro
Rename the vo_ontop() macro to vo_gl_ontop(). It caused problems with
other changes because it conflicts with a global variable name (gl2
actually called vo_ontop() as a function and used vo_ontop as an int -
this only worked because vo_ontop was defined as a function-like macro
and use without parentheses didn't trigger replacement).
2008-04-23 13:41:06 +03:00
Uoti Urpala 8ec90e5e4f Add option pointer to vo struct 2008-04-23 13:41:06 +03:00
Uoti Urpala 5045066574 vf.c: malloc+memset -> calloc 2008-04-23 13:41:06 +03:00
Uoti Urpala 9b06b5ed85 Move correct_pts to options struct 2008-04-23 13:41:05 +03:00
Uoti Urpala 0d59f81e54 Add option pointer to vf struct 2008-04-23 13:41:05 +03:00
Uoti Urpala 7039bc090a Add option pointer to demuxers and stheader.h structs 2008-04-23 13:41:05 +03:00
Uoti Urpala d3d12332d6 Declare demuxer *_streams fields with proper types
Give sh_audio_t, sh_video_t and sh_sub_t which before had typedef
names only a matching struct name (without _t) too.
Change the a_streams, v_streams and s_streams demuxer fields from
void * to struct sh_audio *, struct sh_video * and struct sh_sub *.
Remove a now unnecessary cast from mplayer.c.
2008-04-23 13:41:05 +03:00
Uoti Urpala 732ee3474a Move options "vo" and "ao" to common struct 2008-04-23 13:41:05 +03:00
Uoti Urpala 9db0c118d3 Start of new option system
First part of option restructuring. The aim is to move option values
from a huge number of separate globals to a single non-global struct.

This part adds some support for parsing option values into such struct
instances, and moves one example option (fixed-vo) to the struct.
2008-04-23 13:41:05 +03:00
Uoti Urpala f894294bae vo_xv: Free resources in error cases
If preinit() failed after allocating some resources it didn't free
them. Also if preinit() completed but all (if any) calls to config()
failed then uninit() it not free resources. Add checks to uninit() to
make it safe with only a subset of resources allocated, then make it
execute independently of vo_config_count and also make preinit() call
it in error cases.
2008-04-23 13:41:05 +03:00
Uoti Urpala b91826280c vo_xv.c: Make reconfig logic more robust
The previous version was not buggy, but this is easier to see correct.
Now it doesn't depend on options determining num_buffers staying
constant and on vo_config_count.
2008-04-23 13:41:05 +03:00
Uoti Urpala 461264756e vo_xv.c: remove unnecessary #ifdefs and static vars
Combine code unnecessarily split in 3 #ifdef blocks into one block and
change local variables there were pointlessly declared static to
normal ones.

After this vo_xv.c no longer defines any global or static variables.
2008-04-23 13:41:04 +03:00
Uoti Urpala 1756771e51 vo_xv.c: Cosmetic changes
Remove an unnecessary inner scope in a function and separate 'i' loop
counter variable declared in it, reindent.
2008-04-23 13:41:04 +03:00
Uoti Urpala ef874e0f4c Change vo_xv to use new VO API 2008-04-23 13:41:04 +03:00
Uoti Urpala e5e8effca8 Add a context argument to mp_input_add_event_fd callback 2008-04-23 13:41:04 +03:00
Uoti Urpala 1f086d4376 input/input.c: Minor simplification 2008-04-23 13:41:04 +03:00
Uoti Urpala 4176d5b183 vo_xv.c: Remove #if 0 code 2008-04-23 13:41:04 +03:00
Uoti Urpala 8716df2a41 Add context variable to vo_draw_text callback
Add a context variable and rename the function to osd_draw_text. Create
a new vo_draw_text that is a wrapper for VOs using old API.
2008-04-23 13:41:04 +03:00
Uoti Urpala 2bcfe1e077 Add new video driver API
Create new video driver API that has a per-instance context structure
and does not rely on keeping status in global or static variables.
Existing drivers are not yet converted to this API; instead there is a
wrapper which translates calls to them.

In the new API, an old API call vo_functions->xyz(args) is generally
replaced by vo_xyz(vo_instance, args).

The changes to keep the vesa, dxr2 and xover drivers compiling have
not been tested.
2008-04-23 13:41:04 +03:00
Uoti Urpala 3bb140d847 video_out.c: Cosmetic changes
Reformat some code, rename local variable, remove trailing whitespace.
2008-04-23 13:41:03 +03:00
Uoti Urpala de56d2d9f5 Remove variable arguments from vo control() functions
No voctrl uses them any more, and using them would not be a good idea
because it makes forwarding arguments to other functions harder.
2008-04-23 13:41:03 +03:00
Uoti Urpala dbe080ec9f Change VOCTRL_[GET|SET]_EQUALIZER argument passing
These were the only voctrl types with more than one argument. The
second argument was passed using variable arguments. Change them to
use a single argument (address of a struct containing both old
arguments). This makes forwarding the arguments to other functions
easier and allows simplifying code.
2008-04-23 13:41:03 +03:00
attila 530df550e4 revert commits 26437-26439
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26468 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-19 09:58:01 +00:00
diego 7c76c4a6f6 Add dependency information to recursive rules. While more eager than strictly
necessary, this should err on the side of unneeded recursion instead of
missing a necessary rebuild.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26467 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-19 09:53:42 +00:00
diego 883033e8e3 Add missing recursive rule for libmpcodecs/libmpencoders.a.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26466 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-19 09:44:48 +00:00
diego 8c791b38fa cosmetics: Sort recursive rules alphabetically.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26465 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-19 09:43:53 +00:00
diego 9818a95c58 per-file dependencies (for the non-recursive parts)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26464 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-18 22:49:17 +00:00
diego 3f37dff367 Adjust dependency generation prerequisites to new structure.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26463 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-18 21:47:51 +00:00
diego a725babf25 Always generate dependency information. This also allows dropping the
hackish list of incorrect pseudo-dependencies.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26462 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-18 21:46:52 +00:00
ptt 592566cabb synced with r26460
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26461 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-18 17:26:00 +00:00
ptt d91c119677 restore options alphabetical order
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26460 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-18 17:24:49 +00:00
diego bf2814fdf4 Mark phony targets as such.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26459 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-18 08:13:00 +00:00
diego 338b1e9eeb Simplify phony target declaration.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26458 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-18 08:12:41 +00:00
diego 6187c8753b 10l: Rename remaining instances of $i to $lang.
patch by Andrew Savchenko, Bircoph list ru


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26457 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-18 07:16:22 +00:00