diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/CHANGELOG ps3mediaserver-1.54.00+git+mencoder34587/CHANGELOG --- ps3mediaserver-1.53.99+git+mencoder34587/CHANGELOG 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/CHANGELOG 2012-06-26 21:45:17.000000000 +0000 @@ -1,12 +1,28 @@ Changelog: ========== -1.54.0 - 2012-??-?? +1.54.1 - 2012-??-?? + + Optimized CBRVideoBitrate value for Panasonic TVs (thanks, ExSport!) + Language updates: + - Catalan translation update (thanks, aseques) + +1.54.0 - 2012-06-25 Added LPCM transcoding option for all audio tracks Added DTS HD-MA support up to 7.1 channels: DTS core remux, LPCM and AC3 transcoding Added Dolby TrueHD support up to 7.1 channels: LPCM (recommended) and AC3 (buggy for 7.1) transcoding Added workaround for 2.0 384 kbits AC3 PS3 audio bug + Added support for DirecTV HR series (thanks, DeFlanko!) + Added support for LG's Smart TV Upgrader (LG 600ST) + Added support for Yamaha RX-V671 (thanks, adresd!) + Added support for OPPO BDP-83 and OPPO BDP-93 (thanks, adresd!) + Fixed bug that occurred when resetting cache + Made buffer display in megabytes instead of bytes + Fixed overscan compensation bug on some renderers (thanks to tMH for reporting the bug!) + Updated MPlayer for OSX to SB32 + Language updates: + - CZE translation update (thanks, valib) 1.53.0 - 2012-06-11 diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/contrib/binaries-deps-versions ps3mediaserver-1.54.00+git+mencoder34587/contrib/binaries-deps-versions --- ps3mediaserver-1.53.99+git+mencoder34587/contrib/binaries-deps-versions 2012-06-13 21:02:40.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/contrib/binaries-deps-versions 2012-06-27 08:34:56.000000000 +0000 @@ -41,6 +41,6 @@ VERSION_TSMUXER=1.10.6 VERSION_X264=r2197 VERSION_XVID=1.3.2 -VERSION_ZLIB=1.2.5 +VERSION_ZLIB=1.2.7 VERSION_YASM=1.2.0 diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/contrib/build-pms-binaries.sh ps3mediaserver-1.54.00+git+mencoder34587/contrib/build-pms-binaries.sh --- ps3mediaserver-1.53.99+git+mencoder34587/contrib/build-pms-binaries.sh 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/contrib/build-pms-binaries.sh 2012-06-26 21:45:17.000000000 +0000 @@ -410,7 +410,7 @@ UNZIP=`check_binary unzip` if is_osx; then - GCC2=$GCC + GCC2=`check_binary gcc` HDID=`check_binary hdid` HDIUTIL=`check_binary hdiutil` else @@ -1330,8 +1330,8 @@ # OSX # Flags for compiling mplayer - export CFLAGS="-O4 -fomit-frame-pointer -pipe -mmacosx-version-min=${OSX_VERSION} -arch $ARCHITECTURE -I$TARGET/include" - export CXXFLAGS="-O4 -fomit-frame-pointer -pipe mmacosx-version-min=${OSX_VERSION} -arch $ARCHITECTURE -I$TARGET/include" + export CFLAGS="-O1 -fomit-frame-pointer -pipe -mmacosx-version-min=${OSX_VERSION} -arch $ARCHITECTURE -I$TARGET/include" + export CXXFLAGS="-O1 -fomit-frame-pointer -pipe mmacosx-version-min=${OSX_VERSION} -arch $ARCHITECTURE -I$TARGET/include" export LDFLAGS="-mmacosx-version-min=${OSX_VERSION} -arch $ARCHITECTURE -L$TARGET/lib" # /usr/bin/gcc gives compile errors for MPlayer on OSX Lion. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/contrib/download-pms-binaries-source.sh ps3mediaserver-1.54.00+git+mencoder34587/contrib/download-pms-binaries-source.sh --- ps3mediaserver-1.53.99+git+mencoder34587/contrib/download-pms-binaries-source.sh 2012-06-13 21:02:40.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/contrib/download-pms-binaries-source.sh 2012-06-27 08:34:56.000000000 +0000 @@ -156,7 +156,7 @@ FILENAME=`echo $URL | $SED "s/.*\///g"` if is_osx; then - $CURL -L $URL > $FILENAME + $CURL -L -O $URL else $WGET $URL fi diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/contrib/mplayer.patch ps3mediaserver-1.54.00+git+mencoder34587/contrib/mplayer.patch --- ps3mediaserver-1.53.99+git+mencoder34587/contrib/mplayer.patch 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/contrib/mplayer.patch 2012-06-26 21:45:17.000000000 +0000 @@ -373,8 +373,8 @@ + return 0; + } + -+ if (sh->ds->demuxer->filename) -+ GetFullPathNameA(sh->ds->demuxer->filename, MAX_PATH, fname, NULL); ++// if (sh->ds->demuxer->filename) ++// GetFullPathNameA(sh->ds->demuxer->filename, MAX_PATH, fname, NULL); + + if (!(dsn.codec = dsn.DSOpenVideoCodec(sh->codec->dll, sh->codec->guid, sh->bih, + sh->codec->outfmt[sh->outfmtidx], sh->fps, fname, &err))) diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/changelog ps3mediaserver-1.54.00+git+mencoder34587/debian/changelog --- ps3mediaserver-1.53.99+git+mencoder34587/debian/changelog 2012-06-14 11:03:16.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/changelog 2012-06-30 20:15:32.000000000 +0000 @@ -1,8 +1,33 @@ -ps3mediaserver (1.53.99+git+mencoder34587-1oneiric1) oneiric; urgency=low +ps3mediaserver (1.54.00+git+mencoder34587-1oneiric1) oneiric; urgency=low * Oneiric backport - -- I. Sokolov Thu, 14 Jun 2012 15:00:45 +0400 + -- I. Sokolov Sun, 01 Jul 2012 00:11:43 +0400 + +ps3mediaserver (1.54.00+git+mencoder34587-1) oneiric; urgency=low + + * New upstream release 1.54.00 (https://github.com/ps3mediaserver/ps3mediaserver/blob/master/CHANGELOG) + + -- I. Sokolov Wed, 27 Jun 2012 12:21:47 +0400 + +ps3mediaserver (1.53.99+git+mencoder34587-4) oneiric; urgency=low + + * Do not monitor forked process in upstart script + * APPLICATION_OPTS renamed back to DAEMON_OPTS + + -- I. Sokolov Fri, 22 Jun 2012 10:43:54 +0400 + +ps3mediaserver (1.53.99+git+mencoder34587-3) oneiric; urgency=high + + * Removed old init.d calls from postinst script + + -- I. Sokolov Tue, 19 Jun 2012 09:25:10 +0400 + +ps3mediaserver (1.53.99+git+mencoder34587-2) oneiric; urgency=low + + * New upstart script + + -- I. Sokolov Fri, 15 Jun 2012 20:17:53 +0400 ps3mediaserver (1.53.99+git+mencoder34587-1) oneiric; urgency=low diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/autoupdate-and-confdir.patch ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/autoupdate-and-confdir.patch --- ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/autoupdate-and-confdir.patch 2012-03-19 20:22:04.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/autoupdate-and-confdir.patch 2012-06-27 09:36:03.000000000 +0000 @@ -1,7 +1,7 @@ Description: Disable autoupdating and change profile dir to ps3mediaserver --- a/src/main/java/net/pms/configuration/Build.java +++ b/src/main/java/net/pms/configuration/Build.java -@@ -19,7 +19,7 @@ +@@ -18,7 +18,7 @@ private static final String UPDATE_SERVER_URL = REPO + "/master/src/main/external-resources/update/update_3.properties"; // if false, manual and automatic update checks are unconditionally disabled @@ -10,7 +10,7 @@ /** * the name of the subdirectory under which PMS config files are stored for this build. -@@ -49,7 +49,7 @@ +@@ -48,7 +48,7 @@ * @return The profile directory name */ diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/debug-log-path.patch ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/debug-log-path.patch --- ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/debug-log-path.patch 2012-03-19 20:18:53.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/debug-log-path.patch 2012-06-27 09:35:45.000000000 +0000 @@ -3,7 +3,7 @@ Author: Papa Issa DIAKHATE --- a/src/main/java/net/pms/logging/DebugLogPathDefiner.java +++ b/src/main/java/net/pms/logging/DebugLogPathDefiner.java -@@ -53,22 +53,22 @@ +@@ -52,22 +52,22 @@ // Check if current directory is writable. // XXX dir.canWrite() has issues on Windows, so verify it directly: // http://hyperic.allrightname.com/javadoc/hq-util/org/hyperic/util/file/FileUtil.html#canWrite%28java.io.File%29 diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/media-database-path.patch ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/media-database-path.patch --- ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/media-database-path.patch 2012-06-13 17:12:45.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/media-database-path.patch 2012-06-27 09:36:28.000000000 +0000 @@ -2,7 +2,7 @@ Author: Papa Issa DIAKHATE --- a/src/main/java/net/pms/dlna/DLNAMediaDatabase.java +++ b/src/main/java/net/pms/dlna/DLNAMediaDatabase.java -@@ -74,7 +74,7 @@ +@@ -66,7 +66,7 @@ private final int SIZE_GENRE = 64; public DLNAMediaDatabase(String name) { diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/path-to-mediainfo-lib.patch ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/path-to-mediainfo-lib.patch --- ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/path-to-mediainfo-lib.patch 2012-06-13 17:09:55.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/path-to-mediainfo-lib.patch 2012-06-27 09:35:16.000000000 +0000 @@ -1,6 +1,6 @@ --- a/src/main/java/net/pms/dlna/MediaInfo.java +++ b/src/main/java/net/pms/dlna/MediaInfo.java -@@ -51,17 +51,7 @@ +@@ -44,17 +44,7 @@ libraryName = "mediainfo64"; } else { libraryName = "mediainfo"; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/PMS.sh.patch ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/PMS.sh.patch --- ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/PMS.sh.patch 2012-06-13 17:29:34.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/PMS.sh.patch 2012-06-27 09:39:17.000000000 +0000 @@ -5,7 +5,7 @@ #!/bin/sh -CMD=`readlink -f $0` --DIRNAME=`dirname $CMD` +-DIRNAME=`dirname "$CMD"` - -# OS specific support (must be 'true' or 'false'). -cygwin=false; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/project-properties.patch ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/project-properties.patch --- ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/project-properties.patch 2012-06-13 20:52:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/project-properties.patch 2012-06-27 08:24:24.000000000 +0000 @@ -11,7 +11,7 @@ -project.logback=logback.xml -project.logback.headless=logback.headless.xml +project.name=PS3 Media Server -+project.version=1.53.99-mencoder34587-1 (ppa:happy-neko) ++project.version=1.54.00-mencoder34587-1 (ppa:happy-neko) +project.renderers.dir=/etc/ps3mediaserver/renderers +project.binaries.dir=/usr/lib/ps3mediaserver/linux +project.documentation.dir=/usr/share/doc/ps3mediaserver/documentation diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/remove-unstable-warning.patch ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/remove-unstable-warning.patch --- ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/remove-unstable-warning.patch 2012-06-13 17:13:14.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/remove-unstable-warning.patch 2012-06-27 09:36:58.000000000 +0000 @@ -1,7 +1,7 @@ Description: Remove unstable warning in window title --- a/src/main/java/net/pms/newgui/LooksFrame.java +++ b/src/main/java/net/pms/newgui/LooksFrame.java -@@ -270,11 +270,6 @@ +@@ -247,11 +247,6 @@ String projectVersion = PropertiesUtil.getProjectProperties().get("project.version"); String title = projectName + " " + projectVersion; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/rollback-mplayer.patch-to-SB22.patch ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/rollback-mplayer.patch-to-SB22.patch --- ps3mediaserver-1.53.99+git+mencoder34587/debian/patches/rollback-mplayer.patch-to-SB22.patch 2012-06-13 15:22:18.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/patches/rollback-mplayer.patch-to-SB22.patch 2012-06-27 09:34:29.000000000 +0000 @@ -506,8 +506,8 @@ -+ return 0; -+ } -+ --+ if (sh->ds->demuxer->filename) --+ GetFullPathNameA(sh->ds->demuxer->filename, MAX_PATH, fname, NULL); +-+// if (sh->ds->demuxer->filename) +-+// GetFullPathNameA(sh->ds->demuxer->filename, MAX_PATH, fname, NULL); -+ -+ if (!(dsn.codec = dsn.DSOpenVideoCodec(sh->codec->dll, sh->codec->guid, sh->bih, -+ sh->codec->outfmt[sh->outfmtidx], sh->fps, fname, &err))) diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/postinst ps3mediaserver-1.54.00+git+mencoder34587/debian/postinst --- ps3mediaserver-1.53.99+git+mencoder34587/debian/postinst 2012-05-08 18:48:11.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/postinst 2012-06-19 05:20:51.000000000 +0000 @@ -19,7 +19,6 @@ PACKAGE=ps3mediaserver -PS3MS_INT=/etc/init.d/$PACKAGE do_perms(){ for i in /var/log/$PACKAGE /var/lib/$PACKAGE ; do @@ -30,17 +29,6 @@ done } -do_init() { - if [ -x $PS3MS_INT ]; then - update-rc.d $PACKAGE defaults >/dev/null - if [ -x /usr/sbin/invoke-rc.d ]; then - invoke-rc.d $PACKAGE "$@" > /dev/null 2>&1 - else - $PS3MS_INT "$@" > /dev/null 2>&1 - fi - fi -} - do_systray() { if [ "`command -v glib-compile-schemas`" != "" ]; then glib-compile-schemas /usr/share/glib-2.0/schemas @@ -51,7 +39,6 @@ configure) do_perms do_systray - do_init stop ;; abort-upgrade|abort-remove|abort-deconfigure) diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/ps3mediaserver.1 ps3mediaserver-1.54.00+git+mencoder34587/debian/ps3mediaserver.1 --- ps3mediaserver-1.53.99+git+mencoder34587/debian/ps3mediaserver.1 2012-05-08 17:38:59.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/ps3mediaserver.1 2012-06-19 05:30:23.000000000 +0000 @@ -31,7 +31,7 @@ .SH NOTES You can start ps3mediaserver manually into a terminal or from the menu icon. .br -You can also the start it from /etc/init.d/ps3mediaserver. +You can also start PS3 Media Server as upstart job with sudo start ps3mediaserver if enabled in /etc/default/ps3mediaserver. .br The configuration file used is $HOME/.config/ps3mediaserver/PMS.conf (populated with defaults from /etc/skel/.config/PMS.conf). .br diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/ps3mediaserver.default ps3mediaserver-1.54.00+git+mencoder34587/debian/ps3mediaserver.default --- ps3mediaserver-1.53.99+git+mencoder34587/debian/ps3mediaserver.default 2012-05-13 17:38:17.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/ps3mediaserver.default 2012-06-15 15:47:57.000000000 +0000 @@ -1,20 +1,23 @@ # Defaults for ps3mediaserver initscript -# sourced by /etc/init.d/ps3mediaserver +# sourced by /etc/init/ps3mediaserver.conf + +# Authors: Carlo D'Ippolito, Happy-Neko # # This is a POSIX shell fragment # # Set whether to start or not PS3 Media Server at boot time. -# Change to "yes" to enable daemon. +# Change to "yes" (case sensitive!) to enable daemon. PMS_START="no" -# Change this variable to run the daemon with a different user. +# Change PMS_USER and PMS_PROFILE variables to run PS3 Media Server with a different user. # -# To do this, please follow these two steps before: +# To do this, please follow these three steps: # 1. if user doesn't exist, create a system user (e.g. ps3mediauser) with command: # adduser --system --group ps3mediauser -# 2. change PMS_PROFILE below to "/home/ps3mediauser/.config/ps3mediaserver" +# 2. change PMS_USER +# 3. change PMS_PROFILE below to "/home/$PMS_USER/.config/ps3mediaserver" # # NOTE: Default config files will be copied to PMS_PROFILE # from /etc/skel/.config/ps3mediaserver during first progran run. @@ -27,7 +30,7 @@ # Default location of PS3 Media Server profile files (PMS.conf and WEB.conf) # when it runs as daemon. PMS_PROFILE="/root/.config/ps3mediaserver" -#PMS_PROFILE="/home/ps3mediauser/.config/ps3mediaserver" +#PMS_PROFILE="/home/$PMS_USER/.config/ps3mediaserver" # Memory limit for JVM (-Xmx option). # This is the Java heap memory allocated when daemon starts. It is the sum @@ -43,9 +46,3 @@ # Extra command options for daemon, see PS3 Media Server documentation DAEMON_OPTS="" - -# Max time to wait for the daemon to die gracefully, in seconds. -# If this timeout is reached, in the next five seconds, the PS3 Media -# Server init.d script will force killing of the daemon and immediate -# shutdown of its processes without waiting for them to die gracefully. -DIETIME="30" diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/ps3mediaserver.init ps3mediaserver-1.54.00+git+mencoder34587/debian/ps3mediaserver.init --- ps3mediaserver-1.53.99+git+mencoder34587/debian/ps3mediaserver.init 2012-05-13 17:03:54.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/ps3mediaserver.init 1970-01-01 00:00:00.000000000 +0000 @@ -1,155 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: ps3mediaserver -# Required-Start: $local_fs $remote_fs $network -# Required-Stop: $local_fs $remote_fs $network -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start and stop the PS3 Media Server daemon. -# Description: DLNA compliant UPnP Media Server -### END INIT INFO - -# Author: Carlo D'Ippolito - -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="PS3 Media Server" -NAME=ps3mediaserver -DAEMON=/usr/bin/$NAME -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -# -# PS3 Media Server variables and their descriptions are in -# /etc/default/ps3mediaserver file. -# As daemon is disabled by default, set "PMS_START" to "yes" -# in "defaults" file to enable it. -# - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# Load the VERBOSE setting and other rcS variables -. /lib/init/vars.sh - -# Define LSB log_* functions -. /lib/lsb/init-functions - -# Set "PMS_START" and "DIETIME" variables, required by this script, -# as a fallback if /etc/default/ps3mediaserver is not found. -[ -z $PMS_START ] && PMS_START="no" -[ -z $DIETIME ] && DIETIME="30" - -# If the daemon is not enabled, give the user a warning and then exit, -# unless we are stopping the daemon. -if [ $PMS_START != "yes" -a $1 != "stop" ]; then - log_warning_msg "$DESC as daemon is disabled, edit /etc/default/$NAME" - exit 0 -fi - -# Make sure daemon is started with system locale -if [ -r /etc/default/locale ]; then - . /etc/default/locale - export LANG -fi - -# Export needed environment variables -export PMS_PROFILE PS3MS_MEM JAVA_OPTS - -# -# Function that starts the daemon -# -do_start() { - # Return - # 0 if daemon has been started - # 1 if daemon was already running - # 2 if daemon could not be started - start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \ - || return 1 - start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON \ - --background --make-pidfile --chuid $PMS_USER -- $DAEMON_OPTS \ - || return 2 -} - -# -# Function that stops the daemon -# -do_stop() { - # Return - # 0 if daemon has been stopped - # 1 if daemon was already stopped - # 2 if daemon could not be stopped - # other if a failure occurred - start-stop-daemon --stop --quiet --retry=TERM/$DIETIME/KILL/5 --pidfile $PIDFILE 2> /dev/null - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 - # PS3 Media Server does not delete its pidfile when it exits - rm -f $PIDFILE - return "$RETVAL" -} - -# -# Function that checks status of daemon -# -do_status() { - # Return - # 0 if daemon is running - # 1 if daemon is not running - if [ -e "$PIDFILE" ]; then - ps -p $(cat $PIDFILE) > /dev/null 2>&1 - else - return 1 - fi -} - -case "$1" in - start) - log_daemon_msg "Starting $DESC" "$NAME" - do_start - case "$?" in - 0) log_end_msg 0 ;; - 1) log_warning_msg "$DESC already running." ;; - 2) log_end_msg 1 ;; - esac - ;; - stop) - log_daemon_msg "Stopping $DESC" "$NAME" - do_stop - case "$?" in - 0) log_end_msg 0 ;; - 1) log_warning_msg "$DESC already stopped." ;; - 2) log_end_msg 1 ;; - esac - ;; - status) - do_status - case "$?" in - 0) log_success_msg "$DESC is running." ;; - *) log_failure_msg "$DESC is not running." ;; - esac - ;; - restart|force-reload) - log_daemon_msg "Restarting $DESC" "$NAME" - do_stop - case "$?" in - 0|1) - do_start - case "$?" in - 0) log_end_msg 0 ;; - 1) log_end_msg 1 ;; - *) log_end_msg 1 ;; - esac - ;; - *) - log_end_msg 1 - ;; - esac - ;; - *) - echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 - exit 3 - ;; -esac - -: diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/debian/ps3mediaserver.upstart ps3mediaserver-1.54.00+git+mencoder34587/debian/ps3mediaserver.upstart --- ps3mediaserver-1.53.99+git+mencoder34587/debian/ps3mediaserver.upstart 1970-01-01 00:00:00.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/debian/ps3mediaserver.upstart 2012-06-22 06:46:34.000000000 +0000 @@ -0,0 +1,52 @@ +# Start and stop the PS3 Media Server daemon. + +description "PS3 Media Server" +author "Happy-Neko " + + + +start on (local-filesystems and net-device-up) +stop on runlevel [!12345] +respawn + +# PS3 Media Server variables and their descriptions are in /etc/default/ps3mediaserver file. +# As daemon is disabled by default, set "PMS_START" to "yes" in "defaults" file to enable it. +env DEFAULTFILE=/etc/default/ps3mediaserver +env APPLICATION=/usr/bin/ps3mediaserver + + +pre-start script + if [ -f "$DEFAULTFILE" ]; then + . "$DEFAULTFILE" + fi + + # Exit if the daemon is not enabled + if [ "x$PMS_START" != "xyes" ]; then + stop + exit 0 + fi +end script + +script + if [ -f "$DEFAULTFILE" ]; then + . "$DEFAULTFILE" + fi + + if [ "x$PMS_START" = "xyes" ]; then + + [ -z $PMS_USER ] && PMS_USER="root" + [ -z $PMS_PROFILE ] && PMS_PROFILE="/root/.config/ps3mediaserver" + + # Make sure daemon is started with system locale + if [ -r /etc/default/locale ]; then + . /etc/default/locale + export LANG + fi + + # Export needed environment variables + export PMS_PROFILE PS3MS_MEM JAVA_OPTS + + exec su -s /bin/sh -c 'exec "$0" "$@"' $PMS_USER -- $APPLICATION $DAEMON_OPTS + fi +end script + diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/pom.xml ps3mediaserver-1.54.00+git+mencoder34587/pom.xml --- ps3mediaserver-1.53.99+git+mencoder34587/pom.xml 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/pom.xml 2012-06-26 21:45:17.000000000 +0000 @@ -31,7 +31,7 @@ pms PS3 Media Server jar - 1.54.0-SNAPSHOT + 1.54.1-SNAPSHOT http://www.ps3mediaserver.org/ 2008 diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/PMS.sh ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/PMS.sh --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/PMS.sh 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/PMS.sh 2012-06-26 21:45:17.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh CMD=`readlink -f $0` -DIRNAME=`dirname $CMD` +DIRNAME=`dirname "$CMD"` # OS specific support (must be 'true' or 'false'). cygwin=false; @@ -21,12 +21,12 @@ # Setup PMS_HOME if [ "x$PMS_HOME" = "x" ]; then - PMS_HOME=$DIRNAME + PMS_HOME="$DIRNAME" fi export PMS_HOME # XXX: always cd to the working dir: https://code.google.com/p/ps3mediaserver/issues/detail?id=730 -cd $PMS_HOME +cd "$PMS_HOME" # Setup the JVM if [ "x$JAVA" = "x" ]; then diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/Bravia4500.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/Bravia4500.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/Bravia4500.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/Bravia4500.conf 2012-06-26 21:45:17.000000000 +0000 @@ -2,7 +2,7 @@ # Refer to PS3.conf for help RendererName=Sony Bravia 4500 -RendererIcon=bravia.png +RendererIcon=bravia4500.png #UserAgentSearch= UserAgentAdditionalHeader=X-AV-Client-Info UserAgentAdditionalHeaderSearch=BRAVIA KDL.+4[0-9]{3} diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/Bravia5500.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/Bravia5500.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/Bravia5500.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/Bravia5500.conf 2012-06-26 21:45:17.000000000 +0000 @@ -2,7 +2,7 @@ # Refer to PS3.conf for help RendererName=Sony Bravia 5500 -RendererIcon=bravia.png +RendererIcon=bravia5500.png #UserAgentSearch= UserAgentAdditionalHeader=X-AV-Client-Info UserAgentAdditionalHeaderSearch=(BRAVIA KDL.+5[0-9]{3})|(BRAVIA KDL.+WE5)|(BRAVIA KDL-[0-9]{2}XBR9) diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/BraviaEX.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/BraviaEX.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/BraviaEX.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/BraviaEX.conf 2012-06-26 21:45:17.000000000 +0000 @@ -2,7 +2,7 @@ # Refer to PS3.conf for help RendererName=Sony Bravia EX -RendererIcon=bravia.png +RendererIcon=braviaex.png #=========================================================== # Reported identifying headers: # X-AV-Client-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-32CX520"; mv="1.7"; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/DirecTVHR.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/DirecTVHR.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/DirecTVHR.conf 1970-01-01 00:00:00.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/DirecTVHR.conf 2012-06-26 21:45:17.000000000 +0000 @@ -0,0 +1,229 @@ +#---------------------------------------------------------------------------- +# DirecTVHR.conf +# +# Profile for DirecTV HR-xx Series Boxes. +# +# This profile is still in an experimental stage. +# You are encouraged to experiment and report back the results on the forums +# at http://www.universalmediaserver.com/forum/ + +#---------------------------------------------------------------------------- +# General informations / detection + +RendererName=DirecTV HR +RendererIcon=directvhr.png + +# UserAgentSearch: regular expression to detect the connected renderer. +# DirecTV has been observed using the following user agents: +# +# User-Agent: Linux/2.6.18-lttng-0.6.41, UPnP/1.0 DIRECTV JHUPnP/1.0 DLNADOC/1.00 DIRECTV VIIV devices INTEL_NMPR/2.1 +# User-Agent: Linux/2.6.18.5, UPnP/1.0 DIRECTV JHUPnP/1.0 DLNADOC/1.00 DIRECTV VIIV devices INTEL_NMPR/2.1 +# User-Agent: Linux/2.6.31-2.6, UPnP/1.0 DIRECTV JHUPnP/1.0 DLNADOC/1.00 DIRECTV VIIV devices INTEL_NMPR/2.1 +# User-Agent: Linux/2.6.31-2.6, UPnP/1.0 DIRECTV JHUPnP/1.0 +# +# Combined regular expression of working user agents +UserAgentSearch=DIRECTV + +# UserAgentAdditionalHeaders: additional HTTP header for better detection +UserAgentAdditionalHeader=DLNADOC/1.00 DIRECTV VIIV devices INTEL_NMPR/2.1 +UserAgentAdditionalHeaderSearch= + +#Basic capabilities +Video=true +Audio=true +Image=true + +#---------------------------------------------------------------------------- +# DLNA settings + +# Use the DLNA feature seek by time and not by range +SeekByTime=true + +# Serve different flavors of localization in the DLNA parameters (PAL/NTSC, NA/EU/JP) +# to allow every worldwide renderer to see the files. +#DLNALocalizationRequired=false + +#---------------------------------------------------------------------------- +# Transcoding/Muxing capabilities +# + +# Transcode codecs for video and audio engines +# currently supported: MPEGAC3, MPEGTSAC3 or WMV for video, PCM or MP3 for audio +TranscodeVideo=MPEGAC3 +TranscodeAudio=MP3 + +# Use default DVD buffer size: false = greater bitrate and faster encoding, +# but can generate incompatible videos, depends of your media renderer +DefaultVBVBufSize=false + +# Do you need to MUX LPCM to MPEG? +MuxLPCMToMpeg=false + +# Does the media renderer supports DTS wrapped into LPCM in a mpeg file ? +WrapDTSIntoPCM=false + +# Maximum bit rate supported by the media renderer (0=unlimited) +MaxVideoBitrateMbps=10 + +# Max Width and Height supported by the media renderer (0=unlimited) +MaxVideoWidth=1920 +MaxVideoHeight=1080 + +# Does the media renderer supports only H264 L4.1 at most ? +H264Level41Limited=true + +# Does music files need to be resampled at 44.1kHz? +TranscodeAudioTo441kHz=false + +# Does the client need to receive transcoded video with minimal delay ? +# (Useful when the client has a small timeout delay) +TranscodeFastStart=true + +# Size of the transcoded file (unknown length) sent to the renderer (could +# determine browsing failure/success) Possible values: +# +# -1: Specific value working with the PS3, means perfect transcoding +# and copying support (it is against the DLNA spec though) +# 0: size attribute is NOT sent to the renderer (default value if +# this parameter isn't used) +# 100000000000: 100Gb, if you want to be sure that the media file is not cut +# before the end +TranscodedVideoFileSize=0 + +#---------------------------------------------------------------------------- +# Misc Settings + +# Rotate JPEG files based on EXIF information +AutoExifRotate=false + +# Disable these once MediaInfo=True works. +# What extensions are forcefully transcoded +# Don't use this if MediaInfo=true, prefer codec configurations +TranscodeExtensions=mpegps,mpegts,wmv,avi,mp4,mov,flv,rm,mkv,wav,wavpac,lpcm,aac,ac3,mp3,mpa,ogg,wma,dts,dtshd,truehd,eac3,atrac,flac,ape,ra,mpc,aiff,alac,dv,mpeg1,mpeg2,divx,h264,mjpeg,vc1,jpg,png,gif,tiff,bmp,und + +# What extensions are forcefully streamed as is (and not transcoded) +# Don't use this if MediaInfo=true, prefer codec configurations +StreamExtensions= + +#---------------------------------------------------------------------------- +# All supported media formats of this renderer (the rest will be transcoded) +# First steps towards a faster/proper file/codec/mimetype management system (false by default) +# 1- Parse files with mediainfo on Windows/OSX (Linux too if libmediainfo and libzen installed) +# 2- Deprecate following parameters: MuxH264ToMpegTS,MuxDTSToMpeg,MuxLPCMToMpeg,MimeTypesChanges +# 3- The server will skip badly parsed, corrupted files or wrong coding, preventing potential playback errors +# 4- Faster browsing, due to the launch of ffmpeg/mplayer first thumbnailer process with each http client request, rather than in the browse DLNA request +# Use MediaInfo for faster and proper file, codec and mime type management +# system (false by default). + +MediaInfo=true + +# The media parser and this configuration file will recognize the following +# formats and codecs (lower case only, regular expressions are supported). +# Chosen from the most common used and supported formats and codecs. +# +# mpegps (mpeg presentation stream, used in DVD Videos, VCDs, etc.) +# mpegts (mpeg transport stream, used in sat tv, blu rays, etc.) +# wmv (Windows Media Video, tag also used for asf files) +# avi (AVI container) +# mp4 (ISOM/MPEG4 container, or MPEG4 codec) +# mov (Quicktime container, Apple) +# flv (Flash Video) +# rm (Real Media, RMVB) +# mkv (Matroska) +# wav (WAVE file) +# wavpac (WavPack) +# lpcm (Linear PCM) +# aac (Advanced Audio Codec) +# ac3 (Audio Coding 3) +# mp3 (Mpeg Audio Layer 3) +# mpa (Mpeg Audio) +# ogg (Ogg Vorbis) +# wma (Windows Media Audio) +# dts (Digital Theater Systems) +# dtshd (Digital Theater Systems) +# truehd (TrueHD) +# eac3 (Extended AC3) +# atrac (Atrac) +# flac (Free Lossless Audio Codec) +# ape (Monkey's Audio) +# ra (Real Audio) +# mpc (MusePack) +# aiff (AIFF) +# alac (Apple Lossless) +# dv (Digital Video) +# mpeg1 (Codec used in VCD) +# mpeg2 (Codec used in DVD Videos and HDTV) +# divx (DivX Video) +# h264 (H264) +# mjpeg (M-JPEG) +# vc1 (VC-1) +# jpg (Jpeg) +# png (PNG) +# gif (GIF) +# tiff (TIFF) +# bmp (Bitmap) +# und (Undetermined, if the parser did not recognize one of above) +# Usage [IN ORDER TOO]: +# f: format, MANDATORY (the only conf for a 'eat everything' renderer would be f:.+) +# v: video codec +# a: audio codec +# n: max nb of audio channels +# s: max audio sample frequency in Hz +# b: max audio bitrate in bps +# w: max width in pixels +# h: max height in pixels +# m: mimetype, STRONGLY RECOMMENDED (if not declared, an estimated value is assigned) +# other flags: right now, only qpel and gmc (see avi) +# +# In case of multiple matches, the first mime type of the list is the used one. +# Be careful with regexps such as .+ : You should not use these except when you +# are sure your renderer is quite versatile. +# +# Taken from Wikipedia! http://en.wikipedia.org/wiki/DirecTV +# +# To handle the proliferation of bandwidth-intensive HDTV broadcasting, DirecTV rebroadcasts +# local HDTV stations using the H.264/MPEG-4 AVC codec while employing a newer transmission +# protocol (DVB-S2) over the newer satellites. This allows DirecTV to squeeze much more HD +# programming over its satellite signal than was previously feasible using the older MPEG-2 +# compression and DSS protocol it has been using. This technology will be gradually expanded +# to the existing satellites as customer equipment is replaced with new MPEG-4-capable receivers. +# +# From the DirecTV forum: +# bob_nielsen writes - +# Your DLNA server should be recognized. Acceptable formats are MPEG2 video, MP3 or LPCM (wav) +# audio or JPEG pictures. +# dcd writes - +# I'm not sure, but here are the parameters I have my MPEG2 video converter set to and it plays back fine. +# Encode codec MPEG2/MP2, video bitrate 5,000 kbps, audio bitrate 224 kbps. This is about 2200 Mb/hr. + +# gives: + +# [Supported video formats]: +#Supported = f:mpegps v:mpeg2 a:mpa n:2 m:video/mpeg +#Supported = f:avi|divx v:mp4|divx|mjpeg a:mp3|lpcm|mpa|ac3 n:2 m:video/x-divx +#Supported = f:mov m:video/quicktime +#Supported = f:mp4 v:mp4|h264 a:ac3|aac n:2 m:video/mp4 +#Supported = f:mpegps|mpegts|mkv v:mpeg1|mpeg2|mp4|h264 n:2 a:ac3|lpcm|aac|mpa m:video/mpeg +#Supported = f:ogg v:ogg a:mp3|lpcm|mpa|ac3 n:2 m:application/ogg +#Supported = f:rm v:rm a:ra n:2 m:application/vnd.rn-realmedia +#Supported = f:wmv v:wmv|vc1 a:wma n:2 m:video/x-ms-wmv + +# [Supported audio formats]: +#Supported = f:mp3 n:2 m:audio/mpeg +#Supported = f:wav a:dts|lpcm n:2 s:48000 m:audio/wav +#Supported = f:wav n:2 s:48000 m:audio/wav +#Supported = f:aac n:2 a:(?!alac).+ m:audio/x-m4a +#Supported = f:wma n:2 m:audio/x-ms-wma +#Supported = f:atrac n:2 m:audio/x-oma + +# [Supported image formats] +#Supported = f:jpg m:image/jpeg +#Supported = f:png m:image/png +#Supported = f:gif m:image/gif +#Supported = f:tiff m:image/tiff + +# Use faster method to create DLNA tree with MediaInfo. Not supported by some renderers, +# false by default (upnp specification violation). +CreateDLNATreeFaster = true + +#---------------------------------------------------------------------------- diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/Dlink510.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/Dlink510.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/Dlink510.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/Dlink510.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ -# ps3mediaserver Custom renderer profile for D-link DSM-510 -# Refer to PS3.conf for help - -RendererName=D-link DSM-510 -RendererIcon=dsm510.png - -UserAgentSearch=DLNADOC/1.50 INTEL_NMPR/2.1 - -Video=true -Audio=true -Image=true -SeekByTime=false -TranscodeVideo=MPEGAC3 -TranscodeAudio=LPCM -TranscodeFastStart=false -DefaultVBVBufSize=true -MuxH264ToMpegTS=false -MuxDTSToMpeg=false -WrapDTSIntoPCM=true -MuxLPCMToMpeg=true -MaxVideoBitrateMbps=0 -MaxVideoWidth=0 -MaxVideoHeight=0 - -ChunkedTransfer=true -MediaInfo=true -CreateDLNATreeFaster=false - -TranscodeAudioTo441kHz = false -TranscodedVideoFileSize = 100000000000 -TranscodeExtensions=flv,mp4,mkv,mov -StreamExtensions=avi,divx,xvid,mpeg,mp3,pcm,lpcm,wma,wav,wmv,ogg - -MimeTypesChanges = audio/wav=audio/L16 | audio/mp3=audio/L16 | video/mp4=video/mpeg - -# Show the duration of a DVD Title in the overview -ShowDVDTitleDuration=true - -# CBR bitrate. Needed for byteseek to timeseek convertion. 0 = disabled. -CBRVideoBitrate=15000 - -# [Number of seconds to rewind every time we do a byteseek to timeseek conversion.] -# If the conversion isn't 100% accurate so a little rewind can be nice -ByteToTimeseekRewindSeconds=0 -ShowAudioMetadata=true - diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/DLinkDSM510.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/DLinkDSM510.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/DLinkDSM510.conf 1970-01-01 00:00:00.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/DLinkDSM510.conf 2012-06-26 21:45:17.000000000 +0000 @@ -0,0 +1,46 @@ +# ps3mediaserver Custom renderer profile for D-link DSM-510 +# Refer to PS3.conf for help + +RendererName=D-Link DSM-510 +RendererIcon=dlinkdsm510.png + +UserAgentSearch=DLNADOC/1.50 INTEL_NMPR/2.1 + +Video=true +Audio=true +Image=true +SeekByTime=false +TranscodeVideo=MPEGAC3 +TranscodeAudio=LPCM +TranscodeFastStart=false +DefaultVBVBufSize=true +MuxH264ToMpegTS=false +MuxDTSToMpeg=false +WrapDTSIntoPCM=true +MuxLPCMToMpeg=true +MaxVideoBitrateMbps=0 +MaxVideoWidth=0 +MaxVideoHeight=0 + +ChunkedTransfer=true +MediaInfo=true +CreateDLNATreeFaster=false + +TranscodeAudioTo441kHz = false +TranscodedVideoFileSize = 100000000000 +TranscodeExtensions=flv,mp4,mkv,mov +StreamExtensions=avi,divx,xvid,mpeg,mp3,pcm,lpcm,wma,wav,wmv,ogg + +MimeTypesChanges = audio/wav=audio/L16 | audio/mp3=audio/L16 | video/mp4=video/mpeg + +# Show the duration of a DVD Title in the overview +ShowDVDTitleDuration=true + +# CBR bitrate. Needed for byteseek to timeseek convertion. 0 = disabled. +CBRVideoBitrate=15000 + +# [Number of seconds to rewind every time we do a byteseek to timeseek conversion.] +# If the conversion isn't 100% accurate so a little rewind can be nice +ByteToTimeseekRewindSeconds=0 +ShowAudioMetadata=true + diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/FreeboxHD.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/FreeboxHD.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/FreeboxHD.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/FreeboxHD.conf 2012-06-26 21:45:17.000000000 +0000 @@ -1,8 +1,8 @@ # ps3mediaserver renderer profile for Freebox HD # Refer to PS3.conf for help -RendererName=Freebox -RendererIcon=freebox.png +RendererName=Freebox HD +RendererIcon=freeboxhd.png UserAgentSearch=fbxupnpav|libfbxhttp Video=true Audio=true diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/FreecomMusicPal.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/FreecomMusicPal.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/FreecomMusicPal.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/FreecomMusicPal.conf 2012-06-26 21:45:17.000000000 +0000 @@ -6,7 +6,7 @@ # General informations / detection RendererName=Freecom MusicPal -RendererIcon=musicpal.png +RendererIcon=freecommusicpal.png #UserAgent: regular expression to detect the connected renderer UserAgentSearch=pvConnect DLNADOC/1.50 diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/LGST600.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/LGST600.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/LGST600.conf 1970-01-01 00:00:00.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/LGST600.conf 2012-06-26 21:45:17.000000000 +0000 @@ -0,0 +1,46 @@ +#------------------------------------------------------------ +# ps3mediaserver profile for LG600ST +# DO NOT MODIFY THIS (OR AT YOUR OWN RISK) + +RendererName=LG Smart TV Upgrader +RendererIcon=lgst600.png +UserAgentSearch=LGE_DLNA_SDK +#UserAgentAdditionalHeader=X-AV-Client-Info +#UserAgentAdditionalHeaderSearch=Showtime 3.0 +Video=true +Audio=true +Image=true +SeekByTime=true +DLNALocalizationRequired=false +TranscodeAudio=WAV +DefaultVBVBufSize=false +MuxH264ToMpegTS=true +MuxDTSToMpeg=true +WrapDTSIntoPCM=true +MuxLPCMToMpeg=true +MaxVideoBitrateMbps=0 +MaxVideoWidth=0 +MaxVideoHeight=0 +H264Level41Limited=true +TranscodeAudioTo441kHz=false +TranscodeFastStart=false +TranscodedVideoFileSize=-1 +AutoExifRotate=true +MimeTypesChanges=video/avi=video/x-divx +TranscodeExtensions= +StreamExtensions=avi +MediaInfo=true +Supported = f:mpegps|mpegts|mkv v:mpeg1|mpeg2|mp4|h264 a:ac3|lpcm|aac|mpa m:video/mpeg +Supported = f:avi|divx v:mp4|divx|mjpeg a:mp3|lpcm|mpa|ac3 m:video/x-divx qpel:no gmc:0 +Supported = f:mp4 v:mp4|h264 a:ac3|aac m:video/mp4 +Supported = f:wmv v:wmv|vc1 a:wma n:2 m:video/x-ms-wmv +Supported = f:wav a:dts|lpcm n:6 s:48000 m:audio/wav +Supported = f:wav n:2 s:48000 m:audio/wav +Supported = f:mp3 n:2 m:audio/mpeg +Supported = f:aac n:2 a:(?!alac).+ m:audio/x-m4a +Supported = f:wma n:2 m:audio/x-ms-wma +Supported = f:atrac n:2 m:audio/x-oma +Supported = f:jpg m:image/jpeg +Supported = f:png m:image/png +Supported = f:gif m:image/gif +Supported = f:tiff m:image/tiff \ No newline at end of file diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/OPPOBDP83.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/OPPOBDP83.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/OPPOBDP83.conf 1970-01-01 00:00:00.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/OPPOBDP83.conf 2012-06-26 21:45:17.000000000 +0000 @@ -0,0 +1,23 @@ +# Universal Media Server renderer profile for OPPO BDP-83 +# Refer to PS3.conf for help + +RendererName=OPPO BDP-83 +RendererIcon=oppobdp83.png +UserAgentSearch=BDP-83 +Video=true +Audio=true +Image=true +SeekByTime=false +TranscodeVideo=MPEGAC3 +TranscodeAudio=PCM +DefaultVBVBufSize=true +MuxH264ToMpegTS=true +MuxDTSToMpeg=true +WrapDTSIntoPCM=false +MuxLPCMToMpeg=false +MaxVideoBitrateMbps=0 +MaxVideoWidth=0 +MaxVideoHeight=0 +H264Level41Limited=true +TranscodeExtensions=hdmov,hdm,flac,fla,dts,ogg,asf,asx,m2v,m4a,mov,mp4,iso,avi +StreamExtensions=mkv,jpg,mp3,mpg,pcm,png,vob \ No newline at end of file diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/OPPOBDP93.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/OPPOBDP93.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/OPPOBDP93.conf 1970-01-01 00:00:00.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/OPPOBDP93.conf 2012-06-26 21:45:17.000000000 +0000 @@ -0,0 +1,23 @@ +# Universal Media Server renderer profile for OPPO BDP-93 +# Refer to PS3.conf for help + +RendererName=OPPO BDP-93 +RendererIcon=oppobdp93.png +UserAgentSearch=OPPO PLAYER +Video=true +Audio=true +Image=true +SeekByTime=false +TranscodeVideo=MPEGAC3 +TranscodeAudio=PCM +DefaultVBVBufSize=true +MuxH264ToMpegTS=true +MuxDTSToMpeg=true +WrapDTSIntoPCM=false +MuxLPCMToMpeg=false +MaxVideoBitrateMbps=0 +MaxVideoWidth=0 +MaxVideoHeight=0 +H264Level41Limited=false +TranscodeExtensions=iso,vob +StreamExtensions= gif,jpg,png,aac,flac,m4a,mp3,pcm,wav,wma,avi,mkv,mp4,m2ts,ts,wmv \ No newline at end of file diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/Panasonic.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/Panasonic.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/Panasonic.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/Panasonic.conf 2012-06-26 21:45:17.000000000 +0000 @@ -1,126 +1,126 @@ -RendererName=Panasonic -RendererIcon=kuro.png -UserAgentSearch=Panasonic MIL DLNA -Video=true -Audio=true -Image=true -SeekByTime=false -DLNALocalizationRequired=true - -# CBRVideoBitrate is useful for renderers without SeekByTime support. It does time2byte conversion to support FF/RW. -# Only possibility how to predict where we are when seeking is using CBR bitrate instead of VBR used by default -# Making CBR stream by MEnocder is 3 times slower than using VBR so count with it if you have poor computer! -# Speed can be hopefully optimized little bit in the future: -# http://www.ps3mediaserver.org/forum/viewtopic.php?f=14&t=8883&p=53706&hilit=ditlew#p53700 -# http://www.ps3mediaserver.org/forum/viewtopic.php?f=11&t=11284&p=62765&hilit=1835#p62765 -# ByteToTimeseekRewindSeconds is used for finetuning so default is 0 -CBRVideoBitrate=15000 -ByteToTimeseekRewindSeconds=0 - -TranscodeVideo=MPEGAC3 -TranscodeAudio=WAV -DefaultVBVBufSize=false -MuxH264ToMpegTS=true -MuxDTSToMpeg=false -WrapDTSIntoPCM=false -MuxLPCMToMpeg=true - -MaxVideoWidth=1920 -MaxVideoHeight=1080 -H264Level41Limited=true -TranscodeAudioTo441kHz=false -TranscodeFastStart=true -TranscodedVideoFileSize=0 - -# If computer is low on resources it is better to avoid using bandwidth limit which is much CPU demanding -# It is better to lower quality settings by defining "CustomMencoderQualitySettings". -# By lowering quality also bitrate is decreased but it is not so CPU aggresive so it is preferred to use it this way -MaxVideoBitrateMbps=90 -CustomMencoderQualitySettings=keyint=5:vqscale=1:vqmin=3:vqmax=5 -CustomMencoderOptions=-vf softskip,expand=::::1:16\/9:4 - -AutoExifRotate=true -MimeTypesChanges=audio/wav=audio/L16|video/mp4=video/mpeg|video/mkv=video/mpeg -TranscodeExtensions= -StreamExtensions= - -#----------------------------------------------------------------------------- -# Another useful hidden params and their default values if not defined: - -# Display audio tag in TRANSCODE folder if defined in container (useful to find out correct audio track like commentary etc.) -# ShowAudioMetadata = true - -# Display subtitle tag in TRANSCODE folder if defined in container (showing subtitles info like forced, full, documentary etc.) -# ShowSubMetadata = true - -# Some renderers can't show length of DVD titles so it will add it directly to title name to be shown -# ShowDVDTitleDuration = false - -# Specified extension will be added to every file shared by PMS -# UseSameExtension = null - -# ???????????????????????????? -# DLNAProfileChanges = null - -# ???????????????????????????? -# DLNAOrgPN = true - -# ???????????????????????????? -# MediaParserV2_ThumbnailGeneration = false -#----------------------------------------------------------------------------- - -MediaInfo=true - -Supported = f:mpegps|mpegts v:mpeg1|mpeg2|mp4|h264 a:ac3|lpcm|aac|mpa m:video/mpeg -Supported = f:avi|divx v:mp4|divx|mjpeg a:mp3|lpcm|mpa|ac3 m:video/x-divx qpel:yes gmc:0 -Supported = f:mp4 v:mp4|h264 a:ac3|aac m:video/mp4 -Supported = f:wmv v:wmv|vc1 a:wma n:2 m:video/x-ms-wmv - -#Supported = f:lpcm m:audio/L16 -Supported = f:wav a:dts|lpcm n:6 s:48000 m:audio/wav -Supported = f:wav n:2 s:48000 m:audio/wav -Supported = f:mp3 n:2 m:audio/mpeg - -Supported = f:aac n:2 a:(?!alac).+ m:audio/x-m4a -Supported = f:wma n:2 m:audio/x-ms-wma -Supported = f:atrac n:2 m:audio/x-oma - -Supported = f:jpg m:image/jpeg -Supported = f:png m:image/png -Supported = f:gif m:image/gif -Supported = f:tiff m:image/tiff - -# =========================================================================== - -## WHAT TV SUPPORTS? (retrieved from manual) -#-------------------------------------------- -# container: avchd, divx, mpeg2,... -# extensions: divx,avi, mpg, mpeg,wmv, ... -# video codec: DIV3, DIV4, DIVX, DX50, DIV6, MPEG-2(PS/TS) -# audio codec: mp3, mpeg, ac3 -# GMC not supported -# subtitles: microdvd, subrip (subtitles name must be same)...priority order when same name: SRT, SUB, TXT -# pictures: jpg, jpeg 4:4:4, 4:2:2, 4:2:0 - -# VIERA Image Viewer: Yes (AVCHD/SD-VIDEO/DivXHD/JPEG/MP3/AAC playback) - -## What was found about renderer in debug.log -#--------------------------------------------- - -# Received on socket: User-Agent: Panasonic MIL DLNA CP UPnP/1.0 -# Received on socket: X-PANASONIC-DMP-Profile: MPEG_PS_PAL JPEG_SM PV_DIVX_DIV3 PV_DIVX_DIV4 PV_DIVX_DIVX PV_DIVX_DX50 PV_DRM_DIVX_DIV3 PV_DRM_DIVX_DIV4 PV_DRM_DIVX_DIVX PV_DRM_DIVX_DX50 -# Received on socket: X-PANASONIC-Registration: VklFUkEAAAAAAAAAAAAAAAAAAAAAAAAAAAA= - - -# I tested 4 combinations: -# - SeekByTime = true -# - SeekByTime = false -# - TranscodedVideoFileSize=100000000000 -# - TranscodedVideoFileSize=0 -# Results (with version before 1.50, never tested it again with newer versions): -# When SeekByTime=false and TranscodedVideoFileSize=0, transcoded file has no info about actual time(total time is visible) and seeking is somehow/sometimes possible. -# When 99GB is set, I can see actual time but when seeking, time is visible but immediately freeze and TV will show corrupted data or movie starts from begining or from point where I started to seek. -# When SeekByTime=true, PMS generates exceptions and movie starts from beginning always when I use seeking. It seems that TV maybe doesn't support seeking by time, but why PMS generates exceptions? -# When I tried TranscodedVideoFileSize=-1, seeking will start movie from beginning every time. -# When TranscodedVideoFileSize is defined to something about 1GB, I can see actual time but seeking is working only for some minutes/seconds to forward. It means I can seek forward for few seconds but not more because it seems PMS will send end of file and streaming will freeze/file cannot be played. -# When I set 10GB, behavior is same as for 99GB(mayble some TV limit about maximum size of file???) +RendererName=Panasonic +RendererIcon=panasonic.png +UserAgentSearch=Panasonic MIL DLNA +Video=true +Audio=true +Image=true +SeekByTime=false +DLNALocalizationRequired=true + +# CBRVideoBitrate is useful for renderers without SeekByTime support. It does time2byte conversion to support FF/RW. +# Only possibility how to predict where we are when seeking is using CBR bitrate instead of VBR used by default +# Making CBR stream by MEnocder is 3 times slower than using VBR so count with it if you have poor computer! +# Speed can be hopefully optimized little bit in the future: +# http://www.ps3mediaserver.org/forum/viewtopic.php?f=14&t=8883&p=53706&hilit=ditlew#p53700 +# http://www.ps3mediaserver.org/forum/viewtopic.php?f=11&t=11284&p=62765&hilit=1835#p62765 +# ByteToTimeseekRewindSeconds is used for finetuning so default is 0 +CBRVideoBitrate=37000 +ByteToTimeseekRewindSeconds=0 + +TranscodeVideo=MPEGAC3 +TranscodeAudio=WAV +DefaultVBVBufSize=false +MuxH264ToMpegTS=true +MuxDTSToMpeg=false +WrapDTSIntoPCM=false +MuxLPCMToMpeg=true + +MaxVideoWidth=1920 +MaxVideoHeight=1080 +H264Level41Limited=true +TranscodeAudioTo441kHz=false +TranscodeFastStart=true +TranscodedVideoFileSize=0 + +# If computer is low on resources it is better to avoid using bandwidth limit which is much CPU demanding +# It is better to lower quality settings by defining "CustomMencoderQualitySettings". +# By lowering quality also bitrate is decreased but it is not so CPU aggresive so it is preferred to use it this way +MaxVideoBitrateMbps=90 +CustomMencoderQualitySettings=keyint=5:vqscale=1:vqmin=3:vqmax=5 +CustomMencoderOptions=-vf softskip,expand=::::1:16\/9:4 + +AutoExifRotate=true +MimeTypesChanges=audio/wav=audio/L16|video/mp4=video/mpeg|video/mkv=video/mpeg +TranscodeExtensions= +StreamExtensions= + +#----------------------------------------------------------------------------- +# Another useful hidden params and their default values if not defined: + +# Display audio tag in TRANSCODE folder if defined in container (useful to find out correct audio track like commentary etc.) +# ShowAudioMetadata = true + +# Display subtitle tag in TRANSCODE folder if defined in container (showing subtitles info like forced, full, documentary etc.) +# ShowSubMetadata = true + +# Some renderers can't show length of DVD titles so it will add it directly to title name to be shown +# ShowDVDTitleDuration = false + +# Specified extension will be added to every file shared by PMS +# UseSameExtension = null + +# ???????????????????????????? +# DLNAProfileChanges = null + +# ???????????????????????????? +# DLNAOrgPN = true + +# ???????????????????????????? +# MediaParserV2_ThumbnailGeneration = false +#----------------------------------------------------------------------------- + +MediaInfo=true + +Supported = f:mpegps|mpegts v:mpeg1|mpeg2|mp4|h264 a:ac3|lpcm|aac|mpa m:video/mpeg +Supported = f:avi|divx v:mp4|divx|mjpeg a:mp3|lpcm|mpa|ac3 m:video/x-divx qpel:yes gmc:0 +Supported = f:mp4 v:mp4|h264 a:ac3|aac m:video/mp4 +Supported = f:wmv v:wmv|vc1 a:wma n:2 m:video/x-ms-wmv + +#Supported = f:lpcm m:audio/L16 +Supported = f:wav a:dts|lpcm n:6 s:48000 m:audio/wav +Supported = f:wav n:2 s:48000 m:audio/wav +Supported = f:mp3 n:2 m:audio/mpeg + +Supported = f:aac n:2 a:(?!alac).+ m:audio/x-m4a +Supported = f:wma n:2 m:audio/x-ms-wma +Supported = f:atrac n:2 m:audio/x-oma + +Supported = f:jpg m:image/jpeg +Supported = f:png m:image/png +Supported = f:gif m:image/gif +Supported = f:tiff m:image/tiff + +# =========================================================================== + +## WHAT TV SUPPORTS? (retrieved from manual) +#-------------------------------------------- +# container: avchd, divx, mpeg2,... +# extensions: divx,avi, mpg, mpeg,wmv, ... +# video codec: DIV3, DIV4, DIVX, DX50, DIV6, MPEG-2(PS/TS) +# audio codec: mp3, mpeg, ac3 +# GMC not supported +# subtitles: microdvd, subrip (subtitles name must be same)...priority order when same name: SRT, SUB, TXT +# pictures: jpg, jpeg 4:4:4, 4:2:2, 4:2:0 + +# VIERA Image Viewer: Yes (AVCHD/SD-VIDEO/DivXHD/JPEG/MP3/AAC playback) + +## What was found about renderer in debug.log +#--------------------------------------------- + +# Received on socket: User-Agent: Panasonic MIL DLNA CP UPnP/1.0 +# Received on socket: X-PANASONIC-DMP-Profile: MPEG_PS_PAL JPEG_SM PV_DIVX_DIV3 PV_DIVX_DIV4 PV_DIVX_DIVX PV_DIVX_DX50 PV_DRM_DIVX_DIV3 PV_DRM_DIVX_DIV4 PV_DRM_DIVX_DIVX PV_DRM_DIVX_DX50 +# Received on socket: X-PANASONIC-Registration: VklFUkEAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + +# I tested 4 combinations: +# - SeekByTime = true +# - SeekByTime = false +# - TranscodedVideoFileSize=100000000000 +# - TranscodedVideoFileSize=0 +# Results (with version before 1.50, never tested it again with newer versions): +# When SeekByTime=false and TranscodedVideoFileSize=0, transcoded file has no info about actual time(total time is visible) and seeking is somehow/sometimes possible. +# When 99GB is set, I can see actual time but when seeking, time is visible but immediately freeze and TV will show corrupted data or movie starts from begining or from point where I started to seek. +# When SeekByTime=true, PMS generates exceptions and movie starts from beginning always when I use seeking. It seems that TV maybe doesn't support seeking by time, but why PMS generates exceptions? +# When I tried TranscodedVideoFileSize=-1, seeking will start movie from beginning every time. +# When TranscodedVideoFileSize is defined to something about 1GB, I can see actual time but seeking is working only for some minutes/seconds to forward. It means I can seek forward for few seconds but not more because it seems PMS will send end of file and streaming will freeze/file cannot be played. +# When I set 10GB, behavior is same as for 99GB(mayble some TV limit about maximum size of file???) diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/PopcornHour.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/PopcornHour.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/PopcornHour.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/PopcornHour.conf 2012-06-26 21:45:17.000000000 +0000 @@ -1,8 +1,8 @@ -# ps3mediaserver renderer profile for popcorn hour +# ps3mediaserver renderer profile for popcorn hour # Refer to PS3.conf for help RendererName=Popcorn Hour -RendererIcon=pch.png +RendererIcon=popcornhour.png UserAgentSearch=POSIX|SYABAS|SMP8634|Firefox/0\.8\.0|C200 Video=true Audio=true diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/SonyBluray.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/SonyBluray.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/SonyBluray.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/SonyBluray.conf 2012-06-26 21:45:17.000000000 +0000 @@ -1,7 +1,7 @@ # ps3mediaserver renderer profile for Sony Bluray Disc Players (2010 Bravia Internet Video-enabled models) # Refer to PS3.conf for help -RendererName=Sony Bluray -RendererIcon=sony_bdp.png +RendererName=Sony Blu-ray +RendererIcon=sonybluray.png # ============================================================================ # Sony Bluray uses the following headers: diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/Streamium.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/Streamium.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/Streamium.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/Streamium.conf 2012-06-26 21:45:17.000000000 +0000 @@ -68,4 +68,4 @@ # What extensions are forcefully transcoded TranscodeExtensions= # What extensions are forcefully streamed as is (and not transcoded) -StreamExtensions=m4a,wma,mp3,mp4 +StreamExtensions=m4a,wma,mp3,mp4,flac diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/WDTVLive.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/WDTVLive.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/WDTVLive.conf 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/WDTVLive.conf 2012-06-26 21:45:17.000000000 +0000 @@ -2,7 +2,7 @@ # Refer to PS3.conf for help RendererName=WD TV Live -RendererIcon=wd-tv-live.png +RendererIcon=wdtvlive.png # WDHD Live # User-Agent: INTEL_NMPR/2.1 DLNADOC/1.50 Intel MicroStack/1.0.1423 UserAgentSearch=alphanetworks|INTEL_NMPR/2.1 DLNADOC/1.50 Intel MicroStack/1.0.1423 diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/YamahaRXV671.conf ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/YamahaRXV671.conf --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/renderers/YamahaRXV671.conf 1970-01-01 00:00:00.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/renderers/YamahaRXV671.conf 2012-06-26 21:45:17.000000000 +0000 @@ -0,0 +1,16 @@ +# Universal Media Server renderer profile for Yamaha RX-V671 +# Refer to PS3.conf for help + +RendererName=Yamaha RX-V671 +RendererIcon=yamaharxv671.png +UserAgentSearch=RX-V671 +UserAgentAdditionalHeader=AV_Reciever/3.1 +Video=false +Audio=true +Image=false +SeekByTime=true +TranscodeAudioTo441kHz = false +StreamExtensions = wav, flac, mp3, wma, aac +TranscodeAudio=MP3 +TranscodeExtensions= + diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/update/update_3.properties ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/update/update_3.properties --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/external-resources/update/update_3.properties 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/external-resources/update/update_3.properties 2012-06-26 21:45:17.000000000 +0000 @@ -1,2 +1,2 @@ -LatestVersion="1.53.0" -DownloadUrl.windows="http://ps3mediaserver.googlecode.com/files/pms-setup-windows-1.53.0.exe" +LatestVersion="1.54.0" +DownloadUrl.windows="http://ps3mediaserver.googlecode.com/files/pms-setup-windows-1.54.0.exe" diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/Build.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/Build.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/Build.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/Build.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,7 +1,6 @@ package net.pms.configuration; import com.sun.jna.Platform; - import org.apache.commons.lang.StringUtils; // a one-stop class for values and methods specific to custom PMS builds diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/FormatConfiguration.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/FormatConfiguration.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/FormatConfiguration.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/FormatConfiguration.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,23 +1,17 @@ package net.pms.configuration; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.StringTokenizer; -import java.util.regex.Pattern; -import java.util.regex.PatternSyntaxException; - import net.pms.dlna.DLNAMediaAudio; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.InputFile; import net.pms.dlna.MediaInfoParser; import net.pms.formats.Format; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.*; +import java.util.regex.Pattern; +import java.util.regex.PatternSyntaxException; + public class FormatConfiguration { private static final Logger logger = LoggerFactory.getLogger(FormatConfiguration.class); public static final String MPEGPS = "mpegps"; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/IpFilter.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/IpFilter.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/IpFilter.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/IpFilter.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,6 +18,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.net.InetAddress; import java.util.ArrayList; import java.util.HashSet; @@ -26,9 +30,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** * IP Filter class, which supports multiple wildcards, ranges. For example : * 127.0.0.1,192.168.0-1.* diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/MapFileConfiguration.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/MapFileConfiguration.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/MapFileConfiguration.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/MapFileConfiguration.java 2012-06-26 21:45:17.000000000 +0000 @@ -4,25 +4,16 @@ */ package net.pms.configuration; +import com.google.gson.*; +import com.google.gson.reflect.TypeToken; +import org.apache.commons.io.FileUtils; + import java.io.File; import java.io.IOException; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonDeserializer; -import com.google.gson.JsonElement; -import com.google.gson.JsonParseException; -import com.google.gson.JsonPrimitive; -import com.google.gson.JsonSerializationContext; -import com.google.gson.JsonSerializer; -import com.google.gson.reflect.TypeToken; - /** * * @author mfranco diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/PmsConfiguration.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/PmsConfiguration.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/PmsConfiguration.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/PmsConfiguration.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,21 +18,9 @@ */ package net.pms.configuration; -import java.io.File; -import java.io.IOException; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Locale; -import java.util.Set; - -import net.pms.io.SystemUtils; +import com.sun.jna.Platform; import net.pms.Messages; - +import net.pms.io.SystemUtils; import net.pms.util.PropertiesUtil; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; @@ -44,7 +32,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.jna.Platform; +import java.io.File; +import java.io.IOException; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.*; /** * Container for all configurable PMS settings. Settings are typically defined by three things: @@ -54,7 +46,7 @@ * file. */ public class PmsConfiguration { - private static final Logger logger = LoggerFactory.getLogger(PmsConfiguration.class); + private static final Logger LOGGER = LoggerFactory.getLogger(PmsConfiguration.class); private static final int DEFAULT_PROXY_SERVER_PORT = -1; private static final int DEFAULT_SERVER_PORT = 5001; @@ -177,6 +169,7 @@ private static final String KEY_UUID = "uuid"; private static final String KEY_VIDEOTRANSCODE_START_DELAY = "key_videotranscode_start_delay"; private static final String KEY_VIRTUAL_FOLDERS = "vfolders"; + private static final String KEY_BUFFER_MAX = "buffer_max"; // the name of the subdirectory under which PMS config files are stored for this build (default: PMS). // see Build for more details @@ -187,7 +180,9 @@ private static String DEFAULT_AVI_SYNTH_SCRIPT; private static final String BUFFER_TYPE_FILE = "file"; - private static final int MAX_MAX_MEMORY_BUFFER_SIZE = 400; + private static final int MAX_MAX_MEMORY_DEFAULT_SIZE = 400; + private static final int BUFFER_MEMORY_FACTOR = 368; + private static int MAX_MAX_MEMORY_BUFFER_SIZE = MAX_MAX_MEMORY_DEFAULT_SIZE; private static final char LIST_SEPARATOR = ','; private static final String KEY_FOLDERS = "folders"; private final PropertiesConfiguration configuration; @@ -243,7 +238,7 @@ under multiple profiles without fiddling with environment variables, properties or command-line arguments. - 1) if PMS_PROFILE is not set, PMS.conf is located in: + 1) if PMS_PROFILE is not set, PMS.conf is located in: Windows: %ALLUSERSPROFILE%\$build Mac OS X: $HOME/Library/Application Support/$build @@ -351,8 +346,8 @@ * Default constructor that will attempt to load the PMS configuration file * from the profile path. * - * @throws ConfigurationException - * @throws IOException + * @throws org.apache.commons.configuration.ConfigurationException + * @throws java.io.IOException */ public PmsConfiguration() throws ConfigurationException, IOException { this(true); @@ -364,8 +359,8 @@ * @param loadFile Set to true to attempt to load the PMS configuration * file from the profile path. Set to false to skip * loading. - * @throws ConfigurationException - * @throws IOException + * @throws org.apache.commons.configuration.ConfigurationException + * @throws java.io.IOException */ public PmsConfiguration(boolean loadFile) throws ConfigurationException, IOException { configuration = new PropertiesConfiguration(); @@ -381,7 +376,7 @@ if (pmsSkelConfFile.isFile() && pmsSkelConfFile.canRead()) { // load defaults from skel file, save them later to PROFILE_PATH configuration.load(pmsSkelConfFile); - logger.info("Default configuration loaded from " + SKEL_PROFILE_PATH); + LOGGER.info("Default configuration loaded from " + SKEL_PROFILE_PATH); } } } @@ -391,17 +386,21 @@ tempFolder = new TempFolder(getString(KEY_TEMP_FOLDER_PATH, null)); programPaths = createProgramPathsChain(configuration); Locale.setDefault(new Locale(getLanguage())); - // set DEFAULT_AVI_SYNTH_SCRIPT properly according to language + + // Set DEFAULT_AVI_SYNTH_SCRIPT according to language DEFAULT_AVI_SYNTH_SCRIPT = - Messages.getString("MEncoderAviSynth.4") - + Messages.getString("MEncoderAviSynth.5") - + Messages.getString("MEncoderAviSynth.6") - + Messages.getString("MEncoderAviSynth.7") - + Messages.getString("MEncoderAviSynth.8") - + Messages.getString("MEncoderAviSynth.9") - + Messages.getString("MEncoderAviSynth.10") - + Messages.getString("MEncoderAviSynth.11") - + Messages.getString("MEncoderAviSynth.12"); + Messages.getString("MEncoderAviSynth.4") + + Messages.getString("MEncoderAviSynth.5") + + Messages.getString("MEncoderAviSynth.6") + + Messages.getString("MEncoderAviSynth.7") + + Messages.getString("MEncoderAviSynth.8") + + Messages.getString("MEncoderAviSynth.10") + + Messages.getString("MEncoderAviSynth.11"); + + long usableMemory = (Runtime.getRuntime().maxMemory() / 1048576) - BUFFER_MEMORY_FACTOR; + if (usableMemory > MAX_MAX_MEMORY_DEFAULT_SIZE) { + MAX_MAX_MEMORY_BUFFER_SIZE = (int) usableMemory; + } } /** @@ -1023,7 +1022,7 @@ * @return True if fontconfig should be used, false otherwise. */ public boolean isMencoderFontConfig() { - return getBoolean(KEY_MENCODER_FONT_CONFIG, false); + return getBoolean(KEY_MENCODER_FONT_CONFIG, true); } /** @@ -1518,7 +1517,7 @@ * @return True if PMS should hide the folder, false othewise. */ public boolean getHideVideoSettings() { - return getBoolean(KEY_HIDE_VIDEO_SETTINGS, false); + return getBoolean(KEY_HIDE_VIDEO_SETTINGS, true); } /** @@ -1567,7 +1566,7 @@ * @return True if PMS should pass the flag. */ public boolean getAvisynthConvertFps() { - return getBoolean(KEY_AVISYNTH_CONVERT_FPS, true); + return getBoolean(KEY_AVISYNTH_CONVERT_FPS, false); } /** @@ -1777,7 +1776,7 @@ for (String engineId : input) { if (engineId.startsWith("avs") && !registry.isAvis() && Platform.isWindows()) { if (!avsHackLogged) { - logger.info("AviSynth is not installed. You cannot use " + engineId + " as a transcoding engine."); + LOGGER.info("AviSynth is not installed. You cannot use " + engineId + " as a transcoding engine."); avsHackLogged = true; } toBeRemoved.add(engineId); @@ -1791,7 +1790,7 @@ public void save() throws ConfigurationException { configuration.save(); - logger.info("Configuration saved to: " + PROFILE_PATH); + LOGGER.info("Configuration saved to: " + PROFILE_PATH); } public String getFolders() { @@ -2209,7 +2208,7 @@ try { HOSTNAME = InetAddress.getLocalHost().getHostName(); } catch (UnknownHostException e) { - logger.info("Can't determine hostname"); + LOGGER.info("Can't determine hostname"); HOSTNAME = "unknown host"; } } @@ -2248,4 +2247,8 @@ public void removeConfigurationListener(ConfigurationListener l) { configuration.removeConfigurationListener(l); } + + public boolean initBufferMax() { + return getBoolean(KEY_BUFFER_MAX, false); + } } diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/RendererConfiguration.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/RendererConfiguration.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/RendererConfiguration.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/RendererConfiguration.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,13 +1,6 @@ package net.pms.configuration; -import java.io.File; -import java.net.InetAddress; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; -import java.util.StringTokenizer; -import java.util.regex.Pattern; - +import com.sun.jna.Platform; import net.pms.Messages; import net.pms.PMS; import net.pms.dlna.DLNAMediaInfo; @@ -17,7 +10,6 @@ import net.pms.network.HTTPResource; import net.pms.network.SpeedStats; import net.pms.util.PropertiesUtil; - import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.ConversionException; import org.apache.commons.configuration.PropertiesConfiguration; @@ -25,7 +17,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.jna.Platform; +import java.io.File; +import java.net.InetAddress; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; +import java.util.StringTokenizer; +import java.util.regex.Pattern; public class RendererConfiguration { /* diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/TempFolder.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/TempFolder.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/TempFolder.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/TempFolder.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,12 +1,12 @@ package net.pms.configuration; -import java.io.File; -import java.io.IOException; - import org.apache.commons.io.FileUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.IOException; + /** * Handles finding a temporary folder. * diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/WindowsRegistryProgramPaths.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/WindowsRegistryProgramPaths.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/configuration/WindowsRegistryProgramPaths.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/configuration/WindowsRegistryProgramPaths.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,12 +1,11 @@ package net.pms.configuration; -import java.io.File; - +import net.pms.PMS; +import net.pms.io.SystemUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import net.pms.PMS; -import net.pms.io.SystemUtils; +import java.io.File; class WindowsRegistryProgramPaths implements ProgramPaths { private static final Logger logger = LoggerFactory.getLogger(WindowsRegistryProgramPaths.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/CueFolder.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/CueFolder.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/CueFolder.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/CueFolder.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,26 +1,21 @@ package net.pms.dlna; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - -import jwbroek.cuelib.CueParser; -import jwbroek.cuelib.CueSheet; -import jwbroek.cuelib.FileData; -import jwbroek.cuelib.Position; -import jwbroek.cuelib.TrackData; +import jwbroek.cuelib.*; import net.pms.PMS; import net.pms.encoders.MEncoderVideo; import net.pms.encoders.MPlayerAudio; import net.pms.encoders.Player; import net.pms.formats.Format; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + public class CueFolder extends DLNAResource { private static final Logger LOGGER = LoggerFactory.getLogger(CueFolder.class); private File playlistfile; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaDatabase.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaDatabase.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaDatabase.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaDatabase.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,20 +18,10 @@ */ package net.pms.dlna; -import java.io.File; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.sql.Timestamp; -import java.sql.Types; -import java.util.ArrayList; - +import com.sun.jna.Platform; import net.pms.Messages; import net.pms.PMS; import net.pms.configuration.FormatConfiguration; - import org.apache.commons.lang.StringUtils; import org.h2.jdbcx.JdbcConnectionPool; import org.h2.jdbcx.JdbcDataSource; @@ -41,7 +31,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.jna.Platform; +import java.io.File; +import java.sql.*; +import java.util.ArrayList; /** * This class provides methods for creating and maintaining the database where diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaInfo.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaInfo.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaInfo.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaInfo.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,26 +18,7 @@ */ package net.pms.dlna; -import java.awt.Color; -import java.awt.Font; -import java.awt.Graphics; -import java.awt.image.BufferedImage; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.ListIterator; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.StringTokenizer; - -import javax.imageio.ImageIO; - +import com.sun.jna.Platform; import net.pms.PMS; import net.pms.configuration.RendererConfiguration; import net.pms.formats.AudioAsVideo; @@ -45,12 +26,7 @@ import net.pms.io.OutputParams; import net.pms.io.ProcessWrapperImpl; import net.pms.network.HTTPResource; -import net.pms.util.AVCHeader; -import net.pms.util.CoverUtil; -import net.pms.util.FileUtil; -import net.pms.util.MpegUtil; -import net.pms.util.ProcessUtil; - +import net.pms.util.*; import org.apache.commons.lang.StringUtils; import org.apache.sanselan.ImageInfo; import org.apache.sanselan.Sanselan; @@ -66,7 +42,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.jna.Platform; +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.*; /** * This class keeps track of scanned MediaInfo library information. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaLang.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaLang.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaLang.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaLang.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,9 +18,8 @@ */ package net.pms.dlna; -import org.apache.commons.lang.StringUtils; - import net.pms.util.Iso639; +import org.apache.commons.lang.StringUtils; /** * This class keeps track of the language information for subtitles or audio. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaSubtitle.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaSubtitle.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaSubtitle.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DLNAMediaSubtitle.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,18 +18,12 @@ */ package net.pms.dlna; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; - import net.pms.PMS; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.*; + /** * This class keeps track of the subtitle information for media. * diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DLNAResource.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DLNAResource.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DLNAResource.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DLNAResource.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,40 +18,12 @@ */ package net.pms.dlna; -import static net.pms.util.StringUtil.addAttribute; -import static net.pms.util.StringUtil.addXMLTagAndAttribute; -import static net.pms.util.StringUtil.closeTag; -import static net.pms.util.StringUtil.encodeXML; -import static net.pms.util.StringUtil.endTag; -import static net.pms.util.StringUtil.openTag; - -import java.io.IOException; -import java.io.InputStream; -import java.io.PipedInputStream; -import java.io.PipedOutputStream; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.concurrent.ArrayBlockingQueue; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; - import net.pms.PMS; import net.pms.configuration.FormatConfiguration; import net.pms.configuration.RendererConfiguration; import net.pms.dlna.virtual.TranscodeVirtualFolder; import net.pms.dlna.virtual.VirtualFolder; -import net.pms.encoders.MEncoderVideo; -import net.pms.encoders.Player; -import net.pms.encoders.PlayerFactory; -import net.pms.encoders.TSMuxerVideo; -import net.pms.encoders.VideoLanVideoStreaming; +import net.pms.encoders.*; import net.pms.external.AdditionalResourceFolderListener; import net.pms.external.ExternalFactory; import net.pms.external.ExternalListener; @@ -66,11 +38,20 @@ import net.pms.util.ImagesUtil; import net.pms.util.Iso639; import net.pms.util.MpegUtil; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.*; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +import static net.pms.util.StringUtil.*; + /** * Represents any item that can be browsed via the UPNP ContentDirectory service. * diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DVDISOFile.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DVDISOFile.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DVDISOFile.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DVDISOFile.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,9 +18,6 @@ */ package net.pms.dlna; -import java.io.File; -import java.util.List; - import net.pms.PMS; import net.pms.dlna.virtual.VirtualFolder; import net.pms.formats.Format; @@ -28,6 +25,9 @@ import net.pms.io.ProcessWrapperImpl; import net.pms.util.ProcessUtil; +import java.io.File; +import java.util.List; + public class DVDISOFile extends VirtualFolder { public static final String PREFIX = "[DVD ISO] "; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DVDISOTitle.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DVDISOTitle.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/DVDISOTitle.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/DVDISOTitle.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,6 @@ */ package net.pms.dlna; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - import net.pms.PMS; import net.pms.configuration.RendererConfiguration; import net.pms.formats.FormatFactory; @@ -32,11 +25,17 @@ import net.pms.io.ProcessWrapperImpl; import net.pms.util.FileUtil; import net.pms.util.ProcessUtil; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + public class DVDISOTitle extends DLNAResource { private static final Logger logger = LoggerFactory.getLogger(DVDISOTitle.class); private File f; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/Feed.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/Feed.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/Feed.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/Feed.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,26 +18,24 @@ */ package net.pms.dlna; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang.StringUtils; -import org.jdom.Content; -import org.jdom.Element; - import com.sun.syndication.feed.synd.SyndCategory; import com.sun.syndication.feed.synd.SyndEnclosure; import com.sun.syndication.feed.synd.SyndEntry; import com.sun.syndication.feed.synd.SyndFeed; import com.sun.syndication.io.SyndFeedInput; import com.sun.syndication.io.XmlReader; - +import org.apache.commons.lang.StringUtils; +import org.jdom.Content; +import org.jdom.Element; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + /** * TODO: Change all instance variables to private. For backwards compatibility * with external plugin code the variables have all been marked as deprecated diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/FileTranscodeVirtualFolder.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/FileTranscodeVirtualFolder.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/FileTranscodeVirtualFolder.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/FileTranscodeVirtualFolder.java 2012-06-26 21:45:17.000000000 +0000 @@ -25,7 +25,6 @@ import net.pms.encoders.Player; import net.pms.encoders.PlayerFactory; import net.pms.encoders.TSMuxerVideo; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/MapFile.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/MapFile.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/MapFile.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/MapFile.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,16 +18,6 @@ */ package net.pms.dlna; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.text.Collator; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - import net.pms.PMS; import net.pms.configuration.MapFileConfiguration; import net.pms.dlna.virtual.TranscodeVirtualFolder; @@ -35,10 +25,15 @@ import net.pms.formats.FormatFactory; import net.pms.network.HTTPResource; import net.pms.util.NaturalComparator; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.text.Collator; +import java.util.*; + /** * TODO: Change all instance variables to private. For backwards compatibility * with external plugin code the variables have all been marked as deprecated diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/MediaInfo.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/MediaInfo.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/MediaInfo.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/MediaInfo.java 2012-06-26 21:45:17.000000000 +0000 @@ -27,20 +27,13 @@ package net.pms.dlna; -import static java.util.Collections.singletonMap; - -import java.lang.reflect.Method; - +import com.sun.jna.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.jna.FunctionMapper; -import com.sun.jna.Library; -import com.sun.jna.Native; -import com.sun.jna.NativeLibrary; -import com.sun.jna.Platform; -import com.sun.jna.Pointer; -import com.sun.jna.WString; +import java.lang.reflect.Method; + +import static java.util.Collections.singletonMap; public class MediaInfo { private static final Logger logger = LoggerFactory.getLogger(MediaInfo.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/MediaInfoParser.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/MediaInfoParser.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/MediaInfoParser.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/MediaInfoParser.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,15 +1,14 @@ package net.pms.dlna; -import java.io.File; -import java.util.StringTokenizer; - import net.pms.configuration.FormatConfiguration; - import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.util.StringTokenizer; + public class MediaInfoParser { private static final Logger logger = LoggerFactory.getLogger(MediaInfoParser.class); private static MediaInfo MI; @@ -387,7 +386,12 @@ if (value.contains("/")) { value = value.substring(0, value.indexOf("/")).trim(); } - return Integer.parseInt(value); + try { + return Integer.parseInt(value); + } catch (NumberFormatException ex) { + logger.info("Unknown bitrate detected. Returning 0."); + return 0; + } } public static int getNbChannels(String value) { diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/PlaylistFolder.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/PlaylistFolder.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/PlaylistFolder.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/PlaylistFolder.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,18 +1,13 @@ package net.pms.dlna; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; - import net.pms.PMS; import net.pms.formats.Format; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.*; +import java.util.ArrayList; + public class PlaylistFolder extends DLNAResource { private static final Logger logger = LoggerFactory.getLogger(PlaylistFolder.class); private File playlistfile; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/RarredEntry.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/RarredEntry.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/RarredEntry.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/RarredEntry.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,19 +18,18 @@ */ package net.pms.dlna; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import net.pms.formats.Format; -import net.pms.util.FileUtil; import de.innosystec.unrar.Archive; import de.innosystec.unrar.rarfile.FileHeader; - +import net.pms.formats.Format; +import net.pms.util.FileUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + public class RarredEntry extends DLNAResource implements IPushOutput { private static final Logger logger = LoggerFactory.getLogger(RarredEntry.class); private String name; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/RarredFile.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/RarredFile.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/RarredFile.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/RarredFile.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,19 +18,18 @@ */ package net.pms.dlna; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.List; - import de.innosystec.unrar.Archive; import de.innosystec.unrar.exception.RarException; import de.innosystec.unrar.rarfile.FileHeader; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; + public class RarredFile extends DLNAResource { private static final Logger logger = LoggerFactory.getLogger(RarredFile.class); private File f; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/RealFile.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/RealFile.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/RealFile.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/RealFile.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,23 +18,18 @@ */ package net.pms.dlna; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; - import net.pms.PMS; import net.pms.formats.Format; import net.pms.formats.FormatFactory; import net.pms.util.FileUtil; import net.pms.util.ProcessUtil; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.*; +import java.util.ArrayList; + public class RealFile extends MapFile { private static final Logger logger = LoggerFactory.getLogger(RealFile.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/RootFolder.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/RootFolder.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/RootFolder.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/RootFolder.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,24 +18,7 @@ */ package net.pms.dlna; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.LineNumberReader; -import java.io.UnsupportedEncodingException; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URLDecoder; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.StringTokenizer; - +import com.sun.jna.Platform; import net.pms.Messages; import net.pms.PMS; import net.pms.configuration.MapFileConfiguration; @@ -50,13 +33,17 @@ import net.pms.gui.IFrame; import net.pms.xmlwise.Plist; import net.pms.xmlwise.XmlParseException; - import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.jna.Platform; +import java.io.*; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URLDecoder; +import java.util.*; public class RootFolder extends DLNAResource { private static final Logger logger = LoggerFactory.getLogger(RootFolder.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/virtual/MediaLibraryFolder.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/virtual/MediaLibraryFolder.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/virtual/MediaLibraryFolder.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/virtual/MediaLibraryFolder.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,15 +1,11 @@ package net.pms.dlna.virtual; +import net.pms.PMS; +import net.pms.dlna.*; + import java.io.File; import java.util.ArrayList; -import net.pms.PMS; -import net.pms.dlna.DLNAMediaDatabase; -import net.pms.dlna.DLNAResource; -import net.pms.dlna.DVDISOFile; -import net.pms.dlna.PlaylistFolder; -import net.pms.dlna.RealFile; - public class MediaLibraryFolder extends VirtualFolder { public static final int FILES = 0; public static final int TEXTS = 1; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/virtual/VirtualFolder.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/virtual/VirtualFolder.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/virtual/VirtualFolder.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/virtual/VirtualFolder.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,12 +18,12 @@ */ package net.pms.dlna.virtual; -import java.io.IOException; -import java.io.InputStream; - import net.pms.dlna.DLNAResource; import net.pms.network.HTTPResource; +import java.io.IOException; +import java.io.InputStream; + /** * Represents a container (folder). This is widely used by the UPNP ContentBrowser service. Child objects are expected in this folder. */ diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/virtual/VirtualVideoAction.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/virtual/VirtualVideoAction.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/virtual/VirtualVideoAction.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/virtual/VirtualVideoAction.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,16 +18,16 @@ */ package net.pms.dlna.virtual; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; - import net.pms.dlna.DLNAMediaAudio; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.DLNAResource; import net.pms.formats.FormatFactory; import net.pms.network.HTTPResource; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; + /** * Implements a container that when browsed, an action will be performed. * The class assumes that the action to be performed is to toggle a boolean value. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/WebStream.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/WebStream.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/WebStream.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/WebStream.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,13 @@ */ package net.pms.dlna; +import net.pms.network.HTTPResourceAuthenticator; + import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; -import net.pms.network.HTTPResourceAuthenticator; - /** * TODO: Change all instance variables to private. For backwards compatibility * with external plugin code the variables have all been marked as deprecated diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/ZippedEntry.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/ZippedEntry.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/ZippedEntry.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/ZippedEntry.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,6 +18,11 @@ */ package net.pms.dlna; +import net.pms.formats.Format; +import net.pms.util.FileUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -25,12 +30,6 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import net.pms.formats.Format; -import net.pms.util.FileUtil; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class ZippedEntry extends DLNAResource implements IPushOutput { private static final Logger logger = LoggerFactory.getLogger(ZippedEntry.class); private File z; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/ZippedFile.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/ZippedFile.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/dlna/ZippedFile.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/dlna/ZippedFile.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,22 +18,17 @@ */ package net.pms.dlna; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; +import net.pms.formats.Format; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipException; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; -import net.pms.formats.Format; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class ZippedFile extends DLNAResource { private static final Logger logger = LoggerFactory.getLogger(ZippedFile.class); private File z; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/AviDemuxerInputStream.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/AviDemuxerInputStream.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/AviDemuxerInputStream.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/AviDemuxerInputStream.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,28 +18,17 @@ */ package net.pms.encoders; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.PipedInputStream; -import java.io.PipedOutputStream; -import java.io.PrintWriter; -import java.util.ArrayList; - import net.pms.PMS; -import net.pms.io.Gob; -import net.pms.io.OutputParams; -import net.pms.io.PipeProcess; -import net.pms.io.ProcessWrapper; -import net.pms.io.ProcessWrapperLiteImpl; +import net.pms.io.*; import net.pms.util.H264AnnexBInputStream; import net.pms.util.PCMAudioOutputStream; import net.pms.util.ProcessUtil; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.*; +import java.util.ArrayList; + public class AviDemuxerInputStream extends InputStream { private static final Logger logger = LoggerFactory.getLogger(AviDemuxerInputStream.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegAudio.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegAudio.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegAudio.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegAudio.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,28 +18,25 @@ */ package net.pms.encoders; -import java.awt.Font; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.io.IOException; - -import javax.swing.JCheckBox; -import javax.swing.JComponent; - import com.jgoodies.forms.builder.PanelBuilder; import com.jgoodies.forms.factories.Borders; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.FormLayout; - +import net.pms.Messages; +import net.pms.PMS; import net.pms.configuration.PmsConfiguration; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.DLNAResource; import net.pms.formats.Format; import net.pms.io.OutputParams; import net.pms.io.ProcessWrapper; -import net.pms.Messages; import net.pms.network.HTTPResource; -import net.pms.PMS; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.io.IOException; public class FFMpegAudio extends FFMpegVideo { public static final String ID = "ffmpegaudio"; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegDVRMSRemux.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegDVRMSRemux.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegDVRMSRemux.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegDVRMSRemux.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,21 +18,12 @@ */ package net.pms.encoders; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.awt.Font; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.JComponent; -import javax.swing.JTextField; - import com.jgoodies.forms.builder.PanelBuilder; import com.jgoodies.forms.factories.Borders; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.FormLayout; - +import net.pms.Messages; +import net.pms.PMS; import net.pms.configuration.PmsConfiguration; import net.pms.configuration.RendererConfiguration; import net.pms.dlna.DLNAMediaInfo; @@ -41,11 +32,16 @@ import net.pms.io.OutputParams; import net.pms.io.ProcessWrapper; import net.pms.io.ProcessWrapperImpl; -import net.pms.Messages; -import net.pms.PMS; - import org.apache.commons.lang.StringUtils; +import javax.swing.*; +import java.awt.*; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + public class FFMpegDVRMSRemux extends Player { private JTextField altffpath; public static final String ID = "ffmpegdvrmsremux"; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegVideo.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegVideo.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegVideo.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/FFMpegVideo.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,19 +18,10 @@ */ package net.pms.encoders; -import java.awt.Font; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.StringTokenizer; - -import javax.swing.JComponent; -import javax.swing.JTextField; - +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.factories.Borders; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; import net.pms.Messages; import net.pms.PMS; import net.pms.dlna.DLNAMediaInfo; @@ -43,14 +34,19 @@ import net.pms.io.ProcessWrapperImpl; import net.pms.network.HTTPResource; import net.pms.util.ProcessUtil; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.factories.Borders; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; +import javax.swing.*; +import java.awt.*; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.StringTokenizer; public class FFMpegVideo extends Player { private static final Logger logger = LoggerFactory.getLogger(FFMpegVideo.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderAviSynth.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderAviSynth.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderAviSynth.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderAviSynth.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,28 +18,22 @@ */ package net.pms.encoders; -import java.awt.Dimension; -import java.awt.Font; +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.factories.Borders; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; +import net.pms.Messages; +import net.pms.PMS; +import net.pms.configuration.PmsConfiguration; + +import javax.swing.*; +import java.awt.*; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.StringTokenizer; -import javax.swing.JCheckBox; -import javax.swing.JComponent; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; - -import net.pms.Messages; -import net.pms.PMS; -import net.pms.configuration.PmsConfiguration; - -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.factories.Borders; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; - public class MEncoderAviSynth extends MEncoderVideo { public MEncoderAviSynth(PmsConfiguration configuration) { super(configuration); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderVideo.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderVideo.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderVideo.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderVideo.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,58 +18,20 @@ */ package net.pms.encoders; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.ComponentOrientation; -import java.awt.Font; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.io.File; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Locale; -import java.util.StringTokenizer; - -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JColorChooser; -import javax.swing.JComboBox; -import javax.swing.JComponent; -import javax.swing.JFileChooser; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import javax.swing.JTextField; -import javax.swing.SwingUtilities; - +import bsh.EvalError; +import bsh.Interpreter; +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.factories.Borders; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; +import com.sun.jna.Platform; import net.pms.Messages; import net.pms.PMS; import net.pms.configuration.PmsConfiguration; import net.pms.configuration.RendererConfiguration; -import net.pms.dlna.DLNAMediaAudio; -import net.pms.dlna.DLNAMediaInfo; -import net.pms.dlna.DLNAMediaSubtitle; -import net.pms.dlna.DLNAResource; -import net.pms.dlna.FileTranscodeVirtualFolder; -import net.pms.dlna.InputFile; +import net.pms.dlna.*; import net.pms.formats.Format; -import net.pms.io.OutputParams; -import net.pms.io.PipeIPCProcess; -import net.pms.io.PipeProcess; -import net.pms.io.ProcessWrapper; -import net.pms.io.ProcessWrapperImpl; -import net.pms.io.StreamModifier; +import net.pms.io.*; import net.pms.network.HTTPResource; import net.pms.newgui.FontFileFilter; import net.pms.newgui.LooksFrame; @@ -78,19 +40,18 @@ import net.pms.util.CodecUtil; import net.pms.util.FormLayoutUtil; import net.pms.util.ProcessUtil; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import bsh.EvalError; -import bsh.Interpreter; - -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.factories.Borders; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; -import com.sun.jna.Platform; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.*; +import java.util.List; public class MEncoderVideo extends Player { private static final Logger LOGGER = LoggerFactory.getLogger(MEncoderVideo.class); @@ -1364,7 +1325,7 @@ oaccopy = false; // disable AC3 remux for stereo tracks with 384 kbits bitrate and PS3 renderer (PS3 FW bug?) - boolean ps3_and_stereo_and_384_kbits = (params.mediaRenderer.getRendererName().equalsIgnoreCase("Playstation 3") && params.aid.getNrAudioChannels() == 2) && (params.aid.getBitRate() > 370000 && params.aid.getBitRate() < 400000); + boolean ps3_and_stereo_and_384_kbits = params.aid != null && (params.mediaRenderer.getRendererName().equalsIgnoreCase("Playstation 3") && params.aid.getNrAudioChannels() == 2) && (params.aid.getBitRate() > 370000 && params.aid.getBitRate() < 400000); if (configuration.isRemuxAC3() && params.aid != null && params.aid.isAC3() && !ps3_and_stereo_and_384_kbits && !avisynth() && params.mediaRenderer.isTranscodeToAC3()) { // AC3 remux takes priority oaccopy = true; @@ -1893,8 +1854,11 @@ // See if the video needs to be scaled down if ( - (scaleWidth > params.mediaRenderer.getMaxVideoWidth()) || - (scaleHeight > params.mediaRenderer.getMaxVideoHeight()) + params.mediaRenderer.isVideoRescale() && + ( + (scaleWidth > params.mediaRenderer.getMaxVideoWidth()) || + (scaleHeight > params.mediaRenderer.getMaxVideoHeight()) + ) ) { double overscannedAspectRatio = scaleWidth / scaleHeight; rendererAspectRatio = params.mediaRenderer.getMaxVideoWidth() / params.mediaRenderer.getMaxVideoHeight(); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderWebVideo.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderWebVideo.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderWebVideo.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MEncoderWebVideo.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,10 +18,6 @@ */ package net.pms.encoders; -import java.io.IOException; - -import javax.swing.JComponent; - import net.pms.configuration.PmsConfiguration; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.DLNAResource; @@ -31,6 +27,9 @@ import net.pms.io.ProcessWrapper; import net.pms.io.ProcessWrapperImpl; +import javax.swing.*; +import java.io.IOException; + public class MEncoderWebVideo extends Player { public static final String ID = "mencoderwebvideo"; private final PmsConfiguration configuration; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerAudio.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerAudio.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerAudio.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerAudio.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,21 +18,10 @@ */ package net.pms.encoders; -import java.awt.Font; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.io.IOException; -import java.util.Arrays; - -import javax.swing.JCheckBox; -import javax.swing.JComponent; - import com.jgoodies.forms.builder.PanelBuilder; import com.jgoodies.forms.factories.Borders; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.FormLayout; - - import net.pms.Messages; import net.pms.PMS; import net.pms.configuration.PmsConfiguration; @@ -45,6 +34,13 @@ import net.pms.io.ProcessWrapperImpl; import net.pms.network.HTTPResource; +import javax.swing.*; +import java.awt.*; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.io.IOException; +import java.util.Arrays; + public class MPlayerAudio extends Player { public static final String ID = "mplayeraudio"; private final PmsConfiguration configuration; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerWebAudio.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerWebAudio.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerWebAudio.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerWebAudio.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,16 +18,15 @@ */ package net.pms.encoders; -import java.io.IOException; - -import javax.swing.JComponent; - import net.pms.configuration.PmsConfiguration; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.DLNAResource; import net.pms.io.OutputParams; import net.pms.io.ProcessWrapper; +import javax.swing.*; +import java.io.IOException; + public class MPlayerWebAudio extends MPlayerAudio { public static final String ID = "mplayerwebaudio"; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerWebVideoDump.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerWebVideoDump.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerWebVideoDump.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/MPlayerWebVideoDump.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,10 +18,7 @@ */ package net.pms.encoders; -import java.io.IOException; - -import javax.swing.JComponent; - +import net.pms.PMS; import net.pms.configuration.PmsConfiguration; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.DLNAResource; @@ -31,7 +28,9 @@ import net.pms.io.ProcessWrapper; import net.pms.io.ProcessWrapperImpl; import net.pms.network.HTTPResource; -import net.pms.PMS; + +import javax.swing.*; +import java.io.IOException; public class MPlayerWebVideoDump extends MPlayerAudio { public MPlayerWebVideoDump(PmsConfiguration configuration) { diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/PlayerFactory.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/PlayerFactory.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/PlayerFactory.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/PlayerFactory.java 2012-06-26 21:45:17.000000000 +0000 @@ -19,22 +19,17 @@ */ package net.pms.encoders; -import java.io.File; -import java.util.ArrayList; - +import com.sun.jna.Platform; +import net.pms.PMS; import net.pms.configuration.PmsConfiguration; import net.pms.formats.Format; import net.pms.formats.FormatFactory; -import net.pms.io.BasicSystemUtils; -import net.pms.io.MacSystemUtils; -import net.pms.io.SolarisUtils; import net.pms.io.SystemUtils; -import net.pms.io.WinUtils; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.jna.Platform; +import java.io.File; +import java.util.ArrayList; /** * This class handles players. Creating an instance will initialize the list of @@ -78,34 +73,11 @@ * @param configuration The PMS configuration. */ public static void initialize(final PmsConfiguration configuration) { - utils = createSystemUtils(); + utils = PMS.get().getRegistry(); registerPlayers(configuration); } /** - * Creates system utilities. These are needed to determine isAvis() in - * {@link #registerPlayer(Player)}. - * - * @return The system utilities. - */ - // FIXME this is duplicated in PMS.java - private static SystemUtils createSystemUtils() { - if (Platform.isWindows()) { - return new WinUtils(); - } else { - if (Platform.isMac()) { - return new MacSystemUtils(); - } else { - if (Platform.isSolaris()) { - return new SolarisUtils(); - } else { - return new BasicSystemUtils(); - } - } - } - } - - /** * Register a known set of audio or video transcoders. * * @param configuration diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/Player.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/Player.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/Player.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/Player.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,15 +18,6 @@ */ package net.pms.encoders; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.StringTokenizer; - -import javax.swing.JComponent; - import net.pms.configuration.PmsConfiguration; import net.pms.configuration.RendererConfiguration; import net.pms.dlna.DLNAMediaAudio; @@ -41,10 +32,17 @@ import net.pms.io.ProcessWrapper; import net.pms.util.FileUtil; import net.pms.util.Iso639; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.swing.*; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.StringTokenizer; + public abstract class Player { private static final Logger logger = LoggerFactory.getLogger(Player.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/RAWThumbnailer.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/RAWThumbnailer.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/RAWThumbnailer.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/RAWThumbnailer.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,12 +1,6 @@ package net.pms.encoders; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; - -import javax.swing.JComponent; - +import net.pms.PMS; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.DLNAResource; import net.pms.formats.Format; @@ -14,7 +8,12 @@ import net.pms.io.OutputParams; import net.pms.io.ProcessWrapper; import net.pms.io.ProcessWrapperImpl; -import net.pms.PMS; + +import javax.swing.*; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; public class RAWThumbnailer extends Player { public final static String ID = "rawthumbs"; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/TsMuxerAudio.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/TsMuxerAudio.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/TsMuxerAudio.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/TsMuxerAudio.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,10 +18,6 @@ */ package net.pms.encoders; -import java.io.IOException; - -import javax.swing.JComponent; - import net.pms.configuration.PmsConfiguration; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.DLNAResource; @@ -29,6 +25,9 @@ import net.pms.io.OutputParams; import net.pms.io.ProcessWrapper; +import javax.swing.*; +import java.io.IOException; + public class TsMuxerAudio extends TSMuxerVideo { public static final String ID = "tsmuxeraudio"; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/TSMuxerVideo.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/TSMuxerVideo.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/TSMuxerVideo.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/TSMuxerVideo.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,19 +18,12 @@ */ package net.pms.encoders; -import java.awt.ComponentOrientation; -import java.awt.Font; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.io.File; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Locale; - -import javax.swing.JCheckBox; -import javax.swing.JComponent; -import javax.swing.JPanel; - +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.factories.Borders; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; +import net.pms.Messages; +import net.pms.PMS; import net.pms.configuration.PmsConfiguration; import net.pms.configuration.RendererConfiguration; import net.pms.dlna.DLNAMediaAudio; @@ -38,26 +31,22 @@ import net.pms.dlna.DLNAResource; import net.pms.dlna.InputFile; import net.pms.formats.Format; -import net.pms.io.OutputParams; -import net.pms.io.PipeIPCProcess; -import net.pms.io.PipeProcess; -import net.pms.io.ProcessWrapper; -import net.pms.io.ProcessWrapperImpl; -import net.pms.io.StreamModifier; -import net.pms.Messages; -import net.pms.PMS; +import net.pms.io.*; import net.pms.util.CodecUtil; import net.pms.util.FormLayoutUtil; - -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.factories.Borders; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.swing.*; +import java.awt.*; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.Locale; + public class TSMuxerVideo extends Player { private static final Logger logger = LoggerFactory.getLogger(TSMuxerVideo.class); private static final String COL_SPEC = "left:pref, 0:grow"; @@ -436,10 +425,10 @@ File f = new File(configuration.getTempFolder(), "pms-tsmuxer.meta"); params.log = false; PrintWriter pw = new PrintWriter(f); - pw.print("MUXOPT --no-pcr-on-video-pid "); - pw.print("--new-audio-pes "); + pw.print("MUXOPT --no-pcr-on-video-pid"); + pw.print(" --new-audio-pes"); if (ffVideo != null) { - pw.print("--no-asyncio "); + pw.print(" --no-asyncio"); } pw.print(" --vbr"); pw.println(" --vbv-len=500"); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/VideoLanVideoStreaming.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/VideoLanVideoStreaming.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/encoders/VideoLanVideoStreaming.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/encoders/VideoLanVideoStreaming.java 2012-06-26 21:45:17.000000000 +0000 @@ -19,13 +19,6 @@ package net.pms.encoders; import com.sun.jna.Platform; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.JComponent; - import net.pms.configuration.PmsConfiguration; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.DLNAResource; @@ -35,6 +28,11 @@ import net.pms.io.ProcessWrapper; import net.pms.io.ProcessWrapperImpl; +import javax.swing.*; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + public class VideoLanVideoStreaming extends Player { private final PmsConfiguration configuration; public static final String ID = "vlcvideo"; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/external/AdditionalFoldersAtRoot.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/external/AdditionalFoldersAtRoot.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/external/AdditionalFoldersAtRoot.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/external/AdditionalFoldersAtRoot.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,8 +1,9 @@ package net.pms.external; -import java.util.Iterator; import net.pms.dlna.DLNAResource; +import java.util.Iterator; + /** * Classes implementing this interface and packaged as pms plugins will show 0-n * additional folders at the root level when the DLNA tree is being browsed on diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/external/ExternalFactory.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/external/ExternalFactory.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/external/ExternalFactory.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/external/ExternalFactory.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,6 +18,10 @@ */ package net.pms.external; +import net.pms.PMS; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.File; import java.io.FileFilter; import java.io.IOException; @@ -29,11 +33,6 @@ import java.util.Enumeration; import java.util.List; -import net.pms.PMS; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** * This class takes care of registering plugins. Plugin jars are loaded, * instantiated and stored for later retrieval. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/external/ExternalListener.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/external/ExternalListener.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/external/ExternalListener.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/external/ExternalListener.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,6 +1,6 @@ package net.pms.external; -import javax.swing.JComponent; +import javax.swing.*; /** * Base interface for pms plugins. Classes implementing this interface and diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/external/FinalizeTranscoderArgsListener.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/external/FinalizeTranscoderArgsListener.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/external/FinalizeTranscoderArgsListener.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/external/FinalizeTranscoderArgsListener.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,12 +1,12 @@ package net.pms.external; -import java.util.List; - import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.DLNAResource; import net.pms.encoders.Player; import net.pms.io.OutputParams; +import java.util.List; + /** * Classes implementing this interface and packaged as pms plugins will have the * possibility to modify transcoding arguments when a resource is being diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/AudioAsVideo.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/AudioAsVideo.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/AudioAsVideo.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/AudioAsVideo.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,12 +18,12 @@ */ package net.pms.formats; -import java.util.ArrayList; - import net.pms.PMS; import net.pms.encoders.Player; import net.pms.encoders.TsMuxerAudio; +import java.util.ArrayList; + public class AudioAsVideo extends MKV { @Override public ArrayList> getProfiles() { diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/DVRMS.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/DVRMS.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/DVRMS.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/DVRMS.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,12 @@ */ package net.pms.formats; -import java.util.ArrayList; - import net.pms.PMS; - import net.pms.encoders.FFMpegDVRMSRemux; import net.pms.encoders.Player; +import java.util.ArrayList; + public class DVRMS extends Format { @Override public ArrayList> getProfiles() { diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/FormatFactory.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/FormatFactory.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/FormatFactory.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/FormatFactory.java 2012-06-26 21:45:17.000000000 +0000 @@ -19,12 +19,12 @@ */ package net.pms.formats; -import java.util.ArrayList; -import java.util.Arrays; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.ArrayList; +import java.util.Arrays; + /** * This class matches and instantiates formats. */ diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/Format.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/Format.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/Format.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/Format.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,18 +18,17 @@ */ package net.pms.formats; -import java.util.ArrayList; -import java.util.StringTokenizer; - import net.pms.configuration.RendererConfiguration; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.InputFile; import net.pms.encoders.Player; import net.pms.network.HTTPResource; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.ArrayList; +import java.util.StringTokenizer; + /** * Abstract class to store known information about a given format. */ diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/ISO.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/ISO.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/ISO.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/ISO.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,11 +18,11 @@ */ package net.pms.formats; -import java.util.ArrayList; - import net.pms.encoders.MEncoderVideo; import net.pms.encoders.Player; +import java.util.ArrayList; + public class ISO extends MPG { public static final String[] ISO_EXTENSIONS = new String[] { "iso", "img", /*"bin", "mdf", "nrg", "bwt", "cif","ccd", "vcd", "fcd"*/ }; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/JPG.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/JPG.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/JPG.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/JPG.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,10 +18,10 @@ */ package net.pms.formats; -import java.util.ArrayList; - import net.pms.encoders.Player; +import java.util.ArrayList; + public class JPG extends Format { public JPG() { type = IMAGE; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/MP3.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/MP3.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/MP3.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/MP3.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,10 +18,10 @@ */ package net.pms.formats; -import java.util.ArrayList; - import net.pms.encoders.Player; +import java.util.ArrayList; + public class MP3 extends Format { public MP3() { type = AUDIO; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/MPG.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/MPG.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/MPG.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/MPG.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,14 +18,10 @@ */ package net.pms.formats; -import java.util.ArrayList; - import net.pms.PMS; -import net.pms.encoders.FFMpegVideo; -import net.pms.encoders.MEncoderAviSynth; -import net.pms.encoders.MEncoderVideo; -import net.pms.encoders.Player; -import net.pms.encoders.TSMuxerVideo; +import net.pms.encoders.*; + +import java.util.ArrayList; public class MPG extends Format { @Override diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/OGG.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/OGG.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/OGG.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/OGG.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,13 @@ */ package net.pms.formats; -import java.util.ArrayList; - import net.pms.PMS; import net.pms.encoders.FFMpegAudio; import net.pms.encoders.MPlayerAudio; import net.pms.encoders.Player; +import java.util.ArrayList; + public class OGG extends MP3 { @Override public boolean transcodable() { diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/RAW.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/RAW.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/RAW.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/RAW.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,11 +1,5 @@ package net.pms.formats; -import java.util.ArrayList; -import java.util.List; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import net.pms.PMS; import net.pms.configuration.RendererConfiguration; import net.pms.dlna.DLNAMediaInfo; @@ -14,6 +8,11 @@ import net.pms.encoders.RAWThumbnailer; import net.pms.io.OutputParams; import net.pms.io.ProcessWrapperImpl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.List; public class RAW extends JPG { private static final Logger LOGGER = LoggerFactory.getLogger(RAW.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/WAV.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/WAV.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/WAV.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/WAV.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,13 @@ */ package net.pms.formats; -import java.util.ArrayList; - import net.pms.PMS; import net.pms.encoders.FFMpegAudio; import net.pms.encoders.MPlayerAudio; import net.pms.encoders.Player; +import java.util.ArrayList; + public class WAV extends Format { public WAV() { type = AUDIO; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/WEB.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/WEB.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/formats/WEB.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/formats/WEB.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,17 +18,12 @@ */ package net.pms.formats; -import java.util.ArrayList; - import net.pms.PMS; import net.pms.configuration.RendererConfiguration; import net.pms.dlna.DLNAMediaInfo; -import net.pms.encoders.MEncoderWebVideo; -import net.pms.encoders.MPlayerWebAudio; -import net.pms.encoders.MPlayerWebVideoDump; -import net.pms.encoders.Player; -import net.pms.encoders.VideoLanAudioStreaming; -import net.pms.encoders.VideoLanVideoStreaming; +import net.pms.encoders.*; + +import java.util.ArrayList; public class WEB extends Format { /** diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/BasicSystemUtils.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/BasicSystemUtils.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/BasicSystemUtils.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/BasicSystemUtils.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,14 +18,15 @@ */ package net.pms.io; -import java.awt.AWTException; -import java.awt.Desktop; -import java.awt.Image; -import java.awt.MenuItem; -import java.awt.PopupMenu; -import java.awt.SystemTray; -import java.awt.Toolkit; -import java.awt.TrayIcon; +import com.sun.jna.Platform; +import net.pms.Messages; +import net.pms.PMS; +import net.pms.newgui.LooksFrame; +import net.pms.util.PropertiesUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; @@ -35,16 +36,6 @@ import java.net.URI; import java.net.URISyntaxException; -import net.pms.Messages; -import net.pms.PMS; -import net.pms.newgui.LooksFrame; -import net.pms.util.PropertiesUtil; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.sun.jna.Platform; - /** * Base implementation for the SystemUtils class for the generic cases. * @author zsombor diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/BlockerFileInputStream.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/BlockerFileInputStream.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/BlockerFileInputStream.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/BlockerFileInputStream.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,13 @@ */ package net.pms.io; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.File; import java.io.FileInputStream; import java.io.IOException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class BlockerFileInputStream extends UnusedInputStream { private static final Logger logger = LoggerFactory.getLogger(BlockerFileInputStream.class); private static final int CHECK_INTERVAL = 1000; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/BufferedOutputFileImpl.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/BufferedOutputFileImpl.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/BufferedOutputFileImpl.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/BufferedOutputFileImpl.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,6 +18,11 @@ */ package net.pms.io; +import net.pms.Messages; +import net.pms.PMS; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; @@ -27,11 +32,6 @@ import java.util.Timer; import java.util.TimerTask; -import net.pms.PMS; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** * Circular memory buffer that can be used as {@link java.io.OutputStream OutputStream} and * provides methods that can read data from the memory buffer using an @@ -40,12 +40,12 @@ * typically used to hold data piped by a transcoding process in one thread until a request * for data comes in from another thread. * - * @see ProcessWrapperImpl + * @see net.pms.io.ProcessWrapperImpl * @see net.pms.network.Request Request * @see net.pms.network.RequestV2 RequestV2 */ public class BufferedOutputFileImpl extends OutputStream implements BufferedOutputFile { - private static final Logger logger = LoggerFactory.getLogger(BufferedOutputFileImpl.class); + private static final Logger LOGGER = LoggerFactory.getLogger(BufferedOutputFileImpl.class); /** * Initial size for the buffer in bytes. @@ -112,9 +112,9 @@ copy = new byte[newSize]; } catch (OutOfMemoryError e) { if (buffer.length == 0) { - logger.trace("Cannot initialize buffer to " + formatter.format(newSize) + " bytes."); + LOGGER.trace("Cannot initialize buffer to " + formatter.format(newSize) + " bytes."); } else { - logger.debug("Cannot grow buffer size from " + formatter.format(buffer.length) + " bytes to " + formatter.format(newSize) + " bytes."); + LOGGER.debug("Cannot grow buffer size from " + formatter.format(buffer.length) + " bytes to " + formatter.format(newSize) + " bytes."); } @@ -135,11 +135,11 @@ // Try to allocate the realistic alternative size copy = new byte[(int) realisticSize]; } catch (OutOfMemoryError e2) { - logger.debug("Cannot grow buffer size from " + formatter.format(buffer.length) + " bytes to " + LOGGER.debug("Cannot grow buffer size from " + formatter.format(buffer.length) + " bytes to " + formatter.format(realisticSize) + " bytes either."); - logger.trace("freeMemory: " + formatter.format(Runtime.getRuntime().freeMemory())); - logger.trace("totalMemory: " + formatter.format(Runtime.getRuntime().totalMemory())); - logger.trace("maxMemory: " + formatter.format(Runtime.getRuntime().maxMemory())); + LOGGER.trace("freeMemory: " + formatter.format(Runtime.getRuntime().freeMemory())); + LOGGER.trace("totalMemory: " + formatter.format(Runtime.getRuntime().totalMemory())); + LOGGER.trace("maxMemory: " + formatter.format(Runtime.getRuntime().maxMemory())); // Cannot allocate memory, no other option than to return the original. return buffer; @@ -148,14 +148,14 @@ } if (buffer.length == 0) { - logger.trace("Successfully initialized buffer to " + formatter.format(copy.length) + " bytes."); + LOGGER.trace("Successfully initialized buffer to " + formatter.format(copy.length) + " bytes."); } else { try { System.arraycopy(buffer, 0, copy, 0, buffer.length); - logger.trace("Successfully grown buffer from " + formatter.format(buffer.length) + " bytes to " + LOGGER.trace("Successfully grown buffer from " + formatter.format(buffer.length) + " bytes to " + formatter.format(copy.length) + " bytes."); } catch (NullPointerException npe) { - logger.trace("Cannot grow buffer size, error copying buffer contents."); + LOGGER.trace("Cannot grow buffer size, error copying buffer contents."); } } @@ -166,7 +166,7 @@ * Constructor to create a memory buffer based on settings that are passed on. Will also * start up a timer task to display buffer size and usage in the PMS main screen. * - * @param params {@link OutputParams} object that contains preferences for the buffers + * @param params {@link net.pms.io.OutputParams} object that contains preferences for the buffers * dimensions and behavior. */ public BufferedOutputFileImpl(OutputParams params) { @@ -189,7 +189,8 @@ this.timeend = params.timeend; this.shiftScr = params.shift_scr; - if (maxMemorySize > INITIAL_BUFFER_SIZE) { + if ((maxMemorySize > INITIAL_BUFFER_SIZE) && + !PMS.getConfiguration().initBufferMax()) { // Try to limit memory usage a bit. // Start with a modest allocation initially, grow to max when needed later. buffer = growBuffer(null, INITIAL_BUFFER_SIZE); @@ -199,10 +200,10 @@ if (buffer.length == 0) { // Cannot transcode without a buffer - logger.info("FATAL ERROR: OutOfMemory / dumping stats"); - logger.trace("freeMemory: " + Runtime.getRuntime().freeMemory()); - logger.trace("totalMemory: " + Runtime.getRuntime().totalMemory()); - logger.trace("maxMemory: " + Runtime.getRuntime().maxMemory()); + LOGGER.info("FATAL ERROR: OutOfMemory / dumping stats"); + LOGGER.trace("freeMemory: " + Runtime.getRuntime().freeMemory()); + LOGGER.trace("totalMemory: " + Runtime.getRuntime().totalMemory()); + LOGGER.trace("maxMemory: " + Runtime.getRuntime().maxMemory()); System.exit(1); } @@ -217,8 +218,12 @@ PMS.get().getFrame().setReadValue(rc, ""); } long space = (writeCount - rc); - logger.trace("buffered: " + formatter.format(space) + " bytes / inputs: " + inputStreams.size()); - PMS.get().getFrame().setValue((int) (100 * space / maxMemorySize), formatter.format(space) + " bytes"); + LOGGER.trace("buffered: " + formatter.format(space) + " bytes / inputs: " + inputStreams.size()); + + // There are 1048576 bytes in a megabyte + long bufferInMBs = space / 1048576; + + PMS.get().getFrame().setValue((int) (100 * space / maxMemorySize), formatter.format(bufferInMBs) + " " + Messages.getString("StatusTab.12")); } }, 0, 2000); } @@ -226,7 +231,7 @@ @Override public void close() throws IOException { - logger.trace("EOF"); + LOGGER.trace("EOF"); eof = true; } @@ -240,7 +245,7 @@ } catch (IndexOutOfBoundsException e) { // this should never happen unless there's a concurrency issue, // so log it if it does - logger.error("Unexpected input stream removal", e); + LOGGER.error("Unexpected input stream removal", e); } } @@ -258,26 +263,26 @@ inputStreams.add(atominputStream); } else { if (PMS.getConfiguration().getTrancodeKeepFirstConnections()) { - logger.debug("BufferedOutputFile is already attached to an InputStream: " + getCurrentInputStream()); + LOGGER.debug("BufferedOutputFile is already attached to an InputStream: " + getCurrentInputStream()); } else { // Ditlew - fixes the above (the above iterator breaks on items getting close, cause they will remove them self from the arraylist) while (inputStreams.size() > 0) { try { inputStreams.get(0).close(); } catch (IOException e) { - logger.error("Error: ", e); + LOGGER.error("Error: ", e); } } inputStreams.clear(); atominputStream = new WaitBufferedInputStream(this); inputStreams.add(atominputStream); - logger.debug("Reassign inputstream: " + getCurrentInputStream()); + LOGGER.debug("Reassign inputstream: " + getCurrentInputStream()); } return null; } if (newReadPosition > 0) { - logger.debug("Setting InputStream new position to: " + formatter.format(newReadPosition)); + LOGGER.debug("Setting InputStream new position to: " + formatter.format(newReadPosition)); atominputStream.setReadCount(newReadPosition); } return atominputStream; @@ -297,7 +302,7 @@ WaitBufferedInputStream input = getCurrentInputStream(); - //logger.trace("write(" + b.length + ", " + off + ", " + len + "), writeCount = " + writeCount + ", readCount = " + (input != null ? input.getReadCount() : "null")); + //LOGGER.trace("write(" + b.length + ", " + off + ", " + len + "), writeCount = " + writeCount + ", readCount = " + (input != null ? input.getReadCount() : "null")); while ((input != null && (writeCount - input.getReadCount() > bufferOverflowWarning)) || (input == null && writeCount > bufferOverflowWarning)) { try { @@ -400,7 +405,7 @@ while (bb && ((input != null && (writeCount - input.getReadCount() > bufferOverflowWarning)) || (input == null && writeCount == bufferOverflowWarning))) { try { Thread.sleep(CHECK_INTERVAL); - //logger.trace("BufferedOutputFile Full"); + //LOGGER.trace("BufferedOutputFile Full"); } catch (InterruptedException e) { } input = getCurrentInputStream(); @@ -474,7 +479,7 @@ buffer[m1] = (byte) ((buffer[m1] & 7) + ((scr_14_00_new << 3) & 248)); // 11111000 // Debug - //logger.trace("Ditlew - SCR "+scr+" ("+(int)(scr/90000)+") -> "+scr_new+" ("+(int)(scr_new/90000)+") "+offset_sec+" secs"); + //LOGGER.trace("Ditlew - SCR "+scr+" ("+(int)(scr/90000)+") -> "+scr_new+" ("+(int)(scr_new/90000)+") "+offset_sec+" secs"); } } @@ -526,7 +531,7 @@ buffer[m1] = (byte) ((buffer[m1] & 31) + (_s << 5)); // 00011111 // Debug - //logger.trace("Ditlew - GOP "+h+":"+m+":"+s+" -> "+_h+":"+_m+":"+_s+" "+offset_sec+" secs"); + //LOGGER.trace("Ditlew - GOP "+h+":"+m+":"+s+" -> "+_h+":"+_m+":"+_s+" "+offset_sec+" secs"); } } @@ -637,7 +642,7 @@ if (readCount > INITIAL_BUFFER_SIZE && readCount < maxMemorySize) { int newMargin = maxMemorySize - MARGIN_MEDIUM; if (bufferOverflowWarning != newMargin) { - logger.debug("Setting margin to 2Mb"); + LOGGER.debug("Setting margin to 2Mb"); } this.bufferOverflowWarning = newMargin; } @@ -648,7 +653,7 @@ int minBufferS = firstRead ? minMemorySize : secondread_minsize; while (writeCount - readCount <= minBufferS && !eof && c < 15) { if (c == 0) { - logger.trace("Suspend Read: readCount=" + readCount + " / writeCount=" + writeCount); + LOGGER.trace("Suspend Read: readCount=" + readCount + " / writeCount=" + writeCount); } c++; try { @@ -660,7 +665,7 @@ attachedThread.setReadyToStop(false); } if (c > 0) { - logger.trace("Resume Read: readCount=" + readCount + " / writeCount=" + writeCount); + LOGGER.trace("Resume Read: readCount=" + readCount + " / writeCount=" + writeCount); } if (buffer == null || !buffered) { @@ -688,7 +693,7 @@ if (readCount > INITIAL_BUFFER_SIZE && readCount < maxMemorySize) { int newMargin = maxMemorySize - MARGIN_MEDIUM; if (bufferOverflowWarning != newMargin) { - logger.debug("Setting margin to 2Mb"); + LOGGER.debug("Setting margin to 2Mb"); } this.bufferOverflowWarning = newMargin; } @@ -699,7 +704,7 @@ int minBufferS = firstRead ? minMemorySize : secondread_minsize; while (writeCount - readCount <= minBufferS && !eof && c < 15) { if (c == 0) { - logger.trace("Suspend Read: readCount=" + readCount + " / writeCount=" + writeCount); + LOGGER.trace("Suspend Read: readCount=" + readCount + " / writeCount=" + writeCount); } c++; try { @@ -712,7 +717,7 @@ } if (c > 0) { - logger.trace("Resume Read: readCount=" + readCount + " / writeCount=" + writeCount); + LOGGER.trace("Resume Read: readCount=" + readCount + " / writeCount=" + writeCount); } if (buffer == null || !buffered) { @@ -726,7 +731,7 @@ if (attachedThread != null) { throw new RuntimeException("BufferedOutputFile is already attached to a Thread: " + attachedThread); } - logger.debug("Attaching thread: " + thread); + LOGGER.debug("Attaching thread: " + thread); attachedThread = thread; } @@ -746,7 +751,7 @@ try { Thread.sleep(CHECK_END_OF_PROCESS); } catch (InterruptedException e) { - logger.error(null, e); + LOGGER.error(null, e); } if (attachedThread != null && attachedThread.isReadyToStop()) { if (!attachedThread.isDestroyed()) { @@ -765,12 +770,12 @@ try { debugOutput.close(); } catch (IOException e) { - logger.debug("Caught exception", e); + LOGGER.debug("Caught exception", e); } } timer.cancel(); if (buffer != null) { - logger.trace("Destroying buffer"); + LOGGER.trace("Destroying buffer"); buffer = null; } buffered = false; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/Gob.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/Gob.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/Gob.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/Gob.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,14 +18,14 @@ */ package net.pms.io; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - // "Gob": a cryptic name for (e.g.) StreamGobbler - i.e. a stream // consumer that reads and discards the stream public class Gob extends Thread { diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/MacSystemUtils.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/MacSystemUtils.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/MacSystemUtils.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/MacSystemUtils.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,5 +1,8 @@ package net.pms.io; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.IOException; import java.net.NetworkInterface; import java.net.SocketException; @@ -7,9 +10,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class MacSystemUtils extends BasicSystemUtils { private final static Logger logger = LoggerFactory.getLogger(MacSystemUtils.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/OutputBufferConsumer.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/OutputBufferConsumer.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/OutputBufferConsumer.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/OutputBufferConsumer.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,13 @@ */ package net.pms.io; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.IOException; import java.io.InputStream; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class OutputBufferConsumer extends OutputConsumer { private static final Logger logger = LoggerFactory.getLogger(OutputBufferConsumer.class); private BufferedOutputFile outputBuffer; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/OutputConsumer.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/OutputConsumer.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/OutputConsumer.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/OutputConsumer.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,13 @@ */ package net.pms.io; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.IOException; import java.io.InputStream; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public abstract class OutputConsumer extends Thread { private static final Logger LOGGER = LoggerFactory.getLogger(OutputConsumer.class); protected InputStream inputStream; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/OutputParams.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/OutputParams.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/OutputParams.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/OutputParams.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,15 +18,15 @@ */ package net.pms.io; -import java.io.File; -import java.util.Arrays; - import net.pms.configuration.PmsConfiguration; import net.pms.configuration.RendererConfiguration; import net.pms.dlna.DLNAMediaAudio; import net.pms.dlna.DLNAMediaSubtitle; import net.pms.dlna.IPushOutput; +import java.io.File; +import java.util.Arrays; + public class OutputParams { public File outputFile; public File workDir; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/OutputTextConsumer.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/OutputTextConsumer.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/OutputTextConsumer.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/OutputTextConsumer.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,6 +18,9 @@ */ package net.pms.io; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -25,9 +28,6 @@ import java.util.ArrayList; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class OutputTextConsumer extends OutputConsumer { private static final Logger logger = LoggerFactory.getLogger(OutputTextConsumer.class); private List lines = new ArrayList(); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/OutputTextLogger.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/OutputTextLogger.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/OutputTextLogger.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/OutputTextLogger.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,15 +18,15 @@ */ package net.pms.io; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** * A version of OutputTextConsumer that a) logs all output to the debug.log and b) doesn't store the output */ diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/PipeIPCProcess.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/PipeIPCProcess.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/PipeIPCProcess.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/PipeIPCProcess.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,19 +18,17 @@ */ package net.pms.io; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; - +import com.sun.jna.Platform; import net.pms.util.DTSAudioOutputStream; import net.pms.util.H264AnnexBInputStream; import net.pms.util.PCMAudioOutputStream; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.jna.Platform; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; public class PipeIPCProcess extends Thread implements ProcessWrapper { private static final Logger logger = LoggerFactory.getLogger(PipeIPCProcess.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/PipeProcess.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/PipeProcess.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/PipeProcess.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/PipeProcess.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,20 +18,12 @@ */ package net.pms.io; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.RandomAccessFile; - +import com.sun.jna.Platform; import net.pms.PMS; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.jna.Platform; +import java.io.*; public class PipeProcess { private static final Logger logger = LoggerFactory.getLogger(PipeProcess.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/ProcessWrapperImpl.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/ProcessWrapperImpl.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/ProcessWrapperImpl.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/ProcessWrapperImpl.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,19 +18,18 @@ */ package net.pms.io; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - import net.pms.PMS; import net.pms.encoders.AviDemuxerInputStream; import net.pms.util.ProcessUtil; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + public class ProcessWrapperImpl extends Thread implements ProcessWrapper { private static final Logger logger = LoggerFactory.getLogger(ProcessWrapperImpl.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/ProcessWrapperLiteImpl.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/ProcessWrapperLiteImpl.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/ProcessWrapperLiteImpl.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/ProcessWrapperLiteImpl.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,12 +18,12 @@ */ package net.pms.io; +import net.pms.util.ProcessUtil; + import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; -import net.pms.util.ProcessUtil; - public class ProcessWrapperLiteImpl implements ProcessWrapper { private Process p; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/SizeLimitInputStream.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/SizeLimitInputStream.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/SizeLimitInputStream.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/SizeLimitInputStream.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,7 +18,8 @@ * See COPYING.TXT for details. */ -import java.io.*; +import java.io.IOException; +import java.io.InputStream; /** * An input stream wrapper that will read only a set number of bytes from the diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/SystemUtils.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/SystemUtils.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/SystemUtils.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/SystemUtils.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,11 +1,11 @@ package net.pms.io; +import net.pms.newgui.LooksFrame; + import java.io.File; import java.net.NetworkInterface; import java.net.SocketException; -import net.pms.newgui.LooksFrame; - public interface SystemUtils { public abstract void disableGoToSleep(); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/UnbufferedOutputFile.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/UnbufferedOutputFile.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/UnbufferedOutputFile.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/UnbufferedOutputFile.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,14 +18,14 @@ */ package net.pms.io; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.IOException; import java.io.InputStream; import java.io.PipedInputStream; import java.io.PipedOutputStream; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** * Utility class to transport bytes from a transcoding process to a DLNA client. Unlike diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/UnusedInputStream.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/UnusedInputStream.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/UnusedInputStream.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/UnusedInputStream.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,12 +18,12 @@ */ package net.pms.io; -import java.io.IOException; -import java.io.InputStream; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.io.InputStream; + public abstract class UnusedInputStream extends InputStream { private static final Logger logger = LoggerFactory.getLogger(UnusedInputStream.class); private InputStream inputStream; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/WindowsNamedPipe.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/WindowsNamedPipe.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/WindowsNamedPipe.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/WindowsNamedPipe.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,25 +18,18 @@ */ package net.pms.io; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.PipedInputStream; -import java.io.PipedOutputStream; -import java.util.ArrayList; - -import net.pms.PMS; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import com.sun.jna.Memory; import com.sun.jna.Native; import com.sun.jna.Pointer; import com.sun.jna.Structure; import com.sun.jna.ptr.IntByReference; import com.sun.jna.win32.StdCallLibrary; +import net.pms.PMS; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.util.ArrayList; public class WindowsNamedPipe extends Thread implements ProcessWrapper { private static final Logger logger = LoggerFactory.getLogger(WindowsNamedPipe.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/WinUtils.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/WinUtils.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/io/WinUtils.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/io/WinUtils.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,20 +18,18 @@ */ package net.pms.io; -import java.io.File; -import java.lang.reflect.Method; -import java.nio.CharBuffer; -import java.util.prefs.Preferences; - -import net.pms.PMS; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.WString; import com.sun.jna.ptr.LongByReference; +import net.pms.PMS; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.lang.reflect.Method; +import java.nio.CharBuffer; +import java.util.prefs.Preferences; /** * Contains the Windows specific native functionality. Do not try to instantiate on Linux/MacOSX ! diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/logging/DebugLogPathDefiner.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/logging/DebugLogPathDefiner.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/logging/DebugLogPathDefiner.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/logging/DebugLogPathDefiner.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,12 @@ */ package net.pms.logging; -import java.io.File; -import java.io.IOException; - +import ch.qos.logback.core.PropertyDefinerBase; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ch.qos.logback.core.PropertyDefinerBase; +import java.io.File; +import java.io.IOException; /** * Logback PropertyDefiner to set the path for the debug.log file. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/logging/FrameAppender.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/logging/FrameAppender.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/logging/FrameAppender.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/logging/FrameAppender.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,15 +18,14 @@ */ package net.pms.logging; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import net.pms.PMS; -import net.pms.gui.IFrame; - import ch.qos.logback.core.UnsynchronizedAppenderBase; import ch.qos.logback.core.encoder.Encoder; import ch.qos.logback.core.status.ErrorStatus; +import net.pms.PMS; +import net.pms.gui.IFrame; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; /** * Special Logback appender to 'print' log messages on the PMS GUI. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/logging/LoggingConfigFileLoader.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/logging/LoggingConfigFileLoader.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/logging/LoggingConfigFileLoader.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/logging/LoggingConfigFileLoader.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,15 +18,6 @@ */ package net.pms.logging; -import java.io.File; -import java.util.HashMap; -import java.util.Iterator; - -import net.pms.util.PropertiesUtil; - -import org.slf4j.ILoggerFactory; -import org.slf4j.LoggerFactory; - import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.joran.JoranConfigurator; @@ -35,6 +26,13 @@ import ch.qos.logback.core.FileAppender; import ch.qos.logback.core.joran.spi.JoranException; import ch.qos.logback.core.util.StatusPrinter; +import net.pms.util.PropertiesUtil; +import org.slf4j.ILoggerFactory; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.util.HashMap; +import java.util.Iterator; /** * Simple loader for logback configuration files. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/messages_ca.properties ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/messages_ca.properties --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/messages_ca.properties 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/messages_ca.properties 2012-06-26 21:45:17.000000000 +0000 @@ -1,30 +1,30 @@ -DLNAMediaDatabase.0=La memoria de la base de dades s'ha de reinicialitzar.\nPerdoneu les mol\u00cbsties\! +DLNAMediaDatabase.0=La memoria de la base de dades s'ha de reinicialitzar.\nPerdoneu les mol\u00e8sties\! FFMpegDVRMSRemux.0=Ruta Alternativa de FFmpeg\: FFMpegDVRMSRemux.1=Propietats per remuxing DVR-MS FFMpegVideo.0=Propietats del motor AviSynth/FFmpeg i prou (Preferir AviSynth/MEncoder) FoldTab.0= -FoldTab.1=Opcions de compartici\u00db +FoldTab.1=Opcions de compartici\u00f3 FoldTab.2=Escanejar totes les carpetes compartides FoldTab.3=Escanejar totes les carpetes compartides Pot tardar molt\!\n -FoldTab.4=Esteu segur de voler comen\uff83\uff67ar l'escaneig?\n\n +FoldTab.4=Esteu segur de voler comen\u00e7ar l'escaneig?\n\n FoldTab.5=Ocultar les extensions dels arxius FoldTab.6=Ocultar la Carpeta \#Ajustaments de Video\# FoldTab.7=Carpetes compartides -FoldTab.8=Ocultar els noms dels motors de transcodificaci\u00db +FoldTab.8=Ocultar els noms dels motors de transcodificaci\u00f3 FoldTab.9=Afegir Directori FoldTab.10=Voleu parar l'escaneig?\n\n -FoldTab.11=Activar la copia de video transcodificat a la PSA3 (Atenci\u00db, els fitxers no tenen mida fixa \!) +FoldTab.11=Activar la copia de video transcodificat a la PSA3 (Atenci\u00f3, els fitxers no tenen mida fixa \!) FoldTab.12=Ordenar les carpetes compartides FoldTab.13=Miniatures FoldTab.14=Fer servir Mplayer per les Miniatures de Video -FoldTab.15=Alfab\u00cbticament (A-Z) -FoldTab.16=Per data, els m\u00c8s nous primer +FoldTab.15=Alfab\u00e8ticament (A-Z) +FoldTab.16=Per data, els m\u00e9s nous primer FoldTab.17=Per data, el mes vells primer FoldTab.18=Ordre dels fitxers\: FoldTab.19=Miniatures dels DVD ISO -FoldTab.20=ASCIIb\u00cbticament +FoldTab.20=ASCIIb\u00e8ticament FoldTab.21=Miniatures de imatge -FoldTab.22=Alfanum\u00cbric +FoldTab.22=Alfanum\u00e8ric FoldTab.23=Descarrega d'amazon.com FoldTab.24=Descarrega de discogs.com FoldTab.26=Mostra miniatures de so\: @@ -37,16 +37,16 @@ FoldTab.33=Hide \#Transcode\# Folder FoldTab.34=Show aperture library FontFileFilter.3=Fonts Truetype -LinksTab.5=Enlla\u00c1os d'utilitat\: +LinksTab.5=Enlla\u00e7os d'utilitat\: LooksFrame.5=Sortir LooksFrame.6=Panell Principal LooksFrame.9=Guardar LooksFrame.12=Rearrancar el Servidor -LooksFrame.13=El servidor s'ha de reiniciar a causa de un canvi de configuraci\u00db +LooksFrame.13=El servidor s'ha de reiniciar a causa de un canvi de configuraci\u00f3 LooksFrame.18=Estat LooksFrame.19=Rastreig -LooksFrame.20=Configuraci\u00db General -LooksFrame.21=Ajustaments de transcodificaci\u00db +LooksFrame.20=Configuraci\u00f3 General +LooksFrame.21=Ajustaments de transcodificaci\u00f3 LooksFrame.22=Ajustaments Navegar/Compartir LooksFrame.24=Ajuda LooksFrame.25=Quant a @@ -54,16 +54,16 @@ MEncoderAviSynth.3=Permetre el canvi de n\u02d9mero de fotogrames de variable a constant amb AviSynth (convertfps\=true) MEncoderVideo.0=Saltar el desbloqueig de filtre de loop per H264. Pot degradar la qualitat MEncoderVideo.1=Ajustaments del decoder de Video/Audio per MEncoder solamente -MEncoderVideo.2=M\u00cbtode alternatiu de sincronia A/V -MEncoderVideo.3=Fer servir els par\u2021metres per defecte dels codecs de l'aplicaci\u00db (Recomanat\!) -MEncoderVideo.4=For\u00c1ar n\u02d9mero de fotogrames rebuts del FFmpeg -MEncoderVideo.5=Pot incloure aqu\u00cc opci\u00dbns espec\u00ccfiques, tals como un filtre de soroll per exemple\: -vf hqdn3d +MEncoderVideo.2=M\u00e8tode alternatiu de sincronia A/V +MEncoderVideo.3=Fer servir els par\u00e0metres per defecte dels codecs de l'aplicaci\u00f3 (Recomanat\!) +MEncoderVideo.4=For\u00e7ar n\u02d9mero de fotogrames rebuts del FFmpeg +MEncoderVideo.5=Pot incloure aqu\u00ed opci\u00f3ns espec\u00edfiques, tals como un filtre de soroll per exemple\: -vf hqdn3d MEncoderVideo.6=Opcions personalitzades\: -MEncoderVideo.7=Prioritat d'idioma d'\u2021udio\: -MEncoderVideo.8=Configuraci\u00db de Subt\u00cctols -MEncoderVideo.9=Prioritat d'idioma de Subt\u00cctols\: -MEncoderVideo.10=Prioritat de idioma de \u00bfudio/subt\u00cctols (ex\: en,off;eng,off) -MEncoderVideo.11=Codi de p\u2021gina per subtitols\: +MEncoderVideo.7=Prioritat d'idioma d'\u00e0udio\: +MEncoderVideo.8=Configuraci\u00f3 de Subt\u00edtols +MEncoderVideo.9=Prioritat d'idioma de Subt\u00edtols\: +MEncoderVideo.10=Prioritat de idioma de \u00e0udio/subt\u00edtols (ex\: en,off;eng,off) +MEncoderVideo.11=Codi de p\u00e0gina per subtitols\: MEncoderVideo.12=Ajustaments de font ASS\: Escala de font MEncoderVideo.13=Vora de la font MEncoderVideo.14=Ombra de font @@ -72,88 +72,88 @@ MEncoderVideo.17=Vora de font MEncoderVideo.18=Desenfoc de la font MEncoderVideo.19=Marge inferior de la font -MEncoderVideo.20=Subt\u00cctols ASS/SSA +MEncoderVideo.20=Subt\u00edtols ASS/SSA MEncoderVideo.21=Fontconfig/Fonts incrustades -MEncoderVideo.22=Autocarregar subt\u00cctols *.srt/*.sub amb el mateix nom de fitxer +MEncoderVideo.22=Autocarregar subt\u00edtols *.srt/*.sub amb el mateix nom de fitxer MEncoderVideo.23=Mode FriBiDi -MEncoderVideo.24=Especificar la Font TrueType (per idiomes asi\u2021tics)\: +MEncoderVideo.24=Especificar la Font TrueType (per idiomes asi\u00e0tics)\: MEncoderVideo.25=Escollir una font Truetype -MEncoderVideo.26=Filtre de Desentralla\u00c1at +MEncoderVideo.26=Filtre de Desentralla\u00e7at MEncoderVideo.27=Fer servir Escalador de Video MEncoderVideo.28=Ample MEncoderVideo.29=Ajustaments per experts \: Parametres especifics de Codecs -MEncoderVideo.30=Al\u00c1ada +MEncoderVideo.30=Al\u00e7ada MEncoderVideo.31=Color dels subtitols MEncoderVideo.32=Remescla quan cuando la pista de so sigui AC3 (no recodificar) -MEncoderVideo.33=Par\u2021metres personalitzats\: -MEncoderVideo.34=Editar par\u2021metres espec\u00ccfics de codecs +MEncoderVideo.33=Par\u00e0metres personalitzats\: +MEncoderVideo.34=Editar par\u00e0metres espec\u00edfics de codecs MEncoderVideo.35=Suport multinucli millorat MEncoderVideo.36=Estil per defecte ASS MEncoderVideo.37=Carpeta de subtitols alternativa MEncoderVideo.38=Fer Remux dels videos amb tsMuxeR quan sigui possible enlloc de fer transcoding MEncoderVideo.39=Fer Remux del video dels DVD ISO (no recodificar) -MEncoderVideo.68=\#Aqui aqu\u00cc es por posar par\u2021metres espec\u00ccfics per combinacions de codecs.\n -MEncoderVideo.69=\#Utilitza-ho sobretot si hi ha problemes amb la sincronitzaci\u00db A/V, per\u00da tamb\u00c8 es pot utilitzar per qualsevol altra cosa\n -MEncoderVideo.70=\#Es un ajust per experts, no ho utilitzis si no saps ben b\u00c8 el que est\u2021s fent\n -MEncoderVideo.71=\#La sintaxis es {condici\u00db java} \:\: {opcions MEncoder} ; Podeu acumular varies opcions\n +MEncoderVideo.68=\#Aqui aqu\u00ed es por posar par\u00e0metres espec\u00edfics per combinacions de codecs.\n +MEncoderVideo.69=\#Utilitza-ho sobretot si hi ha problemes amb la sincronitzaci\u00f3 A/V, per\u00da tamb\u00c8 es pot utilitzar per qualsevol altra cosa\n +MEncoderVideo.70=\#Es un ajust per experts, no ho utilitzis si no saps ben b\u00c8 el que est\u00e0s fent\n +MEncoderVideo.71=\#La sintaxis es {condici\u00f3 java} \:\: {opcions MEncoder} ; Podeu acumular varies opcions\n MEncoderVideo.72=\#Tokens permesos\: filename srtfile ambtainer vcodec acodec samplerate framerate width height channels duration\n -MEncoderVideo.73=\#Compte, qualsevol l\u00ccnia mal formada ser\u2021 esborrada\n +MEncoderVideo.73=\#Compte, qualsevol l\u00ednia mal formada ser\u00e0 esborrada\n MEncoderVideo.75=\#Opcions especials\:\n -MEncoderVideo.76=\# -noass\: deshabilitar totalment els Subt\u00cctols ASS/SSA ja que pot afectar a la sincronia A/V\n -MEncoderVideo.77=\# -nosync\: deshabilitar totalment els M\u00cbtode alternatiu de sincronia A/V per Aquesta ambdicion (-mc hace lo mismo)\n -MEncoderVideo.78=\# -quality\: ignorar la configuraci\u00db de cualitat de video\n -MEncoderVideo.79=\# -mt\: for\u00c1ar l'\u02d9s del MEncoder multifil (experimental, pot resultar inestable)\n -MEncoderVideo.80=\#Aquesta llista millorar\u2021 amb el temos\: ajustaments i comentaris sobre codecs/fitxers sempre s\u00dbn benvinguts\n\n -MEncoderVideo.87=\#Pot especificar sus propias ambdiciones y opci\u00dbes\! Por ejemplo, per usar el MEncoder multihilo\n -MEncoderVideo.88=\#per qualsevol contingut H264 en HD (redundant amb la opci\u00db principal)\: vcodec \=\= h264 && width >\= 1280 \:\: -mt -lavdopts fast\n -MEncoderVideo.89=\#per treure judder de 24p en una televisi\u00db de 50hz TV\: framerate \=\= 23.976 \:\: -speed 1.042709376 -ofps 25\n -MEncoderVideo.91=\#per fer remux quan el video \u00c8s MPEG-2 sense subt\u00cctols\: vcodec \=\= mpeg2 && srtfile \=\= null \:\: -ovc copy -nosync +MEncoderVideo.76=\# -noass\: deshabilitar totalment els Subt\u00edtols ASS/SSA ja que pot afectar a la sincronia A/V\n +MEncoderVideo.77=\# -nosync\: deshabilitar totalment els M\u00e8tode alternatiu de sincronia A/V per Aquesta ambdicion (-mc hace lo mismo)\n +MEncoderVideo.78=\# -quality\: ignorar la configuraci\u00f3 de cualitat de video\n +MEncoderVideo.79=\# -mt\: for\u00e7ar l'\u02d9s del MEncoder multifil (experimental, pot resultar inestable)\n +MEncoderVideo.80=\#Aquesta llista millorar\u00e0 amb el temos\: ajustaments i comentaris sobre codecs/fitxers sempre s\u00f3n benvinguts\n\n +MEncoderVideo.87=\#Pot especificar sus propias ambdiciones y opci\u00f3es\! Por ejemplo, per usar el MEncoder multihilo\n +MEncoderVideo.88=\#per qualsevol contingut H264 en HD (redundant amb la opci\u00f3 principal)\: vcodec \=\= h264 && width >\= 1280 \:\: -mt -lavdopts fast\n +MEncoderVideo.89=\#per treure judder de 24p en una televisi\u00f3 de 50hz TV\: framerate \=\= 23.976 \:\: -speed 1.042709376 -ofps 25\n +MEncoderVideo.91=\#per fer remux quan el video \u00c8s MPEG-2 sense subt\u00edtols\: vcodec \=\= mpeg2 && srtfile \=\= null \:\: -ovc copy -nosync MEncoderVideo.92=Qualitat dels subtitols per DVD/VOBsub (0-4) (m\u00c8s alt \u00c8s millor) MEncoderVideo.93=Afegir marges per compensar overscan\: -MEncoderVideo.94=Subtitols for\u00c1ats\: -MEncoderVideo.95=Etiquetes for\u00c1ades\: +MEncoderVideo.94=Subtitols for\u00e7ats\: +MEncoderVideo.95=Etiquetes for\u00e7ades\: NetworkTab.0=Idioma [necesita rearrancar la aplicacion]\: NetworkTab.1=Examinar arxius comprimits .RAR/.ZIP/.CBR -NetworkTab.2=Genraci\u00db de miniatures +NetworkTab.2=Genraci\u00f3 de miniatures NetworkTab.3=Iniciar minimitzat NetworkTab.4=Instalar como a Servei de Windows -NetworkTab.5=Configuraci\u00db General -NetworkTab.6=Tama\u00d2o maximo del buffer de transcodificaci\u00db, en megabytes (maximo MAX_BUFFER_SIZE)\: +NetworkTab.5=Configuraci\u00f3 General +NetworkTab.6=Tama\u00d2o maximo del buffer de transcodificaci\u00f3, en megabytes (maximo MAX_BUFFER_SIZE)\: NetworkTab.7=N\u02d9mero de nuclis usats per transcodificar\: (sembla que teniu NetworkTab.8=Buscar actualitzacions -NetworkTab.9=Verificar autom\u2021ticament -NetworkTab.11=Heu instal\u2211lat el servei de Windows \! Per fer-lo servir heu de tancar aquesta aplicaci\u00db\n -NetworkTab.12=llavors iniciar (i configurar) el servei des del panell d'administraci\u00db de Windows.\n\n -NetworkTab.13=La cache es reinicialitzar\u2021 \!\n -NetworkTab.14=Error en la instalaci\u00db del servei de Windows\!\n -NetworkTab.15=Propietats de Navegaci\u00db/Lectura -NetworkTab.16=Cerca de la posici\u00db de les miniatures (en segons)\: +NetworkTab.9=Verificar autom\u00e0ticament +NetworkTab.11=Heu instal\u00b7lat el servei de Windows \! Per fer-lo servir heu de tancar aquesta aplicaci\u00f3\n +NetworkTab.12=llavors iniciar (i configurar) el servei des del panell d'administraci\u00f3 de Windows.\n\n +NetworkTab.13=La cache es reinicialitzar\u00e0 \!\n +NetworkTab.14=Error en la instalaci\u00f3 del servei de Windows\!\n +NetworkTab.15=Propietats de Navegaci\u00f3/Lectura +NetworkTab.16=Cerca de la posici\u00f3 de les miniatures (en segons)\: NetworkTab.17=Habilitar la libreria de medios NetworkTab.18=Reiniciar la memoria NetworkTab.19=Esteu segur? -NetworkTab.20=For\u00c1ar funcionament de xarxa a l'interf\u00cccie\: -NetworkTab.22=Configuraci\u00db de xarxa (avan\u00c1at) -NetworkTab.23=For\u00c1ar IP del servidor\: -NetworkTab.24=For\u00c1ar el port del servidor (5001 per defecte)\: -NetworkTab.25=Caracter\u00ccstiques de la PS3 +NetworkTab.20=For\u00e7ar funcionament de xarxa a l'interf\u00edcie\: +NetworkTab.22=Configuraci\u00f3 de xarxa (avan\u00e7at) +NetworkTab.23=For\u00e7ar IP del servidor\: +NetworkTab.24=For\u00e7ar el port del servidor (5001 per defecte)\: +NetworkTab.25=Caracter\u00edstiques de la PS3 NetworkTab.26=Juego de caracteres per archivos de su PS3 (see XMB->Ajustaments del sistema->Juego de caracteres)\: NetworkTab.27=Caracteristicas no usadas que no deberia usar \:p NetworkTab.28=Modo Turbo (habilita tcp_nodelay) / cuidado, noestoy seguro si se debe hacer -NetworkTab.29=Bloquear peticiones entrantes per el mismo archivo desde la PS3 cuando haya empezado la transcodificaci\u00db +NetworkTab.29=Bloquear peticiones entrantes per el mismo archivo desde la PS3 cuando haya empezado la transcodificaci\u00f3 NetworkTab.30=Posar un filtre de IP\: -NetworkTab.31=Configuracions HTTP i de sistema avan\u00c1ades +NetworkTab.31=Configuracions HTTP i de sistema avan\u00e7ades NetworkTab.32=Motor HTTP v2 NetworkTab.33=Impedir que el sistema hiberni mentre estem fent sreaming NetworkTab.34=Plugins NetworkTab.35=Ample de banda maxim en Mb/s (0 significa ilimitado)\: -PMS.0=La PS3 no s'ha trobat. \u2026s encesa? Pot tamb\u00c8 mirar en Rastreig, Configuraci\u00db o l'arxiu debug.log -PMS.1=\u00bfudio +PMS.0=La PS3 no s'ha trobat. \u2026s encesa? Pot tamb\u00c8 mirar en Rastreig, Configuraci\u00f3 o l'arxiu debug.log +PMS.1=\u00c0udio PMS.2=\#- Llibreria de Medios -\# -PMS.3=M\u00cbtode alternatiu de sincronia A/V -PMS.4=Filtre de Desentrella\u00c1at +PMS.3=M\u00e8tode alternatiu de sincronia A/V +PMS.4=Filtre de Desentrella\u00e7at PMS.5=PS3 trobada \! -PMS.6=Autocarregar Subt\u00cctols .srt/.sub -PMS.7=Saltar filtre de bucle per la descodificaci\u00db H264 [Pot DEGRADAR LA qualitat] +PMS.6=Autocarregar Subt\u00edtols .srt/.sub +PMS.7=Saltar filtre de bucle per la descodificaci\u00f3 H264 [Pot DEGRADAR LA qualitat] PMS.8=Subtitols PMS.9=Todas las listas de reproduccion de Audio PMS.10=Desactivar definitivament els subtitols @@ -164,12 +164,12 @@ PMS.16=Per Album PMS.17=Renderitzador desconegut PMS.18=Connectat -PMS.19=Per G\u00cbnere -PMS.21=Per model de c\u2021mara +PMS.19=Per G\u00e8nere +PMS.21=Per model de c\u00e0mara PMS.22=Per Artista/Album PMS.25=Per ajustes ISO -PMS.26=Per G\u00cbnere/Artista/\u00bflbum -PMS.27=Guardar configuraci\u00db +PMS.26=Per G\u00e8nere/Artista/\u00c0lbum +PMS.27=Guardar configuraci\u00f3 PMS.31=Foto PMS.32=Totes les Fotos PMS.34=Video @@ -185,28 +185,28 @@ StatusTab.2=Estat StatusTab.3=Esperant... StatusTab.5=Buit -StatusTab.6=Estat del bufer de transcodificaci\u00db\: -StatusTab.7=Estad\u00ccstiques de E/S\: +StatusTab.6=Estat del bufer de transcodificaci\u00f3\: +StatusTab.7=Estad\u00edstiques de E/S\: StatusTab.8=Bitrate actual\: StatusTab.9=Renderitzadors de media detectats -StatusTab.10=Bitrate m\u2021xim\: +StatusTab.10=Bitrate m\u00e0xim\: StatusTab.11=Mb/s -TSMuxerVideo.0=For\u00c1ar remescla AC3 amb tots els arxius -TSMuxerVideo.1=For\u00c1ar remescla PCM amb audio DTS/FLAC -TSMuxerVideo.2=For\u00c1ar FPS de FFmpeg en l'arxiu meta +TSMuxerVideo.0=For\u00e7ar remescla AC3 amb tots els arxius +TSMuxerVideo.1=For\u00e7ar remescla PCM amb audio DTS/FLAC +TSMuxerVideo.2=For\u00e7ar FPS de FFmpeg en l'arxiu meta TSMuxerVideo.3=Ajustaments de decodificador de video nom\u00c8s per al motor TsMuxer TSMuxerVideo.19=Mesclar totes les pistes de so -TrTab2.0=Habilitar/deshabilitar un motor de transcodificaci\u00db +TrTab2.0=Habilitar/deshabilitar un motor de transcodificaci\u00f3 TrTab2.1=Sense ajusts de moment TrTab2.2=Ajustaments de codificador amb els seg\u00b8ents Motors\: MEncoder/AviSynth/FFmpeg TrTab2.3=Ajustaments de Audio, aplicables als decodificadores seg\u00b8ents\: MEncoder/AviSynth/FFmpeg/tsMuxeR TrTab2.4=Ajustaments de cualitat de video -TrTab2.5=Ajustaments de transcodificaci\u00db -TrTab2.6=Ordenar amb els Motors de transcodificaci\u00db primer. El primer apareixer\u2021 a la carpeta del video original -TrTab2.7=Opcions v\u2021ries -TrTab2.8=Saltar la transcodificaci\u00db per les extensions seg\u00b8ents (separades per comes)\: -TrTab2.9=For\u00c1ar la transcodificaci\u00db per les extensions seg\u00b8ents (separades por comes)\: -TrTab2.10=Permet fer stream de DTS directament al receptro.\nAlerta, \u00c8s possible que tingueu un so est\u2021tic. Notes\:\n- Cal que tingueu un receptor compatible DTS, connectat amb TOSLINK o HDMI\n- La icona del volum a XMB ha d'estar en 'Normal'\n- La icona dels canala a XMB ha d'estar a 'Esquerra+Dreta'\n +TrTab2.5=Ajustaments de transcodificaci\u00f3 +TrTab2.6=Ordenar amb els Motors de transcodificaci\u00f3 primer. El primer apareixer\u00e0 a la carpeta del video original +TrTab2.7=Opcions v\u00e0ries +TrTab2.8=Saltar la transcodificaci\u00f3 per les extensions seg\u00b8ents (separades per comes)\: +TrTab2.9=For\u00e7ar la transcodificaci\u00f3 per les extensions seg\u00b8ents (separades por comes)\: +TrTab2.10=Permet fer stream de DTS directament al receptro.\nAlerta, \u00c8s possible que tingueu un so est\u00e0tic. Notes\:\n- Cal que tingueu un receptor compatible DTS, connectat amb TOSLINK o HDMI\n- La icona del volum a XMB ha d'estar en 'Normal'\n- La icona dels canala a XMB ha d'estar a 'Esquerra+Dreta'\n TrTab2.11=Motors TrTab2.12=Ajustaments comuns del decodificador TrTab2.13=Ajustaments comuns del codificador @@ -216,21 +216,21 @@ TrTab2.17=Motors de Audio Web TrTab2.18=Motors varis TrTab2.19=El motor en negreta t\u00c8 prioritat -TrTab2.20=i sustituir\u2021 al video original +TrTab2.20=i sustituir\u00e0 al video original TrTab2.21=(AviSynth no suportat) -TrTab2.22=Remostreig autom\u2021tic del so a 44.1 o 48 kHz +TrTab2.22=Remostreig autom\u00e0tic del so a 44.1 o 48 kHz TrTab2.27=Remux DTS/FLAC -> LPCM (Necesita un receptor A/V amb HDMI per enviar PCM 5.1 \! Bitrate mig \= 4.6Mbps) TrTab2.28=Mantenir el so DTS en l'stream (Compatible amb la sortida optica) TrTab2.29=Bitrate de Audio AC3 (en Kbits/s) (ej\: 384, 576, 640)\: TrTab2.32=Ajustaments MPEG-2\: -TrTab2.39=El video se codifica y mezcla automaticamente como MPEG-PS amb audio AC3 (molt compatible amb PS3) -TrTab2.40=\nPot modificar els par\u2021metres vqscale, vqmin i keyint per obtenir una bona cualitat de transcodificaci\u00db, gaireb\u00c8 sense p\u00c8rdues. -TrTab2.41=\n L'inconvenient es que el bitrate de VBR Pot a vegades superar la capacidat de la seva red. -TrTab2.42=\nPer aix\u00da pot tamb\u00c8n modificar l'Ample de banda si Aquesta \u00c8s WiFi, CPL, etc. Tanmateix, la qualitat de transcodificaci\u00db -TrTab2.43=\nes un equilibrio entre velocidad de red y potencia de cpu\: contra m\u00c8s qualitat vulgui en un Ample de banda ajustado, -TrTab2.44=\nmas sufrira la seva cpu\! A m\u00c8s m\u00c8s, no pretingui reproduir una pelicula d'acci\u00db a 1080p amb la millor qualitat en 15Mbps \:p -TrTab2.50=Numero de canalss de audio\: -TrTab2.51=Deshabilitar Subt\u00cctols definitivamente -TrTab2.52=Suport de \#Transcodificaci\u00db\# de carpetes de cap\u00cctols / Interval en minuts\: +TrTab2.39=El video es codifica i mescla automaticament com MPEG-PS amb audio AC3 (molt compatible amb PS3) +TrTab2.40=\nPodeu modificar els par\u00e0metres vqscale, vqmin i keyint per obtenir una bona cualitat de transcodificaci\u00f3, gaireb\u00e9 sense p\u00e8rdues. +TrTab2.41=\n L'inconvenient es que el bitrate de VBR Pot a vegades superar la capacidat de la vostra xarxa. +TrTab2.42=\nPer aix\u00f2 pot tamb\u00e9 modificar l'Ample de banda si aneu per WiFi, CPL, etc. Tanmateix, la qualitat de transcodificaci\u00f3 +TrTab2.43=\n\u00e9s un equilibri entre velocitat de xarxa i potencia de cpu\: contra m\u00e9s qualitat vulgui amb un ample de banda ajustat, +TrTab2.44=\nm\u00e9s patir\u00e0 la vostra cpu\! A m\u00e9s, no pretingui reproduir una pelicula d'acci\u00f3 a 1080p amb la millor qualitat en 15Mbps \:p +TrTab2.50=N\u00famero de canals de audio\: +TrTab2.51=Deshabilitar Subt\u00edtols definitivament +TrTab2.52=Suport de \#Transcodificaci\u00f2\# de carpetes de cap\u00edtols / Interval en minuts\: TracesTab.3=Netejar -TreeNodeSettings.4=Aquest motor no est\u00b7 carregat\! +TreeNodeSettings.4=Aquest motor no est\u00e0 carregat\! \ No newline at end of file diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/messages_cz.properties ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/messages_cz.properties --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/messages_cz.properties 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/messages_cz.properties 2012-06-26 21:45:17.000000000 +0000 @@ -59,18 +59,16 @@ LooksFrame.26=POUZE PRO TESTOV\u00c1N\u00cd, MO\u017dN\u00c1 NESTABILN\u00cd MEncoderAviSynth.2=Nastaven\u00ed video dekod\u00e9ru jen pro n\u00e1stroj AviSynth MEncoderAviSynth.3=Povolte v AviSynth zm\u011bnu variabiln\u00edho datov\u00e9ho toku na konstantn\u00ed datov\u00fd tok (convertfps=true) -MEncoderAviSynth.4=#AviSynth script je nyn\u00ed pln\u011b upraviteln\u00fd !\n -MEncoderAviSynth.5=#Mus\u00edte pou\u017e\u00edt n\u00e1sleduj\u00edc\u00ed prom\u011bnn\u00e9 (\"clip\" jako avisynth prom\u011bnn\u00e1 filmu):\n -MEncoderAviSynth.6=#: vlo\u017een\u00ed kompletn\u00ed instrukce DirectShowSource [ clip=DirectShowSource(movie, convertfps) ]\n -MEncoderAviSynth.7=#: vlo\u017een\u00ed kompletn\u00ed instrukce TextSub/VobSub, pokud jsou zde n\u011bjak\u00e9 detekovan\u00e9 srt/sub/idx/ass soubory titulk\u016f\n -MEncoderAviSynth.8=#: n\u00e1zev filmu pokud, chcete v\u0161e ud\u011blat sami\n -MEncoderAviSynth.9=#Pozor, u\u017eivatelsk\u00fd script MUS\u00cd vr\u00e1tit objekt clip\n +MEncoderAviSynth.4=# Script pro AviSynth je nyn\u00ed pln\u011b ukonfigurovateln\u00fd.\n +MEncoderAviSynth.5=# K dispozici jsou n\u00e1sleduj\u00edc\u00ed prom\u011bnn\u00e9:\n +MEncoderAviSynth.6=# : kompletn\u00ed instrukce DirectShowSource, nap\u0159. DirectShowSource(filename, convertfps)\n +MEncoderAviSynth.7=# : kompletn\u00ed instrukce pro titulky, pokud jsou n\u011bjak\u00e9 detekovan\u00e9 (SRT/SUB/IDX/ASS/SSA)\n +MEncoderAviSynth.8=# : n\u00e1zev filmu, pokud chcete v\u0161e nastavit sami\n MEncoderAviSynth.10=\n MEncoderAviSynth.11=\n -MEncoderAviSynth.12=return clip\n MEncoderVideo.0=P\u0159esko\u010d\u00ed smy\u010dku deblocking filtru pro H.264. M\u016f\u017ee degradovat jakost MEncoderVideo.1=Nastaven\u00ed video/audio dekod\u00e9ru jen pro MEncoder -MEncoderVideo.2=A/V sync alternativn\u00ed metoda +MEncoderVideo.2=Alternativn\u00ed metoda A/V synchronizace MEncoderVideo.3=Pou\u017e\u00edt pro kodeky z\u00e1kladn\u00ed paramatry aplikace (Doporu\u010deno!) MEncoderVideo.4=Vynutit rychlost sn\u00edmk\u016f analyzovanou FFmpeg MEncoderVideo.5=Zde m\u016f\u017eete p\u0159idat konkr\u00e9tn\u00ed mo\u017enosti, jako je nap\u0159\u00edklad filtr denoise: -vf hqdn3d @@ -100,7 +98,7 @@ MEncoderVideo.29=Pro experty : specifick\u00e9 parametry kodek\u016f MEncoderVideo.30=V\u00fd\u0161ka MEncoderVideo.31=Barva titulk\u016f -MEncoderVideo.32=Remuxovat pokud je audiostopa v AC3 (bez reenk\u00f3dov\u00e1n\u00ed) +MEncoderVideo.32=Ponechat AC3 stopu (bez reenk\u00f3dov\u00e1n\u00ed, m\u016f\u017ee zp\u016fsobit v\u00fdpadky zvuku a probl\u00e9my s A/V synchronizac\u00ed) MEncoderVideo.33=U\u017eivatelsk\u00e9 parametry: MEncoderVideo.34=Upravit specifick\u00e9 parametry kodek\u016f MEncoderVideo.35=Roz\u0161\u00ed\u0159en\u00e1 v\u00edcej\u00e1drov\u00e1 podpora @@ -241,7 +239,8 @@ StatusTab.8=Moment\u00e1ln\u00ed bitrate: StatusTab.9=Detekovan\u00fd m\u00e9dia renderer StatusTab.10=Nejvy\u0161\u0161\u00ed bitrate: -StatusTab.11=Mb/s +StatusTab.11=Mb/s +StatusTab.12=MB TSMuxerVideo.0=Demux s MEncoder a enk\u00f3dov\u00e1n\u00ed v\u0161ech zvukov\u00fdch stop do AC3 TSMuxerVideo.1=Demux s MEncoder a enk\u00f3dov\u00e1n\u00ed DTS/FLAC zvukov\u00fdch stop do LPCM [Pozor, hled\u00e1n\u00ed zat\u00edm nefunguje] TSMuxerVideo.2=Vynutit sn\u00edmkovou frekvenci analyzovanou FFmpeg @@ -272,7 +271,7 @@ TrTab2.22=Automatick\u00fd audio resampling na 44.1 nebo 48 kHz TrTab2.27=DTS/FLAC -> LPCM remux (Pot\u0159ebujete HDMI receiver pro streaming LPCM 5.1 \! Pr\u016fm\u011brn\u00fd Bitrate = 4.6Mbps) TrTab2.28=Zachovat DTS audio ve streamu (Kompatibiln\u00ed s optick\u00fdm v\u00fdstupem) -> Opatrn\u011b, m\u00edrn\u00e1 zm\u011bna bitrate ! -TrTab2.29=AC3 Audio datov\u00fd tok (v Kbits/s) (nap\u0159: 384, 576, 640): +TrTab2.29=AC3 Audio datov\u00fd tok (v Kbit/s) (volba: 576, 640): TrTab2.32=MPEG-2 nastaven\u00ed: TrTab2.39=Video je automaticky transk\u00f3dov\u00e1no a muxov\u00e1no do MPEG-PS/AC3 audio (vysoce kompatibiln\u00ed s PS3) TrTab2.40=\nM\u016f\u017eete si hr\u00e1t s vqscale, vqmin and keyint parametry pro dosa\u017een\u00ed dobr\u00e9, dokonce t\u00e9m\u011b\u0159 bezeztr\u00e1tov\u00e9 p\u0159evodn\u00ed kvality. @@ -280,7 +279,7 @@ TrTab2.42=\nTo je d\u016fvod, pro\u010d si m\u016f\u017eete tak\u00e9 nastavit \u0161\u00ed\u0159ku p\u00e1sma, pokud jste na WiFi, CPL, atd. Nicm\u00e9n\u011b, p\u0159evod kvality TrTab2.43=\nje rovnov\u00e1ha mezi rychlost\u00ed s\u00edt\u011b a v\u00fdkonem cpu: pro vy\u0161\u0161\u00ed kvalitu budete omezeni rychlost\u00ed datov\u00e9ho toku, TrTab2.44=\nbez v\u00edce procesor\u016f budete trp\u011bt\! Tak\u017ee budete pot\u0159ebovat pro ak\u010dn\u00ed film v 1080p a v nejvy\u0161\u0161\u00ed kvalit\u011b 15Mbps :p -TrTab2.50=Po\u010det zvukov\u00fdch kan\u00e1l\u016f: +TrTab2.50=Maxim\u00e1ln\u00ed po\u010det v\u00fdstupn\u00edch zvukov\u00fdch kan\u00e1l\u016f pro AC3 re-encoding: TrTab2.51=Definitivn\u011b zak\u00e1zat titulky TrTab2.52=Kapitoly \#Transk\u00f3dov\u00e1n\u00ed\# podpora slo\u017eky / Interval v minut\u00e1ch: TrTab2.55=2 kan\u00e1ly (Stereo) diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/messages.properties ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/messages.properties --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/messages.properties 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/messages.properties 2012-06-26 21:45:17.000000000 +0000 @@ -59,15 +59,13 @@ LooksFrame.26=FOR TESTING ONLY, POSSIBLY UNSTABLE MEncoderAviSynth.2=Video decoder settings for AviSynth engine only MEncoderAviSynth.3=Enable AviSynth variable framerate change into a constant framerate (convertfps=true) -MEncoderAviSynth.4=#AviSynth script is now fully customisable !\n -MEncoderAviSynth.5=#You must use the following variables (\"clip\" being the avisynth variable of the movie):\n -MEncoderAviSynth.6=#: insert the complete DirectShowSource instruction [ clip=DirectShowSource(movie, convertfps) ]\n -MEncoderAviSynth.7=#: insert the complete TextSub/VobSub instruction if there's any detected srt/sub/idx/ass subtitle file\n -MEncoderAviSynth.8=#: variable of the movie filename, if you want to do all this by yourself\n -MEncoderAviSynth.9=#Be careful, the custom script MUST return the clip object\n +MEncoderAviSynth.4=# AviSynth script is now fully customisable\n +MEncoderAviSynth.5=# The following variables are available:\n +MEncoderAviSynth.6=# : The complete DirectShowSource instruction, e.g. DirectShowSource(filename, convertfps)\n +MEncoderAviSynth.7=# : The complete subtitle instruction if there's any detected (SRT/SUB/IDX/ASS/SSA)\n +MEncoderAviSynth.8=# : The video filename for if you want to do all this by yourself\n MEncoderAviSynth.10=\n MEncoderAviSynth.11=\n -MEncoderAviSynth.12=return clip MEncoderVideo.0=Skip loop filter deblocking for H.264. Can degrade quality. MEncoderVideo.1=Video/Audio decoder settings for MEncoder engine only MEncoderVideo.2=A/V sync alternative method @@ -242,6 +240,7 @@ StatusTab.9=Detected media renderers StatusTab.10=Peak bitrate: StatusTab.11=Mb/s +StatusTab.12=MB TSMuxerVideo.0=Demux with MEncoder and encode all audio tracks to AC3 TSMuxerVideo.1=Demux with MEncoder and encode DTS/FLAC audio tracks to LPCM [Careful, seeking don't work yet] TSMuxerVideo.2=Force FPS parsed from FFmpeg in the meta file diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/HTTPResource.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/HTTPResource.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/HTTPResource.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/HTTPResource.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,28 +18,21 @@ */ package net.pms.network; -import static net.pms.util.StringUtil.convertURLToFileName; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.Authenticator; -import java.net.URL; -import java.net.URLConnection; - import net.pms.PMS; import net.pms.configuration.RendererConfiguration; import net.pms.dlna.DLNAResource; import net.pms.formats.Format; import net.pms.util.PropertiesUtil; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.*; +import java.net.Authenticator; +import java.net.URL; +import java.net.URLConnection; + +import static net.pms.util.StringUtil.convertURLToFileName; + /** * Implements any item that can be transfered through the HTTP pipes. * In the PMS case, this item represent media files. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/HTTPServer.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/HTTPServer.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/HTTPServer.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/HTTPServer.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,19 +18,8 @@ */ package net.pms.network; -import java.io.IOException; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.NetworkInterface; -import java.net.ServerSocket; -import java.net.Socket; -import java.nio.channels.ClosedByInterruptException; -import java.nio.channels.ServerSocketChannel; -import java.util.concurrent.Executors; - import net.pms.PMS; import net.pms.configuration.PmsConfiguration; - import org.apache.commons.lang.StringUtils; import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.Channel; @@ -41,6 +30,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.net.*; +import java.nio.channels.ClosedByInterruptException; +import java.nio.channels.ServerSocketChannel; +import java.util.concurrent.Executors; + public class HTTPServer implements Runnable { private static final Logger logger = LoggerFactory.getLogger(HTTPServer.class); private final int port; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/HttpServerPipelineFactory.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/HttpServerPipelineFactory.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/HttpServerPipelineFactory.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/HttpServerPipelineFactory.java 2012-06-26 21:45:17.000000000 +0000 @@ -21,8 +21,6 @@ */ package net.pms.network; -import static org.jboss.netty.channel.Channels.*; - import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.channel.ChannelPipelineFactory; import org.jboss.netty.channel.group.ChannelGroup; @@ -33,6 +31,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.jboss.netty.channel.Channels.pipeline; + /** * @author The Netty Project (netty-dev@lists.jboss.org) * @author Andy Taylor (andy.taylor@jboss.org) diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/HTTPXMLHelper.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/HTTPXMLHelper.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/HTTPXMLHelper.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/HTTPXMLHelper.java 2012-06-26 21:45:17.000000000 +0000 @@ -39,4 +39,18 @@ static final String XBOX_1 = "" + CRLF + "1" + CRLF + ""; static final String XBOX_2 = "" + CRLF + "1" + CRLF + ""; static final String UPNP_INVALID_ACTION = "s:ClientUPnPError401Invalid Action"; + static final String EVENT_FOOTER=""; + + public static String eventProp(String prop) { + return eventProp(prop,""); + } + + public static String eventProp(String prop,String val) { + return "<"+prop+">"+val+""; + } + + public static String eventHeader(String urn) { + return ""; + } } diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/NetworkConfiguration.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/NetworkConfiguration.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/NetworkConfiguration.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/NetworkConfiguration.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,27 +18,14 @@ */ package net.pms.network; -import java.net.Inet6Address; -import java.net.InetAddress; -import java.net.InterfaceAddress; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - import net.pms.PMS; import net.pms.configuration.PmsConfiguration; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.net.*; +import java.util.*; + /** * This class stores the network configuration information: which network * interfaces belong to which IP addresses, etc. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/Proxy.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/Proxy.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/Proxy.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/Proxy.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,25 +18,14 @@ */ package net.pms.network; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; import java.net.InetAddress; import java.net.Socket; import java.util.StringTokenizer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class Proxy extends Thread { private static final Logger logger = LoggerFactory.getLogger(Proxy.class); private Socket socket, socketToWeb; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/ProxyServer.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/ProxyServer.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/ProxyServer.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/ProxyServer.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,13 @@ */ package net.pms.network; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class ProxyServer extends Thread { private static final Logger LOGGER = LoggerFactory.getLogger(ProxyServer.class); private int port; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/RequestHandler.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/RequestHandler.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/RequestHandler.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/RequestHandler.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,6 +18,12 @@ */ package net.pms.network; +import net.pms.PMS; +import net.pms.configuration.RendererConfiguration; +import net.pms.external.StartStopListenerDelegate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -27,35 +33,28 @@ import java.net.Socket; import java.util.StringTokenizer; -import net.pms.PMS; -import net.pms.configuration.RendererConfiguration; -import net.pms.external.StartStopListenerDelegate; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class RequestHandler implements Runnable { - private static final Logger logger = LoggerFactory.getLogger(RequestHandler.class); + private static final Logger LOGGER = LoggerFactory.getLogger(RequestHandler.class); public final static int SOCKET_BUF_SIZE = 32768; private Socket socket; private OutputStream output; private BufferedReader br; - + // Used to filter out known headers when the renderer is not recognized private final static String[] KNOWN_HEADERS = { - "Accept", - "Accept-Language", - "Accept-Encoding", - "Callback", - "Connection", - "Content-Length", - "Content-Type", - "Date", - "Host", - "Nt", - "Sid", - "Timeout", - "User-Agent" + "Accept", + "Accept-Language", + "Accept-Encoding", + "Callback", + "Connection", + "Content-Length", + "Content-Type", + "Date", + "Host", + "Nt", + "Sid", + "Timeout", + "User-Agent" }; @@ -68,7 +67,7 @@ public void run() { Request request = null; StartStopListenerDelegate startStopListenerDelegate = new StartStopListenerDelegate( - socket.getInetAddress().getHostAddress()); + socket.getInetAddress().getHostAddress()); try { int receivedContentLength = -1; @@ -86,11 +85,11 @@ throw new IOException("Access denied for address " + ia + " based on IP filter"); } - logger.trace("Opened request handler on socket " + socket); + LOGGER.trace("Opened request handler on socket " + socket); PMS.get().getRegistry().disableGoToSleep(); while (headerLine != null && headerLine.length() > 0) { - logger.trace("Received on socket: " + headerLine); + LOGGER.trace("Received on socket: " + headerLine); // The request object is created inside the while loop. if (request != null && request.getMediaRenderer() == null) { @@ -105,7 +104,7 @@ if (renderer != null) { PMS.get().setRendererfound(renderer); request.setMediaRenderer(renderer); - logger.trace("Matched media renderer \"" + renderer.getRendererName() + "\" based on address " + ia); + LOGGER.trace("Matched media renderer \"" + renderer.getRendererName() + "\" based on address " + ia); } } @@ -121,7 +120,7 @@ PMS.get().setRendererfound(renderer); request.setMediaRenderer(renderer); renderer.associateIP(ia); // Associate IP address for later requests - logger.trace("Matched media renderer \"" + renderer.getRendererName() + "\" based on header \"" + headerLine + "\""); + LOGGER.trace("Matched media renderer \"" + renderer.getRendererName() + "\" based on header \"" + headerLine + "\""); } } if (renderer == null && headerLine != null && request != null) { @@ -132,17 +131,19 @@ PMS.get().setRendererfound(renderer); request.setMediaRenderer(renderer); renderer.associateIP(ia); // Associate IP address for later requests - logger.trace("Matched media renderer \"" + renderer.getRendererName() + "\" based on header \"" + headerLine + "\""); + LOGGER.trace("Matched media renderer \"" + renderer.getRendererName() + "\" based on header \"" + headerLine + "\""); } } try { StringTokenizer s = new StringTokenizer(headerLine); String temp = s.nextToken(); - if (temp.equals("GET") || temp.equals("POST") || temp.equals("HEAD")) { + if (temp.equals("SUBSCRIBE") || temp.equals("GET") || temp.equals("POST") || temp.equals("HEAD")) { request = new Request(temp, s.nextToken().substring(1)); if (s.hasMoreTokens() && s.nextToken().equals("HTTP/1.0")) { request.setHttp10(true); } + } else if (request != null && temp.toUpperCase().equals("CALLBACK:")) { + request.setSoapaction(s.nextToken()); } else if (request != null && temp.toUpperCase().equals("SOAPACTION:")) { request.setSoapaction(s.nextToken()); } else if (headerLine.toUpperCase().contains("CONTENT-LENGTH:")) { @@ -179,11 +180,11 @@ } request.setTimeseek(Double.parseDouble(timeseek)); } else { - // If we made it to here, none of the previous header checks matched. - // Unknown headers make interesting logging info when we cannot recognize - // the media renderer, so keep track of the truly unknown ones. + // If we made it to here, none of the previous header checks matched. + // Unknown headers make interesting logging info when we cannot recognize + // the media renderer, so keep track of the truly unknown ones. boolean isKnown = false; - + // Try to match possible known headers. for (String knownHeaderString : KNOWN_HEADERS) { if (headerLine.toLowerCase().startsWith(knownHeaderString.toLowerCase())) { @@ -191,7 +192,7 @@ break; } } - + if (!isKnown) { // Truly unknown header, therefore interesting. Save for later use. unknownHeaders.append(separator + headerLine); @@ -199,7 +200,7 @@ } } } catch (Exception e) { - logger.error("Error in parsing HTTP headers", e); + LOGGER.error("Error in parsing HTTP headers", e); } headerLine = br.readLine(); @@ -208,24 +209,24 @@ if (request != null) { // Still no media renderer recognized? if (request.getMediaRenderer() == null) { - + // Attempt 4: Not really an attempt; all other attempts to recognize // the renderer have failed. The only option left is to assume the // default renderer. request.setMediaRenderer(RendererConfiguration.getDefaultConf()); - logger.trace("Using default media renderer " + request.getMediaRenderer().getRendererName()); + LOGGER.trace("Using default media renderer " + request.getMediaRenderer().getRendererName()); if (userAgentString != null && !userAgentString.equals("FDSSDP")) { // We have found an unknown renderer - logger.info("Media renderer was not recognized. Possible identifying HTTP headers: User-Agent: " + userAgentString + LOGGER.info("Media renderer was not recognized. Possible identifying HTTP headers: User-Agent: " + userAgentString + ("".equals(unknownHeaders.toString()) ? "" : ", " + unknownHeaders.toString())); PMS.get().setRendererfound(request.getMediaRenderer()); } } else { if (userAgentString != null) { - logger.trace("HTTP User-Agent: " + userAgentString); + LOGGER.trace("HTTP User-Agent: " + userAgentString); } - logger.trace("Recognized media renderer " + request.getMediaRenderer().getRendererName()); + LOGGER.trace("Recognized media renderer " + request.getMediaRenderer().getRendererName()); } } @@ -238,7 +239,7 @@ } if (request != null) { - logger.trace("HTTP: " + request.getArgument() + " / " + request.getLowRange() + "-" + request.getHighRange()); + LOGGER.trace("HTTP: " + request.getArgument() + " / " + request.getLowRange() + "-" + request.getHighRange()); } if (request != null) { @@ -250,13 +251,13 @@ } } catch (IOException e) { - logger.trace("Unexpected IO error: " + e.getClass() + ": " + e.getMessage()); + LOGGER.trace("Unexpected IO error: " + e.getClass() + ": " + e.getMessage()); if (request != null && request.getInputStream() != null) { try { - logger.trace("Closing input stream: " + request.getInputStream()); + LOGGER.trace("Closing input stream: " + request.getInputStream()); request.getInputStream().close(); } catch (IOException e1) { - logger.error("Error closing input stream", e); + LOGGER.error("Error closing input stream", e); } } } finally { @@ -266,14 +267,14 @@ br.close(); socket.close(); } catch (IOException e) { - logger.error("Error closing connection: ", e); + LOGGER.error("Error closing connection: ", e); } startStopListenerDelegate.stop(); - logger.trace("Close connection"); + LOGGER.trace("Close connection"); } } - + /** * Applies the IP filter to the specified internet address. Returns true * if the address is not allowed and therefore should be filtered out, diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/RequestHandlerV2.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/RequestHandlerV2.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/RequestHandlerV2.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/RequestHandlerV2.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,40 +18,27 @@ */ package net.pms.network; -import java.io.IOException; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.nio.channels.ClosedChannelException; -import java.nio.charset.Charset; -import java.util.StringTokenizer; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - import net.pms.PMS; import net.pms.configuration.RendererConfiguration; import net.pms.external.StartStopListenerDelegate; - import org.jboss.netty.buffer.ChannelBuffer; import org.jboss.netty.buffer.ChannelBuffers; -import org.jboss.netty.channel.Channel; -import org.jboss.netty.channel.ChannelFutureListener; -import org.jboss.netty.channel.ChannelHandlerContext; -import org.jboss.netty.channel.ChannelStateEvent; -import org.jboss.netty.channel.ExceptionEvent; -import org.jboss.netty.channel.MessageEvent; -import org.jboss.netty.channel.SimpleChannelUpstreamHandler; +import org.jboss.netty.channel.*; import org.jboss.netty.channel.group.ChannelGroup; import org.jboss.netty.handler.codec.frame.TooLongFrameException; -import org.jboss.netty.handler.codec.http.DefaultHttpResponse; -import org.jboss.netty.handler.codec.http.HttpHeaders; -import org.jboss.netty.handler.codec.http.HttpMethod; -import org.jboss.netty.handler.codec.http.HttpRequest; -import org.jboss.netty.handler.codec.http.HttpResponse; -import org.jboss.netty.handler.codec.http.HttpResponseStatus; -import org.jboss.netty.handler.codec.http.HttpVersion; +import org.jboss.netty.handler.codec.http.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.nio.channels.ClosedChannelException; +import java.nio.charset.Charset; +import java.util.StringTokenizer; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + public class RequestHandlerV2 extends SimpleChannelUpstreamHandler { private static final Logger logger = LoggerFactory.getLogger(RequestHandlerV2.class); private static final Pattern TIMERANGE_PATTERN = @@ -172,6 +159,8 @@ String temp = s.nextToken(); if (request != null && temp.toUpperCase().equals("SOAPACTION:")) { request.setSoapaction(s.nextToken()); + } else if (request != null && temp.toUpperCase().equals("CALLBACK:")) { + request.setSoapaction(s.nextToken()); } else if (headerLine.toUpperCase().indexOf("RANGE: BYTES=") > -1) { String nums = headerLine.substring( headerLine.toUpperCase().indexOf( diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/Request.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/Request.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/Request.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/Request.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,16 +18,6 @@ */ package net.pms.network; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; -import java.util.Locale; -import java.util.TimeZone; - import net.pms.PMS; import net.pms.configuration.RendererConfiguration; import net.pms.dlna.DLNAMediaInfo; @@ -35,14 +25,21 @@ import net.pms.dlna.DLNAResource; import net.pms.dlna.Range; import net.pms.external.StartStopListenerDelegate; - import org.apache.commons.lang.StringUtils; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; +import java.text.SimpleDateFormat; +import java.util.*; + public class Request extends HTTPResource { - private static final Logger logger = LoggerFactory.getLogger(Request.class); + private static final Logger LOGGER = LoggerFactory.getLogger(Request.class); + private final static String CRLF = "\r\n"; private final static String HTTP_200_OK = "HTTP/1.1 200 OK"; private final static String HTTP_500 = "HTTP/1.1 500 Internal Server Error"; @@ -185,10 +182,10 @@ // Samsung 2012 TVs have a problematic preceding slash that needs to be removed. if (argument.startsWith("/")) { - logger.trace("Stripping preceding slash from: " + argument); + LOGGER.trace("Stripping preceding slash from: " + argument); argument = argument.substring(1); } - + if ((method.equals("GET") || method.equals("HEAD")) && argument.startsWith("console/")) { output(output, "Content-Type: text/html"); response.append(HTMLConsole.servePage(argument.substring(8))); @@ -231,7 +228,7 @@ inputStream = dlna.getInputStream(Range.create(lowRange, highRange, timeseek, timeRangeEnd), mediaRenderer); if (inputStream == null) { // No inputStream indicates that transcoding / remuxing probably crashed. - logger.error("There is no inputstream to return for " + name); + LOGGER.error("There is no inputstream to return for " + name); } else { startStopListenerDelegate.start(dlna); output(output, "Content-Type: " + getRendererMimeType(dlna.mimeType(), mediaRenderer)); @@ -251,8 +248,8 @@ if (type < DLNAMediaSubtitle.subExtensions.length) { String strType = DLNAMediaSubtitle.subExtensions[type - 1]; String subtitleUrl = "http://" + PMS.get().getServer().getHost() - + ':' + PMS.get().getServer().getPort() + "/get/" - + id + "/subtitle0000." + strType; + + ':' + PMS.get().getServer().getPort() + "/get/" + + id + "/subtitle0000." + strType; output(output, subtitleHttpHeader + ": " + subtitleUrl); } } @@ -292,7 +289,7 @@ if (requested != 0) { // Determine the range (i.e. smaller of known or requested bytes) long bytes = remaining > -1 ? remaining : inputStream.available(); - + if (requested > 0 && bytes > requested) { bytes = requested + 1; } @@ -300,7 +297,7 @@ // Calculate the corresponding highRange (this is usually redundant). highRange = lowRange + bytes - (bytes > 0 ? 1 : 0); - logger.trace((chunked ? "Using chunked response. " : "") + "Sending " + bytes + " bytes."); + LOGGER.trace((chunked ? "Using chunked response. " : "") + "Sending " + bytes + " bytes."); output(output, "Content-Range: bytes " + lowRange + "-" + (highRange > -1 ? highRange : "*") @@ -357,15 +354,15 @@ s = s.replace("[host]", PMS.get().getServer().getHost()); s = s.replace("[port]", "" + PMS.get().getServer().getPort()); if (xbox) { - logger.debug("DLNA changes for Xbox360"); + LOGGER.debug("DLNA changes for Xbox 360"); s = s.replace("PS3 Media Server", "PS3 Media Server [" + profileName + "] : Windows Media Connect"); s = s.replace("PMS", "Windows Media Connect"); s = s.replace("", "" + CRLF + "" + CRLF - + "urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1" + CRLF - + "urn:microsoft.com:serviceId:X_MS_MediaReceiverRegistrar" + CRLF - + "/upnp/mrr/scpd" + CRLF - + "/upnp/mrr/control" + CRLF - + "" + CRLF); + + "urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1" + CRLF + + "urn:microsoft.com:serviceId:X_MS_MediaReceiverRegistrar" + CRLF + + "/upnp/mrr/scpd" + CRLF + + "/upnp/mrr/control" + CRLF + + "" + CRLF); } else { @@ -400,6 +397,46 @@ response.append(HTTPXMLHelper.SOAP_ENCODING_FOOTER); response.append(CRLF); } + } else if (method.equals("SUBSCRIBE")) { + if(soapaction==null) //ignore this + return; + String uuid="uuid:"+ UUID.randomUUID().toString(); + output(output, CONTENT_TYPE_UTF8); + output(output,"Content-Length: 0"); + output(output,"Connection: close"); + output(output,"SID: "+uuid); + output(output,"Server: "+PMS.get().getServerName()); + output(output,"Timeout: Second-1800"); + output(output,""); + output.flush(); + //output.close(); + String cb=soapaction.replace("<", "").replace(">", ""); + String faddr=cb.replace("http://", "").replace("/", ""); + String addr=faddr.split(":")[0]; + int port=Integer.parseInt(faddr.split(":")[1]); + Socket sock=new Socket(addr,port); + OutputStream out=sock.getOutputStream(); + output(out,"NOTIFY /"+argument+" HTTP/1.1"); + output(out,"SID: "+uuid); + output(out,"SEQ: "+0); + output(out,"NT: upnp:event"); + output(out,"NTS: upnp:propchange"); + output(out,"HOST: "+faddr); + output(out, CONTENT_TYPE_UTF8); + if(argument.contains("connection_manager")) { + response.append(HTTPXMLHelper.eventHeader("urn:schemas-upnp-org:service:ConnectionManager:1")); + response.append(HTTPXMLHelper.eventProp("SinkProtocolInfo")); + response.append(HTTPXMLHelper.eventProp("SourceProtocolInfo")); + response.append(HTTPXMLHelper.eventProp("CurrentConnectionIDs")); + response.append(HTTPXMLHelper.EVENT_FOOTER); + } + else if(argument.contains("content_directory")) { + response.append(HTTPXMLHelper.eventHeader("urn:schemas-upnp-org:service:ContentDirectory:1")); + response.append(HTTPXMLHelper.eventProp("TransferIDs")); + response.append(HTTPXMLHelper.eventProp("ContainerUpdateIDs")); + response.append(HTTPXMLHelper.eventProp("SystemUpdateID",""+DLNAResource.getSystemUpdateId())); + response.append(HTTPXMLHelper.EVENT_FOOTER); + } } else if (method.equals("POST") && argument.endsWith("upnp/control/content_directory")) { output(output, CONTENT_TYPE_UTF8); if (soapaction.indexOf("ContentDirectory:1#GetSystemUpdateID") > -1) { @@ -443,7 +480,7 @@ response.append(HTTPXMLHelper.SOAP_ENCODING_FOOTER); response.append(CRLF); } else if (soapaction.contains("ContentDirectory:1#Browse") || soapaction.contains("ContentDirectory:1#Search")) { - //logger.trace(content); + //LOGGER.trace(content); objectID = getEnclosingValue(content, "", ""); String containerID = null; if ((objectID == null || objectID.length() == 0) && xbox) { @@ -557,7 +594,7 @@ totalCount = startingIndex; } response.append("").append(totalCount).append(""); - } + } else if(browseFlag!=null && browseFlag.equals("BrowseDirectChildren")) response.append("").append(((parentFolder != null) ? parentFolder.childrenNumber() : filessize) - minus).append(""); else @@ -580,7 +617,7 @@ response.append(CRLF); response.append(HTTPXMLHelper.SOAP_ENCODING_FOOTER); response.append(CRLF); - //logger.trace(response.toString()); + //LOGGER.trace(response.toString()); } } @@ -592,7 +629,7 @@ output(output, ""); if (!method.equals("HEAD")) { output.write(responseData); - //logger.trace(response.toString()); + //LOGGER.trace(response.toString()); } } else if (inputStream != null) { if (CLoverride > -2) { @@ -605,7 +642,7 @@ } } else { int cl = inputStream.available(); - logger.trace("Available Content-Length: " + cl); + LOGGER.trace("Available Content-Length: " + cl); output(output, "Content-Length: " + cl); } @@ -621,7 +658,7 @@ if (lowRange != DLNAMediaInfo.ENDFILE_POS && !method.equals("HEAD")) { sendB = sendBytes(inputStream); //, ((lowRange > 0 && highRange > 0)?(highRange-lowRange):-1) } - logger.trace("Sending stream: " + sendB + " bytes of " + argument); + LOGGER.trace("Sending stream: " + sendB + " bytes of " + argument); PMS.get().getFrame().setStatusLine(null); } else { if (lowRange > 0 && highRange > 0) { @@ -635,7 +672,7 @@ private void output(OutputStream output, String line) throws IOException { output.write((line + CRLF).getBytes("UTF-8")); - logger.trace("Wrote on socket: " + line); + LOGGER.trace("Wrote on socket: " + line); } private String getFUTUREDATE() { @@ -654,7 +691,7 @@ sendBytes += bytes; } } catch (IOException e) { - logger.trace("Sending stream with premature end: " + sendBytes + " bytes of " + argument + ". Reason: " + e.getMessage()); + LOGGER.trace("Sending stream with premature end: " + sendBytes + " bytes of " + argument + ". Reason: " + e.getMessage()); } finally { fis.close(); } diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/RequestV2.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/RequestV2.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/RequestV2.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/RequestV2.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,15 +18,6 @@ */ package net.pms.network; -import java.io.IOException; -import java.io.InputStream; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.TimeZone; - import net.pms.PMS; import net.pms.configuration.RendererConfiguration; import net.pms.dlna.DLNAMediaInfo; @@ -34,7 +25,6 @@ import net.pms.dlna.DLNAResource; import net.pms.dlna.Range; import net.pms.external.StartStopListenerDelegate; - import org.apache.commons.lang.StringUtils; import org.jboss.netty.buffer.ChannelBuffer; import org.jboss.netty.buffer.ChannelBuffers; @@ -47,15 +37,22 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; +import java.text.SimpleDateFormat; +import java.util.*; + /** * This class handles all forms of incoming HTTP requests by constructing a proper HTTP response. */ public class RequestV2 extends HTTPResource { - private static final Logger logger = LoggerFactory.getLogger(RequestV2.class); + private static final Logger LOGGER = LoggerFactory.getLogger(RequestV2.class); private final static String CRLF = "\r\n"; private static SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss", Locale.US); private static int BUFFER_SIZE = 8 * 1024; - private static final int[] MULTIPLIER = new int[] { 1, 60, 3600, 24*3600}; + private static final int[] MULTIPLIER = new int[] { 1, 60, 3600, 24*3600}; private final String method; /** @@ -73,7 +70,7 @@ private String browseFlag; /** - * When sending an input stream, the lowRange indicates which byte to start from. + * When sending an input stream, the lowRange indicates which byte to start from. */ private long lowRange; private InputStream inputStream; @@ -83,7 +80,7 @@ private final Range.Time range = new Range.Time(); /** - * When sending an input stream, the highRange indicates which byte to stop at. + * When sending an input stream, the highRange indicates which byte to stop at. */ private long highRange; private boolean http10; @@ -101,7 +98,7 @@ } /** - * When sending an input stream, the lowRange indicates which byte to start from. + * When sending an input stream, the lowRange indicates which byte to start from. * @return The byte to start from */ public long getLowRange() { @@ -151,7 +148,7 @@ /** * When sending an input stream, the highRange indicates which byte to stop at. - * @return The byte to stop at. + * @return The byte to stop at. */ public long getHighRange() { return highRange; @@ -176,7 +173,7 @@ /** * This class will construct and transmit a proper HTTP response to a given HTTP request. - * Rewritten version of the {@link Request} class. + * Rewritten version of the {@link Request} class. * @param method The {@link String} that defines the HTTP method to be used. * @param argument The {@link String} containing instructions for PMS. It contains a command, * a unique resource id and a resource name, all separated by slashes. @@ -224,7 +221,7 @@ * Construct a proper HTTP response to a received request. After the response has been * created, it is sent and the resulting {@link ChannelFuture} object is returned. * See RFC-2616 - * for HTTP header field definitions. + * for HTTP header field definitions. * @param output The {@link HttpResponse} object that will be used to construct the response. * @param e The {@link MessageEvent} object used to communicate with the client that sent * the request. @@ -236,10 +233,10 @@ * @throws IOException */ public ChannelFuture answer( - HttpResponse output, - MessageEvent e, - final boolean close, - final StartStopListenerDelegate startStopListenerDelegate) throws IOException { + HttpResponse output, + MessageEvent e, + final boolean close, + final StartStopListenerDelegate startStopListenerDelegate) throws IOException { ChannelFuture future = null; long CLoverride = -2; // 0 and above are valid Content-Length values, -1 means omit StringBuilder response = new StringBuilder(); @@ -248,10 +245,10 @@ // Samsung 2012 TVs have a problematic preceding slash that needs to be removed. if (argument.startsWith("/")) { - logger.trace("Stripping preceding slash from: " + argument); + LOGGER.trace("Stripping preceding slash from: " + argument); argument = argument.substring(1); } - + if ((method.equals("GET") || method.equals("HEAD")) && argument.startsWith("console/")) { // Request to output a page to the HTLM console. output.setHeader(HttpHeaders.Names.CONTENT_TYPE, "text/html"); @@ -273,7 +270,7 @@ } if (files.size() == 1) { - // DNLAresource was found. + // DLNAresource was found. dlna = files.get(0); String fileName = argument.substring(argument.lastIndexOf("/") + 1); @@ -320,7 +317,7 @@ // Some renderers (like Samsung devices) allow a custom header for a subtitle URL String subtitleHttpHeader = mediaRenderer.getSubtitleHttpHeader(); - + if (subtitleHttpHeader != null && !"".equals(subtitleHttpHeader)) { // Device allows a custom subtitle HTTP header; construct it List subs = dlna.getMedia().getSubtitlesCodes(); @@ -333,7 +330,7 @@ if (type < DLNAMediaSubtitle.subExtensions.length) { String strType = DLNAMediaSubtitle.subExtensions[type - 1]; String subtitleUrl = "http://" + PMS.get().getServer().getHost() - + ':' + PMS.get().getServer().getPort() + "/get/" + + ':' + PMS.get().getServer().getPort() + "/get/" + id + "/subtitle0000." + strType; output.setHeader(subtitleHttpHeader, subtitleUrl); } @@ -344,7 +341,7 @@ if (inputStream == null) { // No inputStream indicates that transcoding / remuxing probably crashed. - logger.error("There is no inputstream to return for " + name); + LOGGER.error("There is no inputstream to return for " + name); } else { // Notify plugins that the DLNAresource is about to start playing startStopListenerDelegate.start(dlna); @@ -370,7 +367,7 @@ PMS.get().getFrame().setStatusLine("Serving " + name); // Response generation: - // We use -1 for arithmetic convenience but don't send it as a value. + // We use -1 for arithmetic convenience but don't send it as a value. // If Content-Length < 0 we omit it, for Content-Range we use '*' to signify unspecified. boolean chunked = mediaRenderer.isChunkedTransfer(); @@ -399,10 +396,10 @@ // Calculate the corresponding highRange (this is usually redundant). highRange = lowRange + bytes - (bytes > 0 ? 1 : 0); - logger.trace((chunked ? "Using chunked response. " : "") + "Sending " + bytes + " bytes."); + LOGGER.trace((chunked ? "Using chunked response. " : "") + "Sending " + bytes + " bytes."); - output.setHeader(HttpHeaders.Names.CONTENT_RANGE, "bytes " + lowRange + "-" - + (highRange > -1 ? highRange : "*") + "/" + (totalsize > -1 ? totalsize : "*")); + output.setHeader(HttpHeaders.Names.CONTENT_RANGE, "bytes " + lowRange + "-" + + (highRange > -1 ? highRange : "*") + "/" + (totalsize > -1 ? totalsize : "*")); // Content-Length refers to the current chunk size here, though in chunked // mode if the request is open-ended and totalsize is unknown we omit it. @@ -456,15 +453,15 @@ s = s.replace("[port]", "" + PMS.get().getServer().getPort()); } if (xbox) { - logger.debug("DLNA changes for Xbox360"); + LOGGER.debug("DLNA changes for Xbox 360"); s = s.replace("PS3 Media Server", "PS3 Media Server [" + profileName + "] : Windows Media Connect"); s = s.replace("PMS", "Windows Media Connect"); s = s.replace("", "" + CRLF + "" + CRLF - + "urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1" + CRLF - + "urn:microsoft.com:serviceId:X_MS_MediaReceiverRegistrar" + CRLF - + "/upnp/mrr/scpd" + CRLF - + "/upnp/mrr/control" + CRLF - + "" + CRLF); + + "urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1" + CRLF + + "urn:microsoft.com:serviceId:X_MS_MediaReceiverRegistrar" + CRLF + + "/upnp/mrr/scpd" + CRLF + + "/upnp/mrr/control" + CRLF + + "" + CRLF); } else { s = s.replace("PS3 Media Server", "PS3 Media Server [" + profileName + "]"); } @@ -517,13 +514,13 @@ response.append(CRLF); response.append(HTTPXMLHelper.GETSYSTEMUPDATEID_HEADER); response.append(CRLF); - response.append("" + DLNAResource.getSystemUpdateId() + ""); + response.append("").append(DLNAResource.getSystemUpdateId()).append(""); response.append(CRLF); response.append(HTTPXMLHelper.GETSYSTEMUPDATEID_FOOTER); response.append(CRLF); response.append(HTTPXMLHelper.SOAP_ENCODING_FOOTER); response.append(CRLF); - } else if (soapaction.indexOf("ContentDirectory:1#X_GetFeatureList") > -1) { // Added for Samsung 2012 TVs + } else if (soapaction.indexOf("ContentDirectory:1#X_GetFeatureList") > -1) { // Added for Samsung 2012 TVs response.append(HTTPXMLHelper.XML_HEADER); response.append(CRLF); response.append(HTTPXMLHelper.SOAP_ENCODING_HEADER); @@ -689,11 +686,44 @@ response.append(CRLF); response.append(HTTPXMLHelper.SOAP_ENCODING_FOOTER); response.append(CRLF); - // logger.trace(response.toString()); + // LOGGER.trace(response.toString()); } } else if (method.equals("SUBSCRIBE")) { output.setHeader("SID", PMS.get().usn()); output.setHeader("TIMEOUT", "Second-1800"); + String cb = soapaction.replace("<", "").replace(">", ""); + String faddr = cb.replace("http://", "").replace("/", ""); + String addr = faddr.split(":")[0]; + int port = Integer.parseInt(faddr.split(":")[1]); + Socket sock = new Socket(addr,port); + OutputStream out = sock.getOutputStream(); + out.write(("NOTIFY /" + argument + " HTTP/1.1").getBytes()); + out.write(CRLF.getBytes()); + out.write(("SID: " + PMS.get().usn()).getBytes()); + out.write(CRLF.getBytes()); + out.write(("SEQ: " + 0).getBytes()); + out.write(CRLF.getBytes()); + out.write(("NT: upnp:event").getBytes()); + out.write(CRLF.getBytes()); + out.write(("NTS: upnp:propchange").getBytes()); + out.write(CRLF.getBytes()); + out.write(("HOST: " + faddr).getBytes()); + out.write(CRLF.getBytes()); + out.flush(); + out.close(); + if (argument.contains("connection_manager")) { + response.append(HTTPXMLHelper.eventHeader("urn:schemas-upnp-org:service:ConnectionManager:1")); + response.append(HTTPXMLHelper.eventProp("SinkProtocolInfo")); + response.append(HTTPXMLHelper.eventProp("SourceProtocolInfo")); + response.append(HTTPXMLHelper.eventProp("CurrentConnectionIDs")); + response.append(HTTPXMLHelper.EVENT_FOOTER); + } else if (argument.contains("content_directory")) { + response.append(HTTPXMLHelper.eventHeader("urn:schemas-upnp-org:service:ContentDirectory:1")); + response.append(HTTPXMLHelper.eventProp("TransferIDs")); + response.append(HTTPXMLHelper.eventProp("ContainerUpdateIDs")); + response.append(HTTPXMLHelper.eventProp("SystemUpdateID", "" + DLNAResource.getSystemUpdateId())); + response.append(HTTPXMLHelper.EVENT_FOOTER); + } } else if (method.equals("NOTIFY")) { output.setHeader(HttpHeaders.Names.CONTENT_TYPE, "text/xml"); output.setHeader("NT", "upnp:event"); @@ -747,7 +777,7 @@ } } else { int cl = inputStream.available(); - logger.trace("Available Content-Length: " + cl); + LOGGER.trace("Available Content-Length: " + cl); output.setHeader(HttpHeaders.Names.CONTENT_LENGTH, "" + cl); } @@ -775,7 +805,7 @@ PMS.get().getRegistry().reenableGoToSleep(); inputStream.close(); } catch (IOException e) { - logger.debug("Caught exception", e); + LOGGER.debug("Caught exception", e); } // Always close the channel after the response is sent because of @@ -790,7 +820,7 @@ PMS.get().getRegistry().reenableGoToSleep(); inputStream.close(); } catch (IOException ioe) { - logger.debug("Caught exception", ioe); + LOGGER.debug("Caught exception", ioe); } if (close) { @@ -823,13 +853,13 @@ while (it.hasNext()) { String headerName = it.next(); - logger.trace("Sent to socket: " + headerName + ": " + output.getHeader(headerName)); + LOGGER.trace("Sent to socket: " + headerName + ": " + output.getHeader(headerName)); } return future; } - /** + /** * Returns a date somewhere in the far future. * @return The {@link String} containing the date */ @@ -857,7 +887,7 @@ } return result; } - + /** * Parse as double, or if it's not just one number, handles {hour}:{minute}:{seconds} * @param time diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/SpeedStats.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/SpeedStats.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/SpeedStats.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/SpeedStats.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,26 +18,19 @@ */ package net.pms.network; -import java.net.InetAddress; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - import net.pms.PMS; import net.pms.io.OutputParams; import net.pms.io.ProcessWrapperImpl; import net.pms.io.SystemUtils; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.net.InetAddress; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.*; + /** * Network speed tester class. This can be used in an asynchronous way, as it returns Future objects. * diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/UPNPHelper.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/UPNPHelper.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/network/UPNPHelper.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/network/UPNPHelper.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,27 +18,16 @@ */ package net.pms.network; -import java.io.IOException; -import java.net.BindException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.Inet6Address; -import java.net.InetAddress; -import java.net.MulticastSocket; -import java.net.NetworkInterface; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Enumeration; -import java.util.Locale; -import java.util.Random; -import java.util.TimeZone; - import net.pms.PMS; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.net.*; +import java.text.SimpleDateFormat; +import java.util.*; + /** * Helper class to handle the UPnP traffic that makes PMS discoverable by other clients. * See http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.0.pdf diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/AboutTab.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/AboutTab.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/AboutTab.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/AboutTab.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,29 +18,22 @@ */ package net.pms.newgui; -import java.awt.Cursor; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.awt.image.BufferedImage; -import java.io.IOException; - -import javax.imageio.ImageIO; -import javax.swing.BorderFactory; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JProgressBar; -import javax.swing.JScrollPane; - +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; import net.pms.Messages; import net.pms.PMS; import net.pms.util.PropertiesUtil; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; +import javax.imageio.ImageIO; +import javax.swing.*; +import java.awt.*; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.image.BufferedImage; +import java.io.IOException; public class AboutTab { private static final Logger LOGGER = LoggerFactory.getLogger(AboutTab.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/FontFileFilter.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/FontFileFilter.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/FontFileFilter.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/FontFileFilter.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,10 +1,9 @@ package net.pms.newgui; -import java.io.File; +import net.pms.Messages; import javax.swing.filechooser.FileFilter; - -import net.pms.Messages; +import java.io.File; public class FontFileFilter extends FileFilter { @Override diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/GeneralTab.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/GeneralTab.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/GeneralTab.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/GeneralTab.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,31 +18,11 @@ */ package net.pms.newgui; -import java.awt.Component; -import java.awt.ComponentOrientation; -import java.awt.Font; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JComboBox; -import javax.swing.JComponent; -import javax.swing.JFrame; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextField; -import javax.swing.SwingUtilities; - +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.factories.Borders; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; +import com.sun.jna.Platform; import net.pms.Messages; import net.pms.PMS; import net.pms.configuration.Build; @@ -53,16 +33,16 @@ import net.pms.network.NetworkConfiguration; import net.pms.util.FormLayoutUtil; import net.pms.util.KeyedComboBoxModel; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.factories.Borders; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; -import com.sun.jna.Platform; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; public class GeneralTab { private static final Logger logger = LoggerFactory.getLogger(GeneralTab.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/HelpTab.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/HelpTab.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/HelpTab.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/HelpTab.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,30 +18,23 @@ */ package net.pms.newgui; -import java.awt.Color; -import java.awt.Desktop; -import java.awt.Dimension; +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; +import net.pms.util.PropertiesUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.swing.*; +import javax.swing.event.HyperlinkEvent; +import javax.swing.event.HyperlinkListener; +import java.awt.*; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; -import javax.swing.JComponent; -import javax.swing.JEditorPane; -import javax.swing.JScrollPane; -import javax.swing.event.HyperlinkEvent; -import javax.swing.event.HyperlinkListener; - -import net.pms.util.PropertiesUtil; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; - /** * Sets up the panel for the help tab and loads its contents from a file. */ diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/ImagePanel.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/ImagePanel.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/ImagePanel.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/ImagePanel.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,20 +18,14 @@ */ package net.pms.newgui; -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Insets; -import java.awt.Point; -import java.awt.Rectangle; -import java.awt.geom.AffineTransform; -import java.awt.image.RenderedImage; - -import javax.swing.JPanel; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.swing.*; +import java.awt.*; +import java.awt.geom.AffineTransform; +import java.awt.image.RenderedImage; + class ImagePanel extends JPanel { private static final Logger LOGGER = LoggerFactory.getLogger(ImagePanel.class); private static final long serialVersionUID = -6709086531128513425L; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/LooksFrame.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/LooksFrame.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/LooksFrame.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/LooksFrame.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,43 +18,9 @@ */ package net.pms.newgui; -import java.awt.BorderLayout; -import java.awt.ComponentOrientation; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.IOException; -import java.net.URL; -import java.util.Locale; -import java.util.Observable; -import java.util.Observer; - -import javax.imageio.ImageIO; -import javax.swing.AbstractButton; -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JComponent; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JRadioButton; -import javax.swing.JScrollPane; -import javax.swing.JTabbedPane; -import javax.swing.JToolBar; -import javax.swing.LookAndFeel; -import javax.swing.ScrollPaneConstants; -import javax.swing.SwingConstants; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; -import javax.swing.WindowConstants; -import javax.swing.border.CompoundBorder; -import javax.swing.border.EmptyBorder; -import javax.swing.border.EtchedBorder; -import javax.swing.plaf.metal.DefaultMetalTheme; -import javax.swing.plaf.metal.MetalLookAndFeel; - +import com.jgoodies.looks.Options; +import com.jgoodies.looks.plastic.PlasticLookAndFeel; +import com.sun.jna.Platform; import net.pms.Messages; import net.pms.PMS; import net.pms.configuration.PmsConfiguration; @@ -63,13 +29,24 @@ import net.pms.newgui.update.AutoUpdateDialog; import net.pms.update.AutoUpdater; import net.pms.util.PropertiesUtil; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.jgoodies.looks.Options; -import com.jgoodies.looks.plastic.PlasticLookAndFeel; -import com.sun.jna.Platform; +import javax.imageio.ImageIO; +import javax.swing.*; +import javax.swing.border.CompoundBorder; +import javax.swing.border.EmptyBorder; +import javax.swing.border.EtchedBorder; +import javax.swing.plaf.metal.DefaultMetalTheme; +import javax.swing.plaf.metal.MetalLookAndFeel; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.IOException; +import java.net.URL; +import java.util.Locale; +import java.util.Observable; +import java.util.Observer; public class LooksFrame extends JFrame implements IFrame, Observer { private static final Logger logger = LoggerFactory.getLogger(LooksFrame.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/MyComboBoxModel.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/MyComboBoxModel.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/MyComboBoxModel.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/MyComboBoxModel.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,7 +18,7 @@ */ package net.pms.newgui; -import javax.swing.DefaultComboBoxModel; +import javax.swing.*; public class MyComboBoxModel extends DefaultComboBoxModel { private static final long serialVersionUID = -9094365556516842551L; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/NavigationShareTab.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/NavigationShareTab.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/NavigationShareTab.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/NavigationShareTab.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,45 +18,25 @@ */ package net.pms.newgui; -import java.awt.Component; -import java.awt.ComponentOrientation; -import java.awt.Font; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.io.File; -import java.util.Locale; - -import javax.swing.DefaultListModel; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JComboBox; -import javax.swing.JComponent; -import javax.swing.JFileChooser; -import javax.swing.JList; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextField; - +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.factories.Borders; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; +import com.sun.jna.Platform; import net.pms.Messages; import net.pms.PMS; import net.pms.configuration.PmsConfiguration; import net.pms.dlna.DLNAMediaDatabase; import net.pms.util.FormLayoutUtil; import net.pms.util.KeyedComboBoxModel; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.factories.Borders; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; -import com.sun.jna.Platform; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; +import java.io.File; +import java.util.Locale; public class NavigationShareTab { private static final Logger LOGGER = LoggerFactory.getLogger(NavigationShareTab.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/ProfileChooser.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/ProfileChooser.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/ProfileChooser.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/ProfileChooser.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,11 +1,10 @@ package net.pms.newgui; -import java.io.File; +import net.pms.Messages; -import javax.swing.JFileChooser; +import javax.swing.*; import javax.swing.filechooser.FileFilter; - -import net.pms.Messages; +import java.io.File; public class ProfileChooser { private static class ProfileChooserFileFilter extends FileFilter { diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/RestrictedFileSystemView.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/RestrictedFileSystemView.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/RestrictedFileSystemView.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/RestrictedFileSystemView.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,19 +1,16 @@ package net.pms.newgui; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.swing.*; +import javax.swing.filechooser.FileSystemView; +import javax.swing.filechooser.FileView; import java.io.File; import java.io.IOException; import java.text.MessageFormat; import java.util.Vector; -import javax.swing.Icon; -import javax.swing.JFileChooser; -import javax.swing.UIManager; -import javax.swing.filechooser.FileSystemView; -import javax.swing.filechooser.FileView; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** * Fallback implementation of a FileSystemView. *

diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/StatusTab.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/StatusTab.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/StatusTab.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/StatusTab.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,8 +18,18 @@ */ package net.pms.newgui; -import java.awt.ComponentOrientation; -import java.awt.Font; +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; +import net.pms.Messages; +import net.pms.configuration.PmsConfiguration; +import net.pms.util.FormLayoutUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.imageio.ImageIO; +import javax.swing.*; +import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; @@ -28,24 +38,6 @@ import java.text.DecimalFormat; import java.util.Locale; -import javax.imageio.ImageIO; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JProgressBar; -import javax.swing.JScrollPane; - -import net.pms.Messages; -import net.pms.configuration.PmsConfiguration; -import net.pms.util.FormLayoutUtil; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; - public class StatusTab { private static final Logger LOGGER = LoggerFactory.getLogger(StatusTab.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/TracesTab.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/TracesTab.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/TracesTab.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/TracesTab.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,10 +18,18 @@ */ package net.pms.newgui; -import java.awt.Color; -import java.awt.ComponentOrientation; -import java.awt.FlowLayout; -import java.awt.Font; +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; +import net.pms.Messages; +import net.pms.configuration.PmsConfiguration; +import net.pms.logging.LoggingConfigFileLoader; +import net.pms.util.FormLayoutUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; @@ -31,26 +39,6 @@ import java.util.HashMap; import java.util.Locale; -import javax.swing.JButton; -import javax.swing.JComponent; -import javax.swing.JMenuItem; -import javax.swing.JPanel; -import javax.swing.JPopupMenu; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; - -import net.pms.Messages; -import net.pms.configuration.PmsConfiguration; -import net.pms.logging.LoggingConfigFileLoader; -import net.pms.util.FormLayoutUtil; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; - public class TracesTab { private static final Logger logger = LoggerFactory.getLogger(TracesTab.class); private PmsConfiguration configuration; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/TranscodingTab.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/TranscodingTab.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/TranscodingTab.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/TranscodingTab.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,57 +18,31 @@ */ package net.pms.newgui; -import java.awt.CardLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.ComponentOrientation; -import java.awt.Font; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.util.ArrayList; -import java.util.Locale; - -import javax.swing.BorderFactory; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JComboBox; -import javax.swing.JComponent; -import javax.swing.JFrame; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import javax.swing.JTextField; -import javax.swing.JTree; -import javax.swing.SwingUtilities; -import javax.swing.event.TreeSelectionEvent; -import javax.swing.event.TreeSelectionListener; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreePath; -import javax.swing.tree.TreeSelectionModel; - +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.factories.Borders; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; +import com.sun.jna.Platform; import net.pms.Messages; import net.pms.PMS; import net.pms.configuration.PmsConfiguration; import net.pms.encoders.Player; import net.pms.encoders.PlayerFactory; import net.pms.util.FormLayoutUtil; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.factories.Borders; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; -import com.sun.jna.Platform; +import javax.swing.*; +import javax.swing.event.TreeSelectionEvent; +import javax.swing.event.TreeSelectionListener; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreePath; +import javax.swing.tree.TreeSelectionModel; +import java.awt.*; +import java.awt.event.*; +import java.util.ArrayList; +import java.util.Locale; public class TranscodingTab { private static final Logger LOGGER = LoggerFactory.getLogger(TranscodingTab.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/TreeNodeSettings.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/TreeNodeSettings.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/TreeNodeSettings.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/TreeNodeSettings.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,26 +18,21 @@ */ package net.pms.newgui; -import java.awt.Font; -import java.awt.image.BufferedImage; -import java.io.IOException; - -import javax.imageio.ImageIO; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.tree.DefaultMutableTreeNode; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import com.jgoodies.forms.builder.PanelBuilder; +import com.jgoodies.forms.layout.CellConstraints; +import com.jgoodies.forms.layout.FormLayout; import net.pms.Messages; import net.pms.encoders.Player; import net.pms.encoders.PlayerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -import com.jgoodies.forms.builder.PanelBuilder; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.FormLayout; +import javax.imageio.ImageIO; +import javax.swing.*; +import javax.swing.tree.DefaultMutableTreeNode; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.IOException; public class TreeNodeSettings extends DefaultMutableTreeNode { private static final Logger LOGGER = LoggerFactory.getLogger(TreeNodeSettings.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/TreeRenderer.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/TreeRenderer.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/TreeRenderer.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/TreeRenderer.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,15 +18,13 @@ */ package net.pms.newgui; -import java.awt.Component; -import java.awt.Font; - -import javax.swing.JTree; -import javax.swing.tree.DefaultTreeCellRenderer; - import net.pms.encoders.Player; import net.pms.encoders.PlayerFactory; +import javax.swing.*; +import javax.swing.tree.DefaultTreeCellRenderer; +import java.awt.*; + public class TreeRenderer extends DefaultTreeCellRenderer { private static final long serialVersionUID = 8830634234336247114L; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/update/AutoUpdateDialog.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/update/AutoUpdateDialog.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/newgui/update/AutoUpdateDialog.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/newgui/update/AutoUpdateDialog.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,21 +1,15 @@ package net.pms.newgui.update; -import java.awt.Dimension; -import java.awt.Window; +import net.pms.update.AutoUpdater; +import net.pms.update.AutoUpdater.State; + +import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Observable; import java.util.Observer; -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JLabel; -import javax.swing.JProgressBar; -import javax.swing.SwingUtilities; - -import net.pms.update.AutoUpdater; -import net.pms.update.AutoUpdater.State; - public class AutoUpdateDialog extends JDialog implements Observer { private static final long serialVersionUID = 3809427933990495309L; private final AutoUpdater autoUpdater; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/PMS.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/PMS.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/PMS.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/PMS.java 2012-06-26 21:45:17.000000000 +0000 @@ -19,27 +19,7 @@ package net.pms; -import java.awt.GraphicsEnvironment; -import java.awt.Toolkit; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.PrintStream; -import java.net.BindException; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.net.UnknownHostException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Locale; -import java.util.Map.Entry; -import java.util.UUID; -import java.util.logging.LogManager; - -import javax.swing.JOptionPane; - +import com.sun.jna.Platform; import net.pms.configuration.Build; import net.pms.configuration.PmsConfiguration; import net.pms.configuration.RendererConfiguration; @@ -54,20 +34,12 @@ import net.pms.formats.FormatFactory; import net.pms.gui.DummyFrame; import net.pms.gui.IFrame; -import net.pms.io.BasicSystemUtils; -import net.pms.io.MacSystemUtils; -import net.pms.io.OutputParams; -import net.pms.io.OutputTextConsumer; -import net.pms.io.ProcessWrapperImpl; -import net.pms.io.SolarisUtils; -import net.pms.io.SystemUtils; -import net.pms.io.WinUtils; +import net.pms.io.*; import net.pms.logging.LoggingConfigFileLoader; import net.pms.network.HTTPServer; import net.pms.network.NetworkConfiguration; import net.pms.network.ProxyServer; import net.pms.network.UPNPHelper; -import net.pms.newgui.GeneralTab; import net.pms.newgui.LooksFrame; import net.pms.newgui.ProfileChooser; import net.pms.update.AutoUpdater; @@ -75,14 +47,26 @@ import net.pms.util.PropertiesUtil; import net.pms.util.SystemErrWrapper; import net.pms.util.TaskRunner; - import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.event.ConfigurationEvent; import org.apache.commons.configuration.event.ConfigurationListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.jna.Platform; +import javax.swing.*; +import java.awt.*; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.PrintStream; +import java.net.BindException; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.Map.Entry; +import java.util.logging.LogManager; public class PMS { private static final String SCROLLBARS = "scrollbars"; @@ -100,13 +84,13 @@ public static final String AVS_SEPARATOR = "\1"; // (innot): The logger used for all logging. - private static final Logger logger = LoggerFactory.getLogger(PMS.class); + private static final Logger LOGGER = LoggerFactory.getLogger(PMS.class); // TODO(tcox): This shouldn't be static private static PmsConfiguration configuration; /**Returns a pointer to the main PMS GUI. - * @return {@link IFrame} Main PMS window. + * @return {@link net.pms.gui.IFrame} Main PMS window. */ public IFrame getFrame() { return frame; @@ -114,9 +98,9 @@ /**getRootFolder returns the Root Folder for a given renderer. There could be the case * where a given media renderer needs a different root structure. - * @param renderer {@link RendererConfiguration} is the renderer for which to get the RootFolder structure. If null, then + * @param renderer {@link net.pms.configuration.RendererConfiguration} is the renderer for which to get the RootFolder structure. If null, then * the default renderer is used. - * @return {@link RootFolder} The root folder structure for a given renderer + * @return {@link net.pms.dlna.RootFolder} The root folder structure for a given renderer */ public RootFolder getRootFolder(RendererConfiguration renderer) { // something to do here for multiple directories views for each renderer @@ -144,13 +128,13 @@ public final static SimpleDateFormat sdfHour = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US); /** - * Array of {@link RendererConfiguration} that have been found by PMS. + * Array of {@link net.pms.configuration.RendererConfiguration} that have been found by PMS. */ private final ArrayList foundRenderers = new ArrayList(); - /**Adds a {@link RendererConfiguration} to the list of media renderers found. The list is being used, for + /**Adds a {@link net.pms.configuration.RendererConfiguration} to the list of media renderers found. The list is being used, for * example, to give the user a graphical representation of the found media renderers. - * @param mediarenderer {@link RendererConfiguration} + * @param mediarenderer {@link net.pms.configuration.RendererConfiguration} */ public void setRendererfound(RendererConfiguration mediarenderer) { if (!foundRenderers.contains(mediarenderer) && !mediarenderer.isFDSSDP()) { @@ -182,12 +166,12 @@ } /** - * {@link IFrame} object that represents PMS GUI. + * {@link net.pms.gui.IFrame} object that represents PMS GUI. */ IFrame frame; /** - * @see Platform#isWindows() + * @see com.sun.jna.Platform#isWindows() */ public boolean isWindows() { return Platform.isWindows(); @@ -196,12 +180,12 @@ private int proxy; /**Interface to Windows specific functions, like Windows Registry. registry is set by {@link #init()}. - * @see WinUtils + * @see net.pms.io.WinUtils */ private SystemUtils registry; /** - * @see WinUtils + * @see net.pms.io.WinUtils */ public SystemUtils getRegistry() { return registry; @@ -217,7 +201,7 @@ * @throws Exception TODO: Check which exceptions to use */ private boolean checkProcessExistence(String name, boolean error, File workDir, String... params) throws Exception { - logger.debug("launching: " + params[0]); + LOGGER.debug("launching: " + params[0]); try { ProcessBuilder pb = new ProcessBuilder(params); @@ -257,14 +241,14 @@ int exit = process.exitValue(); if (exit != 0) { if (error) { - logger.info("[" + exit + "] Cannot launch " + name + " / Check the presence of " + params[0] + " ..."); + LOGGER.info("[" + exit + "] Cannot launch " + name + " / Check the presence of " + params[0] + " ..."); } return false; } return true; } catch (Exception e) { if (error) { - logger.error("Cannot launch " + name + " / Check the presence of " + params[0] + " ...", e); + LOGGER.error("Cannot launch " + name + " / Check the presence of " + params[0] + " ...", e); } return false; } @@ -277,7 +261,7 @@ private final PrintStream stderr = System.err; /**Main resource database that supports search capabilities. Also known as media cache. - * @see DLNAMediaDatabase + * @see net.pms.dlna.DLNAMediaDatabase */ private DLNAMediaDatabase database; @@ -292,7 +276,13 @@ * (e.g. if the cache is disabled). */ public synchronized DLNAMediaDatabase getDatabase() { - return database; + if (configuration.getUseCache()) { + if (database == null) { + initializeDatabase(); + } + return database; + } + return null; } /**Initialisation procedure for PMS. @@ -316,8 +306,8 @@ if (System.getProperty(CONSOLE) == null) { frame = new LooksFrame(autoUpdater, configuration); } else { - logger.info("GUI environment not available"); - logger.info("Switching to console mode"); + LOGGER.info("GUI environment not available"); + LOGGER.info("Switching to console mode"); frame = new DummyFrame(); } configuration.addConfigurationListener(new ConfigurationListener() { @@ -333,50 +323,50 @@ frame.setStatusCode(0, Messages.getString("PMS.130"), "connect_no-220.png"); proxy = -1; - logger.info("Starting " + PropertiesUtil.getProjectProperties().get("project.name") + " " + getVersion()); - logger.info("by shagrath / 2008-2012"); - logger.info("http://ps3mediaserver.org"); - logger.info("https://github.com/ps3mediaserver/ps3mediaserver"); - logger.info("http://ps3mediaserver.blogspot.com"); - logger.info(""); + LOGGER.info("Starting " + PropertiesUtil.getProjectProperties().get("project.name") + " " + getVersion()); + LOGGER.info("by shagrath / 2008-2012"); + LOGGER.info("http://ps3mediaserver.org"); + LOGGER.info("https://github.com/ps3mediaserver/ps3mediaserver"); + LOGGER.info("http://ps3mediaserver.blogspot.com"); + LOGGER.info(""); String commitId = PropertiesUtil.getProjectProperties().get("git.commit.id"); String commitTime = PropertiesUtil.getProjectProperties().get("git.commit.time"); String shortCommitId = commitId.substring(0, 9); - logger.info("Build: " + shortCommitId + " (" + commitTime + ")"); + LOGGER.info("Build: " + shortCommitId + " (" + commitTime + ")"); // Log system properties logSystemInfo(); String cwd = new File("").getAbsolutePath(); - logger.info("Working directory: " + cwd); + LOGGER.info("Working directory: " + cwd); - logger.info("Temp folder: " + configuration.getTempFolder()); - logger.info("Logging config file: " + LoggingConfigFileLoader.getConfigFilePath()); + LOGGER.info("Temp folder: " + configuration.getTempFolder()); + LOGGER.info("Logging config file: " + LoggingConfigFileLoader.getConfigFilePath()); HashMap lfps = LoggingConfigFileLoader.getLogFilePaths(); if (lfps != null && lfps.size() > 0) { if (lfps.size() == 1) { Entry entry = lfps.entrySet().iterator().next(); - logger.info(String.format("%s: %s", entry.getKey(), entry.getValue())); + LOGGER.info(String.format("%s: %s", entry.getKey(), entry.getValue())); } else { - logger.info("Logging to multiple files:"); + LOGGER.info("Logging to multiple files:"); Iterator> logsIterator = lfps.entrySet().iterator(); Entry entry; while (logsIterator.hasNext()) { entry = logsIterator.next(); - logger.info(String.format("%s: %s", entry.getKey(), entry.getValue())); + LOGGER.info(String.format("%s: %s", entry.getKey(), entry.getValue())); } } } - logger.info(""); + LOGGER.info(""); - logger.info("Profile directory: " + configuration.getProfileDirectory()); + LOGGER.info("Profile directory: " + configuration.getProfileDirectory()); String profilePath = configuration.getProfilePath(); - logger.info("Profile path: " + profilePath); + LOGGER.info("Profile path: " + profilePath); File profileFile = new File(profilePath); @@ -385,39 +375,39 @@ profileFile.canRead() ? "r" : "-", profileFile.canWrite() ? "w" : "-" ); - logger.info("Profile status: " + status); + LOGGER.info("Profile status: " + status); } else { - logger.info("Profile status: no such file"); + LOGGER.info("Profile status: no such file"); } - logger.info("Profile name: " + configuration.getProfileName()); - logger.info(""); + LOGGER.info("Profile name: " + configuration.getProfileName()); + LOGGER.info(""); RendererConfiguration.loadRendererConfigurations(configuration); - logger.info("Checking MPlayer font cache. It can take a minute or so."); + LOGGER.info("Checking MPlayer font cache. It can take a minute or so."); checkProcessExistence("MPlayer", true, null, configuration.getMplayerPath(), "dummy"); if (isWindows()) { checkProcessExistence("MPlayer", true, configuration.getTempFolder(), configuration.getMplayerPath(), "dummy"); } - logger.info("Done!"); + LOGGER.info("Done!"); // check the existence of Vsfilter.dll if (registry.isAvis() && registry.getAvsPluginsDir() != null) { - logger.info("Found AviSynth plugins dir: " + registry.getAvsPluginsDir().getAbsolutePath()); + LOGGER.info("Found AviSynth plugins dir: " + registry.getAvsPluginsDir().getAbsolutePath()); File vsFilterdll = new File(registry.getAvsPluginsDir(), "VSFilter.dll"); if (!vsFilterdll.exists()) { - logger.info("VSFilter.dll is not in the AviSynth plugins directory. This can cause problems when trying to play subtitled videos with AviSynth"); + LOGGER.info("VSFilter.dll is not in the AviSynth plugins directory. This can cause problems when trying to play subtitled videos with AviSynth"); } } if (registry.getVlcv() != null && registry.getVlcp() != null) { - logger.info("Found VideoLAN version " + registry.getVlcv() + " at: " + registry.getVlcp()); + LOGGER.info("Found VideoLAN version " + registry.getVlcv() + " at: " + registry.getVlcp()); } //check if Kerio is installed if (registry.isKerioFirewall()) { - logger.info("Detected Kerio firewall"); + LOGGER.info("Detected Kerio firewall"); } // force use of specific dvr ms muxer when it's installed in the right place @@ -445,7 +435,7 @@ try { ExternalFactory.lookup(); } catch (Exception e) { - logger.error("Error loading plugins", e); + LOGGER.error("Error loading plugins", e); } // a static block in Player doesn't work (i.e. is called too late). @@ -467,8 +457,8 @@ try { binding = server.start(); } catch (BindException b) { - logger.info("FATAL ERROR: Unable to bind on port: " + configuration.getServerPort() + ", because: " + b.getMessage()); - logger.info("Maybe another process is running or the hostname is wrong."); + LOGGER.info("FATAL ERROR: Unable to bind on port: " + configuration.getServerPort() + ", because: " + b.getMessage()); + LOGGER.info("Maybe another process is running or the hostname is wrong."); } new Thread("Connection Checker") { @@ -491,7 +481,7 @@ } if (proxy > 0) { - logger.info("Starting HTTP Proxy Server on port: " + proxy); + LOGGER.info("Starting HTTP Proxy Server on port: " + proxy); proxyServer = new ProxyServer(proxy); } @@ -499,7 +489,7 @@ if (configuration.getUseCache()) { initializeDatabase(); // XXX: this must be done *before* new MediaLibrary -> new MediaLibraryFolder mediaLibrary = new MediaLibrary(); - logger.info("A tiny cache admin interface is available at: http://" + server.getHost() + ":" + server.getPort() + "/console/home"); + LOGGER.info("A tiny cache admin interface is available at: http://" + server.getHost() + ":" + server.getPort() + "/console/home"); } // XXX: this must be called: @@ -519,27 +509,27 @@ } UPNPHelper.shutDownListener(); UPNPHelper.sendByeBye(); - logger.debug("Forcing shutdown of all active processes"); + LOGGER.debug("Forcing shutdown of all active processes"); for (Process p : currentProcesses) { try { p.exitValue(); } catch (IllegalThreadStateException ise) { - logger.trace("Forcing shutdown of process: " + p); + LOGGER.trace("Forcing shutdown of process: " + p); ProcessUtil.destroy(p); } } get().getServer().stop(); Thread.sleep(500); } catch (IOException e) { - logger.debug("Caught exception", e); + LOGGER.debug("Caught exception", e); } catch (InterruptedException e) { - logger.debug("Caught exception", e); + LOGGER.debug("Caught exception", e); } } }); UPNPHelper.sendAlive(); - logger.trace("Waiting 250 milliseconds..."); + LOGGER.trace("Waiting 250 milliseconds..."); Thread.sleep(250); UPNPHelper.listen(); @@ -555,7 +545,6 @@ return mediaLibrary; } - // FIXME this is duplicated in net/pms/encoders/PlayerFactory.java private SystemUtils createSystemUtils() { if (Platform.isWindows()) { return new WinUtils(); @@ -575,10 +564,10 @@ /**Executes the needed commands in order to make PMS a Windows service that starts whenever the machine is started. * This function is called from the Network tab. * @return true if PMS could be installed as a Windows service. - * @see GeneralTab#build() + * @see net.pms.newgui.GeneralTab#build() */ public boolean installWin32Service() { - logger.info(Messages.getString("PMS.41")); + LOGGER.info(Messages.getString("PMS.41")); String cmdArray[] = new String[]{"win32/service/wrapper.exe", "-r", "wrapper.conf"}; OutputParams output = new OutputParams(configuration); output.noexitcheck = true; @@ -593,8 +582,8 @@ /**Transforms a comma separated list of directory entries into an array of {@link String}. * Checks that the directory exists and is a valid directory. * @param log whether to output log information - * @return {@link File}[] Array of directories. - * @throws IOException + * @return {@link java.io.File}[] Array of directories. + * @throws java.io.IOException */ // this is called *way* too often (e.g. a dozen times with 1 renderer and 1 shared folder), @@ -614,15 +603,15 @@ // http://ps3mediaserver.org/forum/viewtopic.php?f=14&t=8883&start=250#p43520 folder = folder.replaceAll(",", ","); if (log) { - logger.info("Checking shared folder: " + folder); + LOGGER.info("Checking shared folder: " + folder); } File file = new File(folder); if (file.exists()) { if (!file.isDirectory()) { - logger.warn("The file " + folder + " is not a directory! Please remove it from your Shared folders list on the Navigation/Share Settings tab"); + LOGGER.warn("The file " + folder + " is not a directory! Please remove it from your Shared folders list on the Navigation/Share Settings tab"); } } else { - logger.warn("The directory " + folder + " does not exist. Please remove it from your Shared folders list on the Navigation/Share Settings tab"); + LOGGER.warn("The directory " + folder + " does not exist. Please remove it from your Shared folders list on the Navigation/Share Settings tab"); } // add the file even if there are problems so that the user can update the shared folders as required. @@ -639,7 +628,7 @@ /**Restarts the server. The trigger is either a button on the main PMS window or via * an action item. - * @throws IOException + * @throws java.io.IOException */ // XXX: don't try to optimize this by reusing the same server instance. // see the comment above HTTPServer.stop() @@ -647,7 +636,7 @@ TaskRunner.getInstance().submitNamed("restart", true, new Runnable() { public void run() { try { - logger.trace("Waiting 1 second..."); + LOGGER.trace("Waiting 1 second..."); UPNPHelper.sendByeBye(); server.stop(); server = null; @@ -655,14 +644,14 @@ try { Thread.sleep(1000); } catch (InterruptedException e) { - logger.trace("Caught exception", e); + LOGGER.trace("Caught exception", e); } server = new HTTPServer(configuration.getServerPort()); server.start(); UPNPHelper.sendAlive(); frame.setReloadable(false); } catch (IOException e) { - logger.error("error during restart :" +e.getMessage(), e); + LOGGER.error("error during restart :" +e.getMessage(), e); } } }); @@ -679,7 +668,7 @@ */ @Deprecated public static void debug(String msg) { - logger.trace(msg); + LOGGER.trace(msg); } /** @@ -689,7 +678,7 @@ */ @Deprecated public static void info(String msg) { - logger.debug(msg); + LOGGER.debug(msg); } /** @@ -700,7 +689,7 @@ */ @Deprecated public static void minimal(String msg) { - logger.info(msg); + LOGGER.info(msg); } /** @@ -712,7 +701,7 @@ */ @Deprecated public static void error(String msg, Throwable t) { - logger.error(msg, t); + LOGGER.error(msg, t); } /**Universally Unique Identifier used in the UPnP server. @@ -743,19 +732,19 @@ byte[] addr = getRegistry().getHardwareAddress(ni); // return null when java.net.preferIPv4Stack=true if (addr != null) { uuid = UUID.nameUUIDFromBytes(addr).toString(); - logger.info(String.format("Generated new UUID based on the MAC address of the network adapter '%s'", ni.getDisplayName())); + LOGGER.info(String.format("Generated new UUID based on the MAC address of the network adapter '%s'", ni.getDisplayName())); } } } catch (SocketException e) { - logger.debug("Caught exception", e); + LOGGER.debug("Caught exception", e); } catch (UnknownHostException e) { - logger.debug("Caught exception", e); + LOGGER.debug("Caught exception", e); } //create random UUID if the generation by MAC address failed if (uuid == null) { uuid = UUID.randomUUID().toString(); - logger.info("Generated new random UUID"); + LOGGER.info("Generated new random UUID"); } //save the newly generated UUID @@ -763,11 +752,11 @@ try { getConfiguration().save(); } catch (ConfigurationException e) { - logger.error("Failed to save configuration with new UUID", e); + LOGGER.error("Failed to save configuration with new UUID", e); } } - logger.info("Using the following UUID configured in PMS.conf: " + uuid); + LOGGER.info("Using the following UUID configured in PMS.conf: " + uuid); } return "uuid:" + uuid; } @@ -790,7 +779,7 @@ } /**Returns the PMS instance. - * @return {@link PMS} + * @return {@link net.pms.PMS} */ public static PMS get() { // XXX when PMS is run as an application, the instance is initialized via the createInstance call in main(). @@ -810,17 +799,17 @@ try { if (instance.init()) { - logger.info("The server should now appear on your renderer"); + LOGGER.info("The server should now appear on your renderer"); } else { - logger.error("A serious error occurred during PMS init"); + LOGGER.error("A serious error occurred during PMS init"); } } catch (Exception e) { - logger.error("A serious error occurred during PMS init", e); + LOGGER.error("A serious error occurred during PMS init", e); } } /** - * @deprecated Use {@link FormatFactory#getAssociatedExtension(String)} + * @deprecated Use {@link net.pms.formats.FormatFactory#getAssociatedExtension(String)} * instead. * * @param filename @@ -893,7 +882,7 @@ } /** - * @deprecated Use {@link FormatFactory#getExtensions()} instead. + * @deprecated Use {@link net.pms.formats.FormatFactory#getExtensions()} instead. * * @return The list of formats. */ @@ -902,12 +891,12 @@ } /** - * @deprecated Use {@link PlayerFactory#registerPlayer(Player)} instead. + * @deprecated Use {@link net.pms.encoders.PlayerFactory#registerPlayer(net.pms.encoders.Player)} instead. * - * Adds a single {@link Player} to the list of Players. + * Adds a single {@link net.pms.encoders.Player} to the list of Players. * * @param player Player to be added to the list. - * @see Player + * @see net.pms.encoders.Player */ @Deprecated public void registerPlayer(Player player) { @@ -915,7 +904,7 @@ } /** - * @deprecated Use {@link PlayerFactory#getPlayers()} instead. + * @deprecated Use {@link net.pms.encoders.PlayerFactory#getPlayers()} instead. * * Returns the list of players that have been verified as okay. * @@ -927,7 +916,7 @@ } /** - * @deprecated Use {@link PlayerFactory#getAllPlayers()} instead. + * @deprecated Use {@link net.pms.encoders.PlayerFactory#getAllPlayers()} instead. * * Returns the list of all players. This includes the ones not verified as * being okay. @@ -939,7 +928,7 @@ } /** - * @deprecated Use {@link PlayerFactory#getPlayer(Class, Format)} instead. + * @deprecated Use {@link net.pms.encoders.PlayerFactory#getPlayer(Class, net.pms.formats.Format)} instead. * * @param profileClass * @param ext @@ -951,7 +940,7 @@ } /** - * @deprecated Use {@link PlayerFactory#getPlayers(ArrayList, int)} instead. + * @deprecated Use {@link net.pms.encoders.PlayerFactory#getPlayers(java.util.ArrayList, int)} instead. * * @param profileClasses * @param type @@ -966,7 +955,7 @@ try { configuration.save(); } catch (ConfigurationException e) { - logger.error("Could not save configuration", e); + LOGGER.error("Could not save configuration", e); } } @@ -1014,11 +1003,13 @@ * warnings where appropriate. */ private void logSystemInfo() { - logger.info("Java: " + System.getProperty("java.version") + "-" + System.getProperty("java.vendor")); - logger.info("OS: " + System.getProperty("os.name") + " " + System.getProperty("os.arch") + " " - + System.getProperty("os.version")); - logger.info("Encoding: " + System.getProperty("file.encoding")); - logger.info(""); + long memoryInMB = Runtime.getRuntime().maxMemory() / 1048576; + + LOGGER.info("Java: " + System.getProperty("java.version") + "-" + System.getProperty("java.vendor")); + LOGGER.info("OS: " + System.getProperty("os.name") + " " + System.getProperty("os.arch") + " " + System.getProperty("os.version")); + LOGGER.info("Encoding: " + System.getProperty("file.encoding")); + LOGGER.info("Memory: " + memoryInMB + " " + Messages.getString("StatusTab.12")); + LOGGER.info(""); if (Platform.isMac()) { // The binaries shipped with the Mac OS X version of PMS are being @@ -1034,17 +1025,17 @@ int osVersionMinor = Integer.parseInt(versionNumbers[1]); if (osVersionMinor < 6) { - logger.warn("-----------------------------------------------------------------"); - logger.warn("WARNING!"); - logger.warn("PMS ships with binaries compiled for Mac OS X 10.6 or higher."); - logger.warn("You are running an older version of Mac OS X so PMS may not work!"); - logger.warn("More information in the FAQ:"); - logger.warn("http://www.ps3mediaserver.org/forum/viewtopic.php?f=6&t=3507&p=66371#p66371"); - logger.warn("-----------------------------------------------------------------"); - logger.warn(""); + LOGGER.warn("-----------------------------------------------------------------"); + LOGGER.warn("WARNING!"); + LOGGER.warn("PMS ships with binaries compiled for Mac OS X 10.6 or higher."); + LOGGER.warn("You are running an older version of Mac OS X so PMS may not work!"); + LOGGER.warn("More information in the FAQ:"); + LOGGER.warn("http://www.ps3mediaserver.org/forum/viewtopic.php?f=6&t=3507&p=66371#p66371"); + LOGGER.warn("-----------------------------------------------------------------"); + LOGGER.warn(""); } } catch (NumberFormatException e) { - logger.debug("Cannot parse minor os.version number"); + LOGGER.debug("Cannot parse minor os.version number"); } } } diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/update/AutoUpdater.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/update/AutoUpdater.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/update/AutoUpdater.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/update/AutoUpdater.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,22 +1,17 @@ package net.pms.update; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.Observable; -import java.util.concurrent.Executor; -import java.util.concurrent.Executors; - import net.pms.PMS; import net.pms.util.UriRetriever; import net.pms.util.UriRetrieverCallback; - import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.*; +import java.util.Observable; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; + /** * Checks for and downloads new versions of PMS. * diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/update/AutoUpdaterServerProperties.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/update/AutoUpdaterServerProperties.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/update/AutoUpdaterServerProperties.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/update/AutoUpdaterServerProperties.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,9 +1,9 @@ package net.pms.update; -import java.io.IOException; - import net.pms.util.PmsProperties; +import java.io.IOException; + /** * Data provided by the server for us to update with. Must be synchronized externally. * diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/CodecUtil.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/CodecUtil.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/CodecUtil.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/CodecUtil.java 2012-06-26 21:45:17.000000000 +0000 @@ -19,21 +19,15 @@ */ package net.pms.util; -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import com.sun.jna.Platform; import net.pms.PMS; import net.pms.configuration.PmsConfiguration; import net.pms.dlna.DLNAMediaAudio; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -import com.sun.jna.Platform; +import java.io.*; +import java.util.ArrayList; public class CodecUtil { private static final Logger logger = LoggerFactory.getLogger(CodecUtil.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/CoverUtil.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/CoverUtil.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/CoverUtil.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/CoverUtil.java 2012-06-26 21:45:17.000000000 +0000 @@ -19,16 +19,15 @@ package net.pms.util; -import java.io.IOException; -import java.net.URLEncoder; -import java.util.HashMap; - import net.pms.network.HTTPResource; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.HashMap; + public class CoverUtil extends HTTPResource { private static final Logger LOGGER = LoggerFactory.getLogger(CoverUtil.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/DTSAudioOutputStream.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/DTSAudioOutputStream.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/DTSAudioOutputStream.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/DTSAudioOutputStream.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,11 +1,11 @@ package net.pms.util; -import java.io.IOException; -import java.io.OutputStream; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.io.OutputStream; + public class DTSAudioOutputStream extends FlowParserOutputStream { private static final Logger logger = LoggerFactory.getLogger(DTSAudioOutputStream.class); private static int bits[] = new int[]{16, 16, 20, 20, 0, 24, 24}; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/FileUtil.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/FileUtil.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/FileUtil.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/FileUtil.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,18 +1,17 @@ package net.pms.util; -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - import net.pms.PMS; import net.pms.dlna.DLNAMediaInfo; import net.pms.dlna.DLNAMediaSubtitle; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + public class FileUtil { private static final Logger LOGGER = LoggerFactory.getLogger(FileUtil.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/FormLayoutUtil.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/FormLayoutUtil.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/FormLayoutUtil.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/FormLayoutUtil.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,13 +18,12 @@ */ package net.pms.util; -import java.awt.ComponentOrientation; -import java.awt.Insets; - import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.ColumnSpec; import com.jgoodies.forms.layout.FormSpec.DefaultAlignment; +import java.awt.*; + /** * Provides some convenience behavior for flipping side in column * specifications, arrays of column specifications and encoded column specs. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/H264AnnexBInputStream.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/H264AnnexBInputStream.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/H264AnnexBInputStream.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/H264AnnexBInputStream.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,11 +1,11 @@ package net.pms.util; -import java.io.IOException; -import java.io.InputStream; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.io.InputStream; + public class H264AnnexBInputStream extends InputStream { private static final Logger logger = LoggerFactory.getLogger(H264AnnexBInputStream.class); private InputStream source; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/ImagesUtil.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/ImagesUtil.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/ImagesUtil.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/ImagesUtil.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,19 +1,13 @@ package net.pms.util; -import java.io.BufferedOutputStream; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - import mediautil.gen.Log; import mediautil.image.jpeg.LLJTran; import mediautil.image.jpeg.LLJTranException; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.*; + public class ImagesUtil { private static final Logger logger = LoggerFactory.getLogger(ImagesUtil.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/Iso639.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/Iso639.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/Iso639.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/Iso639.java 2012-06-26 21:45:17.000000000 +0000 @@ -19,13 +19,13 @@ */ package net.pms.util; +import net.pms.dlna.DLNAMediaLang; + import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; -import net.pms.dlna.DLNAMediaLang; - /** * This class provides a list of languages mapped to ISO 639 language codes * and some methods to verify which language matches which ISO code. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/KeyedComboBoxModel.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/KeyedComboBoxModel.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/KeyedComboBoxModel.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/KeyedComboBoxModel.java 2012-06-26 21:45:17.000000000 +0000 @@ -41,11 +41,10 @@ */ package net.pms.util; -import java.util.ArrayList; - -import javax.swing.ComboBoxModel; +import javax.swing.*; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; +import java.util.ArrayList; /** * The KeyedComboBox model allows to define an internal key (the data element) diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/PMSUtil.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/PMSUtil.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/PMSUtil.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/PMSUtil.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,15 +1,14 @@ package net.pms.util; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.util.Arrays; - import net.pms.PMS; import net.pms.newgui.LooksFrame; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.util.Arrays; + public class PMSUtil { private static final Logger logger = LoggerFactory.getLogger(PMSUtil.class); diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/ProcessUtil.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/ProcessUtil.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/ProcessUtil.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/ProcessUtil.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,14 +1,13 @@ package net.pms.util; -import java.io.IOException; -import java.lang.reflect.Field; - import net.pms.PMS; import net.pms.io.Gob; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.lang.reflect.Field; + // see https://code.google.com/p/ps3mediaserver/issues/detail?id=680 // for background/issues/discussion related to this class public class ProcessUtil { diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/PropertiesUtil.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/PropertiesUtil.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/PropertiesUtil.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/PropertiesUtil.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,11 +18,11 @@ */ package net.pms.util; -import java.io.IOException; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; + public class PropertiesUtil { /** * Logs messages to all different channels. diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/SystemErrWrapper.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/SystemErrWrapper.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/SystemErrWrapper.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/SystemErrWrapper.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,11 +1,11 @@ package net.pms.util; -import java.io.IOException; -import java.io.OutputStream; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; +import java.io.OutputStream; + public class SystemErrWrapper extends OutputStream { private static final Logger logger = LoggerFactory.getLogger(SystemErrWrapper.class); private int pos = 0; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/TaskRunner.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/TaskRunner.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/TaskRunner.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/TaskRunner.java 2012-06-26 21:45:17.000000000 +0000 @@ -18,20 +18,15 @@ */ package net.pms.util; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.util.HashMap; import java.util.Map; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.ThreadFactory; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.*; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** * Background task executor and scheduler with a dynamic thread pool, where the threads are daemons. * diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/UriRetriever.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/UriRetriever.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/util/UriRetriever.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/util/UriRetriever.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,16 +1,12 @@ package net.pms.util; +import org.apache.commons.httpclient.*; +import org.apache.commons.httpclient.methods.GetMethod; + import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import org.apache.commons.httpclient.Header; -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.HttpException; -import org.apache.commons.httpclient.HttpMethod; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.methods.GetMethod; - /** * Downloads URLs * diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/xmlwise/Plist.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/xmlwise/Plist.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/xmlwise/Plist.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/xmlwise/Plist.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,21 +1,15 @@ package net.pms.xmlwise; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.Closeable; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.TimeZone; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import java.util.*; @SuppressWarnings("unchecked") /** diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/xmlwise/XmlElementAttributes.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/xmlwise/XmlElementAttributes.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/xmlwise/XmlElementAttributes.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/xmlwise/XmlElementAttributes.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,11 +1,10 @@ package net.pms.xmlwise; import org.w3c.dom.Element; - import org.w3c.dom.NamedNodeMap; -import java.util.Map; import java.util.HashMap; +import java.util.Map; /** * This is a hash map containing all attributes of a single diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/xmlwise/XmlElement.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/xmlwise/XmlElement.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/xmlwise/XmlElement.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/xmlwise/XmlElement.java 2012-06-26 21:45:17.000000000 +0000 @@ -1,8 +1,8 @@ package net.pms.xmlwise; import org.w3c.dom.Element; -import org.w3c.dom.NodeList; import org.w3c.dom.Node; +import org.w3c.dom.NodeList; import java.util.LinkedList; diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/xmlwise/Xmlwise.java ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/xmlwise/Xmlwise.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/main/java/net/pms/xmlwise/Xmlwise.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/main/java/net/pms/xmlwise/Xmlwise.java 2012-06-26 21:45:17.000000000 +0000 @@ -3,11 +3,11 @@ import org.w3c.dom.Document; import org.xml.sax.InputSource; -import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import java.io.File; import java.io.IOException; import java.io.StringReader; -import java.io.File; /** * Xmlwise convenience methods for loading xml documents and render them into Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/bravia4500.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/bravia4500.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/bravia5500.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/bravia5500.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/braviaex.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/braviaex.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/bravia.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/bravia.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/directvhr.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/directvhr.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/dlinkdsm510.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/dlinkdsm510.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/dsm510.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/dsm510.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/freeboxhd.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/freeboxhd.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/freebox.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/freebox.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/freecommusicpal.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/freecommusicpal.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/lgst600.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/lgst600.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/musicpal.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/musicpal.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/oppobdp83.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/oppobdp83.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/oppobdp93.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/oppobdp93.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/panasonic.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/panasonic.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/pch.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/pch.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/popcornhour.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/popcornhour.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/sony_bdp.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/sony_bdp.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/sonybluray.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/sonybluray.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/wd-tv-live.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/wd-tv-live.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/wdtvlive.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/wdtvlive.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/xbox360.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/xbox360.png differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/src/main/resources/images/clients/yamaharxv671.png and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/src/main/resources/images/clients/yamaharxv671.png differ diff -Nru ps3mediaserver-1.53.99+git+mencoder34587/src/test/java/net/pms/test/RendererConfigurationTest.java ps3mediaserver-1.54.00+git+mencoder34587/src/test/java/net/pms/test/RendererConfigurationTest.java --- ps3mediaserver-1.53.99+git+mencoder34587/src/test/java/net/pms/test/RendererConfigurationTest.java 2012-06-13 20:48:21.000000000 +0000 +++ ps3mediaserver-1.54.00+git+mencoder34587/src/test/java/net/pms/test/RendererConfigurationTest.java 2012-06-26 21:45:17.000000000 +0000 @@ -69,7 +69,7 @@ testCases.put("X-AV-Client-Info: av=5.0; cn=\"Sony Corporation\"; mn=\"BRAVIA KDL-32CX520\"; mv=\"1.7\";", "Sony Bravia EX"); // From Dlink510.conf: - testCases.put("User-Agent: DLNADOC/1.50 INTEL_NMPR/2.1", "D-link DSM-510"); + testCases.put("User-Agent: DLNADOC/1.50 INTEL_NMPR/2.1", "D-Link DSM-510"); // From iPad-iPhone.conf: testCases.put("User-Agent: 8player lite 2.2.3 (iPad; iPhone OS 5.0.1; nl_NL)", "iPad / iPhone"); Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/target/bin-tools/src/zlib-1.2.5.tar.gz and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/target/bin-tools/src/zlib-1.2.5.tar.gz differ Binary files /tmp/iffmT73Msa/ps3mediaserver-1.53.99+git+mencoder34587/target/bin-tools/src/zlib-1.2.7.tar.gz and /tmp/mWcfMxt6hQ/ps3mediaserver-1.54.00+git+mencoder34587/target/bin-tools/src/zlib-1.2.7.tar.gz differ