1
0
mirror of https://github.com/mpv-player/mpv synced 2025-04-04 23:40:47 +00:00
Commit Graph

1377 Commits

Author SHA1 Message Date
Uoti Urpala
2d532689fc core: Improve handling of bad timestamps
Rewrite some of the -correct-pts frame generation code. The most
noticeable difference is that video timestamps which jump around but
do not go backwards more than 0.5 seconds will not affect overall
video playback speed. Only larger jumps are treated as timestamp
resets and increase the overall length of the video timeline. This
will hopefully give watchable results for videos which have broken
timestamps or which MPlayer does not demux or otherwise handle
properly.
2009-01-15 00:32:03 +02:00
Uoti Urpala
38a76f7fdf core: Better -nocorrect-pts pause and filter-added frames handling
Rewrite the -nocorrect-pts frame creation code. The new version always
updates the visible frame when seeking while pausing, and supports
filter-added frames. It can not time those properly though.

Now the handling of filter-added frames in MPlayer always uses the new
method independently of the value of correct-pts but MEncoder still
expects the old behavior. Add a global variable that is set under
MEncoder only and change the filters to choose behavior based on that
instead of the correct_pts option.
2009-01-14 03:42:05 +02:00
Uoti Urpala
1f782eb802 core: Set OSD contents better while paused
Handle timing out of OSD messages and set the OSD function symbol to
pause instead of play. The implementation is hackish and should be
cleaned up later with other pause loop changes.
2009-01-14 02:06:14 +02:00
Uoti Urpala
321c93ee99 core: Rewrite some of the A/V sync related code
Notable functionality changes:
* Timing change between any two frames is now accurately limited to
  1/10 of their nominal distance. Previous code did not always use the
  correct duration.
* The status line now keeps showing the same A-V sync value from one
  video frame change to the next. Previously it kept recalculating
  the value using a new audio position but the same video position
  when the status line was updated between video frames. This
  incorrectly showed the video losing sync with audio.
* The status line now displays actual measured A-V difference in
  autosync mode too. The previous code displayed values that
  completely ignored real timing in autosync mode, showing 0 A-V
  difference even when video was significantly behind audio due to
  inadequate decoding speed. The new behavior can make the shown A-V
  values appear more unstable if the audio out has unreliable delay
  measurements (the most likely reason to use autosync), but this is a
  display change rather than a timing quality change.
* Autosync mode now tries to adjust timing by the amount of time
  vo_flip() calls take, so the calls start earlier and finish at the
  time the frame should be shown. Previously non-autosync mode
  adjusted for this but autosync did not.
* The warning about the system being too slow to decode the video in
  realtime is now displayed in autosync mode too.
2009-01-14 02:06:13 +02:00
diego
61f18f2381 Add missing const qualifier to mpctx_get_audio_out function declaration.
This fixes the warning:
mplayer.c:381: warning: return discards qualifiers from pointer target type


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28294 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-10 20:01:47 +00:00
reimar
c9ba917877 Avoid a uselessly high number of wakeups when playing audio-only files.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28220 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-01 10:24:19 +00:00
Uoti Urpala
02efad79a2 Update OSD while paused
When OSD contents change while paused, try to change the OSD drawn in
the currently visible frame. If such OSD updates are not supported
then advance by one frame and draw the OSD normally. Add some support
for OSD redrawing to vo xv.

The new xv code makes a copy of the original frame contents before
drawing the OSD if MPlayer is already paused when the frame is drawn.
If such a copy of the current frame exists then the frame contents can
be restored and a different OSD drawn on top of the same frame.
2008-12-09 04:31:07 +02:00
Uoti Urpala
6fec7ec734 Allow seeking while paused
Screen is now updated immediately (doesn't always work without
correct-pts yet though). Doing audio unpause after the seek reset can
display errors.

Main loop code now checks for possible reasons to stop command
processing instead of relying on each command to also set an explicit
'break' flag.
2008-12-09 04:31:07 +02:00
Uoti Urpala
77c709ad31 Start pause handling changes
Add separate pause_player() / unpause_player functions(), move some
pausing-related state into explicit variables and make commands while
paused not unpause. Not everything works properly while paused yet (no
screen updates etc).
2008-12-09 04:31:07 +02:00
Uoti Urpala
8c144171bb Merge svn changes up to r28087
Conflicts:
	command.c
	libao2/ao_ivtv.c
	libao2/ao_v4l2.c
	libmpcodecs/dec_video.h
	libvo/aspect.h
	libvo/sub.c
	libvo/sub.h
	libvo/vo_directx.c
	libvo/vo_macosx.m
	libvo/vo_quartz.c
	mp_core.h
	mplayer.c
	mplayer.h
	osdep/getch2.h
	osdep/timer.h
2008-12-04 01:55:52 +02:00
diego
0864f92e7a Get rid of pointless 'extern' keywords.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28085 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-12-03 23:01:03 +00:00
reimar
f6b9f42516 Print ID_EXIT and exit reason message in identify mode when exiting.
Patch by rvm [rvm3000 ya com]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28066 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-12-02 19:53:41 +00:00
Uoti Urpala
835511ac39 Merge svn changes up to r28038 2008-11-25 21:12:01 +02:00
reimar
c8993e3c66 Reimplement -endchapter support again for -dump*, it was broken in r25987.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27987 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-11-23 12:45:07 +00:00
Uoti Urpala
e46ce9c0ac Merge svn changes up to r27899 2008-11-06 20:41:40 +02:00
diego
74dd64e71d Add an option that sets initial playback volume.
patch by Reimar and rvm, rvm3000 ya com


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27872 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-31 18:44:45 +00:00
Uoti Urpala
479f5e742f Merge svn changes up to r27841
Conflicts:
	mplayer.c
2008-10-28 04:12:18 +02:00
aurel
97293969b4 Factorize vobsub idx/extradata handling.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27841 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-27 22:51:22 +00:00
aurel
65db2ef944 Avoid calling init_vo_spudec() too early.
(before mpctx->d_sub->sh initialization)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27839 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-27 22:34:33 +00:00
Uoti Urpala
0301309425 Merge svn changes up to 27824
Conflicts:
	cfg-common-opts.h
	libmpcodecs/dec_video.c
	libmpcodecs/vd.c
	libvo/x11_common.h
	mplayer.c
	stream/cache2.c
2008-10-25 05:12:34 +03:00
diego
4d644f513c Replace preprocessor check for WIN32 with checks for __MINGW32__ and __CYGWIN__.
This avoids a pointless indirection that only obscures what is really done.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27761 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-13 16:23:55 +00:00
Uoti Urpala
ebb4abf208 Merge svn changes up to r27682
Addition of the "outdir" suboption to vo_png in svn was reverted
before merging.

Conflicts:
	command.c
	mplayer.c
2008-10-02 05:17:23 +03:00
nicodvb
20e4a74eb5 slave command to get the number of chapters; patch by Kevin DeKorte - kdekorte gmail com
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27667 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-26 21:17:01 +00:00
reimar
e628297bbd Since the pause loop now also runs commands, set mpctx->was_paused
before entering it for more consistency.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27666 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-25 17:42:56 +00:00
reimar
97cf6acdab Add an experimental pausing_keep_force slave mode command prefix
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27665 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-25 17:40:33 +00:00
Uoti Urpala
8ea7eb77fc core: Clean up move-to-next-file logic
The mpctx->eof field was used to also store other reasons to stop
playing the current file besides EOF, and the code didn't properly
distinguish those from EOF. Rename the field to "stop_play" and clean
up some of the code accessing it. Properly separating EOF from other
reasons allows handling file switching better.

Before this commit buffered audio was always drained before moving to
the next file (the only exception when it was NOT drained when
stopping a file was when quitting the player completely). This added
an extra delay when manually moving to the next file as you had to
wait for the currently buffered audio to finish playing before the
next file would start. After this commit audio is only drained if the
file reaches EOF normally; otherwise audio is cut and the next file
starts immediately.
2008-08-13 08:06:26 +03:00
Uoti Urpala
e09fe1ce04 Merge svn changes up to r27458 2008-08-12 15:03:34 +03:00
Uoti Urpala
9425571f41 mplayer.c: #include mplayer.h and access_mpcontext.h
Both declare symbols defined in mplayer.c, so include them to make the
compiler check the declarations match.
2008-08-12 14:57:18 +03:00
Uoti Urpala
cfe2839386 Move some declarations from mplayer.c to proper headers
Declare mp_input_register_options in input.h and
xscreensaver_heartbeat in x11_common.h.
2008-08-12 14:57:18 +03:00
Uoti Urpala
f6dfaf26f8 Make various functions static 2008-08-12 14:57:12 +03:00
diego
ff2a3dd060 Use translatable string instead of hardcoded message for process priority.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27445 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-09 15:45:00 +00:00
Uoti Urpala
17d3e4b36d Merge svn changes up to r27441
Conflicts:

	cfg-common-opts.h
	command.c
	configure
	input/input.c
	libmpcodecs/dec_video.c
	libmpcodecs/vd.c
	libmpdemux/stheader.h
	libvo/sub.c
	libvo/video_out.c
	libvo/vo_xv.c
	libvo/vosub_vidix.c
	libvo/x11_common.c
	libvo/x11_common.h
	mp_core.h
	mplayer.c
	stream/stream.h
2008-08-08 02:13:09 +03:00
diego
e0b1c9a6b7 Give a CONFIG_ prefix to preprocessor directives that lacked one and
change arbitrary prefixes to CONFIG_.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27429 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-07 12:20:50 +00:00
diego
091d352d06 Rename font-related preprocessor directives.
Switch them from a HAVE_ to a CONFIG_ prefix.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27425 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-07 10:36:07 +00:00
diego
141e81cce4 Rename a bunch of miscellaneous preprocessor directives.
Switch them from a HAVE_ to a CONFIG_ prefix.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27423 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-07 08:58:07 +00:00
diego
82f319af62 Change a bunch of X11-specific preprocessor directives.
Switch from a HAVE_ prefix to a CONFIG_ prefix.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27409 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-04 06:16:23 +00:00
diego
02135001b4 Change a bunch of video/audio-output-specific preprocessor directives from
a HAVE_ prefix to a CONFIG_ prefix.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27402 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-03 15:21:40 +00:00
Uoti Urpala
6cce822505 Merge svn changes up to r27399
Conflicts:

	libmpcodecs/vd.c
	libmpcodecs/ve_raw.c
	libvo/video_out.c
	libvo/x11_common.c
	mplayer.c
2008-08-02 22:04:35 +03:00
diego
d17f9943af Rename some preprocessor directives from CONFIG_* to HAVE_* where appropriate;
CONFIG_ prefix for configurable options, HAVE_ for system-dependent stuff.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27391 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-01 20:28:58 +00:00
diego
6138ec05eb Rename preprocessor directive HAVE_MENU --> CONFIG_MENU.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27377 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-30 18:07:19 +00:00
diego
3b31fa5717 Rename two GUI-related preprocessor directives:
HAVE_NEW_GUI --> CONFIG_GUI, HAVE_GTK2_GUI --> CONFIG_GTK2


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27375 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-30 13:44:59 +00:00
Uoti Urpala
04f3909a72 Merge svn changes up to r27374
Conflicts:

	cfg-common-opts.h
	cfg-mplayer.h
	command.c
	configure
	libmpcodecs/dec_video.c
	libmpcodecs/vd.c
	libmpcodecs/vf_vo.c
	libmpdemux/demuxer.h
	libmpdemux/stheader.h
	mp_core.h
	mplayer.c
	stream/stream_radio.c
2008-07-30 16:39:24 +03:00
diego
4b141479da Start unifying names of internal preprocessor directives.
Replace all USE_ prefixes by CONFIG_ prefixes to indicate
options which are configurable.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27373 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-30 12:01:30 +00:00
reimar
f6b9076a6d Use GetTimerMS() instead of time() with srand.
This is more portable and avoids generating the same random numbers
for a whole second (and on MinGW for some unexplainable reason for
almost 10 seconds).

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27353 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-26 21:58:00 +00:00
Uoti Urpala
06c533b167 Fix crash during early exit
Starting MPlayer with options such as "-demuxer help" that exit before
initializing OSD struct would crash at exit because of a reference to
mpctx->osd->sub_font in deinitialization code. Fix by checking that
mpctx->osd is not NULL.

Checking that osd->sub_font is not NULL was unnecessary because
free_font_desc(NULL) is safe.
2008-07-09 20:02:34 +03:00
Uoti Urpala
0f73474fca Fix compilation with dvdnav enabled
Some dvdnav-specific code had not been properly updated after moving
options to option struct and removing global mpctx.
2008-06-26 06:42:03 +03:00
Uoti Urpala
0e85dc0f32 Move global sub_font to OSD struct 2008-06-24 08:29:36 +03:00
Uoti Urpala
dd89386500 Remove unnecessary casts of sh_video->vfilter
The casts were left from the time when the type of sh_video->vfilter
was (unnecessarily) void *. Now that the field has the correct type
the casts are pointless.
2008-06-24 02:03:19 +03:00
Uoti Urpala
a232f564d3 Create a context struct for OSD state
This commit creates the struct and passes it to some functions that
needs to access OSD state but does not yet move much data from globals
to it.

vf_expand accesses the OSD state for rendering purposes outside of the
normal OSD draw time. The way this currently works is suboptimal, but
I did not attempt to clean it up now. To keep things working the same
way vf_expand needs to know the address of the state object to be able
to access the data even in the functions that should normally not need
it. For that purpose this commit adds a VFCTRL to tell vf_expand the
address of the object.
2008-06-24 01:53:58 +03:00
Uoti Urpala
68e70b3ec3 Merge svn changes up to r27092
Conflicts:

	libmpdemux/demuxer.c
	libvo/vo_xv.c
	mencoder.c
2008-06-17 05:04:32 +03:00
reimar
dcd0902bcd Try harder to honour CTRL+C etc. during dumpstream
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27092 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-16 18:42:58 +00:00
diego
ca8d41adb5 Add the ugly HELP_MP_DEFINE_STATIC back, otherwise we produce warnings like
./help_mp.h:21: warning: 'help_text' defined but not used


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27071 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-15 13:37:44 +00:00
diego
da3eec542c Remove pointless HELP_MP_DEFINE_STATIC definition.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27068 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-15 12:56:09 +00:00
Uoti Urpala
af3fcdf2de Merge svn changes up to r27025
Conflicts:

	command.c
	libvo/vosub_vidix.c
	libvo/vosub_vidix.h
	mplayer.c
2008-06-07 19:57:57 +03:00
ben
c71d348a7d Rename some functions as they are mplayer related and not
from libdvdnav public API.



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27018 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-07 12:57:23 +00:00
diego
f9810c0dfb Fix the linking of TOOLS/netstream and TOOLS/vivodump.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26995 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-06 13:28:25 +00:00
Uoti Urpala
d5c868325c Merge svn changes up to r26979
Most of the conflicts are trivial.

Conflicts:

	Makefile
	cfg-mplayer.h
	input/input.c
	libmenu/vf_menu.c
	libmpcodecs/dec_video.c
	libmpcodecs/vf_expand.c
	libmpcodecs/vf_vo.c
	libmpdemux/demux_mkv.c
	libmpdemux/demuxer.c
	libmpdemux/demuxer.h
	libvo/vo_directfb2.c
	libvo/vo_gl.c
	libvo/vo_winvidix.c
	libvo/vo_xv.c
	libvo/vo_xvidix.c
	libvo/vo_xvmc.c
	libvo/x11_common.c
	mplayer.c
	osdep/timer-linux.c
	stream/cache2.c
2008-06-04 08:10:48 +03:00
ben
bc212e3500 Add a slave command to stop stream playback.
Mostly useful when used with -idle mode.
Patch by Mathieu Schroeter ( mathieu dot schroeter at gamesover dot ch )



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26909 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-27 18:39:57 +00:00
reimar
05f93a0054 Re-add (hackish) support for -chapter (only start chapter, end is not supported) with -dumpstream.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26864 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-24 07:47:11 +00:00
reimar
08678c2c6a Avoid crash with video stream switching and -nosound
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26850 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-21 20:46:05 +00:00
Uoti Urpala
a41db36b22 Merge svn changes up to r26783
Conflicts:

	Makefile
	common.mak
	configure
	libmpcodecs/vd_ffmpeg.c
	libmpdemux/demux_mkv.c
	libvo/vo_xv.c
	mplayer.c
2008-05-15 21:19:35 +03:00
ben
c289ff3a72 Delcare a dvdnav-specific input section if the currently played
stream is from such a type.



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26760 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-13 17:26:41 +00:00
eugeni
9440d4aaed Cosmetics: remove some commented code.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26753 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-12 20:40:42 +00:00
eugeni
27cdeb019d Change subtitle selection order by giving "indirect" ways of specifying the
desired subtitle track the least priority.

Selection of displayed subtitles by language (-slang) and default track
attribute is only performed if all other ways have failed. They are not
directly controllable by the user (especially default tracks), therefore they
should not override -sub, -vobsub and even auto-subs.

Based on a patch by Sergey Malkovsky (mplayer.win32_gmail_com).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26752 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-12 20:40:39 +00:00
reimar
7420952caf Request a timer resolution of 1 ms on Windows, the default of
between 10 and 55 ms (depending on OS version) is too inaccurate
for our needs.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26721 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-10 15:03:04 +00:00
Uoti Urpala
8de8be1536 Move input options to option struct 2008-04-30 19:34:48 +03:00
Uoti Urpala
a5fdd8f6f9 input: Move command filedescriptor list to context struct 2008-04-30 14:46:21 +03:00
Uoti Urpala
423b95bf5c input: Move cmd_queue to context struct
Menu instances now also need a input context pointer to queue commands.
2008-04-30 14:46:21 +03:00
Uoti Urpala
bfcb3a7a81 input: Move key filedescriptor list to context struct
The context variable is now passed to VOs too as it's now needed to
add a callback on the X filedescriptor.
2008-04-30 14:46:17 +03:00
Uoti Urpala
66db9ec7d6 Remove INITIALIZED_INPUT from mpctx->initialized_flags
The input functions are never uninited except at exit. Move the uninit
to player exit function and remove the flag.
2008-04-30 13:24:56 +03:00
Uoti Urpala
7b085d4514 input: Move command bind variables to context struct 2008-04-30 13:24:56 +03:00
Uoti Urpala
9e9932d4d7 Create a context for input.c state
Start moving static variables to a context struct. Only autorepeat
state is moved to the struct in this commit.

mp_input_check_interrupt now requires the context variable. Change
stream functions to pass it. It's still stored in a static variable in
stream/.
2008-04-30 13:24:54 +03:00
Uoti Urpala
4237cb821b Move allocation/free of x11 struct to x11_common.c
Allocate the struct in the init function and free in uninit.
2008-04-29 16:22:33 +03:00
Uoti Urpala
06405a5ba5 Move key_fifo_size & doubleclick_time to options struct 2008-04-29 15:52:29 +03:00
Uoti Urpala
77ec83e351 Add a context for mp_fifo
Store data in an allocated context and take it as an argument instead
of using static variables.
2008-04-29 15:36:51 +03:00
Uoti Urpala
986e519fc9 input: Remove separate mp_input_add_event_fd
Use the same mp_input_add_key_fd for all uses and add a context
argument to its callback that was before only in the event fd
callbacks. Instead of checking in input.c whether keys were inserted
to the keypress FIFO during the callback do the check in the callback
before returning and set return value accordingly.
2008-04-29 12:55:23 +03:00
Uoti Urpala
eaf7857b7f timers: Remove GetRelativeTime()
Move the code calculating time delta since last query out of the
platform-specific drivers and into mplayer.c. The platform-specific
drivers now return absolute values only.

The way the code in timer-darwin.c uses doubles in wrapping arithmetic
looks questionable and this change might make problems in it more
visible.
2008-04-28 12:18:45 +03:00
Uoti Urpala
37e1edee35 Move initialized_flags to mpctx
The function exit_sighandler had a line
  if(initialized_flags==0 && sig_count>1) exit(1);
rather than try to make this work without the variable I just removed
the line as it looks unlikely this condition would occur except very
rarely.
2008-04-26 15:31:39 +03:00
Uoti Urpala
80d43e8632 Move global filename to mpctx 2008-04-26 15:17:51 +03:00
Uoti Urpala
ae0f9e2658 Disable automatic playlist parsing properly
The playlist code is unsafe to use with potentially hostile sources.
It was disabled by default for local files but not for network streams.
Make sure it is not automatically triggered for network streams either.
2008-04-26 14:04:55 +03:00
Uoti Urpala
529d106627 Silence "discards qualifiers" warnings when compiling mplayer.c
Add casts to subconfig entries in option lists to avoid the excessive
amount of "initialization discards qualifiers from pointer target
type" warnings. Also add const to the type of mpctx_get_audio_out to
eliminate a warning and make it match the type in the header (svn
r25793 had added a const to the header but not mplayer.c). Make
libmenu_vfs a table of pointers to const to eliminate another warning
plus make the table itself const.
2008-04-26 11:03:12 +03:00
Uoti Urpala
fb33e286b5 Move global mconfig to mpctx
The global was used in the function cfg_include which handles the
-include option. Make the address available in that function by
creating a new dynamically allocated option in m_config_new that has
the address in the option's private data.

asxparser.c also used the global. Making it available through all ways
the code could get called required a number of relatively straightforward
changes to playtree and menu code.
2008-04-26 10:44:59 +03:00
Uoti Urpala
2b47fd59ab Merge svn changes up to r26540
Conflicts:

	Makefile
2008-04-26 09:39:09 +03:00
Uoti Urpala
0885f4e5b5 Move vf_settings to options struct 2008-04-26 01:19:29 +03:00
Uoti Urpala
bb679dd40a Remove global vo_flags
Move the information to struct sh_video field.
2008-04-25 07:15:07 +03:00
Uoti Urpala
0e757bf9da Remove _s/_st suffix from some struct names
Since the names are always used after the keyword "struct" having a
suffix as in "struct demuxer_st" is almost completely pointless.
2008-04-25 03:34:22 +03:00
corey
83f1331817 use existing MSGTR_FilefmtFourccSizeFpsFtime translatable string macro
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26511 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-23 20:14:14 +00:00
Uoti Urpala
c510959da5 Remove some unnecessary recursive includes
Remove some #include lines from headers, some of those removals made
possible by using incomplete struct types instead of typedefs. Include
mp_osd.h in mplayer.c and command.c after removing it from mp_core.h.
Remove "#ifdef USE_ASS" around some "struct ass_track_s *" fields
which will now compile even without ASS support.
2008-04-23 13:48:38 +03:00
Uoti Urpala
66bd120a3a Move dvdsub_id to options struct
Name the field "sub_id" as it's not specific to DVD subs.

Remove some other unused extern declarations together with dvdsub_id
from demux_mkv.c and demux_lavf.c.
2008-04-23 13:48:38 +03:00
Uoti Urpala
c0c914effd Move audio_id and video_id to options struct 2008-04-23 13:48:38 +03:00
Uoti Urpala
f518cf7ea9 Add option pointer to stream struct (at least temporarily)
The stream code does not access many option variables directly, but it
does access some such as audio_id and network_bandwidth (and does that
without including proper headers for them). Add option pointer to the
stream struct to allow access to those variables. Remove the unused
(always NULL) and clumsy-looking char** options parameter in the
open_stream call and replace it with the option pointer. The parameter
is currently only set in the main open_stream() call in MPlayer.c and
not in any other locations that can open a stream.

In the long term it might be better to pass a more limited set of
values somehow, but this should do for now.
2008-04-23 13:48:38 +03:00
Uoti Urpala
d9aa368a6d Move playback_speed to options struct 2008-04-23 13:48:37 +03:00
Uoti Urpala
3ee6503a07 Move global rel_seek_secs and abs_seek_pos to mpctx 2008-04-23 13:48:37 +03:00
Uoti Urpala
c1f9fe7d67 Remove static mpctx from mplayer.c
Pass it in function calls instead. There's no reasonable way to pass
it to exit_player() when used outside mplayer.c. However most of those
uses seem to be wrong (the code should not make the program exit) and
should be removed. For now just make exit_player() uses outside
mplayer.c simply call exit() without any shutdown code.
2008-04-23 13:48:33 +03:00
Uoti Urpala
ef74d21b1f Move loop_times to option struct 2008-04-23 13:47:44 +03:00
Uoti Urpala
67778746ce Remove pointless #ifdefs
These #ifdefs only made MPContext 2 variables smaller when dvbin
support was disabled.
2008-04-23 13:47:43 +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
8ec90e5e4f Add option pointer to vo struct 2008-04-23 13:41:06 +03:00