18 months agoDon't continue in case of an evLoadSubtitle error.
ib [Thu, 12 Apr 2018 12:53:41 +0000 (12:53 +0000)]
Don't continue in case of an evLoadSubtitle error.

Calling update_set_of_subtitles() in case of a sub_read_file() error
would delete the currently used subtitle instead of loading a new one.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoFix broken evDropSubtitle.
ib [Thu, 12 Apr 2018 12:46:21 +0000 (12:46 +0000)]
Fix broken evDropSubtitle.

Don't free guiInfo.SubtitleFilename, because not necessarily
the loaded guiInfo.SubtitleFilename is requested to be dropped,
but the currently displayed subtitle.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoMake guiInfo.SubtitleFilename available as long as the video plays.
ib [Thu, 12 Apr 2018 12:40:54 +0000 (12:40 +0000)]
Make guiInfo.SubtitleFilename available as long as the video plays.

Don't clear guiInfo.SubtitleFilename with uiUnsetMedia(FALSE),
because media is unset (i.e. prepared) this way whenever a new
file will be loaded for playback which happens *after* loading
a separate subtitle.

So explicitly clear guiInfo.SubtitleFilename only by a full unset
(uiUnsetMedia(TRUE)) and regularly unset it after a playback has
ended (at GUI_END_PLAY).

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoRemove pointless code.
ib [Thu, 12 Apr 2018 12:23:53 +0000 (12:23 +0000)]
Remove pointless code.

Don't use sub_name[] to pass the subtitle name, because the following
call to update_set_of_subtitles() will handle it by using subdata.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoDon't disallow loading a subtitle when playback is stopped.
ib [Thu, 12 Apr 2018 12:18:18 +0000 (12:18 +0000)]
Don't disallow loading a subtitle when playback is stopped.

Actually, a subtitle has to be loaded before the playback.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoDon't use guiInfo.SubtitleFilename as a copy of subdata.
ib [Thu, 12 Apr 2018 12:15:11 +0000 (12:15 +0000)]
Don't use guiInfo.SubtitleFilename as a copy of subdata.

subdata is the file based subtitle currently displayed whereas
guiInfo.SubtitleFilename is a subtitle loaded by evLoadSubtitle.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoAdjust the count of SUB_SOURCE_SUBS when updating set_of_subtitles.
ib [Thu, 12 Apr 2018 11:29:17 +0000 (11:29 +0000)]
Adjust the count of SUB_SOURCE_SUBS when updating set_of_subtitles.

When deleting or adding a subtitle, update not only set_of_sub_size,
but sub_counts[SUB_SOURCE_SUBS] as well. The count will be otherwise

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoRestrict the possibility to load a separate audio track.
ib [Thu, 12 Apr 2018 09:34:27 +0000 (09:34 +0000)]
Restrict the possibility to load a separate audio track.

Allow it only if not already playing.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoFix broken evLoadAudioFile.
ib [Thu, 12 Apr 2018 09:12:55 +0000 (09:12 +0000)]
Fix broken evLoadAudioFile.

It did not work so far. A separately loaded audio track did not play.

guiInfo.AudioFilename must not be cleared by uiUnsetMedia(FALSE),
because media is unset (i.e. prepared) this way whenever a new file
will be loaded for playback which happens *after* loading a separate
audio track.

So explicitly clear guiInfo.AudioFilename only by a full unset
(uiUnsetMedia(TRUE)) and regularly unset it after a playback has
ended (at GUI_END_PLAY).

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoRemove unused variables.
ib [Wed, 11 Apr 2018 12:12:44 +0000 (12:12 +0000)]
Remove unused variables.

They serve no purpose.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoRename parameters.
ib [Wed, 11 Apr 2018 12:05:27 +0000 (12:05 +0000)]
Rename parameters.

It should be easier to understand now.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoRemove the menu item text extensions.
ib [Wed, 11 Apr 2018 11:50:51 +0000 (11:50 +0000)]
Remove the menu item text extensions.

It is completely unnecessary to extend the texts by adding spaces.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoAdd missing (so far blank) menu icons.
ib [Wed, 11 Apr 2018 11:42:58 +0000 (11:42 +0000)]
Add missing (so far blank) menu icons.

The new menu items added in svn r38039, r38040, r38042 and r38047
had a blank dummy icon so far.

Replace the blank icon with an icon symbolizing the respective
menu item:


git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoUpdate the X PixMap dialog icons still required.
ib [Wed, 11 Apr 2018 11:11:31 +0000 (11:11 +0000)]
Update the X PixMap dialog icons still required.

Due to ancient GTK+ code these cannot be replaced
by Portable Network Graphics for the time being,
but they have been carefully optimized by hand.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoCosmetic: Adjust indent.
ib [Wed, 11 Apr 2018 10:39:19 +0000 (10:39 +0000)]
Cosmetic: Adjust indent.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoGet rid of blank_1px.
ib [Wed, 11 Apr 2018 10:37:12 +0000 (10:37 +0000)]
Get rid of blank_1px.

If no icon is required, it is more self-explanatory to pass NULL and
use an empty label instead (which then does not occupy the additional
space of 1 pixel).

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoReplace X PixMap icons by new icons in Portable Network Graphics format.
ib [Wed, 11 Apr 2018 10:26:39 +0000 (10:26 +0000)]
Replace X PixMap icons by new icons in Portable Network Graphics format.

Define the new icons as GdkPixbufs in icons.c and declare them in

Create GtkImages from the GdkPixbufs. GtkImages are now used instead
of GdkPixmaps.

(Most of the changes are purely cosmetic: "xpm" is replaced by "png".)

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoReplace icons "dir2" and "open2" by "dir" and "open".
ib [Thu, 5 Apr 2018 19:30:09 +0000 (19:30 +0000)]
Replace icons "dir2" and "open2" by "dir" and "open".

We don't need these similar icons twice.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoMake AddMenuItem(), AddSubMenu() and AddSeparator() static.
ib [Thu, 5 Apr 2018 13:33:01 +0000 (13:33 +0000)]
Make AddMenuItem(), AddSubMenu() and AddSeparator() static.

They only have file scope.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoChange German translation of MSGTR_GUI_DropSubtitle.
ib [Thu, 5 Apr 2018 13:30:17 +0000 (13:30 +0000)]
Change German translation of MSGTR_GUI_DropSubtitle.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoRename X PixMap files.
ib [Thu, 5 Apr 2018 13:26:10 +0000 (13:26 +0000)]
Rename X PixMap files.

The (sometimes) messy naming of the xpm files has evolved historically.
Bring some order into it by renaming.

Concerning "file" and "file2", we don't need two similar icons. Remove
"file" and rename "file2" "file".

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoFix compilation with new FFmpeg that require generation of filter list
rtogni [Thu, 5 Apr 2018 00:10:18 +0000 (00:10 +0000)]
Fix compilation with new FFmpeg that require generation of filter list

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoPrettify message boxes.
ib [Wed, 4 Apr 2018 18:00:44 +0000 (18:00 +0000)]
Prettify message boxes.

Remove all gtk_widget_set_usize() calls for the icons and
add a small padding.

Remove the gtk_widget_set_usize() call for the message box
if containing a short text and improve the placement and
alignment of the message texts.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoPrettify the file selector dialog.
ib [Wed, 4 Apr 2018 17:42:59 +0000 (17:42 +0000)]
Prettify the file selector dialog.

Increase its height, position it a bit higher
and make the "directory up" button a bit smaller.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoRemove unreasonable gtk_widget_set_usize() calls.
ib [Wed, 4 Apr 2018 17:31:07 +0000 (17:31 +0000)]
Remove unreasonable gtk_widget_set_usize() calls.

These unnecessarily cause extremely small widgets.

Their appearance is more natural now.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoReplace language dependent description of DVD audio channel types.
ib [Wed, 4 Apr 2018 17:22:20 +0000 (17:22 +0000)]
Replace language dependent description of DVD audio channel types.

Use icons instead. (For the time being, but not for long,
everything but "Dolby Digital" lacks a corresponding icon.)

Place the audio channel number with reduced spacing next to the icon.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoEnable an adjustable spacing between pixmap and label.
ib [Wed, 4 Apr 2018 16:40:38 +0000 (16:40 +0000)]
Enable an adjustable spacing between pixmap and label.

Use \b as first character of a label to get
less spacing between pixmap and label.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoComplete the list of DVD audio channel numbers.
ib [Wed, 4 Apr 2018 16:29:06 +0000 (16:29 +0000)]
Complete the list of DVD audio channel numbers.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoUse a language independent notation for DVD audio channel numbers.
ib [Wed, 4 Apr 2018 16:28:24 +0000 (16:28 +0000)]
Use a language independent notation for DVD audio channel numbers.

Use the common numeric notation instead.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoEnable playback menu items only during playback.
ib [Wed, 4 Apr 2018 16:06:03 +0000 (16:06 +0000)]
Enable playback menu items only during playback.

Disable them if the GUI isn't playing, but enable menu item "Play"
even then in case a file has been loaded (and is ready for playback).

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoImplement the (missing) GUI messages evForward* and evBackward*.
ib [Wed, 4 Apr 2018 15:31:27 +0000 (15:31 +0000)]
Implement the (missing) GUI messages evForward* and evBackward*.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoRemove commented code.
ib [Wed, 4 Apr 2018 15:14:07 +0000 (15:14 +0000)]
Remove commented code.

It's obsolete debug and backup code.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoAdd missing GUI messages evIncVolume and evDecVolume to the menu.
ib [Wed, 4 Apr 2018 14:59:22 +0000 (14:59 +0000)]
Add missing GUI messages evIncVolume and evDecVolume to the menu.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoAdd missing GUI message evIconify to the menu.
ib [Wed, 4 Apr 2018 14:53:48 +0000 (14:53 +0000)]
Add missing GUI message evIconify to the menu.

This finally makes use of the passed window type.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoPass window type to the (pop-up) menu.
ib [Wed, 4 Apr 2018 14:46:09 +0000 (14:46 +0000)]
Pass window type to the (pop-up) menu.

This informs the menu which window made it pop up.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoMake use of the window type enumeration constants.
ib [Wed, 4 Apr 2018 14:31:26 +0000 (14:31 +0000)]
Make use of the window type enumeration constants.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoHarmonize Win32 GUI and X11/GTK GUI window types.
ib [Tue, 3 Apr 2018 22:10:39 +0000 (22:10 +0000)]
Harmonize Win32 GUI and X11/GTK GUI window types.

Replace the symbolic constants by the X11/GTK GUI's enumeration

(Now that 0 is a valid window type, set it -1 in case of error.)

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoIntroduce enumeration constants for the different window types.
ib [Tue, 3 Apr 2018 21:53:17 +0000 (21:53 +0000)]
Introduce enumeration constants for the different window types.

Utilize these constants to be able to identify the window
the (pop-up) menu originates from.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoMove menu item "Drop subtitle".
ib [Tue, 3 Apr 2018 16:57:08 +0000 (16:57 +0000)]
Move menu item "Drop subtitle".

Remove it from the group of open menu items and place it at the end of
the group of subtitle menu items.

Additionally, disable it unless a "droppable" subtitle (like a srt file)
is currently selected as active subtitle.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoIntegrate the DVD audio track menu into the ordinary audio track menu.
ib [Tue, 3 Apr 2018 16:42:41 +0000 (16:42 +0000)]
Integrate the DVD audio track menu into the ordinary audio track menu.

It makes no sense to have two different menus for audio tracks
(and a special one for DVDs).

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoCustomize DVD subtitle information to match ordinary subtitle information.
ib [Tue, 3 Apr 2018 16:30:28 +0000 (16:30 +0000)]
Customize DVD subtitle information to match ordinary subtitle information.

Add a track number.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoMake DVD subtitle menu item "(none)" a check menu item.
ib [Tue, 3 Apr 2018 16:18:41 +0000 (16:18 +0000)]
Make DVD subtitle menu item "(none)" a check menu item.

This is supposed to indicate that it is possible to disable DVD

However, in order to disable DVD subtitles, dvdsub_id must be set -2,
because -1 means that a suitable subtitle (e.g. suitable for option
'slang') will be selected.

Consequently, the check cannot be performed using dvdsub_id but has to
be performed using the actual selected subtitle ID stored in MPContext's

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoIntegrate the DVD subtitle menu into the ordinary subtitle menu.
ib [Tue, 3 Apr 2018 15:52:24 +0000 (15:52 +0000)]
Integrate the DVD subtitle menu into the ordinary subtitle menu.

It makes no sense to have two different menus for subtitles
(and a special one for DVDs).

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoMove menu item "Video tracks".
ib [Tue, 3 Apr 2018 11:48:42 +0000 (11:48 +0000)]
Move menu item "Video tracks".

Remove it from the group of audio menu items and
place it at the end of the group of video menu items.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoRearrange menu items "Rotation" and "Aspect ratio".
ib [Tue, 3 Apr 2018 11:33:43 +0000 (11:33 +0000)]
Rearrange menu items "Rotation" and "Aspect ratio".

Place "Rotation" after "Aspect ratio".

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoRearrange the aspect ratio menu items.
ib [Tue, 3 Apr 2018 11:21:13 +0000 (11:21 +0000)]
Rearrange the aspect ratio menu items.

Place 4:3 in front of 16:9.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoMove menu item "Playlist".
ib [Tue, 3 Apr 2018 11:15:38 +0000 (11:15 +0000)]
Move menu item "Playlist".

Place it at the end of the group of playback menu items.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoIncrease buffer lengths.
ib [Tue, 3 Apr 2018 10:58:53 +0000 (10:58 +0000)]
Increase buffer lengths.

Language and subtitle information is often truncated,
so use larger buffers.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoShow original aspect ratio information.
ib [Tue, 3 Apr 2018 10:50:42 +0000 (10:50 +0000)]
Show original aspect ratio information.

If the original aspect ratio is (close to) 4:3, 16:9 or 2.35:1,
add this information in parentheses to the aspect ratio menu item

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoBe more specific about the files added in svn r34568.
ib [Tue, 3 Apr 2018 10:28:11 +0000 (10:28 +0000)]
Be more specific about the files added in svn r34568.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoconfigure: Disable FFmpeg bsf filter_units
al [Wed, 21 Mar 2018 19:08:27 +0000 (19:08 +0000)]
configure: Disable FFmpeg bsf filter_units

Fix build with internal FFmpeg.

At the moment we do not need and not support building
FFmpeg with the cbs subsystem and therefore we must
disable components depending on it.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

18 months agoconfigure: Use pkg-config if freetype-config is unavailable
al [Tue, 20 Mar 2018 00:56:39 +0000 (00:56 +0000)]
configure: Use pkg-config if freetype-config is unavailable

Currently we only try to use freetype-config, but freetype-config
is deprecated by upstream. Starting soon freetype-config will
not be installed by typical freetype builds anymore.

Use pkg-config if freetype-config is not available. This
is identical to how we treat dvdnav-config and dvdread-config.

Fixes ticket #2340

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

19 months agoconfigure: faac, dirac and schroedinger are removed from FFmpeg.
reimar [Sat, 24 Feb 2018 15:23:29 +0000 (15:23 +0000)]
configure: faac, dirac and schroedinger are removed from FFmpeg.

So remove this dead code also from our configure.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

19 months agoconfigure: Fix compilation against latest FFmpeg again.
reimar [Sat, 24 Feb 2018 15:23:27 +0000 (15:23 +0000)]
configure: Fix compilation against latest FFmpeg again.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

20 months agode/mplayer.1: Fix bad encoding of character.
reimar [Mon, 5 Feb 2018 19:30:25 +0000 (19:30 +0000)]
de/mplayer.1: Fix bad encoding of character.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

21 months agodemux_mng,vo_mng: Avoid inclusion of jpeg.h
al [Tue, 16 Jan 2018 20:25:23 +0000 (20:25 +0000)]
demux_mng,vo_mng: Avoid inclusion of jpeg.h

If libmng is compiled with JNG support, it pulls in jpeg.h from
within its public headers. To my knowledge we do not use JNG
directly. This change does not disable the functionality to read
JNG files with demuxer mng.

Primary this helps compilation on current Debian. The header stdio.h
needs to be included before jpeg.h , but that #include is patched out
in Debian's libmng package.

Maybe we should revert this change after Debian (and derived)
packages are fixed.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

21 months agoconfigure: Fix detection for inet_aton function
al [Tue, 9 Jan 2018 21:47:13 +0000 (21:47 +0000)]
configure: Fix detection for inet_aton function

Unbreak the build with internal FFmpeg. The misdetection leads to a
build failure with modern FFmpeg because in that case FFmpeg defines
a static function inet_aton itself.

The program source to test for inet_aton runs into a compile error
because the missing declaration of inet_aton that is treated as
an error by at least GCC with the given CFLAGS. Fix that by
defining _BSD_SOURCE before inclusion of inet/arpa.h .

The headers here indicate that _BSD_SOURCE is deprecated. So fixing
this in configure and/or at least in the MPlayer source files,
that actually use inet_aton, would be a good thing. Those would be:


Maybe like it was done in FFmpeg commit af1818276ef271af98 .

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

21 months agoUpdate year.
ib [Mon, 8 Jan 2018 11:44:45 +0000 (11:44 +0000)]
Update year.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

21 months agomuxer_avi: Remove needless memset to 0 after calloc
al [Sat, 6 Jan 2018 00:54:40 +0000 (00:54 +0000)]
muxer_avi: Remove needless memset to 0 after calloc

The memset calls were originally done after malloc, which was changed
in SVN r18559, to avoid potential integer multiplication overflows.

Patch by >mmcco mykolab com<

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

21 months agoconfigure: Generate negative results for AVX512
al [Thu, 4 Jan 2018 20:12:30 +0000 (20:12 +0000)]
configure: Generate negative results for AVX512

Since AVX512 support was added to FFmpeg the build with internal
FFmpeg was broken.

This unbreaks the build for now. Though detection for AVX512 should
be added later.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

21 months agodocs : typo
compn [Mon, 1 Jan 2018 05:27:29 +0000 (05:27 +0000)]
docs : typo

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

21 months agodocs : loop 0 is good for auto reconnection to live streams
compn [Mon, 1 Jan 2018 05:26:14 +0000 (05:26 +0000)]
docs : loop 0 is good for auto reconnection to live streams

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

21 months agoconfigure: x264: Don't do redundant linking checks
al [Sat, 23 Dec 2017 00:33:10 +0000 (00:33 +0000)]
configure: x264: Don't do redundant linking checks

Since linking against libm was changed in SVN r33885 , this loop
ended up trying the same linking variation in both iterations. This
is really not a big problem, but it's unneeded and can be confusing.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

21 months agoconfigure: MNG: Fix choosing the -l flags for the compiler
al [Fri, 22 Dec 2017 23:47:20 +0000 (23:47 +0000)]
configure: MNG: Fix choosing the -l flags for the compiler

When looping through the variations use the first one that works.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

22 months agoconfigure: Disable FFmpeg AMF encoders
al [Thu, 30 Nov 2017 22:07:54 +0000 (22:07 +0000)]
configure: Disable FFmpeg AMF encoders

Fix build with internal FFmpeg >= FFmpeg commit 9ea6607d29

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

22 months agoPrepare configure for upcoming changes in FFmpeg.
iive [Sun, 26 Nov 2017 01:25:33 +0000 (01:25 +0000)]
Prepare configure for upcoming changes in FFmpeg.

Hardware Acceleration structures are moving
from allcodecs.c to hwaccels.h file.

This code checks the hwaccels.h file first,
if that fails then it checks allcodecs.c file.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

23 months agodemux lavf: mp_read: Propagate EOF
al [Thu, 16 Nov 2017 22:48:59 +0000 (22:48 +0000)]
demux lavf: mp_read: Propagate EOF

Return AVERROR_EOF from mp_read callback, if stream->eof is non-zero.

Fixes ticket #2335

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

23 months agoconfigure: Broaden pattern to disable videotoolbox encoders
al [Tue, 14 Nov 2017 21:56:09 +0000 (21:56 +0000)]
configure: Broaden pattern to disable videotoolbox encoders

Fix build with internal FFmpeg >= FFmpeg commit e7a5249ab1

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

23 months agoconfigure: Detect and use libopenjpeg2 only
al [Sun, 5 Nov 2017 09:51:38 +0000 (09:51 +0000)]
configure: Detect and use libopenjpeg2 only

Since FFmpeg commit 279dc40716 only supports OpenJPEG >= 2.1

As MPlayer only looked for OpenJPEG 1, that would lead
to a build failure if OpenJPEG 1 was found.

The new check uses pkg-config and does not #define OPJ_STATIC
anymore. I am not 100% sure about the latter, because I don't
really understand why we did this. It seems rather weird though.

If anyone understands when and why we need OPJ_STATIC it can
of course be brought back. Though I believe it is a rather
wrong concept to begin with.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

23 months agoconfigure: Remove useless line in helper function contains_item
al [Fri, 3 Nov 2017 00:15:52 +0000 (00:15 +0000)]
configure: Remove useless line in helper function contains_item

When writing the function, I initially wanted to special case
the empty list case and just early return.

Turns out there is no need to do this. Additionally I checked
that "for x in ; do echo body ; done" is defined in POSIX and
will not execute the loop's body.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

23 months agobuild: Adjust to new internal structure of FFmpeg TLS components
al [Thu, 2 Nov 2017 22:20:45 +0000 (22:20 +0000)]
build: Adjust to new internal structure of FFmpeg TLS components

Backward compatibility is retained to make the transition less painful.

The relevant change is in FFmpeg commit 4600b0619a .

Before one could have both GnuTLS and OpenSSL enabled at the same
time and FFmpeg would pick whatever it finds first in the list
of available protocols. This is now impossible and having both
libraries enabled will result in a build failure. But I guess
that feature wasn't that useful anyway...

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

23 months agove_lavc,ae_lavc: Adjust to work with newest FFmpeg again
al [Tue, 31 Oct 2017 22:33:45 +0000 (22:33 +0000)]
ve_lavc,ae_lavc: Adjust to work with newest FFmpeg again

This commit re-enables previously disabled lavc encoders.

The lavc audio encoder had no problems by itself after
my last commit, but could not stay enabled because of
the coupling of the lavcopts option.

Here follows a list of changes done to ve lavc

* Explicitly use 16 as upper limit for vmax_b_frames

  The FF_MAX_B_FRAMES #define was removed from FFmpeg's API.

  It was removed because there is no global limit to the number of
  b frames. While this is the most conservative change to address
  the removal of the #define, it may not be optimal because we do
  not allow for more than 16 b frames.

* Options that now need to be passed to the encoder as AVOption
  - lmin & lmax
  - vrc_strategy
  - vqsquish
  - vqmod_amp & vqmod_freq
  - vrc_eq
  - vrc_buf_aggressivity
  - vrc_init_cplx
  - ibias & pbias
  - border_mask
  - naq
  - gmc
  - vme

* Options that were dropped because they had no effect anymore
  - sc_factor

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

23 months agoconfigure: Fix build with newer FFmpeg
al [Tue, 31 Oct 2017 00:33:19 +0000 (00:33 +0000)]
configure: Fix build with newer FFmpeg

Always enable CONFIG_ADTS_HEADER .

Needed since FFmpeg commit b9d3def9b2cb77eb83542086aa3ac883b4d7efa4 .

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

23 months agoFix compilation with XvMC after FFmpeg version bump.
iive [Sat, 28 Oct 2017 19:43:05 +0000 (19:43 +0000)]
Fix compilation with XvMC after FFmpeg version bump.

Use AV_PIX_FMT_XVMC. It has existed for few years, but
the old deprecated PIX_FMT has been left out for compatibility
and forgotten.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

23 months agoFix build after FFmpeg major bump
al [Sun, 22 Oct 2017 17:53:38 +0000 (17:53 +0000)]
Fix build after FFmpeg major bump

* prefix constants to use AV_ prefix where appropriate
* remove vismv stuff, it is no longer supported as lavc option
* mencoder,libmpcodecs: Disable vf mcdeint, ve lavc and ae lavc

After latest FFmpeg major bumps, vf mcdeint and ve lavc don't
compile anymore. Fixing them is not exactly trivial, that is
why I do not want to do this together with the trivial changes.

Because ae lavc depends on ve lavc I had to disable ae lavc too.

I guess ae lavc could be easily enabled again if the dependency
on ve lavc could be avoided.

Disabling ae lavc and more importantly ve lavc is a major drawback
for mencoder. I hope we can re-enable them soon.

TODO: I left updating the docs for later.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

23 months agoFix build with newer FFmpeg
al [Sat, 21 Oct 2017 14:27:00 +0000 (14:27 +0000)]
Fix build with newer FFmpeg

Disable some bit stream filters (bsf) that require the
coded bit stream (cbs) module.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoRespect a volume change while in ReplayGain playback.
ib [Tue, 10 Oct 2017 18:27:01 +0000 (18:27 +0000)]
Respect a volume change while in ReplayGain playback.

Don't unconditionally reset volume after the end of a ReplayGain
playback. If the user has changed volume in the meantime, proceed
with this new volume.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoCosmetic: Adjust indent.
ib [Tue, 10 Oct 2017 16:57:36 +0000 (16:57 +0000)]
Cosmetic: Adjust indent.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoEnable ReplayGain for files without ReplayGain data.
ib [Tue, 10 Oct 2017 16:56:43 +0000 (16:56 +0000)]
Enable ReplayGain for files without ReplayGain data.

The GUI will receive ReplayGain information from the audio stream, if
such data has been stored in the file. Files without such data do not
have to be modified, if the new configuration file gui.gain is used.

If gui.gain exists, the GUI will read it at startup and expects a plain
text file containing a float value (the ReplayGain) followed by a space
character and a full filename. Later, whenever playing the file with
this name, it will apply the given gain.

Please note, that an entry in gui.gain takes precedence over ReplayGain
data stored in the file, and that it is recommended to sort gui.gain by
descending filenames in order to speed up parsing.

Add listMgr command GAINLIST_ITEM_INSERT to create a sorted linked list
of the filenames and listMgr command GAINLIST_ITEM_FIND for a quick,
binary search.

Additionally, update man pages and add a changelog information.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoRevise German translation of MSGTR_GUI_ReplayGainAdjustment.
ib [Tue, 10 Oct 2017 14:31:51 +0000 (14:31 +0000)]
Revise German translation of MSGTR_GUI_ReplayGainAdjustment.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoEnable skins to leave current volume unchanged at GUI startup.
ib [Mon, 9 Oct 2017 16:25:23 +0000 (16:25 +0000)]
Enable skins to leave current volume unchanged at GUI startup.

Starting with svn r37055, the meaning of zero as a potentiometer's
"default" parameter has changed.

Prior to this revision the volume set before the GUI's startup
remained unchanged with such default (due to a bug), after that
the volume was consequently set to zero.

In order to re-enable the old behavior, i.e. leaving the volume
unchanged at GUI startup, a plain hyphen-minus can be used as
"default" parameter now.

Additionally, update the documentation.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoCosmetic: Adjust indent.
ib [Mon, 9 Oct 2017 14:57:43 +0000 (14:57 +0000)]
Cosmetic: Adjust indent.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoAdd symbol character 'g' for dynamic label variable $g.
ib [Mon, 9 Oct 2017 14:56:14 +0000 (14:56 +0000)]
Add symbol character 'g' for dynamic label variable $g.

It indicates that ReplayGain is currently active and
that playback volume is adjusted.

Additionally, update the documentation.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoMake Win32 GUI's widget renderer more compatible
ib [Mon, 9 Oct 2017 14:46:35 +0000 (14:46 +0000)]
Make Win32 GUI's widget renderer more compatible

The X11/GTK GUI renderer will not draw anything, if the image generated
from a label is empty.

The Win32 GUI renderer always repaints the background of a label image
prior to drawing the image generated from the label itself. Prevent the
renderer from doing this by checking whether there actually will be any
text to be rendered at all. (This is no 100% compatibility, but good
enough for existing skins.)

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoMake ReplayGain options configurable through GUI's preferences dialog.
ib [Mon, 9 Oct 2017 12:51:58 +0000 (12:51 +0000)]
Make ReplayGain options configurable through GUI's preferences dialog.

ReplayGain support can be enabled or disabled.

If it's enabled, an additional adjustment can be selected from within
the allowed range.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoImplement ReplayGain support.
ib [Mon, 9 Oct 2017 09:58:49 +0000 (09:58 +0000)]
Implement ReplayGain support.

If requested and if ReplayGain data is available for the audio stream,
save the current volume and adjust the playback volume accordingly.
When playback ends, restore the previously saved volume.

Additionally, add a changelog information.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoAdd GUI options for ReplayGain support.
ib [Mon, 9 Oct 2017 08:46:09 +0000 (08:46 +0000)]
Add GUI options for ReplayGain support.

The target loudness for ReplayGain is 89 dB which may or may not
be the user's preferred loudness. In order to be able to adjust
the perceived loudness to the user's preference, there is option
'replay_gain_adjustment' together with the simple on-off switch

Additionally, update man pages.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoFix corrupt German man page.
ib [Sun, 8 Oct 2017 06:18:41 +0000 (06:18 +0000)]
Fix corrupt German man page.

The FILES section existed twice,
and both sections were incomplete.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoCosmetic: Adjust indent and spacing.
ib [Sat, 7 Oct 2017 11:51:09 +0000 (11:51 +0000)]
Cosmetic: Adjust indent and spacing.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoFully support cue sheet playlist entries in playlist dialog.
ib [Sat, 7 Oct 2017 11:48:47 +0000 (11:48 +0000)]
Fully support cue sheet playlist entries in playlist dialog.

Playlist entries that originate from a cue sheet playlist, which
hence are only tracks within a single file, do now behave exactly
like ordinary playlist entries which originate from usual files.

It is possible to add new files (both cue and usual ones) or delete
entries (both tracks and usual ones) - even while playing.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoPrepare cue sheet playlist support in playlist dialog.
ib [Sat, 7 Oct 2017 10:57:07 +0000 (10:57 +0000)]
Prepare cue sheet playlist support in playlist dialog.

Add complete original plItem information to the file name and path
which have been converted for display.

Retrieve and use this original information when rebuilding the playlist
(i.e. when appending CLSelected rows).

Playlist items to be newly added can only be real files (the contents
of cue sheet files will be parsed later), so it's enough to add only
original file name and path in this case.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoRevise playlist dialog code.
ib [Sat, 7 Oct 2017 10:01:26 +0000 (10:01 +0000)]
Revise playlist dialog code.

Get rid of unneeded internal columns, and use only the two
necessary columns for file name and path.

As a result, variable definitions can be simplified or removed.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoIncrease size of playlist dialog.
ib [Fri, 6 Oct 2017 17:11:59 +0000 (17:11 +0000)]
Increase size of playlist dialog.

Contents should now be better to read.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoPrettify the playlist dialog.
ib [Fri, 6 Oct 2017 17:02:12 +0000 (17:02 +0000)]
Prettify the playlist dialog.

For all cue sheet playlist entries, add the title to the file name.

This will facilitate orientation, because without the titles, there
is nothing but the same file name repeatedly for all tracks.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoAdd new listMgr command PLITEM_COPY.
ib [Fri, 6 Oct 2017 13:10:09 +0000 (13:10 +0000)]
Add new listMgr command PLITEM_COPY.

It can be used to copy a plItem without
having knowledge of its internal structure.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoAdd new listMgr command PLITEM_FREE.
ib [Fri, 6 Oct 2017 13:00:21 +0000 (13:00 +0000)]
Add new listMgr command PLITEM_FREE.

It can be used to destroy a plItem without
having knowledge of its internal structure.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoCosmetic: Adjust indent.
ib [Fri, 6 Oct 2017 12:51:57 +0000 (12:51 +0000)]
Cosmetic: Adjust indent.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoDefine variable in function scope.
ib [Fri, 6 Oct 2017 12:51:03 +0000 (12:51 +0000)]
Define variable in function scope.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoUpdate listMgr command PLAYLIST_ITEM_FIND.
ib [Fri, 6 Oct 2017 12:44:18 +0000 (12:44 +0000)]
Update listMgr command PLAYLIST_ITEM_FIND.

Structure plItem has been extended in svn r37495.
Compare the members added at that time as well.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2

2 years agoAdd information about improvements of cue sheet playlist playback.
ib [Thu, 5 Oct 2017 12:25:49 +0000 (12:25 +0000)]
Add information about improvements of cue sheet playlist playback.

git-svn-id: svn:// b3059339-0415-0410-9bf9-f77b7e298cf2