summaryrefslogtreecommitdiffstats
path: root/mplayer.c
Commit message (Collapse)AuthorAgeFilesLines
* Replace libavutil internal header #includes with MPlayer copiesUoti Urpala2009-07-261-1/+1
| | | | | | Change #include lines for libavutil/intreadwrite.h, libavutil/bswap.h and libavutil/x86_cpu.h to use the MPlayer file under ffmpeg_files/ instead.
* Remove the internal GUIAnton Khirnov2009-07-071-268/+5
| | | | | | | | | The GUI is badly designed and too closely coupled to the internal details of other code. The GUI code is in bad shape and unmaintained for years. There is no indication that anyone would maintain it in the future either. Even if someone did volunteer to implement a better integrated GUI having the current code in the tree probably wouldn't help much. So get rid of it.
* Merge svn changes up to r29412Uoti Urpala2009-07-071-2/+3
|\
| * Make ID_SEEKABLE depend on both the stream and the demuxer being seekable,reimar2009-05-311-1/+2
| | | | | | | | | | | | | | | | | | instead of only depending on the stream. This makes the value correctly 0 e.g. for AVI files without index. Patch by Jason Tackaberry [tack urandom ca] git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29331 b3059339-0415-0410-9bf9-f77b7e298cf2
| * 100l, demuxer info tags are _not_ case sensitive, so use strcasecmp.reimar2009-05-301-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29329 b3059339-0415-0410-9bf9-f77b7e298cf2
| * whitespace cosmetics: Remove all trailing whitespace.diego2009-05-131-91/+91
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Remove trailing whitespace from most filesUoti Urpala2009-07-071-84/+84
| |
* | Translation system changes part 2: replace macros by stringsAmar Takhar2009-07-071-70/+116
| | | | | | | | | | Replace all MSGTR_ macros in the source by the corresponding English string.
* | Translation system changes part 1: wrap translated stringsAmar Takhar2009-07-071-70/+70
| | | | | | | | | | Replace mp_msg() calls which have a translated string as the format argument with mp_tmsg and add _() around all other translated strings.
* | Fix ordered chapter pruning of redundant timeline partsUoti Urpala2009-05-221-5/+8
| | | | | | | | | | | | | | | | | | 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.
* | Merge svn changes up to r29277Uoti Urpala2009-05-081-4/+4
|\|
| * sane verbosity levels for menu initializationdiego2009-04-251-4/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29231 b3059339-0415-0410-9bf9-f77b7e298cf2
* | core: Set mpctx->chapters to NULL at uninitUoti Urpala2009-05-031-0/+1
| | | | | | | | | | | | | | 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.
* | core: Handle missing timestamp errors a bit betterUoti Urpala2009-04-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge svn changes up to r29154Uoti Urpala2009-04-091-1/+1
|\| | | | | | | | | Synchronizes runtime CPU detection handling in the build system with latest FFmpeg.
| * Rename RUNTIME_CPUDETECT to CONFIG_RUNTIME_CPUDETECT and always define it.ramiro2009-04-081-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29154 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge branch 'ordered_chapters'Uoti Urpala2009-04-081-55/+410
|\ \
| * | Add option -noordered-chapters.Uoti Urpala2009-04-081-0/+6
| | |
| * | Support chapter seeking with ordered chaptersUoti Urpala2009-04-021-3/+52
| | |
| * | Change demuxer_seek_chapter() parametersUoti Urpala2009-04-021-2/+2
| | | | | | | | | | | | | | | | | | 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.
| * | VO: Don't reset pause status in VO config() functionsUoti Urpala2009-04-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Initial ordered chapters supportUoti Urpala2009-04-021-19/+311
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | core: Clean up OSD seek info logicUoti Urpala2009-03-311-26/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * | options: Move osd_level and osd_duration to options structUoti Urpala2009-03-311-10/+13
| | |
| * | Add improved relative seek modeUoti Urpala2009-03-241-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge svn changes up to r29117Uoti Urpala2009-04-011-1/+4
|\ \ \ | |/ / |/| / | |/
| * Set the forced_subs_only value correctly whenever a new spudec is created.reimar2009-03-301-1/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29108 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Make pausing_keep_force the default for the set_mouse_pos and key_down_event -reimar2009-03-071-2/+1
| | | | | | | | | | | | | | | | | | 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
* | Fix video stream switch code typoUoti Urpala2009-03-201-1/+1
| | | | | | | | | | | | | | 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.
* | Merge svn changes up to r28712Uoti Urpala2009-02-231-1/+2
|\|
| * Print the version string after the command line has been parsed.diego2009-02-211-1/+2
| | | | | | | | | | | | | | | | 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
* | Merge svn changes up to r28537Uoti Urpala2009-02-121-13/+8
|\|
| * Add priority support for OS/2 and factorize the Windows priority support.diego2009-02-101-13/+6
| | | | | | | | | | | | | | patch by KO Myung-Hun, komh chollian net git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28520 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use SetErrorMode so Windows will not show all kinds of error dialogsreimar2009-02-091-0/+2
| | | | | | | | | | | | we do not want. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28497 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28461Uoti Urpala2009-02-041-7/+7
|\|
| * Do not print a warning if current pts is equal to previous pts.diego2009-02-011-2/+2
| | | | | | | | | | | | | | patch by Dennis Vshivkov, jaimor orcon net nz git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28445 b3059339-0415-0410-9bf9-f77b7e298cf2
| * increase max OSD message size limitcompn2009-02-011-6/+6
| | | | | | | | | | | | | | patch by Scaevolus on irc git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28413 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28366Uoti Urpala2009-01-261-42/+1
|\| | | | | | | | | | | | | | | | | Contains more changes needed to sync build system with latest FFmpeg. Conflicts: Makefile configure mplayer.c
| * Factorize print_version().diego2009-01-251-42/+1
| | | | | | | | | | | | | | 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
* | Merge svn changes up to r28341Uoti Urpala2009-01-191-8/+8
|\| | | | | | | | | | | Conflicts: configure libmpcodecs/native/rtjpegn.c
| * 100l, mixed up ao_data.samplerate and ao_data.bps when calculating sleep time.reimar2009-01-161-1/+1
| | | | | | | | | | | | | | Fixes stuttering audio when playing audio-only files. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28329 b3059339-0415-0410-9bf9-f77b7e298cf2
| * More #ifdef -> #ifreimar2009-01-161-7/+7
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28324 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Fix dvdnav call broken in pause changesUoti Urpala2009-01-151-1/+1
| |
* | Merge svn changes up to r28310Uoti Urpala2009-01-151-1/+4
|\| | | | | | | | | | | | | | | 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.
| * Add missing const qualifier to mpctx_get_audio_out function declaration.diego2009-01-101-1/+1
| | | | | | | | | | | | | | | | 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
| * Avoid a uselessly high number of wakeups when playing audio-only files.reimar2009-01-011-1/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28220 b3059339-0415-0410-9bf9-f77b7e298cf2
* | OSD: Ensure that OSD content is drawn in filter-added framesUoti Urpala2009-01-151-5/+7
| | | | | | | | | | | | 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().
* | core: Improve handling of bad timestampsUoti Urpala2009-01-151-68/+64
| | | | | | | | | | | | | | | | | | | | | | 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.
* | core: Better -nocorrect-pts pause and filter-added frames handlingUoti Urpala2009-01-141-51/+69
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | core: Set OSD contents better while pausedUoti Urpala2009-01-141-2/+8
| | | | | | | | | | | | 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.
* | core: Rewrite some of the A/V sync related codeUoti Urpala2009-01-141-82/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Update OSD while pausedUoti Ur