Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 519212 - media-video/mplayer2-9999 media-video/mplayer2-2.0_p20131009-r1 MP_INPUT_BUFFER_PADDING_SIZE too small
Summary: media-video/mplayer2-9999 media-video/mplayer2-2.0_p20131009-r1 MP_INPUT_BUFF...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 2 votes (vote)
Assignee: Nikoli
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2014-08-06 13:41 UTC by Helmut Jarausch
Modified: 2015-03-15 09:21 UTC (History)
13 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patched ebuild (mplayer2-9999.ebuild,10.27 KB, text/plain)
2014-08-06 13:41 UTC, Helmut Jarausch
Details
build.log (build.log,143.82 KB, text/plain)
2014-12-29 23:48 UTC, Gary E. Miller
Details
environment (environment,122.41 KB, text/plain)
2014-12-29 23:48 UTC, Gary E. Miller
Details
patch (bug_519212.patch,400 bytes, patch)
2015-02-12 08:18 UTC, Michael Weber (RETIRED)
Details | Diff
buffer-padding.patch ebuild (mplayer2-2.0_p20131009-r1.ebuild,10.47 KB, text/plain)
2015-02-16 16:31 UTC, Kamen Dokov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Helmut Jarausch 2014-08-06 13:41:22 UTC
Created attachment 382380 [details]
patched ebuild

media-video/mplayer2-9999 needs a patch with recent ffmpeg (at least).
MP_INPUT_BUFFER_PADDING_SIZE has to be set to 32.

A patched ebuild is attached.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-08-07 09:44:38 UTC
Comment on attachment 382380 [details]
patched ebuild

Please attach unified diffs, not complete ebuilds.

--- mplayer2-9999.ebuild        2014-06-10 22:29:13.316490871 +0200
+++ -   2014-08-07 11:44:14.895904123 +0200
@@ -180,6 +180,8 @@
                sed -e "s/mplayer/${PN}/" \
                        -i TOOLS/midentify.sh || die
        fi
+
+       sed -i -e 's/MP_INPUT_BUFFER_PADDING_SIZE 16/MP_INPUT_BUFFER_PADDING_SIZE 32/' libmpdemux/demuxer.h || die
 }

 src_configure() {
Comment 2 jannis 2014-09-19 09:42:18 UTC
Same here for media-video/mplayer2-2.0_p20131009:0/0::gentoo
Comment 3 Gary E. Miller 2014-12-29 23:46:17 UTC
(In reply to jannis from comment #2)
> Same here for media-video/mplayer2-2.0_p20131009:0/0::gentoo

+1
Comment 4 Gary E. Miller 2014-12-29 23:47:48 UTC
dagwood portage # emerge -pqv '=media-video/mplayer2-2.0_p20131009::gentoo'
[ebuild   R   ] media-video/mplayer2-2.0_p20131009  USE="X alsa bluray* cdio dvb dvd dvdnav enca ftp gif iconv ipv6 jack jpeg ladspa lcms libass mmx mng mp3 network opengl oss png pnm postproc pulseaudio pvr quvi shm sse sse2 ssse3 threads unicode v4l vcd vdpau xinerama xscreensaver xv -3dnow -3dnowext (-altivec) (-aqua) -bs2b -cddb -cpudetection -debug -directfb -doc -joystick -libcaca -lirc -md5sum -mmxext -portaudio -radio -samba (-selinux) -symlink -tga -yuv4mpeg" 
dagwood portage # emerge --info '=media-video/mplayer2-2.0_p20131009::gentoo'
Portage 2.2.15 (python 2.7.9-final-0, default/linux/amd64/13.0/desktop, gcc-4.8.4, glibc-2.20-r1, 3.18.1-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.18.1-gentoo-x86_64-Intel-R-_Core-TM-_i7-3630QM_CPU_@_2.40GHz-with-gentoo-2.2
KiB Mem:    32776304 total,    995296 free
KiB Swap:   25599996 total,  25551180 free
Timestamp of tree: Mon, 29 Dec 2014 18:15:01 +0000
sh bash 4.3_p30-r1
ld GNU ld (GNU Binutils) 2.24
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
ccache version 3.2.1 [disabled]
app-shells/bash:          4.3_p30-r1
dev-java/java-config:     2.2.0
dev-lang/perl:            5.20.1-r4
dev-lang/python:          2.7.9-r1, 3.3.5-r1, 3.4.2
dev-util/ccache:          3.2.1-r1
dev-util/cmake:           3.0.2
dev-util/pkgconfig:       0.28-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.6
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.5-r2, 1.10.3-r1, 1.11.6-r1, 1.13.4, 1.14.1
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.4
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.4
sys-devel/make:           4.1-r1
sys-kernel/linux-headers: 3.17-r1 (virtual/os-headers)
sys-libs/glibc:           2.20-r1
Repositories: gentoo multimedia sunrise mva bumblebee voip
Installed sets: @system
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=corei7-avx -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=corei7-avx -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.mirrors.hoobly.com/ rsync://gentoo.gossamerhost.com/gentoo-distfiles/ ftp://mirror.datapipe.net/gentoo http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ ftp://mirror.csclub.uwaterloo.ca/gentoo-distfiles/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/multimedia /var/lib/layman/sunrise /var/lib/layman/mva /var/lib/layman/bumblebee /var/lib/layman/voip"
USE="X a52 aac aacplus aacs acl acpi adns aes aes-ni aesicm aio alsa amazon amd64 amr amrenc ao apng archive ares asyncdns asyncns audacious audiofile avahi avx bash-completion bbswitch bcmath berkdb binary-drivers bluetooth bluray bonjour bookmarks branding btrfs bzip2 cairo calendar capi caps cdaudio cdb cdda cdr celt cgroup chroot cli clucene connman consolekit cracklib crypt cryptsetup cscope ctype cups curl custom-optimization cxx daap dbus dc1394 declarative dirac diskio divx dlz dri dtmf dts dv dvb dvbplayer dvd dvdr dvi ecwj2k egl emboss encode equalizer exif expat extrafilters extras faac faad fam fame fat fdk festival ffmpeg fftw fileinfo filter firefox fits flac flite fontconfig foomaticdb fortran fortune ftp g3dvl gallium gcdmaster gcrypt gd gdbm geoip geoloc geonames geos geotiff gif gimp gkrellm glamor gles gles1 gles2 glib gmath gml gmp gnuplot gnutls gost gpg gpgme gphoto2 gpm grammar grass grilo gs gsl gsm gstreamer gtk gucharmap gutenprint h323 hardened hash hddtemp hfs hostip hpijs http httpd iax iconv icu id3tag imagemagick imlib inkjar inotify introspection ipp iproute2 ipsec ipv6 irc ivr jabber jack java javascript jbig jpeg jpeg2k json krb4 ladspa lame largefile latex lcms ldap less libass libburn libedit libextractor libgcrypt libindicate liblockfile libnotify libsamplerate libsysfs libv4l2 libvisual live lm_sensors logrotate lua lv2 lxc lzo mad manual math matroska mbrola mdadm mdnsresponder-compat mhash midi mkl mmap mmx mng modules mp2 mp3 mp3rtp mp4 mp4live mpeg mpeg2 mplayer mtp multilib music musicbrainz mysql mysqli ncurses netcdf netlink network nfsv4 nfsv41 nls nodrm nominatim nptl nsplugin ntfs nvidia offensive ogdi ogg ogm opencl opencv openexr opengl openmp openssl openvg opus osmesa oss pam pango passwdqc pcap pch pcntl pcre pdf pdfimport perl phar pixmaps plazes plotutil plotutils png pnm policykit posix postproc ppds proj pth pulseaudio pvr python qos qt-static qt3support qt4 quicktime rar raw rdesktop readline realmedia realtime rle rpz rrdtool rtc rtsp run-as-root scanner schroedinger screen script scripts sdl secure-delete server session sftp shm shout simplexml sip sipim skins smi smime smp sndfile snmp sound spamassassin speex spell sqlite srt srtp sse sse2 sse3 sse4_1 sse4_2 ssh ssl ssse3 startup-notification stream svg swat syntax-check syslog taglib tcl tcpd tcpwrapper theora thesaurus threads thumbnail tidy tiff timidity tk tokenizer tools totem transcode truetype tts tunepimp twolame udev udisks unicode upnp upower urandom usb utils uxa v4l v4l2 vaapi vamp vcd vcdinfo vcdx vdpau vdr video vim-syntax visualization vlc vlm vnc vorbis vorbis-psy vpx vxml wav wavpack webkit wifi wikipedia wireshark wma wmf wmp wps wxwidgets x264 xanim xattr xcap xcb xcf xcomposite xface xfce xforms xft xine xinerama xml xmlrpc xmp xorg xosd xpm xrandr xrender xscreensaver xsl xslt xulrunner xv xvfb xvid xvmc yahoo yahoo-geo youtube zephyr zeroconf zip zlib zrtp zvbi" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="canon fuji ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="emu efi-32 efi-64 pc" INPUT_DEVICES="keyboard mouse synaptics evdev roccat_savu" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby20 ruby21 ruby22" SANE_BACKENDS="gphoto2 abaton agfafocus apple artec artec_eplus48u as6e avision bh canon canon630u canon_dr canon_pp cardscan coolscan coolscan2 coolscan3 dc25 dc210 dc240 dell1600n_net dmc epjitsu epson epson2 fujitsu genesys gt68xx hp hp3500 hp3900 hp4200 hp5400 hp5590 hpsj5s hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx leo lexmark ma1509 magicolor matsushita microtek microtek2 mustek mustek_pp mustek_usb nec net niash p5 pie pixma plustek plustek_pp qcam ricoh rts8891 s9036 sceptre sharp sm3600 sm3840 snapscan sp15c st400 stv680 tamarack teco1 teco2 teco3 test u12 umax umax_pp umax1220u xerox_mfp" USERLAND="GNU" VIDEO_CARDS="nouveau nvidia vesa intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

media-video/mplayer2-2.0_p20131009 was built with the following:
USE="X alsa cdio dvb dvd dvdnav enca ftp gif iconv ipv6 jack jpeg ladspa lcms libass mmx mng mp3 network opengl oss png pnm postproc pulseaudio pvr quvi shm sse sse2 ssse3 threads unicode v4l vcd vdpau xinerama xscreensaver xv -3dnow -3dnowext (-altivec) (-aqua) -bluray -bs2b -cddb -cpudetection -debug -directfb -doc -joystick -libcaca -lirc -md5sum -mmxext -portaudio -radio -samba (-selinux) -symlink -tga -yuv4mpeg" ABI_X86="64"
Comment 5 Gary E. Miller 2014-12-29 23:48:29 UTC
Created attachment 392680 [details]
build.log
Comment 6 Gary E. Miller 2014-12-29 23:48:56 UTC
Created attachment 392682 [details]
environment
Comment 7 Michael Weber (RETIRED) gentoo-dev 2015-02-12 08:18:08 UTC
Created attachment 396234 [details, diff]
patch
Comment 8 Kamen Dokov 2015-02-16 16:31:45 UTC
Created attachment 396600 [details]
buffer-padding.patch ebuild

This ebuild seem to work. Mplayer2 compiles and runs, everything seems fine.
Thank you!
Comment 9 Fabiano 2015-03-14 17:36:24 UTC
The guys at Macports applied a similar patch for the fix and it seems to fine for them as well:
https://trac.macports.org/ticket/44386

This has a known fix for quite some months now, is there anything preventing it from getting into the tree?
Comment 10 Nikoli 2015-03-14 18:07:04 UTC
Fabiano, mplayer2 upstream does not accept bugs and does not fix them, there is no activity in VCS repo since 2013-10-09, even home page is down. mplayer2 code base is now forked and developed under "mpv" name, it is mature enough. Recently support for mpv was added to smplayer GUI, also libmpv based media-video/baka-mplayer was added to tree.

So i do not see any reason for investing time and other resources into mplayer2 packages support: suggest removing it from tree.
Comment 11 Fred Krogh 2015-03-14 18:10:07 UTC
So should mpv be regarded as a replacement for mplayer and/or mplayer2?
Comment 12 Fabiano 2015-03-14 18:32:49 UTC
Hi Nikoli, I understand that, but having the package on the tree means people can still use it, and the way it is now we have a broken, unbuildable package on the tree.

People that had been using it for sometime, when updating their system (and updating ffmpeg) will endup with a system that cannot update @world or @preserved-rebuild without unmerge mplayer2.

If the fix will not be applied, I think it should be masked then, better then having building error for the users and having them needing to search on the web to understand why and how to fix it.

As my two cents for mpv, I use both, mpv is not a drop-in replacement, the command-line options are incompatible, I have a number of scripts that work with mplayer2 only, until I have time to migrate the scripts, I will stick with mplayer2.

What I had to do for now is to put the fixed ebuild and patch on my local repo [1].

I don't know the internal gentoo developer process, but I just assumed that if the patch and ebuild are both done it would be simple enough to make them into the tree. Sorry if my assumption is incorrect, in that case I would suggest to add a mask referring to this bug.


Notes:

[1]: For people interested in doing that as well (fixing mplayer2 on your on local repo), here are the steps:

- Create the directories and subdirectories (e.g. with mkdir -p) /usr/local/portage/media-video/mplayer2/files

- Download the ebuild attachment file on this bug to the mplayer2 path you just created

- Download the patch attachment on this bug and copy to the path mplayer2/files you created and rename the file to "buffer-padding.patch"

- Copy the following two files from /usr/portage/media-video/mplayer2/files/ to /usr/local/portage/media-video/mplayer2/files/
    mplayer2-2.0_p20131009_support_libav10.patch
    mplayer2-py2compat.patch

- Run command:
    ebuild /usr/local/portage/media-video/mplayer2/mplayer2-2.0_p20131009-r1.ebuild digest

That's it, you should be able to emerge mplayer2-2.0_p20131009-r1 now. You can also do that with the ebuild command above replacing "digest" for "merge".
Comment 13 Nikoli 2015-03-14 18:56:27 UTC
Fred, for mplayer2 - yes, definitely: most of mplayer2 devs are now mpv devs.

For mplayer: mostly yes, but mplayer upstream still exists (kind of) and theoretically can disagree, but they commit to vcs rarely (relative to mpv) and keep bugs not fixed for years, even when patches exist:
upstream bug https://trac.mplayerhq.hu/ticket/1617 is 5 years old, see also Gentoo bug #489950

Commits during this and previous years:
$ svn log -q svn://svn.mplayerhq.hu/mplayer/trunk|grep ' | 2015-' -c
29
$ svn log -q svn://svn.mplayerhq.hu/mplayer/trunk|grep ' | 2014-' -c
788

$ git log master --oneline --since=2015-01-01 --until=2016-01-01|wc -l
711
$ git log master --oneline --since=2014-01-01 --until=2015-01-01|wc -l
3070

CLI syntaxes of mplayer, mplayer2 and mpv are different, see this:
https://github.com/mpv-player/mpv/blob/master/DOCS/mplayer-changes.rst


Fabiano, the package should have maintainer, if someone wants to maintain mplayer2 in tree or overlay - feel free. My intention is to mask mplayer2 and smplayer2 for removal and remove them from tree after 30 days.
Comment 14 Ben de Groot (RETIRED) gentoo-dev 2015-03-15 09:21:42 UTC
mplayer2 is abandoned and last-rited