mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-next
This commit is contained in:
commit
b152fee2b6
@ -58,7 +58,7 @@ fi
|
||||
TARGET_CPPFLAGS=
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $PROJECT_CFLAGS"
|
||||
TARGET_CXXFLAGS="$TARGET_CFLAGS"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $GCC_OPTIM"
|
||||
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
|
||||
TARGET_INCDIR="$SYSROOT_PREFIX/include $SYSROOT_PREFIX/usr/include"
|
||||
|
||||
|
@ -0,0 +1,82 @@
|
||||
diff -Naur xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDOverlayRenderer.h xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDOverlayRenderer.h
|
||||
--- xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDOverlayRenderer.h 2011-03-08 02:49:16.000000000 +0100
|
||||
+++ xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDOverlayRenderer.h 2011-09-15 13:26:00.674107708 +0200
|
||||
@@ -72,6 +72,9 @@
|
||||
|
||||
static void Render(DVDVideoPicture* pPicture, CDVDOverlay* pOverlay, double pts)
|
||||
{
|
||||
+ if(pPicture->format != DVDVideoPicture::FMT_YUV420P)
|
||||
+ return;
|
||||
+
|
||||
DVDPictureRenderer p;
|
||||
|
||||
p.data[0] = pPicture->data[0];
|
||||
diff -Naur xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
|
||||
--- xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2011-03-08 02:49:17.000000000 +0100
|
||||
+++ xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2011-09-15 13:31:23.725399996 +0200
|
||||
@@ -793,33 +793,22 @@
|
||||
enum EOverlay
|
||||
{ OVERLAY_AUTO // select mode auto
|
||||
, OVERLAY_GPU // render osd using gpu
|
||||
- , OVERLAY_VID // render osd directly on video memory
|
||||
, OVERLAY_BUF // render osd on buffer
|
||||
} render = OVERLAY_AUTO;
|
||||
|
||||
- if(render == OVERLAY_AUTO)
|
||||
+ if(pSource->format == DVDVideoPicture::FMT_YUV420P)
|
||||
{
|
||||
- render = OVERLAY_GPU;
|
||||
-
|
||||
#ifdef _LINUX
|
||||
// for now use cpu for ssa overlays as it currently allocates and
|
||||
// frees textures for each frame this causes a hugh memory leak
|
||||
// on some mesa intel drivers
|
||||
- if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) && pSource->format == DVDVideoPicture::FMT_YUV420P)
|
||||
- render = OVERLAY_VID;
|
||||
-#endif
|
||||
|
||||
- if(render == OVERLAY_VID)
|
||||
- {
|
||||
- if( m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU)
|
||||
- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE)
|
||||
- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) )
|
||||
- render = OVERLAY_BUF;
|
||||
- }
|
||||
- }
|
||||
+ if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU)
|
||||
+ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE)
|
||||
+ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) )
|
||||
+ render = OVERLAY_BUF;
|
||||
+#endif
|
||||
|
||||
- if(pSource->format == DVDVideoPicture::FMT_YUV420P)
|
||||
- {
|
||||
if(render == OVERLAY_BUF)
|
||||
{
|
||||
// rendering spu overlay types directly on video memory costs a lot of processing power.
|
||||
@@ -848,6 +837,9 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ if(render == OVERLAY_AUTO)
|
||||
+ render = OVERLAY_GPU;
|
||||
+
|
||||
m_pOverlayContainer->Lock();
|
||||
|
||||
VecOverlays* pVecOverlays = m_pOverlayContainer->GetOverlays();
|
||||
@@ -871,13 +863,8 @@
|
||||
if (render == OVERLAY_GPU)
|
||||
g_renderManager.AddOverlay(pOverlay, pts2);
|
||||
|
||||
- if(pSource->format == DVDVideoPicture::FMT_YUV420P)
|
||||
- {
|
||||
- if (render == OVERLAY_BUF)
|
||||
- CDVDOverlayRenderer::Render(m_pTempOverlayPicture, pOverlay, pts2);
|
||||
- else if(render == OVERLAY_VID)
|
||||
- CDVDOverlayRenderer::Render(pDest, pOverlay, pts2);
|
||||
- }
|
||||
+ if (render == OVERLAY_BUF)
|
||||
+ CDVDOverlayRenderer::Render(m_pTempOverlayPicture, pOverlay, pts2);
|
||||
|
||||
}
|
||||
}
|
@ -1,48 +1,45 @@
|
||||
diff -Naur xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp.rej xbmc-10.1-Dharma.patch1/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp.rej
|
||||
--- xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp.rej 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-10.1-Dharma.patch1/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp.rej 2011-08-22 05:09:40.801478536 +0200
|
||||
@@ -0,0 +1,38 @@
|
||||
+--- xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
|
||||
++++ xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
|
||||
+@@ -20,6 +20,7 @@
|
||||
+ */
|
||||
diff -Naur xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
|
||||
--- xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2011-09-15 13:59:35.016784668 +0200
|
||||
+++ xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2011-09-15 13:58:46.193138096 +0200
|
||||
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
+#include "WindowingFactory.h"
|
||||
#include "AdvancedSettings.h"
|
||||
#include "GUISettings.h"
|
||||
#include "Settings.h"
|
||||
@@ -798,16 +799,17 @@
|
||||
|
||||
if(pSource->format == DVDVideoPicture::FMT_YUV420P)
|
||||
{
|
||||
-#ifdef _LINUX
|
||||
- // for now use cpu for ssa overlays as it currently allocates and
|
||||
- // frees textures for each frame this causes a hugh memory leak
|
||||
- // on some mesa intel drivers
|
||||
-
|
||||
- if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU)
|
||||
- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE)
|
||||
- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) )
|
||||
- render = OVERLAY_BUF;
|
||||
-#endif
|
||||
+ if(g_Windowing.GetRenderQuirks() & RENDER_QUIRKS_MAJORMEMLEAK_OVERLAYRENDERER)
|
||||
+ {
|
||||
+ // for now use cpu for ssa overlays as it currently allocates and
|
||||
+ // frees textures for each frame this causes a hugh memory leak
|
||||
+ // on some mesa intel drivers
|
||||
+
|
||||
+ #include "system.h"
|
||||
++#include "windowing/WindowingFactory.h"
|
||||
+ #include "settings/AdvancedSettings.h"
|
||||
+ #include "settings/GUISettings.h"
|
||||
+ #include "settings/Settings.h"
|
||||
+@@ -829,16 +830,17 @@
|
||||
+
|
||||
+ if(pSource->format == DVDVideoPicture::FMT_YUV420P)
|
||||
+ {
|
||||
+-#ifdef _LINUX
|
||||
+- // for now use cpu for ssa overlays as it currently allocates and
|
||||
+- // frees textures for each frame this causes a hugh memory leak
|
||||
+- // on some mesa intel drivers
|
||||
+-
|
||||
+- if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU)
|
||||
+- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE)
|
||||
+- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) )
|
||||
+- render = OVERLAY_BUF;
|
||||
+-#endif
|
||||
++ if(g_Windowing.GetRenderQuirks() & RENDER_QUIRKS_MAJORMEMLEAK_OVERLAYRENDERER)
|
||||
++ {
|
||||
++ // for now use cpu for ssa overlays as it currently allocates and
|
||||
++ // frees textures for each frame this causes a hugh memory leak
|
||||
++ // on some mesa intel drivers
|
||||
++
|
||||
++ if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU)
|
||||
++ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE)
|
||||
++ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) )
|
||||
++ render = OVERLAY_BUF;
|
||||
++ }
|
||||
+
|
||||
+ if(render == OVERLAY_BUF)
|
||||
+ {
|
||||
diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystem.cpp xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.cpp
|
||||
+ if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU)
|
||||
+ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE)
|
||||
+ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) )
|
||||
+ render = OVERLAY_BUF;
|
||||
+ }
|
||||
|
||||
if(render == OVERLAY_BUF)
|
||||
{
|
||||
diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystem.cpp xbmc-10.1-Dharma.patch/xbmc/RenderSystem.cpp
|
||||
--- xbmc-10.1-Dharma/xbmc/RenderSystem.cpp 2011-03-08 02:49:14.000000000 +0100
|
||||
+++ xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.cpp 2011-08-22 05:10:30.353131282 +0200
|
||||
+++ xbmc-10.1-Dharma.patch/xbmc/RenderSystem.cpp 2011-09-15 13:56:10.592078024 +0200
|
||||
@@ -29,6 +29,7 @@
|
||||
m_RenderVersionMajor = 0;
|
||||
m_RenderVersionMinor = 0;
|
||||
@ -51,9 +48,9 @@ diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystem.cpp xbmc-10.1-Dharma.patch1/xbmc/R
|
||||
m_minDXTPitch = 0;
|
||||
}
|
||||
|
||||
diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystemGL.cpp xbmc-10.1-Dharma.patch1/xbmc/RenderSystemGL.cpp
|
||||
diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystemGL.cpp xbmc-10.1-Dharma.patch/xbmc/RenderSystemGL.cpp
|
||||
--- xbmc-10.1-Dharma/xbmc/RenderSystemGL.cpp 2011-03-08 02:49:14.000000000 +0100
|
||||
+++ xbmc-10.1-Dharma.patch1/xbmc/RenderSystemGL.cpp 2011-08-22 05:10:58.079496562 +0200
|
||||
+++ xbmc-10.1-Dharma.patch/xbmc/RenderSystemGL.cpp 2011-09-15 13:56:40.948479861 +0200
|
||||
@@ -65,8 +65,22 @@
|
||||
}
|
||||
}
|
||||
@ -78,9 +75,9 @@ diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystemGL.cpp xbmc-10.1-Dharma.patch1/xbmc
|
||||
if(m_RenderRenderer.Find("Poulsbo") >= 0)
|
||||
m_renderCaps &= ~RENDER_CAPS_DXT_NPOT;
|
||||
}
|
||||
diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystem.h xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.h
|
||||
diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystem.h xbmc-10.1-Dharma.patch/xbmc/RenderSystem.h
|
||||
--- xbmc-10.1-Dharma/xbmc/RenderSystem.h 2011-03-08 02:49:14.000000000 +0100
|
||||
+++ xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.h 2011-08-22 05:10:38.495238548 +0200
|
||||
+++ xbmc-10.1-Dharma.patch/xbmc/RenderSystem.h 2011-09-15 13:56:23.653250913 +0200
|
||||
@@ -52,6 +52,11 @@
|
||||
RENDER_CAPS_DXT_NPOT = (1 << 2)
|
||||
};
|
||||
|
@ -0,0 +1,55 @@
|
||||
--- busybox-1.19.2/loginutils/chpasswd.c
|
||||
+++ busybox-1.19.2-chpasswd/loginutils/chpasswd.c
|
||||
@@ -33,9 +33,8 @@ static const char chpasswd_longopts[] AL
|
||||
int chpasswd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int chpasswd_main(int argc UNUSED_PARAM, char **argv)
|
||||
{
|
||||
- char *name, *pass;
|
||||
- char salt[sizeof("$N$XXXXXXXX")];
|
||||
- int opt, rc;
|
||||
+ char *name;
|
||||
+ int opt;
|
||||
|
||||
if (getuid() != 0)
|
||||
bb_error_msg_and_die(bb_msg_perm_denied_are_you_root);
|
||||
@@ -45,6 +44,10 @@ int chpasswd_main(int argc UNUSED_PARAM,
|
||||
opt = getopt32(argv, "em");
|
||||
|
||||
while ((name = xmalloc_fgetline(stdin)) != NULL) {
|
||||
+ char *free_me;
|
||||
+ char *pass;
|
||||
+ int rc;
|
||||
+
|
||||
pass = strchr(name, ':');
|
||||
if (!pass)
|
||||
bb_error_msg_and_die("missing new password");
|
||||
@@ -52,7 +55,10 @@ int chpasswd_main(int argc UNUSED_PARAM,
|
||||
|
||||
xuname2uid(name); /* dies if there is no such user */
|
||||
|
||||
+ free_me = NULL;
|
||||
if (!(opt & OPT_ENC)) {
|
||||
+ char salt[sizeof("$N$XXXXXXXX")];
|
||||
+
|
||||
crypt_make_salt(salt, 1);
|
||||
if (opt & OPT_MD5) {
|
||||
salt[0] = '$';
|
||||
@@ -60,7 +66,7 @@ int chpasswd_main(int argc UNUSED_PARAM,
|
||||
salt[2] = '$';
|
||||
crypt_make_salt(salt + 3, 4);
|
||||
}
|
||||
- pass = pw_encrypt(pass, salt, 0);
|
||||
+ free_me = pass = pw_encrypt(pass, salt, 0);
|
||||
}
|
||||
|
||||
/* This is rather complex: if user is not found in /etc/shadow,
|
||||
@@ -81,8 +87,7 @@ int chpasswd_main(int argc UNUSED_PARAM,
|
||||
bb_info_msg("Password for '%s' changed", name);
|
||||
logmode = LOGMODE_STDIO;
|
||||
free(name);
|
||||
- if (!(opt & OPT_ENC))
|
||||
- free(pass);
|
||||
+ free(free_me);
|
||||
}
|
||||
return EXIT_SUCCESS;
|
||||
}
|
12
packages/sysutils/busybox/patches/busybox-1.19.2-crond.patch
Normal file
12
packages/sysutils/busybox/patches/busybox-1.19.2-crond.patch
Normal file
@ -0,0 +1,12 @@
|
||||
--- busybox-1.19.2/miscutils/crond.c
|
||||
+++ busybox-1.19.2-crond/miscutils/crond.c
|
||||
@@ -861,7 +861,8 @@ int crond_main(int argc UNUSED_PARAM, ch
|
||||
|
||||
/* "-b after -f is ignored", and so on for every pair a-b */
|
||||
opt_complementary = "f-b:b-f:S-L:L-S" IF_FEATURE_CROND_D(":d-l")
|
||||
- ":l+:d+"; /* -l and -d have numeric param */
|
||||
+ /* -l and -d have numeric param */
|
||||
+ ":l+" IF_FEATURE_CROND_D(":d+");
|
||||
opts = getopt32(argv, "l:L:fbSc:" IF_FEATURE_CROND_D("d:"),
|
||||
&G.log_level, &G.log_filename, &G.crontab_dir_name
|
||||
IF_FEATURE_CROND_D(,&G.log_level));
|
47
packages/sysutils/busybox/patches/busybox-1.19.2-inetd.patch
Normal file
47
packages/sysutils/busybox/patches/busybox-1.19.2-inetd.patch
Normal file
@ -0,0 +1,47 @@
|
||||
--- busybox-1.19.2/networking/inetd.c
|
||||
+++ busybox-1.19.2-inetd/networking/inetd.c
|
||||
@@ -1278,6 +1278,7 @@ int inetd_main(int argc UNUSED_PARAM, ch
|
||||
sep->se_count = 0;
|
||||
rearm_alarm(); /* will revive it in RETRYTIME sec */
|
||||
restore_sigmask(&omask);
|
||||
+ maybe_close(new_udp_fd);
|
||||
maybe_close(accepted_fd);
|
||||
continue; /* -> check next fd in fd set */
|
||||
}
|
||||
@@ -1298,17 +1299,18 @@ int inetd_main(int argc UNUSED_PARAM, ch
|
||||
bb_perror_msg("vfork"+1);
|
||||
sleep(1);
|
||||
restore_sigmask(&omask);
|
||||
+ maybe_close(new_udp_fd);
|
||||
maybe_close(accepted_fd);
|
||||
continue; /* -> check next fd in fd set */
|
||||
}
|
||||
if (pid == 0)
|
||||
pid--; /* -1: "we did fork and we are child" */
|
||||
}
|
||||
- /* if pid == 0 here, we never forked */
|
||||
+ /* if pid == 0 here, we didn't fork */
|
||||
|
||||
if (pid > 0) { /* parent */
|
||||
if (sep->se_wait) {
|
||||
- /* tcp wait: we passed listening socket to child,
|
||||
+ /* wait: we passed socket to child,
|
||||
* will wait for child to terminate */
|
||||
sep->se_wait = pid;
|
||||
remove_fd_from_set(sep->se_fd);
|
||||
@@ -1345,9 +1347,13 @@ int inetd_main(int argc UNUSED_PARAM, ch
|
||||
setsid();
|
||||
/* "nowait" udp */
|
||||
if (new_udp_fd >= 0) {
|
||||
- len_and_sockaddr *lsa = xzalloc_lsa(sep->se_family);
|
||||
+ len_and_sockaddr *lsa;
|
||||
+ int r;
|
||||
+
|
||||
+ close(new_udp_fd);
|
||||
+ lsa = xzalloc_lsa(sep->se_family);
|
||||
/* peek at the packet and remember peer addr */
|
||||
- int r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT,
|
||||
+ r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT,
|
||||
&lsa->u.sa, &lsa->len);
|
||||
if (r < 0)
|
||||
goto do_exit1;
|
@ -24,7 +24,7 @@
|
||||
|
||||
cd $PKG_BUILD
|
||||
|
||||
make OPT="$TARGET_CFLAGS" \
|
||||
make OPT="$CFLAGS" \
|
||||
CROSS_COMPILE=${TARGET_PREFIX} \
|
||||
HOST=$TARGET_ARCH-linux \
|
||||
IDSDIR="/usr/share" \
|
||||
|
Loading…
x
Reference in New Issue
Block a user