1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-25 04:38:01 +00:00
Commit Graph

1366 Commits

Author SHA1 Message Date
Uoti Urpala
0eb321bf2c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
Amar Takhar
e306174952 Translation system changes part 2: replace macros by strings
Replace all MSGTR_ macros in the source by the corresponding English
string.
2009-07-07 01:38:20 +03:00
Amar Takhar
b5972d6f14 Translation system changes part 1: wrap translated strings
Replace mp_msg() calls which have a translated string as the format
argument with mp_tmsg and add _() around all other translated strings.
2009-07-07 01:28:07 +03:00
Uoti Urpala
f48840f820 Fix ordered chapter pruning of redundant timeline parts
Code that was supposed to merge two timeline parts if the second one
started exactly where the first one stopped didn't work because it
mixed timestamps in different units (I had changed the units of some
variables after originally writing that code but forgotten to update
it). As a result of the bug there were unnecessary part switches, but
it was unlikely to cause any serious problems.
2009-05-22 18:25:54 +03:00
Uoti Urpala
1db1773ec2 Merge svn changes up to r29277 2009-05-08 23:50:26 +03:00
Uoti Urpala
b863100784 core: Set mpctx->chapters to NULL at uninit
The uninit code called talloc_free(mpctx->chapters) but didn't clear
the pointer. As a result playing a file with ordered chapters and one
without almost certainly triggered an abort when closing the second
file. Fix by setting the pointer to NULL after freeing.
2009-05-03 21:48:58 +03:00
diego
d0f79295a9 sane verbosity levels for menu initialization
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29231 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-25 12:34:24 +00:00
Uoti Urpala
017fafac44 core: Handle missing timestamp errors a bit better
If there is no timestamp available for a video frame at all, use
timestamp from the previous frame (if any) instead of leaving it as
MP_NOPTS_VALUE. The main practical difference for playback is that
MP_NOPTS_VALUE caused timing to be reset, moving current video
position immediately to time of the next frame that had a timestamp
and thus likely advancing the video too fast. Now the next frame with
a timestamp will be shown at its proper position relative to the
previous timestamp.
2009-04-24 04:00:42 +03:00
Uoti Urpala
0e8c38c19b Merge svn changes up to r29154
Synchronizes runtime CPU detection handling in the build system with
latest FFmpeg.
2009-04-09 02:38:37 +03:00
ramiro
ca242e5f73 Rename RUNTIME_CPUDETECT to CONFIG_RUNTIME_CPUDETECT and always define it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29154 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-08 20:21:21 +00:00
Uoti Urpala
53eeb0e412 Merge branch 'ordered_chapters' 2009-04-08 02:43:44 +03:00
Uoti Urpala
96daf7ed5e Add option -noordered-chapters. 2009-04-08 02:42:19 +03:00
Uoti Urpala
2d91b19956 Support chapter seeking with ordered chapters 2009-04-02 06:51:26 +03:00
Uoti Urpala
f12c83b85b Change demuxer_seek_chapter() parameters
Remove the "num_chapters" and "mode" parameters that aren't needed by
any callers. Change "float *seek_pts" to "double *". Allocate the
string returned via "chapter_name" with talloc.
2009-04-02 06:51:26 +03:00
Uoti Urpala
7db6430959 VO: Don't reset pause status in VO config() functions
Many VOs kept track of pause status, but reset the value when their
config() function was called. However it can be called while playback
stays in pause mode. Modify the VOs to not change anything in
config(). Also send the VO either VOCTRL_PAUSE or VOCTRL_RESUME when
the playback of a new file is starting to make sure they have the
right status.
2009-04-02 06:51:26 +03:00
Uoti Urpala
58497380e5 Initial ordered chapters support
Add basic support for Matroska ordered chapters. The switching between
segments is implemented as a general edit timeline that could also be
used for other purposes.

Some things still need improvement. In particular the current code
does not try to do any proper mapping between audio/video/subtitle
streams of different files and there should be options for better
control of how MPlayer searches other files for the required content.
2009-04-02 06:51:25 +03:00
Uoti Urpala
cf9edda1d3 Merge svn changes up to r29117 2009-04-01 02:43:47 +03:00
Uoti Urpala
0f590fce19 core: Clean up OSD seek info logic
Clean up the code and make the behavior more consistent. Before
bits of the OSD information were triggered in different places, and
various property commands that affect playback position only showed
the seek bar while the main seek command also triggered showing the
percentage in OSD text. Now only the seek and chapter commands trigger
all information and others nothing (which is consistent with most
property behavior).
2009-03-31 19:15:08 +03:00
Uoti Urpala
694c067e19 options: Move osd_level and osd_duration to options struct 2009-03-31 18:24:10 +03:00
reimar
74e6fb2c01 Set the forced_subs_only value correctly whenever a new spudec is created.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29108 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-30 17:05:39 +00:00
Uoti Urpala
73fb23c1cf Add improved relative seek mode
When the new mode is active relative seeks are converted to absolute
ones (current video pts + relative seek amount) and forward/backward
flag before being sent to the demuxer. This mode is used if the
demuxer has set the accurate_seek field in the demuxer struct and
there is a video stream. At the moment the mkv and lavf demuxers
enable the flag.

This change is useful for later Matroska ordered chapter support (and
for more general timelime editing), but also fixes problems in
existing functionality. The main problem with the old mode, where
relative seeks are passed directly to the demuxer, is that the user
wants to seek relative to the currently displayed position but the
demuxer does not know what that position is. There can be an arbitrary
amount of buffering between the demuxer read position and what is
displayed on the screen. In some situations this makes small seeks
fail to move backward at all (especially visible at high playback
speed, when audio needs to be demuxed and decoded further ahead to
fill the output buffers after resampling).

Some container formats that can be used with the lavf demuxer do not
always have reliable timestamps that could be used for unambiguous
absolute seeking. However I made the demuxer always enable the new
mode because it already converted all seeks to absolute ones before
sending them to libavformat, so cases without reliable absolute seeks
were failing already and this should only improve the working cases.
2009-03-24 04:05:04 +02:00
Uoti Urpala
ebcb5a7154 Fix video stream switch code typo
Restore accidentally dropped '!' to fixed-vo test in
reinit_video_chain(). It could have caused some issues when switching
video streams. Probably nobody noticed because files with multiple
video streams are rare.
2009-03-20 03:39:29 +02:00
reimar
062f66bbca Make pausing_keep_force the default for the set_mouse_pos and key_down_event -
different behaviour is unlikely to make sense but it is better to handle
this in input.c instead of adding special cases to mplayer.c and being
able to override the default behaviour at least should not hurt.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28870 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-07 13:25:55 +00:00
Uoti Urpala
66f6f9f076 Merge svn changes up to r28712 2009-02-23 21:00:52 +02:00
diego
8d8646d573 Print the version string after the command line has been parsed.
This allows printing the CPU information when verbose mode is
triggered on the command line.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28691 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-21 17:35:48 +00:00
Uoti Urpala
1e86963828 Merge svn changes up to r28537 2009-02-12 04:17:55 +02:00
diego
cdfafa6999 Add priority support for OS/2 and factorize the Windows priority support.
patch by KO Myung-Hun, komh chollian net


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28520 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-10 15:34:44 +00:00
reimar
a93f56abeb Use SetErrorMode so Windows will not show all kinds of error dialogs
we do not want.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28497 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-09 15:43:51 +00:00
Uoti Urpala
9790f4e6e7 Merge svn changes up to r28461 2009-02-04 00:28:17 +02:00
diego
043159f3bb Do not print a warning if current pts is equal to previous pts.
patch by Dennis Vshivkov, jaimor orcon net nz


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28445 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-01 16:02:19 +00:00
compn
43744a2d0f increase max OSD message size limit
patch by Scaevolus on irc


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28413 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-01 00:00:21 +00:00
Uoti Urpala
dd888b05ff Merge svn changes up to r28366
Contains more changes needed to sync build system with latest FFmpeg.

Conflicts:
	Makefile
	configure
	mplayer.c
2009-01-26 00:58:15 +02:00
diego
2067a1f750 Factorize print_version().
Print CPU information in verbose mode instead of by default.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28360 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-25 20:35:58 +00:00
Uoti Urpala
79e1aa7cc7 Merge svn changes up to r28341
Conflicts:
	configure
	libmpcodecs/native/rtjpegn.c
2009-01-19 00:04:43 +02:00
reimar
9dee994c23 100l, mixed up ao_data.samplerate and ao_data.bps when calculating sleep time.
Fixes stuttering audio when playing audio-only files.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28329 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-16 09:41:26 +00:00
reimar
452cda5332 More #ifdef -> #if
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28324 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-16 08:45:35 +00:00
Uoti Urpala
2b45912684 Fix dvdnav call broken in pause changes 2009-01-15 06:00:38 +02:00
Uoti Urpala
9bcd12fdf5 Merge svn changes up to r28310
The libdvdread4 and libdvdnav directories, which are externals in the
svn repository, are at least for now not included in any form. I added
configure checks to automatically disable internal libdvdread and
libdvdnav if the corresponding directories are not present; if they're
added manually then things work the same as in svn.
2009-01-15 05:57:31 +02:00
Uoti Urpala
d419ecd161 OSD: Ensure that OSD content is drawn in filter-added frames
Move the OSD drawing calls from filter_video() to higher-level code to
ensure that VOs will draw the OSD also in filter-added frames, which
are displayed without a separate call to filter_video().
2009-01-15 01:09:21 +02:00
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